Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
Not all graphs are trees
It's pretty easy to imagine how to represent relational algebra expressions as a tree—they are already structurally rooted trees where each operator has its...
Self-Replicating Functions
These are notes I’m creating for myself as I explore functions \(f\) that can be written as a sum \(f = g_1 + g_2\) where \(g_1\) and \(g_2\) are shifted and possibly reflected versions of each other, both strongly resembling the original function \(f\) . When a function \(f\) has these properties, I informally call…
Wayland and LVGL on PinePhone with Ubuntu Touch
Learn about Wayland and Ubuntu Touch on PinePhone... And how we build PinePhone Apps with LVGL
Implementing a Tiny CPU Rasterizer
This is a tutorial series on implementing a basic CPU rasterization engine in C++ from scratch. No GPU involved, just drawing pixels with our bare hands, emulating what the GPU usually does for us.
Why code review beats testing: evidence from decades of programming research
tl;dr If you want to ship high quality code, you should invest in more than one of formal code review, design inspection, testing, and quality assurance. Testing catches fewer bugs per hour than human inspection of code, but it might be catching different types of bugs.
Learning Clojure: comparing with Java streams
This is the 6th post in the Learning Clojure focus series. In general, one learns by comparing to what one already knows: I’m learning Clojure in that way. Coming from a Java background, I naturally want to use streaming features. So, what would be the Clojure counterparts of Java’s functions filter(), map(), etc.?
JavaScript: Warts and workarounds
One's sentiment toward JavaScript flips between elegance and disgust without transiting intermediate states.
If you want developers to adopt your software, make it less risky (2017)
Understanding how the academic community understands software adoption.
R, OpenMP, MKL, Disaster
The answer should be something close to ALPHA , i.e. 0.01 . What R was printing out was weird numbers like 1e-10 .
Reinventing the Wheel: Discovering the Optimal Rolling Shape with PyTorch (2019)
It is thought that the wheel was invented more than five thousand years ago, yet modern machine learning tools were only developed in the past few decade...
Coalton Playground: Type-Safe Lisp in the Browser
I wanted to share a side project I’ve been tinkering with for a while and finally got around to shipping: Coalton Playground – basically a web-based REPL for Coalton, which is this inte…
File Descriptor Transfer over Unix Domain Sockets
Yesterday, I read a phenomenal paper on how disruption free release at Facebook.
Rebol vs. Lisp Macros
Author: HostileFork, Title: Rebol vs. Lisp Macros, Date: 19-Apr-2016, Length: 2220 words
JSON on the Command Line with Jq
A series of how to examples on using jq, a command-line JSON processor
Apple’s fix for corrupt binaries
Apple quietly fixed the apps affected by corrupt App Store binaries in an interesting way.
Smalltalk Envy
I myself was not on the famous C3 (Chrysler Comprehensive Compensation System) project in 1996-2000 that is pivotal to ‘Extreme Programming’ (XP). That project used Smalltalk, and team contribution was provided by Object Technology International’s ENVY version control system. I wanted to know more about that so I…
Context Engineering for Agents
Patterns for managing agent context.
The Python GIL Visualized
In preparation for my upcoming PyCON'2010 talk on "Understanding the Python GIL", I've been working on a variety of new material--including some graphical visualization of the GIL behavior described in my earlier talk . I'm still experimenting, but check it out.
A modern Fortran scientific programming ecosystem
Historically, large general-purpose libraries have formed the core of the Fortran scientific ecosystem (e.g., SLATEC , or the various PACKS ). Unfortunately, as I have mentioned here before, these libraries were written in FORTRAN 77 (or earlier) and remained unmodified for decades. The amazing algorithms continued…
Language Models, Word2Vec, and Efficient Softmax Approximations
The Word2Vec model has become a standard method for representing words as dense vectors. This is typically done as a preprocessing step, after which the learned vectors are fed into a discriminative model (typically an RNN) to generate predictions such as movie review sentiment, do machine translation, or even…
Fundamentals of Radiance Cascades
A deep-dive into the fundamental concepts/ideas behind Radiance Cascades.
Query-Based Compiler Architectures
What a query-based compiler is and what they are good for.