About

Ian Ozsvald picture

This is Ian Ozsvald's blog, I'm an entrepreneurial geek, an AI consultant, co-founder of the StrongSteam AI and data mining API, 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 Brightonian. 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

20 November 2010 - 14:49Packt’s new “Python Text Processing with NLTK 2.0 Cookbook”

I’m rather excited to have received a review copy of Packt’s new NLP book “Python Text Processing with NLTK 2.0 Cookbook“, it is based around Python’s Natural Language Processing toolkit.

I’ve been using the O’Reilly book for over a year, I’m curious to see what’s different between the two. I’ll post a full review once I’ve been through it.


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

1 Comment | Tags: ArtificialIntelligence, Python

7 November 2010 - 23:28£5 App #23 – “Things we built this summer”

Last Tuesday we had our 23rd £5 App event, given that it is only our second event this year we chose to let people “show and tell” about the things they built this summer. We had 9 speakers, I bought the beer, John baked the cakes.

Shardcore and the Englightenment Machine

Shardcore‘s Enlightenment Machine was installed at the WhiteNight festival a week back, here he explains what’s going on:

£5 App #23 – Shardcore and the Enlightenment Machine from Ian Ozsvald on Vimeo.

Jon and Digestly

Jon‘s Digestly lets you summarise tweets which can then be sent by email to e.g. your mum who wants to hear more about you:

£5 App #23 – Jon and Digestly from Ian Ozsvald on Vimeo.

Ian (me!) and the Social Microprinter

My Social Microprinter is a CBM 231 receipt printer + Arduino + WiShield + remote server, it prints tweets and useful info using a regular shop’s receipt printer via serial:

£5 App #23 – Ian and the Social Microprinter from Ian Ozsvald on Vimeo.

John and the Arduino Doorbell

John’s Arduino-powered door-bell couples a regular remote-control doorbell with lego, wood and a big bell:

£5 App #23 – John and the Arduino Doorbell from Ian Ozsvald on Vimeo.

Seb and Geek Family Fortunes

Seb built a Family Fortunes clone recently (we played it at BarCamp Brighton) using Flash, Nun-chucks and an iPad:

£5 App #23 – Seb and Geek Family Fortunes from Ian Ozsvald on Vimeo.

Emily and SocialTies on the iPhone

Emily is working on an iPhone app with me that we’ve named SocialTies, it helps you find your friends and ‘similar people’ when you’re at an event or conference. It was inspired by the fruitless hours I’ve spent at events wondering if I’ll ever find anyone I know…

£5 App #23 – Emily and SocialTies from Ian Ozsvald on Vimeo.

Kyran and JavaScript Social Graph Visualisations

Kyran and I have been working on some social graph visualisations, Kyran’s interface lets you see where you sit in an event’s social network whilst reading real-time updates from attendees:

£5 App #23 – Kyran and JavaScript Social Graph Visualisations from Ian Ozsvald on Vimeo.

Mike and the Tardis Money Bank

Mike’s Tardis Money Bank was designed to help him and son keep tabs on pocket money. It has gone on to be used by many families since its launch:

£5 App #23 – Mike and the Tardis Bank from Ian Ozsvald on Vimeo.

Jay and Twitter Election Predictions

Jay’s real-time election results predictor read Twitter during the UK elections, the results were interestingly accurate:

£5 App #23 – Jay and using Twitter to Predict Elections from Ian Ozsvald on Vimeo.

If you’re interested in keeping tabs on future events or would like to speak please join our £5 App Google Group.


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

No Comments | Tags: Entrepreneur, projectbrightonblogs, sussexdigital, £5 App Meet

6 November 2010 - 16:04Building a Social Microprinter

Over the last couple of months I’ve been building up a social microprinter (inspired by Tom Taylor‘s implementation and Matt Webb‘s original idea). Here’s the current version – Arduino+WiShield+CBM231+off-site server (powered partly by BenOSteen’s Python driver):

There’s a second quick video and talk for the £5 App event I ran earlier in the week.

