HNHacker News
TopNewBestAskShowJobs

thangalin

2,920 karma · joined October 1, 2009

Seeking alpha readers for a near-future hard sci-fi story that combines elements of generally intelligent machines, hunger, agrotech, surveillance, militarized police, virtual reality, hacking, climate change, and anti-establishment.

username @ gmail

submissionscomments
thangalin··on Show HN: Free, in-browser PDF editor
Related: My FOSS tool allows uploading PDF files to a private server for annotating within a browser. Annotations are saved server-side in JSON format, which can be viewed and modified by anyone with the URL.

https://repo.autonoma.ca/repo/notanexus/blob/HEAD/README.md

The software uses PHP and PDF.js for displaying and annotating. Screenshot:

https://i.ibb.co/gL39qGdc/notanexus.png

thangalin··on Epoch confirms GPT5.4 Pro solved a frontier math open problem
Claude has neither a soul nor a warbleflupper.
thangalin··on AI coding is gambling
How is it not?

You can trace the back commits to the first to show that it was started from scratch:

https://repo.autonoma.ca/repo/treetrek/commits/c7742cb3c580d...

thangalin··on AI coding is gambling
> LLMs are not actually doing a great job of translating ideas into tangibly useful software

Here is the source code for a greenfield, zero-dependency, 100% pure PHP raw Git repository viewer made for self-hosted or shared environments that is 99.9% vibe-coded and has had ~10k hits and ~7k viewers of late, with 0 errors reported in the logs over the last 24 hours:

https://repo.autonoma.ca/repo/treetrek

thangalin··on Kona EV Hacking
On Tue, Oct 3, 2023, 1:18 PM, I wrote:

How many apps must people put on their phones, or payment cards people must carry, to pay to charge their vehicles with the convenience of a petrol station?

* https://parking.ubc.ca/are-there-electric-vehicle-ev-chargin...

"Charging fees can be paid through the Honk Mobile App or using a web browser with internet access."

* https://electricvehicles.bchydro.com/bc-hydro-ev-mobile-app

"You can use the BC Hydro EV app to activate stations on other networks across North America."

* https://www.flo.com/en-ca/products/software/flo-mobile-app/

"Download the FLO app for free. Access thousands of chargers on-the-go in our network and start your session with a tap."

* https://www.chargepoint.com/en-ca/drivers/mobile

"Get the ChargePoint App. The easiest way to find available stations, start charging and get updates when your EV is fully charged."

* https://ecocharge.ca/

"Download the AmpUp our mobile app from the Apple or Google Play store to."

* https://www.electrify-canada.ca/mobile-app/

"Use the Electrify Canada mobile app to schedule your home charging and find a public charging station. Sign up for an account to enjoy exclusive, members-only public charging features and pricing."

* https://swtchenergy.com/

"iPhone & Android app. No download required via SWTCH’s in-browser app. Tap-and-go charging with our complimentary RFID card."

I could not charge my Kona at multiple public charging stations around Vancouver:

* "Free" FLO Level 2 charger at New Westminster High School (requires sign up).

* BC Hydro Level 3 charger near a Real Canadian Superstore (requires sign up).

* AddEnergie Level 2 charger at Tsawwassen Mills (requires sign up).

* Honk Level 2 charger at a University of British Columbia parkade (requires sign up).

* Bonus: Most Tesla stations (no adapters available).

From Aging Wheels:

* https://www.youtube.com/watch?v=92w5doU68D8 (Oct 15, 2023; bad experience)

* https://www.youtube.com/watch?v=ouPiwt5hxXQ (Nov 24, 2024; better experience)

It's steadily improving, though!

thangalin··on It's time to move your docs in the repo
> documentation is considered a "first-class citizen"

How exquisitely Knuthian!

thangalin··on IBM, sonic delay lines, and the history of the 80×24 display (2019)
The linage can be traced back to Basile Bouchon's paper tape invention in 1725. The article doesn't mention the role of punched cards in The Holocaust, though, which my blog post goes into:

https://dave.autonoma.ca/blog/2019/06/06/web-of-knowledge/

thangalin··on Ask HN: How is AI-assisted coding going for you professionally?
I'll bite. Here's a 99.9% vibe-coded raw Git repository reader suitable for self-hosted or shared host environments:

https://repo.autonoma.ca/treetrek

There's still some work to do on the rendering side of model objects. Developing the syntax highlighting rules for 40 languages and file formats in about 10 minutes was amazing to see.

