Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,842 posts.
My adventure in designing API keys
Hello everyone, It has been quite a long time since my last blog, the last couple of months had been very busy and packed with a lot of work so I barely had much time to write blogs. Time runs so fast that the last time when I wrote a blog I was still a DevOps Engineer and now I am a Product Developer lol.
Why software sucks?
[First published: September, 2005] No one makes bad software on purpose. No programmer has ever sat down, planning out weeks of work, with the intention of frustrating people enough to make them cr…
The Value of Undefined Behavior
In several places, the C and C++ language specifications use a curious, and fairly controversial, phrase: undefined behavior . For certain program constructs, the specification prescribes no specific behavior, instead allowing anything to happen . Such constructs are considered erroneous, and so the result depends on…
Dissecting the gzip format (2011)
In this article I describe the DEFLATE algorithm that GZIP implements and depends on. The DEFLATE algorithm uses a combination of LZ77, Huffman codes and run-length-encoding; this article describes each in detail by walking through an example and developing source code to implement the algorithm. My aim is to…
Overcoming Intuition in Programming
In a [series of experiments](http://faculty.chicagobooth.edu/nicholas.epley/alteretal.pdf), researchers set out to discover the relationship between difficulty or
Object-oriented techniques in C
Although the techniques described below won't be very popular nowadays (after all, why bother using C if we're going to write object-oriented code?), they are still quite relevant for embedded systems and other low-level things (kernel development, etc). For example, lots of Linux Kernel subsystems use similar…
How to detect if an object has been garbage collected in JavaScript
If you are writing an application in Javascript, soon you will have to worry about memory leaks. But it is difficult to even know if a memory leak exists. This handy method can help.
What's in a Build Tool?
A "Build tool" is a catch-all term that refers to anything that is needed to get a piece of software set up, but isn't needed after that. Different programming communities have a wealth of different tools: some use stalwarts like make , some use loose collections of .sh scripts, some use XML-based tools like Maven or…
Implementing single-file web components
Probably everyone who knows the Vue.js also heard about its single-file components. This simple idea allows developers to define the entire code of a component in one file.
The Birth of Legacy Software – How Change Aversion Feeds on Itself
Here’s a common pattern that I see play out very often in software teams: There is a need to change the existing system behavior to accomplish new functionality. The software engineer l…
GNU ed ate my homework
If you have ever ventured into the archives of old UNIX books and mailing lists, you will have undoubtedly come across the legend of ed. ed (pronounced /iː …
Rationale: Or why am I bothering to rewrite nanomsg?
I became involved in the nanomsg community back in 2014, when I wrote mangos as a pure Go implementation of the wire protocols behind nanomsg . I did that work because I was dissatisfied with the ZeroMQ licensing model and the C++ baggage that came with it. I also needed something that would work with Go on illumos …
Getting Started with Event Sourcing in Postgres
In a previous post we explored how our application tracks sent emails. We set things up to update or insert a record for each email with the current state (delivered, dropped, etc). In this post we'll look at an alternative data model where we'll store each event as its own record and then roll up t
Async Rust vs RTOS showdown (2022)
It's time for another technical blog post about async Rust on embedded. This time we're going to pitch Embassy/Rust against FreeRTOS/C on an STM32F446 microcontroller.
I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye
confusable-vision renders every TR39 confusable pair across 230 macOS system fonts and measures visual similarity with SSIM. 96.5% of confusables.txt is not high-risk, but 82 pairs are pixel-identical in at least one font.
The economics of software correctness
You have probably never written a significant piece of correct software. Neither have I. Here's why that's not quite as bad as it sounds.
Limits of Programmer Productivity: A lesson from Fred Brooks
Fred Brooks published The Mythical Man-Month in 1974, describing the lessons he learned leading IBM’s OS/360 project during the 1960s. As technology goes, it’s ancient. Consider the workflow for a “debugging run”:
Reactive MVC and the Virtual DOM
Model-View-Intent is a unidirectional data flow architecture with Virtual DOM rendering for single-page web apps, similar to React and Flux but with plenty of surprising additions.
Chrome OS native development
Native development on a Chromebook, with Chrome OS in Developer Mode
Opinion-Driven Design
Some of my personal thoughts on how we design open source projects
Using Nginx and UWSGI
Shop a wide selection of domains at HugeDomains.com. Find the right domain name today.
The path of software development craftsmanship
OMPONG188 menghadirkan informasi togel 4D, slot online, akses akun, serta beragam kategori permainan dalam satu platform dengan navigasi praktis dan responsif.