The goal is to build a social microprinter – a printer that’d live in a social environment (currently The Skiff co-working office in Brighton) which would help bring people a little bit closer. Currently it prints tweets (for ‘theskiff’) and shows events, later it’ll show recent Gowalla check-ins and maybe some local news headlines or the weather (but there’s got to be better stuff to show, right?…ideas on a postcard please).

My original intent was to build a device that could be stuck on the wall in a cafe, it would show tweets on a screen (probably under the cafe’s or Brighton’s hashtag) and let non-Internet folk post their own messages back. Doing this nicely would have needed a screen, machine, wall space etc – using a receipt printer seemed like an easy way to prototype the idea.

Jumping forward, here’s an early version – this is a CBM231 connected to my Ubuntu laptop via a USB->RS232 lead (note – this lead is good, the cheap ones on eBay can be bad – see below). Here I’m using BenOSteen’s Python driver to send tweets via serial to the printer.

This device has done the rounds, here it is on display at BuildBrighton’s talk to the British Computer Society:

Here it is in use at Likemind Brighton showing international #likemind tweets as other groups meet around the world on Friday morning (note – unicode converted to ‘?’ as I haven’t figured out if/how to get international characters out of the printer yet!):

It ran during the weekend of Barcamp Brighton and printed out barcampy stuff, I added some notes about local cafes and a job ad for one of the companies:

The goal all along was to build an independent controller (so removing the laptop from the equation). For this I coupled an Arduino with a WiShield 1.0. The WiShield libraries are easy enough to work with, after an hour’s experimentation I got WPA2 working (it takes 25 seconds to negotiate the connection on each attempt), we use WPA2 at home and in The Skiff.

Coupling the Arduino to the printer was easy enough, I have been trying (and so far failing) to get a Max233 chip acting as a voltage level converter so for now I’m using a pre-built RS232 Level Shifter. This converts the Arduino’s 0V/5V TTL to +12V/-12V RS232 levels (powered from the Aruino’s 5V out). To output text I’m using Roo Reynold’s Aduino sketch, this handily includes some control codes to cut the receipt after printing.

Next I wanted live data. At first I simply put a short plain text file on a web site, used the WiShield to fetch it and Roo’s code to print it. Now I’m using a hacked version of Ben’s code to write tweets (including bold and underline control codes) to a text file which is stored online (microprinter.ianozsvald.com), this ready-to-print file is grabbed over the WiShield, printed and then cut. The online file is updated every 2 minutes.

The final tweak was to add a button to the printer. Using the Arduino’s demo button sketch I hooked up a big thumb-sized button. The Arduino’s main loop is looking for a combination of ‘at least 5 seconds have passed since the last print’ and ‘button pressed’, then it’ll kick off the web request for new data. Once this request returns it prints out the text.

I look for the pattern “————–” (14 dashes) to start and end the message, before this we get HTTP headers (from the WiShield) that I didn’t want to print.

Here’s the finished hardware:

This is a WiShield 1.0. The button (shown just out of shot top-left) is connected 3.3V->button, button->Pin 6 AND Ground (via a 15k resistor). For the printer I’m using Pin 8 for tx (blue lead on the RS232 level converter) and Ground, the level converter is powered by the 5V out.

Here’s the connector:

The connector is overly-connected in this image. I think all you actually need is Pin 2 from the RS232 Level Converter to Pin 3 on the 25 pin connector along with Pin 5 (GND) to Pin 7 (GND on 25 pin connector). With yellow wires I’ve shorted Pins 4&5 and 8&20 but I think this is overkill (they’re used for bus control but they’re probably ignored in this configuration).  Here’s a full pinout.

During all the hacking our faithful cat Mia has attempted to assist whenever she could. Here she’s taken ownership of the bag used to transport the early versions:

Along the way I also acquired an Epson TM T88 II receipt printer, it is ‘just another serial printer’ but takes different control codes (and it looks like it might have a smaller character set than the CBM 231). As yet I’ve only tried printing plain ASCII, I’d like to investigate further and build a library that supports this printer too.