https://repo.autonoma.ca/repo/treetrek/tree/HEAD/render/rule...

thangalin··on It's time to move your docs in the repo
> difficult to keep [...] docs updated with actual code

I used my software and R Markdown documents to help address such problems. In the source code, you have:

    // DOC SNIPPET BEGAN: example_api_usage
    /**
     */
    function amazing_function( char life, long universe, string everything ) {
    } 
    // DOC SNIPPET ENDED
In the R Markdown you write an R function to parse all snippets, then refer to snippets by name. If the snippet can't be found, building the documentation fails, and noisily breaks a CI/CD pipeline.

What's nice is that you can then use this to parse C++ definitions into Markdown tables to render nicely formatted content.

The general idea is that you can have "living" documentation reference source code and break on mismatch. Whether you use knitr/pandoc or python or KeenWrite/R Markdown[1] is an implementation detail.

[1]: https://keenwrite.com/

thangalin··on Coding after coders: The end of computer programming as we know it?
Syntax highlighting rules, initially vibe-coded 40 languages and formats in about 10 minutes. What surprised me is when it switched the design from a class to the far more elegant single line of code:

    return \file_exists( $file ) ? require $file : [];
* https://repo.autonoma.ca/repo/treetrek/blob/HEAD/render/High...

The rules files:

* https://repo.autonoma.ca/repo/treetrek/tree/HEAD/render/rule...

thangalin··on Revealed: Face of 75,000-year-old female Neanderthal from cave
> Is this kind of facial reconstruction from a skull legit?

What did you search for when you tried to verify this yourself?

https://www.youtube.com/watch?v=klxUyd3CgrE

Aside, a similar approach was used in a MacGyver episode nearly 40 years ago ("The Secret of Parker House"):

https://www.imdb.com/title/tt0638792/mediaviewer/rm119321036...

thangalin··on Swiss e-voting pilot can't count 2,048 ballots after decryption failure
How Cosmic Ray Influenced an Election:

https://scotopia.in/journal/journalbkend/paper_list/v-4-i-1(...

Why Electronic Voting Is Still A Bad Idea:

https://www.youtube.com/watch?v=LkH2r-sNjQs

My Līberum Cōnsilium (see references on page 55):

https://repo.autonoma.ca/repo/delibero/raw/HEAD/docs/manual/...

thangalin··on Log messages are mostly for the people operating your software
Of possible interest:

* https://dave.autonoma.ca/blog/2022/01/08/logging-code-smell/

* https://dave.autonoma.ca/blog/2026/02/03/lloopy-loops/

Both of these posts discuss using event-based frameworks to eliminate duplicative (cross-cutting) logging statements throughout a code base.

My desktop Markdown editor[1], uses this approach to output log messages to a dialog box, a status bar, and standard error, effectively "for free".

[1]: https://repo.autonoma.ca/repo/keenwrite/tree/HEAD/src/main/j...

thangalin··on From RGB to L*a*b* color space (2024)
A practical application is pie charts, apologies for the XSLT:

* https://repo.autonoma.ca/repo/delibero/blob/HEAD/source/xsl/...

* https://repo.autonoma.ca/repo/delibero/blob/HEAD/source/xsl/...

An example pie chart is on page 33, section 9.2.3:

* https://repo.autonoma.ca/repo/delibero/raw/HEAD/docs/manual/...

* https://i.ibb.co/ymDLcPNj/pie-chart.png (screenshot)

The colours are harmonious, visually distinct, and not hard-coded to a fixed number of slices.

thangalin··on TeX Live 2026 is available for download now
> then DANTE would hopefully agree to relicence it.

In Feb 2023, when I emailed Hans about changing licenses, he wrote back:

> We decided to stick with the GNU (GLP) license. It's not like anyone is going to check in detail what happens with NTS after all these years. We just wanted to add the option for GPLv2. We're not going into endless debates about licences, which are always a sensitive topic in the tex community.

thangalin··on Tell HN: I'm 60 years old. Claude Code has re-ignited a passion
Yes! Although 60 is still a decade away, I've spent a fair few evenings vibe-coding a FOSS dependency-free raw git repo browser.[1] Never would have even started such a project without LLMs because:

* Implementing a raw Git reader is daunting.

* Codifying syntax highlighting rules is laborious.

* Developing a nice UI/UX is not super enjoyable for me.

