Now built with Marsedit

May 9th, 2008

B1C845F3-6129-4D06-97FE-1841064A7692.jpg I’ve recently ditched Firefox as my regular browser in favour of Safari. The consequence of doing so however is that I’ve had to find a new blog writing tool. I used to use the ScribeFire plugin for Firefox (which was great by the way) to write my blog entries. Marsedit seems to get a lot of good press in the Mac world, so I thought I’d give that a try for at least as long as the eval version will let me.

Setting it up for my Wordpress blog was relatively simple, although contrary to the documentation, it didn’t not immediately recognize my blog as such so I had to configure it manually. Pointing the API URL here:

http://www.luckyspin.org/xmlrpc.php

was the main key, as was setting the Blog ID to 1. Now we’re off to the races!

First impressions are good. Writing blog entries is extremely easy, but I’m already missing some of the “extra” stuff Scribefire used to do for me. Like auto pinging blog networks, adding tracking pings to other blogs or easily allowing me to insert technorati tags like this:

Technorati Tags: ,

Bye bye Firefox (for now)

May 9th, 2008

2ED276F5-D0BA-4FF6-9BDA-A38BB0E1A9A2.jpg Fashions come and fashions go, and for now Firefox is falling out of fashion. At least for me. I’m ditching FF 2 in favour of Safari as my default browser. I’ve been using FF for years but of late have fallen out of love with it. My ennui centers mainly around performance and responsiveness of the user interface. Yes, I know it could be down to my plugins, but I run very lean with only a handful of plugins so I don’t believe that is the problem.

The main problem is with startup time as it seems to take an age for Firefox to start and then display a page. Safari on the other hand positively springs to life as soon as I need it. I toyed with Safari as my default browser a while back, but after Leopard came out, it really wasn’t that stable. The new 3.1.1 version appears to have fixed all that, and I’m now extremely happy with it’s stability and performance.

I did try the newest FF 3 beta 5 and that looks and feels a lot closer to what I’m looking for, but unfortunately it handles IFRAMES differently to 2.0, and since I’m constrained to using FF to access our corporate Exchange mail via the web it’s a non starter for me. I can’t really do email in a 100px wide iframe!

No doubt at some point in the future I’ll switch again, probably if my workload skews back towards heavy web development, but for now Safari it is! My biggest gripe? What’s up with the Safari icon?? Time for a refresh me thinks.

The Global 5 million

May 6th, 2008

A couple of weeks ago I watched DDH’s presentation at Startup School. It was actually a lot better than I was expecting. The guy has charisma, clearly. There was a lot of really good stuff in it, but the thing that really resonated with me was his characterization of what should be the target audience for a web startup: the Global 5 million. Instead of trying to do a Youtube, why not build a profitable, successful business and enjoy life? Right on! I think it hit the nail square on the head with the problem I have with a whole host of startups out there, even the ones I have worked for. Youtube is a freak occurrence, albeit a great one for the guys who started it. But if you set out with that goal in mind, take a bunch of VC cash and succumb to the pressure to generate 10’s of million in revenue, you’re in for a hiding. It’s something that Ryan has been talking about too.

If you haven’t seen the presentation, check it out:


Watch live video from HackerTV on Justin.tv

Technorati Tags: ,

Time Capsule errors

May 4th, 2008

All of a sudden I started getting errors when backing up to my Time Capsule. Time Machine was only able to to mount the backup drive in read-only mode. Apparently it had got corrupted. No beuno! While I could have followed the recommended approach to format the drive (!) and start again, I didn’t really want to lose my backup history.

First of all I tried good ol’ Disk Utility, but that was unable to repair the disk. It did give me a valuable clue however with this cryptic message:

“Invalid siblings link”

Since this is just a file system, in this case HFS I figured there must be some command line utility to run that could have a go at fixing the problem. Enter “fsck_hfs“, which works in a very similar manner to it’s Linux cousin e2fsck. The only tricky part was figuring out what the path to the drive was, but luckily you can get that from Disk Utility by selecting the drive and choosing Info. In my case, /dev/disk2s2. Putting this all together I typed this into a terminal window as root:

fsck_hfs -r /dev/disk0s2

and waited. And waited and waited! A good 20 hours later fsck_hfs finally announced it had successfully repaired the drive. Whew! Worth the wait I guess.

Hibernate vs iBATIS

May 1st, 2008

The question of Hibernate or iBATIS seems to come up all of the time. I think Hibernate and iBATIS serve two different purposes. Hibernate is great if you don’t really need to worry about the data model that you are accessing. That is, you have an Object Oriented application and want to map that OO design into a persistence layer. For the developer, Hibernate makes this simple and transparent. It’s easy for a Java developer to build an application using Hibernate. It is an Object Relational Mapping Tools (ORM) and you generally end up with a plethora of tables that map directly to the objects in your application.

