HNHacker News
TopNewBestAskShowJobs

JensRantil

804 karma · joined August 21, 2012

Swedish/English; Developer (@tink), mathematician/engineer, traveller, nerd, left handed, juggler, guitarist, african drum player. Inspired Swede.

[ my public key: https://keybase.io/jensrantil; my proof: https://keybase.io/jensrantil/sigs/lxsQ3_wfe5J1Akf75bO42UAhjVdv3TPY0WoT01wbMJA ]

submissionscomments
JensRantil··on Ask HN: Am I the only “unlucky” software engineer?
Hm, out of six interviews I've had in Sweden only a single one did that kind of test. Norm might be an overstatement.
JensRantil··on Queue Despair: Ordering and Poison Messages
...it might be a smell, but they sure are bound to happen eventually; Corrupt user state or unhanded corner cases etc. Better plan for that in advance.
JensRantil··on There are over one trillion SQLite databases in active use
https://twitter.com/bagder/status/1467895841541210118?t=pPU8... and https://daniel.haxx.se/blog/2021/10/21/the-most-used-softwar... might be relevant here. TLDR; cURL is likely installed in even more devices (but not listed on SQLite's page).
JensRantil··on Ask HN: How do you tackle your own negativity?
There's also the Buddhist concept of "Basic Goodness" which might be interesting here.
JensRantil··on Meterorite chunk crashes into house, bedroom, pillow
This is why I must sleep with a helmet from now on.
JensRantil··on Memcached vs. Redis – More Different Than You Would Expect
Two small comments:

1) memcached has excellent support for checking cache hit ratio. Just telnet to it and execute "stats". Most client libraries have support for the stats command, and there is a Prometheus exporter for memcached that works really well.

2) A problem I've seen with Redis is that it is _stateful_. While, "it's still not really any more complicated to install/maintain than memcached" is true for running it locally, I keep seeing over and over again how engineers

i) don't think about backup/restore at all.

ii) expect it to behave like a disk-backed database and don't consider it's limited to the amount of memory you have.

iii) don't consider that it (usually) is a secondary data store that can be out of sync with primary datastore (distributed commits are hard).

iv) don't consider that a proper Redis setup likely needs support for point-in-time recovery and the complexities around that and redundancy/failover.

While Redis is easy to setup as a cache and likely doesn't need the above, I keep seeing them organically grow into being used for other use cases where the above things are not in place, yielding very high operational risks sometimes not acknowledged anywhere.

JensRantil··on Memcached vs. Redis – More Different Than You Would Expect
Nah, Redis also has support for evicting keys when it runs out of memory, thus making it a cache.
JensRantil··on Memcached vs. Redis – More Different Than You Would Expect
The article states

> Memcached slabs once assigned never change their size.

This is incorrect. Modern versions of Memcached has support for this. See for example [1].

[1] https://www.loginradius.com/blog/async/memcach-memory-manage...

JensRantil··on Ask HN: What can I do to actively fight climate change?
I did just c) - I'm joining https://normative.io as an engineer at the beginning of next year for this particular reason. The company helps other companies decrease carbon emissions by generating sustainability reports.

I'm _very_ excited to be a tiny part in helping humanity solve one of our biggest problems.

JensRantil··on How Sweden became the Silicon Valley of Europe
Funny the article didn't mention the recent Tink acquisition by Visa[1] when talking about Fintech. A 1.8 billion Euros acquisition is a pretty big thing.

[1] https://techcrunch.com/2021/06/24/visa-to-acquire-open-banki...

Full disclosure: My employer is Tink.

JensRantil··on The Baked Data architectural pattern
Correct, but there's nothing stopping your from having a lambda function regenerating S3 content from Hugo periodically/by request.
JensRantil··on Show HN: Open-source A/B testing framework
This reminds me of https://github.com/sixpack/sixpack which I've been eyeballing for years.
JensRantil··on The Baked Data architectural pattern
The popular static site generator Hugo also supports static data in the form of a 'data' directory[1] where JSON files and other stuff can be stored.

[1] https://gohugo.io/templates/data-templates/#readout

JensRantil··on Feedgnuplot – plotting standard input in the shell
I started using Feedgnuplot a few weeks ago after getting tired of the complexities of plotting the data output from AWK and other CLI utilities. My options were preciously to install Matplotlib (including Python virtualenv) or GNUplot, remembering the exact commands to read a CSV format, plot and output to a window/PNG. Or needing a spreadsheet. Feedgnuplot makes all this a breeze. I'm a happy man now.
JensRantil··on Launch HN: MergeQueue (YC S21) – Automate rebasing and merging for your codebase
We're a >200 people company that's been using bors-ng for more than 4 years now for a monorepo. It's been a joy to use Bors! I'd thought I'd just chime in a little here:

> 1. We focus on being "no-maintenance", since our primary value prop to customers is "you won't have to spend eng resources on merge problems any more". This means: a one-click "set and forget" install, no additional config files to maintain or DSL to learn, unlike bors.