* Hardening with latest security measures would be tricky.

* Crafting a templating language is time-consuming.

Being able to orchestrate and design the high-level architecture while letting the LLM take care of the details is extremely rewarding. Moving all my repositories away from GitLab, GitHub, and BitBucket to a single repo under my own control is priceless.

[1]: https://repo.autonoma.ca/treetrek/

thangalin··on TeX Live 2026 is available for download now
> it is much easier to write a transpiler for Pascal->C than to rewrite TeX. Asking an LLM to rewrite it in the language-du-jour ...

I thought that the combination of the Pascal and Java versions[1] of TeX would be sufficient guidance to produce another language/implementation.

> is a huge cost for very little benefit

A greenfield Java implementation with an MIT license would have been useful[2] for rendering TeX inside of my desktop Markdown editor[3]. Instead, I had to rename all the Java source files to abide by the NTSPL license terms (or GPLv2, which is viral).

[1]: https://en.wikipedia.org/wiki/New_Typesetting_System

[2]: https://gitlab.com/DaveJarvis/KeenType/-/blob/main/LICENSE.t...

[3]: https://keenwrite.com/screenshots.html

thangalin··on TeX Live 2026 is available for download now
ConTeXt often goes unmentioned in TeX threads.

https://wiki.contextgarden.net/

It's a monolithic kernel with a relatively sane collection of "setup" macros that, by and large, can accomplish much of what LaTeX and its packages can do.

If you're curious about how to build TeX from scratch, have a look at my TeX.SE answer:

https://tex.stackexchange.com/a/576314/2148

I'd imagine making a FOSS port in Rust that has non-cryptic error messages wouldn't be a multi-year project using modern GPTs.

thangalin··on AI and the Ship of Theseus
Translate an alternative?

https://github.com/albfernandez/juniversalchardet

thangalin··on What was the first life restoration of a sauropod?
The first life-like sketch of an amniote shows a critter chasing a dragonfly. Sir William Dawson's diorama from "Air Breathers of the Coal Period" (1863), is based largely on the fossil record at Joggins, Nova Scotia, and is one of the earliest reconstructions of the Coal Age wetlands.

https://www.researchgate.net/figure/Sir-William-Dawsons-dior...

Our knowledge of that time period has expanded so much since 1863. In my book, I asked the illustrator to give a nod to Dawson's drawing by having an amniote chase a dragonfly:

https://impacts.to/downloads/lowres/impacts.pdf#page=18

thangalin··on Man accidentally gains control of 7k robot vacuums
I replaced all my thermostats for both of my homes with Sinopé products. Here's the hardware, software, and setup:

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

thangalin··on Be wary of Bluesky
> Email is an open, federated protocol. Anyone can run a mail server. In practice, running your own mail server is painful.

Wizards can be difficult to develop and maintain. Writing a working, useful, functional, robust, informative, environment-agnostic, and re-entrant script (or GUI/TUI) can take scads of effort. Now that LLMs abound, much of that grind is quickly solved. For example, here's a vibe-coded script that to get dovecot, postfix, and virtual users set up on my new server with mailboxes copied from an old server:

https://autonoma.ca/mail-setup.txt

To vibe code it, the prompt included content from:

https://xtreamsolution.net/complete-email-server-setup-tutor...

After a few kicks at the can (run script, capture errors, feed errors to LLM, repeat), it finally configured a working system. Reviewing the script, yes, it's beyond painful. It doesn't have to be, though; the authors of complex software could produce similar guided installers.

thangalin··on Programming Patterns: The Story of the Jacquard Loom (2019)
The history of how we go from a loom ca. 1725 to 80x25 terminals ca. 2026 is fascinating. It's been written up many times, here's my take:

https://dave.autonoma.ca/blog/2019/06/06/web-of-knowledge/

thangalin··on Mermaid ASCII: Render Mermaid diagrams in your terminal
> An alternative is self-hosting by running a Kroki container.

Exactly, which is why KeenWrite has a "Diagram server" setting:

https://i.ibb.co/LXxm33cb/diagram-server.png

> they're just for different use-cases

Sure. A software system could support one plain text diagram format, or support a multitude without tons more effort, architecturally speaking.

