Writing and linting Python at scale
Fixit is dead! Long live Fixit 2 – the latest version of our open-source auto-fixing linter. Fixit 2 allows developers to efficiently build custom lint rules and perform auto-fixes for their codeba…
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,842 posts.
Fixit is dead! Long live Fixit 2 – the latest version of our open-source auto-fixing linter. Fixit 2 allows developers to efficiently build custom lint rules and perform auto-fixes for their codeba…
What we learned from the December 2017 Go User Survey.
a guide to interactive rebasing.
A balanced take on the printf vs debugger debate: why there is no single right answer, and how to choose the right debugging approach for the situation at hand.
An examination of the software that powers modern Climate simulations.
Let’s start the week with Lambda Expressions. The plan is to have a set of concise articles presenting core elements of lambda expressions. Today you can see how the syntax has evolved starting since C++11 and what are the latest changes in C++20. The Series This blog post is a part of the series on lambdas:
My long-time collaborator Richard Barnes [1] used to say that "in security, trust is a four letter word" , and yet the dominant experience of using any software-based system—which is, you know, pretty much anything electronic—is trusting the manufacturer. Not only is there no meaningful way to determine what software…
Explore the risks associated with unaligned pointer accesses in GCC. Understand how these assumptions can lead to unexpected program behavior and potential security vulnerabilities. Learn best practices to mitigate these risks and write secure code.
Real-Time Garbage Collection (RTGC) tests the limits of what we typically think is possible in production software. You might hear “Real-Time” and “Garbage Collection” together and think “If you truly need real-time guarantees, why would you use a garbage collected language?” or “How is real-time Garbage Collection…
This summer, I am again working on Rust full-time, and again I will work (amongst other things) on a “memory model” for Rust/MIR. However, before I can talk about the ideas I have for this ...
ernesernesto dev blog
Large language models (LLM) have been all the rage for quite some time now. Looking beyond the hype though, they have severe limitations: hallucinations, lack o
A critique of React Server Components and Next.js 15.
In my job I get to speak to lots of people about Rust. Some are just starting out, some have barely ever heard of it, and then some people are running Rust silently in production at a very large company in a very serious product.
Or subtitle: Maybe distributed programming is no longer a programming problem? (For the obvious impaired: This is meant to be more thought provoking than an actual truth) Over the last decade we ha…
Rust is a systems language and therefore must give you raw access to memory. It does this (as in C++) via pointers. Pointers are one area w...
A blog about computer science education. Projects, resources, and ideas for teaching, learning, and using computer science. By a teacher for teachers.
People are debating this email from Linus Torvalds (maintainer of the Linux kernel). It has strong language, like: Some security people ...
Go generics are a new way to improve performance in golang. Let’s see what effect generics had on Google’s B-tree implementation.
Explore the fundamentals of the DICOM file format! This quick introduction covers the basics of DICOM's structure, its essential uses, and tips for easily navigating its complex and abstract components.
A while ago I read John Novaks great rant on how hard and annoying it can be to do something as simple as extending a cross-platform application with the simplest of GUIs. Or as he puts it:
It's not about technology for its own sake. It's about being able to implement your ideas.
There's been a bit of a brouhaha these last weeks as parts of the Internet suddenly woke up to the realization that most Single Page Apps are slow and overcomplicated, and — shock horror — it turns out that Facebook, the lovable scamps that brought us React and QAnon, have conducted themselves badly! Refreshingly…
DHH recently made a claim of Dependency Injection not being entirely virtuous, and got support from Tim Bray . While both make good point...
In this article we’ll look at how to implement the Elo rating system in code.
There is a misunderstanding about software engineering that AI is making increasingly visible: we tend to confuse writing code with building software.