30 Apr 2007

2.54 cm of anger

Hedwig and the Angry Inch has arrived in Vancouver. We went to see it on Saturday, and it was pretty good – especially Edmonton Block Heater which played The Angry Inch. The Media Club is a pretty good stand-in for Bilgewater's, and if you get there early you can get a sofa up front. Until May 12.

29 Apr 2007

Canadian immigration

Adolfo and I get a lot of questions about Canadian immigration. We first came to Canada on a NAFTA work permit based on letter by my employer (issued in less than an hour at the border), and once we were here we applied for permanent residency. The process took 21 months from the time we arrived until we got our residency cards.

Canadian immigration is pretty straightforward, as the basic federal system works on a point system: you get points for education, work experience, youth, children, and language abilities, and once you cross a threshold (barring any criminal or health problems) you're in. That's the process we followed. There are also programs where some provinces (not Ontario) can select you based on specific labour needs they have: construction (and everything else) in Alberta, construction in British Columbia, etc. With these programs there are few prerequisites, and you can come to Canada very quickly. There are also numerous work visa programs.

We worked with an immigration lawyer when we came, and it was very helpful. If your case is in any way problematic, or you are under time pressure, I highly recommend consulting a professional to understand your options. You may wish to work with a lawyer in the province where you plan to settle, as they will probably be the most familiar with the provincial nomination programs.

Our lawyer was Peter Rekai in Toronto. We found him and his staff to be very knowledgeable and professional; and another friend also had a very good experience with him. I have also seen many mentions of barbara findlay in Vancouver, who handles many lesbian and gay immigration cases (including landmark cases).

I am happy to answer questions, but IANAL and am not qualified to give legal advice. The best advice I can give is to get started today, because every day you procrastinate further delays the end of a sometimes stressful process.

Ouch... breaking backwards compatibility

Joel Spolsky on Microsoft's latest versions:
I tried to open some of my notes which were written in an old version of Word for Windows. Word 2007 refused to open them for "security" reasons and pointed me on a wild-goose chase of knowledge base articles describing obscure registry settings I would have to set to open old files. It is extremely frustrating how much you have to run in place just to keep where you were before with Microsoft's products, where every recent release requires hacks, workarounds, and patches just to get to where you were before. I have started recommending to my friends that they stick with Windows XP, even on new computers, because the few new features on Vista just don't justify the compatibility problems.
Time for a reboot, folks: your old documents are better supported in OpenOffice.org than they are in the newest version of Microsoft Office. Furthermore, when this many important thought leaders are abandoning the Windows platform it is in serious trouble.

A friend went to the MySQL conference last week. He said it was like waking up one day and finding that the world had changed fundamentally: everybody was doing web development; practically nobody was doing desktop, and those few were doing Linux. He said 25-30% of the attendees were using Macs. When I went to the MySQL inner circle meeting last year roughly 1/3 of the PC laptops were Linux-based. Granted, MySQL developers aren't the entire developer population. They're just the part of the developer population that is growing.

Adolfo clued me in that there's a Microsoft advertisement here on my blog. It made me uncomfortable for a moment, but then it made me laugh to see Microsoft paying Google to counter my statements with their tired, expired FUD. Since Microsoft can't even provide backwards compatibility anymore, what possible reason is there for giving them money for an upgrade?

27 Apr 2007

Adobe Flex now open source

I hadn't paid much attention to Adobe's Flex, but the announcement that Adobe is releasing the Flex libraries under the Mozilla Public License caught my attention. Instead of being a boring proprietary play for developers to work on Flash, this is a rather arousing engagement of the open source world.

The promise of Flex, as part of the Apollo Project, is that it will be a platform-independent development platform for Web 2.0-style applications with rich UI, no installation footprint (for applications, obviously not for the Flash player) and, perhaps most interestingly, disconnected use scenarios.

Currently there's no way to make your AJAX applications work offline. Yes, you can get halfway there, but once you lose your browser state you lose your work. So if you disconnect you'd better not lose power until you connect again. This is a real barrier, as anyone who works in online applications knows. Browser developers and others are working on solutions for this, which is essentially the last mile for full Web 2.0 adoption.

So, the MPL is a fascinating choice of licenses. It gives Adobe the advantages of a weak copyleft to keep a commercial developer from stealing their cookies, but still allows software developers to ship their product without giving up their own code.

Before you go thinking that Adobe has gone all communist on us, they are not talking about open-sourcing the Flash player. That may not matter too much, as the Flash player is now available on the three top platforms (Windows, Mac, Linux) but it does keep it from spreading to unexpected platforms like Symbian or BSD or whatever. As far as a mixed licensing model goes, it's kind of the converse of what Sun did with Java (GPL runtime and compiler, proprietary libraries).

My guess is that Adobe plans to follow the gold rush business model and get rich on the tools, much as they did with Adobe Acrobat. It's a departure for them, as their core customer base has never been geeky Windows or Unix developers but instead tattooed and pierced cool kids who develop websites on their Macs. They're losing their grip on the PDF market, and I guess this is their way to strike out into a blue ocean. (Apologies for further propagating that cliché.)

26 Apr 2007

Presidential candidates compared

Cecily sent me this link comparing the pros and cons of the various presidential candidates. "Dude. Come on."

If Russ Feingold would run I'd quit my job and follow him around like a Phish tour.

25 Apr 2007

Web 2.0 platforms considered

So I've done some research (see posts below) and have come to the following conclusions:
  • .NET is slowly gaining market share
  • LAMP is slowly fading
  • Java is static
  • Ruby on Rails is growing exponentially
Based on that data, which one would you pick, and why?

Promoting Linux in your workplace

A friend is marshaling arguments to switch his company's infrastructure to open source. One reason he's using is the bad faith built in to the Vista architecture as explained in the now legendary suicide note.

Regardless of those important issues, for me the biggest reason for an enterprise to switch to Linux is to get off the Microsoft treadmill of forced obsolescence, software maintenance, and shifting standards. Ubuntu 6.06 LTS is an excellent example of the sort of model that is attractive to businesses: a platform that enjoys a lifespan at least comparable to that of a houseplant.

I did enjoy the suicide note paper. Adolfo's experience hasn't illustrated any of those issues... well, except that video editing is inexplicably slow and choppy and that might not be a coincidence. Although the Vista Server kernel might be busy checking all of your server traffic for watermarked Hollywood crapware, that'd show up in benchmarks (provided anyone is allowed to publish them).

24 Apr 2007

Extermination of civil society

Naomi Wolf writes in The Guardian today about the recipe for the march to fascism, and how the US is slouching in that direction. Yes, yes, all of the "Bush is Hitler" parallels are tired, but he's not the real problem – it goes far beyond him. Sinclair Lewis warned us long ago, but we have allowed our institutions to corrode to a dangerous point. There is so little independent media with any real voice left that it can be effectively silenced at a very high level (and there are plenty of examples of how it is already happening). (via BoingBoing)
After reading the above, note today's example: Tom DeLay says Nancy Pelosi and Harry Reid are "getting very, very close to treason".

My switch to Ubuntu

When my brother-in-law asked me about my experiences I realized I needed to write an article (and beat Cory Doctorow to it).
I switched my Dell Latitude D600 to Ubuntu 5.10 (Breezy Badger) back in December of 2005. I haven't looked back. Although sometimes I run Windows in emulation, that's becoming increasingly rare. Basically, I use free software for almost everything I do, and it feels great.

I'm using Edgy Eft for my work desktop, as I haven't set aside two hours to rebuild it. But I just installed Feisty Fawn on Adolfo's old laptop (amd64) and it is quite nice -- a big upgrade from Edgy in terms of ease-of-setup.

Automatix is the must-have resource for downloading the usual necessities like codecs.

Device drivers can be problematic as some things (like Blackberry) are just a black hole. Digital cameras however almost always just use the standard USB disk driver, so that "just works". iPods work too (even without iTunes). USB scanners that I've tried have just worked as well, as have the webcams I've used. So, no complaints.

The biggest problems are generally with Broadcom wifi chipsets, cheap printers, and ATI video cards. Feisty has built in support for them, but you still have to jump through a couple of hoops at setup, depending on your hardware. Depending on the printer it can be kind of a pain (my HP Laserjet 1000 was just hopeless, and although I got it to work, I finally just gave it away). However, if the printer isn't local it is usually pretty straightforward, as the biggest problem is around firmware. [Man, I hate hardware manufacturers who put the device firmware in the driver.]

