oalae5niMiel7qu's comments

oalae5niMiel7qu | 2 years ago | on: Mathematician warns US spies may be weakening next-gen encryption

>I think everyone here is pretty clear how they would ethically view such a thing, but view it from NIST's (/ NSA's) perspective for the sake of argument. Maybe there's a specific threat where NIST (or presumably the NSA) believes it has a mandate to insert a backdoor.

That's an incredibly charitable version of their point of view. How's this for their POV: They're angry that they can't see every single piece of communications, and they think they can get away with weakening encryption because nobody can stop them legally (because the proof is classified), and nobody's going to stop them by any other avenue either.

oalae5niMiel7qu | 2 years ago | on: Not setting up Find My bricked my MacBook

They can't rely on the odds, because scammers would step in and increase the odds if the possibility existed to exploit Apple's behavior. IMO, this is what should happen given that Activation Lock is enabled.

It's a separate question whether the customer should be able to disable Activation Lock before it gets tripped, which would prevent the computer from bricking itself. Apple makes that choice for the customer because they don't fully respect your ownership of the device that they made.

oalae5niMiel7qu | 2 years ago | on: Common Lisp: An Interactive Approach (1992)

Reload only reloads one copy of the module. If there are other modules that imported the same module, your new definition will not be seen by them unless you find all the copies of foo in memory and reload them also. Since there's no reliable way to do that, you're more likely to just restart Python all the time.

oalae5niMiel7qu | 2 years ago | on: Common Lisp: An Interactive Approach (1992)

Try redefining something from a library that is used from a lot of different places. It's easy to change one copy of a definition in Python, but the only way to get all of them is to write your new definition to disk and restart Jupyter.

oalae5niMiel7qu | 2 years ago | on: Common Lisp: An Interactive Approach (1992)

You simply can't in Python, not only due to unwind-first exception handling, but also because one module is represented by multiple objects in memory: one object for each other module that imports it. That makes it impossible to redefine anything (you'll always miss some of the copies of whatever you tried to redefine). Importing things from modules piecemeal makes it even harder to find them.

The importlib.reload function only applies to one copy of a module. A comprehensive solution would be incredibly complicated and would still have limitations.

In contrast, a Lisp package exists in exactly one place. No matter where you get it from, two references to the same package are always eq (having "is" equality in Python terms). Therefore, if you redefine something in a package, you redefine it for everything that uses the package. It also helps that imports in Lisp apply to the symbols, not the things they refer to. So importing something doesn't hide a copy of it anywhere. The most naive redefinition technique will always work, with no edge cases.

The inability for class redefinition to affect already existing objects in Python is another severe limitation. Even if you could redefine anything reliably in Python, you'd still have this problem.

oalae5niMiel7qu | 3 years ago | on: What's the right UX for an expired certificate?

An expired certificate _is_ a soft error, and in most cases nobody gives a fuck. For example, if HN's certificate expired and my browser absolutely prohibited access to it on the basis of that, I'd switch browsers because there's literally nothing at stake if somebody is able to read my traffic to or from this unimportant site. There's even less at stake when it comes to the cryptographic security of some blog. I literally don't care if someone can read the blog entry as I download it from its publicly-accessible URL.

On the other hand, if my e-mail provider's certificate is expired, there's a little more at stake, and there are other services where the HTTPS security being broken can cost me money. Those I do care about.

oalae5niMiel7qu | 3 years ago | on: How many layers of UI inconsistencies are in Windows 11?

It never stops, and it's because new guys can't understand (or are too lazy to try to understand) old code. So instead of changing it, they wrap it in new code and change the old code as little as possible.

Several generations of new guys later, we arrive at present day. And that ChatGPT future you described will come to pass, unless we stop using computers first.

oalae5niMiel7qu | 3 years ago | on: Rustaceans at the border

It's a consequence of living in a society where everything is about money. You absolutely could build a better operating system, but doing so wouldn't make you any money, so nobody can afford to do it.

oalae5niMiel7qu | 4 years ago | on: Gen Z Kids Don't Understand How File Systems Work

Apple called them "folders" because they had this "desktop metaphor" where the files were pieces of paper and the background (what we call the "desktop" today) was like a physical desk.

This is also the reason GUI programs typically have a white background. It's like you're typing on a typewriter and the background is made of paper.

Prior to GUIs, it was common to see black backgrounds and glowing text, because that was easier for the hardware than the opposite.

page 2