HNHacker News
TopNewBestAskShowJobs

conradludgate

1,600 karma · joined August 1, 2019

I write code sometimes. https://conradludgate.com
submissionscomments
conradludgate··on Show HN: How long do I need to work at my salary before I can coast, or retire?
I don't think I'll ever retire, but I'll take jobs knowing that the salary won't matter for me which unlocks a lot of options for me again
conradludgate··on UTF-8000: Unlimited UTF-8
> This is a fun standalone project / proposal
conradludgate··on UTF-8000: Unlimited UTF-8
Rely on it? Not that I can remember.

However, Rust makes use of it for fast safety checks. Because rust strings must be valid utf8, if you want to take a substring at some range, eg "Hello, World!"[7..12] then it's very simple to just check bytes 7 and 12 and see if they are the start of a codepoint, no other scanning or parsing is required.

conradludgate··on I don't like passkeys
It's usually the same site that keeps asking in my experience - they don't bother to remember your preferences
conradludgate··on I don't like passkeys
This is what I use to log into our remote desktop software at work. The passkey is on my phone and I scan a QR code presented by the remote desktop software (in this case it's the Windows App on my macbook and Microsoft Authenticator on my android).
conradludgate··on I don't like passkeys
The password integration breaks because it's trying to detect password fields rather and failing because of weird HTML/JS code.

The passkey integration goes the other way, which is much more reliable.

conradludgate··on Devastated father says his 9-year-old son spent $118,000 on YouTube ads
That's literally not what happened.
conradludgate··on Don't call yourself an artisanal programmer
Yes, these are the only two options. That is definitely true.

It's of course impossible to have any nuance or middle ground here where you use LLMs to assist while you still focus on the engineering design decisions and the quality.

conradludgate··on Don't call yourself an artisanal programmer
Likewise, I've found many bugs using LLMs in the small software libraries I hand wrote and considered complete and correct - even though it was my sole focus at the time and I thought I had perfected it
conradludgate··on Don't call yourself an artisanal programmer
she*
conradludgate··on Ask HN: What default model do you use and why?
For personal use, Luna-xhigh on the Plus subscription. I only ever hit my limits if I decide to use Sol or Astra for a bit more quality.

For work, given we pay API pricing anyway, I've been happy experimenting with K3-medium as my default, and now I'm planning on trying GLM 5.3 as well. Sol-medium is my fallback for my work purposes but I occasionally use Opus 4.8 as an additional reviewer.

I like the open weight models because much of my time at work is spent on security hardening (specifically, hardening my own service), and Sol/Opus keep snitching on me and blocking my prompts.

conradludgate··on ChatGPT Images 2.5
The slop is what upsets me the most right now.

Some people feel the need to attach an image to almost everything the post - even in chat rooms (including slack at work). These images serve no purpose, but the poster feels it is useful - though it was often reaction gifs in the past I'm seeing a lot more AI content than I ever saw reaction gifs, maybe because of novelty or maybe because it's ultra personalised.

Sometimes images help to visualise something or to get a point across, but I see so many people who think it's necessary to reply to a discord message with a cat with human limbs doing a dance, or a photo of "themselves" climbing a mountain with the Rust logo to show them mastering Rust... Ok?

Image models are useful and I'm thankful for much better visual reasoning but it really really frustrates me the constant need to burn money for all of this slop.

conradludgate··on ChatGPT Images 2.5
[flagged]
conradludgate··on I'm a seeing-eye dog for a computer
Nowadays it's the anonymous accounts that are generally most likely real, and the "real name" accounts with a human profile picture are most likely mass generated. You just use a name generator and pull profile pictures from Google images and you have a real user profile
conradludgate··on Programming is Art
I think a key difference is that most programming careers, the artistic outlet (code) is not what is being sold to customers. The customer might feel something if the app works fast, but they won't feel anything about the fun bit packing and struct-of-array design you did for personal enjoyment
conradludgate··on Claude Fable 5.1 and Claude Mythos 5.1
I think about removing please/thanks, but then I accidentally add them back in during some edit/rewrite of the prompt... It's just how I'm used to asking for things
conradludgate··on uv: Deduplicate all files in the wheel cache
Hopefully it crashes if corrupt... But it could instead jump straight to some code designed to clean up files and delete your database
conradludgate··on Select * from Internet.blogposts
No. atproto (which is what bluesky is based on) supports all kinds of public media - for instance https://standard.site/ which is designed for longer form static content.

You can choose where your PDS runs and the ecosystem still works. If one relay shuts down (Google Reader) or takes their API private (X, Reddit) it shouldn't matter, the PDS are separate and another relay can take over.

Worst case you can go directly to the PDS, but that wouldn't work at scale

conradludgate··on Air Conditioning Is Not a Luxury, It Is a Necessity
In our London apartment leasehold, we have a water-sourced air conditioning unit. No external condenser required, it instead dumps the heat into the waste water. It has been incredibly helpful during this heat wave as someone who really struggles in the heat and works from home.

It's not ideal during a drought though to be using water like that, it would be nice if we had a grey water tank system so we didn't have to waste drinking water. It doesn't seem possible to install a grey water tank like that in our apartment though. Given our apartment already has district heating, there's not a super strong reason why it couldn't have district cooling as well, but the regulations are not in our favour here.

We installed it all without planning permission, although it still might require permission from the freeholder depending on the rules regarding Service Media alterations (as it requires new plumbing for our mains water).

conradludgate··on Z.ai confirms Ox Alpha is a new GLM-series model and will release its weights
How much did you spend on hardware and electricity to run your free models
conradludgate··on To become a better writer, read as much as you can
I'm not someone who typically reads books, so I have some perspective. Although I'm not the type of person who would fool myself into actually exploring the medium of writing.

Everyone likes stories in some form. Everything has a story and it's natural for the brain to invent new stories. Some stories are addictive - brain worms - you just need to explore the story you developed. Writing is the cheapest medium to explore it.

I'm certain if I wrote a book no one would want to read it - but maybe it's still a good story.

conradludgate··on Malicious Rust crate Arrayref runs a build-time payload
As someone using bazel at work, the find script was much more amenable to me trying to audit our usage - we don't use cargo, so no cargo cache or cargo audit, but I can still figure out whether a particular package was downloaded.
conradludgate··on Taffy: A flexible, high-performance, cross-platform UI layout library
I'm in my late twenties, grew up in the south west. This is my first time hearing about this term
conradludgate··on AI usage patterns in software teams
What I've observed is that by prompting for longer I get to keep my brain focused on the architectural ideas (networking, protocols, data structures, etc) rather than worrying about the most performant/elegant implementations.

I always enjoyed writing code and I am very good at writing very performant and elegant code, but it would sometimes come at the detriment of focusing on the code and not the design.

conradludgate··on Cursor launches Origin, GitHub alternative
Spindles (CI) can use configurable engines, which includes nixery or microvm (which is similar to github actions). You're not forced into nixos

I don't understand how it forces you to engage with Rust. It happens to be written in Rust but that shouldn't be a major consideration for a user

conradludgate··on Does anyone run Postgres without PgBouncer?
pgbouncer runs as a single threaded service, so it ends up getting bottlenecked by some heavy clients on typical server CPUs with low clock speeds.

Sharding/peering pgbouncer works, but it's not perfect.

More significantly for us is that Neon has millions of databases in each region, and thousands get created/destroyed every hour. Managing the pgbouncer config and shared connection pools will be extremely tricky to balance. We have a bunch of logic for this in the proxy I maintain, but not in pgbouncer.

The main intent is to incorporate a pooler directly into our existing proxy service to avoid needing double proxy services. We just need to find the right pooler implementation (and one that works in async Rust)

conradludgate··on Kyiv blows up biggest Wildberries hub in drone attack
I think it's a matter of perspective. It's Russia's war. The Russian people didn't want this, but they have to live with their leader's decisions. For the Ukrainians, the alternative is surrendering to Putin.
conradludgate··on Kyiv blows up biggest Wildberries hub in drone attack
I imagine they want the people of Russia to feel the economic pain of the war, and vote/protest accordingly.
conradludgate··on Does anyone run Postgres without PgBouncer?
(I work on the postgres proxy layer at Neon)

PgBouncer is entirely optional and it's not always the right choice. If you have a classical app (non serverless) and you can maintain a connection pool from your app, then I recommend avoiding pgbouncer.

The benefits of pgbouncer mostly come from irregular client connections (too many, too much churn). If you don't have that problem, go direct to postgres.

I'm exploring replacing pgbouncer with an alternative (maybe home grown) at the moment. Mostly for multi-tenancy and HA reasons. Pgbouncer has been good for us, but it's limited in how we can deploy it in a multi-tenant environment.

conradludgate··on For the love of god stop using CPU limits in Kubernetes
While I agree that CPU limits tend to make your performance worse, I don't think the delivery of the post is all too convincing (and is pretty heavy on the LLM-isms that it's putting me off from reading).

It mentions that a cpu request is a guarantee, but how is that enforced? If I have 32 pods running on a 32 core machine, each with 1cpu requested, what stops one of those pods using an unfair share? I assume we just rely on the Linux scheduler. If I have 16 pods with 1cpu and 1 pod with 16cpu, does the Linux scheduler make sure to give the 16cpu pod more time? Or are we back to using cgroups.

Page 1 of 20Next →