Samba is pretty easy these days, though mostly I don't bother (except as a client) -- I have a NAS drive that I use for file sharing, and a network-enabled printer (new colour laser!) -- so if you're setting up a laptop, networking shouldn't be a big deal.

I don't use any virus scanning at all. It does exist, but who cares: I get my stuff either through the official Ubuntu packages (apt-get) or I download source (and the latter very rarely these days). Basically, you just don't worry about viruses or spyware on Linux. The software updates are all centralized in the distribution, are fast, and don't nag you about rebooting. In short, a much better user experience than Windows. But what isn't these days...

A year and a half ago when I first tried it Ubuntu was quite an adventure, but it has now become quite polished. (I flirted with Gentoo for a while, but lost interest in the flexibility. Choices == headaches.)

I have officially stopped providing free Windows support. I thought I was helping friends & family all those years, and it turns out I was just letting Microsoft continue to ship crappy software. Now I have an alternative – and I will help friends run Linux, but not Windows. Microsoft: I quit. Good luck replacing me.

16 Apr 2007

ASP.Net and the future

ASP.Net actually seems to be picking up steam and according to a friend-of-a-friend who does such research,
"Lamp still holds more market share, but ASP.NET has been making inroads and things are trending in that direction."
Netcraft shows IIS gaining ground.

But the picture isn't that clear. To make it fuzzier, I want to try to separate the web services from plain old web sites. Web services do not yet have deep penetration in the marketplace, and they might be a better indicator than what is now popular.

And, as a friend points out, there are plenty of examples of high-volume websites that run ASP.Net. MySpace does. As my friend also pointed out, scalability of a web application has more to do with whether it is stateless and how the database is laid out. However, ASP.Net and IIS set you up with convenient-but-deadly session variables and other cheats that refugee desktop developers will find irresistible.

Then, the cost question: how much do you have to shell out to Microsoft to run your ASP.Net application once you've built it? Without SQL Server it's not too bad, but you will wind up spending about $500 upfront plus $125/year for the rest of time just for standard Windows Server with Software Assurance. A friend notes that ASP.Net 1.1 is fully supported on Mono and is actually complete. So you could have your cake and eat it too -- as long as you don't want to try to debug that. Yikes.

Finally, fashion. Languages gain ascendancy for a variety of reasons, not the least of which is what happens in schools. Lots of schools still use Java to teach computer science; at one time it was Pascal. C++ had a brief heyday in the mid-90s. Whatever the kids are doing today, they're likely to keep doing as they get older. I'm going to get my face pierced and go hang out in the CS lounge at UBC and see what they're playing with. Polyester went out of fashion in the 80s despite its durability and ease-of-use, but then was rebranded Microfibre and is now quite popular again. I don't expect that to happen with C++.

Do CS students buy Macs like the rest of college students? Do they use Parallels? Do they have Visual Studio installed? Are they debating Linux distros? Are they hardcore gamers running XP?

More poultry nesting activities

Following the Virginia Tech massacre:
“The President believes that there is a right for people to bear arms, but that all laws must be followed,” she said, noting that Mr. Bush and Education Secretary Margaret Spellings held a conference on school gun violence last October. “Certainly, bringing a gun into a school dormitory and shooting ... is against the law and something someone should be held accountable for.”
Now those are words of comfort. I guess we should take the Cheney case as an example of that accountability. Certainly, this is an unimaginable tragedy that nobody could possibly anticipate or do anything to prevent. I know! Maybe they should hold another conference.

15 Apr 2007

DoubleClick on Google

Old news already, but Google's purchase of DoubleClick is a pretty big deal. Google already owned most of the online ad revenue, and now they own the rest of it. Granted, their evil quotient just went up again, but I guess everybody cashes in sometime. I can understand how Yahoo! was outbid, but Microsoft still has $29 billion in the bank. Ballmer says advertising is important, but he seems incapable of doing anything about it. I suppose he's counting on his geniuses to invent something new. So far, they sell ads on MSN &ndash like, wow. Good luck with that, chump.

