Entrepreneurial Geekiness

Ian is a London-based independent Chief Data Scientist who coaches teams, teaches and creates data products. More about Ian here.
Entrepreneurial Geekiness
Ian is a London-based independent Chief Data Scientist who coaches teams, teaches and creates data products.
Coaching
Training
Jobs
Products
Consulting

StartupChile (Round 2.1) all finished, thoughts

The odd thing is that I’ve been trying to write this post for 3 months. Having started and stopped several times (including during the flight back from Chile on Oct 15th) I figure I ought to put something out. The journey was, it turns out, somewhat of a roller-coaster ride.

Early in January Kyran Dale and I flew to Santiago for Round 2.1 of StartupChile to build StrongSteam, a cloud-based computer vision API. Emily (my fiancée) also won funding and came out to build TinyEars. Sadly StrongSteam didn’t make it (my co-founder and I went in different directions, it was easier to end the project).

The goal of the StartupChile project is to bring working entrepreneurs in from around the world to teach Chileans how to build start-ups. Teaching includes running events, building partnerships, explaining lessons-learnt in prior experiences and explaining that failure/experimentation is a part of the process. In return we stay for 6 months, get a $40k reimbursement package (90% of our expenses up to $40k USD are reimbursed via a slightly torturous bureaucratic process) and are free to leave at the end. We never have to register our business our there, give up shares or pay tax on foreign earnings.

During the last 8 months I:

  • ran a pair of Python programming courses (material open-sourced)
  • started private self-mentorship groups (now an official part of the StartupChile programme)
  • built a novel AI backend with Kyran for using Optical Character Recognition to replace the need for QR codes (which is now OpenPlants)
  • won ‘best choice for investment‘ on the Jason Calacanis show This Week in Startups (ha!)
  • played with Kinects and Python for rock-sizing with computer vision for the Chilean mining industry
  • organised some data meetups
  • spoke on agile lessons-learnt
  • presented to VCs and Angel groups (and got offered $500k investment lumps in both San Francisco and Chile)
  • received acquisition offers from companies in San Francisco and Chile
  • presented at conferences like PyCon and got mentions in places like the BBC
  • wrote up demo day meets
  • finished the programme by moving with Emily to San Francisco for 2 months to continue our networking

The main upsides of the programme are:

  • time to build your idea without the need to work/consult to pay the bills (your living expenses are covered)
  • lovely group of proactive people to meet from both around the world and locally
  • supportive (if overworked) staff members who do their best to help
  • lovely people in Chile in general (warm, friendly, interested, those building companies are particularly open and friendly)
  • increasing recognition in the investment/startup community which opens doors (e.g. The Economist and others covered it recently) – a few months ago StartupChile held its first Demo Day in San Francisco to ease fund-raising
  • easy access to North America if you’re coming in from outside the US (I used it as a springboard in our final two months to head to San Francisco to continue the networking)
  • you’re encouraged to travel within Chile to teach other groups, you also have easy access to places like Argentina and Uruguay if you fancy traveling (we certainly did) and can justify it as work-related
  • other related spaces like the Santiago Hackerspace and new co-work venues are popping up

The main goal of the programme definitely seems to be working for the Chileans. In our time in Chile we saw many Chileans step forwards with either young working companies or ideas (some high-tech, many not), who then got on with building, partnering and growing their businesses. The company registration process is being massively simplified, failure is becoming more acceptable (generally it is not socially acceptable to fail – much the case in the UK only 20 years ago – and thankfully that attitude is changing in Chile).

More Chileans are traveling around the world, more doors are being opened in cities like San Francisco and more money, connections and opportunities are flowing back into Chile. Being part of a government’s experiment to change their citizens’ attitude to risk (and seeing it work) has been a very rewarding experience.

On a personal level I’ve also made some lovely contacts – people I’d work with who I consider friends who I’d never have met otherwise. I suspect that the “StartupChile Mafia” (ex-StartupChile folk) will open doors for all of us in the programme in the future too. I’ve met a few ex-StartupChile folk here in London (one by accident in the pub last week – hi Michael!) and I’m wondering if we can run a Mafia meetup before Christmas.

