Twitter user streams with python

Monday 5 Dec 2011

I have been trying to find a basic proof-of-concept for twitter user streams. I couldn't find a complete example, so I rolled my own.

I wanted to avoid the external pyCurl dependency (which means curl needs to be installed separarely on Windows) so I switched the pyCurl callback method you might have come across with some rather naive urllib2 buffering.

It works, though, and that's the important part.

Read more

Fix Firefox 5+ font rendering in Windows

Wednesday 30 Nov 2011

If you use Firefox 5, 6, 7, 8, or greater in Windows, without ClearType, you've probably noticed how abysmal the font rendering is.

However, there's an easy fix. In about:config, find the preference gfx.direct2d.disabled and toggle this to true. Restart and your fonts will now look as they used to, which is to say, not nearly as horrible.

A bit of icon work

Tuesday 31 Aug 2010

I don't consider myself a designer at all, but I do enjoy pushing pixels. So recently I've done a tiny bit of work designing icons for various projects other than my own.


On the left is the icon for MahTunes, from The League of Paul. I think only the source is available at this stage.

On the right is the icon for Convertor, a webOS app by Coding Bees.

While not incredibly awesome, they're a start and hopefully something I can look back on in twelve months and laugh at scornfully because I'll be so much better.

Your mobile OS can't really multitask...

Thursday 24 Jun 2010

...unless it can show you all of your open app windows and let you switch between them with a swipe and a tap.

WebOS multitasking

This is by far my favourite feature of webOS.

Thoughts on Android and the HTC Dream

Monday 27 Apr 2009

I recently signed up as to the Android Market as a developer so I could buy a "Google Dev Phone 1" which is an unlocked HTC Dream/G1. I've been interested in Android as an open-source competitor to the iPhone for a while, and given that the Dream has officially launched in Australia, and Australian developers are now able to submit (free only) apps to the Market, I thought I'd get a device to evaluate and maybe hack some apps on.

I'm quite interested in Palm's Pre OS too so I hope I don't end up with a Pre as well, "just to play with" :\


When the G1 was first announced I was very underwhelmed. It looked decidedly average. I maintained this opinion for a long time until I had a play with one in person a little while back. It's actually not a bad device. It fits comfortably in your hand (at least when held vertically) and though it's a bit bulky the rubberised finish is nice to hold. Specs-wise it has all the nice things — wifi, GPS, compass, QWERTY keyboard and of course a touch screen.

Read more

Announcing Twitterscribe: archive your tweets

Thursday 26 Feb 2009

Update: Twitterscribe is now public. Anyone can sign up, so why not give it a go?

One of my resolutions this year was to deliver more of my side projects. Currently a lot of them are half-formed, either in idea or in function, and I wanted to change that by attempting to actually finish and make available whatever I start. So it is with a certain amount of glee that I announce my latest effort, Twitterscribe.

Read more

Adventures in PHP interfaces

Thursday 1 Jan 2009

So recently I've been having a play with Python. I like it a lot, and it's started to affect how I code in PHP — all of my freelance work still uses PHP, so it's still my 'primary' coding language. However, this means that all the little things I can do faster in Python come back to haunt me in PHP. It was bound to happen. Unfortunately, though, I can't just switch all my work to Python (and it has a number of shortcomings that make it harder to support, anyway) so to resolve this I've been attempting to replicate, in my PHP framework Rex, some of the things which in Python make my life easier.

The first of these is the syntactic sugar of SQLAlchemy's (and AppEngine's, Django's, and others) data selection syntax. With some nifty method chaining, SQL queries can be abstracted to such pretty code (yes, in PHP) as $user = User->all()->filter('Admin = 0')->order('FirstName','ASC')->go()->get(0);. I might follow up this post with another explaining how to achieve this method chaining, and it's really quite easy, but in the meantime I want to draw your attention to something else.

Read more

How do you mockup websites?

Friday 17 Oct 2008

I've been hunting for a new tool to help me mockup sites lately. I use Photoshop, but it's not quite right. It helps me lay things out quite nicely, and it doesn't bother me at all that it doesn't produce code — it's more about creating an image as close as possible to what I could replicate using HTML and CSS.

And that's actually where it falls over. Photoshop does many things, bless its bloated heart, but it doesn't support CSS styles. And why should it? It's not a website-mocking-up tool really. But it does become a pain if I want to set individual border styles, or test a repeating background image, or any of these things that are better described in code.

So in my search for something better I recently asked my faithful tweeps what they used. I got a couple of common answers: Photoshop, Illustrator/Fireworks, and "I code it all by hand." Personally I think coding it first when you haven't decided on what it'll look like is a bit silly, but that's just me. I think visually, or something.

But nobody enlightened me about the existence of the product I have in mind: an app that exists only to mockup websites.

Read more

Something's not right with Android's UI

Thursday 9 Oct 2008

I've mentioned previously that I'm really excited about Android. Well, since the launch of the G1 phone, SDK 1.0, and now that its release is due very soon, I've changed my mind somewhat.

My feelings on the essential Android concept remain unchanged: I think it's a brilliant idea. A free, open mobile OS, unburdened by mobile operators' notions of what is appropriate, and with the ability to easily add and replace apps on the fly.

However, the Android concept and the final Android experience are two different things. Playing with the emulator and watching the UI walkthrough have made me uncomfortable. It's mostly a solid, functional UI, with some nice animations thrown in to spice it up a bit; certainly no worse than anything else on the market at the moment that doesn't start with a lowercase i. But I have some usability concerns.

Read more

My lance is free

Monday 6 Oct 2008

It's been a while, folks.

Just over a month ago now I waved goodbye to my previous job; to steady pay, job security, and working with some close friends. I gave it up for the chance to do my own thing. I liked my job, but was becoming increasingly bored and disillusioned with the work. What had begun as a chance to develop new applications from the ground up, to really be involved in not only the implementation but the core ideas behind the app's functionality (which is something I really love to do) had devolved into a cycle of "Hear from existing client -> Make arbitrary changes for client, often hacking apart code into a steaming mess -> Release -> Repeat."

But I'm not here to criticise my previous job, which really did teach me a lot and let me make a lot of great software without being overly constrained. The main thing I am here to tell you is this: freelancing rocks*.

Read more

< Newer posts Older posts >

About the Blog

I'm a developer in Melbourne, Australia, and co-founder of Hello Code.

I am joshsharp on twitter.