But honestly, what is the deal with Ballmer? Last time it was YouTube:
I am surprised that Google would pay $1.6 billion for it.
No. I'm not saying it is overvalued. I'm not trying to say that. It depends on a set of factors. I'm not saying I wouldn't write a check for that amount of money. I might.
Oh yeah? Well, buddy, if you can't innovate within your company, then you'd better stop dithering and buy something.

Switched to Skype

We've ditched our $30/month Vonage-clone VOIP service (Primus TalkBroadband) for Skype for $58/year -- with unlimited North American calling. The call quality is better, too. So they're going to help put Vonage out of business. Good thing, too, as the only thing I ever liked about Vonage is that they threatened the phone companies: beyond disrupting them, they never worked at innovating their service. I figure Skype has a couple of years to make some money before they're put out of business by P2P VOIP and nobody has to deal with landlines at all. They do at least have a nice (if nonstandard) codec going for them.

13 Apr 2007

ASP.Net considered wasteful?

So, is ASP.Net really a pig? Is that why none of the big web apps use it? Is this correlation without causation? Let's explore some of the possible reasons.

It may be about cost. Start adding up how many processors it takes to serve those pages, how much the windows server licenses cost, divide by the number of users and revenue per customer, and in the end you'll keep a lot more money if you're running on an all-free LAMP stack.

Or it might be a more generational thing. The older generation of developers who cut their teeth on Windows naturally like the tools they're using and focus on them. They also live in fear and admiration of fearsome Uncle Bill, he who gives with one hand, takes with the other and makes the mountains tremble. So they listen to his oracular rumblings and lap 'em up. 80% of victims of family violence never escape their abusive situation.

The younger developers with the ostrich bone stuck through their eyebrow started out on web services and never considered Microsoft's opinion relevant. They never liked Windows anyhow, so why listen to that old fossil? Besides, this LAMP (or Ruby on Rails) stuff is new and shiny, and look, I can download it for free right now and use it immediately and write a promotional site for the keg party at Spencer's house on Saturday.

Or it might just be that ASP.Net is a windsucking pig that devours costly resources like 1980s metal bands consumed Bolivian marching powder, but without any speedy results. However, were this the case, I suspect that endless benchmarks would have shown this, which they did not. But are the benchmarks measuring the sort of applications that Windows developers of a certain age really write in ASP.Net (huge object-oriented confections with elaborately orchestrated design patterns swapping objects promiscuously like a 1978 key party) or a dumb Hello Web page hammered like mad (line-for-line translated simple I/O)? I don't know for sure. I have certain suspicions and recollections. LAMP applications are written very differently from ASP.Net applications, and it may not be the framework but instead the way the culture uses it.

Likely it is a combination of the three factors: price, performance, and fashion. One thing's for sure: of big web apps, there's nothing out there written in .Net. Unless somebody cares to enlighten me.

12 Apr 2007

The jig is up.

The desktop era is over, just as the DOS era ended when Windows 3.1 came out fifteen years ago. Suddenly the Windows monopoly is irrelevant. Nobody targets Windows, they target the web, and they probably target Mac as well if there's some software they have to install. Windows (and Office) are not being pushed aside primarily by Mac and Linux; no, that is a symptom. Instead Windows has been made irrelevant by web-based email and a cloud of little productivity tools that are now available (and growing fast). It's April on the web, December on the desktop. There's no reason to put up with tired Windows with the high cost and terrible quality (usability, speed, security – name your criteria) because you can get a Mac or install Linux and get all of the productivity tools you need – on the network, to which everybody has access everyplace they want to work. The days of emailing Word documents around to attempt to collaborate are over. The way that people work is changing, and today's desktop software gets in the way of collaboration. In two years nobody will be bothering with it anymore. And don't even get me started on Sharepoint and the rest of Microsoft's collaboration "tools" that they're tacking on to the outside of their old, brittle applications. The new services are organized around collaboration and can do much, much more of what people actually need to do. Game over.

Yes, Windows will still be around, as will Office. Today's 30+ population will continue to use it, and they might even upgrade one more time before they get pressured into switching platforms too. They'll get tired of sitting in support queues trying to install these packages on Windows, and at the same time be attracted by friends to services that have no such problems (and, usually free of charge, and carry no expectation of hand-holding telephone support). MS is defanged: they have to compete with Linux (free) and Mac (qualitatively better) to provide a stable, simple operating system that gets people online and lets them get their work done. Except Microsoft probably can't do that with Windows and maintain backwards compatibility. They are stuck.