There are several downsides to Chile which should be considered by future applicants:

  • there’s a reason we’re paid to be entrepreneurs in Chile – the ecosystem is lacking certain things and maybe you’d not setup shop there otherwise. Make sure your eyes are open to the very young/conservative investment scene, the small tech community and the conservative nature of businesses (bureaucracy and caution->long time to get things done)
  • things that worked elsewhere in the world a few years ago will probably be successful now in Chile (e.g. people building online food services and education sites were doing well, persons trying to offer novel AI/data applications and things requiring iPads had a, well, harder time of it) so don’t assume your cutting edge idea from California will move quickly in Chile
  • the air in winter is polluted and horrid (bad news if e.g. you have asthma) but lovely in summer
  • the programme’s goals are focused on making Chile successful (and not you, per se, but that’s a nice side-effect for StartupChile if it occurs)
  • most people only speak the Chilean-variant of Spanish called Chileno (StartupChile participants and staff all speak some level of English) – this can make buying things in the street a bit of a challenge – try to learn some Spanish before you come
  • there was little explanation about the interests & needs of companies within Chile – for example it took me months to learn just how large and hungry the mining industry is for innovative solutions (and it is a rich industry)

I spoke with Mitch Altman (a founder of the San Franciscan hackerspace Noisebridge) recently and, paraphrased, he pointed out that in most places in the world (he travels a lot to promote hackerspaces) if you open the door to encourage experiments, accept failure and encourage small business and knowledge sharing then It Just Tends To Happen. I suspect that this model can be applied around the world, without big Government funding, and I expect to see many more countries try this bottom-up approach of bringing entrepreneurs in (rather than building expensive ‘innovation clusters’ that rarely seem to perform).

There are other positive and negative write-ups about the programme including Emily‘s, Liis Peetermanns‘s, another, Nathan Lustig, Maptia (lovely British team!). My posts here are under the startup-chile tag.

If you’re interested in building your business in South America then this is the go-to programme. If you need 6 months time in an interesting country with an increasing investor scene, this is not a bad choice. If you want mentorship and hands-on help or you want to deal with the large corporates that you might find in London, New York or Frankfurt then Chile hasn’t proven itself here yet (though it may, given time). What’s impressed me most about the programme is the way it keeps on improving – keep an eye on it, definitely consider it! Seek a wide set of opinions if you want to apply, lots of people experience the programme differently.

Emily and I have discussed what we’d like to see in future StartupChile-like programmes (I suspect we’ll see more, with further innovation, as Governments wake up to the positive change that can occur):

  • invite academics and industrialists to a country to work on a specific problem for a fixed time period without heavy-handed IP controls but funded like StartupChile – this could be a wonderful way to foster innovation and collaboration and to build new IP that could be exploited (perhaps with a share in the IP being owned by all in these projects)
  • setup targets for sector improvement in a country – e.g. in Chile perhaps choose to make mining more energy efficient – then invite companies to come with industrial doors opened and primed for collaboration (so many StartupChile companies could have formed local partnerships if only doors had been opened so the incumbents knew we were coming!)
  • list the problems that entrepreneurs could solve and make it public – actively seek entrepreneurs to visit to try to fix things (e.g. in Chile the winter pollution must be fixable, education is super-expensive [which led to student protests] and surely can be improved, the mining industry suffers from growing energy and mine-discovery costs)
  • encourage an alumni group so past members can easily help future members (something that’s been long discussed in StartupChile but seems to be low on the agenda)
  • work harder to jump language & cultural barriers – in Chile we were told everyone on the programme would speak English but the locals notably didn’t so the very people we were trying to help were hard to communicate with – add language & cultural lessons to a programme to ease the transition for both sides

