Entries classified under theory


This is about Self-Reference
- Godel would be proud, I think...
To links godel essay theory science math ... on Sat 08/27/05 at 08:54 PM
CHARLES DARWIN HAS A POSSE
- Right on...
Generics Considered Harmful
- Ouch! It would have been so much cooler if Java would have just dropped static typing completely.. :)
To links java theory coding kiss ... on Wed 06/29/05 at 11:28 AM
Links to essays in Joel's Best Software Writing I
- Nice!
To links coding theory essays web ... on Thu 06/23/05 at 06:47 PM
No hero
- Fuck yea, Len..
To links cool quotes diversions theory ... on Tue 06/07/05 at 06:43 PM
Who knows? Maybe nonstandard arithmetic is just unavoidable
- Some interesting thoughts on Gödel's Proof and its implications on nonstandard numbers.
Ontology is Overrated -- Categories, Links, and Tags
- "People have been freaking out about the virtuality of data for decades, and you'd think we'd have internalized the obvious truth: there is no shelf."
World of Ends
- What the Internet Is and How to Stop Mistaking It for Something Else.

Insects and Entropy

Jon was a Computer Science major at Ohio State University taking a course in artificial intelligence. The professor had set up an interesting group project where each student was responsible for writing an insect program that would be matched against all the other student's insect programs in a really cool network based insect war simulation environment thing that rocked.

The insect programs had certain constraints set by the professor. Size, shape, speed, and other traits were selected by each student but there were rules such that you couldn't just turn all the dials to full.

Once the basic properties of the insect were fleshed out, code was written to specify how the insect should act. There was an API for determining where your insect was located on the grid, approximating positions of other insects, moving your insect, attacking, rotating, etc. Pretty standard stuff.

The professor decided to pair students up: one smart kid with one dumb kid; the students who were having a hard time in the class would be able to work closely with a student that was excelling. Each student was responsible for their own insect but they were to debate their designs with each other.

Jon was one of the smart kids and was paired with a kid that wanted to change majors. Jon's dumb kid rarely attended class and seemed to dislike CS in general. He wasn't even in class the day the assignment was handed out and so Jon set out on his own to build the coolest and most advanced insect program ever created.

Over the course of a few weeks he burned through code until his insect was capable of responding intelligently to a myriad of changes in environment. It knew to run when outmatched by judging the relative strengths and weaknesses of an opposing insect. It would attempt to strafe and stay behind other insects. It would stay close to corners to reduce the potential attack positions of other insects. It was The Coolest Insect Ever.

The day before the competition, Jon's dumb kid decided to come to class. Jon asked him if he had finished his insect, to which the dumb kid replied he hadn't even started but would finish it that day, in class. Jon grinned smugly and tried to explain to the poor fool that he himself had spent all week working on his insect and that it still was not yet complete. The dumb kid shrugged and started in coding something that would get him the damn credit for the project.

Right before the class ended the dumb kid asked Jon to take a look at his insect. Jon had to fight the urge to laugh out loud when he saw that the entire insect was a mere 25 lines of code that barely made it through the compiler and with some lines having no chance of even being executed. The dumb kid had not even configured his insect's basic set of traits but had left them at the professor provided defaults.

Looking more closely, Jon found that the insect was programmed to do the same thing every time it had a turn to move:

  1. Rotate 90 degrees.
  2. Attack.

Turn and then attack. That's it? Jon asked, to which the dumb kid replied, Do you think I'll pass?

Jon tried to give the dumb kid some ideas on making his insect more advanced but the dumb kid wasn't interested. Jon decided that the dumb kid would most assuredly not pass.

The next day the competition was on. The professor loaded up the simulation program and everyone hooked their insects into the system. The dumb kid was late and then couldn't figure out how to get his insect loaded up. Jon helped him out while mumbling something about futility...

Finally the simulation began and Jon was excited to see his insect perform well through the first full round. In the second round, Jon's insect would get stuck in one of the corners, enter an infinite loop, and be forcefully removed by the professor. One by one all other insects would be killed by other insects or removed by the professor due to logic problems - that is, all but the dumb kid's insect.

As he sat watching the dumb kid's lonely insect turn-and-attack, turn-and-attack, turn-and-attack, as if to mock the whole class, Jon was forced to re-evaluate his definition of cool in relation to computer programs.

This story was told to me by Jon Miller (UNIX sysadmin) in the first person. It has stuck with me as an excellent illustration of the power of simplicity and the devil that is the human tendency toward complexity.


