HNHacker News
TopNewBestAskShowJobs

sgbeal

2,392 karma · joined August 19, 2013

https://wanderinghorse.net
submissionscomments
sgbeal··on Git 3.0's upcoming SHA-256 default will be a costly mistake
> As an expansion on that, as far as I know there's only one implementation of Fossil.

That's is, since only recently, no longer strictly true: the age-old libfossil recently got client sync support, so is now (aside from _serving_ repos) essentially a standalone impl (its own developer still uses fossil(1) stash, patch, and diff -tk features, but otherwise uses libfossil's counterparts).

Also, Dan Mestas has <https://github.com/danmestas/go-libfossil>, a Go library for working and fossil, and he is also working on <https://zeitforge.app/>, a clean-room impl. of fossil (whereas libfossil is largely ported directly from fossil(1)) which even goes so far as to _not_ use an sqlite database for its file storage.

Dan Mestas and Dan Shearer are working on finalizing RFCs for fossil's sync protocol and artifact format, and zeitforge is created by carefully managing LLMs which are reading that draft (but not the source code of libfossil or fossil).

sgbeal··on From Git to Fossil (2025)
> What happens if you make a mistake while committing - maybe forget the file, or commit wrong one?

Then you have proven that you are human.

> Fossil has no way to fix it, by design,

As an 18-year-long contributor to fossil i can assure you that this is absolutely not true. Fossil can amend any checkin and it can move checkins to other branches. Go to sqlite.org/src/timeline?r=mistake to see many examples of where human failing has been both demonstrated and accounted for without breaking anything.

sgbeal··on From Git to Fossil (2025)
> IMHO the best and most relevant part of fossil these days is the ticket system, which is in every single way almost completely ideal for coding agents.

Funnily enough, that's collectively fossil's developers' least-favorite part. We make no secret about not liking the ticket system, and we only use it when we need to record a certain ticket for posterity's sake. Aside from that, we use the forum for all ticket-like traffic.

> Since the whole tracker is just a thin front on sqlite ...

Except that it's not: <https://fossil-scm.org/home/doc/trunk/www/fossil-is-not-rela...>

sgbeal··on I'm going back to coding by hand
> Not using an IDE in 2026?

Emacs. Uninterrupted since the 1990s.

sgbeal··on I'm going back to coding by hand
> Always use the “refactor” tool in your IDE instead of trying to change every instance of a variable name by hand.

That _is_ the refactoring tool in my IDE (emacs). i demonstrated replacing _all_of them at once, not replacing them each by hand.

> ... because it’s the right thing to do and doing it without the tool confers no benefit and is prone to error.

There was nothing in my post done "without the tool." Shell/find/perl _is_ the tool for C refactoring, and has been for decades.

sgbeal··on I'm going back to coding by hand
> Any half decent IDE will change them automatically for you, no need to chase them down

It's long been my experience that that only works with high-level languages (specifically, those with bytecode), not C (especially once symbols are generated from macros). (OTOH, i've not touched an IDE in well more than 10 years.)

Also, it's long been my experience that any half-decent IDE is still a pale shadow of Emacs.

sgbeal··on Ask HN: Anyone still coding like 2021? Where do you work?
> It hasn't been 10+ years

:-?

My "10+ years" was not referring to any specific milestone. It was referring to the general flow of time. It's been 10 years since 2016, twenty since 2006, and more than 40 since writing my first program. Lots has changed every 10 years in that period, both in my skills and the environments i program in, but shell/emacs/makefile remains a staple of that process.

sgbeal··on Ask HN: 3.5 inch diskette read errors, would a period correct drive do better?
> In my experience CDs and DVDs I burned myself have a lifespan even shorter than floppies. Most of the CDs I burned in the late 90s/early 2000s are already unreadable.

Similar here: CDs and DVDs burned from 2000-2006 or so were, without exception, illegible by 2015. It's sickening.

sgbeal··on Ask HN: Anyone still coding like 2021? Where do you work?
> These days I feel I am the only one that hasn’t changed their way of writing software at all.

If you mean using a text editor, a shell, and a makefile, then you're not alone by any stretch of the imagination.

If you mean your skills stagnated 10+ years ago and have not advanced since then, then... yeah, you might be the only one ;).

sgbeal··on I'm going back to coding by hand
> I changed some variable names and I had to chase down all the places they were referenced,

   $ find . -name '*.c' -exec perl -i -pe 's/\btheOldName\b/theNewName/g' \{} \;
sgbeal··on Ask HN: 3.5 inch diskette read errors, would a period correct drive do better?
> My first attempt at restoring 1991 Learning Company Spellbound for DOS for my children is dubious. Despite being stored nowhere near magnetic sources, there are read errors on the 3.5 inch floppies and Linux could not mount them.

