29 Oct 2005

deskloops - exposé for windows

wow, this is the first time in a long time that i've lusted for a piece of software that is windows only. deskloops can be described by the first window management software that exceeds exposé on the mac (well, i'd expect that given they have 18 times the market share of macs, and a 2 year dev time :)


check out the video on their site for a nice 2 minute demo of deskloops.

if you use windows, you definitely should try it out since it is free (at least in beta form.) in a nutshell, rather than arranging all your open windows in a 2d canvas by shrinking them, it will (on launch) arrange them in a virtual loop so you scroll around them by touching the left or right edges of the screen. it can also arrange windows into a strip at the top for easy scrolling. the thing i don't like about exposé is that it shrinks the windows and doesn't have titles, so you can't easily spot the window you're looking for except hovering your mouse over all the windows. but deskloops doesn't shrink windows, so you can see upfront exactly what the window is. the only downside is that it might be slower than exposé if you have many windows open, and i wonder what order they are arranged in. nevertheless, i really hope the exposé designers take that and give it a mac spin for 10.5 :)

... Read More

28 Oct 2005

terrible thursday disasters

had a pretty rough thursday. firstly, i dropped my bag off the dining table in the kitchen while i was packing my award winning lunch entry (mashed potatoes and sausages) into my bag. inside my bag was my precious powerbook. i heard a big thud, and i already knew what happened but i didn't want to even look. kinda a like when you know you've done something bad, you want to hide so that maybe it was all a dream.

once i got into the lab and took my powerbook out (which was protected by a token foam b4 pocket) and the top left corner was dented. looks like like this:

powerbook defaced

luckily the damage was cosmetic. the aluminium case around the power socket and the speaker grill was squeezed out, but i could still plug my ac adapter into it. however, it is a little looser than before, so i have to be a bit more careful when i don't have my battery plugged into the laptop.

the second disaster that happened was at the end of my 15 minute cycle to the lab. i've had my lock tampered with last week with possibly the biro lock hack trick that was circulating around the net some months ago. the would-be theives were unsuccessful, but they managed to screw up my lock so that i couldn't lock it any more. so i borrowed my housemate's lock on her bike which she never uses. when i came to use the lock, i managed to break the key on her lock. the lock was a bit stiff so i was jiggling the key around inside the key hole and snap, the key snapped in half.

key and a half

that really made my day. luckily, thanks to dr. dj, i was able to secure my bike to his personalised bike rail. now i've got the spare key for that lock i snapped the key with, but i'm wondering whether i should even attempt to open that lock again!

... Read More

27 Oct 2005

my my yahoo bookmarks

while testing my feed, i stumbled across my my yahoo page which i had used sometime in the earlier 21st century. i can't even remember when was the last time i used it, but i suspect maybe around 2000.

some of those are actually quite funny. interesting things i used to bookmark like xdrive and idrive. i can't remember what dialpad and datapimp was all about. and remember the CSA linux test drive? i don't think i ever got that working. probably the only site on that list i still visit now is slashdot.

also, at the bottom is a link called "spencer notes." this guy was crazy. when i went to undergrad, he used to type up all the lecture notes that he wrote down and put them online in PDF. we used to just use his notes and skip the lectures. i remember it was very funny because he'd put his copyright notice all over them, but we'd still print them out with the lab printers so everyone could just pick them up and copy them. the reason he did it was just for fame, i believe. it was quite funny because i didn't know how, all i know was that he was very anal about his notes. i wonder where he is now.

... Read More

27 Oct 2005

rss and atom feeds should now be stable

after messing around and wasting far too much time, i've got a simple atom feed generator for django working using the ultra fast ElementTree instead of the python built in saxutils.XMLBuilder (which is what django.utils.feedgenerator uses). it is much easier to work with at the very least, but i'm not sure if it is that much faster.

after i clean up the code a bit, i'll probably attach it to the existing atom feed bug ticket on django.

so that should be the end of all the feed related instability for now. oddly though, newsfire doesn't seem to parse the summary OR content bit of the atom entry so only the title appears in their window. i'm not sure whether it is me or newsfire that is at fault though. netnewswire and safari seems to display it alright.

... Read More

26 Oct 2005

news roundup: music, apple, apples, london

i've been busy with various things recently so i haven't commented on any tech news recently. there are a load of things i want to say about all sorts of things. but here's a long post for me to spill my thoughts about tech and life in general:

1. apple products

i'm a couple of weeks late, so let me start with the most recent and work my way back. itunes music store in australia!!! FINALLY!!! how long have i waited for this? anyway, as soon as i got wind of this, i immediately went and got my australian credit card out. after many many false starts, we finally got an itunes music store there, however, the selection is pretty disappointing, but i'm sure they just haven't had time. when i say disappointing, that is firstly Sony BMG (like the japan store) don't have anything in the catalogues, and also EMI aren't allowing full album purchases for their artists. normally that isn't a problem since i hardly buy full albums, but there are some songs which are marked "album only," so i can't actually buy the songs even though i'm willing to buy the album. other thing is that the back-catalogue is quite thin. i immediately tried to search for artists that i already have CDs for, and most of them aren't even in the system yet. but i'm sure that'll change soon.

