HNHacker News
TopNewBestAskShowJobs

tnelsond4

106 karma · joined January 5, 2026

tnelsond+spam@gmail.com

Github.com/tnelsond

submissionscomments
tnelsond4··on SQLite Is a Library of Congress Recommended Storage Format
I'm always inspired by SQLite. Overall I like it, but if you're not doing writes it's really overkill.

So I made a format that will never surpass SQLite, except that it's extremely lighter and faster and works on zstd compressed files. It has really small indexes and can contain binaries or text just like SQLite.

The wasm part that decompresses and reads and searches the databases is only 38kb (uncompressed (maybe 16kb gzipped)). Compare that to SQLite's 1.2mb of wasm and glue code it's 3% the size but searching and loading is much faster. My program isn't really column based and isn't suitable for managing spreadsheets, but it's great for dictionaries and file archives of images and audio.

I ported the jbig2 decoder as a 17kb wasm module, so I can load monochrome scans that are 8kb per page and still legible.

https://github.com/tnelsond/peakslab

SQLite is very well engineered, PeakSlab is very simple.

tnelsond4··on GSoC2026: What to expect (image editing, animation, 3D, and engineering)
I'm just hearing about Graphite now. Looks pretty cool with a desktop and web client. Nodes, vector graphics and raster, and even animation and compositing.
tnelsond4··on An Unreleased Lyme Disease Vaccine Is Sparking False Conspiracy Theories
It's nice to see the qualifier "false" conspiracy theories. Because it used to be that all conspiracy theories where assumed false, but that has all shifted in the last few years. It's no longer fringe. Not to say that all conspiracies are true, they aren't, but conspiracy theorist can no longer be used as a slur like it used to.

Everyone agrees that pedophiles are everywhere in government and power. If you hate Donald Trump you believe that he's a part of conspiracies. If you like Donald Trump you believe there's conspiracies against him.

It doesn't help that the conspiracies theories about covid that it was made in a lab and all that were eventually admitted to be fact after years of censorship. Conspiracy theories about government surveillance and different things have more and more proven to be true... It's harder and harder to get people to accept a narrative.

tnelsond4··on Good developers learn to program. Most courses teach a language
You and I both know it's easier to rewrite a project from scratch than contribute to somebody else's project. Only half-joking.
tnelsond4··on Running Adobe's 1991 PostScript Interpreter in the Browser
This is pretty sweet. I wonder if this is better than running pdf.js.

I just recently needed jbig2 image support in my web app and using pdf.js wasn't gonna work and be too slow and the wrong interface anyway, so I took the source code for the jbig2 decoder and vibe coded a converter that outputs 1 bit pngs. After some manual culling of code I got the wasm module down to 27kb with no glue.

tnelsond4··on Microsoft open sources DOS 1.00 on 45th anniversary
I mean that someone take the dos source code and develop it into a templeos like os with a repl and every component editable in real time.

But I find it kinda discouraging that even Terry Davis ran templeos in an emulator.

tnelsond4··on U.S. Debt Tops 100% of GDP
I don't think I've unlocked that feature yet.
tnelsond4··on The Lingua Franca of LaTeX (2019)
Yeah, I write in Khmer which is more obscure and more nonlinear than Thai. Most things struggle with it
tnelsond4··on Show HN: WeSearch – Anonymous news aggregator with no algorithm, 700 sources
I'm gonna give some first time use feedback/thoughts stream of consciousness. It's gonna be brutal so take it or leave it.

The pop-up modals are very annoying and persistent. A long tutorial before using a news aggregator, really? I have to read a FAQ? Ok, close that and see what it is first. Oh no, another pop-up.

Why ask me if I want to install it if I haven't even gotten to try it yet, really jumping the gun.

Interface is good, great concept. The anonymous commenting seems nice.

The link to read today's stories makes me think that that's the only way to get to the stories, but when i click it it just scrolls me down 50 pixels. Thanks I guess.

The story feed sometimes takes a while to load and looks kinda blank.

I scroll down see about 5 stories and all of a sudden I'm on summaries about the most commented and viewed stories. Where's my doom scrolling, lol.

Again, I'm being overly harsh but I think these things are barriers to first time users.

My experience is that usually users don't give me good feedback and they kinda just keep it in.

tnelsond4··on The Lingua Franca of LaTeX (2019)
I really like troff and how much lighter it is, I just wish it had proper Unicode support for obscure Asian scripts. I haven't tried latex's Unicode support, but I've used Sile and it requires some manual hacking.
tnelsond4··on U.S. Debt Tops 100% of GDP
Congress is in charge of budgets, Trump isn't a dictator so he can't actually do whatever he wants.
tnelsond4··on You can beat the binary search
https://www.p99conf.io/session/40x-faster-binary-search/

How's that compare to this?

tnelsond4··on Microsoft open sources DOS 1.00 on 45th anniversary
Now someone turn this into a new templeos distro.
tnelsond4··on CJIT: C, Just in Time
It's inspired by Terry Davis who didn't believe in sandboxes and security, he wanted to just run code and write code. It's your responsibility to read the code, :-P
tnelsond4··on Your phone is about to stop being yours
I host my app on GitHub pages for free. But yes, it's just static which is really all you need with how powerful wasm and JavaScript are.
tnelsond4··on CJIT: C, Just in Time
> What's different between tcc -run and CJIT? >The main difference is in usability.

