News for hackers. Stuff that matters.

roggenbuck

Re:How many of the 170k English words do you know? on Friday June 19, 2026 @05:59PM (#48603765)
The longest answer is the correct answer for a lot of the questions
Thanks Eric! That makes sense and I appreciate the thoughtful response! Excited to read the new book (arriving tomorrow)!
Hey Eric!

How often do you see companies recover from financial gravity? Or is it mostly irreversible?

How much do you attribute worsening of company values to things like professional managers, too much hierarchy, and less founder-mode; versus financial gravity?

In a case like GitHub where their focus seems less on open-source these days, should developers try to help GitHub better support open-source or should the focus be on building alternatives?

Thanks, Jake

Loving superset! Congrats on the launch! Excited to try remote workspaces so I don’t have to leave my computer open while I have autoresearch running.
This is some excellent work Henry! Very excited to try it out.
Re:Flameshot on Thursday January 29, 2026 @10:35PM (#46820251)
Flameshot is excellent! I’ve been happily using it for years.
Re:Road Diet on Sunday January 04, 2026 @03:18PM (#46491767)
The roads in Davis are great! Super easy to bike and drive. Except for Mace Blvd.
I’ve used superset at work this last week, and it’s great! Excited to see what’s next!
Re:Ask HN: What Are You Working On? (Nov 2025) on Sunday November 09, 2025 @06:00PM (#45870113)
I’m working on a performance capture library for Python because I often need to know the performance of backend systems I maintain. I frequently build tooling to capture performance and save it for later analysis. I/O operations get costly when writing lots of data to disk and creating good real-time analytics tools takes a lot of my time. I wanted a library that captures real-time performance analytics from Python backends.

https://github.com/jakeroggenbuck/kronicler

This is why I wrote kronicler to record performance metrics while being fast and simple to implement. I built my own columnar database in Rust to capture and analyze these logs.

To capture logs, `import kronicler` and add `@kronicler.capture` as a decorator to functions in Python. It will then start saving performance metrics to the custom database on disk. You can also use the middleware for FastAPI.

You can then view these performance metrics by adding a route to your server called `/logs` where you return `DB.logs()`. You can paste your hosted URL into the settings of usekronicler.com (the online dashboard) and view your data with a couple charts. View the readme or the website for more details for how to do this.

I'm still working on features like concurrency and other overall improvements. I've added a lot since the last time I shared on HN. I would love some feedback to help shape this product into something useful for you all.

Thanks! - Jake

Re:Ask HN: What Are You Working On? (October 2025) on Sunday October 12, 2025 @05:56PM (#45562327)
I’m working on a performance capture library for Python because I often need to know the performance of backend systems I maintain. I frequently build tooling to capture performance and save it for later analysis. I/O operations get costly when writing lots of data to disk and creating good real-time analytics tools takes a lot of my time. I wanted a library that captures real-time performance analytics from Python backends.

https://github.com/jakeroggenbuck/kronicler

This is why I wrote kronicler to record performance metrics while being fast and simple to implement. I built my own columnar database in Rust to capture and analyze these logs.

To capture logs, `import kronicler` and add `@kronicler.capture` as a decorator to functions in Python. It will then start saving performance metrics to the custom database on disk.

You can then view these performance metrics by adding a route to your server called `/logs` where you return `DB.logs()`. You can paste your hosted URL into the settings of usekronicler.com (the online dashboard) and view your data with a couple charts. View the readme or the website for more details for how to do this.

I'm still working on features like concurrency and other overall improvements. I would love some feedback to help shape this product into something useful for you all.

Thanks! - Jake

Show HN: Kronicler – capture performance analytics with custom rust database

https://github.com/JakeRoggenbuck/kronicler

Hey HN!My name is Jake and I often need to know the performance of backend systems I maintain. I frequently build tooling to capture performance and save it for later analysis. I/O operations get costly when writing lots of data to disk and creating good real-time analytics tools takes a lot of my time. I wanted a library that captures real-time performance analytics from Python backends.This...

( Read More... | no comments | on HN )
Re:Compiling a Forth on Tuesday October 07, 2025 @01:52AM (#45499774)
This was a well written post! It makes me want to create my own forth-like language
Re:Play snake in the URL address bar on Sunday September 28, 2025 @06:21PM (#45408619)
This is really creative! Very well done. Surprisingly fast too.
This is great!
Re:Does anyone still use Morse code? on Friday September 05, 2025 @01:47PM (#45141396)
Yea, it's fun to know and it can be useful from time to time. I know the alphabet but cannot copy very fast at all.
Re:Launch HN: Datafruit (YC S25) – AI for DevOps on Tuesday September 02, 2025 @04:47PM (#45108823)
Really great stuff! Congrats on the launch!
Yea, I can expand the description to include other features that may cause issues. Here is an example of how counting can cause latency too: https://www.usenix.org/system/files/sec22fall_turonova.pdf
> and it would have been great if the default had been safe.

I totally agree here. Safety can and should be from the language itself.

Thanks for the feedback! Yea, you're totally right. I'll update the docs to reflect this.

> why not just wrap vanilla JS regex, rejecting patterns including them?

Yea! I was thinking about this too actually. And this would solve the problem of being server side only. I'm thinking about making a new version to do just this.

For a pattern rejecting wrapper, how would you want it to communicate that an unsafe pattern has been created.

Show HN: Regolith – Regex library that prevents ReDoS CVEs in TypeScript

https://github.com/JakeRoggenbuck/regolith

I wanted a safer alternative to RegExp for TypeScript that uses a linear-time engine, so I built Regolith.Why: Many CVEs happen because TypeScript libraries are vulnerable to Regular Expression Denial of Service attacks. I learned about this problem while doing undergraduate research and found that languages like Rust have built-in protection but languages like JavaScript, TypeScript, and...

( Read More... | 25 comments | 9 points | on HN )

Show HN: Regolith – Regex library for TypeScript made to prevent ReDoS attacks

https://github.com/JakeRoggenbuck/regolith

I made TypeScript bindings for the Rust Regex library to prevent Regular Expression Denial of Service attacks. Rust's Regex uses a linear-time guaranteed Regex engine (which prevents these attacks) and I wanted to bring this functionality to TypeScript as a drop-in replacement for RegExp. Many CVEs happen because TypeScript libraries are vulnerable to these types of attacks. This library...

( Read More... | no comments | 2 points | on HN )
Very cool!

You mentioned reducing friction of downloading as a reason for the web version. How did you find that to be a point of friction for your users?