<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: sgbeal</title><link>https://news.ycombinator.com/user?id=sgbeal</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 29 Oct 2026 21:30:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sgbeal" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sgbeal in "Git 3.0's upcoming SHA-256 default will be a costly mistake"]]></title><description><![CDATA[
<p>> As an expansion on that, as far as I know there's only one implementation of Fossil.<p>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).<p>Also, Dan Mestas has <<a href="https://github.com/danmestas/go-libfossil" rel="nofollow">https://github.com/danmestas/go-libfossil</a>>, a Go library for working and fossil, and he is also working on <<a href="https://zeitforge.app/" rel="nofollow">https://zeitforge.app/</a>>, 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.<p>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).</p>
]]></description><pubDate>Fri, 02 Oct 2026 09:42:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=49931636</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49931636</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49931636</guid></item><item><title><![CDATA[New comment by sgbeal in "From Git to Fossil (2025)"]]></title><description><![CDATA[
<p>> What happens if you make a mistake while committing - maybe forget the file, or commit wrong one?<p>Then you have proven that you are human.<p>> Fossil has no way to fix it, by design,<p>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.</p>
]]></description><pubDate>Sun, 13 Sep 2026 07:35:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49681068</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49681068</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49681068</guid></item><item><title><![CDATA[New comment by sgbeal in "From Git to Fossil (2025)"]]></title><description><![CDATA[
<p>> 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.<p>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.<p>> Since the whole tracker is just a thin front on sqlite ...<p>Except that it's not: <<a href="https://fossil-scm.org/home/doc/trunk/www/fossil-is-not-relational.md" rel="nofollow">https://fossil-scm.org/home/doc/trunk/www/fossil-is-not-rela...</a>></p>
]]></description><pubDate>Sun, 13 Sep 2026 07:30:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49681046</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49681046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49681046</guid></item><item><title><![CDATA[New comment by sgbeal in "I'm going back to coding by hand"]]></title><description><![CDATA[
<p>> Not using an IDE in 2026?<p>Emacs. Uninterrupted since the 1990s.</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:32:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=49627290</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49627290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49627290</guid></item><item><title><![CDATA[New comment by sgbeal in "I'm going back to coding by hand"]]></title><description><![CDATA[
<p>> Always use the “refactor” tool in your IDE instead of trying to change every instance of a variable name by hand.<p>That _is_ the refactoring tool in my IDE (emacs). i demonstrated replacing _all_of them at once, not replacing them each by hand.<p>> ... because it’s the right thing to do and doing it without the tool confers no benefit and is prone to error.<p>There was nothing in my post done "without the tool." Shell/find/perl _is_ the tool for C refactoring, and has been for decades.</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:31:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49627270</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49627270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49627270</guid></item><item><title><![CDATA[New comment by sgbeal in "I'm going back to coding by hand"]]></title><description><![CDATA[
<p>> Any half decent IDE will change them automatically for you, no need to chase them down<p>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.)<p>Also, it's long been my experience that any half-decent IDE is still a pale shadow of Emacs.</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:27:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=49627209</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49627209</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49627209</guid></item><item><title><![CDATA[New comment by sgbeal in "Ask HN: Anyone still coding like 2021? Where do you work?"]]></title><description><![CDATA[
<p>>  It hasn't been 10+ years<p>:-?<p>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.</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:24:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49627161</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49627161</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49627161</guid></item><item><title><![CDATA[New comment by sgbeal in "Ask HN: 3.5 inch diskette read errors, would a period correct drive do better?"]]></title><description><![CDATA[
<p>> 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.<p>Similar here: CDs and DVDs burned from 2000-2006 or so were, without exception, illegible by 2015. It's sickening.</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:06:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49626842</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49626842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49626842</guid></item><item><title><![CDATA[New comment by sgbeal in "Ask HN: Anyone still coding like 2021? Where do you work?"]]></title><description><![CDATA[
<p>> These days I feel I am the only one that hasn’t changed their way of writing software at all.<p>If you mean using a text editor, a shell, and a makefile, then you're not alone by any stretch of the imagination.<p>If you mean your skills stagnated 10+ years ago and have not advanced since then, then... yeah, you might be the only one ;).</p>
]]></description><pubDate>Wed, 09 Sep 2026 13:55:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=49626638</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49626638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49626638</guid></item><item><title><![CDATA[New comment by sgbeal in "I'm going back to coding by hand"]]></title><description><![CDATA[
<p>> I changed some variable names and I had to chase down all the places they were referenced,<p><pre><code>   $ find . -name '*.c' -exec perl -i -pe 's/\btheOldName\b/theNewName/g' \{} \;</code></pre></p>
]]></description><pubDate>Wed, 09 Sep 2026 09:45:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=49623797</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49623797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49623797</guid></item><item><title><![CDATA[New comment by sgbeal in "Ask HN: 3.5 inch diskette read errors, would a period correct drive do better?"]]></title><description><![CDATA[
<p>> 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.<p>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.</p>
]]></description><pubDate>Wed, 09 Sep 2026 09:40:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=49623760</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49623760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49623760</guid></item><item><title><![CDATA[New comment by sgbeal in "How to compromise your system with a job interview"]]></title><description><![CDATA[
<p>> only interact with people using an official email address.<p>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.</p>
]]></description><pubDate>Thu, 20 Aug 2026 19:39:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49379158</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49379158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49379158</guid></item><item><title><![CDATA[Show HN: Word-finder/anagram solver web app for mobile browsers]]></title><description><![CDATA[
<p>This word-finder/anagram solver web app is a side-effect of my recent work on a web app for playing the Paperback word-spelling tabletop game[^1]. After proving its worth embedded in that client, the dictionary was refactored into something almost standalone and now lives at this URL.<p>Its UI is intended specifically for mobile devices, especially phones - it looks pretty wonky on a full-sized desktop window (and that's okay because that's not where it's intended to be used).<p>This app was specifically written for use with Paperback but it should be usable with just about any English-language word-spelling/solving game. It supports wildcards and Paperback's multi-letter-cards.<p>It's fast. Had i not seen with my own eyes that it can scan 150k English words in about 2ms in JS, i'd have been hesitant to believe it. Speaking of...<p>This app was hand-written. The underlying dictionary structures and algorithms (in both C and JS) were heavily LLM-assisted but have overwhelmingly more human-written code than LLM code. The underlying algorithms, well-documented anagram-solving solutions, were unknown to me until an LLM suggested them for this purpose. The LLM sketched them out and the human filled them in. A separate LLM context created the "typewriter button" CSS styling upon request. What remains was hand-coded in emacs.<p>The dictionary supports German[^2], but my current German dictionary is just so huge (685k words, 38MB) that i cannot in good conscience host it on my web server or feed it to a JS engine. Once i've got a better-curated list there will be an option to load it in German. (My German copy of Paperback arrived a few days ago, providing the motivation for that support.)<p>Happy Spelling!<p>[^1]: <<a href="https://wanderinghorse.net/gaming/paperback/" rel="nofollow">https://wanderinghorse.net/gaming/paperback/</a>><p>[^2]: In principle it supports any language which can fit into ISO-8859-1/Latin-1 encoding and which requires only 6 or fewer letters beyond A..Z, but i've no motivation to add any beyond English and German. The 26+6 limit comes from what makes this dictionary performant: it builds masks of which letters a word contains in order to very quickly rule out definite negatives, and we've only got 32 bits in that mask.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49272369">https://news.ycombinator.com/item?id=49272369</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 12 Aug 2026 13:46:48 +0000</pubDate><link>https://wanderinghorse.net/gaming/paperback/words.html</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49272369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49272369</guid></item><item><title><![CDATA[Show HN: JavaScript/JSON and CSS minifier lib in minimal C89]]></title><description><![CDATA[
<p>For those 1.7 of you who may have need of a JavaScript or JSON minifier which (A) is not based on node.js and (B) is not "poisoned" by the "do no evil" license attached to Douglas Crockford's minifier[^1] (commonly seen in various projects over the years)...<p>My C89 CSS minifier was recently broken down into a separate JavaScript/JSON minifier. It's trivial to embed in C, "should" build fine in WASM (that's untested, though), and is pretty small: the whole combined library is about 67kb, or about 34kb for just the JS parts (much of which is docs).<p>It minifies only spaces, not symbols, and does not offer any options for _not_ minifying (e.g. adding newlines every so often for the sake of tools which treat extremely-long-lined files as binaries) except that by default it retains the first comment in the input if it's the first non-whitespace content (those are typically license/attribution blocks) but it can be told to optionally strip those too.<p>LLM disclaimer: the 100% hand-written CSS minifier was given to an LLM which, tasked with creating a JS minifier with the same interface, created the new variant in about 20 seconds. That code was later hand-refactored to consolidate parts common to the two minifiers (all of which were hand-written) but the JS-specific pieces are otherwise 100% LLM-generated.<p>Happy minifying!<p>[^1]: To clarify: at least a few projects' source code has been rejected by Linux package maintainers because the "do no evil" clause is considered antithetical to those distributions' ideals of freedom. Fair enough.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49067477">https://news.ycombinator.com/item?id=49067477</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 27 Jul 2026 10:22:01 +0000</pubDate><link>https://fossil.wanderinghorse.net/r/cssminc/doc/ckout/README.md</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=49067477</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49067477</guid></item><item><title><![CDATA[Show HN: Rules-free solo-only client for the Paperback tabletop game]]></title><description><![CDATA[
<p>My past couple of weeks were spent writing an app with which to play the word-spelling tabletop game Paperback in the browser.<p>Tim Fowers, creator and publisher of the game, has given me permission to post my homemade electronic copy of the game (initially built so that i could print-and-play a copy with "US-Mini" size cards), and recently sent me (much to my surprise) the publisher's official graphical assets and an invitation to use them in this little side-project(!!!).<p>The version housed at that link has a known bug or two (there's one too many 7-cent W's, for one thing) but it's otherwise believed to be usable for its intended purpose: allowing an experienced Paperback player to sit and play solo mode without the app interfering rules- or dictionary-wise. (My only real fuss about their official app is the locked dictionary. It does not allow the word "pawn", nor a wide range of other perfectly viable words. Secondarily, i'd like to be able to customize the game more and remove all of those annoying "Q" cards (who buys "Q" cards?!?!?).)<p>Currently resetting the game requires reloading the page, which generates a ready-to-run game setup. See the top of that page for URL arguments which change various options (if you want huge "US Standard"-sized cards on a 32-inch 4k screen, pass the "big" URL option). UI widgets for doing that are on the near-term TODO list. It does not currently support saving/loading, but that's underway (and very closely tied to the game state reset).<p>It's in active development and i'm particularly interested in squeezing the UI down to fit more comfortably on a 10-inch table (where it's usable but a tiny bit fidgety due to scrolling). It's way, way too big for phones, though.<p>This is part of a larger project consolidating 6 or 8 years' worth of disparate card-generation tools for tabletop games, and this app is the first "end user" app (as opposed to maintainer apps) written for that toolkit. It may well be the only app i've written, in 30-odd years, which is not entirely dog-ugly.<p>Happy Spelling!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48878745">https://news.ycombinator.com/item?id=48878745</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 12 Jul 2026 06:04:21 +0000</pubDate><link>https://wanderinghorse.net/gaming/paperback/solo.html</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=48878745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48878745</guid></item><item><title><![CDATA[New comment by sgbeal in "Pedestrian Killed by Frontier Airlines Plane Leaving Denver Airport"]]></title><description><![CDATA[
<p>"Pedestrian" generally implies some random person out walking around, but:<p>> "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</p>
]]></description><pubDate>Sat, 09 May 2026 16:44:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48076290</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=48076290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48076290</guid></item><item><title><![CDATA[New comment by sgbeal in "A web page that shows you everything the browser told it without asking"]]></title><description><![CDATA[
<p>> How does it affect your mental health?<p>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.<p>> How do you deal with times day and night are flipped?<p>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).<p>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.<p>> How does it affect your social life?<p>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.<p>[^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).</p>
]]></description><pubDate>Sat, 09 May 2026 06:32:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48072403</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=48072403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48072403</guid></item><item><title><![CDATA[New comment by sgbeal in "A web page that shows you everything the browser told it without asking"]]></title><description><![CDATA[
<p>> Surely you can infer when you work and sleep from your experience living your life as you.<p>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.</p>
]]></description><pubDate>Fri, 08 May 2026 19:22:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48067543</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=48067543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48067543</guid></item><item><title><![CDATA[New comment by sgbeal in "Learning to Code, 1990s vs. 2026"]]></title><description><![CDATA[
<p>Two days ago: <<a href="https://news.ycombinator.com/item?id=48024401">https://news.ycombinator.com/item?id=48024401</a>></p>
]]></description><pubDate>Fri, 08 May 2026 11:49:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48061783</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=48061783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48061783</guid></item><item><title><![CDATA[New comment by sgbeal in "Ask HN: What is your go-to solution for a personal wiki in 2026?"]]></title><description><![CDATA[
<p>The Fossil SCM (<<a href="https://fossil-scm.org" rel="nofollow">https://fossil-scm.org</a>>) meets most of your requirements, noting that:<p>- "mobile app" means "its web interface"<p>- "backed up" means to wherever you upload/sync your backups to<p>- No automagic table calculation support.</p>
]]></description><pubDate>Thu, 07 May 2026 19:01:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48053393</link><dc:creator>sgbeal</dc:creator><comments>https://news.ycombinator.com/item?id=48053393</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48053393</guid></item></channel></rss>