> CJIT improves three main UX aspects for now:

> It works as a single executable file which embeds the TinyCC compiler, all its headers and its standard library. This way there is no need to install anything system wide, check paths and setup build folders.

> It supports adding multiple files into one execution: can accept wildcards to ingest anything that is a C source, a pre-compiled object or a shared library. The symbols exported by each file will be visible to all during the same execution.

> It finds automatically common system libraries for each target platform, avoiding the need to repeat these settings and look for the right paths.

tnelsond4··on Localsend: An open-source cross-platform alternative to AirDrop
I end up just opening a web server in termux on my phone and having the other side download from my hotspot every time i want to transfer a file because all the other android solutions really really suck.
tnelsond4··on Sergey Brin Confronted Gavin Newsom
Socialism is in a conundrum, on the one hand it hates billionaires, and on the other hand it needs them in order to function and regrets their leaving. If there wasn't a class of rich people to target socialism would have no appeal.
tnelsond4··on Show HN: Defeating AI by making knowledge accessible to Humans
This isn't just for dictionaries, thanks to it's 27kb jbig2 to PNG image module it can display monochrome page scans. A jbig2 image can be as small as 12kb and still be legible for sheet music in Khmer Script.

I have a sheet music app built with this at https://peakslab.org/khmermusic/

It's stupid simple to setup, just put media files (webp, webm opus, jbig2) in a folder and run ./peakgen mediafolder/ outfile.slab Then just edit the config.js to include that outfile.slab and you've got a pwa.

tnelsond4··on Show HN: Turning a Gaussian Splat into a videogame
Playing in brave on my Moto g power 2024 was low fps, but as soon as i pressed the shoot button my whole screen went purple pixel distortion lines and I had to restart my phone.
tnelsond4··on $8800 house design helps prevent fatal diseases in African children
Even expensive buildings in Africa will still use thatch roofs because they're cooler, less noisy, and durable. A "mud hut" is pretty ideal for the climate and can be very clean. If malaria is a big deal mosquito nets is a cheap solution that doesn't require a whole new house.
tnelsond4··on Microsoft exec suggests AI agents will need to buy licenses, just like employees
Why are agents using licensed software anyway? AI should be using APIs.
tnelsond4··on The Onion to Take over InfoWars
Organizations love to run controlled opposition. Just came out that the Southern poverty law center has been funding the KKK of all things.

https://www.justice.gov/usao-mdal/pr/federal-grand-jury-char...

tnelsond4··on How to make a fast dynamic language interpreter
I use the bounds checker in TCC to check for memory errors in C, should I switch to Fil-C instead to debug my code? Obviously yolo-C is my target.
tnelsond4··on Brave Origin
I've been using brave all these years and I just thought they were extra features, other than the crypto one, didn't think there was any money incentive in them wasting compute on AI.
tnelsond4··on Brave Origin
So by having you pay to disable Tor, the llm, and all their extra features are they basically admitting that none of their users actually want those things and that bundling those things is how they generate revenue?
tnelsond4··on OpenClaw isn't fooling me. I remember MS-DOS
I think we should be giving AI access to something like templeos where there is no permissions and everything runs unrestricted and you can rewrite the os while it's running.
tnelsond4··on A Brief History of Fish Sauce
Yeah, my wife is Cambodian and she buys the Lao stuff because she knows people who make it without chemicals.

The Cambodian version is Prahok and apparently it's usually raw and you aren't supposed to eat it raw, but I ate it raw (it was pink colored) for a couple days before someone told me. Prahok sounds gross but the stinky flavor is really reminiscent of cheese.

tnelsond4··on Do you even need a database?
I'm not sure I follow exactly, but if I understand you mean that when the database file is updated that the app updates? Right now on app load it updates the service worker and shows the files in cache first. If there's a newer file it fetches it in the background, it then sends a message to the client that there is a new file. I haven't implemented the next part yet but it should be able to invalidate the current file and load the new file without refreshing the page. Right now the new files will load the refresh after the new service worker is activated.

But the page still had to be refreshed to load the new service worker. I'm looking into ways to cut the time to loading the new files down because right now you have to refresh the page 3 times for the new files to take over.

The .peak files aren't designed to be a database that you can just add to during runtime, they're rather static and highly efficient in that context. But it's easy to edit the source files and generate a new .peak file from that.

You can take a folder of any kind of files and run peakgen on it and it will create a compressed .slab file that you can search and fetch results from just like the .peak files. I first saw that done with SQLite and I really liked it, so I knew I could do it too.

If you want to chat you can shoot me an email.

tnelsond4··on Do you even need a database?
Well, I went and looked at it again and it seems like SQLite databases although larger than my custom format do compress to a 10% smaller size provided there's no indexes. But my custom format uses indexes so it's not really a good comparison. I guess I should see what it's like with indexes.

But at the end of the day SQLite just doesn't meet the needs of my project due to it's size and lack of free decompression support. Passing a decompression stage before giving it to SQLite is unwieldy and requires a separate decompression module and incurs a copy operation. I don't know enough about SQLite to attempt to compile and integrate the zstd decompressor into it.

← PreviousPage 3 of 4Next →