HNHacker News
TopNewBestAskShowJobs

simiones

5,400 karma · joined May 4, 2018

submissionscomments
simiones··on .name Termination
DNS names are never permanent, they are in fact extremely im-permanent, always requiring periodic re-registration (though, to be fair, with pre-emption rights, so you have some guarantee of keeping your registration if you don't forget).
simiones··on .name Termination
> Also, .name filled an actual need for general non ccTLD

That's a silly idea. While there are laws that ensure to a decent extent that there is a single company called "Google", so that it's relatively unambiguous who `google.com` should refer to, there is no uniqueness whatsoever to personal names. There are likely hundreds of thousands of people called "John Smith", so the FQDN `john.smith.name.` would not really tell you anything.

This is without even going into the fact that "first-name.last-name" is culturally specific (though, to be fair, a large proportion of cultures in the world use this format).

simiones··on Go grandmaster Shin defeats AI KataGo with a two-stone handicap
The problem is that "with a handicap" is in itself ambiguous. People sometimes use it positively, sometimes negatively. That is, you say that Shin had a two-stone handicap, that can in itself be understood as either "Shin was given an advantage of two stones over the AI" (the reality) or "Shin was playing with a disadvantage, giving the AI two extra stones" (the more common reading of "to have a handicap").
simiones··on Go grandmaster Shin defeats AI KataGo with a two-stone handicap
Only if you were to assume that a player's prowess remains constant throughout their career, which we generally know to be false. (I'm completely inventing dates here) If Fisher played Kasparov in 1990 and Kasparov played Carlsen in 2020, you can only compare Carlsen to Fisher if you assume Kasparov's skill was about the same for this entire duration, which no one believes to be the case.
simiones··on Go grandmaster Shin defeats AI KataGo with a two-stone handicap
A small note - it's Elo scoring, not ELO. It's named after Arpad Elo, it's not an acronym of any kind.
simiones··on Authorization terminology is a mess: Let's fix it
> the type system ensured that, unless the capability had been revoked, illegal requests would not type-check at compile time

I don't think I can imagine what you mean here. How would my compilation success depend on whether an Admin has given me the right to read or write to a certain path?

simiones··on Authorization terminology is a mess: Let's fix it
The question is - how do you get the ability to write to pathA and to pathB but not to pathC, while another user gets the ability to write to pathA and pathC but not to pathB?

Do you get a huge list of capability keys when you log into the system, one for each path? Do you ask a service for a capability when you want to perform the action?

simiones··on Authorization terminology is a mess: Let's fix it
Oh, I'm sure it can be done, and what you're describing sounds quite nice.

All I take issue with is the claim that this is a way to make the unauthorized actions "impossible to utter". The reality is that, at least at some level, you always have to evaluate a request and, based on some cryptography related to user identity, decide if you'll honor it or refuse it. That may be checking a cookie to look up the user and then checking a separate place to see if the user is authorized to perform the action (perhaps with an extra step of finding a role, etc), or it can be checking a "pre-approval" signature obtained at some earlier point as you're describing here, but it's ultimately the same concept, and isn't "implicitly handled" in one case anymore than the other.

simiones··on Authorization terminology is a mess: Let's fix it
First of all, this necessitates a certain data model, where instead of a "UploadFile(file, destPath)" operation, I have to have a "destPath.UploadFile(file)" operation. This would be ok for this case, but not all operations can be expressed in this simple parent -> child relationship.

Furthermore, even here, this doesn't cover another case: what if I am allowed to add files to destPath, but I'm not allowed to modify a specific file? This API still has to fail if `destPath/file.Name` already exists and I'm not allowed to modify it (or it at least has to do something different than when `destPath/file.Name` doesn't already exist).

And even if we accept that we can only ever write things in this way, this still leaves the problem of terminology intact. Depending on the technology, it's simply not true that I can't "utter this phrase" if I don't have the capability. For example, if this is an HTTP API, then I can always do a `POST /dest-path/upload-file` with the file I want, regardless of whether I have the authorization to access that or not. Sure, if it's a HATEOAS-style API, the `GET /dest-path` might not return a link to `./upload-file` at all, but that doesn't mean that I can't utter that sentence - i.e. issue that HTTP request.

simiones··on Authorization terminology is a mess: Let's fix it
> If the subject can utter the action, then it can perform it.

This sounds like another layer of weird terminology that doesn't mean anything for someone who is not familiar with whatever capability system you're thinking of.

Say I am a user who can see a particular directory on a shared setup. I try to upload a file in this directory, using the same method that worked on another directory. The question of AuthZ is: will I be allowed to do it or not? In the plain sense of the words, I can absolutely "utter the action", I have all of the "verbs" (upload) and "nouns" (the file, the destination path). Still, I should not be allowed to perform the action if I was only given read-only access here.

