HNHacker News
TopNewBestAskShowJobs

matja

1,144 karma · joined December 29, 2018

https://github.com/matja
submissionscomments
matja··on Software may be getting worse, but it used to be horrible
And even that got worse - now there's no driver name, exception address or stop codes, so you can't even web search for anything.
matja··on The Curse of Soldered RAM
It would be useful if memtest output a QR-code which encodes that string.
matja··on Rewriting a Commercial Engine in Jai
Thanks!
matja··on Rewriting a Commercial Engine in Jai
Thanks!
matja··on Rewriting a Commercial Engine in Jai
Is there a manual for Jai, or some info on how it compares with other languages? I find it hard to find resources on it - there's no Wikipedia page, and my web searches list some videos and random github projects?
matja··on Upcoming critical PHP security release (CVE-2026-109618 / -109619)
Good advice if you're not using the default PHP session settings, but using default settings this means sessions can't be created. At best, that means no-one can log-in. At worst, it completely breaks the site (for those that depend on sessions even for unauthenticated users).

Also: https://stopdisablingselinux.com/ - SELinux can mitigate this.

matja··on A 100x faster* alternative to homebrew
If the OS doesn't come with a package manager, how do you propose installing a package manager?

curl && tar -x && ./configure && make install ? Guess what, it's the same with more steps.

matja··on Making a GTK application in Haskell, part 1
A GtkWidget is just a GObject in the category of C-style cast macros , what's the problem? :)
matja··on <input type="password" maxlength="20"> prevents me from logging into Vanguard

    CREATE TABLE passwords (
      email VARCHAR(MAX),
      password VARCHAR(20) UNIQUE -- unique passwords are more secure.
        -- NOTE: "20" here because we used to use SHA1 hashes
        -- but there was an issue with storing binary in CP437
        -- so we just renamed the field.
    )
matja··on NAND-16: a computer built from 277,248 NAND gates
Most of the gate budget here is on SRAM used for system memory and video memory, so not exactly comparable to a i386 which had neither on-die.
matja··on Nvidia wants to put a watchdog chip next to every AI agent
"It appears you've loaded weights into your GPU that have not been signed/approved by the government of the country your GPU is registered to..."
matja··on Sourcehut account takeover via build logs (XSS in ansi2html)
By "stripped out" I hope that means only accept colours and bold/underline and discard everything unrecognised :)
matja··on AMD's random number generator can't generate a 0?
The fact that Intel Bull Mountain (code name for Secure Key Technology), and NSA's BULLRUN program share the name "bull" is a complete coincidence. I'm sure.
matja··on MUNI Heritage Weekend in San Francisco
I like the photos, they look like architectural diagrams.

I suppose the subjects moved past the camera perpendicular to the lens direction, so you only see one side.

Are there any examples of what it looks like with a line scan camera when a subject goes past at an angle?

Also, for anyone setting up a tripod with a tripping hazard in public, do consider public liability insurance :)

matja··on AMD's random number generator can't generate a 0?
Why does systemd use architecture-specific instructions rather than using the kernel-provided random interface in the first place?
matja··on AMD's random number generator can't generate a 0?
CVE-2008-0166 (Debian OpenSSL Predictable PRNG Vulnerability) inspired xkcd/221 but this sort of thing happens a lot :)
matja··on AMD's random number generator can't generate a 0?
Why would it be a normal distribution?
matja··on AMD's random number generator can't generate a 0?
I'm getting 16-bit zeros on my Zen 3 chip (+1:3821, 0:3893, -1:3895), I will wait to get some statistically significant samples for the 32-bit values and update the forum thread. Maybe it was fixed after Zen 2?
matja··on Samsung is expected to more than double output of its HBM4 and HBM4E DRAM
Depends on what proportion of Samsung's output is current HBM4 and HBM4E DRAM.

Everything in their statement can be true and it be a bad thing for consumers of non-HBM RAM.

"HBM capacity to expand to 250,000 wafers a month"

So let's say their current HBM capacity is 100k wafers/month (pure speculation/random number for illustration), and their total RAM capacity (including HBM( is 300k wafers/month, then non-HBM capacity reduces from 200k to 50k.

