Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 994 posts.

2020
732

Fibers, Oh My

Fibers, Oh My! # Written by Dale Weiler, last updated Oct 5th, 2020 Twitter GitHub It’s been brought to the attention of many people in the game development industry that you can use fibers to parallelize your engines and games. This one presentation in particular: Parallelizing the Naughty Dog engine using fibers has…

733

Finding unique items: hash vs. sort

A while back, I was trying to speed up some code which finds unique items in a collection. For example, transforming "AABBADCAB" => "ABDC" . There are two ways to do this efficiently - one is based on sorting, the other based on hashing. So, which is faster? I couldn't find the answer, so I ran some experiments and…

738

In Defense of XML

When I started my career, XML was ubiquitous. The meta-information in a Java JAR file - the manifest - follows a proprietary format. But Java EE designers built it from the ground up on XML: meta-information of all artifacts is in XML format e.g. web.xml, ejb-jar.xml, application.xml, etc. Java EE is one example I…

741

WebAssembly without the browser

Most WebAssembly tutorials and examples you will find online focus on using it inside the browser in order to accelerate various functionality of a website or web app. However, there is an area where WebAssembly is really powerful but not talked too much about: outside the browser usage scenarios. That is what we’ll…

743

Simulating RAM in Clojure

“Computers are all made out of logic gates”. We’ve heard that saying before. We also have a sense that logic gates are very simple machines, analogous to light switches even. This raises the question: how exactly do kind-of-light-switches come together to form computers ? How does “storing a variable” or “calling a…

748

Building a high performance JSON parser

JSON is important, damn near everything that we do as programmers or operators involves JSON at some point. JSON decoding is expensive, if your product talks JSON then performance of marshalling data in and out of JSON is important. This is a talk about designing an efficient replacement for encoding/json.Decoder .

749

On the Beauty of Python's ExitStack (2015)

I believe Python's ExitStack feature does not get the recognition it deserves. I think part of the reason for this is that its documentation is somewhere deep down in the (already obscure) contextlib module because formally ExitStack is just one of many available context managers for Python's with statement . But…

750

Text layout is a loose hierarchy of segmentation

I love text layout, and have been working with it in one form or other for over 35 years. Yet, knowledge about it is quite arcane. I don’t believe there is a single place where it’s all properly written down. I have some explanation for that: while basic text layout is very important for UI, games, and other contexts…