Somewhere in the overlap between software development, process improvement and psychology

Posts tagged “google

What is cloud computing?

In any sentence including the word “cloud” if you substitute “network” the sentence still makes sense, and normally makes a lot more sense.*

I’ve recently been doing some stuff with cloud computing and thought I would offer the above insight. It’s slightly flippant however, in that there is a difference  (at least to me) between cloud services and network services and that is in their focus. “Cloud services” tend to be focuses towards consumers whereas “network services” are rendered by businesses to business, although as is normal in business they’re further obfuscated translated to b2b services or, if intended to portray an image of easy-consumption “b2b cloud services”.

You’re currently reading this blog on the cloud or syndicated by a cloud service (like google reader, netvibes (oh yes I see you), bloglines etc.) on a device of your choice.  I’m writing it on a cloud service and other cloud services (like google, bing, whatever) are providing search for curious folks to find this blog.

So what does all this mean? Is cloud pointless or the most important thing since 7 layered network protocols? Or all of the above?

Personally I’m leaning towards the third option. In many ways this is nothing new. I’ve been able to use network based search, hosting, virtual provisioning, remote servers, remote APIs for many years. In another way it’s totally new, I can provision a network based on a topology of my choice based on a collection of OSes for little or no money for whatever purpose suits me, storing data in a federated fashion and integrated with a number of web services after just a few clicks, both as a business or an individual.

There are many excellent cloud services out there, I personally use the Ubuntu One service to transfer files between my main desktop PC and my Android tablet, it’s actually more convenient than using a USB stick (and free) – this for me is the real distinction between “network” services and “cloudn” services (deliberately misspelt for those who do the copy/paste search/replace exercise). They’re so convenient and cheap (or free) you’d use them above anything else. Amazon is really trailblazing in terms of consumer and business cloud services.

I recently setup a website. I entered my credit card details and literally moments later had a linux server with the web server of my choice running. I was able to FTP and SSH to the box and do whatever I wanted as it appeared to be my box. Of course it’s not my box, it’s a virtual box hosted by a (probably virtual) hypervisor or similar on a bunch of racks distributed around a bunch of data centres in various places but that’s not relevant to me as a consumer, I just ask for a “box” and get a “box” in moments, in a convenient and cheap way.

That is what cloud computing is all about.

* Try this trick with this blog, copy and paste the blog to gedit/notepad/whatever and replace “cloud” for “network”

An agile approach to innovation in a small company

I recently spent a little while thinking about an open, transparent and honest way to deal with innovation/staff objectives/supporting work in a small company. Note that this isn’t what my current employer does, just an idea for how these things can be done.

Firstly people need time to do this stuff, if it’s valuable for your organisation to spend time doing supporting work, intellectual property development or general innovation then they need the time to do it. People need the Google 20%. I’m very fortunate that in my job I get that time, or close to it normally.

New Ideas:

Create a wiki page or similar somewhere (that everyone can see and everyone can edit) – a bit like the Google ideas wall. Start it with a freeform/categorised ideas list in the form, this is a bit like a backlog, once an ideas done/delivered/published it drops off this list

Ideas – Owner – State:

Idea for doing something – Mike – Identified

Idea for taking over the world – Unassigned – Identified

If someone like one of these ideas they can run with it, recruit a team of colleagues if necessary and get on with it. Once I’ve asked someone to help with my idea I can be fairly sure they’ll ask for reciprocal help on something. This improves teaming in distributed companies and provides a channel for autonomous action, critical for motivation.

In Progress Ideas:

When ideas are in progress they’ll have their own tracking and information in the appropriate technology. For example a blog idea probably goes from being picked up to being published without any tracking. Maybe there’s a review process if it’s a big position piece so it might go through Identified to In Review on the list above but that’s it. Another idea might be for the development of some software, in which case it’ll take some time and probably have a project web and bunch of tools and info to communicate.

Complete bits of work:

Once something has been done the owner can add it to the achievements table, a column for each person where they can list what they’ve done with links to the various bits of output.

