HNHacker News
TopNewBestAskShowJobs

wjholden

294 karma · joined January 18, 2020

submissionscomments
wjholden··on Several vulnerabilities have been discovered in the Linux kernel
Is that all there is here? The quantifier "several" did not prepare me for the wall of CVE numbers in this list.
wjholden··on Microsoft killed FoxPro in 2007. Anyway, here's FoxPro revived
Yes, I am seeing exactly this at my own workplace. Two things have happened close together: low code and LLMs. I don't personally like using low code solutions (such as PowerBI and Power Automate), but for many knowledge workers this is all they have. Now you can just ask your favorite LLM how to do stuff and it can help you. It's not exactly vibe coding because these people really understand what they have and what they want, they just don't know the syntax to get there.
wjholden··on Abdominal fat predicts heart disease risk better than BMI
It's also possible to be overfat without being overweight! These "skinny fat" people often look normal enough but they carry very little muscle. It is a concerning condition because a doctor might not recommend a normal-weight person to hit the weights.

I like to think of this as four quadrants around two axes. Low fat/low muscle is simply skinny. High fat/high muscle is the "big guy/gal" look that I associate with laborers. Low fat/high muscle is an athletic look; unhealthy in extremes (bodybuilding) but generally desirable. High fat/low muscle is skinny fat, which I associate with sedentary knowledge workers.

wjholden··on An unusual way for your DHCP server to run out of dynamic IPs
I did a small research project years ago (like 16 years ago) where I tried to detect hosts in promiscuous mode. The entire effort wasn't super relevant even in 2010 because switched networks had already largely replaced old hubs but it was interesting stuff.

The most interesting thing I remember looking at was a tool called Neped. I can't find the source but it might be here: https://www.apostols.org/projects. As I recall, Neped would do things exactly like this article says — send an ping packet to the right IP address but wrong MAC address and see if it responds. I probably have the details wrong but that's the idea. It was some really clever stuff. I always wonder what old vulnerabilities like this we would rediscover if we put new computers on old networks (especially hubs).

wjholden··on Ants: Who looks after the injured in a colony?
I'm going to hazard a speculative answer with poor evidence: love.

The ants love one another, as shown by their child-rearing, grooming, playing, the "antennating" mentioned in the article, collective defense, and deliberate handling of their dead.

We don't understand their language, but I have a certain faith that ants experience a very similar kinship for their sisters as we. If they were strictly-rational robots then why would they show these behaviors?

wjholden··on Knoppix
Super nostalgic for me just to see the name. My computing teacher gave me a Knoppix LiveCD when I was about 18 and I immediately fell in love with Linux. Within weeks I was (repeatedly) attempting to install Gentoo on my first computer that I built. What a wonderful project!
wjholden··on Show HN: TikZ Editor – WYSIWYG editor for figures in LaTeX
A converter would be fantastic, too. I experimented with having a few LLMs try to translate TikZ to Cetz and none of them were great.

