21 Dec 2010

Thanks to everyone who worked to end DADT

I'd like to thank my friends and family for their efforts in ending the "Don't Ask, Don't Tell" law. It means a lot for me, as I had honestly given up hope of it happening any time soon.

It's too easy to be cynical, but as I watched the past two years go by, and watched the hugest congressional majority in recent memory evaporate, I thought for sure there would be no progress on queer issues. And although I told myself I was content with Obama just naming Supreme Court justices, I was enraged by the contradiction of his "fierce advocate" image shown by his administration's aggressive defense of DOMA, his utter inaction on ENDA and DOMA, and the snail's pace of DADT repeal (coupled with continued vigorous legal defense of the law). I had come to the conclusion that the Democrats had decided that gay votes, gay money, and gay wedge issues were simply too valuable to them to give up, and that they would hold us hostage for another six years or until the courts finally grew a pair. I just couldn't take the disappointment anymore, so I really stopped investing any hope.

Sure, I went through the motions with emails to elected officials (pointless, since I vote in Georgia), but I really couldn't bring myself to care a great deal. I was resigned to it. But this is where my family and friends really stepped in and pushed this through. I'm very thankful and grateful for friends and family who care enough about me to take on issues that affect me - without my having to ask. It really means a lot.

It was a little over two years ago when a former friend's opposition to same-sex marriage made me snap and made me raise my expectations of what friends and family will do to help with the issues of queer people. I'm thrilled to say that not only did they take action, they did it without my asking.

Granted, these issues affect us all — when some of us aren't free, all of us aren't free — but when the folks on the comfortable side of the privilege line do more than I do on issues that affect me, it really is touching. Thank you.

28 Nov 2010

That the Windows 7 phone could be worse is little consolation

I played with a Windows 7 phone at the Bell store (the LG Optimus Quantum). Although I wasn't repelled, I was puzzled. Things that should be fast were deliberately slow; navigation included pointless transitions that looked pretty the first time, but that I would soon get sick and tired of waiting to complete.

The device was so warm and heavy you could use it to give a hot stone massage. It is unsurprising that sales have been lukewarm. I was really hoping to see better from Microsoft, if only so that my mutual fund that depends on its performance would perk up a bit.

26 Nov 2010

OSX as a Ruby on Rails dev environment: Package Managers

A lot of Rails developers like to use OSX as their development platform. Although everybody hosts Rails apps on Linux (or Solaris under duress) lots of people love OSX for its productivity, clean interface, and most importantly, its typography.

However, as some have noted, setting up Rails on a mac is hardly a frictionless process. Unlike Linux distros, OSX has no built-in package manager; you get your version of OSX and you get your patches and you'd better like what you get, because every app is going to be updated when Apple or the vendor feel like updating it. This is the same as the Windows world, and it's ugly.

So a couple of efforts have stepped in to fill this void: MacPorts and Homebrew. Neither of these is going to feel like a complete solution if you're used to a package manager like APT or YUM, but they do at least automate the installation process for various open source packages. After all, when you want wget there's no reason you should have to find the website.

I'll start with MacPorts since that came first. MacPorts was inspired by BSD Ports; it is built in Tcl and C and contains a very complete set of available packages. It is quite popular and is the venerable incumbent. And personally, I hate it. I've had my OSX install ruined twice while using MacPorts, just by installing system updates; although I obviously did something wrong, it just isn't a robust solution. If MacPorts is the solution, I don't want to hear the question.

