Hacker Newsnew | past | comments | ask | show | jobs | submit | dachrillz's commentslogin

What about inchi? Isn’t that a common way of describing molecules as well?


InChI isn't really meant to be used as a format to store 2D molecules say for rendering but rather serves as a unique descriptive chemical identifier. InChI has many flavors but the Standard InChI yields one unique identifier for multiple forms (tautomers) of the same molecule.


Good point!


Not OP, but when we tested it out it was painful to handle usb disks. The reason being that if you have two they get named sda/sdb randomly. We managed to overwrite the usb we were using to install talos since that one was named sda one boot and sdb the next. This lead ut to develop the “pullout technique” when installing…

This mostly only happened because it was a test cluster where we used usb disks, probably not a problem when one properly provisions.

Otherwise it was great! But it does feel akward not booting into an environment where you have a terminal at first


This does sound like it could be solved with better installDiskSelectors[0]. Talos has done a fair bit of work in improving this and UserVolumeConfigs in the last couple of 1.x revisions.

Alternatively, network booting in some fashion is an option. [1]

[0] https://www.talos.dev/v1.11/reference/configuration/v1alpha1...

[1] https://www.talos.dev/v1.11/talos-guides/install/bare-metal-...


I recognize this from my bare-metal homelab setup. But at work we used VMs for Talos nodes so this was not an issue.

And if I had to deploy it on bare-metal at work I'd most likely use PXE booting instead of USB.


I use pxe boot for my homelab baremetal :)


A very basic way of how it works: encryption is basically just a function e(m, k)=c. “m” is your plaintext and “c” is the encrypted data. We call it an encryption function if the output looks random to anyone that does not have the key

If we could find some kind of function “e” that preserves the underlying structure even when the data is encrypted you have the outline of a homomorphic system. E.g. if the following happens:

e(2,k)*e(m,k) = e(2m,k)

Here we multiplied our message with 2 even in its encrypted form. The important thing is that every computation must produce something that looks random, but once decrypted it should have preserved the actual computation that happened.

It’s been a while since I did crypto, so google might be your friend here; but there are situations when e.g RSA preserves multiplication, making it partially homomorphic.


I get how that works for arithmetic operations - what about stuff like sorting, finding an element in a set etc? This would require knowledge of the cleartext data, wouldn't it?


You can reduce anything happening on the computer to arithmetic operations. If you can do additions and multiplications, then it's turing complete. All others can be constructed from them.


While correct, that doesn't answer the question at all, though. If I have my address book submited into an FHE system and want to sort by name - how do you do that if the FHE system does not have access to cleartext names?


You can do that by encrypting the names. You send encrypted names to the FHE-server, and then the server does necessary sorting computations on it.

The point of FHE is it can operate on gibberish-looking ciphertext, and when this ciphertext decrypted afterwards, the result is correct.

Indeed, there are those working on faster FHE sorting: https://eprint.iacr.org/2021/551.pdf


When comparing two ciphertexts A,B a FHE sorting function will output a sorted pair of two new ciphertexts:

E.g. FHE_SORT(A,B) -> (X,Y)

where Dec(X)<Dec(Y)

But without decoding, there's no way of knowing whether X (or Y) comes from A or B.

Source: II. D of https://eprint.iacr.org/2015/995.pdf


It’s not that simple. The client has to send the server the comparison function.

To do anything practical the server usually needs to provide the client with gigabytes of per-client-key encrypted seed data.


Honestly it breaks my brain as well. I just have to take it on trust that it apparently works.


Comparisons can be implemented by approximating a < b with

    0.5 * (sign(a - b) + 1)
And the sign function can be approximated by a polynomial that uses only additions and multiplications and products with constants.

Other FHE schemes have support for small-bitwidth lookup tables that makes supporting comparison more direct.


> If we could find some kind of function “e” that preserves the underlying structure even when the data is encrypted

But isn't such a function a weakened form of encryption? Properly encrypted data should be indistinguishable from noise. "Preserving underlying structure" seems to me to be in opposition to the goal of encryption.


This made me wonder if there is such a thing as homomorphic compression. A cursory search says yes but seems like limited information.


What do you mean by homomorphic compression?

Given that the operations you can execute on the ciphertext are Turing complete (it suffices to show that we can do addition and multiplication) then it follows that any conceivable computation can be performed on the ciphertext.


Oh this is outside the context of encryption. My curiosity was, is there such a compression function that permits operations on the compressed data without first decompressing it?


One that is kind of in this spirit is that you can describe sparse matrices by omitting all the zeros and only describe the indices that have data. In this compression you can still perform normal matrix operations without having to unpack them into the “normal form”. Now this is neither encryption nor a particularly interesting compression, but it does prove that it is possible in principle ;p


Thank you, this really clarified things for me!


I recently had a period of intense stress, stomach aches and all of that. I'm normally pretty stress tolerant so feeling these feelings was very uncomfortable for me. Being this stressed obviously impacts your mental clarity.

This led me to discover Andrew Huberman, a renowned neruo-scientist at Stanford that talks publicly alot about well being.

Learning some things from him I came to realize that "feeling bad in any way" is pretty much just your body being out of whack. I implemented some of his tips into my daily routines and the feeling of stress went away, despite my external circumstances being roughly the same.

Not saying there is anything magical about him, but you could look into him to see if he's got anything that could help bring back your mental clarity.


Anything specific? He has a looot of content!


Andreas Kling, the original author of the serenity os, has a series on youtube where he builds a javascript engine for his web browser.

That could be a good start for you if you want to see a competent programmer build an engine from scratch

Good luck!


Something like ls still relies on sys-calls. If they change in the future someone would have to still update it right?

So even if you have a working C-compiler in the far future, so that you can compile ls on new operating systems or whatever, even this simple application requires maintenance?


> relies on sys-calls

No, the rely on POSIX[1][2]. Syscalls are an implementation detail handled by the compiler. Programs (like 'ls' and the rest of coreutils) that conform[3] to the POSIX standard should continue to work in future POSIX compatible operating systems.

If future operating systems deliberately introduce changes that break POSIX, then some work will be required to port the programs to the new environment. However, this type of porting process is really implementing a new feature. The original finished version isn't affected and shouldn't need maintenance.

[1] https://en.wikipedia.org/wiki/POSIX

[2] Other standards are also important, but I am only mentioning POSIX for brevity.

[3] https://github.com/coreutils/coreutils "Like the rest of the GNU system, these programs mostly conform to POSIX, with BSD and other extensions."


Then it depends on what you consider "finished". If your underlying system changes, it's a totally different problem for me.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: