Skip to content

Career Development for Software Developers – Apprenticeship Patterns by Adewale Oshineye

2010 October 5

Apprenticeship Patterns - Dave Hoover and Adewale OshineyeAdewale Oshineye – Ade to his friends – is a Google engineer, photographer, and O’Reilly author. In October 2009, Ade and co-author Dave Hoover published Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. Apprenticeship Patterns was the culmination of over thirty conversations they had with their counterparts in the Software Apprenticeship movement. One of the remarkable things about the book is that, by the time it was complete, Dave and Ade – who live on separate continents – had met just 4 times.

Ade kindly spoke to me at Google’s offices in Victoria, London about how the book came about and who it’s for.

Career Development for Software Developers – Apprenticeship Patterns by Adewale Oshineye from oreillygmt on Vimeo.

Create Art and Learn to Code with Processing

2010 September 29
SketchPatch - Anenomes

sketchPatchDavide Della Casa is one of four developers who have created sketchPatch, a Processing learning environment where developers can experiment with code in order to create dynamic art sketches, or indeed can create dynamic art sketches in order to experiment with code. I asked Davide how sketchPatch came about, who it is aimed at and why they chose Processing.

Davide recently spoke about sketchPatch at Ignite London 3.

 

What is sketchPatch?
SketchPatch is an online programming site where people create original Processing sketches, or hack other people’s sketches with ease, share and collaborate on a program. All of this directly from their browsers. It is a place where we hope people can put work and watch it grow… hence the name, sketch patch!
We launched sketchPatch a year ago, we run workshops and school activities with it, we’ve exhibited it in the Open Source Embroidery exhibition in Sweden, in the MOCSA museum in San Francisco, more recently in the Watermans gallery here in London as part of Unleashed Devices, curated by TINT and Watermans Gallery. Also we’ve been in the London Digital Design Festival at the V&A Museum, 25th and 26th September.
Considering it’s been one year, we are really quite pleased with the airtime it’s been given. Keep an eye on our blog for future activities!

sketchPatch - Anenomes - Code
sketchPatch - Anenomes snapshot

Top - the sketchPatch coding environment. Below - a snapshot of the code in action.

Where did the idea for sketchPatch come from?
The seed of the idea really came from a mashup of two memes that have been around for some time: a) the idea that one doesn’t need to be a professional programmer to enjoy sketching simple programs (or “sketches”) and b) that whatever activity we are doing on the computer offline, we can do it directly on a web page and enable immediate collaboration and sharing.

Who is sketchPatch aimed at?
SketchPatch is aimed at existing Processing programmers, and also at newbies and potentially at illustrators and graphic designers who want to try a new way to generate graphics.

Who has created sketchPatch? What are your backgrounds? Where are you based?
Sophie McDonald and myself started implementing the idea a couple of years ago. Jonny Stutters contributed immensely, and Tim Ryan‘s “processing.as” engine really made it all possible. So it’s four of us, with different backgrounds. Sophie is a video artist and tinkerer and tutor, she is co-founder of the women’s art and technology networking and education initiative MzTEK.org, Jonny works in medical research and is a digital sound artist and active member of OpenLab, Tim is a computer scientist
already with an impressive array of projects out there, while I work mostly in IT corporate projects. And this is not counting the authors of other supporting libraries and widgets that sketchPatch relies on. We are based in London, and Tim is in the Boston area (Massachusetts).

Why develop sketchPatch?
Well two reasons, we thought it would be great to create and hack sketches directly online, and also we wanted to implement our ideas and see what the result would be, who would use the site, and what would amazing creations would people come up with.
Sophie is a newbie programmer, also interested in new methods of education. From this perspective we wanted to develop something that bridged a shared learning environment that was accessible and friendly to use. We did see similar initiatives and sites based around other languages, but at the time of inception nothing was there for Processing, so we went on to fill the gap.

Davide Della Casa

Davide Della Casa

Of all the programming languages on the planet, why Processing?
SketchPatch wants to be an easy-to-use creative platform for artists, designers, hobbyists, and Processing was the obvious choice as it had been designed also with these things in mind and was the programming language of choice for artists. It is also open source, and this is was important to us from the perspective of sketchPatch as a learning environment. If people became familiar with Processing on sketchPatch, it is easy and accessible to move onto the Processing platform, and would not be limited to one platform.
So really Processing hits the sweet spot in terms of reach, language/IDE accessibility and creative capabilities. Plus there are three main solutions (and some variations) that enabled the type of online programming that we had in mind. There are alternatives to sketchPatch based on other languages, but really Processing made the most sense to us.

What other online programming learning tools do you admire? Why is sketchPatch different?

Sophie McDonald

Sophie McDonald

I believe the seminal work was the “Design by numbers” online applet by John Maeda and the MIT media lab, which offered a way to play with code and produce graphics, so a huge credit goes to that work. The next wave were the “Try Ruby!”, “Try Haskell!” and “Try Python!” interactive websites, were you can try those languages directly in your browser. That’s genius. The internet has turned us into instant non-committal learners, and learning a language without even having to download a development environment is absolutely great.
Another important site is wonderfl.net which, together with its JavaScript version, is the alpha dog of online programming in terms of participation and volume of production.
In the Processing arena, a great tribute goes HasCanvas by Robert O’Rourke, which went live a few months before sketchPatch. To our knowledge, he created the first Processing online playground. After HasCanvas and sketchPatch (chronologically), Robert also contributed to the latest http://sketch.processing.org, which resides on the official processing site.

Tim Ryan

Tim Ryan

Another more recent project is called “Studio sketchPad” by Ari Bader-Natal and allows concurrent editing by multiple programmer, a very interesting direction. Also Scratch recently has launched a completely “online” version.
SketchPatch is a mix of some of these elements, it’s based on Processing (like HasCanvas), but we think sketchPatch is more focused on accessibility and enabling immediate find/copy/modify/sharing, together with a way to look at the evolution history of the sketch (similar to Wonderfl).
But really there are many many other sites that inspired us, we have a list on our “similar sites” page in the community area.

Is sketchPatch Art or is it programming?
sketchPatch as a project is an artistic endeavour to explore the process of experimentation through play, and of code evolution through social collaboration. The deliberate implementation of the ‘Parent’ link for sketches that have been copied is a way to track that.

Jonny Stutters

Jonny Stutters

As for the content, we’ll let the community decide. So far there are a couple of scientific/programming sketches, like the “bifurcation diagram of the logistic equation” (http://www.sketchpatch.net/view/XADRhjvwQn8/) and a few cellular automata (like http://www.sketchpatch.net/view/bZbtrorNIH0/). Other than that, there seem to be mostly graphic experiments, many of them have interesting deepness to them like “canon by translations” (http://www.sketchpatch.net/view/1H3Qvo07LB3/).

What plans do you have for sketchPatch?
We are very happy with how sketchPatch worked out for learning and random artistic expression so far. From a technical point of view we think we should a) continue to improve the processing emulation b) push all the code open source and c) make some future-proof changes to the processing interpreter. Apart from the technical aspects, it’s a great platform that lends itself to so many activities that we’d like to explore. Think for example of live coding or featured events a-la layer tennis. But in order to do that we’d like to expand our core team. SketchPatch needs to grow its talent pool and bring onboard more inspiration. We hope that by releasing the entirety of sketchPatch open source will get more people interested in participating.
We have two major site areas going live the coming month, a tutorial, a profile page, a renewed gallery and one feature we are secretive about that we think it’s going to be very cool.

What have you learned from its use? What has surprised you?
People prefer to create their own sketches rather than modifying other people’s. Every two months we feature an artist to build “featured sketches” for us: none of the artists has built on top of other people’s sketches, they’ve all come out with original sketches. Which is great, but maybe highlights the conundrum that creative people mostly like to create something *from nothing*. The “decode” logo hacking scene worked very well, but that one had a direction and narrower scope, open-ended freedom to change the work of others seems to be more difficult to embrace, maybe it’s too dispersive.
The complete opposite is true for learning and workshops. We run workshops (called “sketchTag”) where sketches are passed in turns around a circle of participant programmers, so no-one owns any specific sketch, rather everyone owns a piece of every sketch: we are very surprised how well that works. It gives participants a sense of responsibility in passing a working sketch to the next person, and at the same time they enjoy a healthy detachment from the sketch, they are less sensitive about mistakes or paralysed by questions on its final design, purpose or end.

sketchPatch would make an excellent iPhone/Android app – any plans to port it to a mobile platform?
SketchPatch’s sketches play, albeit slowly, on Safari Mobile (editing doesn’t work yet), and we believe they play on the Android browser too. We’ll work on making the code creation and editing part to work on mobile devices soon (just like http://code.google.com/p/pjs4ipad/ does). A lot could be done beyond that, such as native applications (bare some restrictions on the App store). No shortage of possibilities, but we’ll have to focus somewhere, maybe native mobile devices support will come when mature native Processing implementations will become more widespread.

How is sketchPatch funded? Is it intended to be a moneymaking venture? If so, what is your business model?
We have almost no running costs for sketchPatch, we develop it in our spare time out of sheer passion for delivering something beautiful that people could find useful. So we don’t have a pressing need to make money out of it yet. That said, we get the occasional commission to run workshops that make use of sketchPatch features (zero-installation, zero-configuration, instant-sharing and editing). For example we did workshops to 7 and 8 grade students of the City of London Academy in Islington. It worked very well, so we’d definitely like to do more of that with schools, universities and other interested organisations.

Data Control Made Easy With FluidDB

2010 September 17

fluidDBFluidDB is an openly writable shared database, designed by Australian Terry Jones and his team as a platform for the Web of Things. FluidDB has Esther Dyson and Tim O’Reilly on their Board of Advisors, which is an indicator of the belief in FluidDB’s potential for linking and organising data across the Internet.

We asked this former Circus Ringmaster how FluidDB came about, how FluidDB balances privacy and openness and whether musicians make good programmers.

 
What inspired you to create FluidDB?
Frustration with how awkward it is to work with information using computers, and the great contrast between that awkwardness and the flexibilities we enjoy in the non-computational world. In the natural world we’re constantly doing all sorts of idiosyncratic, ad hoc, unanticipated things with information, we’re always writing (perhaps in some abstract sense – using our brains), and we don’t stop to ask permission in order to add new information. When we use computers however, the situation is usually completely the opposite. I think we’ve all grown up in this awkward computational environment and so we don’t really see it as a problem. But these things bug the hell out of me. For example, if I use an application to store some data on my behalf, why do I lose control over that data? Why can’t I add to it arbitrarily, delete it, share it, search on it in ways the application didn’t anticipate? Why, when I bump into someone else’s data do I need to ask permission to contribute to it? In the natural world if I want to add my own thoughts to a concept, I can do so without asking permission. I can put post-it notes containing arbitrary information on things, typically without asking permission. Why can’t I do the equivalent when I encounter an object (a file, a web page, anything) in the computational world?

How long did it take you to create this version?
We worked on this version for about 18 months before releasing it. We released as soon as we possibly could. There’s still a lot to be done and we’re improving FluidDB every day. It’s still an alpha. By the standards of modern start-ups, it’s taken an eternity to get this far with FluidDB. But if you consider something like Amazon S3, which has much simpler semantics, it took Amazon years to build and launch. We were just two people.

NoSQL seems to be the trend with CouchDB, MongoDB and many more. What makes people move away from SQL to NoSQL?
There are many reasons (not all of them sound). Some of the simpler attractions are that the NoSQL solutions may seem simpler to deploy (or need no deployment at all), they may be running in the clouds (easy to deploy more machines), there’s certainly an irrational me-too element in which developers follow the latest shiny thing. There are also much more nuanced reasons people might move. For example their needs may not require anything like the full machinery of SQL, or their data model (e.g., a graph – see http://neo4j.org for example) and access needs may not fit particularly well with row-based storage. People might be fed up with some of the real difficulties with SQL, such as the pain involved in altering large tables (compare ALTER TABLE ADD COLUMN with how trivial it is to add a column to a column store. See e.g. http://twitter.com/jzawodn/status/1926136876) Some people run into trouble having tables that are too large and would like to partition / store them in ways that might be simpler with a NoSQL approach. There are companies offering hybrid approaches: column stores with SQL (see http://voltdb.com). There are people whose needs are very different, perhaps according to data value (compare a bank with Twitter), perhaps according to different CAP needs, perhaps according to volume, expected patterns of application access (read/write balance), or transactional needs. Perhaps according to market focus / customer base (e.g., compare data warehousing or OLTP needs with Foursquare’s needs).
There are no simple answers here. As with almost everything in computer science, every decision involves tradeoffs. There’s also a lot of misunderstanding, misinformation, uninformed opinions, and, unfortunately, what seems to be a certain amount of deliberate FUD.
BTW, we try to stay out of the SQL/NoSQL debate. FluidDB stores data into Postgres and S3, it doesn’t implement a storage layer itself. While FluidDB doesn’t support SQL as a query language, we use SQL to talk to Postgres. As outlined above, there are dozens of tradeoffs in these kinds of decisions.
It’s overly simplistic to divide the world in to SQL and NoSQL. Because of that we don’t see much value in participating in a debate at that level, or in being on either “side”.

Why should one select FluidDB instead of CouchDB, MongoDB or any other
You could select one of those technologies based on your particular needs. BTW, CouchDB and MongoDB both have excellent reputations “on the street” amongst developers. Whether you should use one or the other, or something else entirely, depends on your particular needs.

Terry Jones - photograph taken by Esther Dyson

Terry Jones - photograph taken by Esther Dyson

Some FluidDB applications are already available. What else is in the pipeline
In terms of applications, we haven’t really begun to encourage people to build serious apps yet. We’ll start to do that in earnest around the end of the year. In the meantime, we’re concentrating on simplifying and speeding up FluidDB and on some API enhancements that will result in far fewer network calls for typical applications. We expecting to release some small browser extensions by the end of the year, and we also have a much more serious application that we’ve been slowly planning for some months, but I can’t go into detail! :-)

Looking through your team members’ bios, I cannot help but wonder if being an artist is a requirement for using FluidDB.
Being a musician seems to help. Actually it’s well known that many programmers have strong musical skills. Maybe that’s a coincidence, maybe it’s an imagined tendency, or maybe there actually is a neural basis for such a correlation. It’s nice to imagine that programmers may have some kind of redeeming social value :-) I’ve not seen any studies on it.

How do you compare the human method of organizing information to the methods of our existing computer systems?
There are many differences. Humans often have multiple organizations of the same information (think of music software, such as iTunes, which allows you to have multiple playlists over the same underlying objects). We don’t organize things or not organize them – some things may be highly organized and others only loosely so. My (logical) organizations of things don’t interfere with yours, and I can keep them private or share them. We can to some extent combine organizations – what are things you consider to be important compared to the things I consider important? And if you think about it, the act of naming something is an organizational act – humans find it very useful to give things many names (surnames, first names, nick names, names in different human languages), etc. All those names can happily co-exist. Computer systems tend to insist that things are named, and operate on the basis that things have just one name. Note that in this last point I am not necessarily claiming that we need to be able to have multiple names for things (though there are clear cases where it is an advantage), but rather highlighting a big difference. Modern OSes offer some mechanisms for adding names to things, such as symbolic links, but these are a bit of a hacked afterthought.

Is the data on FluidDB available to any user without exception, or is there a way to make it partially private? If so, how secure is it?
FluidDB Namespaces and tags have permissions, so you could have a josette/opinion tag and make it completely private, or give read (or write or delete) access to certain others. So while FluidDB objects don’t have permissions, which guarantees that anyone can add to any object – without stopping to ask permission and without their needs having to be anticipated – namespaces and tags give strong permission. We think it’s very secure.
Because the FluidDB API and permissions system are both very simple, there’s not much scope for ambiguity or confusion about whether one has permission to take an action. Permissions are also well tested by our test suite.
See:
http://doc.fluidinfo.com/fluidDB/permissions.html

Your website states: “Privacy and ownership are important so FluidDB has a unique yet powerful model of control” but also that “Discovering and enhancing knowledge is vital. FluidDB makes it easy to share, annotate, augment and re-use information”. Are these two statements contradictory
No, not at all. They probably would be in a more traditional storage system. But FluidDB has the powerful combination of openness at the object level (anyone can *add* data to any object) and tight control at the tag level. Several articles have been written about the advantages of this system.
See:
http://ntoll.org/article/fluiddb-is-not-couchdb
http://abouttag.blogspot.com/2009/09/permissions-worth-getting-excited-about.html