so the other apple releases i was excited about was aperture and the new imac. not too concerned about the ipod video since i still contend that no one will go stare at a 2" screen for 2 hours for a movie. they're only good for an MTV or maybe a short funny viral video you watch when you're bored. or possibly video podcasts -- mainly the delicious system:filetype:mov feed that is very cool if you have unlimited bandwidth.

first off, aperture is like the answer to all of iphoto users complaints. too bad it is $500US and probably requires a dual powermac g5 to run properly. i love the interface and the things it can tweak, preserving the original and all the nice controls. too bad i'm not a professional photographer, but i'm considering changing my profession just because of this app. hahaha ..

the other thing is the new imac. man, if i had money, i'd buy the new imac immediately. this is what apple's answer to the media center. and hey, its not bad either, the remote and the camera in the imac are the deal makers. how many times have i showed off sailing clicker to control my itunes on the powerbook at parties and how many times has there been "wows" and "woos" from people who didn't know computers could do that. the isight, well, what can i say. it is about time they solved the problem people had about putting the isight on the imac!

2. london and francis

so my friend from australia came and vistied london and uk in general. in fact, it was his first time in europe, for business, so he stopped by uk for a little bit of a holiday and so we could catch up. also, he really didn't quite want to stop here, but his visa was expiring, so he needed to stop over in an english speaking country to renew his visa at the US embassy.

went down early last week to meet up with him and take him around, and to give him all sorts of paper work that the US embassy requires. we had lunch in an italian cafe in london where he tried to order a "side of fruit", but his accent plus combined with the italian accent of the manager meant that no one knew what he was ordering. in fact, the manager was so embarassed about it, that he offered us a round of coffees on the house! appararently in us, it is typical to get fruit with your meal, but not over here.

i went with him to various bits of london, including where those horse guards were (i've never been there), westminister abbey (where there was a line to get into the gallery for all the blair fanboys to watch him debate the id card issue) and to the tower bridge (which we went up and discovered that unless you get high on bridge mechanics, then you probably wouldn't find it worth paying £5 going up there.)

of course, no visit to london is complete without my pligrim to the apple store. this was no exception, but the only excuse i made to go there was to check out on google maps where the embassy was. in fact, google maps sucked on that, and we had to resort to multimap!

3. apple fair

no not that apple, but the edible kind. on sunday, we went to the apple fair in cambridge that happens every year around this time. basically, in the botanical gardens in cambridge, they setup some tents to let local farmers show off their apple ciders and apples. you could get free tasting of over 20 types of apples and even bring your apples from your apple tree (if you're lucky to have one) and they could classify your apples.


i enjoyed it more than i thought, but the cider was pretty weak and expensive. we bought some nice apples tho, but unfortuantely they had no macintosh/mcintosh apples.


... Read More

26 Oct 2005

new site engine using django

if you are reading this, then that means i have successfully switched from using drupal to my own homebrewed blogging site built using the fabulous django web framework.

i've been using drupal since october 2002, the month i started my phd in cambridge. and its been a great ride since it has turned out to be the cleanest code base and the most easily adaptable content management system (CMS) i've ever used.

but it is time to move on. ever since i laid eyes on django, i knew one day i'd be running my web site off this web framework. for one, it is in python, my favourite programming language (in case you don't know me.) admittedly i haven't spent time looking at cherrypy and turbogears, but i've already built one web app with django, and it just seemed like the obvious candidate to build my web site out of it.

why was drupal not the right fit?

1. drupal has a complex core

in order for drupal to be so flexible and allow for so many cool modules, its core is pretty complex. there are some neat things i like to do with my blog, but it just wasn't possible with drupal unless i branched their core code. i didn't want to maintain a branch like that.

2. i hate php

after years of programming in php, it was time to move on and as mod_python has matured, it is the natural progression to move to my favourite programming language.

3. drupal dev is way too high traffic to keep up

i'm subscribed to the drupal dev list but its been a real pain to keep up with in the last year or so. there are a couple thousand messages a month. not fun when i'm only an occasionally bug/patch submitter.

4. drupal is too able!

hard to believe, but i don't need so many features on my blog. i only need to post articles, photos and links. i don't need multi user features, i don't need people to login to comment, i don't need side bars, etc. using drupal made me find what i really wanted out of the system, and it was a very small subset of what drupal gave me. i maintained things that did comment filtering to combat spam, whereas moderation is essentially useless to me. in the end, there was so much fluff around the basic engine that i don't use -- that ended up getting in the way.

so what now?

i've got the basic blog up and running. actually that code was done last week, but the rest of the week i've been spending time writing scripts to port all the data from drupal's mysql database to django. it's been pretty painful because i've had to keep track of all the old "permalinks" and make them redirect properly to my new way of referencing blog entries (i really hated /node/3942093 as a url.)

there are still a couple of things i need to handle, some spam filtering middleware (that is what they call it in django-speak), search, atom feeds, xmlrpc and google sitemaps. but all of them should be pretty straightforward.