FWIW, it's long been my experience that floppies (like CDs and DVDs) have a half-life and they degrade quickly upon reaching it. You'd have been lucky to be able to recover those in 2001. Now? If at all, only high-end forensic tools could recover them.

sgbeal··on How to compromise your system with a job interview
> only interact with people using an official email address.

And then google whether the domain is associated with phishing attempts. i've been targeted several times recently by folks with "official" email addresses but whose domains are (per google) strongly associated with phishing.

sgbeal··on Pedestrian Killed by Frontier Airlines Plane Leaving Denver Airport
"Pedestrian" generally implies some random person out walking around, but:

> "Late last night, a trespasser breached airport security at Denver Int’l Airport, deliberately scaled a perimeter fence, and ran out onto a runway," Transportation Secretary Sean Duffy said in a statement

sgbeal··on A web page that shows you everything the browser told it without asking
> How does it affect your mental health?

That it should in some way affect my mental health has never once occurred to me. If anything, i assume that living on one's body's own natural schedule would be optimal in terms of related effects on mental health.

> How do you deal with times day and night are flipped?

When there's not something pressing me into a schedule, e.g. a job, i kind of "circle around" to a conventional schedule every few weeks. All things considered, i prefer the "swapped" times because it's quieter at night. e.g. less traffic driving by, fewer neighbors making various noises, and no DHL/UPS/DPD deliveries for the neighbors being dropped off here because the neighbors aren't home (whereas i am almost always at home and both the neighbors and the local delivery folks know it).

i'm a retiree so, with the exception of shopping and rare appointments, the night/day or weekend/weekend[^1] are not generally distinctions which affect me, and it's never bothered me in the slightest to not have a fixed schedule. On the contrary, a fixed schedule somewhat bums me out long-term, presumably because it does not match my biological clock.

> How does it affect your social life?

My social life is (by preference and choice) comprised solely of (A) my FOSS work, and there's no clock associated with any of that, and (B) my wife. Both my and my wife's biological families are all on another continent, so we've no family obligations which require physical presence. When i'm not FOSS'ing, we play a lot of board games.

[^1]: stores are closed on Sundays and all public holidays in Germany. More than once i've gone to the store, only to discover it's closed due to a holiday i've overlooked (like, most recently, May 1st).

sgbeal··on A web page that shows you everything the browser told it without asking
> Surely you can infer when you work and sleep from your experience living your life as you.

Not everybody has a schedule. Mine is essentially "eat when hungry, sleep when tired", and my sleep patterns more closely follow a 26-hour day than a 24-hour day.

sgbeal··on Learning to Code, 1990s vs. 2026
Two days ago: <https://news.ycombinator.com/item?id=48024401>
sgbeal··on Ask HN: What is your go-to solution for a personal wiki in 2026?
The Fossil SCM (<https://fossil-scm.org>) meets most of your requirements, noting that:

- "mobile app" means "its web interface"

- "backed up" means to wherever you upload/sync your backups to

- No automagic table calculation support.

sgbeal··on SQLite Is a Library of Congress Recommended Storage Format
> Compare that to SQLite's 1.2mb of wasm and glue code

The current trunk is actually 1.7mb in its canonical unminified form (which includes very nearly as much docs as JS code), split almost evenly between the WASM and JS pieces :/. Edit: it is 1.2mb in minified form, though.

Disclosure: i'm its maintainer.

Edit: current trunk, for the sake of trivia:

    sqlite3.wasm 896745
    sqlite3.mjs  816270 # unminified w/ docs
    sqlite3.mjs  431388 # unminified w/o docs
    sqlite3.mjs  310975 # minified
sgbeal··on PHP's Biggest Problem
FWIW, i'll disagree. i was a _huge_ PHP fan from around 1999 until 2010, but two things finally killed it for me:

1) It's apparently impossible to cleanly structure large projects with PHP. i've been a part of many such projects across a large handful of teams, and every one of them eventually became a complete mess, structurally speaking, no matter how conscientious the developers were. Java, for example, forces a directory structure onto developers. PHP is more C-like in that regard - "do whatever you want" - and i've yet to see that end well for older/larger projects.

