Ian Ozsvald picture

This is Ian Ozsvald's blog, I'm an entrepreneurial geek, a Data Science/ML/NLP/AI consultant, founder of the Annotate.io social media mining API, author of O'Reilly's High Performance Python book, co-organiser of PyDataLondon, co-founder of the SocialTies App, author of the A.I.Cookbook, author of The Screencasting Handbook, a Pythonista, co-founder of ShowMeDo and FivePoundApps and also a Londoner. Here's a little more about me.

View Ian Ozsvald's profile on LinkedIn Visit Ian Ozsvald's data science consulting business Protecting your bits. Open Rights Group

16 May 2012 - 20:21Mentorship groups in StartupChile

A group of us have been running a mentorship group here in StartupChile, it makes up for the lack of external mentorship (a sad deficiency in the programme). I think that more startups ought to be in mentorship groups so I’ll write about what we do.

What is it? A group of 6 of us meet once a week (10am, local Starbucks) for about 1.5 hours, we cover how our companies have progressed since the last meet, discuss problems and set new goals. We’re accountable to each other and know that our peers are smart enough to call us out if we’re fibbing.

Early goals? Emily and I used to be a part of a similar group back in the UK – having peers who’d hold us accountable was super-useful whilst we figured out which things were hard (which typically we might try to ignore) and worked through to solutions. We missed that structure here in StartupChile so we built our own.

Outcomes? We’ve witnessed one company choose to fold and reinvent itself, another start to question its market, another to collapse the bigger ambitions and to take on a more manageable sub-task during Year 1 and for me I’d realised my earlier Customer Discovery process was weak (which I’m now addressing lest I get a drubbing from my peers). These changes occurred in the last couple of weeks (all pretty dramatic and darned sensible). We’ve been running for 7 or so weeks and we’ll continue for as long as we’re still resident here – the meetings carry great value for all in attendance.

Structure? Each person gets 5 minutes (timed on a phone with a loud audio alert) to talk through their progress in the last week and to mention where they’re at with last week’s goals. Once we’ve done everyone (30 minutes) we move on to problems, we share questions and issues and ask for feedback. This is meant to last for 5 minutes (we use the countdown alert again) but if the problem is interesting then we’ll run on (maybe to 10 minutes), often a lot of learning can occur as we try to solve each other’s problems. Finally we set a new goal for next week, we run through the group setting one or two achievable goals. Mine for next week is to have a better grasp of the competitive landscape in the run up to StartupChile’s Demo Day.

Typically we run for 1-1.5 hours. Someone (normally me) has to be the Chairman to make sure things keep moving. You need firm Chairman lest one or two people take over the meeting and turn it into a bore.

How to start one? Find 3-6 other companies who are roughly at the same stage and doing related things (e.g. companies doing early stage hardware, public software and r&d around baby-care might mix but companies doing only web-related stuff at an alpha/beta stage are probably a better match). Agree to meet each week at a set time. Agree on a Chairman. Agree to Chatham House Rules (“what is said in the room stays in the room”) and let people state when things have to be kept completely private within the group.

After the first few meetings fix the group (anyone who rarely attends gets kicked) so the group can trust whoever is present and not expect the surprise of new people. If the group loses people over time (we’ve lost a couple due to the natural evolution of startups) then invite a few others in with consent from the group. Keep meeting. Keep pushing each other to make smarter decisions. Don’t hold off of the hard questions. Make yourself accountable.

The main goal is to build a team that’s stronger than the sum of its parts. Working in isolation means you get to avoid the hard questions and perhaps avoid taking account of your progress – there’s nowhere to hide when your peers are waiting for your weekly progress report.

A similar goal seems to be behind the new NReduce startup collaboration project and the weekly dinners at YCombinator are well known. Being accountable to your peers works.

Ian applies Data Science as an AI/Data Scientist for companies in Mor Consulting, founded the image and text annotation API Annotate.io, co-authored SocialTies, programs Python, authored The Screencasting Handbook, lives in London and is a consumer of fine coffees.

2 Comments | Tags: Entrepreneur, StartupChile

11 May 2012 - 17:40StrongSteam’s first novel OCR matching API (Python demo)

Here’s a preview of our first novel API in StrongSteam. We’ve been working with Optical Character Recognition (OCR) for a while, we set ourselves the task of matching a noisy photograph of some text to a pre-seeded database of entries. If you follow my blog you’ll already have seen our example iPhone app for the Royal Botanic Gardens, Kew, London (developed in collaboration with Kasabi):

Now rather than having to re-label 10,000 Latin plant labels with QR codes Kew can now use our matching technology on their existing labels to enrich a visitor’s experience of the gardens (and it turns out that a lot of visitors have iPhones and use Kew’s official app).

With our API we can do the same kind of task with photos of plaques from the London Science Museum where we match against 836 entries scraped from the Science Museum website. In the following video we match against text from the information plaque of Old Bess (née ‘Beelzebub’) in the Energy Hall:

This is just a preview, we’ve sent the Python & cURL API to some of our alpha users and will be inviting more in over the coming month. Here are some more OCR videos and here’s a work-in-progress demo of our image matching (using PhoneGap on an Android):

If you’d like to get access to our RESTful cloud-based computer vision APIs please sign-up on our StrongSteam homepage. Soon we’ll be adding raw OCR (with co-ordinates and font size reports) and image matching (particularly for stuff like brand logos and beer labels).

We’re super-keen to hear about your use cases and needs – please send me an email (ian AT strongsteam.com) and tell me what you need. We used to work on these problems in my consultancy (Mor Consulting), now we’re working to make our IP more available to all.

Ian applies Data Science as an AI/Data Scientist for companies in Mor Consulting, founded the image and text annotation API Annotate.io, co-authored SocialTies, programs Python, authored The Screencasting Handbook, lives in London and is a consumer of fine coffees.

1 Comment | Tags: ArtificialIntelligence, Life, Python, StrongSteam

6 May 2012 - 21:40Python Introductory Course (OpenSource, StartupChile)

We’ve just run 5 of the 6 nights of our Introductory Python course here in Santiago for StartupChile. The course aims to ‘give back’ to the Chilean economy by helping more people learn to program (we had a mix of locals and StartupChile members in our classes). In total we’ve taught 25 people (only 5 women though!). Here’s the group on the first night:

Initially I’d planned to run my 12 hour (2 day) course to one group of 15 people. In total over 80 people indicated that they wanted to attend the course so I split it into two groups of 15 (of the 80 a total of 27 committed to the available dates). We started this last Monday, we finished Group A last night (Saturday night late night coding lessons FTW!) and we finish Group B on Monday.

Both groups had prior coding experience (I said you’d need to know about variables, command line access etc) but little experience with Python. We covered 3 of the pythonchallenges and looked at:

  • IDLE immediate mode and for writing modules
  • variables, logic, loops
  • functions
  • id, mutable and immutable types
  • simple debugging and documentation
  • importing modules, using pip

I’ve open-sourced the course as Python in 6 Hours, you can grab the slides (ppt/pdf) and solutions to the two exercises from Github. This isn’t a deep/thorough introduction to Python, it is aimed at taking people with existing experience in another language into Python whilst covering some of the less-often-covered basics (like id, mutability etc).

If you’d like to run your own 6 hour Python course then feel very free to grab the notes and have a crack.


Ian applies Data Science as an AI/Data Scientist for companies in Mor Consulting, founded the image and text annotation API Annotate.io, co-authored SocialTies, programs Python, authored The Screencasting Handbook, lives in London and is a consumer of fine coffees.

1 Comment | Tags: Python