Templating in HTML
A technical write-up about using the template HTML element
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
A technical write-up about using the template HTML element
In this essay, after a brief review of the work we’ve already done on the Mockingbird, we’ll derive the Why Bird, known most famously as the Y Combinator . The why bird provides all the benefits of the mockingbird, but allows us to write more idiomatic JavaScript. We’ll see that one of the benefits of writing…
Deep dive into how scheduler works
In the early days of the platform, Android developers working from Linux and Mac OS X connected their device via an USB cable and were good to go. Windows users had to find and then install drivers. That was super-annoying.
When you work on a 18 year old code base like AbiWord, you encounter stuff from another age. This is the way it is in the lifecycle of software where the requirement and the tooling evolve.
The latest 4.13.9 source release of the Linux kernel is 780MiB, but thanks to xz compression, the download is a much more managable 96 MiB (an 88% reduction)
FairPlay comprises a set of algorithms created by Apple for digital rights management (also called DRM, digital rights management). FairPlay is currently used to manage the decryption of iOS applications during their installation on Apple devices. In fact, we know that Apple distributes all applications in the Apple…
Updated (2014-10-24): If you find this article interesting, you may be interested in the follow-up article on an editor for composed programs .
Assembly code scares people. There’s a good reason for that. For many people, writing code in assembly language seems equivalent to writing code in ancient dwarven runes, or calculating pi in roman numerals. The fact that RollerCoaster Tycoon was almost completely written in assembly language sounds almost too amazing…
Linux has an elegant and beautiful design when it comes to threads: threads are nothing more than processes that share a virtual address space and file descriptor table. Threads spawned by a process are additional child processes of the main “thread’s” parent process. They’re manipulated through the same process…
Since I left my job at Amazon I have spent a lot of time reading great source code. Having exhausted the insanely good idSoftware pool , the next thing to read was one of the greatest game of all time : Duke Nukem 3D and the engine powering it named " Build ". It turned out to be a difficult experience: The engine…
The Amiga was a spectacle of graphics and sound when it debuted in 1985. While it can trivially display colorful images like in the above example, doing so in the context of a game engine presents a lot of unique challenges.
A list of youtube channels that talks about programming
A couple weeks ago, Galois and Immunant launched c2rust. Since I wrote one of the best-known C-to-Rust translation tools (Corrode), and since I worked for Ga...
Goal reached! My regular income still seems to grow. My lastly introduced in my “Make Money on Android” eBook method seems to be working very well (not only for me – check lastly …
There's a fascinating Rust library, loom, which can be used to thoroughly test lock-free data structures. I always wanted to learn how it works. I still do! But recently I accidentally implemented a small toy which, I think, contains some of the loom's ideas, and it seems worthwhile to write about that. The goal here…
This domain is for sale! Fast and easy shopping. Trusted and secure since 2005.
A few spy tools for your operating system (other than strace!)
On the concepts involved in a running program. What happens, exactly, when you double click an executable file, or launch it from the command line, and it begins to execute?
Consider the following pseudocode: x <- 32; y <- 0; while(true){ x <- x – floor((1/8) * y); y <- y + floor((1/8) * x); plotPointAt(x, y); } x and y are always integers. This draws…
The PS2 is more than capable of doing some wild things, including running Linux. I always wondered if we could just write baremetal Go code on it, so I decided to give it a try.
In this post I present a Git branching strategy for developing and releasing version-based software.