That’s my thermometer from a couple minutes ago. I’ve been sick essentially since Saturday and it looks like it’s finally on the mend! For some reason the last couple times I’ve been sick I’ve got cold instead of fever. This morning I was down to 35.6ºC (for you Americans, that’s 96ºF) and had to take a long bath just to keep warm. It looks like I’m finally getting back to health.
The upside to the sickness is I did do quite a bit of work today. The major rewrite of the bounds inference for Pola according to the last paper is getting close. Only 4 or 5 screenfuls of typing errors to sort out and then testing, ha! I’m hoping I’ll get it finished in the next couple days as it would be nice to have all the ducks in a row for my trip to Calgary next week to see my parents and work with Brian and Robin again!
Today marks the 3 year anniversary of Jasna and I! It simultaneously feels like a long period of time and a short period of time to me. Looking at a picture of her from three years ago (to the left) it does seem especially long. It feels like we’ve had a lot more than three years of love and joy and growing fit into those three years.
That picture, if the EXIF data is to be believed, was taken 3 days after we got together. We fell in love and built a shared life here in London — now we’re living together even — and before too long we’re both going to graduate and hopefully plan our future life together, forever.
I recently rewrote the build system for Pola from ant to GNU make. Keeping things in ant was getting to be too much work, trying to be proper and writing tasks (in Java) rather than just using the shell. I was initially a little worried about how much work it would be to redo the build system, but I was pleasantly reminded by how simple it is. It took probably about a quarter the amount of time to rewrite the entire build system from scratch in make than it would have taken to do a little incremental change to the ant system. As a bonus I managed to clean up the project a lot, reducing the build system down to just two files of a combined 70 lines. (more…)
I desperately miss the demoscene. Towards the end of the 1990s when personal computers got powerful enough to do, well, just about anything, I started turning my interests elsewhere. It’s still alive, though, and picking up some amazing coders. The latest jaw-dropping demo to be released is a 256 byte demo from Řrřola, a coder in the Czech Republic. Here’s the Youtube version of it for those of you that don’t have DOS installed:
This is one of the most technically impressive demos I’ve ever seen in my life. What he’s done should be flat-out impossible to do in 256 bytes. As a reddit comment pointed out, taking a single screenshot of the demo in action will yield a file 96 times larger than the demo itself. A simple “hello world!” written in SPARC assembly, as taught by our university, is over 2.6 times as large than this demo (2.59 times as large if you’re clever about filling delay slots). Hell it takes over 1/20 the size of this demo just to represent the string “hello world!”. From an information theory it boggles the mind that that video can effectively be compressed down to 256 bytes.
Anyway, if all of this weren’t exciting enough, it gets even more exciting due to the fact that he’s released the source code. More exciting still is the fact that the comments are written in (very clear) English instead of Czech. I don’t think it will be possible for me to resist figuring out how he did this. Parts like this:
push 09FCEh ;<aligns with the screen
pop es
mov bh,56h ; xyz addressing trick from neon_station
; vecNN = (words){[5600h+N] [5656h+N] [56ACh+N]}
;frame loop - prepare constants
;ax=key bx=5600h bp=dx=0 cx=3 si=100h di=-2 sp=-4 word[5700h]=T
are going to have me stumped for a long while, I think, but I’m pretty psyched about it. Taking a quick 5-minute pass through the source code I understand a surprisingly large amount of it, just not the parts that really count. Tracing through it sort of brings me back to my demoscene days, except now I have the luxury of going through source code instead of trying to deal with DOS Debug. One of my first thoughts reading through this was “he’s using floating point instructions? That’s so cheating. Who has the money for a math co-processor‽”
The paper I submitted to FOPARA, a workshop in Eindhover this November, has been accepted! We got some really amazing comments back from the referees. The really evil part of the paper, near the back, didn’t get as many complaints as I was expecting. Maybe I need to present it better so people can fully appreciate what horrible things I’m doing, ha!
So yes, fixing up the FOPARA paper will happen before long. I also need to make a trip to Calgary soon to work with Brian and Robin more. In the meantime I’m working on my thesis proposal which has been dragging on for too many months now and working with my supervisor, Jamie, on a cleaner and — with no shame about being nerdy — more exciting formulation. It’s making us rethink about things we haven’t thought about in a long time, too, which is good.
And while this is all going on I’m still slowly working on the implementation where time permits. Progress is being made on the bounds inference. I’ve also put up some binaries of the interpreter — as it existed a couple months ago. Not surprisingly no one’s downloading any of them except for me (to test).