20th
Eric Clapton is all thumbs after all:
Stevie Ray Vaughan, not as good as you thought:
This video is from our ExoSocial event at Nanshan Ski Village just outside Beijing today. It shows what the few people that went to the top were up to (most people stayed on the green slopes). Fun to see programmers, PMs, and sysadms basking in the snow.
This was my first edit using the new iMovie. It’s a very rough cut ![]()
On occasion of the second world-wide Django sprint we got together 12 people to sprint at Exoweb’s office yesterday.
The good:
It was great to see new Djangoistas, and it made me think there might even be enough interest for a Django user group in Beijing. There’s already a Python User Group in Beijing.
I personally found it fun to get down-and-dirty with the core Django framework. It’s good to work with a system that has such a complete set of tests and documentation. It has a…
I’ve been having so much fun listening to songs and watching music videos by Jonathan Coluton, an ex-software developer gone Internet music artist, or “Internet star”. He originally made headlines with his “Thing a Week” project in which he would make and publish a song every week. Merlin Mann has a good interview with Jonathan where he discusses what the process was like.
His unique background makes for some unique songs, very geeky songs, like code monkey and lately Still Alive, the…
In his article Jacky explained how to easily drill holes through to ports on machines behind a firewall. What I normally want is to have ssh access to machines behind firewalls, allowing me to do scp, and easily ssh in without a stupid stop-over on the firewall machine.
I came across this solution that does exactly that. After the super-simple set-up I’m able to do:
Richard noticed that Feedburner has been blocked in China. This is terrible news as a lot of blogs and podcasts are using feedburner! No wonder half my podcasts suddenly stopped working. Let me know if you find a work-around (besides using Tor for everything).
(via Bjørn Stabell 白熊)
Warning: This is a rant.
With wifi came the promise of being online (almost) anywhere, but due to incompetent or misdirected implementation and management, it’s pretty much a patchwork of extremely unreliable networks. My experience is that there’s a 30-40% chance of actually being able to get online at an access point.
In the case of wireless access points (AP) owned and operated by cafes/restaurants, they are:
In the case of commercial access points, while they’re more professionally installed and run, the access and management systems kill the experience. Here are typical problems:
I have yet to find a good web application like this. In my opinion they should be banned altogether. The internet is not the same as the web, so just requiring you to go through such a manual and unreliable system to get online is insane.
If I have to guess, I would have to guess that these systems are designed, implemented, bought, and managed by incompetent people as well, people that:
I have been using wifi extensively in a few places around the world (Beijing, Hong Kong, Budapest, Singapore, San Francisco), and the only wifi access points I’ve seen that work are those that are free and run by clueful coffee shop or restaurant owners that know to:
In addition, for laptop users, it’s also always good to have power sockets around. ![]()
Tired of fighting with browsers on CSS issues regarding layouts, styling of buttons, or generating print versions? Then you’d probably be interested in the Blueprint CSS Framework which I discovered via Mark Boulton. It’s getting great reviews, looks to have a lot of promise… and by a fellow Norwegian to top it off. Check the tutorial for a good introduction.
(via Bjørn Stabell 白熊)
Although easy_install might be sufficient to install a Python package (aka egg) onto your system, it doesn’t help you find available packages or see what you have on your system. Most package managers does, so this was a bit surprising. I was frustrated enough that I started looking at what it would take to make one. I came so far as to create a little utility built on top of setuptools that downloaded the Python Package Index (aka cheeseshop, aka PyPI) using httplib2 with caching.
Searching for pypi using this utility I saw a couple of packages, including one called yolk that promised to be a “Command-line tool querying PyPI and Python packages installed on your system.” Great! Saved me a lot of work. ![]()
Yolk not only allows you to search PyPI using yolk -S <name>, it also gives you a way to query the packages that you have installed on your system using yolk -l. I’ve NEVER seen this before for Python eggs, so it was quite fun. Yolk doesn’t cache stuff from the PyPI, however, so that’s a bit of a downer for us living in bandwidth-challenged areas like China.
If you wonder, yolk is a word play on “egg yolk“, which is the yellow part of the egg. Python packages as done by setuptools are called eggs, thus the name.
By the way, httplib2, although not part of the standard library, is quite a bit better than urllib2 or httplib, and apparently the only way to easily make HTTP requests that use HTTP methods besides GET and POST; i.e., PUT, DELETE, HEAD, etc, as required by REST. It also exposes a very feature-complete client-side cache, so you can do:
I hope the standard library cleanup project that is planned for Python 3000 includes this module, and updates it so that it can support file-like interface to reading, not just returning a string like it does now. A compatibility module with the old http/url modules would be cool too. ![]()
At OSCON 2007 Jacob Kaplan-Moss, Simon Willison, and Jeremy Dunck held a Django Master Class. Jacob just posted the slides on the web, and it contains a few goodies, like:
dumpdata