Saturday, December 18, 2010

My Semi-Retirement

Suddenly my life is radically altered. I'm now semi-retired. Last week I ran out of work to do at APROM, and asked my boss if I can work on an on-call basis from now on, only coming in to the office as needed, and he agreed to that. So now I can stay at home and develop Clixmaker. I must get into a routine: everyday after breakfast I'll go for a brisk 30-minute walk, like I did today. I always take the same route: 2 blocks west, 2 blocks south, 1 block west, 1 block north, 1 block west, 1 block north, 1 block west, 1 long block north, diagonally across the park, north to Keele + Annette, 2 blocks east, 1 block south, 1 block east, 3 blocks south, and 1 block east. Maybe I will lose some weight if I go for a 30-minute walk everyday.

Today I intend to implement the Select Tool feature of the Clixmaker Level Editor. When the select tool in the toolbox is selected, clicking on a tile in the main window draws a dotted line around the border of the selected tile. The next feature to implement is Pixel Mode: the selected tile is magnified so that every pixel is displayed as a 4 pixel x 4 pixel square, in a grid. Another feature is magnify, which increases the size of each magnified pixel to 8 x 8 pixels, then 12 x 12, and then 16 x 16, and of course there must be an un-magnify command. The user can paint the individual pixels displayed in Pixel Mode, the same way that tiles can presently be painted when not in pixel mode.

This paragraph is somewhat technical. At present the grid being edited is stored as a 2-dimensional list of tuples, and each tuple represents a single tile. That tuple contains 3 integers, and each integer is a number between 0 and 255, representing red, green, and blue components. When I implement Pixel Mode, those tiles which are not all composed of a single color are not stored as a tuple. Instead they are stored as a list of 24 strings (the default tile size is 24 x 24 pixels), and each string is 96 characters long consisting of a base-64 value. In base 64, each character can be either a lower case or upper case letter, a digit, or the character plus (+) or slash (/). Those 96 characters in each string represent a string of 24 pixels, and each pixel consists of 4 base-64 characters (each base-64 character contains 6 bits of information). So each pixel contains 4 x 6 bits of information, which is enough to represent 3 x 8 bits of color information (red, green, and blue).

I might sign up for Netflix today, so I can watch movies and TV shows on my laptop, and it costs $8/month. I would eventually cancel my Bell TV, which costs about $35/month after tax. This evening I'll call my brother and ask him if his family is coming over for dinner tomorrow. I'll serve frozen vegetable and meat lasagna (my brother's partner is a vegetarian), salad, and cookies/Viva Puffs for dessert. In a little while I'll have a 3rd cup of coffee, and then implement the Select Tool. It feels good to be semi-retired. If it takes me 3 years to implement Clixmaker, I will have used up roughly half the money in my savings account, since I will be working fewer hours at APROM. Luckily I have mutual funds that generate investment income, otherwise I would use up my savings account much faster. I'm going to lie on the couch now. Long live the caffeine molecule, without which we would all be that much less caffeinated. Hasta la vista, baby.

No comments:

Post a Comment