Note on buying leads from eBay! be aware that if you buy cheap leads from eBay (e.g. £2 silver/blue leads) then you might end up with a pack of 5 (because if you buy 5 and one breaks, you’ve got 4 more that work, right?), you might have 5 dead-on-arrival leads. You could then report the problem and the nice people could then ship you a replacement set, but then you might discover that you’ve got another 5 DOA leads. You have been warned.

If you’re buying your first microprinter do try to buy a working serial lead with it (it’ll probably be a 9 pin to 25 pin converter lead) – if you get the wrong lead (null modem vs straight serial – I forget which you need!) then you won’t get anything (the bane of my first few week’s of testing). Buy a printer+lead that’s known to work and you won’t go wrong.

Spend the £8 per lead and buy from Amazon if you don’t want to waste hours wondering why your printer is just printing out reams of ‘?’ rubbish:

If you want to build your own then the first best source of info is the microprinter wiki. Roo Reynolds has Arduino drivers (which I hacked a bit for my implementation) that don’t depend on external data sources.

You’ll find my Python server source and Arduino sketch (which assumes you’ve got a WiShield 1.0) here: social_microprinter. Note that the code is horribly hacky, it was written over many short sessions when I could steal an hour or two from other projects.

It could do with being straightened out and commented and a few nice new features would include Gowalla check-in notifications, event RSS reading and weather printing.

Many thanks to my fellow hackers at BuildBrighton for help debugging my early serial problems and to Barney for the lend of his RS232 Shifter (I’ll soon get this Max233 working, promise!).

Here’s the finished, installed unit on the work bench at BuildBrighton in The Skiff (just by the social kitchen space). Once it is a bit more robust it’ll move to the front of the building:


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

2 Comments | Tags: Life, Programming, projectbrightonblogs, Python

26 October 2010 - 19:22£5 App #23 on 2nd Nov, 8pm at The Skiff

Next Tuesday at 8pm at The Skiff we’re holding our 23rd £5 App event. This is our second this year, we’ve been a bit slow. To make up for being slow we’ve given it the title “Things we built this summer“, here’s our fine speaker list:

The evening will run for about 2 1/2 hours, we’ll provide free beer and cake as usual. My Mor Consulting is sponsoring the beer, John‘s fine cooking skills are providing the cake.

Because we’re buying beer and baking cake we need to know if you’re attending! Please sign-up on Lanyrd or Upcoming (and unAttend if you subsequently can’t attend).

I’d be especially happy if you use Lanyrd (you just need to tweet ‘@lanyrd attending #fivepoundapp’ for that to happen automatically) as I’ll be collecting that data for Emily‘s Social Ties talk.

As usual we’ll drift to the pub after the event. If you want to meet a bright selection of get-off-of-bottom-and-do-interesting-things people then you should attend next Tuesday.

Whitenight Festival

If you’re attending the Whitenight festival this Saturday (you really should if you’re in town) then do check out Shardcore’s Enlightenment Machine and Cats and BuildBrighton’s Light Brigade build-flashing-social-lights hack event.


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

No Comments | Tags: projectbrightonblogs, sussexdigital, £5 App Meet

5 October 2010 - 12:55Visualising Lanyrd’s social connectivity graph

Over the weekend at BarCampBrighton5 I demonstrated a quick visualisation that Kyran and I built over breakfast in Berlin last Friday. It looks like:

To see it yourself open Bar Camp Brighton 5 Visualisation using Chrome or WebKit (it’ll work in Firefox but might be rather slow). It is interactive so it is worth opening, about 60 people are shown here.

If you reload the page you’ll see the force directed graph bouncing around as it settles into a low energy configuration. The nodes are people attending the event, edges are friend links to other people at the event. The image sizes for the nodes reflect the number of links a person has at that event.

As you can see above Jot (the main host and co-organiser) is most connected at the event. Two people aren’t following anyone at the event, they’ve been pushed to the bottom left of the window.

You can drag nodes using the grab-handles (blue circles) or move the entire graph by dragging the image.

For a larger example (80 people) see the Flash on the Beach 2010 Visualisation:

Here you can see that seb_ly is the most connected, closely followed by niqui and bitchwhocodes. At the bottom left is a sub graph of two nodes – these two people follow each other but don’t follow anyone in the main graph.

In both cases the data is extracted from the relevant Lanyrd pages (BCB5, FOTB), friends for each attendee are read from Twitter and then a graph is built as a JSON dictionary which links nodes (screen_names) to friends (lists of screen_names). Ready to run Python source code is at github: LanyrdViewerUsingProtoVis.

Both of these links should work on a mobile device but they’ll be awfully slow (they’re useless on my iPhone 3G!) :-)

Kyran used ProtoVis to build the force directed graph, it includes a bit of a hack to make images work on the nodes.

If you’re interested in seeing more of this stuff then Kyran will have more to demo at our upcoming £5 App show and tell.


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

No Comments | Tags: ArtificialIntelligence, BNM, Python, sussexdigital

21 September 2010 - 12:01Scrapy, libxml + libxslt, Mac, “checking for libxml libraries >= 2.6.8… configure: error:”

In the hope that this’ll save someone else the bother…if you’re installing the web scraping Python library scrapy on your Mac (I’m on Leopard 10.5.8) and you come across an error like:

checking for libxml libraries >= 2.6.8... configure: error:
Version 2.6.7 found. You need at least libxml2 2.6.8 for this
version of libxslt

then here’s the solution.

Presumably you’ll be following the Scrapy install instructions. I used the supplied links for libxml2-2.7.3 and libxslt-1.1.24. libxml built and installed to /usr/local/lib just fine. libxslt wouldn’t ./configure – it kept reporting that it could only see the older libxml from /usr/lib, not the newer one in /usr/local/lib.

The fix is here, and this is my configure line:

 $ ./configure
    --with-python=/Library/Frameworks/Python.framework/Versions/2.5/
    --prefix=/usr/local
    --with-libxml-prefix=/usr/local
    --with-libxml-include-prefix=/usr/local/include
    --with-libxml-libs-prefix=/usr/local/lib

At this point libxslt configured, built and installed just fine. To make python see it I had to update my .bash_profile so PYTHONPATH linked to the default output directory:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.5/site-packages

Side note – whatever you do, don’t mess with /usr/lib. I tried moving the default libxml and libxslt libraries and I had the same consequence mentioned by Kevin Watters – lots of system tools (including su!) depend on libxslt to be in /usr/lib. I had to boot to Single User Mode to copy the files back before the system would work again.


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

No Comments | Tags: Python

17 September 2010 - 10:52Demoing pyCUDA at the London Financial Python User Group

On Wednesday night I jumped on a train up to London to visit the London Financial Python User Group to give a short demo of pyCUDA. I’m using CUDA heavily for my physics consultancy and I figured the finance guys would be interested in 10-1000* speed-ups for their calculations.

The raw figures and the Mandelbrot demo that I gave are already covered in my earlier blog post: 22,937* faster Python math using pyCUDA.

To introduce pyCUDA I used P. Narayanan’s GPUs: For Graphics and Beyond PDF presentation (the first 13 pages), his explanation and diagrams are very clear.

To put CUDA in context against regular CPUs I used the recent Peak MHz graph and the main power/speed/transistor count graph in The Free Lunch is Over: A Fundamental Turn to Concurrency in Software. The main point here is that we’ve topped out at 2-3GHz CPUs and now we have to parallelise our code. Doing so on CPUs means we get 4, 8, 16 (and soon 24 then 32) cores to play with…but with CUDA if the problem is mathematics based we have 480 cores to use!

If you’re interested in the general use of CUDA and GPUs then check out the excellent gpgpu.org.

You may wonder about real-world performance with CUDA. Without naming names I can say that I’m now delivering a 115* speed-up on a particularly gnarly problem (I mentioned during the talk that I’d reached 80* – I’ve managed to improve that in the last 2 days). On an earlier problem when I knew far less about CUDA I delivered a 100* speed-up for the same company.

