Fun with Unix domain sockets
A small enhancement to Datasette this week: I’ve added support for proxying via Unix domain sockets. This started out as a feature request from Aslak Raanes: #1388: Serve using UNIX …
The latest blog posts to take off on Hacker News. 21,828 posts.
A small enhancement to Datasette this week: I’ve added support for proxying via Unix domain sockets. This started out as a feature request from Aslak Raanes: #1388: Serve using UNIX …
Welcome to part 1 of Modern C++ for C Programmers, please see the introduction for the goals and context of this series. In this part we start with C++ features that you can use to spice up your code ’line by line’, without immediately having to use all 1400 pages of ‘The C++ Programming Language’. Various code…
GitHub’s supply chain security features are now available for Go modules, which will help the Go community discover, report & prevent vulnerabilities.
Further adventures in JavaScript
Every year or so, something compels me to start over with a fresh OS image. Most recently, that something was an unfortunate water bottle incident. Once again, I need to pull down my digital life from the internet. The code and assets for this blog currently live in a 500 MB Git repository, which was hosted on…
The concept known as "worse is better" holds that in software making (and perhaps in other arenas as well) it is better to start with a minimal creation and grow it as needed. Christopher Alexander might call this "piecemeal growth." This is the story of the evolution of that concept.
namedtuple has been around since forever, and over time, its convenience saw it used far outside its originally intended purpose. With dataclasses now covering part of those use cases, what should one use named tuples for? In this article, I address this question, and give a few examples from real code.
EDIT: I never expected this post to garner so much interest. Just to be clear, using the constant is a very bad idea in almost every situation I can think of. Even instructions like RCPSS should only be used by people who are convinced that the tradeoffs are worth it (or don’t have any other choice). Subtracting from…
In some previous blog posts we described in details how one can generalize automatic differentiation to give automatically stability enhancements and all sorts of other niceties by incorporating graph transformations into code generation. However, one of the things which we didn’t go into too much is the limitation of…
Your eyes are not deceiving you. As of 5.0-14690, Dolphin now has mGBA directly built into it as a new way to handle Game Boy Advance connectivity with GameCube titles. For those who don't know, mGBA is the most renowned and accurate GBA emulator of this era and has been…
We are releasing the first post-1.0 release, making efforts to keep our promise of making regular releases each 3 months, a bit delayed because of the conference, and with special focus on keeping the language stability. Below we list the most important or interesting changes, without mentioning the several bugfixes…
Are cross-project changes in a single atomic commit the key advantage of monorepos? I do not think so.
T hese days, I find myself evangelizing for Julia quite a bit. It’s a good language, especially for scientific computing, but I believe its focus on performance also makes it a good general language as well. At some level, programmers who know multiple languages have an abstract understanding of the constructs used…
Collabora reverse-engineers Mali G78 instruction set and releases documentation, disassembler, and assembler for its
The Clojure Core team recently released a new Clojure library, tools.build , that is a culmination of thought around batteries-included build support for Clojure projects. I won’t go into detail around the history and contents of the library in this post because much of that is found elsewhere, including the…
The behavior of the graphics pipeline is practically standard across platforms and APIs, yet GPU vendors come up with unique solutions to accelerate it, the two major architecture types being tile-based and immediate-mode rendering GPUs. In this article we explore how they work, present their strengths/weaknesses, and…
“No, we don’t use Kubernetes”. That always gets raised eyebrows... so we decided to write about our reasoning behind this cloud architecture decision.
I'm a big advocate of Empirical Software Engineering. I wrote a talk on it. I wrote a 6000-word post covering one controversy. I spend a lot of time reading...
Find out more on the blog
10 Papers Every Developer Should Read - (At Least Twice)
"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.
_posted by John Clements_ Racket version 8.2 is now available from https://download.racket-lang.org. Racket CS improved the performance of large-integer arithmetic. Racket has improved support for layered and tethered installation. Racket ...
A glimpse of the upcoming paradigm shift in how we do development