Mar 23 2011 Whew. If you’ve been following me on Twitter at all lately, you’ll know that I’ve been working hard on a new project lately. Tonight, even though it’s late, I’m finally getting it out there. Please welcome http://rstat.us/ to the world! (as soon as the DNS updates. ;) ) rstat.us is a...
If you program in Python, you’re probably familiar with the pickle serialization library, which provides for efficient binary serialization and loading of Python datatypes. Hopefully, you’re also familiar with the warning printed prominently near the start of pickle’s documentation: Warning: The pickle module is not intended to be secure against...
Mar 18 2011 I’ve heard Ruby Mendicant University (also known as RMU, not to confuse you Robert Morris alums!) described as “the best kept secret of the Ruby community.” High praise, indeed. If you haven’t heard about RMU before, check out this presentation by Andrew Cox: TL;DR: RMU is a free, online ‘unversity’ from Gregory Brown, author of ‘Ruby Best Practices.’ You enter an intermediate Rubyist,...
Dear Ubuntu / Canonical! I have been slowly but steadily getting disappointed with your distribution. It started with using a color scheme that was just plain ugly, then it evolved to something even more gross. But I could live with that, because I could change it with a few clicks. Then it went through moving...
Mar 03 2011 I’ve been thinking about this post for a while. I freaking love Hacker News. It’s my favorite place on the Internet. It’s incredibly valuable. I have learned so much from my time there. With that said, I feel like it’s taken up too much of my time. I’m trying to accomplish things. I got accepted to grad school. I’m trying to rebuild Shoes. I’m working on improving Hackety. I’m finding that I don’t have enough hours in the day to accomplish the...
Feb 24 2011 I’ve been joking for a while that I’d like to “move to the Internet.” Generally I cite my familiarity and love with online culture as opposed to American culture. I don’t really care what’s going on in “the real world,” as I feel it’s kind of played out. The whole cycle of “fight wars, reduce freedoms, sit in front of your TV” has gotten really boring quickly. I find Internet culture to be more complex, entertaining, and useful. But I’m getting way off topic,...
Back in winter 2009 I was working pretty hard on the 3D engine that would power my next iPhone/iPad game: "SHMUP". To demo the work in progress required to generate videos, a task far from being trivial on a smartphone: Slow CPU/GPU, Little RAM, no TV output, no storage space, no real multitasking. Hence I had the idea to have the engine generate...
reptyr (announced recently on this blog) takes a process that is currently running in one terminal, and transplants it to a new terminal. reptyr comes from a proud family of similar hacks, and works in the same basic way: We use ptrace(2) to attach to a target process and force it to execute code of our own choosing, in order to open the new...
Every once in a while I receive an email from a fellow programmer asking me what language I used for one of my games and how I learned it. Hence, I thought it may help a few people to list here the best things to read about C. If you know of other gems, please email me or add a comment at the bottom of the page. More...
It’s brave to go up against an established franchise, but that’s just what Konami tried to do with Enthusia Professional Racing. In many ways it’s a better game than Gran Turismo but that wasn’t enough to take any substantial market share. The first thing you’ll notice about the game is that it looks every bit as good as PS2 rival Gran Turismo 4,...
It’s common knowledge that video game movie tie-ins generally result in disappointing games. So it’s interesting to see a game that takes so much inspiration from the big screen and manages to wrap it up in a great game. And all without a movie licence in sight. The look of Split/Second: Velocity will be instantly familiar to many. It will remind...
Hulk: A Haskell IRC server body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid...
As of a few hours ago, the bigger part of my afmongodb driver has been merged to the official syslog-ng 3.3 tree! A few things remain to be done, however: Authentication doesn't work. This is due to the underlying client library not supporting it yet. The code is still in the driver,...
Jan 22 2011 I’ve almost always been in a habit of reading. When I was younger, I spent a lot of time in the library. I’d just grab an entire series of novels, and read them all, right in a row. Sometimes I’d end up reading non-fiction too. I ended up with a lot of books on software. Then my local library got Internet access. Slowly, I started to spend less time in the stacks and more in front of a terminal. This wasn’t a bad thing; I still kept reading. What’s...
Over the last week, I’ve written a nifty tool that I call reptyr. reptyr is a utility for taking an existing running program and attaching it to a new terminal. Started a long-running process over ssh, but have to leave and don’t want to interrupt it? Just start a screen, use reptyr to grab it, and then kill the ssh session and head on home. You...
During the past couple of nights, I was busy coming up with something that would showcase the power of syslog-ng combined with the mongodb destination, and that is how mojology was born. To sum it up: it's a web based log browser, a reasonably simple one: one can't search, or do advanced filtering (yet!),...
While reading Timothy Gowers's blog I stumbled on Scott Carnahan's comment describing an elegant calculation of the Gaussian integral \[ ∫_{-∞}^{∞} e^{-x^2} \, dx = \sqrt{π}\text{.} \] I was so struck by its elementary character that I imagined what it would be like written up, say, as an extra credit exercise in a single-variable calculus...
The following movies were released in the summer of 1982. An Officer and a Gentleman Annie Blade Runner Conan the Barbarian E.T.: The Extra-Terrestrial Fast Times at Ridgemont High Firefox Poltergeist Rocky III Star Trek II: The Wrath of Khan The Road Warrior The Secret of NIMH The Thing Tron Is it just nostalgia, or does that...
Jan 02 2011 This year I’m happy to report that I have much more upbeat plans than last year’s kind of sad post. With that said, here’s my 2011 goals: I want to work for other people 2 days per week on average for the year. I want to write something every day I want to keep building on the initial success that Hackety Hack’s 1.0 launch has brought. I’d like to get a new release out every month or so, with a 2.0 for Christmas 2011. I...
This is an idiosyncratic history of philosophical logic in Australia and New Zealand, highlighting two significant points of research in Australasian philosophical logic: modal logic and relevant/paraconsistent logic.
I was contemplating switching over one of the websites I maintain (my brother's) from a PostgreSQL backend to one of these fancy document-stores. Now, I know next to nothing about these, so I started exploring, and on the MongoDB site, I found an interesting article, which praised MongoDB as being wonderful for ...
I'm a lazy person. When I'm at the computer, tinkering with something, I want to get done fast, I do not want to fight with the system, I just want to install whatever tools I need, and start hacking away. For this reason, I strongly prefer installing packages from my distribution, globally, so that they are available to...
I’ve spent a lot of time this last week staring at decompiled Dalvik assembly. In the process, I created a couple of useful tools that I figure are worth sharing. I’ve been using dedexer instead of baksmali, honestly mainly because the former’s output has fewer blank lines and so is more readable on my netbook’s screen. Thus, these tools are...
Majer and Peliš have proposed a relevant logic for epistemic agents, providing a novel extension of the relevant logic R with a distinctive epistemic modality K, which is at the one and the same time factive (Kφ → φ is a theorem) and an existential normal modal operator (K(φ ∨ ψ) → (Kφ ∨ Kψ) is also a theorem). The intended interpretation is that...
Home Blog Dec 25 2010 It’s been a long journey. I have a lot to say about this, but it’ll have to wait until I’m not in the middle of nowhere spending some time with Maria’s family. I just wanted to tell you all Merry Christmas, and point you at the
I have decided to release a free version of "SHMUP". It is called "SHMUP Lite" and the only limitation is that you can only play the first level for free, if you want to continue further you have to go for the full version.
I bought "Blade infinity" yesterday. The game is a lot of fun and has the ability to satisfy both people looking for instant fun and people wishing for a long game while collecting powerful items. At $5.99 it is a bargain, a must have not only for the gameplay but also for its graphical breakthrough, just like Rage HD. The game programmer in me...
Dan Rosenberg recently released a privilege escalation bug for Linux, based on three different kernel vulnerabilities I reported recently. This post is about CVE-2010-4258, the most interesting of them, and, as Dan writes, the reason he wrote the exploit in the first place. In it, I’m going to do a brief tour of the various kernel features that...
Texsearch is a search engine for LaTeX formulae. It forms part of the backend for latexsearch.com which indexes the entire Springer corpus. Texsearch has only a minimal understanding of LaTeX and no understanding of the structure of the formulae it searches in, but unlike it's competitors (eg
Most of you reading this blog probably remember CVE-2010-3081. The bug got an awful lot of publicity when it was discovered an announced, due to allowing local privilege escalation against virtually all 64-bit Linux kernels in common use at the time. While investigating CVE-2010-3081, I discovered that several of the commonly-believed facts about...
I’m not one for traditional adventure games - ones with a long, drawn-out main quest, lots of optional sub quests, experience points, levelling up, random battles and all of that sort of stuff. I need more direction in what to do next, although I still want to have fun figuring out how to do it and on the journey getting there. My first Zelda...
Lisk - Lisp and Haskell body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid...
Duck typing in Haskell body { max-width: 40em; margin: .5in auto; font-size: 18px; font-family: serif; line-height: 1.5; } pre, code { font-size: 16px; word-wrap: break-word; } pre { padding-left: 1em; line-height: 1.5em; border-left: 5px solid...
Nov 17 2010 I’ll cut to the chase: I’ve stepped down as CTO of CloudFab. I don’t want to discuss details, but life is too short to not be doing what you want with it. And, after a period of careful thought and consideration, it’s no longer the right thing for me. It was an amicable parting, and my replacements are already in place, and doing cool things. I’m happy with what I’ve accomplished, but it’s time for me to move on. This raises the question: what am I...
Just testing to see if this thing is on. Yes, it seems to be working. How about that!? It’s pretty rusty, but apparently this site still works. That’s good to see.
A possible world is a point in logical space. It plays a dual role with respect to propositions. (1) A possible world determines the truth value of every proposition. For each world w and proposition p, either at w, p is true, or at w, p is not true. (2) Each set of possible worlds determines a proposition. If S, a subset of W is a set of worlds,...
His and hers gaming at it’s finest. Bubble Bobble is one of those old-school arcade games that stands up well today. It’s single screen platform mechanics haven’t aged one bit. Capturing monsters in bubbles and then popping them to collect fruit is a supremely addictive pursuit. Things are constantly kept fresh with power ups, expert level design...
I’ve recently started playing with scons a little for some small personal projects. It’s not perfect, but I’ve rapidly come to the conclusion that it’s a probably far better choice than make in many cases. The main exceptions would be cases where you need to integrate into legacy build systems, or if asking or expecting developers to have scons...
I’d love to see somebody calculate just how much time was wasted by University students playing GoldenEye: 007. Or, perhaps, how better off industry might be had we used that time to study rather than shoot each other in the face for hours on end. GoldenEye is one of the most lauded games in history, being lavished with heaps of praise that might...
As far as “zone” games go, there are none finer than Jeff Minter’s remake of arcade classic Tempest. It built on the solid foundation of the original and added all manner of power-ups and tripped-out graphics. There’s no doubting that the original Tempest arcade game is as much of a classic today as it was in 1980, the concept apparently...
Attention! Ready? Go! Bishi Bashi Special is a set of games originally found on a pair of Konami arcade machines, the PlayStation version of which allowed up to 8 players using two multi-taps and featured 85 completely mental minigames. This was all years before Wario Ware, Inc., Wii Party or any other mini-game compilations came along. The games...
Nintendo started out in the entertainment business by manufacturing Hanafuda, or flower cards. There are a number of games that are commonly played with these cards the most popular of which is Koi-Koi, a game of surprising depth and one of my vices. A Hanafuda deck consists of 48 cards split into twelve suits - one for each month. Each is...
The Dreamcast was the first truly online home video game console, and brought with it the first wave of fantastic online multi-player games that could be played on your TV. ChuChu Rocket! was one of the best, an outstanding action puzzler with a glorious multi-player mode. The aim of the game is to guide mice (“ChuChus”) around the screen into...
Joust was the first arcade game I ever played, at Royal Video on Breckfield Road North in Liverpool in the mid-80s. Those were the days. It’s a fascinating, old-school arcade game that still holds up well today. During the peak of video game arcades, most games were based on abstract or fantasy concepts with a small amount of realism thrown in...
Nintendo seem reluctant to release more than one Mario Kart per console, so fans of the game will often seek out a new challenge by playing one of its many clones. It’s often a futile exercise as it makes painfully clear how far ahead of the competition Nintendo are. That said, there have been a handful of games that manage to capture enough of...
Drifting through space without a care in the universe. During the final days of the Game Boy Advance a series of games were released by Nintendo in their home territory of Japan under the bit Generations label. A set of seven games featuring basic but stylish graphics and somewhat experimental gameplay. My favourite of the bunch was Orbital, or...
I love VMware workstation. I keep VMs around for basically every version of every major Linux distribution, and use them heavily for all kinds of kernel testing and development. This post is a quick writeup of my networking setup with VMware Workstation, using dnsmasq to assign my VMs addresses and provide a DNS server to resolve VM addresses....
This is pretty nuts. I was poking around in the storage area of my house, and I found a huge cardboard box filled with letters and audio cassettes and dust. Everything was Danish, German, and English, but mostly Danish. The name Max Rasmussen was everywhere, so I think it was all his stuff. I had to get a tape player at best buy to play the...
This game was a real time sink for me during my formative years, with its simple rules hiding a fiendishly difficult set of puzzles that chewed through the hours as if they were minutes. It has to be said, however, that the Quavers crisps licence attached to the game was a very odd marketing move. Each stage in the game consists of a number of...
Evil pigs, giant eggs, farting flowers, butterflies, mushrooms, a hungry monkey, a lost dwarf child, a thousand year-old wise man and a pink-haired feral boy. Yes, Tomba! may not be your average game but it’s certainly an overlooked gem. Sony’s PlayStation brought gaming kicking and screaming into the third dimension. Before the introduction of...
The beautiful game. When people mention football (soccer) games these days there are probably mean one of two games: FIFA and Pro Evolution Soccer. These games have evolved year-on-year, from when they were originally poles apart to today where they are very much the same sort of game: photorealistic players, recognisable stadiums, team kits,...
Creating a sequel to a game is a tricky thing. It’s often difficult to retain the essence of the original game, meaning a lot of sequels keep things safe and don’t stray too far from the concept along the way. This usually leads to an average game, which is why it was such a shock to find that this one goes up to 11. One of the most well...
A tale of enduring love, spiders and spray cans. This charming little maze game is interesting for one major reason - you control both characters simultaneously. It’s not as difficult as it sounds, though, so don’t worry. Both characters walk up and down the screen as directed, but when you attempt sideways movement the first character does as...
This game was dedicated to the memory of Gunpei Yokoi - genius creator of Nintendo’s Game & Watch and Game Boy handheld consoles. A fitting tribute that means his name will live on. The game was released for the WonderSwan an odd little machine available only in Japan and created by Bandai to compete with the Neo Geo Pocket and - of course - the...
Firefox 4 is going four dimensional! Time dimensional! (Ok, for those who know physics, just pretend 🙂) There’s CSS transitions for all sorts of animated eye-candy, major JS speed-ups to give scripted animations a boost and mozRequestAnimationFrame to get keep them smooth and in sync, and a whole host of other graphics and video improvements....
When does a Tetris game have nothing to do with Tetris? When you’re trying to market a fantastic but niche Japanese game to the rest of the world, of course. Tetris Attack has a strange heritage, starting out life as a Japan-only release Panel de Pon. It was successful in Japan and prompted Nintendo to wonder how well it might do with a worldwide...
In a sea of badly realised licenced games French company Infogrames made a daring move to buck the trend, creating this cartoon stealth ‘em up set in the Looney Tunes world. The result is a fabulous game as imaginative as the source material it’s based on. You play a Ralph Wolf – a Looney Tunes character the double of Wile E. Coyote from their...