Recent submissions

Comment · 1 year ago
For what it's worth, Firefox has had most of these features built into their PDF.js viewer for a while. I believe signatures were recently added. I'm not sure whether there's capability to remove pages or merge PDFs, though.
Comment · 1 year ago
Here's an excerpt (which is in a map passed to peg/compile) for numeric parsing:

    :nonzero-int (* (range "19") (any (range "09")))
    :int (+ "0" :nonzero-int)
    :decimal (cmt (* (? (<- :int)) "." (<- (some (range "09")))) ,parse-decimal)
    :fraction (cmt (\* (? (\* (number :nonzero-int) :s+)) (number :nonzero-int)
 "/" (number :nonzero-int)) ,parse-fraction)
    :integer (cmt (number :nonzero-int) ,parse-integer)
    :num (+ :decimal :fraction :integer)
Comment · 1 year ago
Writing DSLs is very easy, and fun! The PEG grammars are very elegant to build up. I wrote a language for programmatic recipes (think scaling, unit conversion, etc) with it and it was a delight. I'd provide an example but I haven't taken the time to write a README so I haven't published it publicly yet.
Comment · 2 years ago
I've enjoyed the selection on Qobuz, which is all DRM-free and allows mp3 or lossless flac formats.
Comment · 2 years ago
Note that Firefox profile management is getting an overhaul right now, including an easy profile switching UI. I'm not sure when it will be landing in release, but it is being actively built!
Comment · 2 years ago
I'm the author of this blog post, feel free to ask any questions!
Comment · 2 years ago
I forget how I got Trump (it was a different formulation than others mentioned though). But Trump + Titanic = Sinking Ship
Comment · 3 years ago
Comment · 3 years ago
The persona I generated is a Christmas tree light company targeting nuclear physicists. The results were surprisingly cohesive!

However, there is a bug: it seems to insert a newline after every punctuation, including after "Dr." (the persona was "Dr. Thomas").

Comment · 3 years ago
I built an LFS system during one weekend my first semester of freshman year of college. I had too much free time I guess...

At the time I made it a 32-bit system since LFS didn't (doesn't?) support multilib and I knew I would need some 32-bit libraries.

I used that as my main system for quite a long time, upgrading software or installing based on BLFS or my own intuition as necessary. It worked pretty well! It was an invaluable experience in the development of my Linux expertise.

After about 5 years I got frustrated with the 32-bit system so I did an in-place upgrade to 64-bit. It was thrilling to come out the other end of that, to say the least (seriously). The training wheels were definitely off, but LFS had educated me enough to be confident in doing it. Also I kept around all the 32-bit stuff of course, so I could incrementally upgrade things.

After a few more years (maybe 2018ish?) I grew weary and changed to Arch (now I use void) :)

All that being said, I highly recommend LFS!

Comment · 3 years ago
Well just today I found unsoundness in a crate I was auditing. It turned out that the crate had since removed the entire module of functionality in question so I couldn't submit a bug, but it led me to take steps to remove use of the crate entirely.
Comment · 3 years ago
Funny, for the last week I've been trying various self hosted photo apps every night on my home server. Tonight was going to be Photoprism and then I see it pop up here! I've just wanted something that allows me to organize and tag photos, but that also has some sort of API or easy access to the database. I've been looking for something because I realized it'd be nice to see photos on a regular basis in my house: I want to set up a photo frame to display random photos from my family collection that have a particular tag. Otherwise I feel like I'm not going back and appreciating them enough, just taking pictures that are never seen again. Though photo app "memories" address that. I really like Photostructure's approach of always displaying a random sampling of photos when you're at higher organizational levels, that's a fun way to see different stuff.
Comment · 3 years ago
Storage volumes can be much cheaper. For instance, Backblaze B2 will run you around $6/TB/mo, IIRC. And some providers (usually the smaller ones) have discounts for bulk purchases (e.g. a year). Many self hosted apps support cloud storage.
Comment · 3 years ago
This is great!

For those unaware, the abi_stable crate makes stable ABIs (even with complex features like trait objects) pretty easy and, importantly, verifiable. It is primarily useful for rust-to-rust abi stability (for instance when creating a plugin system).

Comment · 4 years ago
I especially liked the one for the works page itself! Very fun.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton