HNHacker News
TopNewBestAskShowJobs

__s

5,696 karma · joined September 12, 2015

https://serprex.github.io https://etg.dek.im
submissionscomments
__s··on Half-Baked Product
Sai is https://news.ycombinator.com/user?id=saisrirampur

Maybe we were saved by being acquired before hiring sales. Sai knew the problem & understood customers. He'd sometimes oversell a bit, but managed it: kept pulse of capacity for new development, would ask about how hard requested features were, would feel out customer intent & guide customer adapt to what was already there

When we had our pepepizza moment, there was an understanding that it wasn't going to work, took learnings of what would be involved there, but kept focus on improving what we already had

For kafka connector we had a design partner, I got to work with them directly. They wanted 30 microsecond message processing, so didn't want json. Original ask was flatbuffers. I decided to put message formatting into a scripting layer using gopher-lua. Spent a weekend getting flatbuffers working with lua (it was buggy, opened half a dozen PRs to flatbuffers repo which got ignored). It was clearly awful having to manage flatbuffer schema files & update scripts every time schema changed. But I had alternative already made: msgpack. Throughput needed work but addressed that by creating pool of lua interpreters

Overall I overworked myself (put my hands out of commission & spent months relearning how to type on split ergo colemak-dh), but I enjoyed the work. Team was very open with each other & when performance is your selling point there's an understanding that engineering quality needs to be maintained. Sure there were parts of the system I hated, & sometimes I'd try chip away at those

Hopefully that helps, hard to say the difference, but I really feel in my work that when customer has problem I'm part of conversation. Most recently there was talk of customer wanting cold data offloaded from postgres which is what inspired https://github.com/ClickHouse/pg_clickhouse/pull/298 where we get Postgres to do most the work