The best thing I have found so far is tylax (https://github.com/scipenai/tylax), which I think is a parser with rules, not a statistical model.

wjholden··on Show HN: TikZ Editor – WYSIWYG editor for figures in LaTeX
Oh man, good on you identifying a product that needs to exist. I've used a few TikZ editors (both online and desktop) and none of them are just amazing.

But, I've taken my papers to Typst. Could you have the agent do the same thing for Cetz, the TikZ equivalent for Typst?

wjholden··on A New Typst Template for Pandoc (2025)
Not OP, but I can comment on my anecdotal experience switching.

Typst is great. I had been using Markdown with Pandoc to write a book. I frequently needed to use raw LaTeX commands, and it was mostly OK but I had a few frustrations with my setup. The biggest was time — my Makefile process was taking several (like 10+) seconds to render everything and that was really tedious when I was trying to get TikZ drawings perfect. My other frustrations were floating figures never appearing where I wanted (common complaint, I think) and weird font issues with certain math symbols in code. (I settled on JuliaMono, which was OK but the experience wasn't a happy memory.)

Maybe six months ago I decided to try Typst. I went through the tutorials and made something basic the same day. Got comfortable and eventually pasted my entire book into Typst and started the tedious process of finding and replacing until it compiled. I still occasionally find a \times or something that I missed.

Unlearning backslashes was the hardest thing for me.

The next hardest thing was switching from TikZ to Cetz. Cetz is pretty good, but just like TikZ it takes an investment to learn. I tried to have AI translate my figures and it was not very successful. Someone wrote a webapp that can translate Typst to LaTeX and the reverse. It is a good way to get started on changing figures, but you'll have to clean up its output by hand a lot.

Though I used LUA LaTeX, I never did find any uses for its scripting. With Typst, I use it all the time. Functions are really easy to write. I recently wrote a REPL formatter to show inputs and outputs in code. I'm happy with it and ought to publish it. My only complaint is that all functions are pure functions; there is not a way (that I know of) to share state from one function invocation to the next.

The templates on the Typst universe are pretty OK, but we need more. I will have to change some of the formatting decisions in the book template I'm using.

One thing I've encountered that I could do in LaTeX that I can't (easily) do in Typst is labels on a NiceMatrix. Otherwise, I've felt like I could do everything in Typst that I needed from LaTeX.

wjholden··on Slumber a TUI HTTP Client
Moreover, I'll appeal to authority and point out that Ratatui's motto is "Cook up delicious terminal user interfaces" (https://ratatui.rs).
wjholden··on How do I inform Windows that I'm writing a binary file?
Not OP, but thank you for your sharing this. If you don't mind a follow-on question, I always hear people talk about the "runtime" in languages like Go and libraries like Tokio. What is that these runtimes are doing that you cannot get from the likes of libc and these Windows DLLs?
wjholden··on PEP 661: Sentinel values, has been accepted 5 years later
I think Python might be the first language to adopt a named sentinel value type. Has anyone seen a design like this in any other programming language?
wjholden··on IPv6 is the only way forward
The header of an IPv4 packet has the source and destination addresses, both as 32-bit values. These fields are adjacent, and there's other stuff next to them. If you appended more bytes to the source address, routers would think that those new bytes are the destination address. This would not be backward compatible.

Interestingly, what you're describing really is similar to how many languages represent an IPv4 address internally. Go embeds IPv4 addresses inside of IPv6 structs as ::ffff:{IPv4 address}: https://cs.opensource.google/go/go/+/go1.26.2:src/net/ip.go;...

wjholden··on Oregon school cell phone ban: 'Engaged students, joyful teachers'
For what it's worth — my last workplace did not allow cell phones in the building and I learned to love it. When people attended meetings, we all made eye contact and talked about the task at hand. Nobody ever got distracted by notifications or tuned out with boredom. And since we all had traditional telephones at our desks, someone would come get you if your family was calling with for an urgent crisis. I miss it.

My kids' school banned phones during the school day. The principal promised that the office would relay any messages if parents call, and they do. I would be interested to see if there are already statistics showing academic success. That is, are grades and test scores affected by phone bans? The article talks about graduation rates, but doesn't directly address grades and scores.

wjholden··on Two kinds of AI users are emerging
That is an insightful response, I may quote you on this.
wjholden··on Two kinds of AI users are emerging
I remember a colleague jumping through hoops trying to get Python installed on an enterprise computer. We never did get to a yes and resorted to using PowerShell instead. The policy constraints at enterprises that this author describes are very real and very harmful.

Perhaps the wildest thing to me is how you'll have senior leaders in a company talking about innovation, but their middle managers actively undermine change out of fear of liability. So many enterprise IT employees are really just trying to avoid punishment that their organization cannot try new things without substantial top-down efforts to accept risk.

wjholden··on Mousefood – Build embedded terminal UIs for microcontrollers
Cool! I just recently began learning the Raspberry Pi Pico. Could anyone recommend a specific display that I could use with the Pico 2/2W and Mousefood?
wjholden··on [dead]
This 1951 film shows a chemist who invents a fabric that threatens to upend all aspects of the textile economy.
wjholden··on Dead Internet Theory
Similarly: "The indication for machine-generated text isn't symbolic. It's structural." I always liked this writing device, but I've seen people label it artificial.
wjholden··on How I learned everything I know about programming
YouTube is actually one of my very first places to go for new concepts. For example, one of the recent Advent of Code puzzles was solvable with "coordinate compression," a technique I had never heard of before. I didn't find much, and what I did find wasn't an especially high-quality presentation, but it did teach me a magical new concept that helped me to finish the puzzle.

I have also benefited so much from MIT OCW lectures. The quality of their teaching is so high that it showed me that when my children go to college, it will be worth it to send them to a much more expensive elite school.

wjholden··on Ask HN: How can we solve the loneliness epidemic?
Sports. CrossFit and similar social sports have been healthy for me and for many others, and I think the community is at least equal to the exercise in improving people's lives.

Not saying this is the only way, but it made a big difference for me and my friends. I realize the physical challenges are artificial, but so is an Advent of Code puzzle when you already have a day job. Hard things are worth doing because they're hard, and they're even better when done together with those you love.

wjholden··on Integer programming easily encloses horse
Love it, I always enjoy good examples of hard problems solvable with a constraint solver.
wjholden··on Linear algebra explains why some words are effectively untranslatable
It also has mixed square brackets and curved parentheses. I stopped reading the article when I saw this.
wjholden··on FFmpeg to Google: Fund us or stop sending bugs
This is not the first article I've seen where developers say they're getting overwhelmed by AI-generated bug reports. Maybe this is a new way people can volunteer to help open source.

If anyone is struggling to triage bug reports in a Rust open source project, please contact me and I will see if this is something I can donate some recurring time to.

wjholden··on Open-source communications by bouncing signals off the Moon
Hadn't thought of it from this perspective. An untraceable signal coming from the moon would also be useful for military communications. Electronic warfare and signals intelligence have been powerful tools for both sides in the Ukraine-Russia war.
wjholden··on Go Primitive in Java, or Go in a Box
Year ago I wrote a very simple SAT solver in Java. I initially used List but later primitive arrays to represent my formulas and clauses. The change made a modest and measurable difference, but I agree with the author's suggestion that if you don't already care about the difference in boxed and primitive performance then you're likely fine using the standard Java collections.
wjholden··on Uv is the best thing to happen to the Python ecosystem in a decade
I think Julia largely accomplishes these goals except for the platform integration.
wjholden··on Streaming services are driving viewers back to piracy
I had never thought of this before. What is the solution? Can any video software show two subtitles at once?
wjholden··on I watched Gemini CLI hallucinate and delete my files
That's insightful. So where Rust might help you to program safely (write code free from certain classes of bugs), cargo has much/all the same supply-chain risks we would see in development ecosystems like pip and npm. And your point about operating in the shell is also well-taken.

So yeah, I must narrow my Rust shilling to just the programming piece. I concede that it doesn't protect in other operations of development.

wjholden··on I watched Gemini CLI hallucinate and delete my files
I've thought about this, although perhaps not framed the same way, and one of my suggestions is to vibe code in Rust. I don't know how well these models handle Rust's peculariarities, but I believe that one should take all the safety they can get in case the AI assistant makes a mistake.
Page 1 of 4Next →