October 12th, 2009
I’m intensely interested in politics, and follow current events. I have my own opinions, of course, and they are not blandly ‘moderate’. I think what happens in the world of national and international politics is important to our lives and our future, and we ignore it at our peril.
And yet, talking politics (or writing about it) is something I do less and less these days. That’s partly because my own views have little or no representation on the national stage, and so it seems futile. But mainly it’s because political conversation these days seems always to be an attempt to bludgeon one’s opponents, rather than persuade them. (And this is true of all sides of the debate: if you think the people on your side are innocent of such, or even perceptibly better than your opponents, you are a damned fool.)
I’m not saying I’m innocent of that kind of behavior myself; quite the contrary, I tend to get drawn into it far too easily. I’m trying to break myself of the habit, mostly by no longer talking or writing about politics. I’m not sure it’s right to do so — as I said, politics matters, and requires attention — but it’s what I feel like I have to do for the sake of my own self-respect.
Posted in Life and Stuff, Politics | Comments Off
October 9th, 2009
I’m working my way through Pro ASP.NET MVC Framework, by Steven Sanderson, published by Apress. So far, I like it, for values of ‘it’ of both the book and the framework.
The book — well, the reviews on Amazon were glowing, and they’re basically right: clear prose style, ideas well expressed, and enough critique of other Microsoft technologies that you can tell it’s not a Microsoft Press title.
The framework … is interesting. It mostly abandons the ASP.NET model of server-side controls, postbacks, and viewstate in favor of plain HTML and CSS. (Though there are still advantages to using their HTML helper functions rather than coding up raw HTML yourself.) For pity’s sake, they even make jQuery available for your AJAX hacking pleasure.
What has always bothered me about “classic” ASP.NET was that it seemed to be an attempt to transplant the VB/WebForms style of development — drag-and-drop controls, a low-level event loop — onto the web. It’s a layer of abstraction over the web in an attempt to hide that fact that it is the web.
And it shows in terms of performance. Outside of low-latency intranets, the underlying architecture doesn’t support the chatty postback/viewstate implementation needed to emulate a desktop GUI event loop.
ASP.NET MVC, in contrast, feels like a web-native architecture. It’s designed around the strengths and limitations of HTTP, rather than fighting against it.
On top of that, it encourages the strong separation of concerns implied by ‘MVC’; it nudges the developer towards unit testing and test-driven development; and with the source code placed under an OSI-approved license, it represents a step by Microsoft into the world of Open Source.
All in all, I think ASP.NET MVC is quite cool.
Posted in Open Source, Programming, Tech Industry, Teh Intarwebs | Comments Off
September 23rd, 2009
Stephen Fry meditates on the subject of writing (and writes about it, of course):
I began writing seriously when I was about thirteen. Out streamed poetry, stories and novels, the latter of which were always aborted early, usually half way through the second chapter. It took my friend Douglas Adams to encourage me to go further and he did this by pointing out that the reason I had never managed to finish a novel was that I had never properly understood how difficult, how ragingly and absurdly difficult, it is to do. “It is almost impossibly hard,” he told me. It is supposed to be. But once you truly understand how difficult it is,” he added, with signature paradoxicality, “it all becomes a lot easier.” It was many years later that Clive James quoted to me Thomas Mann’s superb crystallisation of this “A writer,” said Mann, “is a person for whom writing is more difficult than for other people.”
via Emerging into the Light « The New Adventures of Stephen Fry.
Posted in Life and Stuff | Comments Off
September 13th, 2009
One of the greatest men of our time, a man who saved more lives than Hitler or even Stalin destroyed, has passed away.
Borlaug solved that challenge by developing genetically unique strains of “semidwarf” wheat, and later rice, that raised food yields as much as sixfold. The result was that a country like India was able to feed its own people as its population grew from 500 million in the mid-1960s, when Borlaug’s “Green Revolution” began to take effect, to the current 1.16 billion. Today, famines—whether in Zimbabwe, Darfur or North Korea—are politically induced events, not true natural disasters.
via Norman Borlaug: The Man Who Fed the World – WSJ.com.
An in-depth story about the man by Penn & Teller.
Edit: Andrew Steele at the Globe And Mail contributes his thoughts on Borlaug’s passing.
Posted in Life and Stuff | Comments Off
September 10th, 2009
I’d been hearing the terms ‘PubSubHubbub’ (silly name) and ‘rssCloud’ a lot lately, and decided I ought to figure out what the heck these people are talking about. Just in time, along comes Josh Fraser with a guest post on TechCrunch, RSSCloud Vs. PubSubHubbub: Why The Fat Pings Win.
Both [PubSubHubbub] and rssCloud address a fundamental flaw in the way web applications work today. Currently, getting updates on the web requires constant polling. Subscribers are forced to act like nagging children asking, “Are we there yet?” Subscribers must constantly ping the publisher to ask if there are new updates even if the answer is “no” 99% of the time. This is terribly inefficient, wastes resources, and makes it incredibly hard to find new content in as soon as it appears. Both protocols flip the current model on its head so that updates are event driven rather than request driven. By that I mean that both protocols eliminate the need for polling by essentially telling subscribers, “Don’t ask us if there’s anything new. We’ll tell you.”
While Fraser favors PubSubHubbub, he apparently agrees that the name just doesn’t work, and refers to it throughout his piece as ‘PuSH’. If fate is kind, that name will win out. (Or else it will get submitted to IETF, and given a nondescript acronym, a la Jabber’s rehabilitation as the more businesslike XMPP.)
Posted in Open Source, Programming, Teh Intarwebs | Comments Off
July 5th, 2009
Internet sharing mechanisms such as YouTube and Google PageRank, which distil the clicks of millions of people into recommendations, may also be promoting an online monoculture. Even word of mouth recommendations such as blogging links may exert a homogenizing pressure and lead to an online culture that is less democratic and less equitable, than offline culture.
Whenever I make these claims someone says “Well I use Netflix and it’s shown me all kinds of films I didn’t know about before. It’s broadened my experience, so that’s an increase in diversity.” And someone else points to the latest viral home video on YouTube as evidence of niche success.
So this post explains why your gut feel is wrong.
via Whimsley: Online Monoculture and the End of the Niche.
Posted in Media, Tech Industry, Teh Intarwebs | Comments Off
February 26th, 2009
There’s no such thing, right? Well, if you have to carry them all around all day, maybe there is such a thing as too many.
It seems I am now “on call”. Which means I have to tote around the one and only IT-approved model of smartphone, the Blackberry. Which means I am now saddled with two slightly-too-big devices, being already the proud owner of T-Mobile G1 “GooglePhone”.
If this had happened half a year ago, when I was toting around the T-Mobile SDA stupidphone, I’d have counted the Blackberry as a blessing; that thing was an abomination. But now I’m feeling just a little too connected.
Posted in Life and Stuff, Tech Industry | Comments Off
February 26th, 2009
I don’t bother with most viral Internet memes, but this one sounded like fun…

