Leveraging Rust and the GPU to render user interfaces at 120 FPS
From the Zed Blog: A deep-dive into the graphical underpinnings of GPUI, the hardware-accelerated framework that powers Zed's user interface.
From the Zed Blog: A deep-dive into the graphical underpinnings of GPUI, the hardware-accelerated framework that powers Zed's user interface.
Early in my research career, I had a chance to work with some of the best system researchers1 in the world on a number of really interesting system designs. One of the enjoyable aspects of research was the particular process used by researchers (particularly in the SOSP/OSDI community) to come up with novel yet…
Should you be scared of Unix signals?
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
News and insights on the Android platform, developer tools, and events.
Here is a Go function, if_max(). It finds the max value of an array of integers. Simple enough:
Recent optimizations in Tailscale improve UDP throughput, boosting performance for QUIC, HTTP/3, and other UDP-based applications on Linux.
In this blog post, I delve into the comparison of memory consumption between asynchronous and multi-threaded programming across popular languages like Rust, ...
An interactive guide to retrying requests: why naive retries overload a failing service, and how exponential backoff and jitter fix it.
You might have used libvirt , a Linux daemon that provides an abstraction and management layer for virtualization software. This daemon allows you to submit an XML file containing a description of a VM, disk image or network. libvirt is then able to configure, start it and keep it running.
For almost two decades, MSKey Readme 1 has heralded the defeat of Windows XP's product activation, not via mere circumvention , but by cracking the encryption algorithm itself.
A blog by and for database architects.
We are reverting this change for now. More details to follow. The default compression for Git archives has recently changed. As result, archives downloaded from GitHub may have different checksums…
A couple of weeks ago, I was in an internal meeting where our CTO (Adam Prout) was giving a talk to our summer interns. The talk was about the current state of database companies, and how different providers are competing on different facets of their products. As the talk was
I recently finished reading PostgreSQL 14 Internals by Egor Rogov. It is one of the great books that teach applied computer science without watering down the difficult parts. One particularly interesting topic is PostgreSQL’s execution of UPDATE statements. Updates in relational databases are inherently complex. They…
From live events to hands-on product demos to deep technical research, see what we're doing with AI at Red Hat.
Code run in a lightweight Virtual Machine can’t take advantage of the Efficiency cores of the host Apple silicon Mac. How then does Sonoma handle its threads?
A retrospective on a NetBSD server set up in 2010 under tight deadlines, running almost untouched for over a decade on consumer-grade hardware-proof of the OS's remarkable stability.
It is difficult to write software which reliably and safely manages processes on Unix; this is because of flaws in the API. I know of no Unix system which has solved these problems, but in this article I'll be specifically talking about the Linux process API.
I've been using SQLite in several production projects for six months, and I've encountered some surprising aspects.
Why some report macOS updates as being more than 1 GB smaller than the figures given here. Don’t believe the size given by softwareupdate.
Everybody loves a monolith, but you can hit issues as you scale. Learn how splitting workloads can improve your monolithic architecture's performance and scalability, and understand the trade-offs between monolithic systems and microservices.
Xe Iaso's personal website.
This year, the YJIT team and I have gotten a paper accepted at MPLR 2023 (Managed Programming Languages and Runtimes), which is now freely available through ACM open access. The paper, titled “Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach”, goes into details of the strategy taken to…
The bouncing DVD logo is a fun and easy coding project. Watching Daniel Shiffman code it in p5.js is one of my earliest programming memories. However, the naive solution is far from optimal.
In software, it is common to represent time as a time-stamp string. It is usually specified by a time format string. Some standards use the format %Y%m%d%H%M%S meaning that we print the year, the month, the day, the hours, the minutes and the seconds. The current time as I write this blog post would be … Continue…
Has this ever happened to you? You want to look at a JSON file in your terminal, so you pipe it into jq so you can look at it with colors and stuff. That’s a useless use of cat. …oh hey cool bear....