HNHacker News
TopNewBestAskShowJobs

jrpelkonen

718 karma · joined February 7, 2012

submissionscomments
jrpelkonen··on Major ICQ security hole (1998)
Indeed, this comment reminded me of this story: https://max.levch.in/post/724289457144070144/shamir-secret-s...
jrpelkonen··on Rewriting Bun in Rust
By all accounts, TigerBeetle has been a tremendous success, congratulations! My understanding is that it has a deliberately fixed scope, which makes me wonder: how applicable would TigerStyle be in more general-purpose applications? If the system needs to, say, ingest arbitrary JSON documents ranging from 100 bytes to 100 GB, how would TigerStyle fare?
jrpelkonen··on A software engineering interview question I like: computing the median
Indeed: https://research.google/blog/extra-extra-read-all-about-it-n...

P.S. I can’t believe this happened over 20 years ago, I must be old.

jrpelkonen··on 21 years and counting of 'eight fallacies of distributed computing' (2025)
In this instance latency must’ve been 10 years, per my memory this paper came out in 1994
jrpelkonen··on Why isn't the U.S. better at soccer?
I think it’s hard to truly appreciate any sport you haven’t played yourself. I personally cannot get excited about baseball, and it’s probably mostly because of my own lack of playing experience.
jrpelkonen··on My Thoughts on Bun's Rust Rewrite
I agree with most points, but I believe the main reason behind TigerBeetle’s lack of memory errors is that they follow the power of 10 rules and do not manage memory dynamically beyond initialization. Team culture and aligning with Zig philosophy are far behind in importance.
jrpelkonen··on Rewrite Bun in Rust has been merged
While I don’t have personal experience with either project, I feel it is safe to say that Bun and TigerBeetle are not comparable projects: TigerBeetle has a strong focus on testing and correctness, and Bun maybe not so much. IIRC, TB did well in the Jepsen test and had one segfault in a client library. Bun has had quite a few memory safety issues, in fact, the stated motivation for the Rust move is to eliminate those going forward. We shall see how that pans out.
jrpelkonen··on UUID package coming to Go standard library
Your point is completely invalidated by useless name calling. The people behind cargo are clearly accomplished and serious individuals, and even if you disagree with some of the choices, calling them bozos makes your whole argument unconvincing.
jrpelkonen··on Date is out, Temporal is in
Somewhat related: Jiff (https://github.com/BurntSushi/jiff) is a Rust library inspired by the Temporal api.
jrpelkonen··on Finding and fixing Ghostty's largest memory leak
Great write-up. And, thanks mitchellh for Ghostty, I switched to it last year, and have not regretted it.

However, I am a somewhat surprised that the fix is reserved for a feature release in a couple of months. I would have expected this to be included in a bug fix release.

jrpelkonen··on The rsync algorithm (1996) [pdf]
SSH was around, but not nearly as pervasive it is today. I have memories of having to shake my mouse around during the windows client installation to generate entropy. Fun times
jrpelkonen··on Google releases its new Google Sans Flex font as open source
The round variant looks like a fatty lacking warrior ethos. Unsuitable for Department of War. /s
jrpelkonen··on Tiger Style: Coding philosophy (2024)
The typestate pattern common in Rust applications allows the compiler to verify that the operations are executed in the right order and that previous states are not accidentally referenced. Here’s a good description: https://cliffle.com/blog/rust-typestate/
jrpelkonen··on Go's Sweet 16
There is, in fact, a spec to read[1], as of earlier this year.

[1] https://rustfoundation.org/media/ferrous-systems-donates-fer...

jrpelkonen··on Bank of America Just Issued a Stark Warning: AI Boom Is Hitting a Cash Crunch
It might actually be the silver lining of this particular bubble if Oracle were to go out of business.
jrpelkonen··on Automatically Translating C to Rust
Fil-C is an innovative approach and a great technical achievement. However, I wouldn't suggest that it is an universal solution without caveats. For instance, the performance penalty of up to 4x is not acceptable in a lot of cases.

Also, the c2rust output is rough but not hopeless: There are real world success stories of rust projects that were bootstrapped via c2rust, e.g. https://tweedegolf.nl/en/blog/151/translating-bzip2-with-c2r...

jrpelkonen··on Unpacking Cloudflare Workers CPU Performance Benchmarks
I appreciate the candor, and I agree that auto-adaptation probably makes sense in this use case because the workloads are unknown and varied.
jrpelkonen··on Unpacking Cloudflare Workers CPU Performance Benchmarks
Great write up, focusing on facts without fingerpointing.

But I must admit I was somewhat surprised Cloudflare was not already proactively monitoring and tuning the generation sizes. Configuring the generation sizes was table stakes for JVM performance tuning back in the day.

jrpelkonen··on Git: Introduce Rust and announce it will become mandatory in the build system
I am curious, does anyone know what is the use case that mandates the use of git on NonStop? Do people actually commit code from this platform? Seems wild.
jrpelkonen··on Show HN: Zedis – A Redis clone I'm writing in Zig
Also bun
jrpelkonen··on Unexpected productivity boost of Rust
Can you elaborate or maybe give some examples about having too many ways to do one thing? I have never heard this complaint about Rust before.

Rust even has tooling (clippy) that warns about unidiomatic code.

jrpelkonen··on Will Smith's concert crowds are real, but AI is blurring the lines
I wonder if there are two people reading this and wishing that Coldplay had employed this technology earlier this summer?

On a serious note, I find this trend of shoving AI everywhere pretty disturbing. For instance, I used to enjoy Spotify’s “Discover Weekly” feature to find new music, but these days it’s offering so many AI generated songs the experience is pretty jarring.

jrpelkonen··on The borrowchecker is what I like the least about Rust
I found the arguments in this article disingenuous. First, the author complains that borrowchecker examples are toys, then proceeds to support their case with rather contrived examples themselves. For instance, the map example is not using the entry api. They’d be better served by offering up some real world examples.
jrpelkonen··on I convinced HP's board to buy Palm and watched them kill it
Interesting story, but the “DECIDE” framework definitely gave me strong “conjoined triangles of success” vibes.
jrpelkonen··on Jepsen: TigerBeetle 0.16.11
This is indeed an important point, the way I originally understood the bug was that the memory was not initialized at all. Thanks for the clarification
jrpelkonen··on Jepsen: TigerBeetle 0.16.11
That’s good to hear! Thanks for the clarification.
jrpelkonen··on Jepsen: TigerBeetle 0.16.11
Hi Joran,

I have followed TigerBeetle with interest for a while, and thank you for your inspirational work and informative presentations.

However, you have stated in several occasions that the lack of memory safety in Zig is not a concern since you don't dynamically allocate memory post startup. However, one of the defects uncovered here (#2435) was caused by dereferencing an uninitialized pointer. I find this pretty concerning, so I wonder if there is something that you will be doing differently to eliminate all similar bugs going forward?

jrpelkonen··on Parking_lot: Ffffffffffffffff
That’s still the tag line. The bug was in the part that did bit manipulation inside the concurrency primitive itself, and therefore not a concurrency bug as such.
jrpelkonen··on Careless People
I’m pretty sure Gates went to Harvard, not Princeton.
jrpelkonen··on Does using Rust make your software safer?
It’s easy to say this, but see the note underneath it: “(The above routine is actually inspired by the DNS decoding routine from Nut/OS”… Clearly, this stuff gets written and shipped to production. Maybe it is time to admit that in 2025 it is not a good idea to have C code anywhere near untrusted input?
Page 1 of 5Next →