ibrow

ibrow blog

archive for the ‘General’ category

Welcome to 2008, Welcome to ibrow

Tuesday, January 15th, 2008 by Rob

Hi, and welcome back.

This is my first proper post in almost two months, so can I first apologies for the radio silence. Many reasons for this: really hyper busy in last 2007, then was struck down (like everyone else in London) by some horrible bug and bed-ridden for over a week, and then I had to get on a plane and fly off on Holiday.

But now I’m back, a little bit jet lagged and certainly NOT tanned!

One strange side effect of suffering the effects at the edge of Cyclone Helen was that I had quite a lot of time to think. And this thinking allowed me to really get my head together for 2008. There is so much that I want to do, and so much that needs to be done. So without further delay, here are my top 5 things to do in the first half of 2008:

1) Sort out this website

Yes, there is no denying it, this website is a little bit rubbish. It needs a major overhaul. The ibrow.com site should really be focused on promoting ibrow as a company and business, but still with my personality - it shouldn’t just contain my ramblings about whatever I happen to think about. (Edit : the site you are seeing now is a definite improvement on what it was! - april 2008)

2) Get the ball rolling for forking Timesheet.php

I’ve had a load of feedback since writing my entry about forking Timesheet.php, from here and Sourceforge. I need to get the ball rolling on this otherwise it’ll never get started.

3) Find some great people to work with.

If all goes according to plan, ibrow will be getting a load of work in over the coming months - more than just little old me can handle. It’s scary, but exciting. And I definitely need to find some great people to help me out.

4) Learn more

So many things I want to learn in 2008, there is so much out there to do - where do I start?!

5) Write more

Simple really, write more on the blog - and good quality entries, not just of the “I’m on holiday” kind.

Expect much more from this site over the next coming months. Also, I’d love your feed back, so please let me know what you like/don’t like about this blog.

Thanks, and 2008, here we come!!!

On Holiday

Saturday, December 29th, 2007 by Rob

My apologies for not posting recently, but (as those of you on Twitter know) I’m on holiday! Normal service will be resumed when I get back in the New Year, Jan 12th. I have loads of ideas for 2008, so subscribe to my feed. Have a great New Year to all my readers.

One Laptop Per Child: So Just What Is the XO?

Wednesday, November 28th, 2007 by Rob

Marc Benton in his new blog has written a good write up on the spec of the £100/$200 laptop offered by the “One Laptop Per Child” charity - the XO laptop. Saw this on News Night last night and was impressed that they could get a laptop that cheap. Marc’s post describes the specs and explains how they kept costs down. Nice work Marc.

read more | digg story

Programming is a Little Bit Like Wine Tasting

Tuesday, November 27th, 2007 by Rob

Wine GlassAs many of you know I’m doing a part time degree course (Politics, Philosophy and History) as well as being a self employerd web developer. One of the best things about this course is that I can go to extra lectures which complement the course. A couple of weeks ago I had the pleasure of going to one of these extra lectures, “The Philosophy of Wine Tasting” by Barry Smith. I must say, it was fantastic. I’ve never really thought about wine tasting before but this lecture was so interesting and Barry was so passionate and eloquent about his subject, I ended up wanting to buy a vineyard.

Incidentally, Barry has just brought out a new book, which you can get from Amazon (I have, perfect Christmas present for my Dad!)

During the lecture Barry took us through the journey of a wine tasting, contrasting the difference between a novice (like me) and an expert. A novice finds a nice bottle of wine, likes it – it works for them – and that’s kind of it, thinks that all this “it smells of blueberry leaves” is a load of crap. Whereas the expert goes beyond their personal preference and analyses the multitude of components the wine has. The grape, the age, the weather, the process, even the earth, the people and history that all go into making the wine what it is. This started me thinking. Now, I’m a bit of a geek and pretty addicted to my job of coding. And I began thinking:

Wine tasting is a little bit like programming

Now run with me on this one.

When you first start, you’re a novice. You’re looking around for what you like, and when it works, you’re pretty pleased with yourself (at least, I was/am). But there is no background to it.

When I first started programming, I was one of those copy/paste kids that wasn’t quite sure why it worked, but it did, and I was pretty pleased with myself. This is like most people. They have no idea how or why Google works, or Word, or email, it just does. At the same time, people aren’t quite sure why they like a nice bottle of Jacobs Creek, any concept of what’s gone behind it, the effort put in.

