HNHacker News
TopNewBestAskShowJobs

peter_d_sherman

18,823 karma · joined September 16, 2014

Programmer, Student Of Law, Entrepreneur & Comedy Writer.

Open Source, Open Hardware, Transparency & Free Speech enthusiast.

peter.d.sherman@gmail.com www.linkedin.com/in/peter-sherman-a6107a5 https://x.com/peter_d_sherman

"The true knowledge consists of knowing that one knows nothing..."

- Socrates

submissionscomments
peter_d_sherman··on Understanding the AXI Protocol: Applications and Functionality (2025)
Related:

AXI SystemVerilog synthesizable FPGA IP modules and verification infrastructure for high-performance on-chip communication:

https://github.com/pulp-platform/axi

Verilog PCI express related FPGA components with PCIe to AXI and AXI lite bridges and a flexible, high-performance DMA subsystem:

https://github.com/alexforencich/verilog-pcie

peter_d_sherman··on What is "Switch Bounce" & how to implement debounce
Related:

Should I debounce everything?:

https://electronics.stackexchange.com/questions/694167/shoul...

Multiple Switch Debouncer in VHDL:

https://opencores.org/projects/debouncer_vhdl

Impedance matching:

https://en.wikipedia.org/wiki/Impedance_matching

peter_d_sherman··on Explanation of INT8 ConvRot (FP8 is no longer needed)
>"FP8, which has been used as the standard until now, was only supported by the RTX 40/50 series. In contrast,

INT8 ConvRot

is attracting attention because it can benefit from hardware support even on the RTX 20/30 series."

Related:

https://blog.comfy.org/p/minimax-h3-day-0-support-in-comfyui

peter_d_sherman··on CP/M-386 – CP/M for 386 protected mode, derived from CP/M‑68K
>"Compatible with 386 (and later systems) with 2MB (or more) memory."

Looks good!

An order of magnitude (or two!) less code complexity and less memory hungry than most of 2026's bloated Operating Systems...

Well done!

peter_d_sherman··on Bulunkul, Central Asia's Coldest (and Warmest) Town (2019)
I found the above article while searching for places in the world with the least number of English speakers per capita, coupled with the most extreme weather conditions imaginable (according to Gemini, Bulunkul has set a low temperature record of -63°F (-53°C) during one winter).

It contains the answer to an interesting problem, which simply stated is:

"How could someone potentially get help from complete strangers -- if both do not speak the same language?"

(You know, if you or someone you know is ever stranded in Bulkunkul, in the dead of winter!)

Here is that answer, as a quote from the article, in story form:

>"Eager to connect, I faced what seemed to be an insurmountable issue, a total lack of any form of communication. No common link.

On the afternoon of our second day, we were sitting in a circle with our host family, sipping yak’s milk tea while attempting to converse through gestures. We were searching for a common thread. After some time, I decided to bring out my Polaroid camera to take a photograph of the youngest daughter of the family. Hiding the developing picture in my hands, I kept blowing on the Polaroid, occasionally letting her peek at what was going on. To the young girl, it was absolutely magic.

Finally, I passed the image to her, and instantly, she rushed around the corner returning 15 seconds later with two of her friends. Frantically, she pointed from the picture to me, back to the picture, and back again to me.

A few minutes later, I found an eagerly excited but well-mannered queue forming around us. Over the next 48 hours, I took 120 photographs for the 306 people of Bulunkul.

Standing in what could conceivably be called the "town center", families were gathering quickly. First, it was mostly younger children that got involved. I would take a picture of one of them, and they would immediately run to grab their best friend. Their smiles were infectious, and their excitement spread like wildfire. But, before long, their parents and the other adults started getting involved as well. While their smiles were rarely as large on the camera, once the picture was in their hands, they often acted just as giddy as their kids. A few of them told me that this was the first photo they had ever seen of themselves. As a photographer, that might just be the most impactful thing someone can tell you."

My thoughts:

