Testing Mozilla Firefox 3.5 Beta 4

Software

This morning I decided to give Firefox 3.5 Beta 4 from Mozilla Labs a try.

I'm really interested in a lot of what they're doing, including their development of HTML 5 support for <audio> and <video> elements and closer CSS 2.1 support including text shadows. I haven't tested the former, but the latter is definitely working; not sure whether I'd ever use such shadows on my own pages but it's good to see Firefox catching up to Safari/WebKit, Opera and Konqueror/KHTML in this regard.

Testing CSS 2.1 test shadows

According to the development page, another feature is vastly improved JavaScript support which should be most noticeable in Ajax applications. I'm old fashioned and am of the opinion most Ajax online is poorly executed (plus I dislike it when sites only work with JavaScript enabled) but to be fair Gmail and Google Maps did seem quicker and the interfaces worked more smoothly; that said I don't have any hard numbers so this could all just be attributable to a placebo effect.

Mac users like me will be pleased to note some quite significant cosmetic changes which make Firefox look more Mac-like. Context menus now finally match Mac OS X Leopard's rounded corners, the bookmark bar has a much more subdued gradient which looks classier and the toolbar itself takes up less screen real estate.

Testing CSS 2.1 test shadows

Given I use so many extensions I admit I was worried how many of them would break in the beta; to my relief only two were, and neither are security related. SSL Blacklist (now my favourite extension alongside NoScript) in the version I had was incompatible, but updating to version 4.0.31 and the SSL Blacklist Local Database 1.0.7 fixed this. Clipmarks reports to be compatible, but alas doesn't work for me at all.

Compatible with 3.5b4 Not compatible with 3.5b4
Adblock Plus 1.0.2
BetterPrivacy 1.29
British English Dictionary 1.19
DownThemAll! 1.1.3
FireFTP 1.0.4
FoxClocks 2.5.33
Ghostery 1.4.0
NoScript 1.9.2.8
Permit Cookies 0.6.2
SSL Blacklist 4.0.31
SSL Blacklist Local D’Base 1.0.7
Tree Style Tab 0.7.2009051501
Clipmarks 3.5.1
Greasemonkey 0.8.20090123.1
LORI 0.2.0.20080521

I look forward to the final release, as usual the Mozilla folks are doing a fantastic job.


Homer Simpson and the FBI

Media

Agent: Agent Johnson, FBI.
Homer: Very happy to meet you…
Agent: [Because of your tax evasion,] you’re gonna work for us.
Homer: Okay, but can you pay under the table? I got a little tax problem…


Great parenting philosophy quote

Thoughts

Icon from the Tango Desktop ProjectThis post is really stretching the limits of what this blog is supposed to be covering, but I thought the wording of this one comment on an article discussing Obama's budget eliminating abstinence-only funding was brilliant:

My parenting philosophy/ discussion goes something like this:

  • Drinking alcohol as a teen is a bad idea.
  • Drinking alcohol and driving is suicidal.
  • Having sex as a teen is a bad idea.
  • Having sex without protection is suicidal.

Posted by No One Of Consequence | May 18, 2009 8:41 AM

I think I should talk about computer software again soon.


Microsoft’s most epic fail of all time, researching Cibai!

Software

Microsoft Research's Cibai

I've felt embarrassed for Microsoft when they introduced the Zune, Windows Vista, the Office Ribbon interface, Windows Genuine Advantage, MSN and Windows Live search, the near constant security threats, their latest announcement of a Windows 7 version that will only run 3 applications at a time… but this could very well be their crowning achievement.

As someone who grew up in Singapore, I was buckled over in fits of laugher when I saw this report from Microsoft's Research division!

Cibai: An abstract interpretation-based static analyzer for modular analysis and verification of Java classes

We introduce Cibai a generic static analyzer based on abstract interpretation for the modular analysis and verification of Java classes. We present the abstract semantics and the underlying abstract domain, a combination of an aliasing analysis and octagons.

We discuss some implementation issues, and we compare Cibai with similar tools, showing how Cibai achieves a higher level of automation and precision while having comparable performances.