But then people start to get more interested, start asking how it works, or why it tastes like it does. Then they get hooked. At this stage most people really go for it. They buy countless books, they read hundreds of articles, but most of all, they start to try out lots of new things. First they start with the foundation, either the language: Ruby, Java, PHP, C#, or the grape: Chardonnay, Cabernet Sauvignon, Pinot Gris and Noir. Each of these have different philosophies, concepts - call it methodologies, behind them. Dabble in these, test them out, see what works for them, try them out for size, for example OOP or “under ripening the grape”.

By now, an appreciation is being formed. Irrelevant of whether you like it or not, you can distance yourself from the actual “flavour”, but instead focus on the inner working of the code, or the wine. You can come to appreciate a well made wine, or well structured code. But also you can come to appreciate the history gone into producing the product in front of you. The age of the vine, the good summer it had a decade ago, or the frost suffered last year, the problems faced by people using the language, the particular itches that had to be scratched, experiences gained from other projects. Once you’ve truly immersed yourself for a few years you can come to appreciate the nuances, the culture, for want of a better word, the soul of a language or of a wine.

At this point, go for it, taste everything, try everything, become an expert. Know the most obscure syntax or date and time functions, know that if you have a cheap bottle of bubbly you can make it taste like the most expensive champagne you’ve ever tasted by complementing it with a little slice of Parmesan cheese on the side. There is so much out there to find out, to sample and to learn.

I have to admit, I love it. I love wine and I love programming. But the most important thought that struck me during this lecture was this: both the best wine in the world and the best programming most likely originate from the garage or shed of someone who is truly passionate about what they are doing.

Some Weekend Reading

Saturday, November 17th, 2007 by Rob

Going to be a work filled weekend, but before I whack on a bit of Goa-Psy Trance at Digitally Imported, and settle down to some coding, I thought I’d have a quick browse around the interweb.

First up for you is a great post By Joel Spolsky from Joel on Software, his latest post following on from his FogBugz world tour: How to demo software

A good read, some nice pictures of Cambridge and London and a great bit of advice: story telling.

The only interesting way to design a demo is to make it a story. You have a protagonist, and the protagonist has a problem, and they use the software, and they… almost solve the problem, but not quite, and then everybody is in suspense, while you tell them some boring stuff that doesn’t fit anywhere else, but they’re still listening raptly because they’re waiting to hear the resolution to the suspenseful story, and then (ah!) you solve the protagonists last problem, and all is well. There is a reason people have been sitting around telling stories around campfires for the last million years or so: people like stories.

The world seems to be going OpenSocial mad at the minute, so need to look into it further, found some sites which I still need to browse

Some Micros ISV blog posts to read when I get a chance.

I like these guys and avid fan of their blogs. If you are a one man band and develop software I strongly recommend reading their blogs.

Also, found a nice little post from Nick at the BreezeTree Software

Forking a (Dead?) Project

Tuesday, November 6th, 2007 by Rob

I’ve been messing about with an open source project: Timesheet.php and have found it pretty useful, keeping track of my time for billing purposes. I always meant to write a nifty little app like this for me, so it was quite handy that I stumbled across it. However, whilst it is useful, there are, like everything, a few bugs that need to be ironed out and a couple of improvements I would like to see implemented.

Normally I don’t think this would be a problem, fix the bugs, send a patch. However, this project appears to be dead. I’ve done a rigorous search on the web for anything relating to this project, finding quite a few places it appears:

and finally (or firstly becuase it’s linked from the bottom of every Timesheet.php page)

I’ve tried to get in touch with the developers, I’ve sent emails to the mailing lists and forums asking if this project was still alive, but no response from anyone in charge - a couple of emails from people, like me think it’s a good project and would like to see it developed further, but aren’t sure if it is dead or not.

Now here’s the thing. Although I’m pretty rushed out I would quite happily take this project on, on the side, to fix the bugs, implement some amendments and generally to see how far it can be developed. I’ve been emailing with Gregor from the Phex team who is someone how would like to see this developed, and he told me that it is possible to take over a dead project on Sourceforge. However, I’m not entirely sure this is the best route for this project. Primarily because it appears to be an in-house development for a company and I’m not sure what the fall back would be if I just waltzed up and took it away from them. I know it’s Open Source so technically possible, but it doesn’t really seem polite. Also, what if this project isn’t really dead, just a little bit slow in updates?

Like I say, I’m pretty busy at the moment, so no real time to spend on it anyway right now, but I’ll have a mull over the “shall I take over or shall I fork” question for a little bit longer.

If anyone out there has had similar problems, please let me know!
Cheers
Rob

Lots happening to my Blog!

Wednesday, October 31st, 2007 by Rob