one other cool thing is to link with my own implementation of delicious -- well actually it is just a web based bookmark manager, so it is very far from delicious, but it is again the stripped down features of delicious that i use. i've started using this rather than delicious to flesh it out a bit more.

my delicious

i love delicious. its the most delicious thing since slice bread. but i wanted to have my own. problem is that that delicious is written in perl (my second least favourite language) and even if they decide to open up the code, i wouldn't want to touch it. essentially, delicious' core is very easy. the greatness of delicious is from the users in the system and also their scalability. i've been told about scuttle, but that is in php, so a no-go if i wanted to do something serious with it.

so i've written my own, and after fluffing around, it only really took me two hours to write it in django. that is a testament to how easy it is. i spent some more time trying to refine the engine to do multi-user, if i needed in the future, but i'm pretty sure i'm the only one who's going to use it.

i have some nice ideas for this part of my site, going to make use of some linkbacks to delicious, synchronise my bookmarks with delicious and play with a server-to-server implementation which would allow cross installation searches and aggregation, sort of like what delicious does, but decentralised.

we'll see how i go on that one. so that i about it for now. if you see some breakage, please let me know!

... Read More

17 Oct 2005

ipod nano + qrcode = advertisment

here's a pretty neat ipod nano ad at the shinjuku station in tokyo. a wall of photos of ipod nanos that are peelable. on the back of the card is a qrcode where people can (presumably) find more information about the nano.

 Arena Ipod Archives 1012Ipodcard03

 Arena Ipod Archives 1012Ipodcard02

(pics from japanese ipod news)

i'm just impressed by both the qrcode (hey they exist -- whether people use it is a totally separate question) and the fact they have some innovative way of grabbing people's attention. plus something cool to take how. i remember when sony released the memorystick in hong kong, they had people on the streets giving out chewing gum shaped like the memorystick to show you how small it is (or how big it is now)

via rfid japan

... Read More

17 Oct 2005

google opens shop in sydney

hrmm, maybe there actually are interesting opportunities in sydney?

... Read More

16 Oct 2005

interesting stats (last time i'm going to talk about stats)

here are some interesting things i've found out from doing all this web stats analysis:

1. my album art widget is most popular in japan than anywhere in the world. more people link to it from japanese web sites than english ones. in fact, i think i haven't seen one english blog link to it so far, but i've seen over 10 japanese blogs link to it, and one chinese blog.

2. the other popular thing on my site seems to be this t-shirt folding mpeg that i was sent some time ago and put on my blog. i don't even know where it originally came from. by far the most people linking to it are blogs/forums in german. seems like germans really like folding t-shirts.

3. spammers use all sorts of bogus user agent strings. for instance, they've invented all sorts of MSIE version such as 5.12, 5.13, 5.17.

4. i have visitors to this site who use msie 7.0 beta and microsoft vista.

5. yahoo's crawlers are 5 times more aggressive than google, yet 90% of all my referrers from search engines are from google.

6. msie is still by far the most popular browser on this site, even with my skew towards mac and linux. not even firefox + safari combined can beat msie. the share is around 50% IE, 25% safari and 25% firefox.

7. liferea 0.9.6 sucks really bad. i've had to purge my logs of all liferea 0.9.6 user agents. why? because they have a stupid bug which makes readers refresh my feeds every 1 second. thanks guys for wasting all my bandwidth.

8. netnewswire is by far the most popular rss feed reader for this site. only close coming second is safari rss (can't really tell with firefox whether it is refreshing the feed or not).

9. apparently pictures on this site dominate google images' search for "mac", "smart" and"cute". i have no idea why my image of a "mac mini", "smart sports car" and "electrocute" comes out on the first page for those google image searches.

10. apple.com is by far the biggest non-search referrer to my site. most are just direct downloads of the widget.

11. there are around 3600 people who are actively using my the latest version widget. thats not counting the 60000+ who have downloaded the older versions.

there are more stupid facts, but thats all i have for you guys for now :)

... Read More

16 Oct 2005

ajazzy web stats

over the couple of months, i've been experimenting with analysing web stats. as much as i like modlogan i can't seem to bring myself to write text parsing things in C. c'mon, that is probably the worst language to do pattern matching. drupal's stats are alright, except that it get overwhelmed by spammers very easily.

i went through a couple of iterations with using a postgresql database, using mod_python frontend and a text file backend and finally to a bunch of python/shell scripts to produce summaries that are then read via javascript to display things in a nice table. the earlier two methods were just way too slow once you get to around half a million lines of logs.

so now after some painful javascript hacking -- i have stats dot liquidx dot net. its a bit rough on the edges right now, but its the closest thing that has come to a usable web stats thing. the backend data is all generated by a combination of python scripts that act as filters (breaking up the apache log lines and filtering things like all search engine referrers or spammers) and categorisers (having an index of search engines, user agents) and an evil combination of sed, awk and grep chained together by bits of bash.

now i know why it is so painful to do web stats well, and why people are actually paying for someone to do the hard work. figuring out what you should throw away, and what you shouldn't is pretty difficult.

i should stop wasting my time on something as mundane as web stats :(

... Read More