Digests » 285

this week's favorite

How Does an Intel Processor Boot?

When we switch on a computer, it goes through a series of steps before it is able to load the operating system. In this post we will see how a typical x86 processor boots. This is a very complex and involved process. We will only present a basic overall structure. Also what path is actually taken by the processor to reach a state where it can load an OS, is dependent on boot firmware. We will follow example of coreboot, an open source boot firmware.

Writing system software: code comments

In this post I analyze Redis comments, trying to categorize them. Along the way I try to show why, in my opinion, writing comments is of paramount importance in order to produce good code, that is maintainable in the long run and understandable by others and by the authors during modifications and debugging activities.

Fixing a bug in an 18 year old Shockwave game

It was the summer of 2000. I was 6 years old, and I had just passed the 1st grade and starting summer break. This meant long days of playing outside, watching cartoon marathons, and booting up my dad’s Windows 98 computer to browse for games to play on a brand new frontier called the “Internet”. Cartoon Network’s website was one of my favorites. They had immersive flash games that were designed around the cartoons on TV. That summer they released a series of games called “Cartoon Cartoon Summer Resort”.

Google Interview Questions Deconstructed: The Knight’s Dialer

This is the second in a series of posts in which I share my advice for candidates interviewing for tech companies, drawing on my experience as an engineer and interviewer at Google. If you haven’t already, take a look at the introduction to this series.

Stop cherry-picking, start merging, Part 1: The merge conflict

Cherry-picking is a common operation in git, and it's not a good idea. Sometimes it's a neutral idea, but I haven't yet found a case where it's actually good.