Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Before the advent of LLMs, my hobby was failing to finish software projects that I hoped might be generally useful to a wider audience.
-
I reckon I’ve drafted and then deleted a version of this post at least 10 times in the last 12 months.
-
Last summer I was about to start a new job where I’d be working with the Go programming language on a daily basis.
-
This post is an expansion of a comment I made on HN recently and continues my Extreme Learning series.
-
When engineers discuss program design and system architecture, a common source of misunderstanding is concurrency.
-
Every technology stack has idiosyncrasies that can trip people up when they first encounter them.
-
There’s a fascinating chapter in Keith Johnstone’s Impro, called Status.
-
This post is an extension to a talk I gave recently at work.
-
Recently I built a system that uses vector search to logically truncate long documents and retain the most significant parts according to some search term.
-
For the last ten months or so I’ve worked on integrating GPT (various flavours) with a large production codebase.
-
Production outages are great at teaching you how not to cause production outages.
-
Previously for Extreme Learning, I discussed all the ways I’ve broken production using healthchecks.
-
One reason I like working at startups is you get to wear many hats.
-
One of my stock interview questions goes: “When picking between dependencies to use in production, what factors contribute to your decision?”
-
As engineers we spend a lot of our time debugging problems, yet it’s rarely taught as a skill in its own right.
-
There’s nothing earth-shattering here, but I can recall that each of these principles were not obvious to me at some point in time.
-
I’ve always wanted a dog, but could never get one because I lived in rented accomodation.
-
Last week I received the result of my WSET level 3.
-
Automating your release process saves time, eliminates tedious busywork and reduces the likelihood of mistakes when cutting a new release.
-
Historically, the Firefox Accounts (FxA) codebase was organised as separate repositories because it’s deployed as separate microservices in production.
-
Along with all the fun, creative stuff it enables you to do, programming sometimes requires you to carry out boring and repetitive editing operations.
-
JavaScript’s Array and Promise types compose nicely with functional programming idioms to control concurrency without recourse to 3rd-party libraries.
-
Time passes and it’s easy to forget about all the cool stuff you did or lessons you learned.
-
For Christmas I bought myself a Garmin Forerunner 645, after becoming irritated to the point of distraction by my Polar Flow M430.
-
Recently I sat my WSET level 2 and did pretty well.
-
Recently I wrote about how Rust macros make it easy to refactor repetitive code that might otherwise become annoying in a strongly-typed language.
-
About a month ago, we had an outage caused by a slow-running query in MySQL.
-
Refactoring boilerplate code is always easy in dynamically-typed languages, but sometimes takes a bit more effort when constrained by strong typing.
-
Richard Charles Maxwell Booth 25th June 1948 - 17th June 2018
-
Here’s three little Rust tricks that I learned in the last week or so.
-
Let’s say you have a huge amount of JSON data and you want to parse values from it in Node.js.
-
“Bad performance hurts user engagement” is a sentiment that feels intuitively true but can be hard to sell in product conversations.