Switching to Flickr

It wasn’t long ago I was waxing lyrical about Picasa and Picasaweb. Not to be accused of sticking to my guns though, I’ve switched to Flickr, and there’s a few reasons why.

Firstly, I’ve decided to give iPhoto another go. Although I have Picasa running on Windows XP under Parallels on my iMac, it’s nice to just use an OS X application. Also, a lot of my worries with using iPhoto have gone away now I’ve tried it on a ‘real’ machine (I need to post a rantette about my Mac Mini another time…) Picasaweb does have an iPhoto exporter, but it’s not the same tight integration it has with the main Picasa application.

Flickr’s integration with iPhoto isn’t any better than Picasa’s (in fact, you have to pay for the 3rd party FlicktExport utility if you choose to use it (which I did)), but since I was changing one part of my photo solution, it was worth looking at all of it at the same time.

The big plusses for me about Flickr are really 2 things – the community and the new capacity / bandwidth limits for ‘pro’ users.

The community aspects are great because I can see what my friends & family are up to, provide feedback, and they can do the same. This is good for me as I experiment with my still new digital SLR. Flickr provides some great web feeds that I use to keep track of what’s going on.

The new capacity / bandwidth limits are also compelling – unlimited on both counts. This allows me to upload the full size images for all the photos I really care about keeping, and at the same time share those full size images with anyone that cares.

Flickr’s still not perfect though. The slideshow behaviour is pitifully poor, and was almost a show-stopper for me. They really need to sort that out. Also, the UI I think could do with a few tweaks to make it as usable as the Picasaweb interface.

Now I just have the task of going through all my photos, finding the ones I care about, cleaning them up, collating them into sets, and uploading them – that’s a fair size project to keep me occupied in the new year.

Resharper – The #1 must-have Visual Studio plugin

I’ve been using Resharper for a while now, in fact ever since it has its first public EAP. At the time it came like a breath of fresh air. I’d been used to using Jetbrains’ other development productivity tool, IntelliJ IDEA, as a Java coder and the single most painful thing about .NET coding at that time was the lack of a decent automated refactoring tool and code navigator. Resharper went a big step to filling this gap.

3 years on or so and I still think Resharper is the number 1 must-have Visual Studio plugin. If you are writing for C# for a living, I believe it pays for itself within days. It doesn’t just help by making coding faster, it allows you to actually code in a different way by allowing easy traversal of delegation trees; encouraging simple, quick, automated refactorings across your entire source tree; and a whole lot more besides.

Resharper version 2 had a few speed bumps for some people, but version 2.5 is out now and apparently goes towards fixing those problems (I’ve managed to keep the solutions I’ve been working on this year lean and nimble, so haven’t had these problems, but I know many people have.) If you’re a C# coder and have never tried Resharper I can’t recommend it enough.

Rediscovering Web Feeds with Google Reader

Back in the Good Old Days (2002) there weren’t all that many blogs around. I had one, Joe had one, and there were about 5 – 10 others I cared about reading. It was easy to keep up to date with these by just visiting the web pages now and then.

Very quickly though it became a bandwagon, and World + Dog were blogging, and lo a lot of interesting (and even more very uninteresting) content was put on this little thing I like to sometimes refer to as “t’interweb” (but only when I’m feeling northern.) It was hard to keep up with all of these sites, but thankfully RSS feeds and aggregators arrived to give a useful view into your personal web-wide-world.

Web feed aggregators (as I feel they ought to be called ever since Atom got in on the act) come in 2 flavours – desktop and web-based. Desktop aggregators typically win on usability (for a long time I used Omea Reader), wheras web-based apps win on not being tied to being installed on any one machine. Until recently, I hadn’t like the web-based aggregators I’d tried (Bloglines is one of the most popular), but Omea’s non-distributability caused me to give up on it, and web feeds in general for about a year.

I’ve recently got back into feeds though, thanks to yet another Google service – Google Reader. This to me offers a far better user experience than any of the other free web-based aggregators, and of course I can use it from any machine and still keep the state of what items I’ve read. I only came to Google Reader about a month ago, and I understand it has had a major overhaul this year so if you tried it a while a go and didn’t like it, it might be worth giving it another go.

