Stupidity
I think this photo more than any other symbolizes stupidity. It was taken quickly on a first generation iPhone so if you can’t see clearly what’s wrong, it’s a photo of our new screw driver set. The packaging includes a clear plastic overlay which, you guessed it, is screwed down.
That would be just normal stupidity except for the fact that the package is advertised as a DIY getting started pack, containing the essentials to get you started. Except of course, now you need the DIY getting started pack, opener pack. It’s beginning to sound like an enterprise software sale…
Why The iPhone Has Succeeded
Remember that, at its core, the iPhone offers not a whole lot more than a phone, browser, camera, iPod and GPS. Which, ok, is kind of impressive. But not truly differentiating, Apple’s acknowledged strength in user experiences aside. As good and smart as Apple is at design – and they are very, very good – they’re never going to be as good and smart as everyone else. We see this in the enterprise world frequently, where vendors that foster an ecosystem succeed and those that don’t, well, don’t. But we haven’t seen too many examples of this play out in the consumer world yet, which is one of the reasons the iPhone is such an interesting platform. With the App Store, Apple’s attempting to cement its role with a community play.
I Love Parser Generators, I Hate Parser Generators
I was reminded on the weekend of how much I like working with parser generators – they’re just so pure and clean. You really feel like you’re working with a grammar and all those CS lectures come flooding back. Writing code to parse the same content by hand just never has that feel. Plus they create incredibly accurate parsers in very little time at all.
Stuff I Might Need Someday
A few things I’ve discovered today that look potentially useful in the future:
- Antenna House Formatter V5 – converts HTML and CSS to PDF, including support for MathML. Heck, supporting CSS well is a plus – most HTML to PDF conversions don’t. Hat tip to one of our clients for finding that.
- jQuery Tools – there are plenty of JavaScript UI libraries around, but this one looks better componentized than most. It’s also a good, small set of components that normal web pages are likely to want, rather than being more specifically useful in web applications, though it could be used there too.
- FlowPlayer – actually I knew about this one but only just got around to looking at the details. Handy looking open source flash video player. They’ve somehow converted the GPL into a license that requires attribution which is really odd, most likely to keep their commercial licensing option open. It’s their license so they can do what they want with it but I would have thought there’d be a better fitting license.
Canon Lens Recommendations
I’ve held off asking this here because there’s tons of generic lens advice on the internet and it’s too hard to describe what I’m looking for to get specific advice (because frankly I don’t really know). Anyway, I currently have two lenses – one a Canon EF 18-55mm IS 3.5-5.6 lens, it’s what I use almost exclusively. The other is a Tamron 55-200 f4-5.6 which I use when I need the extra zoom but largely ignore because it takes noticeably inferior shots. I also find that 55mm is just a bit too much zoom for a lot of the holiday shots I want to fire off quickly so I miss a lot if I have the bigger zoom lens on my camera.
Cheaters Never Prosper
The development I seem to do these days tends to run at the extremes of reliability – either it has to be fully tested, nice, clean, production ready code, or it’s complete throw away code where development time is the only consideration.
The advantage of doing this rapid fire development is that you wind up with proof of concept code for most situations you’re every likely to run into. The disadvantage is that the code is rubbish and probably no use to you at all. That bit me once again today. I wanted to quickly whip up a plugin that makes pasting plain text into EditLive! work the way I want it to. I have a plugin that filters pasted content to wrap it in a blockquote for my blog so clearly I could just reuse that as a starting point. Sadly, I cheated:
I Hate Deployment
Deployment ruins everything. So many cool technologies that let you develop more rapidly and do awesomely cool stuff fall down at the last hurdle of deployment. Sometimes it’s because they haven’t thought it through properly so it’s just plain too hard, but often it’s just that it’s too hard to convince people that it won’t be another headache for them.
The latest in my deployment-caused frustrations is CouchDB. I have a few use cases that I think CouchDB would be perfect for and it would save me heaps of development effort and headaches. The trouble is, while CouchDB may be of the web, it really isn’t of the enterprise IT architecture.
6 in 7 Guantanamo Detainees Wrongly Accused
One in 7 who leave Guantanamo involved in terrorism Lies, damned lies and statistics.
PHP Libraries Hate Ram
I’ve come to the conclusion that PHP libraries are simply designed to eat up RAM and do their very best to never spit it back out. There seems to be an assumption that everything will be done in RAM and then at the last possible moment dump everything out to the browser.
Sadly, this doesn’t work if what you’re building in RAM happens to be a zip file containing a whole heap of images. There are a few zip libraries around for PHP but none of them can directly stream the created zip file back out to the browser. Most of them create the entire zip file in RAM and then tell you to just ‘echo zip->file();’ which is just plain crazy. Others can “stream” but only to disk where they have random access.
Found in my .bashrc
Apparently my bashrc is append-only:
export gucis=z1419539@gucis.cit.gu.edu.au:
For those who didn’t study IT at Griffith Uni, gucis is the student UNIX server. This particular shortcut was so that I could scp files over there more easily. Actually, given that gucis had open access to the Internet and my dorm room didn’t1{#footlink1:1243014118649.footnote}, it was far more often transferring files from gucis back to my local machine. I finally removed those shortcuts today.
Standings in the Browser Race
The otherwise mostly link bait suggestion from Matt Asay that Apple and Google should drop their browsers in favour of FireFox triggered an interesting reaction for me. The argument goes along the lines that IE is dominating the browser landscape and FireFox is clearly the second place runner, so everyone who wants to bring down IE should just pool resources behind FireFox. My immediate reaction was to wonder why people saw FireFox as the best horse to back.
Pages Without Navigation in WebSphere Portal
Since my last question was so quickly solved thanks to Kaushal Sinha, I thought I’d try a simpler one. I need to set up a page in WebSphere Portal that doesn’t appear in any of the navigation structure but it does need a known URL. It’s used only as a landing point in the portal, has a portlet that asks a couple of questions and then sends the user on to the right place. It just doesn’t make any sense to navigate to that portal via the links at the top of the standard portal theme, but I can’t just remove permissions from the page because it needs to be available when they come in via external links (where it does make sense).