Evolutionary couplings between files reveal poor software design choices
Given a software code repository together with all commit history, can you spot potentially problematic parts of the software?This is the question I have bee...
Topics /
The most popular blog posts about software engineering on Hacker News. 21,828 posts.
Given a software code repository together with all commit history, can you spot potentially problematic parts of the software?This is the question I have bee...
Around 2000 I took an AI course at the University of Guelph. I don’t think I learned too much. We didn’t talk about neural networks, as far as I can remember. My end of term project was, I think, a pathfinding algorithm wearing an AI costume. There were certainly no discussions of transformers. No CUDA. No PyTorch…
I have taught operating systems at my university, so I will link my notes from that course here regarding the virt I/O protocol. This protocol has changed over the years, but the one that QEMU implements is the legacy MMIO interface.
I've made my own web-based coding environment for working on little projects. A few years ago I found Glitch. It's great: a web-based coding environment that makes it really easy to quickly start edit
Multiplayer has been the single most requested feature for Teardown ever since before its initial release. Synchronizing physics over the network is already known to be hard, and on top of that we have a completely dynamic, destructible world with full modding support. For a long time, we considered the whole idea…
How to stream local files using Python and 11 lines of code.
Writing a lisp compiler from scratch in JavaScript: 1. lisp to assembly
From today we’re open-sourcing all of our books. They can all be downloaded for free, or you can checkout the source from their Github repositories. In this post I explain why we made this decision and what it means for our books in the future
Hi all, PyPy-STM is now reaching a point where we can say it's good enough to be a GIL-less Python. (We don't guarantee there are no more...
For the past two months I've been spending half my time on Tauthon . Tauthon is a backwards-compatible Python interpreter that runs Python 2 code and C-extensions exactly as-is, while also allowing Python 2 programmers to use the most exciting new language features from Python 3. These new backported language features…
I've been enjoying using Go's database/sql package for working with databases. Recently, some mentions of gorm piqued my curiosity about using ORMs in Go vs. using database/sql directly. Having had some mixed experiences with ORMs in the past, I decided to start with a practical experiment by writing the same simple…
Since early 2022, Motion was on CockroachDB. Cockroach has many qualities going for it: effortless horizontal scaling, especially when…
I recently had cause to take a beginners course in R - a language I'm fairly familiar with. One of the other students had never used it before, so we were buddied up in order for me to show them the ropes. The first lesson of R is always the same. Read a CSV, manipulate it a bit, draw a graph. We did it all without…
Uber has widely adopted Golang (Go for short) as a primary programming language for implementing backend services and libraries due to its high performance. The Go monorepo is the largest codebase at Uber, comprising 90 million lines of code (and growing). This makes tooling for writing reliable Go code a critical…
One of the anonymous reviewers of my recently published Storage Combinators paper ( pdf ) complained that hiding disk-based, remote, and lo...
From the highly eclectic blog of Mark Dominus
How we migrated our Tier 1 service from ruby to rust and didn’t break production.
Rémy Rakic is helping us enable the adoption of memory safe software through work to improve Rust compile times. We asked him to provide his perspective on the work in this blog post. Thank you for your partnership and contributions, Rémy! Josh Aas, Head of ISRG's Prossimo project Introduction Over the past few months…
Many years ago, I've been waiting for a language like Go. Back then, I was primarily working with C (for microcontrollers), and C++/Java/Python/etc (for bigger machines). These are great tools, but still I was longing for compiled, statically typed, memory-safe (and garbage collected) language, which compiles for the…
Sobit Akhmedov is a staff software engineer with 14 years experience building e-commerce, financial and cloud storage solutions for startup and Big Five companies.
I keep designing physical parts for our robots. Motor mounts, sensor brackets, wheel hubs. Every time, the workflow is the same: open a GUI CAD program, click a
Permission is granted to copy, distribute and/or modify this document under the terms of the Open Publication License, version 2.0.
Stop writing Javascript frameworks. Translations: Chinese Japanese Russian Here's the talk, based on this essay, that I gave at OSCON 2015. [Slides] The 100-line templating library presented as a Gist has been cleaned up, documented, and published as the Stamp library. JavaScript frameworks seem like death and taxes…
TrueType is a widely used vector font standard for rendering text in web pages, PDFs, operating systems, and applications. Familiar fonts like Helvetica, Garamond, and Monaco are all built on TrueType outlines. The format specifies a hinting interpreter intended to help outlines rasterize faithfully on low-resolution…