Another alternative is Homebrew, new Ruby-based system developed on Github. It has been around for less than two years, and it's a very active project with a lot of contributors. It stresses extensibility, and lots of recipes have been written to support various packages - predictably, those most popular with Rails developers. Although I don't think it solves the brittleness problem MacPorts suffers (it doesn't address operating system component and library version dependency issues) it is very actively developed, focused on the Rails world, and easily customizable to meet individual needs.

So, although you're probably not going to get set up with a Rails development environment with OSX as quickly as you would on Ubuntu (despite Ruby being included in Xcode), there are good solutions to keep you from pulling your hair all the way out. Which will bring you to the point where you can enjoy and appreciate the kerning on the fonts in TextMate as you write your Rails code.

7 Sept 2010

Whether the test or the code is more important depends solely on who has to write the tests

In the world of open source development, automated tests are like gold. They're the glue that makes it easy to maintain projects with hundreds of collaborators. When they don't exist, code dies, and nobody knows about it - that would be a bad thing, so preventing it is job one. Unless of course, it means you actually have to write tests for your code, in which case it's delegated just as far down the food chain as possible. And nothing's further down the food chain than a paying customer who's already paid you.

Let's say you paid the author/owner of an open source project to add support for something you need. Let's just say that it's something you need, but that would be useful to him/her as well as others. And let's just say that s/he puts that code in his/her distribution. And you pay him/her for his/her time and effort. All is good.

Then, about six months later, you discover a bug in his/her library, in the very code that you paid him/her to write. You fix the code, and that's a good thing, because you really need it to work. It really should have worked in the first place, but oh well. Shit happens, right?

So then let's say that the code is all hosted on Github [because this hypothetical case happened in 2009/2010 and anything worthwhile is being hosted on Github], that you branched the main project, made your change, and committed it. Then you send a pull request to the project maintainer explaining the situation. Beautiful, this is exactly how open source is supposed to work. Git is wonderful, Github is fantastic, and everything just works because of it.

And you get the answer back from a minion of the author that you paid: "well, no, we can't accept this change, because you see, there is no test that was broken in the first place, and no new test has been written to prove that this change is a good one. So go write a test and then we'll think about it."

Which strikes you as a bit odd, because hypothetically, if s/he wrote the code in the first place, and s/he/they is/are such [a] holy motherfucking test-first code ninja[s], s/he would never write a line of code without tests for it. Except the evidence is in the code that never worked in the first place (despite your having, er, paid for it).

So now you have to maintain your own branch of this stuff in perpetuity, because they have rules, you see, and standards, and these rules and standards say that they won't accept changes that don't fix tests. Oh, and by not accepting your fix they're actually hurting your reputation, because the fact that the stuff they wrote for you doesn't work with their library might look like it's your fault, not theirs. But you paid them, and it's all over now. Unless you want to try to write a test for them, which they'll consider accepting.

What you might expect from the maintainer would be an apology, a gracious acceptance of the fix, and for him/her to write the test s/he should have written in the first place (if that's what makes him/her so goddamn happy).

Purely hypothetically speaking. I mean, it would be totally inappropriate to name names if this actually happened.

11 Jul 2010

Adobe Flash: Just because Steve Jobs says it's bad doesn't mean it's good

Steve Jobs' self-serving Thoughts on Flash were controversial to say the least. Yes, he was hypocritical and self-serving (as usual), but he certainly wasn't wrong.

Adobe wants everyone to treat Flash as if it is an open standard, but they haven't made it open source. They made some parts of it open source, but not the parts that matter - and as a result, developers are constantly left wondering which platforms are going to work.

@cyanogen on Twitter: Also, Flash is not going to run on your G1/Magic. At least not the official Adobe version. Ever.
@cyanogen on Twitter: Flash doesn't work because it uses a native (non-portable) library which uses ARMv7 instructions. It can't run on older processors.
As a friend said, "Apple seems just as evil as Microsoft, just not as
successful. And Jobs seems even more evil than Bill Gates. Certainly
a bigger bastard." I totally question Steve Jobs' motives in wanting to crush Flash, but I don't think Adobe deserves a great deal of sympathy.

7 Jul 2010

Will HTML5 make app stores obsolete? Don't count on it.

HTML5 is a lovely platform for cross-device development. Basically, it's the only game going forward. But it's really not an answer for building a great app for a given platform. Apple is talking up HTML5 in order to combat Flash, but it's just talking about web sites, not apps. HTML5 will rule the [moribund] desktop, but for mobile devices I think it has major challenges.

HTML5 does not get the same level of access to the device that you need to build a rich experience.
  • Integration with the contact list (is there anything really more important?)
  • Access to phone status, history and actions
  • Camera(s), proximity sensor(s), microphone(s), accelerometer, compass, gyroscope, multi-touch, speakers, etc (and a lot more to come)
  • Local storage, access to SD-card files, application backup and restore
  • Native configuration and management interfaces (sync, preferences, phone migration, privacy, network gsm-vs-wifi, etc)
  • ... drumroll please: the app stores. This is the channel for getting apps for these devices. Otherwise they have to find your website somehow.
HTML5 apps will be good enough in some cases for all devices, but they'll always be step-children to the native environment. You could argue that we just don't care about the weird sensors and whatever else HTML5 doesn't give us access to. I disagree: the really useful apps for mobile platforms will take full advantage of these features, recording and correlating all sorts of information and drawing conclusions from it - where you are, where your customers are, when you're together, what you're carrying with you, how your spouses are getting along, what you've sold them, transcripts of your conversations, your body temperature, what they've bought recently, voice stress analysis, who else is around, what's mouldering in their warehouse, and what expression is on your face. Science fictional? Sure. "The future is already here, it's just not evenly distributed." Mobile technology is going to level the playing field for these kinds of intelligent applications.

HTML5 will continue to evolve and will slowly add access to mobile functionality common to all devices, in a lowest-common-denominator way. The fact that Webkit will be on Blackberry by the end of the year makes HTML5 a cross-browser contender - it will lock up the entire mobile landscape, making cross-platform browser apps even easier. But so far, geolocation is one of the few things that work cross platform. The full list of things above will come over Steve Jobs' dead body. [I'm only half-joking.] PhoneGap is the only cross-platform development environment that currently has any viability at all, and it's risky because Apple routinely rejects PhoneGap-based apps; although they're written in JavaScript which is technically allowed, Apple takes a dim view of anything not *originally* written in Objective C. I don't expect Apple to be changing direction and opening up their platform and their store. If RIM survives [fat chance] its app store may go in a different direction - but I'm not holding my breath: RIM is completely beholden to [evil] carriers.

The app stores are large and getting crowded. But the publishers, labels, studios and carriers are in bed with the Google and Apple markets, and they have real legs. The markets are evolving extremely fast, especially Google's (which is moving into music and movies, and even has meta-markets like AppBrain) and Apple is s-l-o-w-l-y migrating to a non-desktop iTunes store. The smartphone market is exploding, and every one of these devices has an icon on the front screen for the app store. I don't expect these stores to go away any time this decade - there's just too much money to be made.

17 Jun 2010

Darwin's Bastards

People who know almost nothing about what they're talking about are often more enthusiastic than the ones who know a lot, so they do all the talking, while the ones who know their shit stay silent and get red in the face.
— Sheila Heti, in There Is No Time In Waterloo

Darwin's Bastards is a very high quality collection of science fiction. It's so good that it doesn't even bill itself as being all Canadian. ISBN 978-1-55365-492-6. Well worth the read.

25 Apr 2010

Be angry over corporate control of media, not political partisanship

National Public Radio published an article about the public's lack of trust in the media. They point to examples perceived political bias at CNN and Fox News, and the biases of the reporters in question, but they pointedly ignore corporate influence on news coverage.

But focusing on the popular political differences between Democratic and Republican news outlets is convenient for an organization like NPR, which is beholden to the corporate sponsors who pay for large 23% of its budget. One need only hear "brought to you by Archer Daniels Midland, Supermarket to the World" to understand who has influence over NPR's editorial policies. It really doesn't behoove NPR to point out that the public shouldn't trust NBC's analysis of war planning, since NBC's parent company General Electric does on the order of two billion dollars per year in DOD contracts.

The differences between Democratic and Republican policies are conveniently distracting, pitting the snake handlers vs the sodomites, the sheet-wearers vs the welfare queens, etc. Consolidation of media ownership continues apace, with major corporations effecting central control of all types of media. The recent media extinction events have helped speed this process, and media co-ops have yet to attract a major audience.

The media can't police itself, it sold us out a long time ago. But its attempts to shift the blame for its lack of public trust to its reporters and editors is increasingly obvious and ineffective.

23 Apr 2010

Attention whores in the reputation economy

Yesterday on my way home I saw an ambulance driver texting as she drove. (At least she didn't have her siren and lights on.) But that wasn't the ironic part - no, that was the act of will that kept me from whipping out my phone and tweeting about it. Or better yet, whipping out my phone, taking a picture of her while I attempted to drive, and then tweeting the link. On the whole I'm glad I made it home alive.

The walk to the subway station this morning was surreal. It was snowing pink cherry blossoms which covered the streets and the grass, making me think of nuclear fallout and what a challenge it would be to clean that up if it wasn't just, you know, flower petals.

So then at the subway station there were new additions to the usual gauntlet of free newspaper pushers: a couple of well-scrubbed men pushing The Watchtower. So many voices clamoring to be heard.

The problem isn't an attention deficit, it's a surplus of bullshit. We create a cloud, a lake, an ocean, a galaxy of data, simultaneously afraid of where all this data is going and afraid that if we don't reveal more our voice won't be heard. We've reached the point of saturation with trivia and are waiting for the tool that will come along and stitch it together, but we're afraid of what that'll show. Mostly we're afraid that it'll expose our banality, our utter simplicity and lack of special worthiness of this embarrassment of riches that has been visited upon us.

I have the whole of human knowledge at my fingertips and I want to know more about the Octomom.

19 Jan 2010

Google Docs lets you upload any file! Really? No, not really.

I decided to give it a try. Sounded cool.


Uh, ok. That doesn't make much sense. Is the limit 250MB or 1MB? Or what? I guess I'll look at the help.

So tell me, how does this reconcile with "Upload any file"? Not a great experience here. Google, I'm disappointed.

18 Jan 2010

Rogers tells HTC Dream users to turn off GPS or 911 calls won't go through

On January 15 I received an SMS message from Rogers telling me I'd better disable GPS on my phone or I wouldn't be able to make 911 calls. This is the latest chapter in the unhappy saga of the HTC Dream on Rogers.
Rogers/Fido service message: URGENT 911 Calls: Please disable GPS location on your HTC Dream device to ensure all 911 calls complete. HTC is urgently working on a software upgrade and we will provide details shortly so you can re-enable GPS.

Instructions: Select Menu - Select Settings - Select Location - Uncheck Enable GPS Satellite

Message de Rogers/Fido : URGENT - Appels 911 : Veuillez désactiver la localisation GPS sur votre appareil HTC Dream afin de vous assurer que tous les appels 911 soient acheminés. HTC développe le plus rapidement possible une mise à jour du logiciel et nous vous fournirons les détails sous peu afin que vous puissiez réactiver la fonction GPS.

Instructions : Sélectionner Menu - Sélectionner Paramètres - Sélectionner Location - Désactiver les satellites GPS
First Rogers announces that they're not providing any more upgrades to the software on this platform. Then they announce that they'll upgrade Dream users to the HTC Magic for free (well, with a contract extension). Then the damn thing just doesn't work. Ah, the joys of early adoption...

I just want an Android device with a keyboard. Is that too much to ask?