The Night Shift

26/04/2011

For years, I had to get up really early to beat the traffic (which is increasingly stupid in Montréal) and find a parking spot near ETS (where I work). Suffice to have one circulation cone misplaced (or a dick using two parking spaces) and you have to pay for parking.

However, working schedules can really mess you up, and I decided recently to let go of it and just get at work later.

Read the rest of this entry »


Lost+Found: 須藤元気 (Genki Sudo) WORLD ORDER in New York

23/04/2011



Un peu de caviar, s’il vous plaît

12/04/2011

There are times when you must hide information from a document without changing its appearance and layout. I’m not talking about plain censorship, I meant like when you have to submit a paper to a journal or a conference anonymously while required to follow stringent layout guidelines. It may suffice to set a background of the same colors as the text, but if it does the thing in print, it doesn’t work so well with PDF where you can still select the text (and I did a blog entry using this behavior a while ago).

There’s a censor package for \LaTeX but it doesn’t play well with whole paragraphs, and it messes out the layout if you select more than just a word or two. This week’s entry proposes a simple \LaTeX macro to do nice (but not weapon-grade) “censoring”.

Read the rest of this entry »


1%

05/04/2011

Making a difference isn’t easy. Like everybody else, we are taken by our daily tasks and obligations and we end up having little or no spare time, and, anyway, we rarely know how to make a difference with the means we can afford.

Making a donation (other than getting rid of the clothes or furniture we can’t stand anymore—and that nobody wants anyway) isn’t easy because we are never sure we can actually afford to give money away and that we are never sure that the money goes were it should and that it’s used as it should.

Read the rest of this entry »


Initializing Arrays

29/03/2011

Initializing large arrays of data before use is always cumbersome but it seems to be unavoidable.

The first types of solutions fill the array with a value that denotes an empty entry. While this sounds straightforward, the choice of that value is not always easy. For floating points numbers, zero may or may not be a good candidate. If convenient (as a zero floating point value is encoded as binary zeroes filling the variable) it may be difficult in some contexts to use because zero may be valid. Fortunately, there’s always the possibility to initialize the array with NaNs, which can be tested and used correctly (but you need the POSIX functions to do that).

Read the rest of this entry »


Markov

27/03/2011

Two weeks ago, I went back to the Université de Montréal to pay a visit to my Ph. D. Adviser. As we toured his laboratories, I noticed that a drawing I scotch-taped to a wall ( as a Masters’ student) was still there after all those years.

…So it’s been there since 1994. Damn, I’m old!


Compressing Voxel Worlds

22/03/2011

A friend of mine, Arthur, is developing a voxel-based game and found himself having to deal with large volumes of data. Unlike 2½D games where the map is essentially a 2D expanse with occasional relief, his game allows the definition of things in full (discrete) 3D.

To avoid loading the entire map in memory, he made the wise design decision of making his world tile-based, so that it can, simultaneously, reduce the working set as well as having an essentially open map, by loading only a small set of visible world blocks at all time. So together we took a look at compressing these world blocks, and it turned out that we can do a lot with fairly simple algorithms and VLCs.

Read the rest of this entry »


Wallpaper: Autumn

18/03/2011

(Autumn, 1920×1200)


Kaleidoscode

18/03/2011

(A photographic experiment involving a kaleidoscope and some code)