Which kinds of Data wouldn’t you put on FluidDB?
I wouldn’t look at it like that. FluidDB can safely store and retrieve any kind of data (we use Postgres and S3, both of which – network permitting – are fairly bulletproof). I’d ask instead: what kinds of applications shouldn’t use FluidDB? Two clear categories are those with data which need to be always consistent (we do not guarantee consistency – that’s our choice of the missing CAP element, and because we use S3 for some storage it’s an inherent limitation), and those with data which fits the relational model well and which you want to process using the power of SQL. The FluidDB query language is deliberately very simple, so complex processing that might be done in SQL on a server will need to be done locally.

Considering the EU privacy laws, do you see any future problems with your database
If we are successful, I’m sure we’ll have our fair share of privacy and legal issues regarding data. Fluidinfo is a US corporation, so we also have to concern ourselves with US law. One strong hope is that the legal climate regarding data storage will not be changed to make those storing data responsible for policing its content. That’s an impossible and unwinnable task, especially given modern cryptography.

FluidDB is free in its alpha stage but will then move to a freemium pricing model. Could you please elaborate?
We’ve not spent much time thinking about pricing models, but one overall goal is not to be charging individual developers, but to instead be charging companies who are using FluidDB in a commercial capacity. There are a variety of ways for us to do this, though we’re not planning to start rolling them out for at least a year. If (and it is only an if) we do move to a freemium model, you can be sure the upper limit will be generous. One thing for sure, is that it makes no sense at all to reward your early adopter developers by suddenly slapping them with a bill. That’s not going to happen. There shouldn’t be any fear that by building on FluidDB one is setting oneself up for future costs. Grandfathering in early adopters is likely the best way to guarantee this. We have some pretty interesting approaches to making money, and letting others make money, from FluidDB.

Finding funding is always a very difficult experience, what advice would you give to start ups?
First of all, don’t pay much attention to people who have very little experience but who nevertheless extrapolate that into generalized advice for others :-) There are so many types of start-ups, so many kinds of products, markets, and potential funding sources that I don’t think there’s much in the way of succinct context-free advice that can confidently be given. Forced to say something though, I’d recommend that people back themselves (I mean do what *you* believe is necessary, as a product, as a strategy, etc.), only work on stuff you’re passionate about (easier said than done), learn to see rejection as a necessary part of any valuable endeavor, and I’d add that a released product is much more valuable than any number of words (business plans, summaries, pitches, white papers, etc).
See:
http://blogs.fluidinfo.com/fluidDB/2010/05/24/anatomy-of-a-funding/
http://blogs.fluidinfo.com/terry/2008/11/10/passion-and-the-creation-of-highly-non-uniform-value/
http://blogs.fluidinfo.com/terry/2008/11/09/expecting-and-embracing-startup-rejection/

Why Python?
The answer is quite interesting. I wrote a first version of FluidDB in C.
It was very fast, very complicated, and very brittle. I threw it all away in favor of Python because I ran across the Twisted project and knew I wanted to use it. We’re using Python because of Twisted. But we’re also fans of Python – it’s very elegant and clean, and has benefited enormously from a very carefully controlled evolution as a language. I don’t agree with all the decisions, of course (surely no-one does), but on balance it’s a language I really love, and increasingly so.
See:
http://twistedmatrix.com/trac/
http://blogs.fluidinfo.com/terry/2008/06/08/python-looks-great-stays-wet-longer/

I understand that Tim O’Reilly has now joined the advisory board. What is Tim bringing to FluidDB?
Tim has been an enormous help to us over the last couple of years. He brings a wealth of experience in seeing what works and doesn’t – in terms of ideas, startups, and technologies. He brings the kind of forward-looking long term support we need, because FluidDB is not going to change the world overnight. There is a non-trivial overlap in our visions of the future.
He brings an energetic and idealistic outlook, and an insistence that people work on “stuff that matters”, which is something we believe we’re doing. Tim also has contacts all over the world and has been very generous in introducing us to people, including starting the chain of introductions that led to Fluidinfo’s funding last May.

Functional Programming at the Haskell Hackathon

2010 September 14

HaskellLogoHaskell Hackathon Organiser Jasper van den Jeugt tells us about where Haskell came from, the importance of parallel programming, how it compares with Perl and Scala, where Haskell is being used, the benefits of lazy programming languages and why you should attend the Haskell Hackathon in Ghent, Belgium, over the weekend of the 5th-7th November 2010.

 
I am told that Haskell is an old language, I believe it was released in 1990. How do you explain the renewed popularity of this language?
Haskell indeed is an old language, and it has never been a popular language. It even became a sort of unofficial slogan for the language: “avoid success at all costs”.
I think the key feature attracting people to Haskell (and functional languages in general) is that it is relatively easy to write parallel code in Haskell, as opposed to traditional programming languages such as Java or C.

Why is it important to be able to write parallel code?
Modern computers typically have multiple cores. A simple program only runs on a single core — this is fine if it’s a simple task, but if your program gets more complicated, it is desirable to use more than one core, it will run noticeably faster that way.

How did Haskell come to life?
Haskell has a very long history: the first version of Haskell was released in the year I was born: 1990.
It was mostly inspired by the Miranda language. Miranda sparked interest in lazy, functional languages, and soon, these languages were all over the place. A committee was formed and after a lot of hard work, a Haskell specification was
agreed upon.

Why start a new language – if Miranda was so inspirational, why not develop using that?
Miranda was widely used, but the main problem was that it was a closed-source initiative. One of the goals of Haskell is to create an open standard for lazy programming languages.

Where does the name Haskell come from?
Haskell is named after a logician called Haskell Brooks Curry, known for his in the area of combinatory logic. This spawned lambda calculus — lambda calculus is a very low-level functional language: most functional languages are based on lambda calculus in one way or another.

Jasper van der Jeugt

Jasper van der Jeugt