Clearly they don't have any Hokkien creole speakers in their ranks! Then again to be fair, I'm sure plenty of Microsoft employees in their research division would like nothing more than to do more cibai research ;) A cibai […] analyser? Cibai […] tools?! :D


This site is dedicated to Debra Schade

Thoughts

Me and mummy in 2006

Since she moved on my blog here has been dedicated to my late beautiful, cheeky, warm, funny, brave mum Debra.

After an epic battle with cancer that lasted since my sister and I was little kids and through three international moves, Debra suddenly left us in her sleep recently. Her funeral was a beautiful service in Sydney a few weeks later with close friends and family played to the sounds of Santana's Sam Pa Ti, Bob Dylan's Forever Young, Bob Marley's Stir It Up, Sabah Habas Mustapha's Warm Rain Falls, The Beatles' Let it Be and of course Spirit in the Sky.

She was an amazing person with a ridiculous sense of humour that I can proudly claim was the primary influence for my own. We'd watch Bertie Wooster and Fawlty Towers episodes for hours on weekends (a cow creamer!). In the oncology ward where we considered the nurses and Dr Tan family she'd refer to her chemotherapy drip as champagne and loudly insist on seeing the wine menu. She introduced me to Michael Franks (now my favourite singer/songwriter) and his Search for the Perfect Shampoo. I'd dance into her bedroom singing Dean Martin's How Do Ya' Like Your Eggs in the Morning? to her at breakfast and she'd throw books. I'd poke fun at her short stature and she'd mock me for being a nerd who was too scared to ask that cute Korean girl out that she had already pre-approved. Most of the time when she didn't have enough strength to get out of bed I'd bring a pair of laptops in and I'd do my work while she lectured on why the dress the latest celebrity was wearing was awful or how corrupt the cosmetics industry is.

My mum being a giraffe

Behind the tough, silly exterior though was a person in almost constant pain and anguish. Routine aspects of most of our lives were insurmountable chores for her that only got more difficult and painful as the years went on. She was a master at hiding it from the outside world, but the consequence was she'd rarely want to leave the house for the effort to put her self described "mask" on was nearly always just too much.

She confided in my sister and I shortly before she left us that we were the reason she continued to fight, because she wanted us to be old enough to have memories of her. It's only now I realise how incredible (and lump-in-the-throat inducing) that was. I'm also becoming aware now as I get older that she won't be around for so many milestones in my sister's and my lives (graduations, work, weddings, kids) but we do have memories we would not trade for anything.

One of her favourite songs of all time was Thunderclap Newman's Something in the Air, particularly the beginning of the final verse when the coda finishes and the melody seems to soar; she told me she loved it because it sounded like a bird was taking off without worries. While I selfishly wish she was back here with me, I also know she was living in excruciating pain for years and her passing finally allowed her to take off and leave the agony behind. Even if she was taken away from me far too soon, she's no longer in pain.

Unfortunately I didn't seem to inherit her class or her incredible musical, comedic, artistic or literary skills (thank you Rainer!), but given this website is one of my own primary outlets for my mind I can't think of anything more fitting than to dedicate this to Debra Schade, even if all it amounts to are sporadic thoughts about software and the universe that she'd laugh and mock me for if she read! We had a great relationship :-).

I love you Mumster, I miss you so much it hurts. Thank you for giving me life but even more for your friendship. Forgive me for this next part.

#import Display.h;
int main( int argc, const char *argv[] ) {
    printf( "Lots of love, Ruben" );
    return 0;
}

Mummy and I


Creating clouds of links instead of long lists

Internet

Beautiful colours and clouds

I admit I tend to do more back-end programming than front-end website design, but I have picked up a lot of little tricks. One such trick is instead of displaying links in a dry vertical list, to display lists of links in so called "clouds". This has the benefit of using a tiny fraction of the vertical screen real estate, and they look cooler!

For example, here's a cloud list of the links from the blogroll of this site here. If these links were displayed as a plain list, it would take up over 30 lines!

