HNHacker News
TopNewBestAskShowJobs

jbergstroem

1,162 karma · joined November 6, 2013

I like open source and Kenyan coffee.

Check out what I do at https://github.com/jbergstroem.

[ my public key: https://keybase.io/jbergstroem; my proof: https://keybase.io/jbergstroem/sigs/xNH99zh5DSCLJR_hrHtShFLmo8RcAbg79Hs506_5KdI ]

submissionscomments
jbergstroem··on Elo – A data expression language which compiles to JavaScript, Ruby, and SQL
I coincidentally worked on something similar but I kept closer to the SQL standard. It grew out of business cases where you don't have strongly typed data to act on.

I more or less adopted the syntax from dumbql (https://github.com/tomakado/dumbql) and started off with a peg parser using ohm.js. As I started benchmarking I realized how slow it was and started looking for "fast paths" using regex. I ultimately resorted to a recursive descent parser similar to Elo. At that stage I already had a lot of tests and api in place, so I was able to get a lot of help from Claude.

Website here: https://filtron.dev

jbergstroem··on Gh-actions-lockfile: generate and verify lockfiles for GitHub Actions
Another (more complete? maintenance, security checks) solution is to allow renovatebot handle this for you. Enable this preset: https://docs.renovatebot.com/presets-helpers/#helperspingith...

..and in the next update cycle, you will see all actions be pinned like this:

- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6

jbergstroem··on Bun 1.2 Is Released
I think this position is also one of the reasons it gained attention. Batteries included is a popular and chosen route for many.

Setting up typescript can be hard. Same goes for webpack, s3, postgres, jest and more. I also find the simplified file and stream access quite interesting.

Lets wait and see how a distributed deployment provider turns out.

jbergstroem··on Ghostty 1.0
I've been a beta tester from very early on. I came for the performance but stayed for the stability. I've only had a rare few crashes and all but one was a duplicate in the bug tracker.

I thought I needed search but as Mitchell put it, not a 1.0 feature. Ripgrep was always the answer.

Very happy to share the ghostty experience with the world!

jbergstroem··on Ask HN: Who is hiring? (December 2024)
Topsort | Software Engineer | Remote and onsite (LATAM, U.S Timezones) | Full-time

Topsort (https://www.topsort.com) is a fast growing startup in the retail media space with a strong foundation in privacy. We help marketplaces monetize their ecosystems.

We are looking to fill many positions (mainly with SWE backgrounds). Bi-lingual (English and Spanish/Portuguese) is a bonus since part of some roles are working with clients.

Review all open roles here: https://grnh.se/721f06c68us - where you can apply directly. You can alternatively reach out to me (I work as tech lead) - should you prefer an instant human contact: johan at topsort dot com.

Looking forward to working together!

jbergstroem··on Show HN: Hatchet – Open-source distributed task queue
Have you considered https://github.com/tembo-io/pgmq for the queue bit?
jbergstroem··on Ask HN: Who is hiring? (January 2024)
Topsort | Software engineer | Full-time | Remote

Topsort (topsort.com) is a leading retail media solution, enabling marketplaces and retailers to build out their own ad business with a strong emphasis on privacy - no third party cookies required.

We are a global, remote first company with diverse backgrounds and need to grow the engineering team in most areas but currently have a focus in finding engineers with experience in component and design systems (shadcn, aria, storybook, ..), react and don't mind the occasional dive into other areas and other programming languages.

You are a good fit if: you've built and implemented design systems with reusable components in React, you are obsessed about performant frontends, you're comfortable in working with Next.js (both pages and app router), you are proactive and like to take ownership, you have worked in full stack environments but have a specialization in frontend.

Our stack: Golang, Python, Typescript (Node.js, Bun), Rust, Postgres, Kafka, Snowflake, Clickhouse, Aws, ..

Feel free to send your CV/github/work examples (I'm the tech lead at Topsort) if you think this is for you! johan at topsort dot com.

jbergstroem··on Cloudflare Is Having Issues
FYI: I didn't see any notices about disruptions for workers but were intermittently unable to use `wrangler publish`: https://i.imgur.com/LUAzoHQ.png
jbergstroem··on Apple Virtualization Framework
Orbstack is a relatively new player that offers both VMs and containerization on top of the virtualization framework: https://orbstack.dev
jbergstroem··on Show HN: Hacker News user experience enhancement browser extension
Another alternative that hasn't been brought up yet is https://www.modernhn.com
jbergstroem··on MailCrab
Longtime mailhog user here; this looks like a nice improvement for cold start developer environments! Another option in the same space (emphasis container size) is https://github.com/inbucket/inbucket
jbergstroem··on No Hello: A New Wave
When these types of conversations come up, I prefer the phrase “optimize for the receiver” - thinking on how to best be understood versus what is easiest/most convenient for the sender (in the hello case: requiring someone’s attention).
jbergstroem··on Extremely Linear Git History
The Webkit project would love this. Can't help but feel that half the reason they spent all the extra effort with subversion was user-friendly commit revisions.
jbergstroem··on Is GitHub Down?
I'm greeted by a consistent 500.
jbergstroem··on Justworks S-1
I would recommend linking to this instead since basic things like cap table was left empty
jbergstroem··on HTTP/3 Is Fast
You have $N hosts and CDN's in the world and $M web developers. If you can affect $N that's a pretty big win for every web developer, not just the one that has enough experience to understand how and why css/js frameworks are ultimately as "easy and fast" as the marketing page said. I'm sure the trend of web performance and best practices will improve as tooling to showcase these issues get easier and better by the day; but making the car more efficient is a different problem to a wider, more stable and ultimately faster motorway.
jbergstroem··on Issues with Cloudflare Images
Yes, by far my top choice in OSS land for image manipulation. You would probably want to couple it with a edge worker to do things like accept handling (what format to return for the same url), whitelisting formats and so on.

I wrote a pretty comprehensive cloudflare worker for this years ago I should look at open sourcing..

jbergstroem··on Issues with Cloudflare Images
I would much more prefer if the service cost was tied to image operations instead of "displays".
jbergstroem··on Issues with Cloudflare Images
I think Images could greatly benefit from having a tag/label system that allows you to decorate it, similar to how enterprise cache tags was implemented. That way, it is trivial to do things like "delete by user id X" as well as covering your use case.
jbergstroem··on Debunking Cloudflare’s recent performance tests
I can definitely see how new use cases opens up based on a 150ms (global) invalidation. Most of my use cases relies more on local invalidation and I haven't done enough homework about on what latency I really need (read: wrong line of business). That said; in the world of Cloudflare I think durable objects/kv store probably would come to serve as the next architecture for cache itself and lead to reductions in latency. Don't quote me on that though.
jbergstroem··on Debunking Cloudflare’s recent performance tests
In the context of "should I use Cloudflare or Fastly as my edge", I lean Cloudflare. That said, I enjoyed listening to the GraphCDN crew choosing Fastly[1] – one crucial feather in the hat being cache invalidation[2] (miss ya, Phil Karlton) – and it sounds like a solid choice.

[1]: https://www.youtube.com/watch?v=lpmpTJc_SP0 [2]: https://graphcdn.io/docs/how-to/purge-the-cache

jbergstroem··on OAuth with Cloudflare workers on a statically generated site
At my company we've been using workers extensively for routing, specific auth logic (including integration with Auth0) and more -- I guess moving towards an api gateway pattern. I loved it at first but its becoming very cumbersome to maintain. I'm currently migrating away from this pattern and try to keep logic closer to the application/code that leans on it.

tl;dr: Orchestrating many cloudflare workers at scale has not been a great experience.

jbergstroem··on Cloudflare’s Pace of Innovation
I've been deploying a lot of stuff on cloudflare over the years and have for a few months been using fly.io. As you say, they should slurp them up asap and make the cloudflare services available under `.internal`.
jbergstroem··on s/bash/zsh/g
I am very aligned with what you said but when it comes to shipping shell scripts (say sysops stuff, init, cron, ..) I tend to stick with the ksh/bash ecosystem mainly due to more tooling (shellcheck, shfmt, bats/bash_unit).

Most things that works in bash obviously works fine in zsh, but as the article very eloquently points out - lots of gotchas.

jbergstroem··on Finland joins Sweden and Denmark in limiting Moderna Covid-19 vaccine
Poor English aside; I've been struggling with finding sources. Will share as I find.

A message from the Swedish state epidemiologist, as quoted in context (https://tt.omni.se/vaccinering-med-moderna-pausas-for-yngre/...):

> Det här är väldigt osäkra data från en preliminär studie, så vi har inte pekat på någon särskild nivå. Vi har fått ta del av den här studien från Läkemedelsverket och ser att det finns en skillnad mellan de vaccin som finns tillgängliga och då menar vi att det i nuläget är bättre att vi använder det vaccin där man inte ser de här signalerna, säger statsepidemiolog Anders Tegnell till TT.

Translation (my own): These are highly insecure measurements from a preliminary study – there is no established certainty. This study was recieved from Läkemedelsverket [translation: Medical Products Agency] which acknowledges there is a difference between available vaccines. Our opinion is that we currently should use a vaccine where we cannot correlate these types of indications [personal remark: relations to myocarditis], says Swedish state epidemiologist Anders Tegnell to TT [ref: media]

jbergstroem··on Finland joins Sweden and Denmark in limiting Moderna Covid-19 vaccine
In sweden, this seems to be the "recommendation" from the government: https://www.folkhalsomyndigheten.se/nyheter-och-press/nyhets...

..which links to https://www.lakemedelsverket.se/sv/nyheter/covid-19-mrna-vac...

..which in turn seems to point here: https://www.lakemedelsverket.se/4a0b25/globalassets/dokument...

..which references EMA & EES which are European that states "145 cases of myocarditis out of 177M dosis of Comirnaty".

Have anyone else found a better source?

jbergstroem··on GitHub Actions: Ephemeral self-hosted runners and new webhooks for auto-scaling
There is an ongoing project built on top of act (the "local" github runner) that accomplishes this: https://github.com/ChristopherHX/github-act-runner
jbergstroem··on Automating a Software Company with GitHub Actions
I noticed their hadolint action and couldn't help but think it falls a bit short in terms of flexibility and output. I wrote an action to improve these type of use cases that can be found here: https://github.com/jbergstroem/hadolint-gh-action
jbergstroem··on Apple's DocC is excellent, but unusable for open source projects
Sounds like a good use case to support natively via cloudflare workers / their tool wrangler; which makes hosting less relevant. I know cloudflare is a no-go for many, but for the rest of us it makes sense. Could probably be hosted fully on their pages too?
jbergstroem··on WordPress 18
During the early 2000's I was part of creating a competitor to Wordpress and Pyra labs (blogspot) in Sweden called blogg.se. The reason it succeeded (read: outgrew both at the time, at least regionally) was two-fold: 1) The platform was available in a language the users preferred and 2) there was a human support crew that answered to questions.

Many years later, I'm happy to see Wordpress thrive – the power of one person's voice is more important than the platform itself. This is how any platform should work: empower their users, not control them.

Localization is mostly a solved problem today but empowering the user and respecting their rights isn't. I hope us developers can help pushing the ball in that direction.

Page 1 of 7Next →