Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 1,274 posts.
Lossy GIF compressor
This is an encoder (based on gifsicle ) which implements lossy LZW compression. It can reduce animgif file sizes by 30%—50% at a cost of some dithering/noise.
Adding an Effect System to OCaml [video]
Jane Street is a quantitative trading firm and liquidity provider with a unique focus on technology and collaborative problem solving.
Speeding up the charting of sensor information as a waveform graph
A common problem that we have seen come up in several projects, is how to plot large datasets over time in an efficient manner using Qt. Here is one approach that we have found to work well in some situations, maybe it helps you out in your project.
Generalized data structure synthesis
Generalized data structure synthesis Loncaric et al., ICSE’18 Many systems have a few key data structures at their heart. Finding correct and efficient implementations for these data structur…
How to build an NPM worm
npm is a registry and package manager for JavaScript that ships as part of Node.js . It's used by tens of millions of people to install hundreds of thousands of packages billions of times every week.
Examples of Parallel Algorithms from C++17
MSVC (VS 2017 15.7, end of June 2018) is as far as I know the only major compiler/STL implementation that has parallel algorithms. Not everything is done, but you can use a lot of algorithms and apply std::execution::par on them! Have a look at few examples I managed to run.
Create a simple cross-platform desktop game with Go
A few months ago I fiddled around with writing Space Invaders using Go. I had a lot of fun writing it but the output only worked on iTerm2 because it used a specific feature of that terminal. In order to play the game you’d really have to download iTerm2 and run it on the command line. I thought it’d be fun to muck…
Visualizing SQL Plan Execution Time with FlameGraphs
Update: I wrote a follow-up article about adding Loop Counters and Row Counts to SQL Plan FlameGraphs. I also show some old examples of “Bookshelf Graph” visualizations there. Check it out after reading this post first. Introduction Brendan Gregg invented and popularized a way to profile & visualize program response…
A todo list for new ASP.NET Core projects
Here are a few things you can do to make your life easier when starting a new ASP.NET Core project, or reducing duplicate code without using boilerplate. Validate model state automatically The usual way would be to have this in almost every action in all controllers: if (!ModelState.IsValid) { // return bad request…
More Things I Wish I’d Known About Bash
My previous post took off far more than I expected, so I thought I’d write another piece on less well-known bash features.
Vert.x native: how to run a JVM app in 10Mb of RAM
I’ve been working with GraalVM for a while now mostly on the Polyglot aspect, but some work has been done in the native image support. Today I’d like to shar...
Symbolic Execution: Intuition and Implementation
In this article I give a brief tour of a program analysis technique called symbolic execution. As the title indicates, I aim to explain both the intuition behind the technique, and also the details of a simple implementation. My intended audience is professional programmers who have no background in program analysis.
A promenade of PyTorch
Musings on navigating the tech bubble with philosophy and self-improvement.
The Great Theorem Prover Showdown
Functional programming and immutability are hot right now. On one hand, this is pretty great as there’s lots of nice things about functional programming. On the other hand, people get a little overzealous and start claiming that imperative code is unnatural or that purity is always preferable to mutation. I think that…
Liftoff: a new baseline compiler for WebAssembly in V8
Liftoff is a new baseline compiler for WebAssembly, shipping in V8 v6.9.
Fixing a Bug in an 18 Year Old Shockwave Game
The story of changing a single byte
Understanding the C/C++ memory model
I know that a lot of people struggle with understanding the memory model introduced in C11/C++11. In a recent conversation I was alerted to the existence of this blog post, which while correct (by …
Just what does “code as data” mean anyway? (2014)
Recently, I’ve seen popular articles on macros and metaprogramming in Nimrod and Elixir . Both of these are wonderful metaprogramming systems, to be sure, but I couldn’t help but imagine some in the audience smirking inwardly – and occasionally less inwardly. What odd syntax! How out-of-place they are! If only there…
UTF-7: a ghost from the time before UTF-8
On Halloween this year I learned two scary things. The first is that a young toddler can go trick-or-treating in your apartment building and acquire a huge amount of candy. When they are this young they have no interest in the candy itself, so you are left having to eat it all yourself.
A response about dep and vgo
Peter Bourgon has a web site, and this is that web site.
.NET Standard 2.1
Since we shipped .NET Standard 2.0 about a year ago, we’ve shipped two updates to .NET Core 2.1 and are about to release .NET Core 2.2. It’s time to update the standard to include some of the new concepts as well as a number of small improvements that make your life easier across the various implementations […]