The source material:
The band name
The album title
The cover image
I’m surprised how well the title and the image worked together.
Posted in Life and Stuff, Teh Intarwebs | Comments Off
October 29th, 2008
According to CNET, HP is diving headfirst into the Netbook market. The interesting part of the article, though, is not so much about HP, as about netbooks in general, and how they are being marketed in Europe and Asia:
It’s a dramatic increase, and the difference is all coming out of Europe, the Middle East, and Africa (EMEA), where Asus and Acer have been incredibly aggressive about their Netbooks, the Eee PC and Aspire One, respectively. Of the 10.9 million units that are estimated to ship worldwide by the end of 2008, 8.1 million will go to EMEA, says IDC.
Acer and Asus have done well in the region, as evidenced by Acer’s quick rise to the top of the portable PC market there. But they’ve been aided by local telecom companies, who are subsidizing Netbooks in exchange for a signed wireless service contract. It’s a model that in the past few months has thrived in Europe.
Dell signed up Vodafone for this kind of deal on its Netbook, the Inspiron Mini 9 in September, but HP’s mostly been on the sidelines in this regard, and representatives for the company haven’t indicated if a similar deal with wireless providers are in the works.
Wireless service contract to subsidize a Linux-based device optimized for mobile Internet access. Other than the physical size of the device, how is this different from Android (and, Linux notwithstanding, the iPhone)?
At some point in the near future, somebody is going to put Android on a netbook-class device, and the shape of the future of client computing will become clearly visible. And the day that happens is the day that Microsoft’s desktop monopoly will be truly broken.
Posted in Open Source, Tech Industry, Teh Intarwebs | Comments Off
October 17th, 2008
Model-View-Controller (MVC) is a design style that dates back (as so much does) to the pioneering work of the Xerox PARC facility. The idea is that applications should be separated into:
- Model: the data that the application manipulates, and the fundamental operations it performs on that data
- View: How the application looks to the user.
- Controller: How user, view, and model interact.
(Yes, yes, I’m sure anyone who cares to can pick apart my definitions. Don’t care.)
The idea is, views change all the time (today it’s radio buttons, tomorrow it’s drop-downs), controllers change moderately (add a confirmation step, tighten up the authentication), and models hardly change at all (an accounting program isn’t going to change into an MMORPG). So isolate the fast-changing bits from the slow-changing ones. And also allow different specialties — database hackers, usability analysts, graphical designers — to put apply themselves to their own field exclusively.
How do you do that in web applications? The received wisdom of the day is:
- Model: database + ORM (e.g., Hibernate, ActiveRecord)
- View: templating language
- Controller: application framework (Struts, Spring, Rails, etc.)
In other words, do it all on the server, all in one language (which, of course, fits all purposes, because it is the One True Language). Maintain separation of concerns with iron discipline and wishful thinking.
My own view:
- Model: database + RESTful web service, delivering information in JSON
- View: Static (X)HTML/CSS
- Controller: Javascript/AJAX
The controller code can be implemented in any server-side language: Java, C#, Ruby, Python, Erlang, whatever; it just needs to be able to talk to the database and send JSON over the wire. The view can be created in an HTML/CSS environment like Dreamweaver, with no worries about whether it’s compatible with the developer toolset. And the controller logic… Well, I’ve been playing with jQuery lately, and it may shock some folks to learn that coding client-side Javascript with a good compatibility layer library is actually fun.
Dividing tasks by physical location and implementation language creates a strict separation of concerns. Server-side code does not generate HTML. Controller code does not do SQL queries. View markup contains no executable code at all: there is no template language. There is zero possibility of the parts bleeding together.
Why wouldn’t this work? Am I missing something?
Posted in Programming, Teh Intarwebs | Comments Off