There's a joke in my friend circle that asks "is it a database?" A startup, a program, a syscall, a person good with numbers, a person with a good memory. It's all very "is it a sandwich.” But it’s kind of true that it’s weird you can look at RocksDB and Snowflake and say “these are the same class of thing,” because they have very little...
Viterbo conjecture – refuted Claude Viterbo’s 2000 volume-capacity conjecture asserts that the Euclidean (even dimensional) ball maximizes (every) symplectic capacity among convex bodies of the same volume. In the recent paper A Counterexample to Viterbo’s Conjecture, Pazit Haim-Kislev and Yaron … Continue reading →
Continuing with our series. This is day 2, Tuesday morning. It had two session on Hardware. I wasn't exaggerating when I said hardware/software codesign was all the buzz at HPTS this year. It looks like future databases will be more tightly integrated with hardware capabilities and more responsive to user needs.You may have gotten a bit tired of...
A while back I did a deep-dive researching and prototyping note-taking tools. It was the logical continuation of my life-long interest in writing and creativity tools or, at least, I thought it was at the time. But, the more I researched the audience – both through interviews and reading through so, so many forum threads – I realised that a...
This paper from SOSP 2011 describes a distributed storage system called Walter. Walter targets web applications that operate across multiple geographic sites, and it aims to balance consistency and latency in such systems by providing strong consistency within a site, and weaker consistency across sites.Parallel Snapshot Isolation (PSI)The paper...
I’m excited to offer the next giveaway, 1 Standard license ($89 value) for Screen Studio. I’ve long used ScreenFlow to create screencasts, and then discovered Screen Studio (thanks Mike Schmitz). If you just need to create a beautiful screencast with adjustable background, window zooming, and cursor enhancing/smoothing, Screen Studio does it all...
Note on the bubble The problem with predicting the imminent pop of the AI Bubble by pointing out how incredibly bad its business fundamentals are, is that tech investors – the crowd that needs to panic for the bubble to pop – have an extremely high tolerance for falsehoods and unrealistic promises. Otherwise they wouldn’t be investing in tech....
My stance on masonry arriving in CSS is pretty clear: get the focus situation sorted and then I might be more interested. I personally think masonry is quite an antiquated design pattern, but it still finds itself on the web a lot so not needing JavaScript for layout is only a good thing. I’ve not been subscribed to the idea of masonry being...
I’m going to the States soon and have been looking at booking up some restaurants while I’m away. In particular, I wanted to book for Cheesecake Factory, but when I went to do so, I found I could only do that if I registered. Fair enough, so I went to the registration page. I discovered […]
Following on from my post about the "disposable web" and building things just for me, I thought it might be useful to collate an evergreen list of all the things that I'm building (and their code) so that you can see some of the things they do and inspect the code that is produced (I am expecting that there are issues and if you spot any, it...
A two-part pie chart lets me see how much bandwidth I've used this month, and whether I'm on track to exceed my bandwidth allowance.
Dieter Rams and his friends (Dietrich Lubs and Ludwig Littman) designed many great looking alarm clocks. I'm looking for one for a long time. Because I have many books about Braun (the company) and Dieter Rams, here are some of their designs:The various vintage desk and alarm
Intro Last week I was catching up with one of my best mates after a long while. He is a well-recognised industry expert who also runs a successful cybersecurity consultancy. Though we had a lot of other things to catch up on, inevitably, our conversation led to AI, LLMs and their (cyber)security implications. I’ve spent the last couple of months...
Last night we did this live session on performance engineering.
As a JavaScript engine developer at [Igalia](igalia.com) I don’t find myself writing much plain C code anymore. I’m either writing JS or TypeScript, or hacking on large compiler codebases in C++1, or writing ECMAScript specification language. Frankly, that is fine … Continue reading →
Just like a utility player on a sports team discovering their ideal position, internal mobility allows you to explore different areas of engineering and find your true passion.
subtext: in my opinion, and for companies (and their users) that want a good balance between protecting their core business with Open Source ideals. Following up to my thoughts on the case for funding Open Source, there is a second topic I want to discuss in more detail: Open Source and commercialization. As our founder likes to say: Open Source...
Aahh… LinkedIn. I’ve been struggling with the platform for years. One the one hand, I’ve made some great connections on there, and it has helped me tremendously in increasing my visibility, or, as I sometimes put it, as a platform for shameless self-promotion.
I wrote last month that what you want to do is one of the most useful motivations in life. I want to follow that up by saying that the only thing more important than wanting to do something is to actually do something. The most valuable trait you can develop for yourself is to be consistent. It is absolutely something you can develop. And...
Every day, I look out for little things that make me smile. I sometimes take notes, knowing that those notes may bring back memories of the thing that brought me joy and the moment surrounding it. My Moments of joy series, in which I document things that made me smile, has helped me refine my storytelling skills. Since I was a child, I have loved...
As somebody directly involved with an upcoming programming language, I'm often in discussions about how to model things in the ecosystem like, say, the package manager, and how those decisions impact the project in the long term.When reading Simon Willison’s excellent blog post "Things I’ve learned serving on the board of the Python Software Foundation" (which I recommend...
I remember vividly when I first saw Picasso’s “Fernande with a Black Mantilla” painting. I was visiting the Guggenheim museum in New York. The spiral dome was under maintenance in preparation for a new exhibit (although that did not stop me from peeking through the curtain to see the vastness of it as I walked up the spiral platform through the...
The first time I went on call as a software engineer, it was exciting—and ultimately traumatic. Since then, I've had on-call experiences at multiple other jobs and have grown to really appreciate it as part of the role. As I've progressed through my career, I've gotten to help establish on-call processes and run some related trainings. Here is...
subtext: in my opinion, and for companies (and their users) that want a good balance between protecting their core business with Open Source ideals. Following up to my thoughts on the case for funding Open Source, there is a second topic I want to discuss in more detail: Open Source and commercialization. As our founder likes to say: Open Source...
Bluesky recently saw a massive spike in activity in response to Brazil’s ban of Twitter. As a result, the AT Proto event firehose provided by Bluesky’s Relay at bsky.network has increased in volume by a huge amount. Before this new surge in activity, the firehose would produce around 24 GB/day of traffic. After the surge, this volume jumped to...
Everyone’s talking about Jemima Kelly writing for The Financial Times about how Bluesky is the return of the left/liberal echo chamber because (and I might be paraphrasing just a bit here)...
Last timeLast time I was looking at letter spacing with my renderer to see how it compared to Google Chrome on Mac. But while doing that I noticed that their antialiasing looked nicer than mine. So I tweaked parameters, including antialias edge width, gamma, and threshold bias. I was looking at letter spacing with my renderer to see how it compared to Google Chrome on Mac. But while doing that I noticed that their antialiasing looked nicer than mine. So I tweaked parameters, including antialias edge width, gamma, and threshold bias.
Everyone’s talking about Jemima Kelly writing for The Financial Times about how Bluesky is the return of the left/liberal echo chamber because (and I might be paraphrasing just a bit here) people on that platform don’t put up with nazis in the name of balance or civility, as if we somehow don’t know about the paradox of tolerance. That there is a...
So, back in June the White House announced that UCLA would host a binational US/India workshop, for national security officials from both countries to learn about the current status of quantum computing and post-quantum cryptography. It fell to me my friend and colleague Rafail Ostrovsky to organize the workshop, which ended up being held last […]
September 22, 2024 September 22, 2024
While getting ready to teach my While getting ready to teach my grad distributed systems course this fallgrad distributed systems course this fall, I found myself once again flipping through Cheriton and Skeen’s , I found myself once again flipping through Cheriton and Skeen’s rather scathing 1993 article “Understanding the limitations of causally and totally ordered communication”rather scathing 1993 article “Understanding the limitations of causally and totally ordered communication”..
Oops, that last Cassette Vision post was supposed to be a review of some games for it. This is a fairly historically important console, but not a huge seller; video games didn’t really boom in Japan until the Famicom. Not a flop by any means, but maybe keep that in mind. What’s the difference between the titles on the Famicom and the titles here?...
When you read a great blog post, the feeling you often get is: “I already knew this, I just hadn’t been able to express it!” In this sense, writing a great blog post is about listening. If you’re listening — to others, your coworkers, the people you follow, your own experiences, your users, etc. — there are undertones of something being said...
Ramanujan discovered an incredibly accurate approximation for the perimeter of an ellipse. This post will illustrate how accurate the approximation is and push its limits. As with all computations involving ellipses, the accuracy of Ramanujan’s approximation increases as eccentricity increases. But the error increases slowly, and in fact is...
Back in August, Murat Derimbas published a blog post about the paper by Herlihy and Wing that first introduced the concept of linearizability. When we move from sequential programs to concurrent ones, we need to extend our concept of what “correct” means to account for the fact that operations from different threads can overlap in … Continue...
In the comments of my last post—on a podcast conversation between me and Dan Fagella—I asked whether readers wanted me to use AI to prepare a clean written transcript of the conversation, and several people said yes. I’ve finally gotten around to doing that, using GPT-4o. The main thing I learned from the experience is […]
This is pretty amazing, although I am very sad that my Quest 2 isn’t supported. I do like the way you can preview your project alongside, and find the promise of real-time editing and debugging in a virtual space particularly intriguing. And I love that it is Godot doing it, now, on consumer hardware. That quick feedback loop is something that...
Cosmopolitan's Windows support may finally be feature complete. It's now possible to send signals between processes using kill() on Windows. Ten new torture test programs have been written to tease out more fixes and offer a high level of assurance that signal handling is correct. Some of these tests are good...
It's been almost a year for me developing, maintaining, and running a production web application written in Rust.
They stole my voice with AI Listen to this clip: Your browser does not support the video tag. I don't know about you, but that sounds pretty familiar. I mean I would like you to subscribe to my channel. But that's the Jeff Geerling channel, not Elecrow, where the clip above is from. I never said the words that are in that video....
Teams often neglect to create good documentation. Code gets delivered, but updating the docs is treated as a secondary task, easily postponed—until it’s too late.
Being a human judge at the Weights & Biases LLM-as-a-Judge Hackathon
AirPlay is a generic name for a number of Apple technologies, the most interesting of which is its HTTP-based photo and video sharing protocol. Resources RPiPlay, a Raspberry Pi-compatible AirPlay mirroring server AirReceiver, an Android application that has mostly worked for me. UxPLay a generic Linux mirroring daemon that has some support for...
Marion Fourcade and Kieran Healy dive into how the imperative to create, measure, and collect data wherever and whenever possible has scrambled our ways of knowing the world, each other, and crucially ourselves.
Kusto Query Language (KQL) is a powerful query language that is used to query Azure Data Explorer (ADX) and Azure Monitor log data. KQL is used to query data in tables, summarize data, and perform advanced analytics. Resources Category Date Link Notes Libraries 2024 Azure Data Explorer Advanced Analytics Library user functions, sample queries &...
MathJax.Hub.Config({ CommonHTML: { scale: 105 } }); table.xyz { table-layout: fixed; border-collapse: collapse; margin-left:auto; margin-right:auto; } table.xyz th, table.xyz td { border: 1px solid black; } table.blueTable { border: 1px solid #1C6EA4; background-color:...
Let’s say you have a long-lived git branch. Most of the changes should be merged back to main, but some of the changes were already cherry-picked from main, and some of the changes shouldn’t be put onto main at all. How do you review the branch and merge it?Here’s a diagram of a simple example. The main branch at the top has seven commits. ...
I first made this site back in 2016, and since then it hasn’t had any substantial updates to its design or overall structure. Here we are now in 2024, and I find myself to be a developer with a blog that doesn’t have a dark theme.
While I’m going to continue posting here, when there’s a reason for it, I’m holding off on manually importing any more old posts. The best thing about Pika is that...
While I’m going to continue posting here, when there’s a reason for it, I’m holding off on manually importing any more old posts. The best thing about Pika is that it’s dead simple and offers me almost no temptation to tinker, because except for a little CSS there’s nothing to tinker, and this is why I decided to land here. That said, the thing...
Weeks of coding can save you hours of planning. It’s one of those sayings that’s been around forever, and for good reason—it’s a warning that still holds up today.
Advice on competing for great software engineers without name recognition
The Age of Software Artisans Writing software is dead, long live writing software! The world always changes. It’s the only true, everything else is guessing. People who’ve worked in tech for a long time know that things come and go. We’ve been through this before, and we’ll go through it many times again. Maybe they do now, in this decadent era...
How is your knowledge of knots? Despite being an Eagle Scout, I would have to answer: very poor. While I’m confident that just about everyone knows the Overhand knot, the Reef knot (or Square knot), a shoelace knot (or more), and a Slip knot. As a Boy Scout, throw a Bowline into that mix. And yet, if I was tasked to tie a knot outside the context...