Developers who are hooked on Microsoft tools will continue to maintain a wilting set of applications in a deteriorating Windows market. They'll try to use the Microsoft stack to build web services, but the licensing costs will squeeze them right out of business. Microsoft development tools are very sleek, very sexy: they are space shuttles built for architecture astronauts, when what most people need is a bus or a Hyundai (or if they're super rich/irresponsible, a Hummer) to get them to the office. You can't build a web-scalable application with that swollen, sluggish .NET framework for any money. (If so, name one. It's hard enough to find a really big site that runs Java.) Yes, these tools are a very satisfying environment to code in, and they debug like a dream, but they're built for desktop software (at most, client-server) and that game is played out.

So, how am I not full of it? I'll give you three real-world examples.

First, my own case. Plain fact is, I can (and do) virtually all of my real work without using any desktop software other than the browser. I use Ubuntu Linux. I run Firefox, IM and Skype regularly, and that's about it. Maybe P2P software, and video players (which are all available cross-platform). Sometimes I use OpenOffice.org when I have to look at Office documents. In very rare cases, I have to pop open a windows virtual machine. There's nothing to keep me from using Linux or Mac, so I use Linux because I'm a crazy open-source pinko commie (what else is new). But what's scary for Microsoft is, I really can do all I need to do with free software.

Second, Adolfo. His laptop got old (battery, mouse, screen dying) and he needed a new one. I suggested a Mac, but he is familiar with Windows and wanted to stick with it. At the same time, his Windows XP install stopped booting (for the third time in 18 months) -- and while he shopped he still wanted to use his computer. I declined to spend the 36 hours (fact!) to reinstall and patch it, and instead installed, configured and patched Linux in 90 minutes (fact!). Adolfo didn't like Linux: he's not your early adopter to begin with (not thrilled with change) – and the software for IM he really didn't like. Yahoo! Messenger and Windows Live Messenger are much more sexy and feature-rich than Pidgin (f.k.a. GAIM), and even Skype is missing video conferencing in their Linux version. So he bought a new HP laptop with Vista on it. He didn't like that either: the change was too radical and not positive. It asks him a lot of questions he doesn't understand (that it gives no clue how to answer). It introduces installation hurdles to overcome the security holes inherent in the Windows architecture, not to mention the brick walls introduced by the antivirus software. The transparent windows make the interface cluttered and hard to use. There are too many options standing in the way of anything (insert a USB flash drive and just see how many decisions you now have to make. Oh, then try to eject it! That's great stuff.) He spent time with Windows Movie Maker, which has improved to the point where it doesn't crash every five minutes, but it was jerky, slow, and awkward. It has an Office 2007 trial installed, but he'd have to buy it all over again, and eventually he conceded that he really has no use for it. In the end, he said that next time he's going to get a Mac. The lesson here is that he has a painless choice.

Third, my Mom. She doesn't use any desktop productivity software, ever: she has stopped writing letters and no longer uses Word. She just uses web-based email and surfs the web, and sometimes uses IM (but not the advanced features). She doesn't know about configuration and doesn't want to pay just to keep her machine from stabbing her in the back. So why does she need Windows? She doesn't, and her next computer will probably be a Mac. Or it might be a Linux appliance that updates itself and requires no configuration, like Google is rumoured to be producing.

Nobody can say that this is pie-in-the-sky, Henny-Penny, pass-the-bong bullshit, not anymore. This is the actual state of affairs. Pundits agree. Wall Street agrees. Startups are all focused on web applications. The last new category of desktop applications, P2P, came out eight years ago. The reality is that the desktop is already irrelevant, therefore Microsoft is vulnerable, as the real battle is being joined elsewhere. Microsoft has everything to lose.

Now we look back at 1992 and say that was when the DOS era ended, and that's not controversial. It was very controversial in 1992 to people whose livelihoods depended on DOS applications, and denial is a powerful force. Today I got an email invitation for Excel training. Why not classes about shorthand and how to operate a Dictaphone? In three years that won't be a joke anymore.