iBATIS on the other hand is useful when you really do care about the underlying database schema. For complicated analytics this is generally the case. You really want to layout your data in a way that lends itself to the types of questions you want to ask of the data. In this case, that doesn’t necessarily map to your OO design. iBATIS allows you to map this schema into your Java objects, and thus is an Object Mapping tool. Rather than a one to one mapping of table to object, you map your Domain Model to a number of objects, where this may be an m to n mapping.

Futher, iBATIS externalizes the SQL that you are going to use to perform the query into an XML file, meaning that it is much easier to change your queries as you fine tune your schema. It’s really the same SQL you would use in “insert your favorite sql tool here“. Yes, Hibernate does support hsql, which gives you more control, but I still find that to be a tool that people use when the default ORM mapping doesn’t work.

So the question for me really drives to: do you want to create your Domain Model in the database and access it from Java, or do you want to create an OO model in Java and persist it to a database? Once you answer that key question, you can choose which of the two technologies to use.

Technorati Tags: ,

Building performant web applications

April 25th, 2008

Since we’re all building increasingly complex web applications it’s important to focus on the performance of those apps as that is a key determination of the user experience. Unfortunately, it’s also a bit of a black art. There are a slew of different factors in web app performance, which also vary greatly from browser to browser.

One of the best resources out there is a guy called Steve Souders, who used to work for Yahoo and now works for Google. His new presentation which takes some of these ideas even further. One of the key lessons in this presentation is focusing on loading the “front end” of the wep app first. That is, the part the user must see and interact with immediately, and delaying loading those parts that are not needed until later.

Not content with slideware, he also has created a couple of tools to help:

  • Yslow: a Firefox plugin that measures the stages of loading a web page
  • Cuzillion: a new tool for investigating the performance impact of different DOM elements

Check out the blog post about Cuzillion here.

Understanding the implications of how and in what order you load your resources is key to performance. Especially in the Portlets world where you are going to be on a page with a bunch of other portlets. I would highly recommend taking a glance through his presentations for ideas on optimizing your webapps.

Motorola Q ActiveSync

December 3rd, 2006

So I got myself a new Q a few weeks ago and set it up to download my emails via our corporate exchange server. This weekend I messed around a bit with this and that and had to do a hard reset. When I set it up again I kept getting this nasty error:

activesync support code 0×85010001


I knew the settings were right so what gives? Fix was easy. Just restart the phone. I guess that’s what you get for a Windows Mobile device!

Technorati Tags: ,

Apple Cinema Sleek

November 20th, 2006

174-apple-cinema-display.jpg So my crappy old monitor finally died. Well, it wasn’t that bad, it was a pretty nice flatscreen LCD, but it was dated. And only 19″ wide and after having my HD TV for nearly a year now it’s been quite depressing to have such a limited monitor.

So.. (what a hardship!) I was forced to look for another this weekend. But of course I didn’t have too look far. I’ve had my eye on the Apple Cinema displays for a while. They are by far the most sexy monitors out there. Exquisitely designed with tremendous color and brightness. Sure, there are probably some with better specs for hard core fraggers/gamers, but I don’t need that anymore. I just need some clean stylish lines.

Given the amount of space I have at home, I went for the 20″ version, which is now running in widescreen mode at 1680 by 1050 pixels. Not that huge really when you compare it to what I could do with the 30″ version. But then again, the price at $699 is just great! And I don’t need that much screen real estate at home anyway, at work is a different matter though!

Technorati Tags: , , ,

Scrybe Beta has begun

November 18th, 2006

Scrybe have started sending out their beta invites and I can’t wait to try the app out. I guess I’m gonna have to wait though, since it appears that they were overwhelmed by the interest the original video generated. I guess it’s first come first served so it’ll probably be a while because I didn’t stumble upon it until pretty late. Bummer!

Technorati Tags: ,

Jira Issues on my desktop

October 27th, 2006

132-JIRAWidget-2.0-black.jpg Since I seem to have committed to the Yahoo Widget Engine (see my earlier post about RSS Readers) I thought I’d see if there was anything that could help me keep track of my JIRA issues. Of course there is! The Jira Issues Widget by shinetech is just what I needed. And it’s almost perfect. I can easily see what my open issues are (or use any other filter for that matter), and click through and update them in about 30 secs. The only thing I don’t like about it is the amount of real estate taken up by the header and the footer. They could be made a lot smaller and more subtle. Still, can’t complain too much eh?

Technorati Tags: , ,