Who uses Haskell and for what purposes?
Haskell is used by academics, but also by the industry. Since Haskell is a general purpose language that allows low-level programming and interfacing with C, but also highly abstract interfaces, it can basically be used everywhere — from kernels to web application servers or desktop applications.
People are using Haskell for a variety of reasons. Because of it’s very strong type system, Haskell applications are generally very unlikely to crash or show unexpected behavior. It is also very easy to create EDSL’s in Haskell: small mini-languages for very specific purposes.

Is there a relationship between Haskell and other languages such as Erlang, Perl etc.?
Most languages are related in some way or another. Haskell has been influenced by Miranda and lisp dialects, and now Haskell is influencing other programming languages.
For example, Scala, a relatively new language closely related to Java, has been heavily influenced by Haskell (especially the type system). Erlang has a totally different type system but is also a functional language, and thus resembles Haskell in some aspects.
Perl, on the other hand, is not very closely related to Haskell, in fact, Perl is more closely related to the more classical, imperative programming languages.
To summarize: Haskell is totally different from imperative and objective-oriented languages, but it does resemble some other functional languages.

Michele Beltrame, a YAPC organizer, told me that “Haskell is a great language as it really makes you a better programmer in any language and make you think on how you write your code.” Why is Haskell such a good teaching language and what is so different in its approach?
I think the reason here is the fact that Haskell is very different from most programming languages: even for an experienced programmer, learning Haskell feels a bit like learning to program for the first time. It forces you to write your code in another way.
For example, you cannot have variables in Haskell: once a value is assigned, it can never change. Neither can you write a loop: you have to use recursion instead. It forces you to think in another way — and this way of thinking can be applied to most programming languages.
Besides that, learning Haskell is fun! There are very good tutorials on the internet, I heavily recommend interested readers to have a look at http//learnyouahaskell.com.

What is a lazy language? And what is the relationship between Haskell and a lazy language?
A lazy language means the language has “lazy execution”. I think I can best illustrate this with a small example.
Say, you have a really complicated formula to calculate X. When you call this formula in a non-lazy (also called strict) language, your processor works for a bit and calculates X, and continues with the rest of the program once X is calculated.
A lazy language, however, works differently. When you call this formula, your program will simply continue without calculating X! It is only when the value of X is really needed, that X will be calculated — for example, when you want to print the value of X. If you don’t use this value anywhere, it will never be calculated at all!
This makes it possible to have, for example, lists with an infinite length in Haskell.

What is Haskell Hackathon?
A Haskell Hackathon is a gathering of the Haskell community. Haskell users from all over the world come together to collaborate and work on new projects, or improve existing libraries. It is also a social event — a great place to meet new, interesting people with similar interest.

When is it?
The 12th Hackathon (“BelHac”) will take place in Ghent, Belgium. It starts on Friday, the 5th of November and ends on the 7th.

Is attendance open to all?
Yes, you do not have to be a Haskell guru to attend — all you need is some interest in Haskell, a willingness to learn, and a project you’re excited to help with (or a project of your own to work on).

What do you hope to achieve there?
To improve the state of Haskell, meet new people and old friends and, of course, have lots of fun!

ON2: Test Signals, 22 – 24 October, Berlin

2010 September 7

The “ON2: Test Signals” festival will bring together software developers and radio practitioners to demonstrate, discuss and develop new ways of applying software to broadcast radio. ON2 will take place from Friday 22 October – Sunday 24 October in Berlin, Germany. There’s still time to propose a workshop or presentation to Sourcefabric, the festival organizers. http://wiki.sourcefabric.org/display/ON2/About

OpenTech 2010 – Interview with Sam Smith

2010 August 18

OpenTechOpenTech is the benchmark of what one-day developer conferences can be:

OpenTech 2010 is an informal, low cost, one-day conference on slightly different approaches to technology, politics and justice. Talks by people who work on things that matter guarantees a day of thoughtful talks leading to conversations with friends.

I think it’s fair to say that, here at O’Reilly in the UK, OpenTech is one of our favourite events in the conference calendar. We have run an O’Reilly book stall at OpenTech every time it has taken place, (there was a hiatus of a couple of years when there wasn’t an OpenTech), and as with all the best tech events, we feel we’re at the heart of something important while we’re there, and that feeling lasts for week and months afterward. It is an event that makes things happen, that inspires committed, talented people to gather around important issues and ideas and eggs them on to make the things which will have a positive benefit to people’s lives.

The next OpenTech takes place on the 11th September 2010 at the ULU, Malet St, London. You can book your ticket online here.

For this interview, Sam Smith was the main correspondent, but he deferred to his colleagues where he felt appropriate.

Lecture on MPs' Expenses

Lecture on MPs

What is OpenTech?

OpenTech is a one-day conference where a few people who do/create things with technology talk about what they’re doing, and more people who do, or want to do, interesting things find out what’s happening and get inspired to go off and follow interests of their own.

It’s held in London, held sometime over the Summer. This year it’s on 11th September and you can register your tickets now at http://ukuug.org/opentech. It’s only a fiver to get in on the day, but you do need to register in advance.

Who organises OpenTech? What other events do they run, and how does OpenTech differ from them?

OpenTech is run under the organisational banner of the UK Unix Users’ Group. This allows the conference organisers to focus on the event, with the organisational

Tom Loosemore models his 'Get Excited and make things' t-shirt

Tom Loosemore models his

membership and infrastructure supporting it. Without UKUUG’s support (and by that, as with all things UKUUG, we mean Jane in the office), OpenTech wouldn’t be anywhere near as well organised as it actually is. As organiser, it’s incredibly reassuring to wake up at 4am, send an email, and wake again at 9:30 to find that you had indeed forgotten to book projectors and that it’s now sorted. Jane is wonderful.