Google Reader is not completely perfect. Apart from anything else, I feel it ought to be integrated with GMail (and Google Groups ideally), and it could do with some search functionality. It is a ‘proper’ Web 2.0 app (*ahem*) in that it also has social networking / sharing features, and like those in del.icio.us I mostly ignore them.

Of course, one of these days I’m going to end up with an hour-and-a-half long commute again and all of these web-based apps are going to bite me in the rear-end, but until then they’re doing me very well, thankyouverymuch.

Now if you’ll excuse me I need to go and listen to some more kittens.

Del.icio.us bookmarks Firefox plugin : centralized bookmark management

I’ve always found bookmarks in web browsers a little frustrating. I use quite a few different machines, and bookmarks, out of the box, are not shared across them. This leads to me inevitably wanting to remember a bookmark on one machine when it’s stored on another.

Del.icio.us is an interesting little experiment in social networking and bookmarking, but I’ve always found it a little frustrating. Having to load up the del.icio.us page whenever I want to create a bookmark is too much of a context-switch, so I’ve never really bothered with it.

Both of these frustrations are now solved for me with the new Del.icio.us bookmarks Firefox extension. This Firefox plugin replaces the default bookmark behaviour in Firefox with that of using your own Del.icio.us bookmarks instead. Install it on 2 machines et voila – centralized bookmark management. I’m now using this for all my bookmarks, including ones I only use for internal sites at work. For these links I just tag them ‘work:internal’ and don’t share them. I add this tag to my ‘favourite tags’ for quick reference.

Since the extension replaces the normal bookmark behaviour completely, adding a new bookmark is as simple as ‘Ctrl+D’ (sorry, Apple-D, still getting used to thinking in Applespeak,) so the context switch of using del.icio.us is also gone.

Yahoo own del.icio.us now, so I’m pretty confident my bookmarks will be around a while. The only shock is that I’m using a Yahoo, rather than Google, service for a change.

I’m not particularly using the ‘shared bookmarks’ feature yet, I’m really just using it for my own use at the moment, but I’ll see how things go.

If you’re so inclined you can browse my bookmarks at http://del.icio.us/mike.b.roberts/ or grab my bookmark feed at http://del.icio.us/rss/mike.b.roberts/

Fixing Firefox 2 instabilities under OS X (in a nasty, hacky, way)

I’ve been running Firefox 2 on my main Mac OS X machine since it was released, and ever since then it’s been annoying me by freezing up. The timings of such freezes are completely non-nondeterministic, sometimes it hangs before it’s even finished loading all the tabs from the last session (which normally is a lovely feature of Firefox 2, by the way.)

I’ve been keeping an eye out for bug-fixes, but none have happened so yesterday I trawled once again on Google. The only thing I could find was the suggestion to completely remove Firefox, including all localizations (plugins, etc.), from my machine, and re-install. I’ve done that, and so far so good. It seems there’s a problem with Firefox 2 installs that are upgrades from previous versions (I was running 1.5, and the 2.0 release candidates before.)

It’s a bit of a nasty hack, and I haven’t had this problem on my Windows installs of Firefox 2. It’s not too much of a problem for me though since I don’t store bookmarks locally, but more on that in my next post…

Stubbing Event Listeners in .NET

I’ve been trying Rhino Mocks recently as an alternative to NMock for my unit tests’ mocking and stubbing needs.

One thing I’ve just needed to do is be able test an event listener (i.e. stub out a call from an event publisher) and found a good write-up here.

I’m still not completely won over by Rhino Mocks but I do like the .NET 2 support it has so I’m going to persist a little longer.

Google Apps for your Domain – the IT revolution starts here…

I mentioned in my last entry that I thought that Google were making serious headway in the productivity software space. What did I mean by this? Well take a moment to think about what 90% of computer users use their humble beige boxes for 90% of the time. I’ll give you a clue – email, browsing, scheduling, and reading or writing documents. Occasionally there’s some spreadsheet, presentation and planning tools in there too, but actually most of what people do is those first 4.

For a long time now, Microsoft have cornered a huge majority of that market both at home and in the office, with Outlook / Exchange, Internet Explorer and Microsoft Word. Fair play to the boys and girls in Redmond – its partly because of their work in this area over the last 20 years that most people take all these activities for granted now. Microsoft are now facing their biggest challenge in this space though, and it’s Google.

