Archive for the 'Uncategorized' Category

One year in freelance - the good, the bad and the ugly

Thursday, July 3rd, 2008

It’s now just over a year since I went freelance, so I thought i’d share my experiences. First of all i’ll recap why I decided to make the move in the first place - mainly because of a business venture opportunity (olivewood - a web applications company, with products for servicing e-commerce and e-procurement), but also because I liked the idea of trying freelance full time, having been “moonlancing” for some time in addition to my day web developer job.

Since I made the move, I’ve been wearing two hats - that of freelance web monkey (or front end web developer) and that of Technical Director of Olivewood Data Technologies. The idea is that I would pay the bills by working short contracts as a freelancer, leaving spare time to work on web applications for Olivewood to sell. From day one it went straight off track! In addition to a few days a week working as a freelance resource for various web design agencies, I was offered a number of larger projects, which I took on under the Olivewood banner. After only a few weeks in I was juggling these larger projects with the on-site freelance work and soon had to start declining the on-site work, to make time for the larger projects.

Even dedicating all my time to the larger projects I was struggling so started to employ freelancers myself to delegate the workload. For a while this worked out, and it looked for a while like Olivewood might itself become a web design agency, using freelancers where needed, and starting to look into permanent employees. Some of the projects went really well, but it was getting difficult to manage the projects and find time to do any actual coding myself. So before I knew it I had become a project manager, albeit one who still tried to code and fulfill every other role in a snowballing company.

Meanwhile, very little progress was being made with the Olivewood products, so I was soon completely losing site of my original goals. I was also having other issues with finding and managing resources. I think one of the reasons I was offered so many projects in the first place is that I have a very diverse web development skillset (nb. i’ve started to refer to this as “swiss army knife” rather than the more negative “jack of all trades”!), so I ended up with projects spanning plone, front end web build, php, drupal, asp and asp.net. Finding local, available, freelancers with a similar skillset isn’t easy, and the time it takes to brief and manage remote freelancers made it extremely difficult to turn projects around on time and with a profit. Even so, it was still working, albeit only with me working most evenings and weekends - something I wanted to get away from by going full-time self employed.

Then I met my nemesis - a project I vastly underestimated, with a tight deadline and a tighter budget. Deadlines were missed and all the budget was spent on additional resources. Out of pride/stubbornness/professional integrity/stupidity I carried on, starting to decline other work, and push back other ongoing projects to make time to get the project finished, working ridiculously long hours throughout, and surviving on the profits of previous successful projects. This was a painful lesson in being careful what I agree to take on. It also forced me to re-evaluate the direction I was going in, and was fundamental in me getting back on track with the original goals.

So here I am now one year in, older, greyer and hopefully a bit wiser and on the verge of clearing my backlog of work to start afresh with a goal of keeping a balance on the work I need to take on to pay the bills and finding time to work on my future business goals. I recently had to decline a project that would have kept me busy for another month or so, which was painful but necessary. Turning down work is difficult, but the experience of the last twelve months has shown me that it is vital to be realistic.

In summary, it’s been a mixed bag - i’ve really enjoyed the freedom and excitement of being freelance, but I haven’t enjoyed the extra project management/ resourcing/ admin needed to run my own show. I’ve also learned the hard way about biting off more than I can chew. I’m still positive about it all - I see the difficult aspects as vital learning experiences that I needed to go through to get onto the next stage of my adventure.

a change is as good as a rest

Friday, May 9th, 2008

mobile working

I’ve been working so much recently, clearing a huge backlog of work that i’ve got into a habit of mobile working again, as a way of varying the endless hours sat staring at a screen. Despite having some lovely studio space, I find it helps my productivity to wander off and work in a few different places. The 3 mobile broadband has made this even more of a possibility now, not having to stick to places with free wifi, although I did fail to connect from the back of one cafe up in clifton. I’ve also been making the most of the weather with a bit of garden working :)

garden working

Apache as Proxy to IIS

Wednesday, April 9th, 2008

Been meaning to get this working for ages - using apache 2.0 on my ubuntu dev server to proxy requests to an IIS server on the local network - to avoid having IIS facing the internet directly and to be able to have a central place to configure virtualhosts. Finally got it working with a bit of help from the helpful people on underscore. First enable mod_proxy, and then set up a virtual host something like the following:-

(note this is just to enable access to dev servers for testing etc. - not a production environment)

<VirtualHost *>
ServerName myvirtualhost.whatever

ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPreserveHost On
ProxyPass / http://myiisserver/
ProxyPassReverse / http://myiisserver/
</VirtualHost>

installing php5 and mysql on windows

Wednesday, February 13th, 2008

I was having some real headaches getting mysql to work with a fresh install of php5 and IIS on a windows XP machine earlier. I was eventually put out of my misery by this excellent how-to.

The trick is: do not use the installer - it comes without mysql support by default. Use the zip package and follow the relevant instaructions in the article mentioned above, to configure it for mysql support. In addition to the steps described, I also found I had to move my php.ini file to the windows directory for to be picked up.

How to resize a Bootcamp partition on Leopard

Friday, February 8th, 2008