Person A Person B Person C
Blah Practice published Blog series on X
Paper published on Y

All bits of achievement aren’t the same size, but this allows people to see the creativity and production of their colleagues and find all of the useful things people have been doing. It also applies some peer pressure to Person C who on the face of it doesn’t appear to be adding much, although there could be a good reason for that.

Why did I say all this was agile?

Individuals and interactions over processes and tools

Individuals ideas are valued and encouraged, as are their achievements. People are encouraged to help each other and work together on ideas. There’s very little process and tooling involved, just a list on a wiki. If I had a co-located team I’d just use some whiteboard paint on a wall or some post-its.

Working software over comprehensive documentation

Well we’re not talking about software here, but achieving ideas. The emphasis is on the achievements table, not the detail of how people go there. In progress ideas can be tracked and reported using whatever info is relevant for the type of thing being done, which can be determined by the people doing it.

Customer collaboration over contract negotiation

This is an open and transparent process. Anyone can comment on the ideas on the list have a look at in progress ideas or question published/achieved goals.

Responding to change over following a plan

All this stuff is just written down, it would be easy to rewrite it if things changed. People, ideas, the environment etc. will all change so we need to be responsive to too and not plan the next 50 ideas to the hour.

Other thoughts

Since the list at the top is a bit like a backlog, it could be managed with input from management to direct the backlog, prioritise and agree. But I’d be wary of applying that kind of governance to creative/innovative ideas. I’m not proposing this as a general work management process, just an ideas/ancillary objectives process. Remember, bad management kills great ideas and worse this kind of management intervention stifles bad ideas, which are necessary and valuable.

Also, there are few things worse in life than an “Ideas Process”

Ngrams for nerds

Pictures that are worth 500 billion words!

Google Ngram Viewer shows graphs of how many times words or phrases have occurred in a set of 5 million books over the years. They’re a really interesting way of seeing trends in information and relative importance between words. It’s free and easy so check it out.

Here’s some I recently ran that I found interesting. I ran most of them from 1950 onwards and  the info only goes up to 2008.

Comparison of programming languages

Programming Languages

Ngram link – When looking at this you’ve got to mentally remove the baseline Java and Pascal references from the 1950 as they’re about coffee, islands and mathematicians. Interesting to see Java so dominant.

Programming paradigms

Programming Paradigms

Ngram link – I found this one really interesting. Compared to the others in my query “structured programming” had a lot more books written about it. I wonder how much this is a reflection of the rise of the internet… these days although there are lots of programming books the primary source for learning a language is online material?



Ngram link – I was a little surprised to see RUP so much more prevalent than agile but then I did have to add “software development” to the term to avoid including the bendy and stretchy. Also as with the previous one I suspect that there’s a difference here between a vendor driven process with supporting books and a more open source philosophy on agile as a generic umbrella for methodologies, and therefore more online sources. As Ivar Jacobson says: “No one reads process books

Shareware, Freeware and OSS

Shareware, Freeware and Open Source

Ngram link – This one speaks for itself 🙂 I wish I could have worked out how to add “expensive vendor products” to the query!

User Stories vs. Use Cases

User Story vs. Use Case

Ngram link – Ah yes, this argument again. Interestingly this dominance of use case over user story in written books correlates with query stats between user stories and use cases on by blog and the site. Personally I think they’re both great and complimentary, I often use them together on software projects.

Windows vs. Linux

Windows vs. Linux

Ngram link – Yep, Linux beats Windows at every turn.

More Ngrams!

For more fun with Ngrams watch this very funny video explaining this stuff

UNTHINK – first impressions and screenshot

I saw a video for UNTHINK a while ago that appealed to me. I like the idea of total control of my data, of separation between friends, acquaintances and brands/interests. Also I’m a pathological early adopter. I like new things, and the shinier and more buttons the better. Sometimes I get carried away with links too.

I had an early invite to UNTHINK when it opened to public beta, clearly along with many other early adopters. First problem there, the servers couldn’t handle the pressure, there were too many early adopters and without the power of Google behind UT (not the best acronym huh?) the public beta was essentially a fine example of  a DDOS attack.