The key is to use a regular unordered list of links as you would for a plain vertical list of links, but then use CSS to display the list items inline instead.

For example, this is an example of a basic unordered list of links:

<ul class="cloud_list">
  <li><a href="#">K-On</a></li>
  <li><a href="#">Code Geass R2</a></li>
  <li><a href="#">Sola</a></li>
  <li><a href="#">Strike Witches</a></li>
  <li><a href="#">Zero No Tsukaima</a></li>
  <li><a href="#">Grilled Cheese Sandwich</a></li>
</ul>

To display them as a cloud, you use CSS to change each link into an inline element which will cause them to group together, along with a few other properties to clean up their appearance:

.cloud_list li {
  display: inline;       /* DISPLAY LINKS ON SAME LINE */
  margin-right: 1em;     /* SPACE LINKS OUT */
  white-space: nowrap;   /* DON'T START NEW LINES IN LINKS */
  list-style-type: none; /* REMOVE BULLETS IN IE6 */
}

And this is only scratching the surface! With CSS you could also theoretically use different classes to define different font sizes and styles for certain links to create more of tag cloud look.

And here's the appended CSS showing the different classes we can add to links to differentiate them, in this case my criteria is my opinions of the shows contained in the list:

.cloud_list .love  { font: x-large Georgia; }
.cloud_list .like  { font: medium; }
.cloud_list .weird { font: medium "Courier New"; }

Anyway that's just one possible use for CSS and lists, there are certainly many more!


Web aggregators: the chocolate shop problem

Internet

One of the problems with using a feed aggregator or blog reader is you tend to act like a kid in a chocolate shop: you just keep adding and adding feeds because they're free and they're full of goodness until one day you're subscribed to so many feeds and you're getting so many entries you start to drown. As a result you start to click the "Clear Unread Items" or equivalent more often than you'd care to admit.

I've never understood why blog aggregators must treat each item as if it were an email or to do list item in dire need of my attention. When I read a newspaper or magazine I don't read every article or story, I only read what's interesting to me. I guess the comeback to that would be that if you receive too many email messages you only start reading ones you find interesting or necessary, but I think that's pushing it.

What metaphor do we use to replace the proverbial story "to do list" though if it's so flawed?

Bloglines unread items
Whoops!

As with a newspaper, unless we specify we want to keep something or share it with friends, we probably don't want to read the same story twice. By greying out an item from our subscribed feeds our software is telling us we don't need to read that material any more because we've already seen it. Short of deleting a story altogether from our own cache of previously read articles, this is probably the most logical thing to do.

ASIDE: Notice my careful wording above, I said the software tells us that we’ve already "seen" a story, not read it. Unfortunately we’ve only scratched the surface here, should our software be able to tell me whether I just skimmed an article, just looked at the pictures or read it in full? Could it have a timer perhaps? I’m getting in way over my head!

That's not to say though we want to be prompted in the opposite way if we haven't read an item, because again to me that's akin to the software telling me I'm slack that I haven't read every single story, which I don't want to do. But then again, it's useful to tell me what I haven't read, otherwise how do I know what's new? Bummer, we're back where we started!

I've often heard it said that one of the strengths of computers are their ability to process large volumes of data in an instant that would take a human an eternity. Silly jokes about politicians and physical education teachers aside, as humans we have the upper hand in having intelligence. The fact that so called "tags" and "categories" even exist for posts and other media online shows that artificial intelligence still has a long, long, long way to go. And I mean a LONG way. A computer can download every news story and media item from hundreds of feeds to my aggregator every time I check my browser and perhaps do some rudimentary filtering based on what I've previously read or what I've defined as my topics of interest, but it's speed and accuracy abruptly stop there. "Rudimetary" is the operative word.

I have a lot of reading ahead of me!
Whoops!