I use a lot of free Google apps for my own personal use – GMail, Calendar, Reader, News, Personalised Home page, Picasa, etc., and I use the free Firefox browser for all my web surfing needs. If I used Google documents that would cover off all of the ‘90% work’ I described above. I find Google apps are a lot better than the applications I use that have been paid for by the companies I work for (why oh why can I not escape the clutches of Lotus Notes…) If I ran a company I would love to pay Google to use their apps rather than the others out there for this 90% work. But they only make apps for consumers, right?

Up until now the only Google love you could share within your company is the Google Search appliance. It was nice and all, but only gave you search – where’s my corporate GMail?! Well no more shouting, it’s here, at least in beta, as (wait, this is a mouthful) Google Apps for your Domain. At the moment it’s Email, Calendars and a couple of other bits and bobs, but this is a huge advance. The big surprise to me (and I guess I’m an idiot for not thinking of it before) is that they won’t be selling ‘GMail appliances’, at least not yet, instead Google will host this for you – it’s Software as a Service.

It can’t be long until they make Google Documents available as a similar service, and at that point most companies’ IT departments will be able to shrink massively. No more Exchange servers, no more need for never-ending word-document-hosting file servers, and massively easier licensing models, computer setup times, etc. This is the revolution – truly outsourced IT to a company that actually knows how to do it.

Of course, how this would be financed and how quickly people would be willing to host all their files ‘outside the firewall’ are open questions, but these are (I believe) minor in comparison with the technological problems now solved.

One final point here. With all of these Google applications being browser-based the age of the Network Computer might actually be here. I suspect that we won’t all be switching to diskless browser appliances overnight but in 5 years time I think we’ll start seeing something like it in a big proportion of the IT market-space. And if that does happen, why would I bother upgrading my enterprise to Windows Vista? Enter stage right, Mr Shuttleworth

Switching to the white side

A little over 4 years ago I saw an iPod for the first time. It was a 1st generation ‘moving wheel’ 5GB model. I knew then it was the mp3 player I’d been looking for, but it had one major flaw – you could only copy music on to it with an Apple Mac. I’d never so much as touched the keyboard of a Mac and was not about to now, no matter how good the iPod was. I dutifully waited, hoping that Steve Jobs would do the unthinkable, and support PC users.

As it was I didn’t have to wait long for this revolution – the 2nd generation iPod came in both Mac and PC flavours. The day I saw it on someone’s desk at work I rushed over to Tottenham Court Road in my lunchtime and snapped up a 20GB model. Once back at the office I couldn’t resist the temptation and opened up my new purchase to experience Apple design for the first time. The packaging was a work of art in itself, and the iPod worked for me as I hoped it would. In fact, it still does – I still use my 20GB ‘thicky’ every week and I don’t plan on replacing it any time soon so long as it carries on working.

Around this time a lot of my friends and colleagues started ‘switching’ from PCs, with white iBooks and silver Powerbooks gradually appearing on desks at work. Those of us without ‘ooohed’ and ‘aaahed’ dutifully as we saw both the fancy coloured windows and the native UNIX terminals, but I was not to switch, oh no. I’d done my own switching already, you see, to Microsoft’s new .NET development platform. (yes, I can hear those shouts of ‘sell out!’ from the back, bare with me!) .NET only ran on Windows so the Apple Mac was useless to me in its own little PowerPC world.

Move on a couple of years to last summer. I decided I wanted some kind of ‘media centre’ computer, mostly to play music on, but also had some other criteria (quiet, small, easy to maintain, not ludicrously priced, etc.) and realised that Apple’s Mac Mini fitted those criteria perfectly. Furthermore, it would let me actually try out a Mac properly for the first time and see what all the fuss was about. So, another trip to Tottenham Court Road ensued, and this time I came home with a little G4 Mac.

Turning it on the first time was definitely a positive experience. It seemed so much slicker than a PC – the initial auto-update comes to mind. Whereas with a new install of Windows you end up clicking about 20 different buttons I think I clicked 2 with the Mac. And it was indeed quiet, simple to use, and was a great music player (I was already a fan of iTunes from using it on Windows.) But was it perfect? Oh no it wasn’t. First of all, it was definitely not quick. OS X 10.4 seems to crawl on a G4. Get more than 1 or 2 decent sized applications running and I could definitely see the slow down. And there were lots of small things too – I plugged my Mac Mini into a widescreen LCD TV, and try as I might there was no way I could get the ‘native’ resolution to be used (in the end I had to use a third party download – SwitchResX – to fix it.) In the end it did its job, but I was not about to go and buy any more Apple hardware any time soon.

