A terrible, horrible, no-good, very bad day at Slack
This story describes the technical details of the problems that caused the Slack downtime on May 12th, 2020. To learn more about the process behind incident response for same outage, read Ryan Katkov’s post, “All Hands on Deck”. On May 12, 2020, Slack had our first significant outage in a long time. We published a…
Rust/WinRT Public Preview
We are excited to announce that the Rust/WinRT project finally has a permanent and public home on GitHub: https://github.com/microsoft/winrt-rs Rust/WinRT follows in the tradition established by C++/WinRT of building language projections for the Windows Runtime using standard languages and compilers, providing a…
GitHub Super Linter: one linter to rule them all
Setting up a new repository with all the right linters for the different types of code can be time consuming and tedious. So many tools and configurations to choose from…
Ruby 3.0 Preview 1
We are pleased to announce the release of Ruby 3.0.0-preview1.
I Made a Self-Quoting Tweet
I'll try to leave the pulp in here and keep this as chronological as I can. In that spirit, no tweets were harmed in the making of this post.
Rust-analyzer – an IDE backend for Rust
I am pleased to announce the first alpha release of rust-analyzer — a new
Nubank acquires Cognitect
We are thrilled to announce that Cognitect is joining the Nubank family of companies. This is the next step in a long relationship, and opens new opportuniti...
How some good corporate engineering blogs are written
I've been comparing notes with people who run corporate engineering blogs and one thing that I think is curious is that it's pretty common for my personal blog to get more traffic than the entire corp eng blog for a company with a nine to ten figure valuation and it's not uncommon for my blog to get an order of…
Rust After the Honeymoon
Two years ago, I had a blog entry describing falling in love with Rust . Of course, a relationship with a technology is like any other relationship: as novelty and infatuation wears off, it can get on a longer term (and often more realistic and subdued) footing – or it can begin to fray. So well one might ask: how is…
Hands-Free Coding: How I develop software using dictation and eye-tracking
Earlier this year, I lost the ability to use a keyboard and mouse for extended periods. Fortunately, this wasn't as catastrophic as it sounds! This article chronicles my experience using adaptive tools like dictation and eye-tracking as my primary mechanisms for writing code.
Running a Unix-like OS on a home-built CPU with a home-built C compiler
[Thanks for many comments and votes on Hacker News! ] It’s been two years since I started working as a software engineer. I sometimes tell my colleagues about a student project I did in my junior year of university, and it’s so well-received that I’m writing this post. 1 Now, let me ask you a question. Have you ever…
What Is Nix?
This article is going to be a crash course in what Nix is, how to think about it, and why it's such a valuable and paradigm-shifting piece of technology.
What every software engineer should know about Apache Kafka
To help fellow engineers wrap their head around Apache Kafka and event streaming, I wrote a 4-part series on the Confluent blog on Kafka’s core fundamentals....
Don't set the language of your website based on user location
Location-based language setting is a bad idea. It's much better to use the browser's language.
PostgreSQL is the worlds’ best database
Experience zero data sprawl with EDB Postgres AI. Capable of handling 30B+ trades a day and managing 50 TB.
Software Engineering Within SpaceX
Have you ever been curious about how Software engineering within SpaceX works? I did some research and compiled my notes in this article. There are also some…
Bug #915: Please help
Updated: this was solved on Hacker News. Details in Bug #915: solved!
Twilio releases open source video conferencing apps for iOS, Android and web
Start your video app development with three new Twilio open sourced video collaboration applications for iOS, Android, and ReactJS for the Web.
Make LLVM Fast Again
Clang is an “LLVM native” C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles […]
Teleforking a Process onto a Different Computer
One day a coworker mentioned that he was thinking about APIs for distributed compute clusters and I jokingly responded “clearly the ideal API would be simply calling telefork() and your process wakes up on every machine of the cluster with the return value being the instance ID”. I ended up captivated by this idea: I…
SQLite as an Application File Format (2014)
An SQLite database file with a defined schema often makes an excellent application file format. Here are a dozen reasons why this is so:
Graphics for JVM
Introducing Skija, Java bindings for Google graphics library, Skia
Fixing Mass Effect black blobs on modern AMD CPUs
Graphical artifacts caused by a CPU, not GPU? Sure thing.
Bevy: A data-driven game engine and app framework built in Rust
After months of work, I am ecstatic to finally announce Bevy Engine! Bevy is a refreshingly simple data-driven game engine and app framework built in…
An Intuition for Lisp Syntax
Every lisp hacker I ever met, myself included, thought that all those brackets in Lisp were off-putting and weird. At first, of course. Soon after we all came to the same epiphany: lisp’s power lies in those brackets ! In this essay, we’ll go on a journey to that epiphany.
On Coding, Ego and Attention
My thoughts on coding, ego and attention. How I learned to get out of my own way by learning about this link between ego and attention.