tuning in to podcasting
I finally got around to hooking my mobile phone to my PC (for mp3 transferring)* to listen to an interview with Alistair Cockburn about agile development. The interview was recommended by Lars Pind—a friend and podcast-listener—in his blog.
Now I'm hooked. I don't actually use any special software, I just download an audio file from IT conversations.com onto my phone each morning. The amp in my LG U8120 is not really loud enough to compete with the train noise, so I sometimes go for a walk at lunch and listen.
Listening to a daily audio program is really a great way to get a richness of information in your favourite areas. It's kindof like listening to NPR's All Things Considered, but always about topics you are actually interested in ;)
The podcasting software takes it a step further, and chooses your audio files from your selected RSS streams and sticks them straight onto your iPod or other mp3 device. No rocket science here, but then bloggin software wasn't rocj]ket science and look what that did.
Of course it's hard enough getting files onto my LG phone at all (over USB via Windows XP running in an emulator on my Linux workstation) without the fancy stuff...
I hope and/or suspect to see a podcasting channel from the boys at Tram Town one day :)
Another Perl 5 OO Syntax [search.cpan.org]
"Spiffy" is a framework and methodology for doing object oriented (OO) programming in Perl. Spiffy combines the best parts of Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class. It attempts to fix all the nits and warts of traditional Perl OO, in a clean, straightforward and (perhaps someday) standard way.
Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6. It also adds a few tricks of its own.
I haven't played with it, but I still like the idea behind reformed-perl better. But then they don't quite aim at the same problem.
I started to get frustrated about having no easy way to bookmark things that look usefull when surfing at home or work to look at later. I end up emailing myself links all the time.
In the process I would CC friends with that particular interest if I thought the material was interesting enough.
Well, del.icio.us social bookmarks is the answer. I was already visiting del.icio.us/tag/perl to keep on top of new 'net articles about my favourite programming language so it makes sense to contribute mine and to get a personal global bookmarking system to boot.
I post links to my own del.icio.us/aufflick area using handy shortcuts on my browsers respective toolbar. I can access them on via http://del.icio.us/aufflick or via RSS. The RSS access is super handy, since it means that my bookmarks can appear in my Firefox sidebar using the excellent RSS plugin.
As an added bonus, I have also hacked up a recent links box in the left column of this site where you can see my 5 most recent bookmarks.
Perl Monks search plugin for Mozilla/Firefox [pumptheory.com]
So if you want to try out my Perl Monks search plugin, you can install it from my business web site:
The plugin has a caveat, quoted from my original email:
The one caveat with it is that the site uses the same url (index.pl) for search results and article display, so the sidebar results list gets cleared when you click on an article. I cannot see any way in the search plugin syntax to deal with this, but I am open to suggestions! I will also suggest to the site maintainers that they change this behaviour to allow the plugin to work properly.
Ultimate developer workstation accessories
If you're thinking of buying one for me as a gift, I think the 6 x 19" is a good compromise of size tp price. The 19" display segments also seem to have the best brightness and contrast.
The Tokyo F1 race should have been called an F1 drive...
That combined with the Japanese tv directors inability to find the action made for disappointing viewing. Jenson Button possibly missing out on 2nd because he let Takuma Sato through on team orders was also disappointing.
One bright spot to look forward to—I can't wait to see what Mark Webber can do in a real car next year.
John's come good! [vtr.aec.gov.au]
Far from the mandate for change that Labor/Latham were asking for, the Liberals are actually UP 1.8% on a two party preferred basis.
Pretty much no-one was forecasting this outcome. Victory to the Liberals by a slimmer margin was the accepted reality. So what happened?
Labor's Bob McMullen tells us that he is "fearful for the future" and "disappointed". Perhaps he, as Costello has been saying of the Labor Party, doesn't trust the public to make sensible decisions.
Nick Minchin said he thinks that most Australians were smart enough to know that Labor's promises were "too good to be true".
Looking at who contested what seats and the relevant seats, I have my own theory. Obviously one part is that people are pretty happy with the record of the Liberal/Howard/Costello combination, so I wasn't expecting dramatic swings. But nearly every contesting candidate has a swing towards them.
So where did all the votes come from? Mostly, it seems, have come from the implosion of the Democrats in every seat (including a number they have failed to contest). Some (but definately less) from the drop in support for One Nation (but not as across the board as the Democrats drop). To my eye there also seem to be less independants contesting than last time, but I haven't seen stats supporting that.
The Greens haven't garnered as much support as I feared, and the support for Family First is quite pleasing. Alan Cadman securing Mitchell against no less than 8 opponents yet again is no surprise. Louise Markus taking Greenway from Labour is a good win. Ross Cameron seems to have sadly met his fate in Paramatta (although the postal votes remain to be seen in this ultra-marginal seat).
All in all a far more interesting election that expected.
The senate count is less advanced, but things look good for the Liberals there as well which will hopefully leave our country less at the mercy of Greens or Democrats.
Is it time for bed yet?
The Ansari X Prize has been won by SpaceShipOne! [www.economist.com]
Now that's cool.
If you want to buy a ticket, maybe you won't have to wait long...
[SpaceShipOne] has teamed up with Sir Richard Branson, an airlines-to-telecoms entrepreneur, to offer space tourism under the banner of Virgin Galactic.
You just know Branson couldn't resist branding that sucker. Sure beats a big baloon ;)
An industry thriving from putting payloads and paying passengers into space? It may sound fanciful, but thats what they said about the first aircraft designed to ferry passengers across continents.
Recently presented lecture material
The slide sets and related research materials are now available online:
Introduction to Fonts [www.anaesthetist.com]
This page rates a mention since I find that so many developers have little understanding about the basics behind fonts. Developers who started with Mac's in the early 90's have more than most for obvious reasons.
Even if you don't follow the maths behind bezier curves etc., you will learn a lot of usefull terminology.
Fixing the window - raise issue in X11.app with sawfish
The problem turns out to be that Apple made the decision that just switching to X11.app wouldn't change any stacking - the wm (window manager) should raise the stacking of the window. Trouble is, most window managers won't bother to raise the window it already knows (thinks) is on top (since it doesn't manage the MacOS windows).
Under Sawfish this is easy to solve. In sawfish-ui->Bindings->Window, map Button-1 to Raise and passthrough click if focussed instead of the usual Raise and passthrough click.
Or add this to your ~/.sawfish/custom file:
(custom-set-keymap (quote window-keymap) (quote (keymap (raise-and-pass-through-click-if-focused . "Button1-Click") (move-window-interactively . "W-Button1-Move") (popup-window-menu . "W-Button2-Click") (raise-lower-window . "W-Button3-Click") (lower-window . "W-Down") (raise-window . "W-Up"))))
There are some other bits in there too.
Unfortunately this won't work with my usual sawfish config that has button-1 do NO raising, and button-3 set to raise OR passthrough click...
Having a window (say an xload) in the upper layer breaks this fix. Just kill the offendin window and all is good.
Also, Exposé so frustratingly almost works. It shows the X11 windows, and even brings one to the front when you click it, but the X11 window manager doesn't know about the stacking change, so if the previously front window overlaps your new front window, it will recieve the click (and revert to the front) when you click in that region. gah.
Also, this fix has no effect if there is only one X11 window open. You need at least two for sawfish to even bother raising anything.
ROT13 Implemented multiple ways in 58 languages [www.miranda.org]
And for people more interested in speed than security, there is a patch to use rot13 as a cipher for your ssh connections!
I notice there is no SysRPL implementation Russell...
What is Amazon getting at? or to?
For instance, did you know that people who view my business site (pumptheory.com) also view massmedia.com.au? The Amazon wesite info page for pumptheory.com tells you all this and more—including that my "Average Traffic Rank" is 5,052,676! Can I exchange them for dollars?
This site (my blog) apparently only has a 4,852,959 strong Average Traffic Rank.
Even stranger, a friend's site has an Amazon ASIN product code:
http://www.amazon.com/exec/obidos/ASIN/B00009RE5T/ - thecodemill.biz
U2's lost "October" lyrics returned [www.theolympian.com]
It seems that someone found them in an attic (is that like the back of a truck?) and returned them to Bono.
Maybe they know where my acoustic guitar is...
Getting sawfish to compile under cygwin
CAVEAT: This is a hurridly written and poorly constructed document. I will try to edit it into a more useable form later. I can't tell you what underlying cygwin modules are required, except to say that I have a full developer install with importantly:
- all the gdbm database modules installed.
- pango-devel Current cygwin also includes a bunch of gnome libraries in the X11 section which will help you runnning gnome applications later.
Sawfish relies on a number of other projects, which take varying efforts to install.
1/ Imlib image library
Download the latest Imlib bundle from http://sourceforge.net/projects/cygwin-ports/ and untar it with tar zxf (or tar jxf if it's a bzip file)
You will end up with the original source tar file and a bunch of patch related files. Simply running ./imlib-1.9.14-1.sh all will unpack, patch, compile and install imlib for you.
It will also delete the build directory when it's done, so if you want to go through the build process yourself it will take more steps, starting with ./imlib-1.9.14-1.sh mkdirs; ./imlib-1.9.14-1.sh prep. The rest is left to the reader ;)
NOTHING I tried could make it compile.
It turns out, you can make the gnome 1.4 binary versions work from cygnome.
Run the cygwin installer as per normal, but set your mirror to http://cygnome.sourceforge.net - you will find a whole load of GNOME-* categories. From memory the auto dependancies don't select everything you need, but be careful not to click things you don't need as you may end up un-installing some newer versions from the current cygwin installation.
In fact I reccomend making a backup of your entire cygwin directory - I broke mine once and was glad to have a backup.
Now you're installed, you need to setup your PATH to include /opt/gnome/bin and your library path to include /opt/gnome/lib.
I added these two lines to my /usr/X11R6/bin/startxwin.sh file:
export LD_LIBRARY_PATH="/usr/lib:/usr/X11/lib: :/usr/local/lib:/opt/gnome/lib" and put a (sawfish &) at the end.
Note that for some reason, sawfish doesn't decorate any already running windows, so I don't start any apps from the startxwin.sh - instead I start them from my .sawfishrc file eg:
(system "xsetroot -solid lightblue") (system "xterm -e bash &") (system "xload &")
The makefile won't compile pager (no surprise) - I used this commandline to produce pager.exe within the aforementioned sawfish1.2-gtk1 environment:
gcc -DUSE_SAWFISH_LIBCLIENT -DFRAMEOVER -I/opt/gnome/include/gtk-1.2 -I/opt/gnome/include/glib-1.2 -I/opt/gnome/lib/glib/include -I/usr/X11R6/include -L/opt/gnome/libexec/rep/i686-pc-cygwin/sawfish -L/opt/gnome/bin -L/usr/X11R6/lib -lgtk -lgdk -lgmodule -lglib -lintl -lXext -lX11 pager.c /opt/gnome/libexec/rep/i686-pc-cygwin/sawfish/client.dll -o pager
You will also need to add /opt/gnome/libexec/rep/i686-pc-cygwin/sawfish/ to your PATH so the dll loader can find it.
do a make private-install to copy and compile the lisp files. It will fail to copy pager.exe, so just cp pager.exe ~/.sawfish yourself.
If you have no pager, and executing ~/.sawfish/pager.exe by hand yields:
error: can't connect to socket
or similar, just delete the socket file it found and restart sawfish. Actually, you need to delete the whole /tmp/.sawfish-MYUser directory, otherwise the next time sawfish starts it won't create a socket file. And then all sorts of wierdness ensues.
Forgot: You also need to let cygwin find client.dll by adding /opt/gnome/libexec/rep/i686-pc-cygwin/sawfish/ to your PATH.
Blog Categoriessoftware (40)
..heads up 'tunes (5)
..black and white (6)
..A day in Sydney (18)
..The Daily Shoot (6)
Book Review (2)