Preparing the Slides
Ok it's not really tomorrow yet. It's July 19th, 1AM, I'm supposed to prepare slides for my talk tomorrow afternoon 5:15PM, still not started though. Neither I've read what I used to think I need to read before it. I say "I used to think I need" because I'm next to sure that I'm not gonna read. Just got to do the slides. But well, the laptop is there by the queen-sized bed, just have to go over the bed to get it...
...Magically woke up 4AM! Started slides while drinking Ahmad tea after Ahmad tea and smoking Winston after Winston. Well, Yes, the room is smoking. In fact it costs me a lot but I didn't want that. Andrew J Hutton the organizer was assigning we sharing people to suites, there were six of us, and John Lockhart was looking for a smoking room. So Andrew was looking for another smoker to put with him in one suite and pack the other four in another suite, so I volunteered. I mean, I normally don't ask for smoking room since I'm in "quitting" state for a long time now. The point is that, now "the two of us" are supposed to share the bill, not any "the four of us"! :((
Chain-smoking is allowed (and encouraged) when preparing slides or projects which are due in less than 24 hours, but the problem is that, I mean, after smoking a pack of them in a day, you most probably gonna do the same thing for the rest of week. [Update: and that's what's happening now four days after...]
The talk is called FIXME Bidirectional Layouts in GTK+. I decided to do the slides in HTML instead of LaTeX (or Lambda) to take advantage of our beloved OpenType Persian fonts, and well, really easier to write down, and don't need a manual (and I don't have internet at hotel)... And in case need be, I can switch to PHP to get some programming functionality to and avoid using LaTeX beasts just for a simple "for" loop... Which is exactly what happened :-).
I designed the template and it turned out to be quite like my LaTeX presentations, same color theme, and also same markup, in PHP format instead of LaTeX! Did the cover and overview but then it looked like I can't really make any progress there, so turned to the sofa, smoking Winston, drinking Ahmad tea, writing down slides on paper. Wow, it went sooo fast. In half an
hour I did 7 or 8 slides which did all the introductory and basic material, with examples and all. Then started to type them in. Many things changed in the process, but eventually by 8 I had half of the presentation ready, with a fair amount of eye-candy, compared to the pretty technical subject of the talk.
Then I dressed up, a coffee and and headed up to the Ottawa Conference Center, picked up the badge and entered the room. FIXME Havoc's FIXME keynote was already started. It took a while to make the wireless work, but then I just sat on the back of the room on a very comfortable sofa and kept going with the slides full powered. It was just in the afternoon that I found that I've not studied GTK+'s internals at all, so I can't really propose any solutions as I've promised in the FIXME abstract, and gosh, all people put aside, what Owen and Havoc would say? Probably that I just covered the Unicode Bidirectional Algorithm for the beginners...
To get an idea of GTK+'s model for handling direction, I started Glade-2 and looked up the widget properties. Found a couple of interesting ones, tweaked them to different values, put both English and Persian text and saved a few screenshots. Having an idea of what to look for now, I took a few interesting screenshots of applications under both en_US and fa_IR locales, and marked the interesting parts using The GIMP. They turned out better than I expected.
Finally with a bit of greping the GTK+ sources and headers, I compiled a couple of slides showing the GTK+ interface to them, and then fortunately found a couple bugs and misfunctionalities there, proposed best solutions that came to my mind. Wow, was getting something finally. Wrapped up with conclusions and I'm done!
At the end, I even had an hour to stretch and get some coffee before the presentation. It was a long 12-hour presentation-hacking session. But the result was again better than I expected.
Here are them.