Prototype to Product.

June 19, 2009 | Tags:

This week my work has been focused on turning four years of experimental technologies into something that resembles a useful production. The biggest improvement to come out of this week’s work is building the foundation of running a virtual machine with multiple virtual CPUs. The compiler is nearly complete with the exception of for and do-while loops, and writing the preprocessor (to handle compiling programs that use code libraries). Lastly, In order to test the virtual machine’s and assembler’s correctness I wrote tic-tac-toe in virtual assembly, and so to test the compiler I rewrote tic-tac-toe in the new high level language. All in all I find it very rewarding to be completing a homework assignment I had in CS-101 using a language I developed written in the language I learned in CS101.

Read more

Filed Under:

Leave a Comment

Kate has been busy packing all our stuff, and I’ve been busy ordering stuff in which items can be packed. We’ve been keeping odd schedules: I go to bed fairly early at night, and Kate goes to bed when I’m getting up. The sleeping arrangement, while not intentional, works out pretty well as space in our apartment is becoming scarce due to boxes piling up all over the place.  I will miss the loud car stereos blasting hiphop and latin music, but the police/fire/ambulance sirens not so much. I will miss the cafe downstairs, the bodegas, and the soul food on the corner. I will miss being on the third floor, and the drunks waiting for the bus. It’s been a good year, and Kate and I haven’t killed each other yet, so I guess everything is a.o.k. Although we still have to move, so check back in with me in another week to see if that last statement holds true.

Filed Under:

Leave a Comment

I spent most of this weekend (the part not spent working on my real job) on fixing bugs with the virtual machine, compiler, and assembler. The biggest improvement has been fixing a bug with the system stack, and adding support for parameter passing to functions. A lot of this works makes me wish I had a better attitude during my courses on programming languages, machine architecture, and assembler in college. The whole, “pffff… I’ll never need to know this after college,” attitude is pretty funny because if it weren’t for me giving myself these problems I’d never actually need to know this stuff.

Filed Under:

Leave a Comment

One of the reasons I post programming stuff to my journal is so I’ll have a record of it for reference later. I’ve made a bunch of minor changes to the virtual machine and the assembler, so I decided to go back and try to run my tic tac toe example from December. As soon as I tried to run it through the assembler, the assembler crashed. At first I thought one of my minor changes had completely broken the assembler, but then I decided to look over the source code again:

Current Code (short blurb)

main:
; Initalize Game
num PlayerOneScore 0
num PlayerTwoScore 0
str PlayerOne “Player1?
str PlayerTwo “Player2?

Correct Code

main:
; Initalize Game
num PlayerOneScore 0
num PlayerTwoScore 0
str PlayerOne "Player1"
str PlayerTwo "Player2"

Ok, so right away you might notice the stuff coped from my journal has question marks instead of double quotes. This is clearly wrong, so I removed the ‘?’ and replaced it with a ‘”‘ everywhere in the code. I ran the assembler again and it still died. I added a bunch of debugging code, but the crash still didn’t make sense until I looked at the code again.

str PlayerOne “Player1"

For some reason WordPress had taken the standard double quotes, and replaced them with some weirdo version of double quotes. I went through and replaced all the strange double quotes with the normal kind (no idea what else to call them), and then ran the assembler again without any problems.  The scariest kind of bug is one that crashes the program completely before much information can be gathered about why it’s happening. I don’t even know how to create the weird quotes on my keyboard, but just in case some tries to run a program like that in the future, the assember will now automatically convert all weirdo quotes to normal quotes and the assembler will not crash. Whew.

Filed Under:

Leave a Comment

The keyboard came early, and I have a working machine again. I lost 500GB of data, but I was able salvage all my research, so I’m happy. Sadly the recovery didn’t fix any bugs in the code. :-( Also, I really should come up with a good data recovery plan this weekend.

Filed Under:

Leave a Comment