Archive for the ‘Brain Candy’ Category

Hackfest Podcast

Friday, December 2nd, 2005

This week’s hackfest was brought to you by the letters M and P and the number 3!  Our first "podcast".

Hackfest 1110 Mortem

Thursday, December 1st, 2005

Today’s notes are informal, but action-packed!

Luke commits to starting part-time technology business.
Vinny is doing an audio podcast. He will put the link here.
J knits a pink hat.
Graham still trying to fix his clocks code. Invisible clocks don’t work because somehow text properties are off.

Vinny is working on Gmaps schools application – running live on rails.

Luke helps Graham with various emacs snags.
Helpful emacs commands: f10 gets you to the menu.

Luke found the page tables for his handheld coding.
He wants to get an idea for the segment sizes and how it shows up in virtual address space.
He wants to put the kernel in a well-understood place so he is just interacting with linear memory.

Punctuating Clocks

Monday, November 14th, 2005

In Laurie Anderson’s performance piece The End of the Moon she suggests that instead of ending sentences with periods, we might end them with clocks, signaling how long was spent on each.

I thought, "Emacs!", with the idea of making a gimmicky blog toy. Luke convinced me we might work to make it more generic, so it could be used as a program analysis tool as well.

The first version is rough, inserts directly into the text, and doesn’t account for edits.

Future versions will have the following characteristics:
1. Instead of using keystrokes, will take advantage of emacs’ structure of generic coding-text systems. It already knows where the statements begin and end.
2. Represent the time-stamps in some hidden form in the text, perhaps like glyphs or text properties. This would imply a separate render command. Luke points out that we’ll need accompanying files with these annotations for the source code case.
3. Come up with more clever renderings.
4. Can turn the system off.

The first draft is at

Why Engine Games Suck, or, Why Game Design is About Rules

Tuesday, September 27th, 2005

What is a game?

[game] noun: a form of play or sport, esp. a competitive
    one played according to rules and decided by skill, strength, or luck (Oxford English Dictionary)

Games are fun – thats why kids play them.  Games are about exploring the possibilities of your surroundings, devising a limited set of rules, and then interacting with your environment as limited by those rules.  A ball, some people, and a flat surface can turn into golf, football, soccer, kickball, baseball, or basketball.  All of these share the same basic elements, but otherwise differ widely due to the application of a (generally) small set of rules.

Engines are games without rules.  They are generally based on other rules that are too boring for us to care about, like the rules of physics, sound, or computers (graphics engines, sound engines, etc).  Sometimes, engines are made that try to make creating games easier – these are called game engines.  They usually tie together all the other engines that you might want to use, and provide a framework to base a game upon.  Some game engines are the Quake, Quake 3, and Doom 3 – any of these can be purchased, so that you can write a game using them.

Sometimes, game engines are released as games – like Doom, and Quake 3.  These games tend to get a lot of hype – look at the smooth rendering and high framerates of Quake 3, or the 2.5D environment simulated in real time in Doom.  Unfortunately, these games tend to have short shelf lives.  Doom got the best run of this, due in part to factors outside of gameplay: being the first game massively distributed over the internet, and the relative adolescence of computer games in general.  Ultimately, they tend to have a short shelf life once the hype wears off.

Ground breaking engine games are tough, and then generaly come out poorly.  I think the reason for this is the same reason as any ground breaking software development project: breaking new ground requires research, experimentation, and analysis of your experiment.  Once you’ve figured out the lay of the land that you have recently created, you can now devise a structured environment to play in, ie a game.  Games will always be about imposing rules, because rules are the essence of games.

Games that have great engines

doom, doom 2, doom 3
quake (1,2,3)
grand theft auto Vice City
sim city

Poor Games Good Games
doom                   doom 2
quake quake2
quake3 Sim City
doom 3 GTA Vice City


Used New Engine Used an Existing Engine
doom                   doom 2
quake quake2
quake3 GTA Vice City
doom 3
Sim City  

    Whats different with Sim City?  It was written to be a simulation of
    demographic forces, and was later turned into a game.  It also took
    years to develop.

Hackfest 101 Postmortem

Thursday, September 22nd, 2005

–  Since Last hackday
    –  Luke
        –  Started porting eclipse SAP development tools to Linux
            –  Replaced windows native libraries
    –  Vinny
        –  Commotion
            –  Abstracted out all of my application singletons
            –  Got everything working again
            –  Some scenegraph research, ogre3d is the way to go
                –  Stackless python and continuations…
                      continuations are cool and powerful
–  Today’s Plans
    –  Luke
        –  Working on browser component for SAP plugin
    –  Vinny
        –  lisp hacking – implementing while