Anyway, a couple of days later and here’s my first impressions, now I can access the site.


First of all I find it be gloriously complex. G+ has catered for the simplistic market, but I like complicated things, and this suits me. The UI is reminiscent of the early Facebook and MySpace.  G+ allows me to separate people via circles but I have to set that up, UT has it from the start. It’s all private by default and they tell me I own my content (the unthink emancipation deed). UT prompts me from the very start to control the privacy options of my content, unlike Facebook which decides for me frequently. Finally, it reminds me of uplink for some reason, and that’s double or possibly even triple awesome

But… the social networking market is saturated. Facebook is the Daddy Mac, it’s where everyone is. Some of my techie friends still aren’t on G+ so that’s quiet. UT is positively empty. I keep coming back to Facebook because it’s where people are, many of my friends have no appetite for multiple networks and as with G+ I wish I could cross post with FB.

Whether it catches on or not, it’s existence is a good thing as it will apply pressure on widely adopted networks to provide better features. It wasn’t long after the exposure of G+ circles that Facebook created “Close friends” and “Acquaintances”.

Google+ review

G+ is a social network from Google to rival Facebook, twitter, tumblr etc. I’ve been trying it out and kinda like it. It’s intuitive, easy to use but also a bit surprising. The best feature by far is the circles (screenshot below) which allow you to segment your social graph, or more simply put your contacts into groups. Then when you share something like a post or photo you can choose who to share it with. That means you can have things like family, work, acquaintances or just people you follow all in one place.

The interface is nice and shiny with lots of drag and drop and nice little features and animations, but when you first load it up it can be a little disconcerting how much it already knows about you. If you’ve already got a gmail account, an android account, picasa etc. then all of that stuff is already there in front of you. When I first logged in it had my picture, suggested various people members I should connect with (based on my email) and once I linked in my blog account it put in my blog intro into my profile. Clever, but a little annoying as well.

I’ve read that hangouts (a kind of chat platform) are the killer app for g+ but I’ve not checked it out. If I want to video call I tend to use skype and even then I don’t really want to video call, I’d rather IM, text or phone than video call.

Overall, I really like it. The ease of use, the simplicity of controlling where content goes, the nice simple little andriod app and the shiny interface have me drooling like a geek with a new toy. If only it was 5 years earlier and there were more people on it. I can’t imagine it replacing Facebook and twitter in the short or medium term as the stable door has been open far too long and there’s an emotional investment that people have in those sites.

Play a game with Google 2001

In honour of Google’s 10th birthday they’ve dusted off an old search index from 2001 and tied it up to the Internet Archive. The Web was a lot different in those days (no ipods, facebook etc.) and it’s fun to ego search and see the difference.

In Google 2001 if you search for “Mike MacDonagh” I think the first hit is my Dad at the Smithsonian, and my sister features on Page 3 (har har, not like that!) because of a school play she was in but I’m nowhere to be seen! At that time I was running Midnight Skulker Software of which there’s a whole page of hits, but I seem not to have put my name on it anywhere! An exercise in bad branding! I’ve still got all the old source for that stuff, and still use some of it myself 😀

More reading:

My Blog Stats

MMD WordPress Extension screenshot

I a blog stat fanatic. I’m obsessed. It’s so bad I wrote a FireFox extension to show me the current daily hit count of my blog. I started this blog in April 2008 and since then the readership has gone up month by month:

If you look at this on a weekly basis rather then on a monthly basis some more info is apparent. This graph below shows a slow start then some action starting when I started writing about IBM Jazz. Then the next peak was some RSDC blogging in June. All was then returning to the baseline readership level of about a 1000 hits/week until I posted some Google Chrome screenshots on the morning before Chrome was released. This led to over 3,000 people turning up in one day!

Finally the daily chart. Normally this goes up and down a bit (slow weekends, mid-week peaks etc.) Unfortunately the 3k Googlers completely flattened my graph 😦 At least that peak is about to drop off the side and the normal scale will resume 🙂