Paul (UKUUG chair): UKUUG runs an annual Spring conference for system and network administrators, with technical talks on subjects ranging from high availability databases and virtualisation to spam prevention and cloud computing. The next conference takes place in March 2011, and the call for papers can be found at: www.ukuug.org/spring2011. We also run a number of tutorials throughout the year, focusing on specific software packages and tools including Perl, Zenoss, Moodle, RT and Advanced DNS.

What does the ‘open’ in OpenTech apply to?

The Open applies to the talks in many different ways. Each talk has a slightly different approach to “open” and we take it many different directions simultaneously.

The name came from Dave Green, and like many things that he does, no one’s entirely sure where it came from, other than it fitted perfectly with what we were wanting to do at the time. Shortly after 2004’s NotCon – a hugely successful event which saw the launch of TheyWorkForYou.com, the people behind that teamed-up with UKUUG for the successor event which became OpenTech 2005. That was a launch event for the Backstage.bbc.co.uk project, the infamous iPod Shuffle Shuffle and one little session called “Where’s the UK’s EFF?”, in which someone in the audience stood up and said “I’d give a fiver a month, who else would?”, Danny started on pledgebank and it went from there. One thing unique about 2005 was that the wifi actually worked…

The OpenTech Bar, Where the Discussion Continues After the Talks End

The OpenTech Bar, Where the Discussion Continues After the Talks End

This year, the main stream opens with Phil Booth from No2ID talking about how he went from showing up to a pub meeting as a blogger against ID cards, to becoming National Co-ordinator, to winning the fight, and also where’s next in the Database State. Emily James is talking about her documentary project on the last year of the climate justice fight. Emma Mulqueeny, Hadley Beeman and others will be talking about what’s needed next after the data’s published, because just publishing the data is not enough.

We’re starting to see the emergence of platforms sitting around this data. CrowdMap.com from ushahdi being the most prominent example, but Hadley’s Project aims to do something similar for generic questions to which someone can easily find the answer (and, by OpenTech, the project will actually have a name that’s not that of it’s founder). The remaining pieces are something to do for images, what iCanHazCheeseburger does for pictures of captions of cats (although HP could easily expand to there given the generic nature of the platform). Once they’re in place, they’ll become integral pieces of infrastructure upon which the next generation of projects can be built, but without which, they can’t even be imagined.

One way of phrasing that potential is, if CrowdMap.com is to geo-related events what iCanHazCheeseburger is to pictures of kittens; what’s the equivalent of 4chan?

[answers in sans-serif block caps over a picture of a kitten should be posted on the board by the bar at OpenTech].

Are the organisers developers? How do you pick the speakers? Will you be speaking yourselves?

David, Emily and Sam (me) are working on a variety of interesting projects of our own, and get interesting projects we either know of, or which get suggested though our public submission process. We aim to run an event made up of sessions of people who work differently or similarly, to see where it goes …

While the organisers don’t usually speak (we’re a touch busy), if we do slip onto the

Tom Steinberg in a Busy Session

Tom Steinberg in a Busy Session

stage, it’ll be to thank all the volunteers, speakers, helpers, attendees, and the many other people that it takes to make OpenTech happen each year. It’s a huge amount of effort, and it’s everyone behind the scenes that make it work.

While only a few of the helpers on the day get the coveted gifts of Paul A. Young fine chocolates (kindly donated by Paul and James), everyone gets the thanks of a grateful audience.

What talks are you personally looking forward to this year?

There are many talks that I look forward to, but the ones that I especially value are those which will get people talking in the bar afterwards, and actually move something forwards. Phil Booth on No2ID’s past and future, and Emily James’ “Just Do It” will hopefully be another (plus, they’re looking for a WordPress theme designer to volunteer a bit in September – email them to help; they also take donations). I’m also expecting some spontaneous activity around one of the data.gov.uk data usage sessions, but that can happen with pretty much anything.

One of the nice things about OpenTech – and which makes it a pain to schedule – is that sometimes what looks to be the most esoteric will actually be the most popular. OpenTech friend Anna says how she looks for the most unusual thing on the schedule and goes to that.

What are your highlights from previous years?

Emily: The all-female panel, though only caught a little bit of it. The random conversations you have with people between sessions. The drawings of the people’s impressions of the internet.

Sam: I’d forgotten about that: http://www.kk.org/internet-mapping/

OpenTech Panel

OpenTech Panel

David: Gosh, there’s been so much! To pick a couple: I thought The Web Is Agreement poster that Paul Downey made for Osmosoft was absolutely delightful, and I cheered when Bill Thompson argued in his “10 Cultures” talk last year that, rather than merely knowing how to format text nicely in a word-processor, we should be teaching school children real computing skills.

Sam: That’s something that’s got so much more prominent in the last few weeks. I suspect it’ll come up again from the audience this year. As I’m not in the sessions, I’m not actually aware of what goes on, until people tell me really excited later that something wonderful happened in X, and I’m like, “That’s great. Erm, hold on a second. What did you just say?”

We also asked on twitter for some people who attend to say why, here are the first two:

Oli: It’s the best geek day out of the year. No company pitches, no social media tossers, and super amazing price.

Shona: I went to Open Tech for the first time last year. I was despairing that I’d never find a fulfilling job where I could save the universe through digital means. But I met

Sir Bonar Neville-Kingdom - Spoof Poster Promoting the ORG Session

Sir Bonar Neville-Kingdom - Spoof Poster Promoting the ORG Session

another girl there who spent hours and hours of her spare time translating complex UK government documents into plain English… which made me see that some of the most important changes might be achieved simply by finding other people who were equally passionate, and tinkering about in your spare time!

Several projects have used OpenTech as a launch pad in previous years. What were they? Can we expect any this year?