2) Breaking age-old working features with new releases, like when they removed split or join or implode or explode (two of the four, but i don't recall which). When they did that, and my decade-old website suddenly stopped working, i lost all motivation to continue maintaining sites in PHP. Dropped it that very day (for my personal sites) and have not looked back. i still had to use it in commercial projects off and on through 2014, and each one only help cement point #1 for me.

i don't miss it.

sgbeal··on How long does it take you to get back into a project after a few days away?
> Nothing told me why I was changing it

That arguably belongs in the commit messages or, in some cases, in code comments.

> or what I was planning next.

That arguably belongs in ./TODO or, in some cases, code comments.

Edit: TODOs in code comments obviously don't have a natural ordering, but i frequently look at diffs to help figure that part out, as they clearly mark the new/recent TODOs.

> Is there anything that actually works, or do you just accept the tax?

There will always be a tax for context switching - even brief interruptions during concentrated work often require longer than the interruption to get back into the work (that's a well-studied phenomenon, actually). There is no avoiding that unless, perhaps, one has eidetic memory (in which case the cost is _presumably_ low enough to be considered negligible (but perhaps someone with eidetic memory can enlighten us on that)).

> How long does it realistically take you to resume a project after 3+ days?

That depends entirely on the project and its complexity/scope. It might be 5 minutes, it might be half a day. i'll admit that i sometimes (okay, okay: often!) avoid going back to something i'd _like_ to work on because i know in advance that this tax is likely to be paid by an inordinately large portion of my current energy levels, leaving little for the actual work. Frequently, though, when _finally_ getting back, i discover that the tax is less than anticipated. Maybe that's an age/experience thing, though - refamiliarizing myself with older code seems to come more easily to me with age, for reasons beyond my ken.

sgbeal··on Google Chrome silently installs a 4 GB AI model on your device without consent
> Might be a good addition for https://superuser.com/questions/1937372/

Done! Edit: nevermind - i've deleted it. The community guidelines request/require that responses actually attempt to answer the question (how to block all AI usage), which this response does not address.

sgbeal··on Google Chrome silently installs a 4 GB AI model on your device without consent
The following seems to keep Chrome from re-downloading this beast:

    # From one's $HOME dir:
    rm -fr ./.config/google-chrome/OptGuideOnDeviceModel
    mkdir -p ./.config/google-chrome/OptGuideOnDeviceModel
    touch ./.config/google-chrome/OptGuideOnDeviceModel/weights.bin
    chmod 0400 ./.config/google-chrome/OptGuideOnDeviceModel/weights.bin
    chmod 0500 ./.config/google-chrome/OptGuideOnDeviceModel
Adapt as appropriate for your OS. For "Chrome Unstable" installs, the dir name is google-chrome-unstable.

This has, so far, kept Chrome from (re)installing that file on my system.

Hypothetically the parts involving weights.bin aren't needed so long as the containing directory is not writable.

sgbeal··on DNSSEC disruption affecting .de domains – Resolved
> will result in the police kicking in your door the next morning

But not before 8am.

sgbeal··on Google Chrome silently installs a 4 GB AI model on your device without consent
> You only download it when some JS requests it for the first time, most people will never have it.

i certainly never activated it willfully. i use Chrome only as a fallback testing platform for web dev - a handful of times per month - yet both Chrome Stable and Chrome Unstable had installed this 4GB monstrosity in my home dir. 8GB of junk i'd never used. Both have since been uninstalled and replaced with Chromium.

sgbeal··on From CVS to Git, thirty years of source control
> ... there's a clear prompt in the bottom right corner.

Indeed, it does.

> (Didn't try mobile.)

And my eyes didn't make it that far down the screen. If i can't read the first paragraph, there's no point in scanning further down the page (and certainly not to look for something as esoteric as an option to disable what should not be there in the first place). Grumble, grumble.

sgbeal··on From CVS to Git, thirty years of source control
Web design tip: don't have animations within a short distance of text, as human eyes evolved to follow the flashiest/fastest-moving thing around, which makes such text literally illegible to many of us. This particular site takes the cake in that regard by animating the whole page background.
sgbeal··on Show HN: ReflowPDF – wrote a layout engine because every PDF library failed
> iText — commercial with aggressive licensing

It seems somewhat ironic to call that out as a negative when your own tool is both commercial and (insofar as i can tell) closed source.

sgbeal··on Lib0xc: A set of C standard library-adjacent APIs for safer systems programming
> I have no idea why this idea is around,

To the best of my fallible knowledge, the notion was first popularized via <http://esr.ibiblio.org/?p=8764>.

sgbeal··on Lib0xc: A set of C standard library-adjacent APIs for safer systems programming
> I'm not sure MSVC could compile the GNU extensions used.

The supported platforms only list Linux and Mac. Notably missing from that list is any of the BSDs (not counting what may or may not remain of BSD under the Mac hood).

sgbeal··on SystemD is of out of control. The Best Minimal, Modern, Linux alternative
> When people talk about minimal Linux, they often think of the old days when systems used only 300 MB of RAM.

Wait, what??? No - we think of systems with 4-8MB of RAM and hard drives were <= 120MB (MB, not GB).

Page 1 of 24Next →