thangalin··on Mermaid ASCII: Render Mermaid diagrams in your terminal
While Mermaid gets the limelight, Kroki[1] offers: BlockDiag, BPMN, Bytefield, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag, C4 with PlantUML, D2, DBML, Ditaa, Erd, Excalidraw, GraphViz, Nomnoml, Pikchr, PlantUML, Structurizr, Svgbob, Symbolator, TikZ, Vega, Vega-Lite, WaveDrom, WireViz, and Mermaid.

My Markdown editor, KeenWrite[2], integrates Kroki as a service. This means whenever a new text-based diagram format is offered by Kroki, it is available to KeenWrite, dynamically. The tutorial[3] shows how it works. (Aside, variables within diagrams are also possible, shown at the end.)

Note that Mermaid diagrams cannot be rendered by most libraries[4] due to its inclusion of <foreignObject>, which is browser-dependent.

[1]: https://kroki.io/

[2]: https://keenwrite.com/

[3]: https://www.youtube.com/watch?v=vIp8spwykZY

[4]: https://github.com/orgs/mermaid-js/discussions/7085

thangalin··on ICE using Palantir tool that feeds on Medicaid data
> I've got nothing to hide.

Some retorts for people swayed by that argument:

"Can we put a camera in your bathroom?"

"Let's send your mom all your text messages."

"Ain't nothin' in my pockets, but I'd rather you didn't check."

"Shall we live-stream your next doctor's appointment?"

"May I watch you enter your PIN at the ATM?"

"How about you post your credit card number on reddit?"

"Care to read your high-school diary on open mic night?"

thangalin··on House vote keeps federal "kill switch" vehicle mandate
> that's about it.

Avid cyclist here.

* Extreme Weather: Severe heat, heavy snow, or torrential rain can make biking unsafe or impractical without specialized gear and high physical endurance.

* Accessibility & Mobility Issues: Individuals with certain physical disabilities or chronic health conditions may find traditional cycling impossible. (This also affects an aging population.)

* Time Constraints: For those with "trip-chaining" needs (e.g., daycare drop-off → work → grocery store → gym), the extra time required for cycling can be prohibitive.

* Infrastructure: Older adults are more sensitive to "heavy traffic" and "lack of safe places." Seniors don't stop cycling because they can't do it, but because they don't feel safe in traffic. (Good argument for upgrading roadways.)

* Care-giving: When parents become dependent on their children, often the children need to shuttle their parents around. A parent with dementia who escaped into the neighbourhood can be rapidly collected and ushered home in a car, not so much a bike.

* Theft & Vandalism: I've never had a car stolen. Two locked bikes, on the other hand...

thangalin··on Show HN: Pdfwithlove – PDF tools that run 100% locally (no uploads, no back end)
For my hard sci-fi novel, I wanted people to give me feedback by annotating the PDF directly. Since I didn't know what local PDF editors they had available, I decided to vibe-code a web-based PDF annotation editor using PDF.js. (Yes, malicious users could have a field day by guessing the URLs.) It's pretty rough:

https://repo.autonoma.ca/?action=repo&repo=notanexus.git&vie...

Basically, you drop a PDF onto your own web server. The web server serves up PDFs via PDF.js on the client. When the user highlights text to annotate it, the date, time, and text of all annotations in the document are pushed back to the server. As the author, when I reload the same PDF URL, I can add, review, modify, navigate through, or summarize the annotations just like a reader. Here's a screenshot with a funny comment one of my beta readers made:

https://i.ibb.co/5gZMJ0qc/annotations.png

Beta readers wanted, see profile for contact!

thangalin··on An Elizabethan mansion's secrets for staying warm
> Scandinavian cabins, despite lacking modern insulation, maintain warmth in sub-zero temperatures. This video explores centuries-old building techniques, comparing their performance against modern homes. Discover the surprising physics principles behind their resilience and energy efficiency.

https://www.youtube.com/watch?v=eVqwiMtoDhk

thangalin··on How Markdown took over the world
> What it can't do (as far as I understand): complex layouts, precise typography, embedded binary content, anything that needs pixel-perfect rendering.

Please see:

* https://impacts.to/downloads/lowres/impacts.pdf

* https://keenwrite.com/docs/user-manual.pdf

* https://keenwrite.com/blog/2025/09/08/feature-matrix/pdf/jek...

* https://keenwrite.com/blog/2025/09/08/feature-matrix/pdf/sof...

Those are Markdown documents typeset using ConTeXt. Except for Jekyll & Hide, I wrote them all.

← PreviousPage 4 of 31Next →