Bottling Silicon Valley

One of our TDs took himself off to Silicon Valley a while back to see what was special about the place and more to the point, could we create something similar here in Ireland. In a way, it was a laudable objective, and you can read the article he wrote subsequent to the trip here.

I honestly believe that collective will would allow something special to be created here; but that will isn’t something you’d find in SIlicon Valley. There are a couple of things which make the Valley special – I’m not necessarily going to go into this in detail but the following are obvious advantages:

  • proximity to high quality education
  • infrastructure
  • access to finance

There are a couple of other small items as well such as greater tolerance of business failure, and faster recovery from said business failure.

Eoghan Murphy didn’t really talk about these in detail except the business failure side of things; he concentrated on solutions that involved importing people, via programs of paying people’s salaries, for example.

I’m not sure this is the way to look at things. We need to teach people to have ideas, and the faith that they can carry them through. Ireland is appalling at this; I suspect, in part, because of the social judgmentalism which I think the Catholic Church gifted us. How we judge people’s success is depressing. It’s not often because they have created something special, but only because they went to the right schools, or, made money and talk to the right people.

In my view, the ecosystem which is Silicon Valley, or some functional equivalent, might be better grown here if we look at two key things:

  • education system
  • how we fund start ups.

We do neither particularly well. If you look at both Facebook (which I don’t like) and Google, both of them grew out college projects to some extent. In the early days of Google (and if you have not read In the Plex by Steven Levy you should), they got huge support from Stanford University. It’s the sort of support that not one university here could do because they don’t really have the money.

Via a ridiculous job creation scheme, the government appropriated money from pension funds to do something about our unemployment. If we want to create something innovative and special here, Job Bridge was not where we should have put the money; and nor is it in “trying to create Silicon Valley”.

We have some useful advantages here. We have the wherewithal to build decent data centres. We have the wherewithal to teach people to exploit them. That is where I’d like to see that money going; into the future and not just the present.

Things I wish could be real in every company

I’m not sure how it happened but Google+ seems to be working for me in the way that I want a social network to work; in the way that I wanted twitter to work (but it doesn’t) and in a way that FaceBook has just never worked for me. In the main, it’s pushing higher quality content to me.

One of the things which caught my attention this morning was this from Sergey Brin. It’s not for the amazingness of a hangout between Desmond Tutu and the Dalai Lama although that in itself is a measure of how much the world of communications is changing.

The line which really got me was this:

Incredible. It was just a handful of months ago that +Vic Gundotra and I were at the office late one day talking about how to make communication on what was to become Google+ really dynamic. The discussion turned to the video conferencing technology that another team was building with a completely different product in mind.

“I bet you can just throw that into profiles with a couple of lines of javascript,” I said mostly sarcastically to goad him on. Sure enough about 15 minutes later we were participating in our first hangout thanks to some amazing engineering footwork and maybe a bit more than a couple of lines.

This is basically how video conferencing got into Google+. An off the cuff remark. It was in response to the dilemma of making Google+ more dynamic. I’m not sure what they were talking about there, but what interested me about this was the utter flexibility of the development model in Google that enabled them to do this; to take a piece of functionality that they were developing for one product and implementing it in another product without a convoluted mess of process to get permission to do this. In one way it is an example of that ultimate evil; project scope creep; in another, but more important way, it’s an example of recognising how to make a great product better without being hung up on bureaucratic process.

That takes vision.

Tools appropriate to the task

A couple of things cropped up today. Microsoft were looking for user feedback – I’m happy to give this for the most part so that was done.

Then there was *that* argument. I stopped reading Slashdot because of *that* argument and I think I’ve written about it before on previous sites. It relates to computer operating systems and the tribalism that goes with them.

I run iOS on my mobile devices. I run Windows on my personal computer, Windows is applied to me at work and as far as business systems are concerned, I have a lot of experience with an IBM mainframe.

*That* argument first raised its head in a discussion on mainframes. Put simply, a significant number of slashdot readers were of the opinion that mainframes were obsolete, and should be replaced by Linux server farms. I think that was the first time I came into contact with Linux fanboys to be honest and it was not a pleasant relationship. A key issue I had with the whole argument was that they were unfamiliar with what mainframes did, had to do, but assumed their shiny server farms could do it because they were expert in Linux and loads of servers and…

That’s not to say they couldn’t do what mainframes did. But because they didn’t know exactly what mainframes did, and what was required of said mainframes, they weren’t, in my opinion, qualified to comment one way or the other. *That* debate was interesting because you could see a key difference between basically two generations (I’m comparatively young and most mainframe experts are generally older than me). The older guys, the guys who knew large systems, took the view that there were many systems and many tasks and no system was appropriate for all tasks. That there were some things that mainframes did better, and some things that more modern server farms did better, and likewise on the desktop front. You could not argue that only one OS was able to do everything. It could but that didn’t mean it was any good at it.

Debates of this nature wear me out. Today it was desktop related. One key argument given in favour of anything other than Microsoft Windows is that it’s a) easier to configure and b) easier to use than Windows. In other words, Windows is the worst.

Again, and again, and again, it’s really not that simple. Windows is actually very easy to plug in and play. It’s when you want to do something outside the box that it can be not straightforward. But that lack of straightforwardness is often accepted as normal for Linux installs. And the software you might want to use may not have a Linux version. Photoshop is a key example.

It’s not that there aren’t functional equivalents, and in the Linux world, yes, there is the Gimp. But I’ve used it. And I have paid for Photoshop because it has been worth it to me.

Probably the easiest plug and plays are Macs. But if you’re a technogeek who likes messing around with the innards of an OS, it may not be the best choice for you. In fact, given the way Apple are going with their mobile devices it almost certainly won’t be in the long term.

Ultimately, the point I am making is that it is not true that Linux or Mac or Windows is the only answer to the question. Different OSs, different systems do different things better or worse. It’s almost like the laws of comparative advantage. So your main objective shouldn’t be to religiously devote yourself to one OS. I’m really not impressed if you say unto me that you do everything in Linux because in the grand scheme of things, that does not render you qualified to imply that everyone should do things your way or, indeed, that everyone needs to accomplish the same tasks as you. In other words, different tools fit different requirements and this is true even at the OS level.

Interestingly enough, as it happens, Microsoft, in their user survey today, were all about Google and not, for example, Linux or Mac. As noted by this particularly interesting xkcd:

Mac versus PC via xkcd

The game is changing, basically.

ETA: This post was written before I heard that Steve Jobs had died.

How communications changed your view of the world.

Way back in a past life when I was a regular member of a library (when I had fewer plates to spin), I picked up a book called Krakatoa The Day the World Exploded. In addition to all the disaster details about the numbers killed, how they died and how Krakatoa differed to a lot of other volcanic eruptions in the area, one of the things which struck me was how the changes in communication technology at the time caused that to have greater in depth reporting in Europe than pretty much any previous similar – for a given value of similar given that the Krakatoa disaster was historically noteworthy – on account of the telegraph.

You could see this earlier this year when Japan suffered its megaquake and tsunami – the news spread like wildfire around the world because it’s just so easy.

About an hour ago, north western Canada was hit by a 6.7 (currently this is what the USGS is giving for it). It’s not a particularly highly populated area and the epicentre appears to have been some distance from the closest major population centres. I picked up the news on twitter which is where I get most of my news and from there went straight to the USGS. Another of my friends gets a push notification on his phone for any earthquake measuring greater than 5.0.

I’m not a geologist. I’m just curious about a lot of things sometimes and one of the things that catch my interest a bit more than normal is how the earth behaves, in particular, when things go wrong. Hence, I borrow books about Krakatoa blowing apart. And I read articles and watch science specials. I know, for example, that there’s a supervolcano under Yellowstone National Park and that it blows at relatively regular intervals and is now running late. I found that fascinating. My flatmate was terrified. But I can’t change how that volcano behaves. I just want to know more about it.

I’m also fascinated in how information from the past is painstakingly collected and collated to tell a story. The earthquake in British Columbia is part of a story I find fascinating and it relates to the Cascadia Subduction Zone. Put simply, every so often, there is a major, major earthquake there. Because that area isn’t so populated, the record of those earthquakes is drawn from the earth. It’s also drawn from Japan because experts in tsunami history have been able to match up a mystery tsunami with an unrecorded earthquake in North America, unremarked there because of the very low population density there. That element of detective work fascinates me.

When the earthquake struck Canada this evening, it automatically flagged for me because I know about the Cascadia Subduction Zone and the fact that historically it has generated some serious activities and some significant tsunamis. It’s based on the fact that I’m an information magpie sometimes. My friend who gets the earthquake alerts on his phone wasn’t familiar with this. I can’t remember whether it came to me via some documentary on a cable channel (possibly) although i was reminded of it in a piece I read on the site of a west coast America newspaper the other day, the main thrust of which was to highlight just how unprepared that area is for a major earthquake.

I’m not sure I’d know quite so much about these things if it weren’t for those sources of information like the library when I was younger and now, books on demand courtesy of and the kindle software. Yes, I still occasionally watch these things on television because television has an interesting way of presenting information sometimes even if it can be a lot more superficial than the details you get in well written (and illustrated) books. And websites now.

I love that I can go to this amazing vat of knowledge and get what I want. When I ring my mother to tell her about things like this, she reaches for the radio because when she was my age, radio news was internet. For me now I reach for the USGS page and find out all I need to know (like where this thing was on map relative to the CSZ so as to confirm my suspicions).

Easy to use or not.

Rather unexpectedly yesterday I found myself in an online debate on Linux versus Windows. This doesn’t usually happen to me for a couple of reasons:

  • I obey the law of avoiding 386 situations. Arguments which are futile are avoided. Linux versus Windows is futile. There are more fun ways to spend my time;
  • I am a mainframe programmer and past discussions on (wonder if that still even really exists) have taught me that a) mainframe programmers understand different tools are appropriate for different purposes and b) Linux enthusiasts tend to have the fervour of the average recent religious convert (more zealous than the founders themselves and c) too many elements of the argument are subjective anyway.

The argument/debate/online fistycuffs centred on which was easier to use, Linux or Windows. At this stage I have to declare the following interest: I use Windows machines both at work and at home when I’m not TE into a mainframe environment. It’s not that I have anything against open source – philosophically the idea fascinates me – but that various things for which I require a functional computer also require that I run Windows. I have never owned a Mac, although I’ve used them from time to time. So I can’t actually make a call on whether it’s easier to use Windows or Linux. However, pretty much everything I have read suggests that if you’re not a technically minded person, Linux is currently nowhere near out of the box enough.

You could argue that Windows isn’t either, but typically, I don’t have to do much or anything to the box when I buy it, I don’t have to set up anything other than a wireless connection and then it, over a bit of time, sets itself up to a greater or lesser extent. There’s no messing around with drivers, there’s no messing around trying to get different pieces of software to run, you don’t usually have to actually install the operating system, regardless of how easy it may be to someone to install Linux to an empty box.

The reason I got involved was that someone came up with the idea that computers were complicated machines and if they were complicated, then they shouldn’t be easy to use.

I can’t understand this rationale in anything other than the terms of a guild protecting its own interest and mysteries. Lots of things are complicated, but they are easy to use. My example was cars – you no longer have to manually turn the engine, and things rarely go wrong with them (at least in my experience). Compared to how things were in the 1900s when people were practically building their own cars, cars are easy out to function. Likewise refrigerators. There’s a fridge-freezer just five metres away and I don’t have to do anything. I have no idea how it converts warm external air to colder air to keep my cheese from going mouldy and tomorrow’s breakfast at an optimum temperature for summer.

Philosophically, I can’t understand the idea that because, underneath the hood of something is complicated, the end product has to be difficult to use.

I have no doubt that if someone provides you with a Linux box that is all nicely installed and has email and a browser running okay on it, and maybe Open Office, the likelihood is that you’ll be grand, in the way that it’s more or less grand when you go and collect a Windows machine from your nearest retailer. But given that this option is difficult to come by for two reasons a) the OEMs would have to choose a distro and this choice would probably be castigated by some within the community and b) Windows machines are ubiquitous and they typically work out of the box for most people then for most people, getting a Linux box running is just not as obvious or straightforward as getting their Windows box up and running.

A lot of technically minded people have no idea what it’s like not to be technically minded. They miss that people just want to be able to email their kids in America and their boyfriends in Sweden or whatever, they want to be able to read FaceBook and order books from Amazon. I can’t see how this needs to be complicated.

In the grand scheme of debates over Linux versus Windows versus the Volcano, the idea that computers should be difficult to use is one I just can’t buy.

LinkedIn penetration – What’s it worth really?

Last week, ComScore issued a press release highlighting the penetration rates for Twitter and LinkedIn in a number of different companies. The Netherlands came out top. What was interesting – and hence rather more widely reported than you’d expect normally – was that Ireland came second in the table for LinkedIn. I was a little surprised. The press release is here. It concentrates mainly on the Netherlands use of social networking media but there is that table of penetration for LinkedIn and that’s what I want to talk about.

It caught my interest because at the same time, an online forum which I frequent was running a discussion on how to find jobs in IT in Ireland. Networking via LinkedIn featured as a key component of something people should be doing; and how they should manage their profile, for example. It interested me because it strikes me that LinkedIn is working more or less as a lot of people feel FaceBook should be – a connection building exercise. I’m not sure FaceBook really works that way.

Given that Ireland is behind a lot of other countries in terms of penetration of FaceBook and Twitter, I’m intrigued to know why we score highly on LinkedIn. It’s possible that this penetration is as a result of:

  • high number of IT professionals;
  • high number of professionals intermingling with the US market;
  • high levels of staff turnover in the IT sector.

LinkedIn is a little interesting on the financial front too as it is due to IPO sometime this year. The expected flotation figure is – comparatively speaking (according to Mashable by the way), not all that high. This is important because the figures being bandied about for FaceBook are rather stratospheric, despite a complete absence of useful financial information. LinkedIn’s IPO documentation offers a lot more clarity.

The recruitment process in Ireland has changed a lot over the last 10 years. I was direct-hired to my current company having done battle with the recruitment agencies which, from what I can see, are really not all that trusted. LinkedIn cites job vacancies as one of their main income streams and anecdotally, I know people who have been headhunted via LinkedIn. I wonder if a key contribution to LinkedIn’s position in Ireland relates to recruitment specifically and I’d be interested in finding a way of figuring it out.

LinkedIn is an interesting way of finding a job; however. If you have any colleagues (or direct line reporting) within your network, it may be difficult to hide the fact that you are interested in moving which may or may not be a good thing depending on a number of matters such as workplace atmosphere and hierarchy, remuneration issues and workplace culture.

One of the things that struck me most about LinkedIn at the time I registered by the way was how structured it was in terms of describing your background, experience. A key complaint I have about the online form application modusfindanewjobus is that it is can be very difficult to fit that around your actual life and experience. I particularly found this with an IBM form lately.

While that makes it easier for HR staff, it may not – and almost certainly isn’t – necessarily in the interest of either an employer or a potential candidate. For that reason – I think there will always be an interest in a well designed and informative CV. LinkedIn allow you to upload these which is helpful.

Declaration of interest – my linkedin profile is here.

