Pandas 2.0 and the Arrow revolution
about me
Topics /
The most popular blog posts about software engineering on Hacker News. 1,136 posts.
about me
TL;DR I’ve been working on a WebGPU optimized inference and autograd library called webgpu-torch with an API that matches PyTorch. The goal is to run neural networks in the browser at speeds comparable to a Linux workstation. Many kernels have been implemented and its design is easily extensible. It’s available on NPM…
Debian is a large, complex operating system, and a huge open source project. It's thirty years old now. To many people, some of its aspects are weird. Most such things have a good reason, but it can be hard to find out what it is. This is an attempt to answer some such questions, without being a detailed history of…
This post introduces [[butler]], a virtual operating system that runs multi-players applications on the web. In two parts, I present:
If we're building things that we want to work in five or ten or even 20 years, we need to avoid dependencies and use the web with no layers in between.
In March 2018, I had been a full-time indie game developer for four years. My heroes were Jonathan Blow, Lucas Pope, and Robyn and Rand Miller. I had 2,500 Twitter followers, an ambitious title under my belt with thousands of sales, and a free office in a hip coworking space near downtown Columbus, generously provided…
Visual studio code tunnel Introduction Since July 2023, Microsoft is offering the perfect reverse shell, embedded inside Visual Studio Code, a widely used …
I’ve wanted to automate my home for a long time… having a background in industrial automation and software development, it felt like I was in a great position to be an early adopter.
Recently, Valve announced that Counter-Strike 2 would no longer support macOS . As a one-man indie developer who has released a game supporting macOS , I find myself at first surprised at Valve’s decision. But after looking back at my own journey of supporting six platforms, I feel I can understand Valve’s perspective.
Programming, Coffee and Indie Hacking
There are endless debates online about Rust vs. Zig, this post explores a side of the argument I don't think is mentioned enough.
In my previous role, I supported a Java service that operated similarly to RDP or Citrix by enabling remote UI functionality. This service relied on sessions, which consisted of interconnected Java objects that were supposed to be cleaned up either when a user logged out or after a predetermined timeout period.
I’ve been leading a team developing an application using Elixir, Phoenix and LiveView for the last 18 months and accumulated some thoughts on the stack. For the most part, it has been a very pleasant experience.
In a recent pull-request for curl, I clarified to the contributor that their change would only be accepted and merged into curl's git code repository if they made sure that the change was done in a way so that it did not break (testing) for and on legacy platforms. In that thread, I could almost … Continue reading…
I offer a high-level model for why software work feels like it sucks now: we don't treat software like creative output.
This is my opinionated list of four approaches to building websites and web applications. Publicly hosted on the internet, serving HTML, CSS, JavaScript, images, etc over HTTP.
git rebase: what can go wrong?
The major compilers have an enormous number of knobs . Most are highly specialized, but others are generally useful even if uncommon. For warnings, the venerable -Wall -Wextra is a good start, but circumstances improve by tweaking this warning set. This article covers high-hitting development-time options in GCC…
Facets of Prolog
Once you become an engineering executive, an invisible timer starts ticking in the background. Tick tick tick. At some point that timer will go off, at which point someone will rush up to you demanding an engineering strategy. It won’t be clear what they mean, but they will want it, really, really badly. If we just…
9 Must-Read Books for Software Engineers in 2023 — As a software engineer, staying up-to-date with the latest developments and best practices...
There are two main historical trends when choosing an implementation language for something compiler-shaped.
A deep dive into the theoretical framework and the technical implementation of a text CRDT.
Kevin Yank’s website
NESFab is a new programming language for creating NES games. Designed with 8-bit limitations in mind, the language is more ergonomic to use than C, while also producing faster assembly code. It's easy to get started with, and has a useful set of libraries for making your first — or hundredth — NES game.
There are roughly three classes of language features: Features that the language is effectively designed around, such that you can't add it after the fact....
wingolog: article: a world to win: webassembly for the rest of us