My favourite API is a zipfile on the European Central Bank's website
Simple data pipeline powertools: sqlite, pandas, gnuplot and friends
The latest blog posts to take off on Hacker News. 21,821 posts.
Simple data pipeline powertools: sqlite, pandas, gnuplot and friends
Stack smashing: How Linux creates the stack and runs a program. Then mess with it.
Getting a kickstart in the logic programming world with Prolog
Code linearity is more desireable than keeping abstraction layers separate.
<p>A webhooks allow two applications to communicate events. It is relatively simple to get started using webhooks using HTTP and JSON. However, there a number of failure scenarios that developers should be aware of in order to make their webhook implementation robust.</p>
Because life doesn't have to be hard all the time
What are the options for game developers looking to migrate away from Unity?
Go 1.21 adds a new port targeting the WASI preview 1 syscall API
“When will there be a Rust IDE?” Update: RustRover is now generally available, with free non-commercial use and commercial licensing options. Learn more about the RustRover release. We get this
Creating a standard programming major mode presents significant challenges, with the intricate tasks of establishing proper indentation and font highlighting being among the two hardest things to get right. It's painstaking work, and it'll quickly descend into a brawl between the font lock engine and your desire for…
We write about Windows Internals, Hypervisors, Linux, and Networks.
We’re once again at the end of our internship season, and it’s my task to provide a few highlights of what the dev interns accomplished while they were here.
How local-first software works: sync engines, CRDTs, replicated databases, developer tools, architecture tradeoffs, and when to use each approach.
We launched the Datasette Cloud blog today. The Datasette Cloud site itself is a Django app - it uses Django and PostgreSQL to manage accounts, teams and soon billing and payments, then launches dedicated containers running Datasette for each customer.
Every release has a killer feature. Qt 6.6 features the opposite - staying alive. This blog post describes work to make Qt clients more robust and seemlessly migrate between compositors, providing resistance against compositor crashes and more.
Yesterday I was on a train. I clicked on a link and my browser loaded a long article for me to read. Halfway through reading it, the train went into a tunnel and I lost signal. That meant I couldn't see the images on the other half of the page for the rest of the journey. I had a sea of broken images. Even though the…
In the final part of our series, we'll implement an edit modal.
Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and…
Facets of Prolog
I've experienced first-hand how using UUID hurts the usability of computer systems, and I want you to understand why you certainly don't need it.
Summary In this post I’ll go into detail about how, during my contracting work for Shimmer Industries (a company founded by Eskil Steenberg which is focused on developing a real-time lighting designing software), I worked on a piece of software which enabled us to use the MacOS and iOS APIs using a custom C API…
If you ever tried to learn how the Harris corner detection algorithm works, you might have noticed that the process is not intuitive at all. First, you start with an energy function, approximate it using Taylor approximation, get a matrix from that, then find the eigenvalues of that matrix, etc. But when you come to…
Let's write the docs like it's 2023.
I've got a reputation at work as being a skilled debugger. It's a frequent occurrence that the weird stuff lands on my desk [1] after it goes through another skilled engineer or two. To say my job is substantially "debug the weird shit" would not be an understatement and I'm here for it.
I've been floating ways to simplify the memory management story in Rust around the core team lately. Memory management is a contentious topic, since we've worked hard to get to the current state of things, and with the push toward stability lately, there is a (quite reasonable!) resistance to any changes at this…