Now sure, you can say that "upload to dirA" is a different verb than "upload to dirB". But this is just confusing terminology, it doesn't enlighten anything.

simiones··on Apple caught off guard by AI demand for Mac Mini and Mac Studio
Do you have proof Apple is facing unexpected demand for the Mac Mini because of AI? Do these news sites?
simiones··on Borges Labyrinth in Venice reopens to the public
This comes off as claiming that no one could possibly read Harry Potter if they haven't read The Illiad yet, nor the Illiad if they haven't read the Epic of Gilgamesh.
simiones··on Doctors are finally learning to manage antidepressant withdrawal
Note that it's not uncommon for even more widely prescribed medication to have no firmly established mechanism of action. Acetaminophen/paracetamol is probably the best example.

Ultimately medication is prescribed based on evidence from clinical trials, whether or not the mechanism of action is fully understood. SSRIs work to help with depression in clinical trials when compared to placebo, so they get prescribed.

simiones··on Doctors are finally learning to manage antidepressant withdrawal
> SSRIs do not have the same level of supporting evidence, and the effects are not as durable.

To the extent that we can measure depression, SSRIs have been widely proven in gold standard phase III clinical trials to help with the treatment of major depression. What exactly is supposed to be lacking in the supported evidence?

simiones··on Doctors are finally learning to manage antidepressant withdrawal
You are assuming a lot about the competency of some specific doctor who knows where in the world...
simiones··on Apple introduces M6 and M5 Ultra
> Are you sure about that? At that time, hard drives were constantly spinning. Getting them to suspend was a rare feat.

