GameBoy Emulation in JavaScript: The CPU
In the first of this series of articles, I'll look at how a CPU can be emulated through JS, and start building an emulation core for the GameBoy console.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,549 posts.
In the first of this series of articles, I'll look at how a CPU can be emulated through JS, and start building an emulation core for the GameBoy console.
UPDATE: I've recorded a 30 min video with developers from the project as well ...
There are lots of à la carte software environments in this world. Places where in order to eat, you must first carefully look over the menu of options to order exactly what you want. I want this for my ORM, I want that for my template language, and let's finish it off with this routing library. Of course, you're going…
Eric Lippert notes the perils of programming in C++: I often think of C++ as my own personal Pit of Despair Programming Language. Unmanaged C++ makes it so easy to fall into traps. Think buffer overruns, memory leaks, double frees, mismatch between allocator and deallocator, using freed memory, umpteen dozen
Recognized shorthand on the Usenet group comp.std.c for any unexpected behavior of a C compiler on encountering an undefined construct. During a discussion on that group in early 1992, a regular remarked “ When the compiler encounters [a given undefined construct] it is legal for it to make demons fly out of your nose…
Unicode can be confusing. Here’s a “just the facts I need” presentation about how to handle it correctly.
Explaining the Dependency Injection pattern, by contrasting it with Service Locator. The choice between them is less important than the principle of separating configuration from use.
Generally, academic software is stapled together on a tight deadline; an expert user has to coerce it into running; and it's not pretty code. Academic code is about "proof of concept." These rough edges make academics reluctant to release their software. But, that doesn't mean they shouldn't.
OFFSET doesn’t deliver stable results and makes the query slow. Key-set pagination does neither.
I was incredulous when I read this observation from Reginald Braithwaite: Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can’t write code at all. I repeat: they can’t write any code whatsoever. The author he’s
“ The word hack doesn't really have 69 different meanings”, according to MIT hacker Phil Agre. “ In fact, hack has only one meaning, an extremely subtle and profound one which defies articulation. Which connotation is implied by a given use of the word depends in similarly profound ways on the context. Similar remarks…
Intro Okay developers, time to have a serious talk. As you are probably already aware, this week React, Babel, and a bunch of other high-profile packages on NPM broke. The reason they broke is rather astounding: A simple NPM package called left-pad that was a dependency of their code. left-pad, at the time of writing…
TCCBOOT is only 138 KB big (uncompressed code) and it can compile and run a typical Linux kernel in less than 15 seconds on a 2.4 GHz Pentium 4.
If you use an object-oriented domain model, and you don't put behavior in your objects, you're missing out on most of the benefits of that pattern.
I had an opportunity to meet Ted Neward at TechEd this year. Ted, among other things, famously coined the phrase “Object-Relational mapping is the Vietnam of our industy” in late 2004. It’s a scary analogy, but an apt one. I’ve seen developers struggle for years with the
The last time the tabs-versus-spaces argument flared up in my presence, I wrote this. Gasoline for the fire? Maybe.
Do you rely on syntax highlighting when developing software? If so, you may be shooting yourself in the foot. In this post, I will argue that syntax highlighting, while aesthetically seductive, moves focus from content to form, and discourages those who look at the code from trying to understand it.
Some people, when confronted with a problem, think “I know, I’ll use cgo.” Now they have two problems.
Recently, while idly browsing through the source code of Python, I came upon an interesting comment in the bytecode VM implementation ( Python/ceval.c ) about using the computed gotos extension of GCC [1] . Driven by curiosity, I decided to code a simple example to evaluate the difference between using a computed goto…
This piece has gotten a lot of attention over the years. I have heard a lot of people saying that they had been "inspired" by it. I fear that what they meant was that they were inspired by the one pull-quote that people tend to quote from it, and ignored the rest. So if someone has linked you to this page, or if…
Allow a single entity to span multiple domains without coupling the domains to each other.
Find out what kinds of automated tests you should implement for your application and learn by examples what these tests could look like.
1. adj. Able to guess, sometimes even correctly, the result intended when bogus input was provided.
[coined in a paper by T.H. Myer and I.E. Sutherland On the Design of Display Processors , Comm. ACM, Vol. 11, no. 6, June 1968)] Term used to refer to a well-known effect whereby function in a computing system family is migrated out to special-purpose peripheral hardware for speed, then the peripheral evolves toward…
As I was driving home, I found myself thinking about a favorite section of the book Accidental Empires, by longtime computer journalist Robert X. Cringely. Originally published in 1993, it’s getting a little long in the tooth, but it still contains a lot of great insights about the personalities
[ English | Português | 简体中文 | Česky | Dansk | Deutsch | Español | Français | Magyar | Italiano | 日本語 | Nederlands | Polski | Русский | 繁體中文 ]
An introduction to the idea that code should be approached with a mindset towards compressing it semantically, rather than orienting it around objects.
This comes up regularly on Slashdot and I find it hilarious each time, but can never find it when I go looking for it. So, here it is:
It occurred to me recently that The T Project had no coherent presence on the web. There's Olin's history , but I thought something a bit more calm and dignified is in order.