Two Is An Impossible Number
- Wow, this may be the most serendipitous page I've come across on the c2 wiki. It starts with strategies for when generalization is okay, leads into caveman number systems, how many objects the brain can recognize without counting, God as Lisp programmer,
Master Foo and the Ten Thousand Lines
- Word!
To links coding theory unix ... on Sun 03/27/05 at 06:45 PM
Tim Bandits - What were Einstein and Gödel talking about?
- Yea, this is the coolest thing I've read in a long time. Tim: let me borrow that "Gödel, Escher, Bach" book - I'll tear that shit up in a night, I swear...
To links theory physics wow diversions ... on Wed 03/16/05 at 06:12 AM
The Selfish Class
- How programs adhere to the basic laws of Darwinian evolution.. Seems to gel with everything I've learned.
Programmers' block
- Bill de hÓra describes the major flaw in high level languages like Python..
To links coding python theory ... on Thu 03/10/05 at 02:14 AM
Abstractions vs Patterns
- Sam Ruby trying to put a definition to the word "simple". Seriously, it's not as easy to define as you think.
To links coding theory kiss ... on Tue 03/08/05 at 03:12 PM
Rails as a disruptive technology
- Sorry, I can't stop linking to this guy...
To links coding ruby theory ... on Sat 02/26/05 at 05:52 AM
Structure and Interpretation of Computer Programs, Video Lectures
- When did I die and how the hell did I end up in heaven? Crazy!
To links coding video theory wow ... on Tue 02/22/05 at 07:06 PM
Fear Driven Development
- "... the opposite of fear may be curiosity."
To links coding theory ... on Tue 02/22/05 at 06:22 AM
Groupware Bad
- Goddam this is an awesome essay on how bad software is written..
To links coding theory essay ... on Thu 02/17/05 at 02:24 AM
Politics-Oriented Software Development
- "Someone who points out a problem early is a troublemaker; someone who fixes a problem at the last minute is a hero."
To links funny coding theory essay ... on Mon 02/14/05 at 10:53 PM
Why Craigslist Works, by Craig
- The whole PDF requirement at ChangeThis sucks but this looks like a good read anyway..
To links diversions theory essay web ... on Wed 02/09/05 at 03:25 PM
Neal Stephenson�'s Past, Present, and Future
- The author of the widely praised Baroque Cycle on science, markets, and post-9/11 America
Dijkstra - Separation of Concerns
- Dijkstra is a complete badass.
To links coding theory ... on Thu 02/03/05 at 07:36 PM

Getters/Setters/Fuxors

This is the second article following up Phillip J. Eby's Python Is Not Java. In the first article, The Static Method Thing, we took a look at how Java static methods differ from Python class/static methods. This time we're going to dive deep into the evils of getters and setters.

To weblog coding python not java theory ... on Thu 01/20/05 at 08:43 AM

Disproving Backward Time Travel (kind of)

I have a theory that I believe proves it is impossible to travel backward in time. The theory is based purely in practicality and requires no mathematical or physical calculation whatsoever (although I throw a bit of bullshit math in for good measure).

It should be noted that I have no understanding of formal time travel theory or even basic physics so this is surely full of holes. Still, it has been fun to ponder and so I feel an urge to record it here.

If you've heard of this particular theory, please let me know as I've done some research (okay, only a little googling) and have come up with nothing.

To weblog ramblings theory science ... on Thu 01/20/05 at 06:55 AM

Iocaine Powder Explained (How to win Paper, Rock, Scissors)
- Doesn't this qualify as a genetic algorithm?
To links coding theory interesting ... on Thu 01/13/05 at 12:26 AM
Basic Critical Thinking for Software Developers
- AKA: "how to avoid the language war.." must read!
To links coding essays theory wow ... on Wed 12/22/04 at 09:06 AM
Architecture of the World Wide Web, Volume One
- Finally hits 1.0. If you read one big nasty spec this year, this should be it. It's actually full of stories and other weird stuff that make portions kind of fun.
To links rest spec theory web ... on Wed 12/15/04 at 07:42 PM
Worse Is Better
- The story of Worse is Better.
To links coding lisp theory ... on Tue 12/14/04 at 04:05 PM
Don't Let Architecture Astronauts Scare You
- mmmmm.. mangos.. yum.
To links coding theory ... on Mon 12/13/04 at 02:41 PM