Bors was a breeze to set up and has been super stable and easy to upgrade. We used their Docker container and you need a PostgreSQL database.

> 2. We have all the security and access-control features you'd want (we're Soc2 compliant, offer on-prem etc). This is important since the product interacts with our customers' source code.

For a monorepo you can get really far using Github's CODEOWNERS file and requiring an approval in bors.toml.

> 3. We offer various customizations on merge workflows to help our customers optimize the exact parameters they care about (eg: developer wait time vs CI costs vs time to identity bad PRs in a batch, optimistic merge heuristics etc)

Nice! One issue we've seen is that a large backlog of PRs that needs to be merged, combined with a failing PR, is that bifurcations can easily build up a large backlog. We've looked at various different strategies to cope with that[1].

[1] https://forum.bors.tech/t/draft-rfc-support-building-batches...

Above said, I really think the _real_ solution to handling large backlogs really lies in speeding up the CI build, not adding even more complexity to handle a backlog. This includes adding caching à-la Earthly[2] et al., but also moving away from heavy integration/system tests etc.

[2] https://earthly.dev

JensRantil··on Tink Is Joining Visa
Yep, it was free. We tried to monetize it in a few ways but never managed to make it profitable. Also, we loved the app, too!
JensRantil··on Tink Is Joining Visa
Yes. Tink operates within the EU and is, as such, required to fulfill GDPR.
JensRantil··on Turkey vows to solve 'sea snot' outbreak
I think Erdogan just vowed to fix climate change. Great!
JensRantil··on Ask HN: How do you keep track of releases/deployments of dozens micro-services?
"Microservices" is a tool to solve problems. The goal isn't microservices, the goal is to solve those problems. Example of problems it might solve: Unclear ownership, slow innovation, unstable software or orthogonal scaling of features.
JensRantil··on Ask HN: How to Speak Confidently?
I've learned to speak confidently, but something I'm struggling with is having an opinion on the spot about something.

Something that really helps me is coming prepared (including asking for expected outcome of meeting and an agenda - it's not too much to ask for - beforehand) and making sure the meeting sticks to the agenda. By doing so, I can prepare beforehand with notes, and I also make sure that we stick to what I've prepped for. Hope this helps!

JensRantil··on Wasted man years by Jira, per day
Yes, and one additional wish would be better UX in general; "Why do you I need to expand to show the latest comment if I sort cronologically in a ticket?", "Text edit fields differ in behaviour depending on where I am", "Links in text fields gets expanded to some hardcoded box with icons making it really hard to see the cursor.", "How do I move a ticket to and from a board other than from the 'Backlog' view?" are some things that quickly comes to mind.

The strongest arguments I hear for Jira is that "it can do everything" and "everyone else in the market are using it". Those are null arguments to me.

JensRantil··on Show HN: Grit – a multitree-based personal task manager
Looks like a CLI version of Workflowy (https://workflowy.com) to me.
JensRantil··on Show HN: Full text search Project Gutenberg (60m paragraphs)
Nice project! You might want to ask a designer to give it a look. UI is a little cluttered.
JensRantil··on Tips for a Better Life
> Steeping minutes: Green at 3, black at 4, herbal at 5. Good tea is that simple!

This is simply not true unless you drink cheap tea bags. Some good teas, for example green, should sit for only 10-20 seconds.

JensRantil··on Please – A cross-language build system
If I was building a company today I would use Earthly instead of Buck, Bazel or Please. I think Earthly gets out of the way of actually low-level builds and instead focusing on high-level, Dockerised targets. The benefits range from allowing proper IDE support, to very easy system/integration tests, while still reaping the benefit of remote execution and aggressive caching.
JensRantil··on Why I left my tenured academic job
> Confession: I have secretly (?) envied my industry friends for many years, and not for their money. I envied them because they could seemingly have some work/life balance and at the same time spend their time on something technical and used "for real".

Work/life balance is not necessarily better outside of academia. In fact, my observation it might generally be worse.

JensRantil··on Ask HN: What weird or hard problems are you trying to solve?
Understanding people. They keep surprising me!
JensRantil··on Ask HN: What are your favorite developer-efficiency tips?
I sometimes like to leave my source code in a dirty (uncommitted) format where I've left a comment with what I intend to do next. I quickly jot this down at the end of a workday, or if I need to run to a meeting or have a short conversation with a colleague. This reduces friction for me to get started coding next time I'm back by the computer.
JensRantil··on Ask HN: What are your favorite developer-efficiency tips?
I recently learned iTerm2 (on MacOSX) allows me to select and copy text from previous command, using keyboard only. https://kevinjalbert.com/iterm2-mouseless-copy/ I've always been annoyed having to reach for a mouse for this.
JensRantil··on Ask HN: What are your favorite developer-efficiency tips?
Nice! I totally agree with this! I've used https://www.conventionalcommits.org (initially from Angular, I think) and it has _really_ made me a better programmer. Worth pointing out that it also simplified code review a lot to make PRs less of a frictionpoint.
← PreviousPage 4 of 7Next →