HNHacker News
TopNewBestAskShowJobs

cjk

523 karma · joined January 28, 2011

Cody Krieger

CTO at Config (https://config.com)

Personal website: https://krieger.io

[ my public key: https://keybase.io/cjk; my proof: https://keybase.io/cjk/sigs/ItSjdGcDzRZHDPvBRf-EIRP4QOJEdA26KPBHvi7f3Nk ]

submissionscomments
cjk··on I'll think twice before using GitHub Actions again
I have never used a CI system more flaky and slow than GitHub Actions. The one and only positive thing about it is that you get some Actions usage for free.

The Azure machines GitHub uses for the runners by default have terrible performance in almost every regard (network, disk, CPU). Presumably it would be more reliable when using your own runners, but even the Actions control plane is flaky and doesn't always schedule jobs correctly.

We switched to Buildkite at $DAYJOB and haven't looked back.

cjk··on Sonos CEO steps down after app update debacle
I think the solid understanding of the product and its users is the important part, not whether you’re an engineer or not. That understanding (or lack thereof) can and does transcend role.
cjk··on Rails for Everything
For very simple username/password authentication, what Rails 8 provides is probably sufficient. But the moment you need other auth providers, 2FA, etc., Devise is very much still useful.
cjk··on Rails for everything
This is perhaps what you were hinting at when you said “wouldn’t be ideal”, but Active Record validations on their own are subject to race conditions with concurrent requests. The only truly safe way to ensure integrity of your data is to enforce validations/constraints at the database level.

IME you usually want _both_ the Active Record validations, and the database-level validations, because you get better error messages from the former, and the latter is just a safeguard.

cjk··on Building a 3D safety sensor with Rust
I see the same thing (Safari, macOS 15.2). It seems to be a design choice.
cjk··on Show HN: K8s Cleaner – Roomba for Kubernetes
Sure, I’ll grant you that at huge companies it’s probably easy to lose track of who is responsible for what and when resources ought to be cleaned up. But for small/medium-sized companies, using Terraform is sufficient. And while you can also use Terraform to manage resources on k8s, there’s a lot more friction to doing so than using YAML + `kubectl apply`. It’s far too easy to `kubectl apply` and create a bunch of garbage that you forget to clean up.
cjk··on Show HN: K8s Cleaner – Roomba for Kubernetes
I feel like the fact that this even needs to exist is a damning indictment of k8s.
cjk··on Ask HN: SWEs how do you future-proof your career in light of LLMs?
I truly do not believe that many software engineers are going to lose jobs to anything resembling the current crop of LLMs in the long run, and that’s because the output cannot be trusted. LLMs just make shit up. Constantly. See: Google search results, Apple Intelligence summaries, etc.

If the output cannot be trusted, humans will always be required to review and make corrections, period. CEOs that make the short-sighted mistake of attempting to replace engineers with LLMs will learn this the hard way.

I’d be far more worried about something resembling AGI that can actually learn and reason.

cjk··on Rumble CEO Chris Pavlovski Expresses Interest in Buying Google Chrome
“Far behind” is perhaps an overstatement, especially today. Things have rapidly improved in recent years, with a _lot_ of time and energy being spent on spec compliance and interop (see https://wpt.fyi/interop-2024).
cjk··on Rumble CEO Chris Pavlovski Expresses Interest in Buying Google Chrome
Former Safari engineer here.

There is not one iota of truth to that statement.

cjk··on Apple Removes Ability to Run Unsigned Apps in macOS 15.1
This claim does not appear to hold water. Works fine for me on both an M1 Ultra Mac Studio and M2 Max MacBook Pro running macOS 15.1.

Seems like it’s just a bug that the author is experiencing.

cjk··on Security flaws found in Nvidia GeForce GPUs
Agree wholeheartedly (and I used to work on Safari/WebKit).

Cross-platform app frameworks have never been a panacea, but I think there may be a middle ground to be found between the web and truly native apps. Something with a shallower learning curve, batteries-included updating and distribution, etc. that isn’t the web or Electron.

That said, I worry that it’s too late. Even if such a framework were to magically appear, the momentum of the complex beast that is the web platform will probably not slow.

cjk··on The Elimination Strategy – Why More Makes Your SaaS Worth Less
Yes! Agreed. I have some 7artisans lenses and have been extremely happy with them for the price.

I can't remember the name of the company offhand, but there's a big Chinese OEM that makes soft cases for guitars on behalf of many of the big international brands. They sell some first-party stuff, and it's high quality and super affordable.

cjk··on The Elimination Strategy – Why More Makes Your SaaS Worth Less
This 1000%. The number of fly-by-night Chinese “brands” with inscrutable names selling garbage-tier products makes Amazon’s search almost useless without a ton of extra filtering.

More often than not, I end up on Amazon product pages by way of The Wirecutter or other product review sites.

cjk··on Linux from Scratch
This, and its no-longer-maintained cousin, Cross Linux from Scratch[1], were instrumental in learning how to bootstrap a custom Linux distro for embedded devices (especially the CLFS Embedded variant[2]) at a previous job.

[1]: https://clfs.org/

[2]: https://clfs.org/view/clfs-embedded/arm/

cjk··on We need more zero config tools
Yep -- saw that listed in the linked article. I'm going to give it a shot, but this bit of the article gives me pause:

> I will say that it takes some getting used to as it folows the selection -> action model, i.e. you need to run wd instead of dw to delete the next word.

It'll take...a lot of effort for me to break that habit.

cjk··on We need more zero config tools
I try to do this as well, with the notable exceptions of neovim, zsh, and tmux.

My zsh configuration, despite being quite large, has never broken in strange and hilarious ways when adopting a new version of zsh. The opposite is true for neovim, and to a lesser degree, tmux.

Nearly every time I install a neovim update, something breaks (often LSP-related). The devs don't seem to give a rat's ass about backwards compatibility.

They also introduce silly issues like this[1], which are innocuous but annoying, and are then super pissy with people trying to comment on the issue to add context/etc.

All this to say: I'm definitely in the market for a new editor that has better defaults. Having to ditch my vim muscle memory is non-ideal, though.

[1]: https://github.com/neovim/neovim/issues/28058

cjk··on Pledging $300k to the Zig Software Foundation
Great to see. Super bullish about the future of Zig.
cjk··on A single server can go a long way these days
Personally, I find it loads simpler to use Packer + Terraform, and boot new machines when I have to re-spin the Packer image. Some of the Terraform modules maintained by the cloud providers can reduce the amount of boilerplate you have to write by quite a bit. It’s still non-zero configuration required, but IMO it is easier to understand and manage than piles of YAML.
cjk··on A single server can go a long way these days
I wish there were more people saying stuff like this these days. Reaching for k8s right out of the gate is so rarely the necessary approach.
cjk··on My IRC client runs on Kubernetes
I have had similar experiences on GKE. If a managed service can’t even get k8s right…
cjk··on My IRC client runs on Kubernetes
Even using managed k8s such as GKE, at $DAYJOB, we have run into issues where the default DNS configuration with kube-dns just falls over, and DNS resolution within workloads starts hanging/timing out. We were doing absolutely nothing special. Debugging it was challenging, and GCP support was not helpful.
cjk··on My IRC client runs on Kubernetes
I don’t know that that’s the right analogy. End users don’t have to write a mountain of configuration in order to effectively use the Linux kernel.

If k8s were as complex as it was, but didn’t force that complexity onto the user, I’d agree.

cjk··on Distributed Locks with Redis (2014)
Salvatore Sanfilippo (author of Redis and Redlock) wrote a response to Martin Kleppmann's analysis that is worth a read (though it is a bit dense and hard to follow at times): http://antirez.com/news/101

I think I agree with Kleppmann's analysis, though.

cjk··on So you want to build an embedded Linux system?
FWIW, some of the Allwinner stuff has fairly robust support in mainline Linux, and there are ongoing efforts to upstream missing bits: https://linux-sunxi.org/Linux_mainlining_effort

No vendor support is probably accurate, though.

cjk··on Dear Roku, you ruined my TV
I used to work at Roku (audio team). I left in late 2020, but I know that many of Roku's best and brightest were shitcanned as part of the several rounds of layoffs that happened recently, in an effort to cut costs.

It would not _at all_ surprise me to learn that this was a mistake, and that there's no one left that knows how to fix it.

cjk··on Ask HN: What is the best code base you ever worked on?
Probably WebKit.

I worked on Safari, and while I had to make changes to WebKit very infrequently, the quality of the code, tooling, and team were excellent.

I haven't seen that level of engineering excellence anywhere I've worked since -- it was consistent and pervasive. No one had to enforce that culture from the top because everyone bought into the vision.

cjk··on Nvidia CEO Jensen Huang: "I discourage 1-on-1s"
For me, one-on-ones are a super mixed bag. Personally, I get very little out of them. If I have feedback for my manager or vice-versa, I see zero reason to wait until a scheduled meeting to bring that up.

That said, I’ve managed people that absolutely needed regularly-scheduled one-on-ones, because they needed the dedicated time and space to bring things up that they otherwise wouldn’t in the normal course of business.

It really depends on the employee in question. I don’t think a one-size-fits-all approach works here.

cjk··on Show HN: I made a free app to calibrate your turntable by simply playing a song
Oh man. Love Tom Petty. RIP.
cjk··on Show HN: I made a free app to calibrate your turntable by simply playing a song
A bunch of the High Voltage-era AC/DC stuff was this way, IIRC. It's really awkward to play guitar along with the songs in question unless you painstakingly match the goofy tuning of the song, or adjust the pitch of the song first.
← PreviousPage 3 of 5Next →