News for hackers. Stuff that matters.

somat

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.
Re:Infinite Mac: BeOS on Friday October 30, 2026 @08:03PM (#50311780)
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.

Re:How Do You Take a Picture of a Black Hole? on Friday October 30, 2026 @07:59AM (#50302746)
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.
Re:The case of the 9 bit AES key on Thursday October 29, 2026 @09:01AM (#50288268)
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.

Re:The case of the 9 bit AES key on Wednesday October 28, 2026 @09:15PM (#50283265)
You could do what openbsd did and tie all the traditional weak psudorandom interfaces into a cryptographically secure one. it will still match the drand48() interface. I still don't think I would use them for secure things but now rand() is actually random. http://man.openbsd.org/drand48

Another pet peeve is when people use the rand() when they want hash() but I will leave that rant for another day.

Re:About the compromised eMudhra intermediate CAs on Wednesday October 28, 2026 @05:41PM (#50281317)
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.

What are you complaining about, we have XV, which is about as humanly close to perfection as you can get in application design.
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

Re:The Quake Fan who built the map editor everybody uses on Saturday October 24, 2026 @12:16PM (#50222711)
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.

Re:The Quake Fan who built the map editor everybody uses on Saturday October 24, 2026 @11:46AM (#50222399)
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.

Re:OBS Studio 33 on Saturday October 24, 2026 @10:46AM (#50221774)
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.

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.

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.
Re:ThinkPad I9990303 Error Catch-22 on Thursday October 22, 2026 @11:45AM (#50197003)
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.
Re:A Markdown File Should Just Open on Thursday October 22, 2026 @04:14AM (#50192622)
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.
Re:ThinkPad I9990303 Error Catch-22 on Thursday October 22, 2026 @04:06AM (#50192561)
I have a GDP pocket laptop that I bricked, I had installed a special development bios with all options unlocked, then, hoping to disable USB3 I proceeded to disable all USB. And a cautionary note, never disable USB on a laptop where all devices are USB. laptop was now completely useless.

First thing I found out was the GDP pocket has no bios clear function(header or equivalent). I found one comment in a forum where somebody also had hard bios problems and was able to reflash it with an external programmer. Worth a try, So I bought a cheap programmer, level shifter, soic clip kit off amazon. and.... nothing was working, at this point not knowing if I was doing it wrong or if the process was even possible I sort of abandoned it. And the carcass sat on the healing bench for a year.

Prompted by the bag of parts on the bench and stumbling on another comment on how miserable shitty cheap soic clips are, I bought a good clip, carefully wired it up, and it flashed first try. plugged the battery back in and the infernal thing booted right up, it still had a charge.

So it is possible to reflash a pc firmware(bios) with an external programmer, probably best to remove the chip, but that is not always necessary. and if it is a soic package, get a good clip, I am happy to name drop Pomona electronics for making a quality product that actually worked and saved my little laptop. https://www.pomonaelectronics.com/products/test-clips/ic-tes...

Re:PingCap TiDB Leaks on Wednesday October 21, 2026 @10:56PM (#50190610)
There was a quote from back in early web days that has stuck with me, Still relevant today.

"good opsec will save you from bad crypto. but the converse is not true, good crypto will not save you from bad opsec"

Re:Whatever Happened to Fire Escapes on Wednesday October 21, 2026 @12:38PM (#50183789)
A particularly dramatic example of this is Baltimore's Bromo tower https://www.bromoseltzertower.com/about/virtual-tour It was turned into some sort of artist studios, and as a minor architecture nerd i was having fun looking at the floor plans. The two staircases right next to each other confused me. Turns out it is that same requirement to have two independent stairwells and that was probably the least worst place to put them. Still stupid however.

Are the two elevators a code requirement as well?

See also: The Newby–McMahon Building https://en.wikipedia.org/wiki/World's_littlest_skyscraper Where they sort of want to use the upper floors. but it can barely fit one staircase, two would take up the entire floor, a building code quandary.

Re:EMudhra Intermediate CA Compromise on Tuesday October 20, 2026 @03:05PM (#50171123)
> no HSM would ever generate these

You trust the magic black box far more than I do.

My big fear about HSM is that they are inscrutable by design. There is no way to verify they are working as advertised. Plus side, all sorts of fancy hardware to protect your keys. Down side, all sorts of fancy hardware that obscures flaws in the implementation.

Re:OpenBSD 8.0 on Tuesday October 20, 2026 @01:58PM (#50170152)
It is largely if there is someone interested in maintaining the port. My favorite port is the luna88k an obscure Japanese unix workstation/server from the early 90's. I don't know how common they were in Japan, rare is my guess, and non-existent elsewhere, but there is one(only one as far as I can tell) dedicated Japanese developer willing to put the work in to keep it current. and every release a month or two after the official release he announces that the package build is done(it takes that long on the hardware).

I don't know how many users of luna88k there are, I don't frequent anywhere near the same ecosystem they would, but have never seen one, So from my point of view it is one person making releases for himself and I love that dedication. I don't have, nor do I want a luna88k, but it great that it exists.

So as far as I can tell that is all it takes to have a published obsd port, one person willing to put the work in.

Re:Facebook now charging to post more than 2 links a month on Tuesday October 20, 2026 @01:26PM (#50169734)
Yeah, Sears is wierd, they were well positioned to be where Amazon is today. But what feels like a small change 30 years later, Transition from mail order to web order, was too much for them?
Re:OpenBSD 8.0 on Tuesday October 20, 2026 @01:58AM (#50161906)
Re:OpenBSD 8.0 on Tuesday October 20, 2026 @01:53AM (#50161872)
I have an old(mutters to self don't look at date then I will feel old... Oh god it's from 2012) lenovo laptop that is my daily driver for portable ops. I run openbsd on it and... well it's perfect. sleeps perfectly, radio works well, I understand the OS. I will be very sad when it dies.

I did just re do the heatsink compound, so hopefully it has many years left, but I worry about the fan.

Re:OpenBSD 8.0 on Tuesday October 20, 2026 @12:09AM (#50161249)
You are not supposed to, it is intended to represent(and probably is) a machine generated image.

I have not really formalized my thoughts on the matter, but it boils down to. It feels great to get the machine to generate a thing for you but it feels terrible to receive a thing from somebody that is machine generated.

The worse part is the paranoia, Now I am seeing "tells" of machine generated content, and it may or may not be. But I have already lost interest.

The real irony would be that it is a hand drawn image carefully animated to feel machine generated.

Re:OpenBSD 8.0 on Monday October 19, 2026 @11:46PM (#50161109)
I suspect it is social commentary on the dangers of letting the machine do all your thinking for you.
Re:Namecheap just seized and disabled all my domains on Sunday October 18, 2026 @03:25PM (#50144411)
I abuse https://www.nearlyfreespeech.net/ as a domain registrar. I really like their astetic(pre pay, simple, no fluff) but it turns out the sort of stuff I want to run on the internet is a poor match for their infrastructure so don't actually use nfsn in their primary web host role.
Which is the correct way to design a game, I am not going to go full Carmack and say the story does not matter at all, but at their heart a computer game is a simulation, a complex machine full of intricate moving parts. Getting thees parts to mesh well is the most critical part. and the story however well or poorly written sort of sits unconnected on top of it, for the most part ornithological to the machine underneath. The bit you actually interact with.

It is why I consider excessive use of cutscenes a tell of poor game design, They stop the machine and pull the player out of the environment. They have their place, but generally should be avoided.

book: tell a story

movie: show, don't tell (big sin opening lore dump)

game: do, don't show (big sin cutscene)

I don't consider it to be one unified story at all, I mean some of the series obviously are connected, but the rest are, as the name suggests, legends about Zelda. Unconnected unreliable narrations about some sort of heroic past events. Everybody agrees about the characters involved but as to what exactly happened, that is lost to time. So each culture is now telling the story a different way, emphasizing whatever is important to them.

I consider as a sort of modern equivalent to the coyote stories. or Paul Bunyan, Finn McCool, Gilgamesh, Or really, any legendary heroic epic passed along by oral storytelling.

So it is fun to try to fit it into some sort of unified timeline. But I don't think it is, that is not how they were actually written and we would loose most of the interesting storytelling flexibility if that is how they write them in the future.

Re:Two-Stack Sliding-Window Aggregation on Friday October 16, 2026 @02:18PM (#50122213)
I was having a bit of trouble understanding the specifics of how to use it as well so while trying to replicate the sum example I ended up with this. but the whole thing is so clunky I am sure I am holding it wrong.

    def example_sum():
        def sum_empty():
                return 0
        def sum_unit(value):
                return value
        def sum_combine(agg_a, agg_b):
                return agg_a + agg_b
        def sum_finalize(agg):
                return agg

        sum_agg = two_stack_agg(sum_empty, sum_unit, sum_combine, sum_finalize)
        w_size = 4
        entry_values = list(range(1, 11) )
        trim_flag = False
        i = 0
        print(agg_sum.eval(), agg_sum.cum_aggs, agg_sum.values)
        agg_sum.push(entry_values[i])
        i += 1
        while agg_sum.len() > 0:
                if i < len(entry_values):
                        agg_sum.push(entry_values[i])
                        i += 1
                if trim_flag:
                        agg_sum.pop()
                elif agg_sum.len() >= w_size:
                        trim_flag = True
                print(agg_sum.eval(), agg_sum.cum_aggs, agg_sum.values)
result:

    0 [] []
    3 [] [1, 2]
    6 [] [1, 2, 3]
    10 [] [1, 2, 3, 4]
    14 [5, 9, 12, 14] []
    18 [5, 9, 12] [6]
    22 [5, 9] [6, 7]
    26 [5] [6, 7, 8]
    30 [] [6, 7, 8, 9]
    34 [10, 19, 27, 34] []
    27 [10, 19, 27] []
    19 [10, 19] []
    10 [10] []
    0 [] []
So a four window aggregate you push values and pop it when greater than the window size. I used the length(being the len of values + len cum_agg ) to measure the window size, but you could just count.

Most of the clunk was to get the same full fill/drain behavior as the example, probably unneeded on real data. The rest of the clunk is because I tend to write simple clunky python. and I stored the provided agg functions in the agg class.

Re:Wayland desktop for Linux with skeuomorphic design on Friday October 16, 2026 @09:52AM (#50118409)
Based on the etymology, I suspect the singular of chassis is case. Nobody uses it like that. But you would perhaps use chassis when it is full of parts or as an item that could be full of parts and case when empty or the parts don't matter.

Surprisingly enough, despite nobody using it like this, it works well, except for cars, where the singular form would be frame(car case just does not work), which does not share the same root and as such is a bit disappointing.

And what is also disapointing, despite the word already being plural(a french spelling of latin pluralization rules for case, use the latin soft c for case and add an i to pluralize, under french rules "is", the s is silent), When there are several chassis, we use the english pluralization rules and add an s. And because there is already an s we just add an s sound.

Older »