somat

Joined 4 years ago

Karma
6,273
Submissions
2,338
Member since
Dec 30
Runs the outband public shell accounts at https://www.public.outband.net
View on Hacker News

Recent submissions

Comment · 1 day ago
On the subject of gasoline taxes, they are getting increasingly worried about lost revenue from the uptake of electric cars. It is going to be a distance tax I am sure, but what would make sense is to just give the department of transportation the electric tax already existing.
Comment · 1 day ago
I really like the linux solution here. My windows have no titlebar/borders at all. To move a window hold the window key and drag the window from anywhere, to resize hold the window key and right-click drag.

And yes I know it's not really a linux specific thing, but that gets the point across. It is very common on linux. I could twirl my os/desktop hipster mustache and say "my obsd/spectrwm desktop handles no window chrome really well" but then I feel really pretentious instead of only slightly.

Comment · 1 day ago
The EHT is a remarkable achievement in datagathering and collaboration. But I always sort of wonder, a bit of doubt if you will. seeing as the process(simplified nearly to the point of absurdity) is that of building a image generator based off what we think a black hole looks like then feeding it very vague spectral data and getting it to generate an image. isn't that a huge confirmation bias. That is. of course the black hole looks like simulated ones, that is how the generator was programmed to make them.
Comment · 2 days ago
In my mind rand() (and friends) and hash(thing) (and friends) are almost the same function, with a very similar set of features required, the main difference is that rand() is non-deterministic and hash() is deterministic.

They are so close that people can and often do build rand() as "internal state s = hash(s) return s" (or similar). then other people, wanting that deterministic hash() behavior thus accidentally exposed, build entire worlds(literally) out of rand().

Another problem with this is that the rand() internals are opaque and unknown and can change without violating the spec. hash(), because it is supposed to be deterministic, usually has an exposed stable algorithm.

A specific example. At one job I found they were storing long term customer order archives encrypted where the key was a hash of the date, this in itself is a little suspicious but the archives were offline and physically locked up on site, so not too bad. The real wtf was that the encryption was done on a win98 machine with a perl script that was basically "seed(date); key = rand(); encrypt(data, key)". expecting to regenerate the key if they ever wanted to look at the data. When I saw that I went "I don't know much about perl, but that does not feel stable" and did a few checks. Sure enough the behavior of rand() could change depending on the operating system or even version. making the keys highly dependent on that exact win98 machine with that exact version of perl, I think they ended up using that machine to generate and store all used keys in a database so other machines could decrypt the archives.

Comment · 2 days ago
Comment · 3 days ago
AWK is a great little language. But you know how some people get hung up on the useless use of cat, I get triggered whenever I see a grep piped into an awk.

And on the subject of the useless use of cat, I like the form because it makes input a normal command(replaceable by any other command), rather than a shell special form. I sort of wish that "tee" would not default to emitting on stdout to better act as cat's compliment.

Comment · 6 days ago
What are you complaining about, we have XV, which is about as humanly close to perfection as you can get in application design.
Comment · 7 days ago
The eternal cycle of discovering that engineering is hard continues.

"As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs."

Maurice Wilkes 1949

Comment · 7 days ago
The unreal method and the quake one are almost exactly the same technically. The level has to be watertight, no leaks from the inside out, even outside areas are actually inside. I suspect for the previs set calculation to work correctly. The editors were both csg brush based and compiled to similar bsp data structures. But in one of those strokes of brilliance where the problem is inverted, the unreal editor devs said "if we start from a solid world and you subtract the rooms you want then you can never have a leaky level" goofy as hell compared to how you think about building things, but it generally worked.

Note, that I never mapped much, but my standard approach was generally to cut a few large rooms out in the general shape of the map(because despite the clever opening if you got too ambitious too quick unreal absolutely would leak like a sieve) then use a mix of add and subtract brushes to make the fine geometry, which was exactly the same as quake maps, large simple rooms to avoid leaks(this time needing to be assembled) filled with fine geometry via adds/subtracts.

This is sort of the early id, Epic engines in a nutshell, id better technically, Epic better tooling and ergonomics.

And a footnote on brushes, because I did not understand this until long after I stopped mapping, A "brush" is a 3d primitive unique from the point,face one commonly used in 3d modeling software. A brush is defined as the convex shape made from intersecting planes. So where for a point,face model you define where the points are and which points form a face, for a brush you define where the face is(point, normal) and what faces are in the brush, the shape comes out of how they intersect. I assume this was because for large simple geometry that you are going to be doing csg operations on the plane model is more attractive than the point model.

Comment · 7 days ago
I never mapped much(more curiosity than real interest) but when I did qoole was always my first choice.

If I remember correctly, it had better csg and a neat method to link planes so they would texture as one surface.

Comment · 7 days ago
To misquote the classic about programming languages.

"There are the live video compositors everyone complains about and there are the ones nobody uses."

But really, it is great to see a piece of open source software as the default choice in a field where they tend to suffer, desktop applications.

Comment · 9 days ago
A national id number should have never been considered any more privileged or authoritative than a name in the first place, any business that does so is being criminally negligent.

I mean, that is why they exist, to replace names, or perhaps more accurately act as a surrogate key for names. The government specifically said don't use the SSN as a secret, and businesses did so anyway.

Comment · 9 days ago
It sort of makes sense, why would you bring a case to trial that is not complete? A complete case will always win. The trial is the final check if the case is complete.
Comment · 9 days ago
I was trying openbsd and the xhci driver was dropping the external usb drive I had the system on crashing it, The vague hope was that forcing ohci would make the it stable enough to use.
Comment · 9 days ago
This is probably getting into old man yells at cloud territory, but it's markdown... Open it in a text editor. That is the most of point of having markdown, nice looking plain text. typeset text is the side effect, if the point were typeset text I would hope that a better format than markdown was used.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton