Wikinomics
I’ve just finished reading Wikinomics by Don Tapscott and Anthony D. Williams.
I posted an entry over at the Swirrl Blog with some views on its contents:
In all, I thought it was a good read with some great insights into how business is evolving, but the edition I read was published in 2006 and such is the rate of developments in this area, some references and examples felt dated… (Read the rest of the article)
My name is Ric and I'm a coffeeholic

Being a self-confessed coffee addict, I found this article interesting.
It’s slightly off-topic for this blog, I know, but most programmers can’t survive without their caffeine hit, so I thought it might appeal.
(Coffee image by Klaus Post)
MacBook Pro LED Strange Vertical Stripes 18
In March I bought myself a MacBook Pro 15” (one of the new ones with an LED backlit screen). Although I am generally pleased with it, there is one really frustrating problem…
Every so often (seemingly randomly), strange vertical lines appear on the screen, as if some of the LEDs aren’t working properly. Resetting the display with Ctrl-Shift-Eject, putting the computer to sleep or restarting the computer makes the lines go away, but not always for very long.

At first I thought that there was something physically wrong with the hardware, so I called Apple Support to arrange for a replacement to be provided. However, the chap on the phone told me that it was a known firmware issue, and they’re working on a patch. He advised me not to return my computer as it would likely happen on the replacement too.
Frustratingly, Leopard update 10.5.3 didn’t fix the problem, so it looks like I’m just going to have to put up with it for a while longer.
The Apple Discussions Forum has a thread on this issue, but no-one seems to know any more than me.
NewsFire Free RSS Reader For Mac
Until recently I had been using Apple Mail for reading RSS on my Mac, but it had its issues, such as sometimes inexplicably not updating feeds, and not being able to import and export lists of feeds.
I prefer client-based RSS readers over web-based ones like Google Reader because I want to be told when I have new posts to read, other than actively have to check a website.
NewsFire doesn’t try to do anything fancy, but it has none of Mail’s problems. It has some great usability features though, which make it just feel ‘right’. For example, if you have a url in the clipboard when you go to add a new feed, it automatically pre-populates the feed url field in the dialog.
As of the 1st of March NewsFire is now free, so there’s no reason not to give it a whirl.
If, like me, you currently use Apple Mail and want to get a list of all your feeds so that you can add them to another reader, you can use the following Terminal command (from macosxhints.com):
IFS=$'\n';for i in $(find ~/Library/Mail/RSS/ -name "Info.plist");do grep "<string>http://" $i | sed "s/.*\(http[^<]*\).*/\1/";doneDomain Specific Languages
Last night I attended a Thoughtworks Geek Night at Manchester University, having found out about it via Jay Fields’ blog.
The only way to reach the room in which the event was held was via the goods entrance, as apparently the main entrance to that building gets locked earlier in the evening. I approached the porter’s booth so I could sign in and get him to let me in. Before I had a chance to explain who I was and why I wanted to enter, he passed me the ‘Geek Nights’ sign-in sheet, without either of us having said a word. What does that say about me? hmm.
Anwyay, Jay gave a great presentation on DSLs (Domain Specific Languages). I had previously watched a screencast, featuring Jay, on DSLs so that I would have some chance of understanding what was going on. Thankfully, there had been no need as Jay talked very lucidly about the topic, and to my delight gave most of his examples in a context with which I am familiar (i.e. Ruby and Rails). There was a small amount of overlap between content of the screencast and the talk, but I guess that was inevitable.
As well as to have the chance to have a chat with Jay and other local ‘geeks’, I wanted to find out a bit more about DSLs and their relevance for use in Swirrl, my company’s upcoming web-based service.
“The basic idea of a domain specific language (DSL) is a computer language that’s targeted to a particular kind of problem, rather than a general purpose language that’s aimed at any kind of software problem.” (Martin Fowler)
So, It turns out that I had been using DSLs all along without really knowing it – in the form of Rails Migrations, CSS, SQL, Regular expressions, and many other places. It’s just the domain here was in the realm of the programmer and various programming contexts. What I was really interested in though (and what the talk focused on) was how DSLs could be applied in user-facing, finished applications as a means to interact.
In Swirrl, we will provide the means to store, edit, share, analyze, describe, discuss, graph and report on data. However, data needs a context if you want to understand it. We aim to let people enter information in a simple natural way, while using contextual clues (in the form of descriptive text, comments, links, structure and labeling) to create explicit semantics behind the scenes.
There is already a language for querying RDF (a core technology used in Swirrl) in the form of SPARQL . However, we don’t expect our users to understand or care about the semantic web, RDF or ontologies. We currently already have a means for searching the data in a familiar Google-style way (Google search syntax is incidentally a DSL itself – the domain being ‘search’), but we are working on a way for the user to create more powerful, advanced queries.
This is where a DSL comes in. We think our users will often be experts of their own domain, whatever that may be. The challenge is to create a means for them to delve into their information in a way which makes sense, and seems familiar to them. Whether this takes the form of some kind of graphical tool, or some kind of query language in which the users would feel confident remains to be seen.
Now, a general purpose language such as Java, C# or Ruby is not a DSL (although Ruby comes closest), but there is a some grey area between what is seen as a DSL, and what is just a collection of UI-widgets strung together. Jay mentioned that when you ask a domain expert to explain something, they talk in plain English i.e. “I want x if this is greater than that”, rather than talk about things in GUI terms and dragging items around. He argued that writing things in English is much more natural and more expressive.
The problem is that some people do think better diagrammatically or visually, and that a blank text box with a blinking cursor expecting input can be intimidating, especially to non-technical users. So, if the text-driven route is taken, the experience of entering a query or statement needs to be made as friendly as possible, through measures such as autocomplete, intellisense, syntax highlighting and quick feedback on validity etc.
I'm Richard Roberts, a developer in the UK working with Ruby on Rails. I'm a founder of: 