It was grand to meet a lot of new faces at the group, a few people I’ve met before at PyCons (hi Ben! Giles!). Making a contact with Didrik of Enthought was rather grand too. I hope to visit again.


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

3 Comments | Tags: Life, Python

7 September 2010 - 22:11Selling ProCasts through Flippa.com

A couple of weeks ago I sold ProCasts.co.uk, the screencasting business I built over the last two years. Some of you know that I moved away from the business back at Christmas and left it idle (a rather silly thing to do), here are some notes on how I sold it and how you could sell your business. This is my first business sale, some valuable lessons were learned.

I listed the business on flippa.com a month back, flippa specialises in matching buyers and sellers of domain names and small businesses. Since ProCasts was, after 8 months of inactivity, essentially a website that generated leads with a client list – I figured a listing on flippa would find some interested parties. I didn’t sell The Screencasting Handbook, I’m still happily developing the Handbook’s sales.

The new owners are Tintisha Technologies, a Leicester based video production company who wanted to expand their screencasting brand. Rich of Tintisha discovered the ProCasts sale through flippa by (happy!) accident, made a couple of bids at the end of the auction and came out on top. We completed the handover last week.

The reason for selling ProCasts was simple – I’d moved away from screencasting back at Christmas as I’d decided to return to my historic trade of artificial intelligence research and data science. I knew that a few of ProCasts’ competitors might be interested in the site and that a listing on flippa with money sent through escrow.com would make for a clean, safe sale.

I listed the site as an “Established lead generating screencasting site” with a two week auction. Flippa works differently to eBay – it uses an open auction (though private sales are possible) with a rolling end-time (if a bid is placed within 4 hours of the end of the auction the end time is advanced by another 4 hours).

Take a look at the listing to see the details that I included, I added:

  • Full business and site description
  • Details of past clients and warm leads
  • Bank statements to prove income
  • Verified Google Analytics traffic data
  • A Transfer Agreement listing all assets/processes for the sale

I made a point of responding to all questions (lots came via the private email channel) and updating the listing with new information. Fortuitously a couple of older leads came back with requests for work during the auction so these ‘very warm leads’ got a mention in the comments too.

At the end of the day the site sold for $4,002 (£2,500), minus the sale fee (£100) and escrow.com’s fees I took away £2,400. Not bad for a site that was otherwise of no value to me but obviously not an ‘interesting exit’.

Here are some of the takehome lessons:

  • If you’re selling a business, a pure consultancy (with no consultants) isn’t super interesting to buyers, only to existing market players
  • Building a consultancy in a super-small niche (when I started I had 4 US competitors and 0 in the UK) means few buyers when you decide to exit (in fairness – I didn’t build the business to sell it, I know better for next time)
  • Design your business with an exit in mind – recurring or passive income has real value to a buyer, make sure you can be removed from the business without damaging it
  • A two week auction was fine but four weeks would have made more sense
  • Soliciting private bids from competitors should have been done sooner rather than later
  • Adding a product or recurring income stream to the business would have added a lot of value (I decided to keep The Screencasting Handbook as an experimental platform)
  • BusinessesForSale is an alternative site, I didn’t know about it when I started, their companies tend to have higher value (flippa isn’t really for consultancy businesses, just simple web businesses)

What next?

Some of you know that I’ve been working in the field of artificial intelligence research for industry over the last 10 years (as both senior programmer, product designer and pure r&d bod) in my Mor Consulting. This role is evolving and I’m turning into a “Data Scientist” (the new shiny term for A.I. researchers!).

I’m also building some new IP by way of web services using A.I. technologies, these are designed with an exit in mind (I’m learning!). If you’re curious about using A.I. in industry see my new A.I.Cookbook.

I’m also continuing to develop The Screencasting Handbook, it is a useful experimental platform and I still very much enjoy teaching the art of screencasting.

If you have any questions, ask away.


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

No Comments | Tags: ArtificialIntelligence, Entrepreneur, Life, ProCasts, Screencasting, The Screencasting Handbook

5 September 2010 - 13:03Saving power around the house with an EnviR

We took delivery of an EnviR from CurrentCost a week back, we’ve been measuring power usage around the house since then. The unit itself is super easy to install – the LCD panel sits on a window sill and the measurement unit clips to the electric meter (it has a 30m range).

Here’s what we measured (kW is kilo Watts, W is Watts, I’m not writing ‘per hour’ for each entry):

  • Kettle boiling – 2.9kW/hr (for about 5 minutes)
  • Electric oven – 2kW/hr at 220 degrees C (used 30-60 minutes per day)
  • 800W Microwave running – 1kW
  • Washing machine – 300W
  • Electric clothes drier – 282W (used for 2 hours every few days)
  • Dehumidifier – 200W (used 1 hour each day)
  • Widescreen LCD TV – 90W-140W
  • Kitchen downlighters (5) – 112W
  • Fridge and freezer running – 94W (turns on and off throughout the day)
  • Media PC on and playing a video – 100W
  • Media PC on but idle – 40W
  • Macbook charger – 40W
  • Amplifier on media PC – 20W (idle most of the day)
  • Power saving lights – 9W-24W each
  • Microwave on standby – 4W
  • Dishwasher running – ??
  • Toaster running – ??
  • DECT phone, broadband router, standby power for media PC – 3W
  • The following readings are guestimates – 1W seems to be the lowest reading the EnviR can make
  • Coffee grinder on standby – 1W
  • Toaster on standby – 1W
  • Widescreen LCD TV – 1W
  • Electric oven and extractor fan on standby – 1W

Has it changed our behaviour? We’ve started turning off the media PC when not in use (saving 40W/hr overnight). We also turn off the microwave and coffee grinder (saving 5W/hr 23 hours a day) – it is trivial but the grinder gets warm, turning them on just to use them is easy.

We’ve also stopped turning off the TV at night (it uses at most 1W/hr on standby) and turning off the toaster (again 1W/hr at most). I had wondered if the TV consumed a lot of standby power, the toaster has a set of LEDs – both use a trivial amount of power so I’ll ignore them for now.

I had no idea that the kitchen lights were so expensive – we won’t leave them on when not in use any more. I was really surprised by the oven – 2kW/hr  swamps the usage of everything else! We really ought to use the outside line for some wet clothes too (but we don’t have back access to the tiny garden so getting there is a bit of a faff…).

The Economist has a nice Watts Up article looking at how people underestimate the expense of some items (I certainly did!) and overestimate the savings they get from turning off things like lightbulbs.

Now the meter sits on a window ledge facing the sofa – we can monitor the house’s power usage and over time we’ll learn to play the game of keeping the numbers as low as seems reasonable. Feedback is a powerful thing!


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

2 Comments | Tags: Life

22 August 2010 - 0:20Weekly python tips (WeeklyPyTips) mailing list

Update – the weekly Python tips list is suspended for now. I’ve ended up way to busy on other projects, I don’t have the 5+ hours to write and publish each tip at present. The list is on hold, it may be reactivated later.

I’ve just written the first few weeks worth of Python Tips for my new list: weeklypytips AT aweber.com or use the form below.

The list is aimed at beginner and intermediate Pythonistas, if you join then each week you’ll receive a Python tip (probably 3-6 paragraphs with source code). I originally announced it in the Python Tutor list.

The first batch of tips cover:

  • Downloading files from the Internet in just 2 lines
  • Scraping web sites
  • IPython introduction
  • Iteration
  • Controlling hardware (including serial ports, cameras and robots)

I have a long list of topics to cover, if the feedback is positive then I’ll keep adding the tips. To join the list just mail the email address above (the email can be empty), you’ll be asked to confirm your subscription, after that you’ll get one tip per week.

To make it really easy just use the form below: REMOVED


Ian applies Artificial Intelligence as an Artificial Intelligence Researcher for companies (Mor Consulting), co-founded the StrongSteam A.I. datamining toolkit, co-authored SocialTies, programs Python, writes The Screencasting Handbook and is also a sea-side dweller and consumer of fine coffees.

9 Comments | Tags: Python