An roller coaster of an interview with a series of FizzBuzz extensions that are honestly not even that bad, but poor form from the interviewers’ side not to recognize the absolute balling brilliance on display here.
Do not fall into the trap of anthropomorphising Larry Ellison. You need to think of Larry Ellison the way you think of a lawnmower. You don’t anthropomorphize your lawnmower, the lawnmower just mows the lawn, you stick your hand in there and it’ll chop it off, the end. You don’t think ‘oh, the lawnmower hates me’ – lawnmower doesn’t give a shit about you, lawnmower can’t hate you. Don’t anthropomorphize the lawnmower. Don’t fall into that trap about Oracle.
For those who want to introduce some whimsy into their programming and for whom using a variable width font in your code editor is a bit too far, there is now Comic Mono (via). It doesn’t even look all too terrible.
I love Github Projects for tracking work. It’s close to the code and engineers understand it natively. I feel you can deliver features of any size with it if you work with the tool.
A lack of knowledge about queueing theory and a dash of wishful thinking make this a common trap for most developers to believe that as long as you add bigger queues you can wiggle your way out of any scaling problem.
The Agents chapter from Chip Huyen’s book “AI Engineering” is clear and enjoyable to read. She’s right that “the concept of an agent is fairly simple” but building something functional still looks like a massive lift.
A live coding environment to create 3D graphics using signed distance functions written in the Janet programming language. Click through and edit some of the embedded examples to get a feel for how amazing this is.
I’ve had to spend more time than I like thinking about how datetimes are stored in databases and even the commonly accepted practice of storing UTC does not work for all cases.
The terminal I use daily (because it’s the best really), fish, has been rewritten entirely in Rust, because it’s nice and more fun: “For one, fish is a hobby project, and that means we want it to be fun for us. Nobody is being paid to work on fish, so we need it to be fun. Being fun and interesting also attracts contributors.”
The o3 AGI result looked so noteworthy that I dove into it. I read one of the papers that’s at the base of the approach and thought it was pretty interesting.
An overview of the year in databases by Andy Pavlo that does not pull any punches. I learned a bunch of things (and I somewhat keep up with this area).
I think for sure we’ve built an Erlang but even then again Erlang is such an esoteric environment that I would barely consider using it to be an alternative. Where would you start and how would you get other people onboarded?
Another take on the old adage that writing the code is the easy part of software engineering. The real work is figuring out what has to be built and how. Once that is clear, the actual building can be done relatively quickly and linearly.
The low-latency user wants Bigtable’s request queues to be (almost always) empty so that the system can process each outstanding request immediately upon arrival. (Indeed, inefficient queuing is often a cause of high tail latency.) The user concerned with offline analysis is more interested in system throughput, so that user wants request queues to never be empty. To optimize for throughput, the Bigtable system should never need to idle while waiting for its next request.
I get to have a lot of conversations around compliance and this is as good a “SOC2 for tech people” guide as I could have asked for by the good people at Fly.
Judging from this article, it will probably not be good for the acceptance of new technologies long term to build data centers in drought struck areas.
Postgres seems to reign as the database solution of choice but there are lots of new specialised databases that are worth looking at. All of these can be used in production at scale for the right application.
That’s an amazing overview of all the things that can and will go wrong in online PvP gaming. It covers the range from networking exploits to all the in-game ways that people try to grief or abuse others.
So I felt I couldn’t really bring myself to do Advent of Code this year since I have more than enough other things to do (and watch and play) and with work and the kids, it’s always pretty miserable to keep up.
Seeing if I can move from Arc to Vivaldi but there are half a dozen radical improvements in Arc that *make* the experience. It just shows how much innovation and solid thinking was packed in all of that frivolous design.
Chuffed by the strength of my team that we have most of the easy decisions from these Node.js pillars in place and we are making headway on all of them to the extent that’s appropriate for us.
Nicolas from All About Berlin has done so much to make living in this administrative nightmare bearable for people. It’s a very clear example of what kind of 10-100x improvements are there to be had.
I painstakingly built a bespoke Rust web application to host the Cuppings venue data and to add Google place_ids to almost 2000 Foursquare location. That’s been done for a while now but now we have the announcement of Foursquare open sourcing their location dataset.
Cool to read this long view from the inside by Carlton Gibson of what has made Django work (and not work) for the past 20 years. Django has been a stellar achievement that’s been a cornerstone of my career and I look forward to see the project reach new heights.
Reading these database migration stories is usually interesting, but what I found especially noteworthy here is that all of the Django features they used to make it easy for themselves have been in there for more than a decade.
Filing for myself for if we need to really work on Postgres integration tests: https://gajus.com/blog/setting-up-postgre-sql-for-running-integration-tests
I’ve been waiting for an updated edition of “Designing Data-Intensive Applications” and now I see that Kleppmann is working on it. Reading the first edition has given me such an outsized advantage when architecting and building systems.