Raised problems trying to mix C++ into postgres extension, decided fix was to write clickhouse-c library to replace clickhouse-cpp, there was some doubt on team about value, but demonstrated value (https://github.com/ClickHouse/pg_clickhouse/pull/254) & I appreciate my colleagues not being afraid to change their mind

There's a level of trust where instead of being assigning tasks on a board I instead work on what I think is important based on information available. Nobody was asking for wal-rus, but I know my fleet

ClickHouse Cloud similarly took route of taking its time hiring sales. Better to have a small sales team that can work directly with engineering on quality leads than overwhelming everyone so that sales becomes the enemy. Guess the difference is agency. When engineering is involved in making commitments they're invested in delivering & there's push back so sales doesn't start hallucinating features

__s··on Half-Baked Product
I did at peerdb
__s··on Looking Ahead to Postgres 19
You don't need to be charitable, Snowflake laid off technical writers citing AI to replace them: https://snowflake.help/snowflake-layoffs-2026-technical-writ...
__s··on Looking Ahead to Postgres 19
& ClickHouse has managed Postgres in open beta (which I work on)
__s··on Qwen 3.6 27B is the sweet spot for local development
I'm on 128GB ram strix halo, bought framework desktop for a few thousand CAD back when everyone was calling framework desktop overpriced
__s··on WAL-RUS: a Rust Rewrite of WAL-G for PostgreSQL Backups
If you're running pg yourself I recommend pgbackrest. It doesn't run as a daemon, & it forks multiple processes for concurrency. But it's simple to run as archive_command & is light on resources outside concurrency

wal-g/wal-rus have higher throughput

__s··on WAL-RUS: a Rust Rewrite of WAL-G for PostgreSQL Backups
tbf it took 4 years since PG15 support was added for me to fix remote BASE_BACKUP support & wal-g base backups being inconsistent on PG15+ (parameter typo had pg_backup_stop return before wal archived far enough for consistency)

https://github.com/wal-g/wal-g/pull/2262

but yes, this is young project, so fair take

__s··on WAL-RUS: a Rust Rewrite of WAL-G for PostgreSQL Backups
indeed, wal-g actually started as a port of wal-e which was Python: https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-...

wal-g was a much larger improvement over wal-e. we're optimizing the margins here

__s··on What If a Man Practised Shooting a Million Times? Shot 90172, Football Progress [video]
in reality no, for the sake of the analogy, yes
__s··on WAL-RUS: a Rust Rewrite of WAL-G for PostgreSQL Backups
Correct. We tune overcommit so postgres reliably returns out of memory. It becomes complicated to accurately tune overcommit for every AWS instance type. We configure GOMEMLIMIT/cgroups but those are about RSS. Outliers come together: instances running queries out of memory on our service tend to also be pushing other resource limits, causing wal-g & prometheus exporters to start having more erratic memory usage at the worst time

This helps on both ends of the cost spectrum. Large 64 core instances are where our heuristics fall off the most as variance increases, & tiny instances with 8GB of memory can use every 100MB of RSS we can get

__s··on WAL-RUS: a Rust Rewrite of WAL-G for PostgreSQL Backups
no. but wal-g & wal-rus both have parallelism over wal-e. however are you more asking about handling build up of wal / vacuum prevention caused by long running transactions? those are up to postgres, archive command only keeps pushing wal so that when postgres is ready to get rid of wal it can. seems like your scenario wouldn't care much what the archiver is since wal should be shipped long before postgres is ready to get rid of wal
__s··on What If a Man Practised Shooting a Million Times? Shot 90172, Football Progress [video]
Is it really false? You can go on about survivorship bias but in the end a prerequisite is necessary for opportunity/chance

Can't win the lottery if you never buy any tickets

__s··on I rewrote PostHog's SQL parser, 70x faster, while barely looking at the code
This is pretty much the case with every SQL dialect
__s··on Slate EV truck starts at $24,950
They're not organized: you go into the yard, find the vehicle you're looking for, take the part out yourself, & they weigh it on the way out
__s··on Slate EV truck starts at $24,950
https://www.andysautowreckers.ca they have a field of junk cars that people come in & harvest parts from
__s··on British Columbia, Time Zones, and Postgres
Seems like for airtightness you'd store utc alongside utc of when timestamp was stored alongside timezone
__s··on Inference cost at scale with napkin math
You can, people do. https://www.linkedin.com/posts/activity-7409593739138060288-...
__s··on PostgresBench: A Reproducible Benchmark for Postgres Services
Lack of protocol compression is painful with postgres
__s··on Ten years of ClickHouse in open source
Yes

https://clickhouse.com/resources/engineering/siem

https://clickhouse.com/blog/how-huntress-improved-performanc...

__s··on Can you see three trees?
Half dozen trees directly outside my window, but London Ontario is "the forest city" with an initiative to get 27% tree canopy to 34% by 2065
__s··on Ask HN: Will programmers write more efficient code during the memory shortage?
currently porting code from Go to Rust primarily motivated by memory efficiency gains
__s··on Ten years of ClickHouse in open source
Worked on peerdb. If you're able to batch changes on your end & push to both postgres & clickhouse, do that. Only move to peerdb when you know you need cdc
__s··on Peopleless economy? Not technically impossible
Landscape with Invisible Hand, only we grew the aliens instead of them showing up
__s··on How memory safety CVEs differ between Rust and C/C++
It's absolutely different: “I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.”

His mistake was making _all_ reference taking functions also accept null. In Rust functions opt into None | Some

This comes up with C# which must have default(T) so references default to null. In Rust there is no general default(T) that must always resolve

__s··on Hetzner Price Adjustment
Yep. With ai tooling I can keep prompting at 3am while sleep deprived. As a result I have mountains of slop plans / code to review. Hours of work which can't be matched by anyone who thinks they can poke a prompt for the day & go
__s··on Arch Linux Now Believes Malware Incident Under Control: More Than 1,500 Packages
I was concerned at headline, then saw "oh just AUR"

Next up, "millions of malicious packages still not taken down on internet"

__s··on WASI 0.3.0 Released
It has, but its usually just an optimization, so goes unnoticed
__s··on I Hate (Most) Keyboard 'Fn' Keys
for more info on thumb fatigue: https://getreuer.info/posts/keyboards/thumb-ergo/index.html

My issue was tendon overuse in my fingers, so low force switches & column splay worked for me

(splay is where the columns are not aligned, mapping to the fan out of the human hand, see TOTEM https://github.com/GEIGEIGEIST/TOTEM)

__s··on I Hate (Most) Keyboard 'Fn' Keys
I've switched to programmable ergo keyboards where there's a whole slew of options (https://precondition.github.io/home-row-mods just covers home row mods)

I've always hated stateful control. Always ripped out caps lock key from my boards (or later figured out remapping), same for insert mode

That's carried over, even with options like one shot mods, & cutting down to under 40 keys (& playing with 28, yesterday received a https://github.com/kilipan/zilpzalp), I still don't find stateful control necessary. More layers, combos, & tap-hold go far

__s··on Let's Encrypt bans certificate usage in any US sanctioned territory [pdf]
http://www.geekytattoos.com/illegal-tattoos-rsa-tattoos

tattoo yourself with crypto code to become munitions

← PreviousPage 3 of 34Next →