Hixie's Natural Log

2003-03-26 21:16 UTC Not yet the weekend

Narley just stopped by with psychotic Jazz and tried playing Vice City for a while. Not very successfully, I might add.

Personally I finally managed to save Diaz yesterday (after months of failure) and have been completing mission after mission since then. I love this game. I especially love the way you get to choose how you complete the tasks. You don't have to do it just like this.

I haven't been doing much Standards-related work or checking my e-mail recently because about three weeks ago I decided to learn C# and the .NET framework. I'm very impressed by it — if you are familiar with Delphi then you will easily be able to recognise Anders Hejlsberg's influence. So far I've learnt how to use threads, how to write custom controls, how to manually lay out forms, how to use events and delegates, and how to write network code.

Unfortunately only a few select people will be able to see the results, since the application I've been writing is a multiplayer Monopoly™ game, and I'm pretty sure distributing it would violate all kinds of copyright laws. I wrote the server side of this project in C++ a few weeks ago, as part of an exercise in learning how to write Linux socket code.

At the start of the month I should have attended the Annual W3C Technical Plenary, but for financial reasons I could only do so via IRC. On the positive side, the working group dealt with almost all my outstanding CSS2.1 comments, so there's a good chance we will see a Last Call working draft soon. On the down side, that means I really have to start the CSS2.1 Test Suite in earnest. Now that is a full time job and a half.

I'm also close to having a first draft of the CSS3 Generated and Replaced Content module ready for publication. That draft is full of all kinds of wacky ideas, like the following print stylesheet which turns all href attributes on links into footnotes:

/* example stylesheet based on CSS3 proposals */
a[href]::after {
  counter-increment: footnote-number;
  content: counter(footnote-number, footnotes);
a[href]::after::alternate {
  display: list-item;
  content: attr(href);
  move-to: footnotes;
a[href]::after::alternate::marker {
  content: counter(footnote-number, footnotes);
@page {
  counter-reset: footnote-number;
  @footnote {
    content: pending(footnotes);

That looks a little complicated, but the good news is that I carefully set up the initial and computed values of all the properties listed above so that the following two line stylesheet gets exactly the same result:

a[href]::after { content: footnote; }
a[href]::after::alternate { content: attr(href); }

If you want to know what all those magical pseudo-elements, properties, and values mean, you'll just have to wait for the draft to be published!

I heard today that Mozilla now has smooth scrolling. I'll have to check it out. I hope it stops quickly enough, I always find that smooth srolling applications go on scrolling for ages after I've stopped holding down the arrow key. Not to mention that "smooth scrolling" is often synonymous with "slow scrolling".

In other news, a couple of weeks ago Dreamhost told me I had to do something about the incredible inefficiency of my Web log software, or pay extra. I spent 16 hours straight with a Perl profiler, Emacs, and several cartons of fruit juice, and managed to cut down the time it takes to generate these pages by 70%. Not bad for one day's work! ☺ Of course it pales in comparison to Xiven's amazing work with caching... considering the lengths to which he's gone to make it possible to cache his content, I wouldn't be surprised if he only got one hit a week despite hundreds of thousands of people visiting his site. What's really embarassing is that Voidwars manages to run two tickers every three minutes supporting 100 users and 1000 planets each on the same machine and apparently it doesn't even appear on the radar.

Some of the optimisations I made are general PLIF optimisations so you can see those in bonsai.

Finally, a puzzle. First, go to this document and select everything and copy it to the clipboard. Next, paste it into Notepad, and change the font to Tahoma. What do you see? What you should see is "☺ ☹ ☠", a smiley face, a frowny face, and a skull and cross bones face. For some reason though, everyone but me seems to see a smiley face and two squares. I've even replaced my tahoma.ttf file with one from someone who sees the two squares, and I still see the three faces. Why can't anyone else see them?

Pingbacks: 1