Writing a Kernel

Posted by Rusky on March 25, 2011, 5:46 p.m.

Every once in a while I dust off the code base of a toy OS kernel I'm working on. In the most-working state it's ever been in, if I remember correctly, it's been able to boot from GRUB, write to a text mode console and read the keyboard, enable paging …

This Is Why We Can't Have Nice Things

Posted by Rusky on March 11, 2011, 7:15 p.m.

Generally speaking, everything nice has small market share, and everything with big market share is not nice. This means that, often, we have to use the crappy system to have access to the tools we need, the games we want, etc. Examples:

Phones

Lots of market share:

Android has no …

Side Effects in a C-Like Language

Posted by Rusky on March 9, 2011, 5:05 p.m.

tl;dr: What if there were no global variables or functions or anything else and functions could only access a limited collection of memory regions, hardware, etc.? Programs would be more structured and composable, and potentially more secure.

Most mainstream languages just let you change global state willy-nilly. Change global …

Drupal Woes

Posted by Rusky on March 7, 2011, 6:02 p.m.

So, Drupal 7 looked like it might be a major improvement over its previous incarnations. It was, and I think you could probably knock out the functionality of 64Digits v2 in a day or less if you knew your way around. However, like any pre-built CMS it has its problems… …

C++ Templates

Posted by Rusky on March 2, 2011, 5:47 p.m.

… are idiotic of the devil. Not the idea necessarily, just the details. Pop quiz:

Given this template declaration:

double foo(double);

template <class T>
class Test {
public:
    void invariant() { member = foo(val); }
    T dependent() { return foo(member); }

private:
    int val;
    T member;
};

and this instantiation: …

Parsing

Posted by Rusky on Feb. 26, 2011, 11:07 a.m.

If the "right way" is to use tools like Lex/Yacc, Flex/Bison or Antlr, why don't any real compilers do it that way?

The arguments I always see for using a parser generator are that "it makes it easier to change/scale up your language later if you need to," "don't …

Choosing a Linux Distribution

Posted by Rusky on Feb. 24, 2011, 3:13 p.m.

I've been using Ubuntu for a while and was slightly irritated with it, so a few days ago I decided to go distro-hunting again. I am no longer irritated with Ubuntu.

My first choice was Debian, for several reasons. I love the apt-get package manager, and Debian uses it insanely …

Language Design

Posted by Rusky on Feb. 21, 2011, 7:09 p.m.

So, before I begin, how can I update my submissions? Do I just resubmit them or is that not implemented (yet) in v3?

C is a relatively nice high-level assembly language. C++ is the kitchen sink sitting on top of that, so you can do lots of things with …

Penguins

Posted by Rusky on Feb. 14, 2011, 7:23 p.m.

I've been unable to upload the projects I mentioned a couple posts ago; they're probably too big. So instead, I got my current project into a state that I could upload it as a WIP here. It's a puzzle game a la Sokoban or Chip's Challenge- a maze with blocks …

On Game Maker and 3D

Posted by Rusky on Feb. 12, 2011, 8:24 p.m.

So, I'm doing some simple 3D graphics for my latest project. They're not strictly required but they make it look more interesting- it's essentially a top-down game, I just pulled the camera back a bit.

However, d3d_start() flips the handedness of the coordinate system. This flips the room editor upside …