–  Today’s Reality
    –  Luke
        –  learned a little about the browser
            –  got the mozilla to integrate
            –  still trying to get it to load inside eclipse
            –  fixed a few more IE specific quirks
        –  spent some time trying to fix dhcp again
    –  Vinny
        –  lisp – wrote while as a macro
            –  (defmacro while (condition &rest codeblock)
                      `(loop (if (not ,condition) (return)) (do

God Tower is a Very Difficult Puzzle Game

Tuesday, September 13th, 2005

God Tower is a very difficult puzzle game. Each level presents you with an image, and the point of the game is to guess the riddle that the picture presents. You input the answer to the riddle ( all lowercase one word), and then you proceed to the next level. I only had enough patience to get to level five (with a hint on level 3.)

I learned about God Tower from jay is games. Jay runs a fantastic blog about web games and game design. If you’re looking for something to burn some extra time, jay is games is a good place to start.

Songs of Hackfest, vol 1

Monday, September 12th, 2005

What are the best hacker inspired songs? I’ve always liked You’re So Technical from the Magnetic Fields.

Suggest your favorite hack-oriented songs.

You have prosthetic wings
You drive a surveillance van
You’re always doing seven things
You write the code for brain implants
There are no papers on you
The law doesn’t cover what you do
You and your think tank entourage
Are all counterculture demigods

(C): You’re so technical, you go hacking around the world
You’re so technical, baby, Are you a boy or a girl?

You have some extra limbs
You look like a Swiss army knife (with wings)
Dance like a Hindu deity
Best friends with Timothy Leary (C)

You’re a Libertarian
The death of the Left was you
You look like Herbert von Karajan
You live underneath the zoo (C)

From the House of Tomorrow. The consummate fan Ernest suggests this character was based on the chimerical electronic pop musician and storyteller Laurie Anderson (homepage of the brave), who is coming to Ferst Center Theater (scroll down) in November!!

Hack Fest 11 Mortem

Thursday, September 8th, 2005

Thursday, Sept 8 – no 11 – atlhack 11 photos

Found out there’s a python atlanta group that meets here.

Since Last Time-
luke – made a nethack bot sitbot – lives 999 turns – article on making your own
– io trick with nethack is much faster
titus – was at dragon*con, sent DMCA notice by MS
– attended cool piracy talk, will blog that
ben – re-did autograder interface, can make webwork module
graham – no projects, wrote an article about semiotics book
– found out about chuck music synthesis language, similar to supercollider on several platforms
vinny – found racer – open source racing simulation
stephen – implemented midpoint line drawing algorithm for graphics system
mike – started music notebook – for plans for songs lyrics

This Week-
luke- shelve nethack right now. get a better handle on interfacing to USB and bluetooth – write 2 drivers GPs- bluetooth, and USB scanner. USB snoop logfiles. learn about USB snoop format.
titus- if he gets eclipse working, will work on DNA project, windows product key generator, pkgen in haiku
ben- try to make a rules language ot generate point values for the tests based on rules. generate points according to a heirarchy and rules
stephen- tonight I just want to get double buffering working, possibly complete the midpoint line drawing for all cases
graham- point at mp3 file and chunk into little wav files
vinny- get glyphs rendering in contexts, maybe with animation
mike – My modest goal for today is to test out my new printer in linux and windows, test printer, and prepare recording setup for lyrics

Today’s Reality:
luke – can’t talk to network
titus – eclipse works! wrote an Invokatron example plugin, loads a custum file extension, loads into multi-page editor
mike – finished installing printer
ben – figured out how to write XML schemes, wrote schemas fro three the point assignment rules
stephen – double buffering is working, almost done with midpoint line algo, probably going to keep working
graham – segmenting the mp3 into wav, but not sure they are on correct segmentation boundaries
vinny – didn’t get stuff meant to do done. skype audio, links for python group

visit! one of our colleagues, the philosopher scientist Matt stopped by on his visit to Atlanta. He’s been writing articles on Epistimology, which if things ever clear up, should start helping us understand why we believe the things we do about science and knowledge.

todo items:
why is luke’s feed item not showing up in Atlanta Tech?
svn with project integration

titus – next week wants to get custom menus at the top for different operations

Hack Fest 10 Postmortem

Thursday, September 1st, 2005

Notes from today’s meetup. Lisp! Regedit! Messenger! None of these things are in the notes.

–  Since Last Hackday (a long time ago, in a galaxy far, far away)
        –  last time, failed to do audio chat
    –  graham
        –  hard drive crashes.  all project code lost
            –  rewrote lots of project code, but not back up to speed yet
    –  luke
        –  wrote an interface for connecting to nethack via lisp
    –  vinny
        –  atlhack related stuff
            –  CamelCaseSmackdown
            –  cron backups
            –  added project module, but no SVN support yet
    –  titus
        –  investigated biojava, a java API for biology
    –  ben
        –  rewriting autograder
            –  looked into a netbeans architecture

Click to see Plans and Realities.
–  Today’s Plans
    –  graham
        –  implement peak picking – will have simple segmentation done
    –  luke
        –  finish lisp interface for nethack
        –  investigate specs for two other projects
    –  vinny
        –  get opengl object to properly Init contexts
    –  titus
        –  research the eclipse modeling framework and SWT
    –  ben
        –  make a test sample autograder that just compiles code
–  Today’s Realities
        –  this time, failed to do video chat.  next time, shared AIM / IRC?
    –  graham
        –  did peak picking!
            –  thresholding (> .25 percentile), zero crossing the derivitive
            –  checked into SVN
        –  luke
            –  bridge is reliable
            –  a bot engine has been started
        –  vinny
            –  beat the crap out of code, refactoring style
            –  got openGL context to display
        –  titus
            –  eclipse was not going to happen on his laptop
            –  second project: bindary newsgroup poster that doesn’t suck (C#)
                –  got some basic code in SharpDevelop
        –  ben
            –  wrote test autograder, but it doesn’t work

Miscellaneous Content

Monday, August 29th, 2005

Book pages that were never part of any book. School notes, non-atlhack projects, sandboxing.