Right, I have re-installed my Wordpress. Was fed up with it, so removed and restarted. Have also added it to Technorati at last! Also, Bad Behaviour not working too well, so added Spam Karma. Let’s see how good it is!

Bad Behaviour: Wordpress Anti-Spam Plugin

Saturday, October 27th, 2007 by Rob

As those on you on Twitter may know, I have a Spam problem. It’s not nice, it renders me not fun to be around, I don’t know if it’s contagious, but it’s still not pleasant. So today, with 5 mins to spare, I decided to install the Bad Behaviour Wordpress Plugin. 10 minutes in and no Spam! I wonder if this will cure me of my horrible, anti-social disease and make more more fun to be around?

Software Development and Self Employment

Friday, October 26th, 2007 by Rob

I’ve just read a couple of interesting articles whilst having my miso soup over lunch:

Both offing good advice about roughly the same thing, but coming from different directions.

"How hard could it be?" offers a blueprint for software failure within a small to medium sized development team so the mistakes aren’t replicated, where as "Process and the mISV" notes some points to developing software when working on your own.

As ibrow is effectively just me most of the time, but also as someone who uses freelancers, both these articles were of interest to me. Whilst most of the issues raised by the two articles, I should already know, it is to be reminded, as sometimes when up to your eyeballs in work it’s difficult to see the wood from the trees. A tip that I’d never thought of, especially if in a development team of one, was holding a Business and Technical review

Hold weekly business and technical reviews
When you’re starting a business on your own, it can be hard to see the big picture. Why not devote two hours a week to self-review? Sit down with a pad and a big cup of coffee and ask yourself: What have I done right? What have I done wrong? How do I do better?
from Process and the mISV

Another good bit of advice was from Joel’s article:

Mistake No. 2: Set weekly milestones.
… [developers] need to draw up detailed plans before they start writing code. …  When you ask developers for one, however, many of them will respond by creating a schedule that breaks pieces of the process into weeks. This may seem perfectly reasonable, but it’s not. If you let a software team submit a schedule with big chunky estimates of time (by big I mean more than two days of work), you can be almost certain that they’re not considering every detail that needs to be implemented, and those details will add up to a huge delay.
from How hard could it be?


As a self employed developer, it is often far too easy to get wrapped up in the "must do this now" and "so much work todo" mentality, without thinking about the larger goals. Certainly spending a couple of hours each week away from the computer, have a coffee and really plan what the important things are, both this week, and beyond would be beneficial to both me and my business. I think it was Seth Godin who said (paraphrasing now, I have his "Small is the New Big" book) "do the important things first.".

Well, I think the moral is to work out what the important things are, but not just work orientated.

Open Source Licence for Web Apps

Monday, October 22nd, 2007 by Rob

I am in a bit of a quandary, and hopefully someone out there has the answer.

I have an idea for a little web app. It’s not an amazing idea, nothing new or ground breaking, and there are already several products out there that do almost what I want. But not quite. Which is why I’m contemplating building it myself. When built this app will certainly fill a hole for my business, and I should think a couple of my clients. My idea is to eventually host this web app for others to use, charging a small amount of subscription.

So far so good, but the idea itself isn’t the quandary, it’s the licence.

As stated there is nothing new or ground breaking in this actual project, which is why I am thinking of adopting an Open Source licence. My reasoning for this is simply that once finished, and if I decide to turn it into a hosted web app, pretty much anyone would be able to subscribe, see it’s features and within a couple of weeks have a clone. As this is the case, why not open it out to begin with? By opening it up, everyone can benefit from the code, and the only competition (I can imagine) will be who has the better service (daily backups, customer support etc), which in my opinion is the most important thing as far as a web app goes.

But here comes the stumbling block. Which Open Source licence allows for this sort of usage? After doing a lot of searching and reading, I’m still not entirely sure.

Here’s my check point list of things that I need to cover:

  • People can easily clone it, so why not allow them to use the same code base so all can benefit
  • Product will be run as a hosted web app and a small monthly subscription may be charged to use the service
  • I do not want to sell the code, but I may want to sell "installations" (e.g. someone pays me and I install the thing on there in house servers)
  • Include the ability to use existing (Open Source) code to enhance the product
  • Hopefully provide something of value to a community that has greatly benefited me over the years

What I certainly do not want to do, nor be accused of is to Open Source my project as a marketing gimmick or to get free (as in beer) labour from the Open Source community which I then sell on and take all the profit. The Open Source community has been hugely beneficial to me over the past decade, and at last I’m in a position that I can hopefully provide something of use back.

Many thanks for your time, and I’m looking forward to any replies

Sites and pages that have been useful

ibrow.com


tel: 020 7183 2328