Perhaps it's not the software that needs retraining, it's us. Perhaps I need to train myself to stop subscribing to every single news feed I come across with the thought in the back of my mind that my aggregator will handle it for me somehow. Because every morning when I wake up, turn my computer on and am told that I have 1000+ unread stories along with comments from friends for several dozen of them, I end up just reading just the latter, a few other bits and pieces, then leave. I reckon if my Google Reader and Bloglines accounts told me exactly how many items I've failed to read over the years, the integer would be of sufficient length that if I had that amount in my bank account, I could purchase myself a small planet and retire there.

I haven't even touched on the problem of missing out on good stories I should have read because there's so much other stuff crowding around it, but I suspect if you've read this far and use an aggregator yourself you don't need me to elaborate any further!

As I've eluded to previously, what I really need is an electronic secretary of some sort who picks out important blog posts, emails, Tweets and so forth, then sends them to me in an email for me to skim each morning. Technologies like RSS and Atom allow us to deliver that material, but after that computers still have a long way to go.

Thesis material perhaps?


Disjointed geographic observations on Wolfram Alpha

Internet

I must admit when I first heard of Wolfram Alpha I shrugged and relegated it to the same area of my brain as Citizendium, a novel idea but one that probably doesn't do much more than other current sites already do to be worth the effort. I was way off base; having since played with it for a couple of hours I have to say I'm impressed by what I've see so far and it's potential, even if right now some queries might only get limited results.

Ever since I was a kid I've been obsessed with cartography (my favourite book growing up was an early 1980s atlas) so my exploration of Wolfram Alpha has so far been mostly geographic, political and economic type searches. By entering a query containing a series of countries, cities and the like you can get a very clean, professionally presented comparison. While the maps themselves are a bit crude, the information is all there on the page, and other tables containing data such as age distribution can be toggled with links.

At least for me it's been fascinating, and a bit scary, to compare parcels of the world that are so wildly different not for any geographic reasons necessarily, but just because of politics. For example, Singapore is less than 2 kilometres away from Malaysia across the straits of Johor and have a shared heritage but they may as well be on different planets! Doing a search for Israel, West Bank is an eye opener. Israel, Gaza Strip is shocking. @Tekhelet on Twitter warned me not to trust "leftist [P]alestinian sympathisers who distort facts to make [Israel] look bad." which I'd lend credence to if the pages were generated from one or two sources, but the over thirty separate, independent ones you can find out by clicking the Source Information link speak for themselves. And even if it weren't entirely true, people are still suffering. Anyway we're going on a tangent now aren't we?

Then there are searches that expose similarities, for example Australia and Canada have very similar Gini coefficients, even if the site does call them Gini Indexes! I'm old fashioned you see.

Even though it is possible to mix and match cities, states and countries, it seems there's still insufficient data to do them well. For example, if you were to compare the population densities of Japan and Singapore you'd see Singapore's density is an order of magnitude higher, but I'd wager more than a few grilled cheese sandwiches the numbers would be reversed if we compared Singapore to Tokyo.

While we're talking about cities, what I appreciate is being able to see local times and being able to calculate differences between places and the rough travel time. For example, to fly to Anchorage from Adelaide would take… a while! I guess it would have made more sense to go via Singapore.

Lots of disjointed, rapid-fire observations, and I'm sure to be making plenty more: as I said on Twitter, I'm a junkie for this kind of stuff!


Congrats to Gerard van Essen from FreeBSDNews.net

Software

Gerard van Essen I see to be congratulating a lot of different people here in recent weeks. Frankly it's just so uplifting to have so many deserving people to to praise in light of the shenanigans of… well, other people.

On this gorgeous Monday afternoon I wanted to send my belated personal congratulations to Gerard van Essen who's been tirelessly covering the world of FreeBSD and auxiliary projects over at FreeBSDNews.net now for over two years. As someone who struggled for so long to stay on topic on his own blog that he eventually gave up, I hold even more respect for his conviction!

I’ve been running this FreeBSD news blog for exactly 2 years today. FreeBSD and operating systems have developed and evolved a lot since then; reporting and writing about these have been enjoyable.

Many thanks to everybody who’s notified and emailed me about stories, and those that have left comments.

