Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 808 posts.
Deep Learning Basics with Python, TensorFlow and Keras
Python Programming tutorials from beginner to advanced on a massive variety of topics. All video and text tutorials are free.
The Story of ISPC: Intel SPMD Program Compiler
Collected together all for your convenience.
History of Spring Framework and Spring Boot
Spring framework is arguably one of the most popular application development frameworks used by java developers. It currently consists of a large number of modules providing a range of services. These include a component container, aspect oriented programming support for building cross cutting concerns, security…
Go: The Good, the Bad and the Ugly
This is an additional post in the “Go is not good” series. Go does have some nice features, hence the “The Good” part in this post, but overall I find it cumbersome and painful to use when we go beyond API or network servers (which is what it was designed ...
A Better Way to Implement Bit Fields
One of the main use cases for the Zig Programming Language is operating system development and embedded development. So, what better way to make sure the language is suitable than to work on a project in this field?
The vgo proposal is accepted. Now what?
Last week, the proposal review committee accepted the “vgo approach” elaborated on this blog in February and then summarized as proposal #24301 . There has been some confusion about exactly what that means and what happens next.
Something about functions in Bash (2017)
Here's something you didn't know about bash functions. Usually when you write a function you do this: function name () { ... } Right? I know you do, because that's how everyone writes functions. Well, here's the thing. In bash { ... } doesn't mean "function's body" or "function's scope" as in JavaScript or C. It's...
Show HN: Domain-tailored CRDTs for collaboration without server involvement
An in-depth exploration of a new class of expressive, performant, and intuitive CRDTs, together with macOS and iOS sample code.
Linkers and Loaders (1999)
The text in these files is the unedited original manuscript. M-K has fine copy editors, who have fixed all the minor typos, spelling, and grammar errors in the printed book, but if you come across factual errors I'd still appreciate help getting all the details of linking and loading as complete and correct as…
How I ended up writing opensnoop in pure C using eBPF
opensnoop in pure C using eBPF
The Math of Card Shuffling
Riffling from factory order to complete randomness.
On undoing, fixing, or removing commits in git
This document is an attempt to be a fairly comprehensive guide to recovering from what you did not mean to do when using git. It isn't that git is so complicated that you need a large document to take care of your particular problem, it is more that the set of things that you might have done is so large that different…
Outperforming LAPACK with C++ metaprogramming
Still not really about LAPACK. It's a second part of the “outperforming” series explaining how the C++ metaprogramming can appear useful for efficient code generation.
Rainbow Deployments with Kubernetes
or: how you can deploy services to Kubernetes that require long periods of draining. #🌈 🌈 🌈 #If you want to jump directly to the technical solution, check out the project repo. Below is a short story about how we got to this solution.
CUDA 10 in Clojure
CUDA 10 support has just landed in ClojureCUDA with the latest version 0.6.0.
String tokenization in C
Let's say you have to write a C program to tokenize a string that contains a list of tokens separated by some delimiter, say a comma. You...
Improving the fast inverse square root (2010)
Remember that famous hack for approximating y = x −1/2 from Quake III? It goes like this:
Mill: Better Scala Builds
Mill is a new build tool for Scala: it compiles your Scala code, packages it, runs it, and caches things to avoid doing unnecessary work. Mill aims to be better than Scala's venerable old SBT build tool , learning from it's mistakes and building upon ideas from functional programming to come up with a build tool that…
Debugging with intelligence via probabilistic inference
Debugging with intelligence via probabilistic inference Xu et al., ICSE’18 Xu et al. have built a automated debugger that can take a single failing test execution, and with minimal interactio…
Yes, code is data, but that's not what makes Lisp cool
There has been some debate on Hacker News lately about what makes Lisp cool , in particular about whether the secret sauce is homo-iconici...
Modern SAT solvers: fast, neat and underused – part 2
The previous post in this series was a quick introduction to the world of SAT and SAT solvers. In this post, we will convert a harder real-world problem, namely _master-key system_, into SAT and explore some of the more advanced techniques used to efficiently convert problems to SAT.
Todo example in Rust
Rust Qt Binding Generator lets you combine Rust code with a Qt 1 graphical application. A previous blog shows how to make a simple clock. It’s a good idea to read that post before reading this more advanced post, because in this post we are getting serious.
What It Was Like to Write a Full-Blown Flutter App
Porting an existing iOS app to Flutter, what it was like and my thoughts on Flutter thus far.