Building and modifying Linux Kernel with Visual Studio
This tutorial shows how to build the Linux kernel, add a small modification to it and debug the new kernel using Visual Studio with VisualKernel.
Reverse Engineering Strike Commander
Back in the early 90s, one company was on the bleeding edge of PC gaming: Origin Systems . Their motto was "We Create Worlds" and boy did they deliver: With the Ultima series, Crusader series and Wing Commander series, they consistently took gamer's breath away. One of them took four years and more than a million man…
Inside FastBoot: the road to server-side rendering
Using JavaScript to write fast, interactive web applications has exploded in popularity over the past few years. JavaScript apps offer many strengths over traditional server-rendered applications. Most notably, rich interactions and lightning-...
Great Programmers (2004)
I've seen a lot of discussion of great programmers, usually centering on how to find them, but usually what people really want to know is how to become one. Since I'm widely considered to be a great programmer, I'll give some advice. First of all there's raw coding ability. For this, practice makes…
Hidden Costs of Memory Allocation
It’s important to understand the cost of memory allocations, but this cost can be surprisingly tricky to measure. It seems reasonable to measure this cost by wrapping calls to new[] and delet…
X86 boot sector written in C (2010)
Writing an MS-DOS-compatible boot sector in C: parsing the FAT BIOS parameter block, finding IO.SYS, and loading it via BIOS INT 13h in real mode.
The Computer Graphics Library
Back in the 90s, one book was ubiquitous in the world of Computer Graphics. Commonly called "The CG Bible", Computer Graphics: Principles and Practice gathered a huge part of the knowledge of the time. It was commonly referenced by the best programmers of that era in interviews and articles . By 1998, the book…
Querying Time Series in PostgreSQL
A blog about computer programs, databases, and the future of software development.
What's wrong with systemd
So many weird little demands on time, mostly spinning out of the Signal groups set up to counter ICE and now being used for general community stuff.
Rust for C++ programmers – part 5: borrowed references
In the last post I introduced unique pointers. This time I will talk about another kind of pointer which is much more common in most Rust p...
What is Meteor.js?
Learn more about what Meteor.js is...
D’s Garbage Collector Problem
One of the biggest issues with Higgs, the JIT compiler I’m working on, is that the compilation times are too slow. The performance of the compiled machine code that Higgs produces is now fair…
Hermitage: Testing the “I” in ACID
tl;dr: I have created a test suite for comparing the transaction isolation levels in different databases. I did this as background research for my book . This post explains why.
Working on The Witness: The Nebraska Problem
The search for a “random” distribution with the most favorable qualities for ground cover.
Elixir and the Internet of Things – Handling a Stampede
Neo supports the next generation of tech leaders with the industry's best startup residency, recruiting platform, and diverse mentorship community.
Your language sucks
As a result of work I've been doing for illumos , I've recently gotten re-engaged with internationalization, and the support for this in li...
Massive: The asm.js Benchmark
asm.js is a subset of JavaScript that is very easy to optimize. Most often it is generated by a compiler, such as Emscripten, from C or C++ code. The result ...
Compiler Design in C
Compiler Design in C Download a copy! My book Compiler Design in C is now, unfortunately, out of print. You can download a complete copy, with the above button (pdf 19.1Mb OCR/Searchable—thanks to Marvin Hernández for adding the OCR). If you don’t want to print it out (the book is 984 pages long), you can…
How to Wire Up Ruby on Rails and AngularJS as a Single-Page Application
It looks like nothing was found at this location. Maybe try one of the links below or a search?