Making Games on Your Own as an Engineer
In the Unity for Software Engineers (now updated and available as a book), series, I give an accelerated introduction to game development in Unity.
The latest blog posts to take off on Hacker News. 1,517 posts.
In the Unity for Software Engineers (now updated and available as a book), series, I give an accelerated introduction to game development in Unity.
How types might be the missed part of the future of code
At this point, most developers use Git as a tool for collaboration. We have our rote-learned commands to pull, commit, and push. And of course, there's that one coworker who knows a bit more about Git…
Jean-Luc Godard is quoted as saying, “A story should have a beginning, a middle and an end, but not necessarily in that order.” What order is best to tell the story of a compiler?
Wouldn't it be nice if more JSON tools supported a truly pretty JSON format? Demand options for truly pretty JSON now! Viva la revolucion!
The page "Falsehoods Programmers Believe About Names" covers some of the ways names are hard to deal with in programming. This post will ignore most of those complexities, and deal with the problem of matching up loose user input to a database of names.
In this article, we'll look at how to design REST APIs to be easy to understand for anyone consuming them, future-proof, and secure and fast since they serve data to clients that may be confidential.
Summary: JWCC is a minimal extension to the widely used JSON file format with (1) optional commas after the final element of arrays and objects and (2) C/C++ style comments. These two features make it more suitable for human-editable configuration files, without adding so many features that it’s incompatible with…
Research software (i.e., software written to support research in engineering or the sciences) is usually a tangled mess of spaghetti code that only the author knows how to use. Very occasionally I encounter well organized research software that can be used without having an email conversation with the author (who has…
Over the last 25 years, I’ve written a lot of event-driven code in C++. A typical example of event-driven code is registering a callback that gets invoked every time a socket has data to be read. Once you have read an entire message, possibly after many invocations, you parse the message and invoke another callback…
Go is not an easy programming language. It is simple in many ways: the syntax is simple, most of the semantics are simple. But a language is more than just syntax; it’s about doing useful stuff . And doing useful stuff is not always easy in Go.
Say you run an online book store and want to build a data pipeline that figures out who the top-selling authors are. Logically, the input to the pipeline is a log of every individual book purchase on the store for all time, along with details about each book like who authored it. And the output is a list of the…
I released Datasette 0.55 and sqlite-utils 3.6 this week with a common theme across both releases: supporting cross-database joins. Cross-database queries in Datasette SQLite databases are single files on disk. …
An introduction to the TCC course “Formalising Mathematics”
To infinity and beyond!
There is a popular movement on Choosing Boring Technology started by article by Dan McKinley, followed by some discussions on Hacker News…
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…
There’s a scene in Moneyball in which Brad Pitt’s character, the manager of the Oakland A’s , is watching a recording of one of his players trying so hard to run fast that he stumbles and falls. Lying on the ground he’s angry at himself, because he doesn’t realize that right before he started his run he hit a home run…
This post is the second in a three-part series about Cranelift . In the first post , I described the context around Cranelift and our project to replace its backend code-generation infrastructure, and detailed the instruction-selection problem and how we solve it. The remaining two posts will be deep-dives into some…
Proposed on the upstream mailing list as a new RFC (Request for Comment), this update contains more details and instructions for building and running the Wayland driver.
The Streams API allows JavaScript to programmatically access streams of data received over the network and process them as desired.
Today you are frustrated.
Going directly to a microservices architecture is risky, so consider building a monolithic system first. Split to microservices when, and if, you need it.
News post: Gleam v0.14 released!
Learn some zsh tips to blow your mind and make your developer workflow easier.