Fusion Tables and 131500 Stops

A short while ago I wrote about visualizing transport by using 131500’s TDX data, converted to GTFS, and served by GeoServer. Because I’ve started playing around with Google’s Fusion table, I thought it would be interesting to see what all the transit stops in Sydney look like in FT. So, voila!
Read Fusion Tables and 131500 Stops

Visualizing Transport

I’ve had several conversations with neighbors and co-workers about the “lack” of forward thinking, or at least the lack of forward action. Of course, I keep in the back of my mind that we aren’t “experts”, and the more I learn about transport the more I learn how complex it is. Dr. Sussman’s CLIOS process (Complex, Large- Scale, Integrated, Open Systems) appears more and more true the longer I work in and study transport. There is a plethora of excuses that can be made, but the general conclusion was that the earlier we prepare the better. I can remember working near Zhongshan 7-8 years ago and driving around on huge roads in the middle of empty fields. There …
Read Visualizing Transport

Stock Android and Postfix

I was having some issues with my personal mail server (Postfix) and my phone (Android). The logs depicted the below issue: Jan 9 09:19:53 ip-11-222-23-223 postfix/smtpd[12345]: NOQUEUE: reject: RCPT from 12-13-14-15.abc.com.au[12.13.14.15]: 504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname; from=<emailaddr kelvinism.com="kelvinism.com"> to=<emailaddr gmail.com="gmail.com"> proto=ESMTP helo=<localhost> </localhost></emailaddr></emailaddr></localhost> We can see here that the stock Android email client is doing a ‘helo localhost’. One part of my main.cf file specifies this:
Read Stock Android and Postfix

Hacking Splunk with Python

A few weeks ago I saw an opening to give a 5-10 minute lightening talk at SyPy (Sydney Python), and with two nights to prepare, decided it would be interesting to explore Splunk’s usage of Python. You can see the presentation video
Read Hacking Splunk with Python

Retiring Another Site

After much consideration, I’ve decided to retire yet another website: Colddirt. This site was created as an example of how to use the different parts of Django, mostly in just one afternoon. I’ve decided it is time to just take a few screenshots and retire the site - the domain is expiring, and honestly, I don’t want to spend $10 to renew the domain. So, here are the screenshots.
Read Retiring Another Site

RIP Old Sites

Over the years I’ve created several websites, some with the hope of becoming big and popular. Naturally, I’m still waiting to create a site that becomes big and popular. In the meantime, it seems appropriate to retire some of the older sites and ideas. The truth is, I’m moving all my little sites from MySQL on a mediocre VPS to Postgresql on EC2. Because I put some sweat and blood into these sites, I thought it would be only appropriate to record how the sites looked for future sentimental value. I downloaded a small plug-in for Firefox to take full-length pictures, and I thus post them here.
Read RIP Old Sites

Fun with OSM

I have to admit, to me, editing OpenStreetMap is actually a little therapeutic. Sort of like gardening. My first major contribution was when I brought my little QStarz GPS unit across Indonesia, by train, sitting against the window. The most recent contribution was our trip to Dubbo, where I helped fill in a few missing roads, and added an initial outlay of Dubbo Zoo.
Read Fun with OSM

French Word Collage

For the last year YS and I have been studying French once a week (4.5hr on Saturday!) A few months ago I wrote some Python code to read the RSS feeds of the most popular French newspaper site, and then kept track of the count of each word. I repeated this every week for a few months. In the end I had a database of the top ~3000 words used on the site. Today I decided I wanted to play with Processing, so created this little word collage. It is 1680x1050, my monitor’s resolution. Two thumbs up for Processing!
Read French Word Collage

Testing SMS Gateways

For one of my projects I’m testing an SMS gateway, and decided it would be fun to build a useful alarm clock out of it. For those of you who know Python, you may find this funny. /dev/ttyUSB0 is my Arduino with a temperature sensor. The gateway credentials and phone numbers below are fictional placeholders. import serial import urllib2 def check_temp(): ser = serial.Serial('/dev/ttyUSB0', 9600) t = ser.readline().strip() return float(t) t = check_temp() if int(t) < 8: message = "It+is+now+%f+degrees;+time+to+get+moving." % t f = …
Read Testing SMS Gateways

Arduino 101

Tonight, I’m proud to say, I’ve returned to childhood. Let me explain. OK, fun over, back to work. For the last year I’ve been wanting to purchase an Arduino, for no other reason than to play with. Like a kid. My Arduino arrived two days ago. This is a story of problems, but not the pull-your-hair-out type, more the… like when you run out of gas in the middle of Sydney. Going to your Christmas dinner. In your friend’s car. Long story.
Read Arduino 101