matja··on Apple iPhone 18 Pro Camera test
I'm surprised that in no reviews of the iPhone 18 camera there is mention of the bad quality bokeh, it has heavy ring shapes that looks like what you'd get from a cheap catadioptric lens.

Edit: e.g. the tree in one of the images in the page: https://www.dxomark.com/wp-content/uploads/2026/09/PoleHDR_D...

matja··on What Zig felt like, coming from Rust
.len doesn't work on a list (because it might mislead you about the efficiency of the operation if it did exist), so it's better to use iterators - so then you can change the underlying type without changing your code.

But then, saying while "let Some(item) = iter.next()" everytime is tedious, so they give you .iter() - for any type that is efficiently iterable.

Nothing stopping you using a manual loop that you need to update if you change the container type.

matja··on Btrfs/ZFS/bcachefs under workloads classic benchmarks skip
> I'm not sure that nuking 2G of the underlying block device is a recoverable error on any filesystem that I'm aware of?

ZFS and btrfs were designed from the start to handle this, by using checksums on every piece of (meta)data and redundancy to return the same data as was stored to the kernel, and rewrite the bad data.

I've tested my own machines running ZFS by random writes out of band from the filesystem/kernel and it has always found and fixed them.

matja··on Introducing System One Models and Jev
Add:

    "call_back_day": {
      "criteria": {
        "none": "The user does not want a call back.",
        "today": "The user wants a call back today.",
        "tomorrow": "The user wants a call back tomorrow."
      },
      "instructions": "When does the user want a call back?",
      "type": "choice"
    }
And you get: "tomorrow": confidence 1
matja··on Microcode in Intel's 8087 floating-point chip: the scale instruction
I wouldn't say so, because it was a co-processor: e.g., it depended on the 8086 to even generate addresses for memory operations.

I think the IBM 7030 Stretch CPU (from 1964) would be a likely contender for being one of the first 64-bit CPUs.

matja··on Microcode in Intel's 8087 floating-point chip: the scale instruction
> Also, the arbitrary "Oh, and the registers are 80 bits wide" is also just one of those weird "Where did that number come from?".

One of the features that was advertised (mentioned in the iAPX 86, 88, 186 Microprocessors Part II book (July 1984)) was the ability to do exact arithmetic on integers up to 2^64, which is possible due to the 64-bit mantissa used in the 80-bit format.

matja··on I refuse to let SPICE die
> I wish the stars would align for QEMU to gain support for sunlight/moonlight streaming directly in the hypervisor.

I didn't know I wanted it until you said it.

I have a few QEMU VMs where I use PCI-passthrough of a whole GPU and a USB controller, and wire the display and USB outputs physically into a KVM switch - works great, but not having to fiddle with the KVM (and run out of physical ports) would be - indeed, killer app.

matja··on Technique for Manipulating Satellite Photos Now Reveals Ancient Images (2025)
The levels tool maps a subset of the channel range to the full range, effectively changing the brightness and contrast in one step.

The center point controls the gamma correction, so you can map a biased distribution (mostly bright or dark for example) to be more evenly distributed.

That was the purpose of that step - move the midpoint slider to about where the peak in the histogram is, to get an evenly distributed range.

The low/high slider can be moved towards that to increase the contrast.

"Contrast" here will only apply to the A/B channels, which is the color information, so it's increasing the color contrast and unbiasing it, while keeping the luminance information.

Photoshop also can do the same transform, and interactively in the LAB colorspace (no need to combine/uncombine the channels first).

matja··on Technique for Manipulating Satellite Photos Now Reveals Ancient Images (2025)
You can do something similar in GIMP:

1) Colors > Components > Decompose > LAB

2) For the layers of the A/B (chroma) channels, Colors > Levels > "Auto Input Levels" (maximize the contrast), and move the mid point to the median.

3) Colors > Components > Compose > LAB

matja··on Show HN: The same nine streaming subscriptions cost $702/year more than in 2021
You're rejecting information solely based on the aesthetic quality of the delivery medium?
matja··on Bill Gates tries to install MovieMaker (2003)
> every department is fighting for their lives against the others

https://bonkersworld.net/img/2011-06-27_organizational_chart...

Page 1 of 13Next →