Archive for the 'work' tag
Continuous Deployment
Posted on February 23, 2010
I’ve been working lately trying to implement some of the things Eric Ries talks about. Primarily the idea of continuous deployments for lean startups and getting away from the fear of release.
On the surface and looking back on some of the disastrous releases I’ve seen (deployed) it’s a frightening concept. The problem with most of those releases though hasn’t so much been that there was a bug or a problem, it was there was no fall back position – the release was made and there was no way to unmake it. Also working in Java releasing WARs has been a pretty big issue – you have to upload the whole release to fix even a small bug like a typo. One bug in these cases can mean you’re 15-20 minutes from uploading a fix.
It’s a very bad place to be and I want to avoid it at all costs in the future, both the problems and as a result the fear of a release.
With that in mind I’ve been fashioning a system for Sproozi where a release is made as an exploded war using Hudson. On commit it’s tested, deployed to a single server in the cluster and tested some more. The server joins the main cluster and it’s monitored as the release is pushed to the rest of the servers to make sure it’s stable.
The only problem I’m having conceptually is how do I treat a commit that comes in before a release is finished – I guess I have to sit on it, but what if the release fails and I have to lock the repository? What about if the release is a success but in the meantime I have 2, 3 or even more commits that I’m sitting on? Do I deploy them one at a time until they’re either all successful or one fails?
How has anyone else practising dealt with these issues?
EC2 Spot instances
Posted on December 14, 2009
The thing I really like about Amazon’s cloud stuff is they’re constantly undermining themselves with new innovations – spot instances are another great example. Taking the utility metaphor a step further you can now rent their services when nobody else is for cheaper, like buying electricity at night.
A lot of the tasks I’m envisioning for Sproozi aren’t really time dependent. While it’s important to show you a page in a timely manner, crawl and index a brand new website you add quickly and basically be interactive there is also a lot I have to do in the background. The huge and growing list of URLs people add all need to be re-crawled and re-indexed regularly is just one of many examples of processing vast amounts of data. These tasks are always running, always in the background.
Spot instances are a perfect fit – I can bid the price I want on extra capacity spin up some extra instances to join the cluster when they’re cheap. Over the next few weeks I’ll probably try to add some spot instances to my Hadoop dev cluster and see what happens.
There’s no money in it
Posted on December 5, 2009
I followed up with a few potential investors who’ve had my pitch for Sproozi today. It’s been a week or two since I heard from them and I honestly wasn’t surprised when they came back with a no. Not hearing anything doesn’t exactly show a great deal of excitement.
I’m an optimist though and on the bright side I haven’t had a conversation or a meeting that I haven’t benefited from.
With first VC I met I had a pretty friendly audience, I knew him already, and I got some really good advice about how aspects of the pitch, the business in general and some introductions. With another, less friendly, it was clear I hadn’t done my homework. In yet another I learned a bit more and took on board the suggestion that I get a core set of users together to beta test the project – that basically just launching it blind was probably not going to go anywhere.
The rest of my meetings and conversations have been just as good. In each one I’ve refined my pitch further had clearer and better prepared answers for questions but I think I may be making one mistake that is keeping me from getting funded- trying to0 soon.
I’m starting to think that, because I have to explain the idea. I really s to be able to just give someone a link they can click and play with. With a link and 10 minutes, countless objections can be overcome and services that sound similar dismissed – it also gives a pretty clear idea of exactly what the thing does. I can’t possibly manage that level of understanding in any pitch, no matter how long or how refined.
So what’s next? I’ve got a side project I keep hinting about that’s painfully close to ready to launch very soon and then I’m going to keep working on Sproozi, get it to the point where I can send that link, develop some feedback from users and get some interesting data – get it to the point where I’m talking about what we are doing, not what we want to do. I’m not put off, if anything I’m more focused on distilling Sproozi down to the minimum set of features I can launch with.
If you haven’t already, signup for the super-secret-pre-alpha on the Sproozi site and as soon as I get there, I’ll let you know.
Sproozi blog and pre-beta signup
Posted on November 19, 2009
Sproozi is getting closer to actually doing something that’s worth showing off. I’ve setup a blog for it at blog.sproozi.com where I’ll post development updates. I’ve also added beta pre-registration to the Sproozi site. We’re going to need testers as soon as it launches, so if you’d like to help out let me know over there.
Setting your rates II
Posted on June 11, 2009
I Meant to post this yesterday and just plain forgot, so I’ll try to get two out today to make up for it.
I got some feed back on my post the other day about setting rates. It’s an interesting topic to a lot of people. One of the questions it did bring up was how to deal with negotiating on rates, or specifically dealing with a customer that doesn’t want to pay what you’re asking.
I for one set out my rate at the start in a quote, explain that it’s competitive and that’s what it costs.
I’m open to negotiation if for example you’re offering me a couple of days a week for a month, few months or a year. It costs less to develop and maintain one relationship like that than the equivalent in smaller customers – even if it is putting more eggs than I may like into one basket.
If on the other hand it’s a couple of days then I’m going to be much more firm about my rates.
One strategy for getting paid what you should, and giving a customer a price they want is to determine the budget from the outset then structure a proposal around that. Once you’ve got a number, make sure you can deliver what they want, or negotiate on a cut down version, which you can deliver within their budget. If it’s design work, cut some of the revisions, base the design on a template of their choosing. For coding work cut some of the scope, remove one or two of the lest important requirements.
A lot of times you may just find “you’re too expensive” really means, “we can’t afford it” and there are a lot of great companies out there that aren’t just being cheap, even if that’s the way it may seem on the surface and they’d be more than willing to compromise on the scope to get it done properly within their budget. Then who knows, revisit the rest in a few months time.
Other times you just can’t meet in the middle, you can’t do the work in the time allowed by the budget but don’t give up – there might still be a deal you can both cut. Maybe they offer a service you’re currently paying for, or have staff that aren’t being fully utilised you can borrow. Trading your services for theirs isn’t a bad thing, you still get a client, word of mouth referrals, case studies, testimonials and add to your portfolio and you still get something in return for it. I’ve done this in the past and it’s always worked out well for me, in fact it’s probably lead to more work from and through that client than we could otherwise expect.
If all else fails, my advice is to walk away. It’s hard but the brutal truth is that you’re risking getting stuck in a working relationship where the other side doesn’t value your skills. In my experience that attitude extends right through into how they value your opinions and the result of your labours. To them what you produce is a commodity and they’re probably going for the cheapest quote they can find. Everyone has worked with people like this, it’s not fun and it’s almost never worth the money. In fact, my advice is run – don’t walk.
Related articles by Zemanta
- Happy Customers Equal Better Business (underthegrapetree.blogspot.com)
- 5 Ways to Please Your Clients and 5 Reasons Why You Should (sitepoint.com)
What to charge
Posted on June 9, 2009
Lloyds TSB just announced they’re shutting down all C&G branches with loads of job losses. Though they said they were hoping to avoid compulsory redundancies with early retirement and by hiring less contractors.
So they’re not cutting jobs, except for contractors. Which is too bad for the contractors but brings up an important point if you are a contractor and you’re setting your rates.
You are responsible for your own job security and you have to charge for it. You don’t get holiday pay, you need to spend some of your time on the non billables that need to be done to operate, you won’t get a redundancy payment if through no fault of your own the company cuts your role in a cost savings exercise. You just don’t have a job.
There are various ways to mitigate the disaster and the best is probably to have as many customers as possible. The more you have the less the loss of one matters.
But you also need to be aware of the reality that you may lose customers when you set your rates. You need to bill for your desired salary + operating costs + expenses + some headroom for the time you aren’t doing billable work.
Here’s an example. Let’s say you want a £30,000 salary. You have operating costs for equipment, software, travel, expenses, taxes, accountants, rent, phones, internet etc; say £15,000/ year. Given 45 working weeks in a year, because you deserve holidays like everyone else and you’ll no doubt catch a cold or two at some point.
30,000 + 15,000 = £45,000/year MINIMUM turnover.
45,000/45 working weeks / 5 working days = £200/day
So if you want to earn a £30,000/year salary and you have enough work to keep you occupied every single day – you can afford to do it for about £200/day.
Let’s for a moment say you spend just one day a week on things you need to do, but you can’t bill a customer for directly - your accounts, taxes, your website, finding new customers, writing proposals, travelling to and from meetings, meetings, professional development.
That’s a rate £250/day and you still have absolutely no cushion. Lose a customer and even if it’s one day a month you’re not at capacity and you lose £3000 from your salary. If you lose a few or a big one and you’re idle a day a week – you’re out over £11,000!
Now if you want to build yourself in a cushion so that if you lose some work you’ve got money to eat while you spend time trying to get more customers, you need to up the rate. For the sake of argument let’s say you want to be able to eat working at 75% capacity if the times get lean and stay that way for a while. That means you need to be able to survive billing for 3 working days every week, so with the numbers above we get.
£45,000 / 45 working weeks / 3 working days = £333.33/day
Now in theory, working at capacity that would give you enough to pay yourself almost £45,000/year – but if you were smart and like the C&G contractors a major client suddenly pulled the rug out from under your feet, you’ve saved that and now have a good cushion going forward to find new customers. If they were 100% of your work, it could take sometime to build up that client base from scratch so the £15,000 really isn’t that much when you start to eat through it – literally.
Toying with ideas: geotagged podcast
Posted on June 8, 2009