Coding without comments

Via Robert the Grey and Jesse Liberty, I have been thinking about code comments and how necessary they are, and I have come to the conclusion that some people have just never really written assembler.

Jesse’s argument for his project is as follows:

  • Comments rust faster than code, even when you’re careful
  • Well written code can be read, and comments are annoying footnotes
  • Comments make for lazy coding

Comments rust faster than code not because you’re not careful, but because you’re lazy. And if you are lazy about commenting, how do I know you’re not lazy about coding?

I realise that sometimes the logic behind a piece of code can be less than clear; no matter how well you construct your variable and procedure names, that problem does not go away.

According to Robert:

  • Stating the bleedin’ obvious (I’m looking at you Method Arguments)
  • Put there because you’re too lazy to refactor the code as demonstrated in Jesse’s article and the comments
  • Enforced by stupid corporate coding standard mandates that are still stuck in the 90s
  • Stale (and sometimes actively harmful) by the next check-in or 6 months later

I think that this is a lazy approach. It says “I cannot be bothered to document things properly so it’s someone else’s fault if they do not/cannot read my wonderfully elegant code that is self-evident because I have designed it to be so”.

It’s also my experience that well written code tends to be accompanied by well-written comments, and that poorly commented code is rarely wonderful and easy to extract some meaning from.

If either Jesse  or Robert want to carry out thought experiments like this, it’s entirely up to them. But in the real world, code standards should include checks for adequate documentation so that people, other people, have a fighting chance of dealing with other people’s elegant code. Just because you think you’ve written good code and it is self-evident what it is doing does not mean you actually succeeded in doing so.

I’ve no objection against the new generation languages. Anything that makes programming more accessible to other people is a good thing. Anything, however, that allows you to break down some discipline, is not a good thing.

If you’re disciplined enough to write good code, I honestly don’t see an argument for not being disciplined enough to write good documentation for said code. If you can’t then, in my view, it is lazy.

Failed personal projects –

One of the hardest things you have to do sometimes is reflect on projects which fail for whatever reason. For me, the key one is just occasionally, an idea comes along and I cannot give it the time it requires to make it work. We have only got a limited amount of time, it seems.

For me, the one that I really regret was the idea. I’ve completely abandoned it for now because with the benefit of hindsight, the idea was nice, but making it happen turned out to be difficult in light of the amount of time I had to devote to it.

The idea was simple enough. was to be a directory of all the activities you could get up to no matter where in Ireland you lived. The key objective of it was to make it community content driven – that meant people could sign up and plot their town and their local clubs and activities on it – so that if A N Stranger arrived in the town, family in tow, for a new exciting job and start in their lives, they had somewhere to look other than the local newspaper to find out about things that they could get involved in.

I believed this mattered because on the surface, most of Ireland appears to have GAA and the odd football team. I am willing to bet, however, that the top rugby players in small towns in Cork are completely unaware that the North Cork Lacemaking Guild is one of the best in Europe if not the world, or where the local judo club meets.

Part of this is rooted in my own youth. When I was a teenager, the choice of activities seemed to be limited to some of the more obvious (GAA) sports. I was fortunate that my parents were good enough to get me to a swimming pool every Sunday morning during the winter because I had zero interest in the local camogie club. Part of this is also rooted in a conviction I have that very often, things are going on that we just don’t know about. Things like knitting clubs, volunteer organisations building things. The media would have you believe that all the weekend is about is partying and sleeping in on Sunday morning. But I pass through towns, small towns, and realise that they have karate clubs, yoga classes and I thought that a central site where you could just go “okay, I’m living in Portlaois for the next year or so, what’s going on there?” rather than spend weeks asking at libraries, looking at notices in supermarkets.

When I built it – and I built it twice –  I set it up on Mediawiki because it struck me as possibly the handiest CMS for a project like that. I had grand plans involving linking into Google maps as well. Typically, however, on both occasions, it got heavily attacked by spam and I didn’t have the time to do any of the wider customisation and development I had in mind for it. Sometimes, the tools we give something are just the wrong fit.

