(This one’s for the programmers)

Abstraction is a wonderful thing but sometimes, if you don’t think far enough ahead, it can get in your way and make things difficult. Sometimes you do need to access implementation details, often to satisfy a non-functional requirement like performance. Sometimes you want the abstraction to leak.

Instead of abstraction’s noble goal of reducing complexity, workarounds often add inelegant and brittle structures. And here’s one of them. It depends on the Python 2.5 implementation, but there’s talk of fixing this for Python 2.6 anyway.

Python’s urllib and httplib libraries don’t allow direct access to the underlying socket, making it impossible to set per-connection timeouts. Specifying a timeout is not uncommon in programming for the Internet, especially when users are waiting for you to pull something down, so it’s a bit of an oversight. You can set a global timeout which applies to all sockets, but that makes things tricky if you use TCP connections elsewhere in your software.

A quick poke around didn’t reveal any solutions online, so I wrote one.

Read the rest of this entry »

The Sydney web entrepreneur scene has been growing steadily over the past months, thanks in part to the Sydney OpenCoffee meetup group. OpenCoffee is an informal gathering of people interested in technology startups — creating them, working with them, investing in them. The OpenCoffee concept began in London and has been successfully modeled all over the world. Sydney’s incarnation has been a great place to meet people and as it grows it’s becoming even more valuable. Thanks to the growing audience it’s fast becoming a venue for presentations by people with something of interest to local technology entrepreneurs: venture capitalists, lawyers, other entrepreneurs and so on.

To cap this off for the year, it’s spawned Sydney’s first startup school: Innovation07. Innovation07 is a conference about commercialising new technology, covering topics such as raising money, getting government assistance and protecting intellectual property. It’s inspired by Stanford’s very popular Startup School. Along with OpenCoffee and a few other emerging technology gatherings the hope is to bring something of Silicon Valley’s atmosphere, culture and success to Sydney. We have at least some of the right ingredients - perhaps all that’s missing is a kick start!

We’re back up

November 16, 2007

Flexiscale suffered a power spike yesterday, and tiinker dropped off the Internet. We’re back up now, after one and a half days or so of downtime. There is nothing more frustrating that having a problem such as this and not being able to do a thing about it, relying on the staff at our service provider on the other side of the world to fix things as quickly as possible.

Anyway, apologies for any inconvenience caused by the downtime. We hope that all of our (rapidly growing!) set of users will continue to enjoy tiinker. We have some sympathy for the very nice people over at XCalibre: Flexiscale is a new service, like tiinker, and we knew it was a risk. No doubt they’ll learn from this and have a more reliable service going forward.

P.S. Our march towards a full release is proceeding well and we cannot wait to share tiinker with the rest of the world. We’re excited!

We have finally begun promoting tiinker to the “general public”, although we are still keeping it as a private beta for a short while so that we have some control over the number of users (to forestall any problems that may be caused by the user base growing unexpectedly fast).

In addition to the basic challenge of actually getting the word out, we also need to make sure that we get the right word out about what tiinker actually does. tiinker is not intended as primarily an RSS reader (although it does that just fine). It is an intelligent, personalised news aggregator. We are aiming tiinker at people who don’t necessarily know what an RSS feed is; users who just want to read news and explore beyond their local paper, but who do not want to spend time filtering out stories which do not interest them.

This is a bit of a catch for us. Many potential early adopters, who are already advanced enough to use feed readers and the like, may initially be unimpressed by tiinker as a pure feed reader. Subscribing to feeds is not core functionality for many of our users; we haven’t focused on the reader, in favour of optimising our site for non power-users. To keep it simple, the reader lacks some of the bells and whistles attached to dedicated feed readers like Google’s. It’s simple, functional, but not a bounty of features.

An additional challenge (which we knew was coming) will be keeping new users interested long enough for them to appreciate the advantages of personalised news. At the beginning, when we knew most of our users personally, we could count on them visiting the site a couple of times, giving the underlying AI time to adapt to their interests. However, we can’t count on that for most Internet users. People are far less likely to come back a second time if the personalisation does not adapt quickly enough, so we’re working now on getting that initial “wow” factor up as high as we can.

These challenges are not new in the land of web startups. Getting users and keeping them isn’t an original problem, but one we must now face :-).

We presented tiinker to the Sydney Data Miners Meetup group last week, discussing some of the expected and unexpected challenges we have encountered while building it. It generated quite a bit of discussion, particularly around the future of online news and personalisation, and how the technology underlying tiinker could be used in other ways. Quite a few good ideas were thrown up, some of which we’ll be trying out just as soon as we get the chance (thanks data miners!).

Our goal all along has been to create something useful. That means we actually need a finished product — the sooner the better — even if it’s not perfect. At almost every stage in the development of tiinker we have thought of new, better ways to do things. Most of these we’ve had to put aside to be investigated later, a wrenching task for our research-loving brains. After the public release, however, we’ll get back to the whiteboard and the content processing and personalisation technology that drives tiinker will continue to improve.