Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Why I moved from Angular to React
The article should help people to understand the benefits of React and Angular for making an educated decision to choose between Angular or React. It tells my story why I moved from Angular to React after using both libraries for years. It's not just another click-bait article, but an article with lots of experiences…
hdiutil is deprecated in macOS 27 Golden Gate
The macOS command-line tool hdiutil is used to manipulate disk images. From the WHAT'S NEW section of man hdiutil on the latest macOS 27 Golden Gate beta:
Timestamps and Time Zones in PostgreSQL (2016)
The nuance between timestamp with and without time zone
Next C compiler is a D compiler: Introducing DMD's ImportC
In my never ending quest to have oksh support every C compiler in existence, I sometimes find C compilers in places you wouldn't expect them. Today, I'd like to demonstrate the C compiler built into the Digital Mars D compiler, or DMD for short. Recent versions of DMD have a complete C11 compiler built in named…
A Visual Guide to React Rendering
Contrary to popular belief, by default, react component doesn't care whether its props changed or not. It will always re-render when its parent renders.
Only solve one new problem at a time
Ben Nadel discusses one of the lessons learned from 10 years of CodePen: solve only problem at a time - a message worth amplifying.
Gödel's Incompleteness Theorem in Bash
Gödel’s first incompleteness theorem states that there are mathematical statements that can neither be proven or disproven. His proof is fairly difficult to ...
Building My Own Chess Engine
Exploring the computational complexity of chess. Code snippets in Python so you can do the same.
Primitive Recursive Functions for a Working Programmer
Programmers on the internet often use Turing-completeness terminology. Typically, not being Turing-complete is extolled as a virtue or even a requirement in specific domains. I claim that most such discussions are misinformed --- that not being Turing complete doesn't actually mean what folks want it to mean, and is…
Timsort (2019)
Timsort: A very fast , O(n log n), stable sorting algorithm built for the real world — not constructed in academia. Timsort is a sorting algorithm that is efficient for real-world data and not created in an academic laboratory. Tim Peters created Timsort for the Python programming language in 2001.
A deep dive into the official Docker image for Python
The “official” Python Docker image is useful, but to actually understand why, and to use it correctly, it’s worth understanding how exactly it’s constructed.
ESP32-S3 has a few SIMD instructions
Intro Espressif Systems released their ESP32-S3 SoC a few years ago, but only recently have they released more documentation and support of ...
How to Crawl the Web with Scrapy
How to use the python web scraping framework Scrapy to crawl indeed.com. Learn data engineering strategies for getting actionable insights from public information.
Portals and Quake
Ever wanted to know how exactly did Quake’s precomputed visibility work? I did, so I wrote vis.py , a reimplementation of their algorithm in Python. This guide has all the information you need to understand vis , the tool used by Quake, Half-Life and Source Engine games.
Read the masters
Some time ago, I came across the Wikipedia article of Niels Henrik Abel , and something there burnt its way into my mind. Abel changed the face of mathematics, despite dying at 27. And here comes the thing – I give the mic to Wikipedia now:
Learn Wayland by writing a GUI from scratch
Wayland is all the rage those days. Distributions left and right switch to it, many readers of my previous article on writing a X11 GUI from scratch in x86_64 assembly asked for a follow-up article about Wayland, and I now run Wayland on my desktop. So here we go, let's write a (very simple) GUI program with Wayland…
How I wound up finding a bug in GNU Tar
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
The Zen of Parallel Programming
As I continue reading An Introduction to Parallel Programming, I cannot help but notice a connection between communication among processors, communication among human beings, and communication within the individual self....
Algorithm for Drawing Trees
I recently wanted to take a hierarchy of items and draw them in a nice tree structure. For example, a Family Tree. At the time, I thought “This will be easy, I’ll just Google for an alg…
Demystifying the (Shebang): Kernel Adventures
Clarifying the shebang (#!) mechanism: A step-by-step look using strace and kernel code shows how Linux handles script execution directly, revealing the shell isn't involved initially.
Playing with 80M Amazon Product Review Ratings Using Apache Spark
Manipulating actually-big-data is just as easy as performing an analysis on a dataset with only a few records.
Towards trust in Emacs
A post by Eshel Yaron introducing the Emacs Trust Manager
Virtualizing the 6502 on a 6502 with 6o6
Okay, promises, promises. Here's the first of my bucket list projects I'm completing which I've intermittently worked on for literally two d...
Designing a Fast Concurrent Hash Table
I recently released papaya, a fast and feature-complete concurrent hash table for Rust. In this post I want to dive into the design and research that went into creating it, as well as why you might consider using it over existing solutions.
SuperSight: A graphical enhancement mod for Brøderbund's "Stunts"
Clickbait disclaimer: Stunts was actually created by Distinctive Software; Brøderbund was only the publisher. But nobody heard about Distinctive , and I wanted to be sure this article does not get confused with the one about Disney's Stunt Island . Sorry about that.