As of now I’m back to my AI consulting for natural language processing (working with the lovely team at AdaptiveLab in Shoreditch), tinkering on the side with industrial needs learned via StrongSteam in annotate.io. If you’re ex-StartupChile and you’d be interested in meeting in London, drop me a line.


Ian is a Chief Interim Data Scientist via his Mor Consulting. Sign-up for Data Science tutorials in London and to hear about his data science thoughts and jobs. He lives in London, is walked by his high energy Springer Spaniel and is a consumer of fine coffees.
Read More

aMaking “from lxml import etree” work with virtualenv (Python)

Update – these steps are overly complicated and *unnecessary*! See fizyk and Marius’ comments below. I’ll leave this post just in case it helps anyone – hopefully anyone coming here will realise it isn’t hard (now) to install lxml, as long as the OS dependencies are installed

I use virtualenv for all development. Recently I was stumped with the need for the lxml module – installing it using virtualenv on Linux requires a bit of work.

Let’s see the problem first:

$ virtualenv testlibxml
 New python executable in testlibxml/bin/python
 Installing distribute.............................................................................................................................................................................................done.
 Installing pip...............done.
.../virtualenvs/testlibxml $ source bin/activate
$ pip install lxml
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/ian/workspace/virtualenvs/testlibxml/build/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o
In file included from src/lxml/lxml.etree.c:254:0:
/home/ian/workspace/virtualenvs/testlibxml/build/lxml/src/lxml/includes/etree_defs.h:9:31: fatal error: libxml/xmlversion.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1

Following these instructions and noting to follow the instructions for *both* libxml2 and libxml (further below) I run (using this change for my local path):

./configure --with-python=/home/ian/workspace/virtualenvs/testlibxml/bin/python

And now we can start python and import libxml2

(testlibxml)ian@ian-Latitude-E6420 ~/workspace/virtualenvs/testlibxml $ python
 Python 2.7.3 (default, Aug  1 2012, 05:14:39)
 [GCC 4.6.3] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import libxml2 # works

Ian is a Chief Interim Data Scientist via his Mor Consulting. Sign-up for Data Science tutorials in London and to hear about his data science thoughts and jobs. He lives in London, is walked by his high energy Springer Spaniel and is a consumer of fine coffees.
Read More

EuroSciPy Parallel Python tutorial now online

I taught Parallel Python at EuroSciPy 2012 last week in Brussels, I’ve uploaded all the necessary stuff. In the talk we covered:

  • multiprocessing (built in)
  • parallelpython (an easy shift from multiprocessing to do mult-machine and -core processing)
  • gearman (cross-platform job server for heterogeneous job processing)
  • picloud.com (was python only, now any infrastructure cloud-based processing using EC2)
  • ipython cluster (for easy parallelisation with ipython)

Here’s my github repo with the powerpoint and python source, the README outlines the install requirements. I used python 2.7 on Ubuntu but it should run on any platform. This is related to my PyCon 2012 High Performance Python tutorial. Here’s my class of 70, taught by a bleary-eyed me as I’d just flown from San Francisco (9 hours time difference ugh!):

I’m thinking of writing an updated High Performance+Parallel Python guide (probably as a self-published book), if you’re interested in hearing about it please join the High Performance Python Mailing List (I’ve only got a list right now). I’ll make an announce once I know more.

We had I think 190 folk at the tutorials and 170 for the conference over the weekend (along with a discussion about whether weekend conferences hurt attendance…). 25% of the attendees were small companies (my tweet) and I was jolly pleased to attend my first sprint, which I promptly ignored, such that I could hack a change to Fabian’s new memory_profiler such that you don’t have to use a decorator to choose the function to profile (which, um, I must submit back in the next few days).

I also gave a 3 minute lightning talk on my experiences building (and ending) StrongSteam via StartupChile. The point I forgot to make (dang just 3 minutes!) is that whilst StartupChile will be on various government radars around the world, I doubt it’d be on related radars for governments looking to build a similar programme that includes open research (hopefully also coupled with entrepreneurship). As and when a government/institution suggests inviting researchers to their country to collaborate on large, ground breaking research problems requiring much collaboration, perhaps with business opportunities, I hope they look to StartupChile as a template for successfully inviting 1000s of folk under a simple grant systems to a foreign country.

As noted in my slides I’m also looking for new work opportunities around Big Data/Natural Language Processing/High Performance Computing – take a look at my work site and please drop me an email.

As usual we had a big social, organised by Ludovic Gasc of AFPyro. Here are my mussels nestled in their bed with snails wrapped in warm cheese blankets (fine food!):

I also got introduced to the fine Free Beer, modelled by Didrik of Enthought:


Ian is a Chief Interim Data Scientist via his Mor Consulting. Sign-up for Data Science tutorials in London and to hear about his data science thoughts and jobs. He lives in London, is walked by his high energy Springer Spaniel and is a consumer of fine coffees.
Read More

EuroSciPy2012 Parallel Python tutorial requirements now online

My EuroSciPy 2012 Parallel Python tutorial requirements are online in this github repo. If you’re coming to my tutorial next Thursday please make sure everything is installed beforehand. The repo includes the slides (not quite yet finished) and a ‘solutions/’ directory which you shouldn’t peek at (that’s there in case we run behind in the tutorial). In the course we’ll cover:

  • multiprocessing
  • parallelpython
  • gearman
  • picloud
  • ipython cluster

This course builds on the Mandelbrot example from my previous High Performance Python course. As noted at the end of the slides I’m probably looking for some long-running consultancy work around Parallel Python/High Performance Python work around London (or maybe Euro/US areas) as the start-up I took to StartupChile didn’t work out. I’m in California at present, returning to London to stay in October.

Also – I’m thinking of writing an updated High Performance+Parallel Python guide (probably as a self-published book) that builds on my original 55 page High Performance Python guide, if you’re interested in hearing about it please join the High Performance Python Mailing List (I’ve only got a list right now). I’ll make an announce once I know more.


Ian is a Chief Interim Data Scientist via his Mor Consulting. Sign-up for Data Science tutorials in London and to hear about his data science thoughts and jobs. He lives in London, is walked by his high energy Springer Spaniel and is a consumer of fine coffees.
Read More

Kinect depth maps and Python

I had the opportunity to play with a Kinect over the weekend, I wanted to test out depth mapping using the built in infra red cameras. Using a structured light approach is different to the stereopsis approach I was looking at with Kyran recently.

Using the open source drivers for Ubuntu I quickly got the basic depth sensing demo running. Here’s Emily in our living room:

According to the wikipedia entry the Kinect has a depth resolution of approximately 1.3mm, below is a shot of my laptop with a few objects in the background and you can just about make out the bevelling around the edge of the keys:

I’m particularly interested in using Python’s numpy and the openCV bindings for depth measurement, these simple instructions don’t work for me (grr!) as I can’t get the freenect library on Ubuntu 11.10 to recognise the Kinect (even though it obviously runs fine using the OpenNI drivers!). I tried using Ubuntu 12.04 in a VirtualBox but apparently VM solutions don’t work with the Kinect due to some USB limitations 🙁

However using the PyOpenNI drivers works fine on Ubuntu 11.04. libfreenect continues to insist that I have no Kinect but the PyOpenNI drivers work just fine.

Here I have 3 shots showing a bottle, box of granola, table further back and some furniture behind. I progressively reduce the depth so we only see the foreground bottle & granola box by the last image. These shots are taken using PyOpenNI, numpy and matplotlib:

There’s a cool video for using dual Kinects together to remove some of the blind spots and to build a better 3D model:

 

It looks like the Kinect 2 is a year or two away yet.


Ian is a Chief Interim Data Scientist via his Mor Consulting. Sign-up for Data Science tutorials in London and to hear about his data science thoughts and jobs. He lives in London, is walked by his high energy Springer Spaniel and is a consumer of fine coffees.
Read More