So far, no one has told us about pyrotechnics this year, but I’m guessing that wasn’t the type of launchpad you meant (someone has asked previously; we said no). But ask me again about 8pm on 11th September. Until then, anything might happen. And, if some speakers get their way; probably will (but still no pyros).

You use the Tim O’Reilly quote, ‘Work on things that matter’ on the OpenTech website – what does this mean to you?

We think Tim intended the quote as a call to arms to the technical community.

TheyWorkForYou.com plotting in the bar

TheyWorkForYou.com plotting in the bar

OpenTech isn’t just one day of talks, it is a medium to start the conversations about things that you think matter. Whether it’s through inspiring or reinvigorating people to work together on fundamental issues, or find new ways to create solutions, OpenTech exists to catalyse a community of like-minded, technical and passionate people who want to make an impact.

How do you choose OpenTech’s themes each year?

We start from the two core themes of “technology, democracy”, and then have something else as the “third pillar” which varies a bit. That said, last year was focused on “environment”, but it turned out that we have more environmental talks this year than last. Mainly because things are moving more mainstream, environmental issues and sustainability are mostly merged now, and social justice is getting close. At the

Adewale Oshineye Waiting for a Session To Start

Adewale Oshineye Waiting for a Session To Start

end of the day, almost everything the people who speak at OpenTech does has some environmental impact – be it Will Perrin (Kings Cross Local Environment) which talks about engagement of people and quality of life (rather than the hippy green environmentalist style of the word); to linked data for research; to ORG which is spending a lot of time on the justice issues around internet access, disconnection; and across to Apps for Good and the Tactical Tech Collective (who aren’t speaking this year); to Symbian whose phone OS powers a vast amount of can’t afford Android-or-iPhone market. But whatever it is, we take very wide terms of “technology”. This does mean that many of the talks at OpenTech are connected in somewhat fundamental ways, which makes scheduling an exercise in disappointing as few people as little as possible; but that often means “everyone, sometime. Sorry.”

OpenTech has a policy* of not going back to sponsors, and we prefer only a single sponsor per year. Open data has clearly been a “big thing” this year.

We’ll decide the 2011 date in September (we try to announce with a 10+ month lead time). Although if you have up to £4K handy, now’s the time to get in touch (opentech@ukuug.org) about 2011.

OpenTech 2010 is sponsored by data.gov.uk – why is that a good fit for OpenTech?

data.gov.uk has been instrumental in getting the open data agenda in progress throughout Government, and we think this sponsorship is additional evidence of their fundamental belief in helping the developer community and part of their commitment to making this data usable and effective outside of government, with the political will from both the previous Government and the current one.

As more data gets opened, the scope for interactions between multiple datasets is significant, as a network effect starts to develop around both the data and the community.

Open Data is a rising trend – can you give us examples of local and national open data projects?

Projects that spring to mind include OpenlyLocal.com chock full of council data, www.WhereDoesMyMoneyGo.org for government spending, Issy’s wonderful www.GovSpark.org.uk for power usage, or ArmchairAuditor.co.uk for accounts – those all help to illustrate what open government data could be about in a relatively simple way. But it’s also about projects such as TalkAboutLocal.org.uk which focus on hyperlocal blogging, and Matthew’s iconic Live Tube Map. The more infrastructural type service will take more time to be developed or for requirements to evolve to a point where the service becomes obvious to someone who is then able to build it.

But the above list will be out of date in the 3 days it takes us to check this interview for typos. There’s so much going on, so quickly, that I’m impressed with those who keep on top of it. As I write this, the Guardian.co.uk/DataStore project has just published their “we think we’ve got every gov opendata site in our search engine” post, which reminds me a little of Yahoo in 1996. The Altavista/Google’s of that world aren’t yet here, but if one 15-year old working alone for a week can produce this – http://rewiredstate.org/projects/natusearch – it wont be long before the area has moved on quite a long way.

OpenTech is one place where the people working on this spend some time together in the bar and then things happen even faster.

Thanks for Coming

Thanks for Coming

What are you hoping to achieve with OpenTech Friends?

It came out of a discussion at OpenTech a few years ago that while there are many people at OpenTech who can do things with technology, there are also a number of organisations at OpenTech who would benefit from help with projects they are working on. Matching the two up is a relatively difficult task. This is our small attempt to get the people who are at OpenTech to find skills that each other have/need. We’d scale that up, but we’re not entirely sure how.

That’s probably something that’s beyond the OpenTech remit; but OpenTech attendees have started organisations somewhat by accident before…
http://ukuug.org/opentech/friends

OpenTech will be in London on 11th September 2010. It’s only a fiver. You can find out more and should register in advance at http://ukuug.org/opentech

Photos from O’Reilly, OpenTech, Bill Thompson, Chaily, Snowblock & Tony Hall (all: CC-BY-NC-SA)

YAPC::Europe, Pisa 2010 – Write-up

2010 August 12
Perl Camel

YAPC Pisa Italy August 2010Around 300 techies, coming from as far away as Japan, New Zealand, Brazil, met in Pisa for YAPC::Europe for the Renaissance of Perl or was it “C’è piu di un modo per farlo!”.

Who said that Perl is dead? I understand that Booking.com, a sponsor of the event, are looking for an extra 30 Perl programmers to join their team in Amsterdam. Other sponsors included cPanel, Shadowcat Systems Limited, 123people, Venda, Dada and many, many more. It felt that Perl is doing extremely well even though it sometimes gets a bad press.

A long list of speakers including Larry Wall, Dave Cross, Tim Bunce, Matt Trout and many others gave 3 days, 4 tracks’ worth of talks with the latest on Rakudo, Moose, Catalyst, etc.