For those who don't know, Gerard is one of the Core Team members of the PC-BSD project which aims to make FreeBSD accessible to more people by configuring hardware and installing a graphical environment automatically. If you don't like Ubuntu or have wanted to try FreeBSD after reading my babble on about here incessantly, you should give it a shot!

I think when we spend so much of our time online digesting news sources and downloading free and open source software, it's easy to forget there are real people behind them that make them possible. I've resolved to give due credit to sites and software I find useful.


Don’t write blog posts at 01:30am

Thoughts

From the Department of Passing Interests comes a message from a person claiming to be the comedian, writer and entertainer Andy Kaufman, someone whom I admit I did not know before listening to The Overnightscape, but then again I suspect that was the point.

Here it is, straight from AndyKaufmanLives.com which has more redundant HTML than even my site here has. Microsoft Office products should not be used to generate web documents!

I have spent the last 15 years haunting the internet. People ask when I am going to “return”. You do not seem to understand. You left me 25 years ago. I have no use for you now. My message to the world is this… f*ck every last one of you.

I also really love frosty chocolate milkshakes.

Do I know of whom I'm talking about? Not really. If you read my blog, you probably don't either. Come to think of it, do we "know" anyone? What's the definition of "know"? Is to know to have met them, talked to them or intimately know details about their life that perhaps at times you could even remind them of? Is it more of an issue of acquaintance, or perhaps something deeper than even friendship?

We're all looking for answers in life and have met challenges we've either taken by the shoulders and knocked senseless, or have accepted the feeling that it's the inevitable and not worth fighting against. I admit I've felt far too much of the latter, less of the former, and from the sound of it Andy has as well.

Making lemonade when life gives you lemons is tough when life hasn't given you any sugar to make it with.

Flinders Ranges

In an ironic twist, in his message discussing the world's ignoring of him, he is ignoring those who were born after the fact, say less than 25 years ago. Like me. Like a not so statistically small percentage of the world, many of whom I suspect would have been his target market. That's fine.

The water goes under the bridge, the grilled cheese sandwiches get cooked, the world keeps spinning and the people who've decided life is precious and beautiful don't just try to live through another day, we appreciate the fact they've been given the opportunity. When I see how lucky I am to have a roof over my head, plenty of food to eat and several dozen people who give me some of their time every day to read my posts here because they think I'm interesting, I feel darn lucky. I'm 23, still haven't finished studying and I don't have a mum, a girlfriend. I have nobody to hug. Some days it's tough. Other days I just think of those other things and in the words of Michael J Fox I just "think it'll get better from here".

You can take the phrasing of this next part however you wish. I'm a rationalist so I'm going to take it literally as it sounds. Andy Kaufman died 25 years ago. The hardest part of getting over something isn't the anger, the lashing out at the very people online who were interested in you and who could have helped a revival, it's the acceptance. Acceptance is tough.

Icon from the Tango Desktop projectIcon from the Tango Desktop projectIcon from the Tango Desktop projectIcon from the Tango Desktop projectIcon from the Tango Desktop project

This person claiming to be Andy Kaufman (I'm old fashioned, I need evidence) seems to have worn our his patience. Well to be fair my curiosity was piqued but not overly aroused. Frankly I'm just worried that when I die there will be someone who says they're me and claim that my death was staged. What a scary prospect.

Philosophy goes in circles doesn't it? Lots of things do. Car wheels, the reasoning of so many politicians, conspiracy theories. Some are essential to the success and function of our planet and our lives, some are superfluous. It's up to us to make that distinction, but given our shared past it seems it's not so easy to reach a consensus after all.

AndyKaufmanLives.com. So does the alien in my basement, the supposed replacement of Paul McCartney, the apparent lie that we landed on the moon, the mind control chemicals spewing from every air conditioning unit. I guess if we keep telling ourselves something is true, eventually to us, it is. If he really does exist though, I wish him all the best and hope he finds a better group of people than us that he clearly deserves. Deserves sound like desert, like a big cheese cake. With strawberries and turkey gravy.

You take the good, you take the bad, and there you have… my Sunday philosophy post. In the eternal words of Mr Mackey: "mmmkay".