Then some very strange things happened. First Apple switched – from PowerPC to Intel – and this made life very interesting. Now not only were Java developers excited about Mac’s, but .NET developers were too (I found Griffin Caprio‘s posts about running Parallels on an Intel Mac fascinating.) Then this summer Intel brought out their trend-bucking Core 2 Duo processors and a little later Apple announced a new line of iMacs with the new Intel chips inside. At this point for some fun I did a little price comparison – a core 2 Duo Apple vs. core a 2 Duo PC made by Shuttle, knowing that of course the Apple would come out way more expensive, because Apple always make higher priced hardware, right? I was wrong, the iMac was cheaper.

This was the final straw – I’d been looking to buy a new desktop machine and the new iMac was too tempting not to go for, even if I ended up running Windows on it using Bootcamp.

The boxSo have I gone for the cheap option? Of course not. I’ve got the bells-and-whistles-tastic 24 inch model, with a memory, hard disk, CPU and graphics upgrade. The screen is outstanding, the thing is incredulously quick and (here’s the kicker) Windows XP running as a virtual machine within Parallels is the fastest Windows PC I’ve owned by a staggering degree so I can still do as much .NET development as I want without having to reboot to Bootcamp.

This has also allowed me to try OS X on a ‘real’ machine and not just the ‘toy’ that is the Mac Mini and now I’m starting to even get OS X too. 16 years of Windows habits are going to be hard to replace, but OS X feels a generation beyond Windows XP. I know Windows Vista is just around the corner which should go some way to catching up, but with all of its delays, left out features (don’t get me started about WinFS) and incomprehensible licensing models I just can’t get excited about it. One clear difference in philosophy which sums up the difference between the Microsoft and Apple to me is the basic wow-factor of the UI. In OS X, Apple go to extraordinary lengths to make the UI pleasurable for all users – design is one of their fundamentals.

That's a big screenIn Windows, design comes a poor 2nd place – to get the fancy window graphics you’re going to have to pay the mega-bucks and get the ‘Ultimate’ version.

Even after all my nay-saying I think I’m becoming a ‘switcher’ too. Microsoft have lost the plot with Vista. What with Apple’s move to Intel processors (allowing an easy transition for users like me) and Google making serious headway in the productivity software space, Microsoft had better do something quick to keep their position as software giants of the world.

Now if you’ll excuse me, I’ll go and look at that fancy minimise effect one more time before going to bed.

Tree Surgeon has moved, and Google Code

I have moved Tree Surgeon to Google Code and Google Groups – its new home is http://code.google.com/p/treesurgeon/, and the mailing list is now at http://groups.google.com/group/treesurgeon. This applies to mailing lists, source code, issue tracking and file releases. Tree Surgeon is my open source project that generates a stub .NET development tree.

I’m still planning on doing an update to Tree Surgeon to support .NET 2 projects – I’m kind of holding out until NAnt supports msbuild / Visual Studio 2005 project files.

And in case anyone needs to do this kind of thing in Ruby, Jay Fields wrote in 30 lines of Ruby what I needed an entire project for in .NET – see tree_surgeon.rb .

This has been my first experience using Google Code. It definitely has the Google feel – very lightweight yet some clever thinking underneath to give everything you need. At first sight it feels that you don’t have file release or web space features, but since you have an http accessible subversion repository, you don’t need those things as standalone options (e.g. look at Tree Surgeon’s release directory I created here.) I’ve been using Google Groups for a while now for mailing lists. They’re nothing special compared with Yahoo Groups, etc., but again I like that they are clean and simple.

CruiseControl.NET 1.1 Released

CruiseControl.NET 1.1 was released this week. I’ve been taking a bit of a back seat on the project in recent months, but it’s been good to see a number of other people stepping up and getting involved, plus of course Owen Rogers continues to provide project leadership.

Check here for release notes.

As an aside – CCNet has moved to using Google Groups for mailing lists in light of the recent Sourceforge / GMail problems. Check here for more details.