As Bruno CZekay says in his blog: “In very, very short words – it was awesome! Talks were interesting, venue was comfortable, O’Reilly’s stand was well prepared, schedule was properly tailored, food was nice, people were fantastic, beer was tasty. Weather was good (well, compared to Amsterdam, almost every place provides nice weather) and the tower was leaning.” I feel Bruno forgot to mention that the organisers did a fantastic job – keeping the heavy schedule on time, helping everybody and really looking after us throughout the conference.

perl camelInterested in Perl but could not make it to Pisa, you can now listen to Radio YAPC –

Another interesting fact – only 4 delegates from the first YAPC::Europe in London attended YAPC:Europe in Pisa. Deduction – Perl is attracting new blood.

One more item – YAPC::Europe 2011 will take place in Riga.

Ciao!

YAPC::Europe – Pisa, Italy, August 2010

2010 August 4
by Josette Garcia

YAPC Pisa Italy August 2010Michelle Beltrame writes:

YAPC::Europe (Yet Another Perl Conference, Europe) is the biggest annual Perl conference in Europe.

Since 2000, local Perl user groups organize this non-profit event in different European cities. This time, the Venue Committee of the YAPC Europe Foundation has selected Pisa, Italy, to host the conference.

The Conference provides an international forum for practitioners and researchers from industry, academia and government. It is mainly aimed at Perl users, professionals and hobbyists alike, but also at those who are just starting out in this language and want to learn its characteristics and culture.

YAPC conferences are usually attended by more than 300 developers from all over the world. Approximately 60 speakers offer a multitude of talks to various Perl-related themes in 4 parallel sessions over three days.

During the whole conference there is a constant, intense and often informal exchange of ideas and experience between the attendees. Besides Perl, a lot of general software development topics like software engineering, agile methods, testing, project management, object-oriented programming, UI design and much more are discussed.

At YAPC::Europe 2010 we also plan to host hackathons, which are moderated workshops focused on a specific topic, where experienced users and newbies can get together and share ideas, improve parts of the featured project or step through some project internals.

YAPC::Europe 2010 will take place from 4 to 6 August 2010 at the My One Hotel Pisa Conference Centre.

It’s an event not to be missed!

Ignite London 3 – September 28th 2010

2010 August 3

Ignite London 3After the success of Ignite Londons 1 and 2, we are pleased to announce the imminent arrival of Ignite London 3. It’s taking place on the evening of the 28th September 2010 at the Luminaire in Kilburn. Guest speaker is the pioneering Steve Bowbrick.

We’re open for speakers, so if you have a geeky topic you want to talk about, drop us a line with a brief description and a biographical note to speakers at ignitelondon dot net. You’ll recall the format is 5 minutes, with 20 slides that auto-change every 15 seconds – those who ignore the format have been known to be booed! By me!

We’re also open to sponsors – if you want to get your company name out to a bright, engaged audience, Ignite London is the place to invest your hard-earned marketing budget.

Check ignitelondon.net for details of when tickets will be available. They go pretty quickly, so you’ll need to be on your toes if you want to attend.

Nicholas Tollervey on Code Dojo

2010 August 2

Nicholas Tollervey did a fantastic talk about Code Dojo at EuroPython. Josette asked Nicholas to tell us more about London Python Code Dojo:

What prompted Code Dojo?

Jonathan Hartley_ @ntoll on London Python Code Dojo

Jonathan Hartley_ @ntoll on London Python Code Dojo

A group of us got talking in the pub about how best to train to be a good developer. Jonathan Hartley described a dojo that Emily Bache ran at Europython 2009 and I talked about my training as a musician and work as a teacher prior to becoming a developer. The upshot was the very first dojo.

We originally used the information found at the http://codingdojo.org site but have since “forked” the concept and evolved it into something that suits our group.

Is it a model that any other group could take up?

It’s a model any other language based user group could use. It’s a great way to create focus in a meeting – too often I’ve been to user groups that have ended up being a bunch of geeks chatting over a beer or yet another round of lightning talks about pet projects. Each dojo is different so I’ve found people keep coming back for more. It’s also a great way to help introduce newbies to a community in a safe and un-intimidating way.

Seyi Ogunyemi on London Python Code Dojo

What advice can you give to other groups?

Concentrate, organise and don’t worry if things go wrong. Blindly following the dojo “recipe” won’t be helpful. It’s important to understand what is going on and, if necessary, change things to make the dojo work.

I’d add that any “learning activity” (like a dojo) should have a positive and evident change on those taking part. By “positive” I mean the attendee feels good about what they’ve been up to (it was useful, fun, enlightening in some way), by “evident” I mean they can demonstrate what they’ve learned (i.e. they’ve payed attention and incorporated stuff into their own practice as a developer) and by “change” I mean they’ve improved after having attended the dojo. Getting all these elements right takes time, experimentation and lots of mistakes (and is itself a useful learning exercise for those taking part).

Finally, make it fun… it’s hard to learn anything when bored, miserable or grumpy (I’m sure *everyone* can think of lessons at school that prove this point).

What longer term benefits did you see in your group?

I hope those of us who attend regularly have seen improvements in their practice as developers.

kumbunterland on London Python Code Dojo

kumbunterland on London Python Code Dojo

In addition to the educational benefits, running a dojo is a great means of light-weight community building and it’s great to put online-names to real-life faces. Some people have found work for each other through the dojo and others have collaborated on open-source projects together.

Do you know any other groups using this Code Dojo template? You might want to give us a few names throughout Europe, Middle East and Africa.

Emily Bache runs coding dojos all over the place. The original codingdojo.org website has a list of others. I know of or have attended Clojure, Scala and Ruby dojos in London.

Coding Dojo - photo courtesy of Nicholas Tollervey

Coding Dojo - photo courtesy of Nicholas Tollervey