- Image via Wikipedia
Came up with a good distraction tonight and thought briefly about being an iPhone developer. Was chatting with @Simon_Chapman (not sure I’d bother clicking there – nothing but tumble weed) about the various services out there and was trying to come up with a unique way to use some of the new features offered by the iPhone 3.0 software.
Specifically we were talking about how to use the new support for in app purchases and location to build a compelling service. The first thing that came to mind was pretty obvious and no doubt you’d just end up a small fish in a big pond with some monsters, create a service to search for and buy tickets for events near you.
The next idea that came to mind is to create a map based podcasting application. Allow any geotagged podcasts to be places on a map. Browse the map and get some audio or video about things around you. Revenue could be either generated through advertising or through access to premium content.
There you go, that one’s free, unless I find the spare time to develop it myself. ![]()
Related articles by Zemanta
- iPhone 3GS (manolith.com)
Open Source for Business
Posted on
I didn’t get this posted yesterday because the Internet crapped out in our area. Nothing but excuses, I know.
I’ve been working beyond the bleeding edge, using a version of the Nutch code that’s not even made it into the Apache SVN for the project yet. To celebrate the fact that my contributions will make it in I figure its a good time to get into open source and business.
To put it briefly, and as you can probably guess, I’m pro open source. I use it extensively and I push back as much as I can. When it comes to the most of the code I write there really isn’t much commercial benefit in keeping it hidden so it just makes sense to give back.
There are two types of business on the web, one where you provide a software service and that is the product and others where you provide access to data. It’s pretty easy to tell which camp you’re in.
37 Signals for example, they’re in the first and their software probably isn’t something they just want to let people download – unless they’re incredibly brave. Doing that would mean that they’d be competing on margins for the cheapest hosting, users would flock to the cheaper services, have a poor experience and blame the software.
Sproozi on the other hand is the second type, our data is what users mostly care about and we’re not planning to be precious about our code. I’ve already been pushing some of the changes I’ve made to Nutch back into the project and we’re planning open source projects of our own in the coming months.
One of our plans we have is to build iPhone, Andriod and other phone based applications for our service and release them as open source projects. We’re planning to write them (or have them written for us) and release ‘official’ versions. Then release that code as open source project to provide a framework for developers so that they can build great things from it and on our API.
If there are any experienced iPhone, Android, Blackberry, Symbian or Pre developers out there that want to get involved, drop me a line were a ways off yet but would love to chat about it and get some very early feedback.
Related articles by Zemanta
- Android Application Development (oreilly.com)
- Palm Pre will debut with only a few apps available (computerworld.com)
- Yahoo! breeds Pig that talks elephant (theregister.co.uk)
Some more thoughts on coworking in Hebden Bridge
Posted on May 31, 2009
Spent this weekend at Bar Camp Leeds 2009, it was great. There were some good presentations and talks and I really enjoyed getting out and talking to other people in the digital and creative industries.
I’ve been working from home now for a couple of years and it’s sometimes easy to get caught up in a routine and to forget that part of things. It’s easy, despite all the blogs and twitter messages we – or at least I, constantly read- to forget that there are people nearby doing very similar things. In the case of Hebden Bridge, quite a few.
Getting out there and meeting people has really hit home the idea that I would find a coworking space in Hebden Bridge immensely useful. I’ve been in touch with some of the people involved with the Town Hall project and the whole idea for the creative quarter they’ve got planned looks great. It’s probably a couple of years off though and what interests me most isn’t the building; it’s the community, collaboration and sharing of ideas.That’s something that can start without any funding, so I’ve been wondering what can be accomplished in the meantime. Starting now also gives the Town Hall project the best social proof and traction for the concept possible.
So what’s next? I’m going to try and organise an open coffee, try to guage interest in making it regular, coworking and maybe even somewhere down the line try to start our own Hebden Bridge BarCamp or unconference, with it’s diverse make up I bet it would be something unique.
Related articles by Zemanta
- Every Site Has A Story (slideshare.net)
Coworking in Heben Bridge or my office is soon going to be a bedroom!
Posted on May 17, 2009
My partner is mid way through her pregnancy, we’re expecting number two, so within the next year I’m going to need to find somewhere else to work. Even if we end up with two girls and they can share a room, I’m just not not sure it’s going to be practical to work from home with two young children. Even with just one I’ve been finding myself in the library more and more for the piece and quiet. Which got me to thinking about coworking and reaching out to see if there is anything in town or any interest in setting something up.
For a town of it’s size Hebden Bridge has a great artistic and creative community and more than it’s fair share of creative professionals; creatives, technologists, artists, designers, writer, journalists and programmers like me. It’s a great family town but a lot of the houses are fairly small. Perfect it would seem for a co-working setup.
I’ve sent some emails and posted on the HebWeb forums and so far there has been enough positive feedback that I’ll pursue it some more.
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_c.png?x-id=7fbe71dc-7561-4610-a0e6-24cc9a965baf)
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_c.png?x-id=96aef298-4930-4620-aa23-3bd8000705a3)
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_c.png?x-id=64ec7d45-39af-4e47-9311-3e12191fb228)
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_c.png?x-id=b3ec08ca-187c-44fa-94de-11b4463ec4a2)
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_c.png?x-id=00f194b8-b7ea-431d-bcfb-3340029a3ca5)