I’ve been thinking about the whole idea again lately and am still tempted to try and figure out a way of making it happen. I might not necessarily go with Mediawiki – having looked at that again lately for other reasons, I’ve concluded that it doesn’t fit the needs of that project any more; that in fact, building something straight onto a Google or Bing map might even be a better fit altogether rather than trying to build anything more elaborate.

I’m still interested in making it community driven; I look at how has developed into something highly useful (although occasionally monumentally diversionary) for a lot of people, particularly in specialist areas (I have an interest in the photography and commuting and transport fora there). It’s just, something like that can be hugely open to abuse, and the question is how you go about policing it. On the flipside, I really have no idea what people do in their spare time in the way of clubs and societies and classes in every town in Ireland. I need to crowdsource that information.

On balance, though, it matters that people who have ideas look at trying to implement them, and learning from the failure.

whither iPad

I’m getting a lot of conflicting views on whether the iPad would be worth it or not. The web is starting to swim in articles about why photographers need or don’t need an iPad, or why writers need or don’t need an iPad.

I like some of the idea of the iPad – and this is probably because I am influenced by owning an iPhone which is, in some respects, like an iPad mini, except you can make phone calls with it too.

The one comment that caught my attention and said “yeah, maybe you’ll get some use out of an iPad” as a comment from the editor of ImagineFX (I think) who stated that the online version of his magazine looked fantastic on it. I could be tempted by that because I love magazines but I don’t always have time to a) buy them b) read them or c) carry them around everywhere I might read them. For the most part, the magazines I tend to read include Imagine FX, Advanced Photoshop, Photoshop Creative, National Geographic, Kiteworld and occasional other forays into related disciplines. The trashy magazines like Hello and VIP I allow the hairdressers to pay for and the glossies like Marie Claire and Vogue have been demodé for years for me. But that’s by way of an aside. The iPad seems to be a tad expensive for being purely a magazine reader and let’s face it, the ebook readers are a good deal less expensive.

Apple have helpfully gotten themselves into a mild dust up with Adobe over Flash. They’re not going to allow Flash to run on the iPad – it already doesn’t run on the iPhone and this is one giant nuisance. Leaving aside the tech arguments over whether Flash is any good or not, the fact remains that a lot of sites run it. An awful lot of sites run it, still. And Apple have helpfully added developer restrictions that make it very difficult to work around their limitations. The net result is that although you may buy an iPad, you will do on it only what Apple allows you to do. Adobe have run into the limitations that Apple have applied to developers in terms of what libraries you can use to develop for their devices. Their argument is that it protects the device.

But it restricts the supply market for software for the device and could, if you were being pernickety about it, be described as a little anti-competitive.

There is an argument that realistically, HTML 5 when it comes along in general use, will preclude the need for Flash in the future and I’m fairly sure that Adobe will do a nice trick in making it possible to create great HTML 5 sites. However, that’s in the future and now is now. The world – and a lot of creative sites in particular – use Flash.

So I’m not hugely happy with Apple on that while recognising that there is a lot of really lousy Flash there and anyway, if you wanted to write Flash you needed some expensive Adobe tools. That’s not ace either – and I already use Adobe Photoshop and am looking at some of their other design tools now too.

If someone were to ask me “Should I get an iPad”, I’d have to say, I don’t really know. I know its shiny and new, and I think the people I know who have one actually really like it. But I’m still not sure that I’d really need it over what I have at the moment, and apparently it’s pretty useless unless you can connect it to some class of a network, be it via WIFI or 3G. To be fair though, for a lot of people, any non-networked computer is basically useless.

The other key issue I have with it is that its drive capacity borders on the too low for me. Not enough room for music, not enough room for lots of photographs and not enough room for a few movies.