I recently got a mac mini and decided to give bootcamp a try as I needed a native windows machine from time to time. I initially created a 10GB bootcamp partition, thinking that would be enough, but after installing Visual Studio and a load of other stuff I was soon down to about 200mb. I had been fooled by the bootcamp setup into thinking that it would allow me to resize the partition later, but it doesn’t - the only choice you have is to delete the partition and start again. I didn’t want to install windows yet again, so after googling around I found an excellent bit of free software called WinClone. This allowed me to create an image of the bootcamp partition from within OSX, then delete the bootcamp partition, create a new one - (20gb this time) and restore the windows image. The added bonus is that I now have a backup of the windows install, should I ever stuff it up.

Silverenlightenment

Friday, January 11th, 2008

I’ve just returned from a Silverlight seminar/ workshop run by Mason Zimbler, where I was lucky enough to be one of a few Bristol freelancers invited to attend. This wasn’t a Silverlight evangelism seminar, but rather a practical hands on seminar that introduced the Expression suite of software (Design, Blend and Encoder) and some basic tasks using each piece of software. Having said that, we were able to discuss the all important question that always crops up for Silverlight - why would you use it rather than Flash?

I haven’t done a recent side by side comparison, and I don’t want to risk inviting a flame war from MS averse developers and fans of Flash, but Silverlight certainly has a few nice features, that weren’t in flash last time I looked. Notably it has excellent HD video streaming and handling, including a really nice video fill feature where multiple movies can be efficiently rendered at runtime into other (skewed, flipped, animated, reflected) containers from a single source movie, and I love the uncompiled nature and the fact that it uses XML (XAML) and javascript for scripting, and can integrate seamlessly with the DOM.

Downsides of course - the development tools are MS only, and even with Microsoft’s pervasiveness it is going to take a while for the critical mass to install the browser plugin - currently available for a handful of browsers for PC and Mac, not yet (ever?) for linux.

I was hoping to see a few more components provided in the box for common functionality such as form fields. I was under the impression that Microsoft would try to take advantage of silverlight’s .net underpinnings and sell Silverlight to hordes of Visual Studio developers by creating a library of form elements like you would find in a typical visual studio project. Third party components do exist, but I was surprised not to see it built into Blend.

Overall impression: it’s actually pretty good. If it wasn’t for the MS-only tools (and .net hosting to take full advantage of the features?) i’d be pretty enthusiastic about it. Being platform agnostic, I will certainly install the Expression suite trial (180 days), and experiment with it further. The “Design” program alone may make a decent cheap alternative to photoshop/ fireworks, but that’s not such a big deal - i’m more interested in the DOM interaction aspect, and the fact that I can use my JavaScript knowledge to create rich media interaction.

Bristol Skillswap Relaunched

Wednesday, September 26th, 2007

I attended the relaunched Bristol Skillswap last night at Goldbrick House in Bristol. The new format is called “Talking Points” - five chairs in a circle, one of which is always empty. Someone starts a (web related) subject to discuss with the other seated people, when someone in the room wants to join in, they claim the empty chair and someone else has to leave. When this was being explained by organise Laura Francis, I was initially worried that this was all a bit musical chairs, and end up with four people sat there trying to persuade people to join them. In reality it worked straight away, and there was always people ready to jump in and claim the empty chair. If anyone needed proof that geeks can have the same arguments in real life that they do on a mailing list or forum - this was it!
The first session was kicked off by Andy Budd - “Are standards still relevant?”, followed by Elliot Jay Stocks (Carsonified), followed by Matt Jones (Dopplr). Matts session was more of a traditional talk format - but the relaxed atmosphere and free beer ensured plenty of audience participation in the form of heckling.

bristol skillswap at goldbrick house bristol

more pics

BBC create button to increase awareness of missing Gaza reporter Alan Johnston

Wednesday, April 18th, 2007

Alan Johnston banner

The BBC are encouraging bloggers and website owners to display this web badge to show support for and spread the message about the plight of journalist Alan Johnston, who was abducted in Gaza in March. More details here.

The drive against white noise

Monday, February 5th, 2007

I’ve been trying to eradicate our living room of machine hum. For the past six months or so a noisy beige linux boxTM has provided a) always on living room internet access, b) a vmware server c) automated nightly backup of various web databases.

I’m slowly getting out of the habit of carrying my powerbook everywhere so I figured that a better solution is to have the powerbook as the living room machine (quiet, instant reliable hibernate for powersaving, and a mac therefore aesthetically pleasing!), and move the noisy box somewhere else. I tried and failed to get the noisy beige box working with a wireless card - I could have persisted but after wasting a few hours that weren’t available to waste I switched my attention to wasting time combining a few spare parts to build a windows 2000 server (i’m doing a lot of freelance MS specific stuff at the moment, was using a VM, but was finding the VNC-only access very tedious). Getting the wireless working with that was a challenge but finally got it working - flaky - but working nethertheless.

So now the noisy beige linux box will become a virtual machine on the windows 2000 server, and be eradicated from my living room.

gmail mobile app certificate error

Monday, November 13th, 2006

I decided to try the new java gmail app on my sony k750i. It installed OK, but when I tried to connect it was telling me I did not have the “appropriate certificate”. After abit of googling I found advice on this forum thread to navigate to the following URL on my phone browser:-

https://www.verisign.com/cgi-bin/support/rootcert/getrootcert.cer

I did this (even though I am reluctant to take the seven hours it takes to type in a URL that long on my phone) and it gave me a certificate to accept. The app now works a treat :-)