I am pretty sure, though, of course, memory is highly fallible (and note that I was a kid back then, and didn't understand that well what those sounds or the blinking disk light actually meant).

> 20 years ago, Windows 98 had long been abandoned. At that time I had been running a Linux desktop for many years already.

20 years ago means the mid-to-late nineties. That's my position and I'm sticking with it /s

But I think it's undeniable that Linux in the 2000s was a massive pain for anyone but the most dedicated tinker, and even then only for pretty carefully chosen hardware. The Year of the Linux Desktop meme existed for a very clear reason. Virtually the entire PC user base, both Consumer and Corporate, was running Windows XP in the 2000s.

simiones··on An ongoing 3D-printer AGPL violation
> This allegedly violates the GPLv3 clause that requires the release of the source code for the entire work if they are combined to form a larger program in or on a storage or distribution medium, such as the flash memory of the STM32F407 micro-controller on the board, and more recently in the update images Prusa supplies

This makes 0 sense as presented here. The GPL explicitly distinguishes mere aggregation from combining in a way that makes it a larger program. Putting both the proprietary bootloader and the GPL OS on the same disk / in the same system makes 0 difference to whether the bootloader is covered by the GPL or not.

If this were true, then any phone, any PS5, any Linux laptop, and almost all consumer hardware would be in violation of the GPL (note that the wording quoted there is also part of the GPLv2, it's not GPLv3 specific).

simiones··on An ongoing 3D-printer AGPL violation
Do you mean physically modifying a printer you bought from Bambu, and selling that on? Potentially as a service, where you buy in bulk and re-sell with this modification? If so, I don't see how that would change anything about the software you're allowed to run on it.

Or do you mean manufacturing your own printer that is a copy of theirs with 10mm extra build volume in each direction, and with your own software? That may be illegal if they have any patents, but otherwise should probably be ok, and would of course not have anything to do with their software - but you still couldn't take the software from one of their printers and running it on yours, most likely.

simiones··on An ongoing 3D-printer AGPL violation
Nothing stops anyone from briging a suit and representing themselves.
simiones··on An ongoing 3D-printer AGPL violation
Can you share a link?

This would be a vindication of the SFC's position, which holds that what people commonly call "TiVoization" was in fact already not allowed by the GPLv2, and that the GPLv3 makes a slightly more complicated requirement.

Specifically, the SFC generally claims that the GPLv2 doesn't allow you to distribute hardware running GPLv2 software on it and then refuse to allow customers to modify or update this software themselves*.

Instead, they claim that what TiVo actually did that necessitated the creation of the GPLv3 is more complicated: you were perfectly well allowed to modify the Linux system on your TiVo box, BUT the proprietary TiVo software would thereafter refuse to run. Basically, you could either use the TiVo with only official TiVo software, OR you could use it as your own Linux PC, but NOT both.

According to the SFC, this is the only difference between GPLv2 and GPLv3 in this area - if the functionality of the product you received is allowed to be degraded intentionally because of modifications you make under your GPL rights. Linux with its GPLv2 license allows this, but much of the GNU utils, with the GPLv3 license, don't at this time.

* unless the hardware itself is incapable of loading modified software, of course, such as the case where the software is burned into a ROM and no one can update it.

simiones··on New Mac mini, featuring M6 and M5 Pro
It is actually a very relevant real-world definition - even though I agree with you on the intangible value of time.

The reason why it is very relevant is that, in the way we have unfortunately structured our economy, the amount of work you have to do to be able to eat and enjoy your time will always expand to grow to at least force you to maintain (if not increase) your economic productivity. That is, if AI enables engineers to deliver 10x more features in the same unit of time, then their employers will expect them to deliver 10x more features to continue earning their current pay.

So, while the AI did, in principle, allow you to just reduce your work schedule while getting the same pay, as you're providing the same results in 1/10th of the time, the economic system does not - your previous work is instead simply worth less than it used to be. Assuming you're not happy to take a 90% pay cut, you'll have to continue spending 40+ hour weeks, just using AI as well now.

simiones··on Apple introduces M6 and M5 Ultra
> My machine 20 years ago was not an SOC and didn't have an SSD either. It was fast as lightning to open a window.

I never understand what people exactly mean by claims like this. I very vividly remember double clicking some executable, and then immediately hearing the HDD start to spin, and waiting with baited breath to see if it will spawn a window or silently fail, as programs on Windows 98 (the only option for personal computers at the time) often did.

So what exactly was snappy? Nothing that runs off a HDD is ever snappy.

simiones··on New Mac mini, featuring M6 and M5 Pro
In the sense measured in economics, only if the product at the end of the day is sold for the same nominal amount of dollars as before. It doesn't matter how many features or lines of code or bugs or anything like this you produced - it matters how much revenue your work produced.

So, if the product isn't selling any more expensive even though you're adding ~8 times more features, or if you're still getting paid for the full 40 hours even though you only really work 5, then economic productivity hasn't actually increased.

simiones··on Where did all the public bathrooms go?
Becoming and then staying homeless for a significant time is often almost irreversible. The key is to prevent people from ever getting there, as much as you can - and that is the point the poster above was making. The fall from house + job > house > no house makes it very hard to ever get another job that actually pays enough to go back to having a house.
simiones··on SeL4 security proofs now complete on AArch64
Per that link, this runs a Linux kernel as a VM on top of an L4-based hypervisor.
simiones··on SeL4 security proofs now complete on AArch64
> but they need a native seL4/Linux if they want to honestly claim they are improving systems' security with their capability model.

Are you using "seL4/Linux" in the style of "GNU/Linux"? Because then it should be "GNU/seL4" - that would describe an OS exposing the GNU core utilities on top of the seL4 kernel. There's no way to mix the Linux kernel with the seL4 kernel, other than using one to run VMs of the other.

simiones··on SeL4 security proofs now complete on AArch64
I don't think it needs to be so dramatic. You could have a proof that the algorithms don't contain data-dependent logic, and perhaps ensure that no data-dependent instructions are generated; and that all branches have the same number of instrution-cycles (adding padding if not). You'd then simply rely on the architecture-specific instruction timing differences to be respected by the compiler.

Would something like this guarantee that no side-channels are possible on any architecture? Perhaps not, but it would still get you most of the way there.

simiones··on Turns are Better than Radians (2022)
> If not, then what would be the result of the multiplication of 3 with "m"?

The answer is not, and the result of 3 multiplied by m is 3m. Just like 3 multiplied by pi is 3pi; or, perhaps more accurately, you can view m as a kind of vector unit, and 3m as the scalar product. Of course, none of this is exactly matching - dimensions are different from irrationals, vectors, complex numbers, etc, they are mostly a thing of their own.

> What this gets you in the end is a type algebra, but that is also not exactly a new concept.

Sure, that's why I said specifically programming language types. I am aware that type theory has way more complex operations on types. I think some of these may even be expressible in Idris or Haskell + some appropriate extension. But in almost all programming languages, even ones like OCaml, SML, plain Haskell, Rust, C++ with template magic, Scala, F# and what have you, there is no way to specify that the result of multiplying two values of type A is of type "A * A", especially not in a way that then allows you specify that the division of a value of type "A * A" by A has type A. So types as exposed in any of the common programming languages are horrible for modelling dimensions as used in even high school physics.

simiones··on Turns are Better than Radians (2022)
The naming is irrelevant here. The point is that sin(x) ~ x for small x, whereas sinrev(x) ~ rev * x for small x, which is much uglier. And similar things happen to the derivative of sinrev() vs regular sin() and so on. So switching to preferring to express angles in revs instead actually complicates most formulas, at least in some domans.
simiones··on Turns are Better than Radians (2022)
Dimensions and units are separate things, though. For example, 1 minute and 1 second are different units of the same time dimension. Similarly, 1 rad and 1 degree are both dimensionless, but they are both different units.
← PreviousPage 2 of 34Next →