Skip to main content

2014 Christmas

Some time in the middle of december, the courses are all coming to a close. The compiler is working perfectly, and despite being hard hard work, I wish only that we continue on the more advanced topics of compiler design.

I will write a few more times before the winter solstice but I may as well wish all readers happy holidays, at present that is probably only those who will read this in the distant future.

At present I am beginning to think more about my own projects, as the importance of reading for exams grows, so does the interest and desire to work on anything else. I can only reach the conclusion that my brain is wired in a really dumb way, unfortunately, bugfixes in this realm is something that I believe to be beyond me still even though I would relish the chance to view and modify the codebase for my own brain.

Compilers

We've finally finished the compiler, it reads toy tiger language files and emits a functioning x86 assembly language file without any optimization, garbage collection or other fancy magic. Despite every instruction doing about twenty pointless moves back and forth between memory and registers it still feels fast, of course we're not doing things more complicated than simple maths anyway.

It has been a long and arduous process, and I hope only that I can do well at the exam, I know I've certainly coded the project with much needed encouragement from the team who in turn handled the reporting and investigative aspects of the project.

Sleepy Days

Wrecking your sleep schedule with long days of sitting at your project trying to meet the upcoming deadline is a terrible terrible thing. On the plus side, you get the project done, but on the negative, you spend the next two weeks hazily trying to catch back up to all that sleep you missed out on.

The dOvs saga continues, when battling the sleepy demons and heinous bugs that pour from the battered corpse of what appears to be a compiler, the end is in sight. We are hoping to finish up by emitting a horrible mess of assembly for the GAS compiler to finish up, translating the stuff directly to machine code.

dOvs2014 - IR Generation

Together with Semantic Analysis, the Intermediate Representation represents one of the harder tasks offered by the compiler course. If you're visiting from another university, you probably won't enjoy the course too much. You will be spending your time productively thinking about some terrible arbitrary obsolete programming language that nobody in their right mind would ever use.

It is amazing how little it takes to push you over the edge when you sit trying to write test cases during the twenty hour working stint, I made the mistake of eating a little too much breakfast, and needed a few hours of sleep just before finishing up the project.

Getting things done

The second of these posts may as well detail the efforts involved in migrating from an old old apache webserver and moving on over to nginx, such that I too may claim experience and faster serving of my currently very limited content. In doing so I migrated my python scripts which were earlier running on mod_wsgi for apache onto the dedicated uwsgi servers, I'm still getting to terms with how this all works, but I am hopeful that there won't be many issues.

One of the projects that I am now writing is a python event service passing messages through an event queue like Rabbit and out via Server Sent Events to web pages I am hosting. This is one of the steps that I am performing in modernizing the domain and exposing as many services through port 80/443 as I possibly can.

HTTPS will follow soon, maybe the site will be all HTTPS too, we will see.

Recharging

First post, well on the new system anyway. The general idea is that I will be making a post roughly on fridays, resulting in no less than 52 posts a year.

The purpose is to get into the groove of writing. But also to get my head in order by creating externalizations (these posts) of what I have been doing the past week.