A picture truly is worth a thousand words!

peter_d_sherman··on Show HN: BitBang – Reach machines behind NAT from a browser, no account
So I read a whole bunch of text trying to figure out what this thing is...

Then I see the following line in the 'How it compares' section:

"Self-hostable server (open source)": ngrok->No, Cloudflare Tunnel->No, Tailscale->No, Bitbang->Yes

...and I'm like, "It's Open Source Tailscale!"

And now I "get it"! (you know, epiphany, profound enlightenment and all that!) :-)

(Well, it's an open source alternative to Tailscale, to be more precise, and an excellent one at that!)

Great work, Rich LeGrand!

(Another step forward for open source!)

peter_d_sherman··on Amiga 1000: Ten years ahead of its time
Great article overall!

But:

>"Initially, the Amiga had a reputation for being unstable.

But that was largely because early Amiga software wasn’t very well written. Amiga software was prone to ask for resources, and assume the resources were available. Instead of failing gracefully if the resources it asked for weren’t available, it would simply allocate them, and cause a guru meditation, the Amiga equivalent of a blue screen of death or kernel panic. Except it was red, not blue."

Not true!

Well, not entirely true...

Or at least, that's not an entirely correct, nuanced, contextual historical understanding...

I was an early Amiga owner, so I speak from experience!

Yes, software could crash the system from time to time (any software of the era could crash almost any consumer computer of the era, because CPU's with MMU's and protected memory and protected mode operating systems where kernel/OS code was separate from user/client/program/application/unprivileged code (call it what you will!) either did not exist or were not widely available or inexpensive enough for mass-market adoption by the majority of home/family/mass-market consumers in the early to mid 1980's.

The Amiga 1000 used the Motorola 68000 CPU, which did not have a built-in MMU on it or external MMU working alongside it, which means that there was no protected memory where the OS/kernel code could live, which means that any given program, even the simplest of C programs, could overwrite OS/kernel memory, which means that any given program could crash the computer -- but that's exactly the same as most of the other mass-market consumer computers from other manufacturers of the early to mid 1980's -- the same as early Macintoshes with 68000's, the same as 6510 Commodore 64's, the same as 6502/65C02 Apple IIe's, the same as early 8086/8088 IBM PC's and clones, etc., etc.

Any program could crash any of those.

So if the early Amiga had a "reputation for being unstable" (a reputation which I have never heard about until now, until reading this article what, 41 years or so since the original Amiga 1000 was first produced, I should explain that I've read almost every single early Amiga article (I was a voracious early "Amiga article reader"!) in the 1985-1993 time period) -- then the same thing would have been true about just about every other consumer-grade mass-market computer in the early to mid 1980's... because most didn't have MMU's and run protected mode operating systems...)

If the Amiga 1000 had a "reputation for being unstable" -- then that's either fake news (what are your sources?) or AI-generated copypasta or possibly marketing gossip/slander originating from other jealous less-technologically superior competing computer manufacturers back in the day...

Now, other than that minor point, that minor nuanced contextual understanding (which I apologize for, because it sounds like I'm trying to be a critic of the article -- I am not! I am merely trying to mitigate the spread of "fake historical news" surrounding the original Amiga 1000!) -- other that that minor point, the article is 100% spot-on, a great article, and I'm really glad the author wrote it!

So, to the Author, I say "well done!"

An excellent article overall!

That, and I greatly appreciate any and all articles written about the early Amiga!

peter_d_sherman··on Meta caps internal AI token spending
>"The internal memo disclosed that Meta

employees consumed 73.7 trillion tokens in roughly 30 days

, a figure tracked on an internal leaderboard called "Claudeonomics" — a reference to Anthropic's Claude, one of the third-party AI tools widely used inside the company [2]. The leaderboard, which ranked employees and teams by token consumption, inadvertently incentivized usage volume over productive output.

Meta plans to dismantle the leaderboard and replace it with a centralized monitoring platform called "AI Gateway," which will track usage and spending across teams in real time [2]."

This seems to be an interesting upcoming business, that is:

Helping companies centralize and track their AI usage by employee.

Anyway, great article!

peter_d_sherman··on Tensordyne Converts AI Matrix Math to Logs to Crank Up Inference Oomph
>"Here is the crux of it: Multiplying matrices of numbers is hard, even for computers with matrix multiplier units. But adding banks of numbers is a lot easier. (Even your own neurons like addition more than multiplication.) And the key insight from Tensordyne’s founders is that

if you convert data to logarithms, you can add them and avoid the multiplication overhead entirely.

And, the Napier chip, named after Scottish mathematician, astronomer, and physicist John Napier of the late Renaissance, who invented logarithms and also was an early user of the decimal point and was therefore one of the first geeks to get us on the path to a floating point processing unit, does all of this conversion from matrix to logs all under the covers, invisibly.

Here’s the upshot:

This shift to log math provides more than an order of magnitude better performance

, lower price, and lower power consumption than hybrid architectures from Nvidia and Amazon Web Services."

peter_d_sherman··on 284B Model Shouldn't Fit on Your Laptop. It Does [video]
Related:

https://github.com/antirez/ds4

https://news.ycombinator.com/item?id=48142108

peter_d_sherman··on MicroUI – A tiny, portable, immediate-mode UI library written in ANSI C
>"Features

o Tiny: around 1100 sloc of ANSI C

o Works within a fixed-sized memory region: no additional memory is allocated

o Built-in controls: window, scrollable panel, button, slider, textbox, label, checkbox, wordwrapped text

o Works with any rendering system that can draw rectangles and text

o Designed to allow the user to easily add custom controls

o Simple layout system"

peter_d_sherman··on Chaosnet (1981)
"The transmission medium of Chaosnet is called the ether. Physically it is a coaxial cable, of the semi-rigid 1/2 inch low-loss type used for cable TV, with 75-ohm termination at both ends. At each network node a cable transceiver is attached to the cable. A 10-meter flat cable connects the transceiver to an interface which is attached to a computer’s I/O bus."

[...]

"The transceiver receives a differential digital signal from the computer interface and impresses it onto the cable as a level of about 8 volts for a 1, or 0 volts (open circuit) for a 0, through a very fast VMOS power FET. When the cable is idle it is held at 0 volts by the terminations. This simple-minded unipolar scheme is adequate for the medium cable lengths and transmission speeds we are using. The transceiver monitors the cable by comparing it against a reference voltage, and returns a differential signal to the interface. In addition, it detects interference (another transceiver transmitting at the same time as this one) and informs the interface."

Seems like the above would be all that's necessary for the simplest possible "built around first principles" local LAN, if someone wanted to experiment with an early Ethernet-like system...

Anyway, great article!

peter_d_sherman··on Workers are spending over 6 hours a week botsitting AI, fueling job frustration
'Botsitting' -- that word is going into my 2026 lexicon! :-)
peter_d_sherman··on Magnetoelectric antennas could transform how underwater robots talk
"At 36 kHz, the wavelength shrinks from roughly 8,327 m (27,320 ft) in air to just 170 m (558 ft) in freshwater..."

Yes, waves apparently compress or expand depending on the medium they are in...

I'm curious as to what the extremes of potential medium might be... on one end, we might have the densest of heavy metals and on the other, we might have the vacuum of outer space...

Also, what role does/would temperature play?

If a heavy metal was frozen and its temperature brought as close to absolute zero as possible, then would that shrink or expand any propagated waves through it, if even by the smallest amount?

Also, if so, might there be a definable relationship between that phenomena, if it exists, and superconductivity?

Anyway, great article, and it's interesting to learn about Magnetoelectric Antennas!

(I had never heard about them before!)

peter_d_sherman··on Open System Firmware: Experiences deploying LinuxBoot, coreboot at Google (2021) [video]
Related:

https://www.coreboot.org/

https://www.linuxboot.org/

https://u-root.org/

peter_d_sherman··on Porting the ThinkPad X61 to Coreboot
>"...tools like SerialICE which runs the firmware in QEMU and forwards IO and MMIO to the actual hardware..."

I never knew about SerialICE prior to reading this article, or that it could forward IO/MMIO to actual hardware (i.e., act as a proxy)... In the past I was curious if a debugging tool like that could exist, and apparently, yes it can!

Anyway, great article!

Related:

https://www.serialice.com/index.html

https://github.com/coreboot/serialice

peter_d_sherman··on Cleaning up after AI rockstar developers
Interesting!

Yes, there's probably a market for vibe-coded software, but if there is, then there's also a market for fixing other companies' vibe-coded mistakes...

Phrased another way, you pay company A to vibe-code some software or extra software features for you, then you subsequently pay company B -- to fix company A's vibe-coded mistakes!

(Hey, look on the bright side! It's more money for taxes, GDP, employment ("jobs jobs jobs!"), and the circular Internet economy! :-) )

peter_d_sherman··on KaOS Takes Final Init Step Away from System with Dinit RC ISO
An interesting OS:

>"The desktop stack features Niri 26.04 and Noctalia v5 alpha, built on Qt 6.11. Additional components, including cliphist, brightnessctl, ddcutil, pavucontrol-qt, qt6ct, and xwayland-satellite, complete the environment.

Core system updates include Linux kernel 7.0, Dinit 022, Mesa 26.1.2, PipeWire 1.6.6, OpenSSH 10.3, Bash 5.3, Coreutils 9.11, Libgcrypt 1.12.2, Nano 9.0, Curl 8.20, OpenCV 4.13, Poppler 26.06, GStreamer 1.28, ZFS 2.4.2, CMake 4.3, and Protobuf 35."

peter_d_sherman··on A Short Story About SQL's Biggest Rival (QUEL) (2020)
Related: https://en.wikipedia.org/wiki/QUEL_query_languages
peter_d_sherman··on Pluto – An x86 (Ring 0, Protected Mode) kernel written in Zig
I like the following x86 assembly real-mode to protected-mode bootloader a lot:

(Taking a quick glance, it seems to be very well written and robust -- at least as far as "old-skool" (should run on ancient PC's back to 386's!) FAT, non-UEFI, x86 assembly bootloaders go...)

https://github.com/ZystemOS/pluto/tree/develop/src/bootloade...

peter_d_sherman··on Asterinas – Forge the Future of Rust OSes
>"In the framekernel OS architecture, the entire OS resides in the same address space (like a monolithic kernel) and is required to be written in Rust. However, there's a twist---the kernel is partitioned in two halves: the privileged Framework (akin to a microkernel) and the unprivileged Services.

Only the privileged Framework is allowed to use unsafe features of Rust, while the unprivileged Services must be written exclusively in safe Rust."

An interesting and novel idea!

Use unsafe Rust for the higher privilege supervisor and safe Rust for everything else... that's definitely novel, and an interesting idea!

Observation: The code for the kernel could be divided into microkernel and non-microkernel parts and separated, and the microkernel itself could be written in unsafe Rust, and everything else could be written in safe Rust, and a system could arise where there might be more effective memory protection than putting both sets of code into the same memory, but at the expense of speed (using slower messages instead of direct calls)... but that of course may not be desirable...

I don't think I know of any language/compiler/loader that could specifically flag, say, the 4K (or other size) memory page that compiled code will be loaded into as say, having a specific privilege level (the compiler would need specific additional keywords for that), and a map of such pages might have to be made by the compiler during compile time, and set by the OS loader at (or directly after) load time... but Rust's (or another language's) 'safe' and 'unsafe' keywords (or equivalents) could conceivably be made to do that, with the compiler outputting an appropriate map file, and OS loader that knows how to set memory page permissions based on that map file...

Anyway, Asterinas looks very interesting and novel!

Wishing the Asterinas team the best of luck in their endeavor!

peter_d_sherman··on HeidiSQL – Lightweight MariaDB, MySQL, SQL Server, PostgreSQL and SQLite Manager
Related: https://www.heidisql.com/
peter_d_sherman··on Companies Are Just a Graph of Algorithms
I personally like this article, its concepts, its charts and its graphs...

Observation: There probably is a market for documenting all of a business's processes and workflows (which business owner wouldn't want some really cool charts of all of their business processes?), and that should be able to done quickly and cheaply with Text-to-Image LLM's (NanoBanana, ?, ???). Well, if there's value on the one side, and the ability to deliver under cost and under budget on the other, then that's a value-to-cost asymmetry and subsequently a candidate for a scalable service business...

Related:

https://en.wikipedia.org/wiki/Business_process_re-engineerin...

peter_d_sherman··on Wi is Fi: Understanding Wi-Fi 4/5/6/6E/7/8 (802.11 n/AC/ax/be/bn)
I like this table in the page very much:

https://www.wiisfi.com/images/wifi-phy-table.jpg

Basically, it shows how a different encoding scheme/modulation is used based on distance (1024-QAM 5/6 - BPSK 1/2) (https://en.wikipedia.org/wiki/Signal_modulation), which is interesting!

If we think about it, any WiFi adapter (in its most basic core functionality) is just the ability to send/receive radio at a specific frequency, and a modulation (send) and corresponding demodulation (receive) scheme on top of that.

If the modulation/demodulation can be handled by a DSP, FPGA or fast-enough CPU, then all that's really required to create a WiFi device is that and the radio component, and then of course, there are devices like "Cantennas" that could give increased range, although loss of omnidirectionality is the trade-off there...

Anyway, I never thought about the fact that different encoding methods are used relative to distance prior to reading this article (i.e., I learned something!) -- but it makes perfect sense now that I think about it!

peter_d_sherman··on America's carpet capital: an empire and its toxic legacy
It would be tremendously interesting, I think, to learn all of the Chemistry involved in carpet manufacturing, both historical and current-day, both for carpets which are manufactured domestically and those manufactured abroad (different regulatory frameworks = probable different and/or subtly different chemical processes)...

Now, that sounds really boring and potentially a waste of time, right?

Well, yes, and no, and yes!

Well it's complicated!

I would speculate (being horrendously undereducated on the subject!) that there probably exist a set of chemical processes which could create Carpets without any harmful environmental waste or residual chemicals which subsequently require disposal.

What these would be or could be, I as-of-yet do not know...

It's a subject that needs research... a lot of research... lots and lots of research!

But, while it might sound like a really boring, uninteresting, "there's nothing to see here" kind of goal, keep in mind this quote from the article:

>"Mohawk logged more than $3.4 billion in net sales. Shaw Industries reported $4.2 billion."

Yup, the global carpet market is worth... (wait for it!)... "Billion$"!

So -- an interesting problem for present and future Scientists/Chemists! Crack it (in whole or in part!) and your solution or partial solution could be worth Billion$!

I mean, I'd put that up against a Clay Millennium Prize for solving a complex Math problem, I'd put that against a Nobel Prize or Fields Medal or Dirac Medal or Feynman Prize!

Yup, solve The Carpet Chemistry Problem(tm) (let's give it a name!) -- and your share of Billion$ (as Carl Sagan would say!) could be yours! :-)

(I now will humbly submit this post for the obligatory yes-I-know-they-are-coming downvotes! :-) )

peter_d_sherman··on uget – stupid get-file-over-HTTP program/function
The author bills this C source code as a "Really stupid get-file-over-http program/function".

I wholeheartedly disagree!

I claim, much to the contrary, that it is very, very intelligent!

See in terms of simplicity, in terms of understandability, in terms of the codebase, there are only 4 C source files here: https://github.com/troglobit/uget/tree/master/src .

Now, two of those are header (.h) files, because in C the programmer typically splits units of code into headers (aka declarations), and body (aka implementation), unlike say, Pascal, where headers and implementations typically share the same file.

That is, there are really just two pieces of functionality here.

One is the file getting (uget.h, uget.c), and the other is the SSL interface to OpenSSL (ssl.h, ssl.c):

#ifdef ENABLE_SSL

#include <openssl/x509v3.h>

#include <openssl/ssl.h>

#include <openssl/err.h>

[etc.]

Now those files (and the OpenSSL dependency) are only required only because the modern web predominantly uses the encrypted SSL protocol (i.e., https) -- compare to the earlier web which predominantly used unencrypted http, where all of that extra code is basically unnecessary (but of course, you lose encryption -- that's the trade-off).

As a commercial, production-ready tool, the author is quite right that you should probably use 'wget' or 'curl' instead, but as a teaching tool (or tool to be included on a minimal educational operating system), one where simplicity, understandability and minimal lines of code are virtuous, I believe that 'uget' is quite good, heck, I'd go as far as to say 'quite excellent' at achieving the smallest codebase and the greatest understandability for the purpose!

While other HN readers may disagree with me (and are free to do so!), I have to commend the author for a great minimal utility, and job well done!

Well done, uget author, well done!

(Related: https://suckless.org/ https://en.wikipedia.org/wiki/Suckless.org)

peter_d_sherman··on Granite 4.1: IBM's 8B Model Matching 32B MoE
>"Stage two was RLHF training on general chat prompts using a reward model to improve helpfulness. This worked. AlpacaEval scores jumped around 18.9 points on average compared to the fine-tuned checkpoints.

Then something broke. The RLHF stage, while improving chat quality, caused math benchmark scores to drop. GSM8K and DeepMind-Math both regressed."

Observation: Math (which when fully decomposed, results in Logic) is at the core of how computers (traditional/older, non-LLM, programming languages work. If an LLM gets Math training wrong at any stage for any reason, then, in my opinion, that should be viewed as something that needs to be fixed at a lower level, not a higher one; not a later training level...

I think it would be interesting exercise to train an LLM that only deals in simple Math, simple English, and only the ability to compute simple equations (+,-,x,/)... like, what's the absolute minimum in terms of text and layers necessary to train a model like that?

I think some interesting understandings could be potentially be had by experimentation like that...

I myself would love a pure (simplest, smallest possible)

Text-to-Math only LLM (TTMLLM, TTMSLM?)

, along with all of the necessary corpuses (which would ideally be as small as possible) and instructions necessary to train such an LLM...

peter_d_sherman··on Show HN: GhostBox – Borrow a disposable little machine from the Global Free Tier
An interesting set of ideas!

The broader concept seems to be "ephemeral environments", which is related to sandboxing, which is in turn is related to testing/debugging...

Related:

https://github.com/topics/ephemeral-environments

https://blog.invisiblethings.org/papers/2015/state_harmful.p...

peter_d_sherman··on Whohas – Command-line utility for cross-distro, cross-repository package search
Related:

List of linux package search databases:

https://github.com/sxiii/awesome-package-search

peter_d_sherman··on Vera: a programming language designed for machines to write
Related:

Nanolang: A tiny experimental language designed to be targeted by coding LLMs

https://news.ycombinator.com/item?id=46684958

https://github.com/jordanhubbard/nanolang

SudoLang: A Powerful Pseudocode Programming Language for LLMs:

https://medium.com/javascript-scene/sudolang-a-powerful-pseu...

Programming Without People: Designing a Language for LLMs:

(ALaS (AI Language Specification)):

https://dshills.medium.com/programming-without-people-design...

LMQL ("LMQL is a programming language for LLMs."):

https://lmql.ai/

Which language is best for AI code generation? The answer might surprise you:

https://revelry.co/insights/artificial-intelligence/which-la...

← PreviousPage 6 of 34Next →