Stuff of Dreams

I think its fair to say you know you have slightly, shall we say, geekish tendencies when you spend half the night tossing and turning in bed praying for sleep to come but unable to stop your mind from trying to figure out how best to index the English dictionary for a certain kind of search pattern (word games).

So. Very. Tired.

On the upside I did come up with a decent strategy.

Tim’s Mobility Blues

Tim Bray (emphasis mine):

The little problem is that I don’t wanna learn Objective-C and I don’t wanna learn a whole new UI framework. I acknowledge that lots of smart people think Objective-C and Cocoa are both wonderful, and quite likely they’re right. I don’t care. I’m lazy; I know enough languages and enough frameworks. You’re free to disapprove, but there are a whole lot of people like me out there.

Yes Tim you are lazy. And yes Tim there are. And I wouldn’t employee any of you.

Sure everybody has to prioritise what they learn but thats a smug and dismissive attitude for a developer to have. “I know enough”. Sorry. Wrong.

The best developers are always learning new things - be it frameworks, languages or tools. They may not use them day in day out, or ever again, but they can cherry pick from the ideas and concepts they pick up from those experiences and apply them to their day to day.

Not surprising to find that there is some Java tub thumping later on.

Still. Some of his other points are valid.

iPhone Development

So many mixed feelings about this I barely know where to begin.

On the one hand I agree almost entirely with Jesper over at Waffle - he’s written a fair few posts on the subject.

The App Store being the sole distribution point for software is ill conceived. While I like it’s convenience as an end user, though would appreciate having the choice of getting apps elsewhere, as a developer it bothers me that I could spend six months working on iPhone software and it not make it onto the App Store with little chance of appeal. Thats a crazy business model for any sane developer. Even though they do seem to be letting any old dross through.

But then on the other hand - it’s a really nice gadget, it’s a fixed platform to write against (philosophically I dislike fixed platforms but when actively working their certainties as opposed to the vagaries of a varying target are like sweet nectar), and it’s got a great toolset.

Plus I’ve got a couple of ideas for fun little apps.

What’s a developer to do?

(and yes I know its been quiet round here but I’ve been doing a lot of photography)

Parallels

ARAX

Personally I think this is ludicrous. And I say that as someone who loves developing in Ruby. In short the proposal is that rather than use JavaScript as the client side scripting language in a browser that Ruby is used via the wonder that is Flash, cough, Silverlight (which I am fed up of being offered the chance to beta every time I go to a MS site).

John Lam on this:

According to Lam, the scenario is that people agree that HTML and CSS (Cascading Style Sheets) are standard. “It’s a known thing and people understand this technology,” Lam said. “The part that [is important], at least as far as Rails programmers are concerned with, is they would like to be able to do some Ruby on the client. JavaScript is no longer the ugly stepchild that it used to be, but it’s quirky in certain ways. That’s not to say that Ruby isn’t, but Ruby has more ‘oohs and ahs’ about it than JavaScript does.”

Sure it’s a nice idea but I’m sorry Mr. Lam you’ve clearly been smoking the Microsoft hash pipe. JavaScript is as much a standard, by convention, support and weight of numbers, as HTML and CSS.

I had high hopes for the IronRuby project but this fills me with concerns about the direction Microsoft see it heading in.

Oddball Sharepoint Error

I’ve been involved in designing and setting up a large SharePoint deployment recently and today a colleague and I were focussing on deploying the SharePoint solution that holds our companies web parts onto the servers - something we’ve both done many times before on live and development environments.

At the end of the installation, which appeared to be successful, we found that every page with one or more of our web parts on was giving us the “Unable to import web part” error message. Nothing more in the event logs or SharePoint logs even with full logging enabled.

After much checking of permissions, server settings, files in the right places and gnashing of teeth we went lower level - suspecting some kind of assembly load error. To verify this we broke out the Assembly Binding Log Viewer (Fuslogvw.exe - it ships with the .net SDK).

Much to our surprise we found a number of binding errors, one in particular looked rather worrying as it concerned “Microsoft.SharePoint.XmlSerializer” - basically it couldn’t be loaded into the web process. Comparing this to a working server we found that this was the difference between Fusion log traces on each machine.

We scrubbed the virtual machine and started back at the Server 2003 base and reinstalled SharePoint following, as far as we can tell, the same process (that recommended as best practice by Microsoft). This time success - no binding errors, web parts as we’d expect.

We’ve never had a problem before with following the Microsoft best practice doc’s to the letter but this isn’t the first time I’ve seen SharePoint and related technologies fail silently or inexplicably during installation (Team Foundation Server anyone?). Given the amount of infrastructure SharePoint sits on top of I guess it’s no surprise it’s a little “sensitive”.

Moral of the story - just because SharePoint looks like it’s installed correctly doesn’t mean it has.

Snow Leopard

Rumours abound that a new Mac OS X is going to be announced at WWDC next week focussing on speed, security and stability rather than new features. The new OS is apparently codenamed “Snow Leopard” and presumably is version 10.6.

This seems like a really good move on Apple’s part - there’s been a lot of change to Mac OS X over the last few years and, while I can only speak for myself, is a decent OS from both user and developer points of view then consolidation can only be a good thing. Certainly better than inventing swirly feature number 5 just for the sake of a release.

Demanding Customers

While I’m a big believer in the philosophy of building software for which you yourself are a customer this isn’t always possible, particularly in larger development shops focussed on vertical markets. I was recently reminded of the importance of a demanding customer in such an environment.

I don’t see a demanding customer as being the same as a loud customer. Of course some are both - but to my mind a demanding customer is a customer who is a current or prospective user of your software who wants it to make their lives as easy as possible.

Of course the trick is to figure out which suggestions will give the most bang for buck to your whole user base but a demanding customer can make you re-evaluate your feature set and consider approaches that you’d simply not considered or dismissed as being too expensive or simply not possible.

In my recent case I really didn’t see how a feature that a customer wanted could be implemented but they were insistent and able to convincingly articulate how useful the change they had in mind could be to both themselves and others. It resulted in me going back to the OS reference books, scratching my head for a while and ultimately figuring out how to do it.

Awesome!

Geek Humour

Shockingly this made me laugh out loud:

Two atoms bump into each other. One says ‘I think I lost an electron!’. The other asks, ‘Are you sure?’, to which the first replies, ‘I’m positive.’

I think I need to get out more.

A Fleeting Advantage

For a blog focussed on humour and satire it’s amazing how often Fake Steve Jobs talks sense:

Bottom line is this: the only innovations worth making are the ones involving product ideas and product design. I mean, Duh. Right? It’s pretty obvious. What’s amazing to me is how few companies actually seem to realize it. To sustain an edge in any market you must make better products than your competitors, consistently, over and over and over again. Just making the same products as everyone else but taking a little friction out of the system can give you an advantage, but only a temporary one.

Such a Good Feeling

I don’t often post examples of my photography on here but it’s so rare to feel truly happy with a shot that I can’t help but share this. Daft as it may sound but I had trouble sleeping last night - I was brimming over with excitement at having taken a photo I really liked.

Bromham Rocks

I started “serious” photography about two years ago and one of the things I love about it is how, much like software development, there are always techniques to improve and something new to learn. Every time I go out with my camera I learn something and to me that is one of life’s most rewarding experiences.