<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet Linux Australia</title>
	<link>http://planet.linux.org.au</link>
	<language>en</language>
	<description>Planet Linux Australia - http://planet.linux.org.au</description>

<item>
	<title>Russell Coker: DomainKeys and OpenSSL have Defeated Me</title>
	<guid isPermaLink="false">http://etbe.coker.com.au/?p=1228</guid>
	<link>http://etbe.coker.com.au/2009/07/03/domainkeys-and-openssl-have-defeated-me/</link>
	<description>&lt;p&gt;I have previously written about &lt;a href=&quot;http://etbe.coker.com.au/2009/06/22/valgrindhelgrind-and-stl-string/&quot;&gt;an error that valgrind reported in the STL when some string operations were performed by the DKIM library [1]&lt;/a&gt;.  This turned out to be a bug, Jonathan Wakely filed GCC bug report &lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518&quot;&gt;#40518 [2]&lt;/a&gt; about it, Jonathan is one of many very skillful people who commented on that post.&lt;/p&gt;
&lt;p&gt;deb http://www.coker.com.au lenny gcc&lt;/p&gt;
&lt;p&gt;I’m still not sure whether that bug could actually harm my program, Nathan Myers strongly suggested that it would not impact the correct functionality of the program but mentioned a possible performance issue (which will hurt me as the target platform is 8 or 12 core systems).  Jaymz Julian seems to believe that the STL code in question can lead to incorrect operation and suggested &lt;b&gt;stlport&lt;/b&gt; as an alternative.  As I’m not taking any chances I built GCC with a patch from Jonathan’s bug report for my development machines and then built libdkim with that GCC.  I created the above APT repository for my patched GCC packages.  I also included version 3.4.1 of Valgrind (back-ported from Debian/Unstable) in that repository.&lt;/p&gt;
&lt;p&gt;Nathan Myers also wrote: “&lt;b&gt;Any program that calls strtok() even once may be flagged as buggy regardless of any thread safety issues. Use of strtok() (or strtok_r()) is a marker not unlike gets() of ill thought out coding.&lt;/b&gt;”  I agree, &lt;a href=&quot;http://etbe.coker.com.au/2009/06/14/finding-thread-unsafe-code/&quot;&gt;I wrote a program to find such code and have eliminated all such code where it is called from my program [3]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I think it’s unfortunate that I have to rebuild all of GCC for a simple STL patch.  &lt;a href=&quot;http://etbe.coker.com.au/2009/06/24/unreasonably-large-source-packages/&quot;&gt;My blog post about the issue of the size and time required to rebuild those packages [4]&lt;/a&gt; received some interesting comments, probably the most immediately useful one was to use &lt;b&gt;--disable-bootstrap&lt;/b&gt; to get a faster GCC build, that was from Jonathan Wakely.  Joe Buck noted that the source is available in smaller packages upstream, this is interesting, but unless the Debian developers package it in the same way I will have to work with the large Debian source packages.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://etbe.coker.com.au/2009/06/28/valgrind-and-openssl/&quot;&gt;I have filed many bug reports against the OpenSSL packages in Debian based on the errors reported by Valgrind [5]&lt;/a&gt;.  I didn’t report all the issues related to error handling as there were too many.  Now my program is often crashing when DomainKeys code is calling those error functions, so one of the many Valgrind/Helgrind issues I didn’t report may be the cause of my problems.  But I can’t report too many bugs at once, I need to give people time to work on the current bug list first.&lt;/p&gt;
&lt;p&gt;Another problem I have is that sometimes the libdkim code will trigger a libc assertion on malloc() or free() if DomainKeys code has been previously called.  So it seems that the DomainKeys code (or maybe the OpenSSL code it calls) is corrupting the heap.&lt;/p&gt;
&lt;p&gt;So I have given up on the idea of getting DomainKeys code working in a threaded environment.  Whenever I need to validate a DomainKeys message my program will now fork a child process to do that.  If it corrupts the heap while doing so it’s no big deal as the child process calls exit(0) after it has returned the result over a pipe.  This causes a performance loss, but it appears that it’s less than 3 times slower which isn’t too bad.  From a programming perspective this was fairly easy to implement because a thread of the main program prepares all the data and then the child process can operate on it – it would be a lot harder to implement such things on an OS which doesn’t have fork().&lt;/p&gt;
&lt;p&gt;DomainKeys has been obsoleted by DKIM for some time, so all new deployments of signed email should be based on DKIM and systems that currently use DomainKeys should be migrating soon.  So the performance loss on what is essentially a legacy feature shouldn’t impact the utility of my program.&lt;/p&gt;
&lt;p&gt;I am considering uploading my libdomainkeys package to Debian.  I’m not sure how useful it would be as DomainKeys is hopefully going away.  But as I’ve done a lot of work on it already I’m happy to share if people are interested.&lt;/p&gt;
&lt;p&gt;Thanks again for all the people who wrote great comments on my posts.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;br&gt;&lt;/br&gt;
&lt;li&gt;[1]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/22/valgrindhelgrind-and-stl-string/&quot;&gt; http://etbe.coker.com.au/2009/06/22/valgrindhelgrind-and-stl-string/&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;
&lt;li&gt;[2]&lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518&quot;&gt; http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;
&lt;li&gt;[3]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/14/finding-thread-unsafe-code/&quot;&gt; http://etbe.coker.com.au/2009/06/14/finding-thread-unsafe-code/&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;
&lt;li&gt;[4]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/24/unreasonably-large-source-packages/&quot;&gt; http://etbe.coker.com.au/2009/06/24/unreasonably-large-source-packages/&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;
&lt;li&gt;[5]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/28/valgrind-and-openssl/&quot;&gt; http://etbe.coker.com.au/2009/06/28/valgrind-and-openssl/&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;
&lt;/ul&gt;</description>
	<pubDate>Thu, 02 Jul 2009 23:26:40 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: Dogfooding a pastebin</title>
	<guid isPermaLink="false">http://www.flamingspork.com/blog/?p=1667</guid>
	<link>http://www.flamingspork.com/blog/2009/07/03/dogfooding-a-pastebin/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://pastebin.flamingspork.com/&quot;&gt;http://pastebin.flamingspork.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A pastebin running Drizzle and  the Drizzle PHP Extension (which is on top of libdrizzle).&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 16:26:55 +0000</pubDate>
</item>
<item>
	<title>Paul Wayper: Look Mum, no bugs!</title>
	<guid isPermaLink="true">http://www.mabula.net/tbfw/blosxom.cgi/2009/07/02#2009-07-02-look-mum-no-bugs</guid>
	<link>http://www.mabula.net/tbfw/blosxom.cgi/2009/07/02#2009-07-02-look-mum-no-bugs</link>
	<description>I recently encountered
&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/394095&quot;&gt;a
bug&lt;/a&gt; in RhythmBox where, if you rename a directory, it thinks that all
the files in the old directory have disappeared and there's a whole bunch of
new files.  You lose all the metadata - and for me that was hours of ratings
as I worked my way through my time-shiftings of the chillout stream of
&lt;a href=&quot;http://di.fm&quot;&gt;Digitally Imported&lt;/a&gt;.  Worse, if RhythmBox was
running during the rename, when you try to play one of those files that has
'gone missing' it will just say &quot;output error&quot;; when you restart it because
(naturally) you think it's borked its codecs or something, it then removes
all those previous entries (giving you no chance to fix the problem if you'd
just renamed the directory in error).&lt;p&gt;

I decided to try to be good, so I found &lt;a href=&quot;http://bugzilla.gnome.org&quot;&gt;the
GNOME bugzilla&lt;/a&gt; and tried to search for &quot;directory&quot;, or &quot;rhythmbox&quot;, or
anything.  Every time it would spend a lot of time waiting and then just
finish with a blank page.  Deciding that their Bugzilla was hosed, I went and
got a Launchpad account and
&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/394095&quot;&gt;logged
it there&lt;/a&gt;.  Then, in a fit of &quot;but I might have just got something wrong&quot;,
I went back to the Bugzilla and tried to drill down instead of typing in a
keyword.&lt;/p&gt;&lt;p&gt;

Lo and behold, when I looked for bugs relating to &quot;Rhythmbox&quot;, it turned up
in the search bar as &lt;tt&gt;product:rhythmbox&lt;/tt&gt;.  Sure enough, if I typed in
&lt;tt&gt;product:rhythmbox summary:directory&lt;/tt&gt; then it came up with bugs that
mentioned 'directory' in their summary line.  If you don't get one of those
keywords right, it just returns the blank screen as a mute way of saying &quot;I
don't know how to deal with your search terms&quot;.&lt;/p&gt;&lt;p&gt;

So it would seem that the GNOME bugzilla has hit that classic problem:
developer blindness.  The developers all know how to use it, and therefore
they don't believe anyone could possibly use it any differently.  This
extends to asserting that anyone using it wrong is &quot;obviously&quot; not worth
listening to, and therefore the blank page serves as a neat way of excluding
anyone who doesn't know the 'right' way to log a bug.  And then they wonder
why they get called iconoclastic, exclusive and annoying...&lt;/p&gt;&lt;p&gt;

Sadly, the fix is easy.  If you can't find any search terms you recognise,
at least warn the user.  Better still, assume that all terms that aren't
tagged appropriately search the summary line.  But maybe they're all waiting
for a patch or something...&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 13:26:10 +0000</pubDate>
</item>
<item>
	<title>Pia Waugh: My top 10 songs of all time</title>
	<guid isPermaLink="false">http://pipka.org/?p=975</guid>
	<link>http://pipka.org/blog/2009/07/02/my-top-10-songs-of-all-time/</link>
	<description>&lt;p&gt;So I didn’t actually get to vote in the &lt;a href=&quot;http://www.abc.net.au/triplej/hottest100_alltime/voting/&quot;&gt;Triple J top 100 of all time&lt;/a&gt;. I feel really stupid to have missed it! I was just asked (live on radio) whether I had voted and I stupidly said yes intending to get straight off the phone and onto the voting, but it was closed! So below are my top 10 songs of all time, some for technical reasons, all for emotional. Thought it might be of interest to some &lt;img src=&quot;http://pipka.org/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt; &lt;/p&gt;
&lt;p&gt;Meme time!&lt;/p&gt;
&lt;p&gt;In no particular order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gorecki – Lamb. Our wedding  song &lt;img src=&quot;http://pipka.org/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  About finding that person that just completes you, that complements and helps you want to be a better person. A beautiful song and a beautiful voice.&lt;/li&gt;
&lt;li&gt;Smells Like Teen Spirit – Nirvana. Changed everything, and yet so simple. Influenced a generation.&lt;/li&gt;
&lt;li&gt;Shame – Stabbing Westward. My favourite angsty teenage song. Once went to a Live (the band) concert just to see Stabbing Westward play support, and then left &lt;img src=&quot;http://pipka.org/wp-content/plugins/tango-smilies/tango/face-wink.png&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  The man has an incredible voice.&lt;/li&gt;
&lt;li&gt;H – Tool. I love a lot of the older Tool music, this particular one reminds me of  a close friend who died very young in very unfortunate circumstances.&lt;/li&gt;
&lt;li&gt;We’re in this together – Nine Inch Nails. I love pretty much every NIN song, but this one really talks to me about regardless of everything going on, none of us are truly alone.&lt;/li&gt;
&lt;li&gt;Fade to Black – Metallica. One of their best songs, and one that influenced me to learn guitar in the first place.&lt;/li&gt;
&lt;li&gt;Burn – The Cure. an amazing (and dark) song from The Crow soundtrack. One of their best in my opinion. Admittedly takes me back to school &lt;img src=&quot;http://pipka.org/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt; &lt;/li&gt;
&lt;li&gt;Cornflake Girl – Tori Amos. Beautiful, powerful and disturbing. Worth looking into the deeper meaning.&lt;/li&gt;
&lt;li&gt;Classical Gas – Mason Williams. An incredible guitar piece that puts me in an almost meditative state when I play it. Technically challenging but also a joy to play and listen to.&lt;/li&gt;
&lt;li&gt;Pathetique – Beethoven. Such an exquisite piano piece, and when played well covers about the entire scope of human emotion. Fun to play too, but I’ve yet to master it &lt;img src=&quot;http://pipka.org/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are so many more songs I love, and I’m sure given more time I’d rejig this another dozen times. So I’ll leave it there &lt;img src=&quot;http://pipka.org/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  Apart from one last honorary mention:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Space Cadet – Kyuss. Couldn’t leave this off. This 3 person rock band had such a big sound, such a complex and incredible mix. Great fun to play on the bass. Demon Cleaner also very worth listening to.&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Thu, 02 Jul 2009 12:25:08 +0000</pubDate>
</item>
<item>
	<title>Chris Samuel: Twitter Updates for 2009-07-02</title>
	<guid isPermaLink="true">http://www.csamuel.org/2009/07/02/twitter-updates-for-2009-07-02</guid>
	<link>http://www.csamuel.org/2009/07/02/twitter-updates-for-2009-07-02</link>
	<description>&lt;ul class=&quot;aktt_tweet_digest&quot;&gt;
&lt;li&gt;It's not just Canberra @sabman, have a look at Geelong &lt;a href=&quot;http://bit.ly/vhhEh&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/vhhEh&lt;/a&gt;&lt;br&gt;&lt;/br&gt;
 &lt;img src=&quot;http://www.csamuel.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  #&lt;a href=&quot;http://search.twitter.com/search?q=%23osm&quot;&gt;osm&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2433793521&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Which kernel are you using @&lt;a href=&quot;http://twitter.com/timfaas&quot;&gt;timfaas&lt;/a&gt; ?  There was a kernel bug that caused a big regression in sqlite performance from 2.6.26-28, fixed i … &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2433832300&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;RT @&lt;a href=&quot;http://twitter.com/774melbourne&quot;&gt;774melbourne&lt;/a&gt; – 'BOM: &quot;Batten down the hatches!&quot; Severe weather heading across the state, storms to hit Melbourne from 11pm.' &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2433887281&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;RT @&lt;a href=&quot;http://twitter.com/alecmuffett&quot;&gt;alecmuffett&lt;/a&gt; – history of abermud: &lt;a href=&quot;http://bit.ly/19jNGw&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/19jNGw&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2434018710&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;aktt_credit&quot;&gt;Powered by &lt;a href=&quot;http://alexking.org/projects/wordpress&quot;&gt;Twitter Tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This post syndicated from the website of &lt;a href=&quot;http://www.csamuel.org/&quot;&gt;Chris Samuel&lt;/a&gt;: &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.csamuel.org/2009/07/02/twitter-updates-for-2009-07-02&quot;&gt;Twitter Updates for 2009-07-02&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 11:26:36 +0000</pubDate>
</item>
<item>
	<title>Michael Still: Blathering for Friday, 03 July 2009</title>
	<guid isPermaLink="true">http://www.stillhq.com/blather/20090703.html</guid>
	<link>http://www.stillhq.com/blather/20090703.html</link>
	<description>&lt;b&gt;05:46&lt;/b&gt;: Mikal shared: &lt;a href=&quot;http://www.topatoco.com/graphics/qw-cheatsheet-print-zoom.jpg&quot;&gt;qw-cheatsheet-print-zoom.jpg&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;i&gt;Let's say you have to recreate modern technology from scratch... Happens to me all the time.&lt;/i&gt;&lt;/ul&gt;&lt;br&gt;&lt;/br&gt;

&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;i&gt;Tags for this post: blather(&lt;a href=&quot;http://www.stillhq.com/blather&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/blather/20090703&amp;amp;tag=blather&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;) &lt;/i&gt;
	
&lt;a href=&quot;http://www.stillhq.com/blather/20090703.commentform.html&quot;&gt;Comment&lt;/a&gt;
&lt;a href=&quot;http://www.stillhq.com/index.noblather.rss20&quot;&gt;RSS with no blather&lt;/a&gt;</description>
	<pubDate>Thu, 02 Jul 2009 10:28:04 +0000</pubDate>
</item>
<item>
	<title>Michael Still: Books read in June 2009</title>
	<guid isPermaLink="true">http://www.stillhq.com/book/read/200906.html</guid>
	<link>http://www.stillhq.com/book/read/200906.html</link>
	<description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.stillhq.com/book/Keith_Laumer/Bolos_2_The_Unconquerable.html&quot;&gt;Bolos 2: The Unconquerable&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stillhq.com/book/New_Scientist/Why_Dont_Penguins_Feet_Freeze.html&quot;&gt;Why don't penguin's feet freeze? (and 114 other questions)&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Alliance.html&quot;&gt;Isaac Asimov's Robot City: Robots and Aliens: Alliance&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stillhq.com/book/Mark_Leyner_and_Billy_Goldberg/Why_Do_Men_Have_Nipples.html&quot;&gt;Why do men have nipples?&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stillhq.com/book/John_Lloyd_and_John_Hitchinson/The_Book_of_General_Ignorance.html&quot;&gt;The Book of General Ignorance&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stillhq.com/book/Keith_Laumer/Bolos_3_The_Triumphant.html&quot;&gt;Bolos 3: The Triumphant&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stillhq.com/book/Keith_Laumer/Bolos_4_Last_Stand.html&quot;&gt;Bolos 4: Last Stand&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;

&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;i&gt;Tags for this post: book(&lt;a href=&quot;http://www.stillhq.com/book&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/book/read/200906&amp;amp;tag=book&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;)  read(&lt;a href=&quot;http://www.stillhq.com/read&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/book/read/200906&amp;amp;tag=read&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;) &lt;/i&gt;

&lt;a href=&quot;http://www.stillhq.com/book/read/200906.commentform.html&quot;&gt;Comment&lt;/a&gt;</description>
	<pubDate>Thu, 02 Jul 2009 09:27:46 +0000</pubDate>
</item>
<item>
	<title>Steven Hanley: [comp/linux] A regression for WPA2</title>
	<guid isPermaLink="true">http://svana.org/sjh/diary/2009/07/02#2009-07-02_01</guid>
	<link>http://svana.org/sjh/diary/2009/07/02#2009-07-02_01</link>
	<description>So for a while I was wondering why I could not use the ANU's WPA2 secure
network from my laptop. I had heard reports that some Ubuntu hardy machines
had worked. I run Debian unstable and a kernel.org 2.6.29.3 on this laptop.

&lt;p&gt;

I thought maybe there was some problem with my laptop hardware and maybe the
iwl4965 chipset simply would not do it under Linux. However searching online
suggested I should be able to make it do WPA2.

&lt;/p&gt;&lt;p&gt;

Thinking maybe the Ubuntu people had done it right and Debian was missing
something I tried booting a Jaunty live cd. I also discovered the rather neat
feature of suspend to disk (hibernate) in that you can hibernate your
computer, boot off a live cd, use it, reboot and have your existing session
come right back up normally on the next boot.

&lt;/p&gt;&lt;p&gt;

Anyway I booted up Jaunty and tried to authenticate, still failed in a similar
manner to my Debian installation. Out of curiosity as I had heard of hardy
working I booted my laptop on a hardy live cd. So network manager and iwlagn
driver combined on either Debian sid or Ubuntu jaunty had failed to
authenticate. Ubuntu hardy on the other hand, using an older version of
network manager and the iwl4965 driver in the kernel worked fine. WPA2
authentication and use on the ANU Secure wireless network.

&lt;/p&gt;&lt;p&gt;

So now I need to find out where the regression has happened that means WPA2 is
broken in more recent releases of the software (kernel drivers, wpa
supplicant, network manager) on either Debian or Ubuntu.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 09:26:14 +0000</pubDate>
</item>
<item>
	<title>Chris Smart: Say Goodbye to Reboots with Ksplice</title>
	<guid isPermaLink="false">http://blog.christophersmart.com/?p=916</guid>
	<link>http://blog.christophersmart.com/2009/07/02/say-goodbye-to-reboots-with-ksplice/</link>
	<description>&lt;p&gt;My &lt;a href=&quot;http://www.linux-mag.com/id/7403/&quot;&gt;latest article for Linux Magazine is about Ksplice&lt;/a&gt;, the awesome new technology which lets you apply kernel patches without needing a reboot!&lt;/p&gt;
&lt;p&gt;I first came across Ksplice at Linux.conf.au earlier this year when Co-Founder Jeff Arnold gave a presentation. It’s great to see it maturing to the point where you can install a client on your Ubuntu Jaunty machine. Sweeeet.&lt;/p&gt;
&lt;p&gt;If you dig it, &lt;a href=&quot;http://digg.com/linux_unix/Say_Goodbye_to_Reboots_with_Ksplice_Linux_Magazine&quot;&gt;then digg it&lt;/a&gt;! &lt;img src=&quot;http://blog.christophersmart.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt; &lt;/p&gt;
&lt;p&gt;-c&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 07:28:12 +0000</pubDate>
</item>
<item>
	<title>Russell Coker: Web Hosting After Death</title>
	<guid isPermaLink="false">http://etbe.coker.com.au/?p=1005</guid>
	<link>http://etbe.coker.com.au/2009/07/02/web-hosting-after-death/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://blog.steve.org.uk/there_s_something_out_there_waiting_for_us__and_it_ain_t_no_man_.html&quot;&gt;Steve Kemp writes about his concerns for what happens to his data after death [1]&lt;/a&gt;.  Basically everything will go away when bills stop being paid.  If you have hosting on a monthly basis (IE a Xen DomU) then when the bank account used for the bill payment is locked (maybe a week after death) the count-down to hosting expiry starts.  As noted in Steve’s post it is possible to pay for things in advance, but everything will run out eventually.&lt;/p&gt;
&lt;p&gt;One option is to have relatives keep the data online.  With hard drives getting bigger all the time it wouldn’t be difficult to backup the web sites for everyone in your family to a USB flash device and then put it online at a suitable place.  Of course that relies on having relatives with the skill and interest necessary.&lt;/p&gt;
&lt;p&gt;The difficult part is links, if the domain expires then links will be broken.  One way of alleviating this would be to host content with Blogger, Livejournal, or other similar services.  But then instead of the risk of a domain being lost you have the risk of a hosting company going bankrupt.&lt;/p&gt;
&lt;p&gt;It seems to me that the ideal solution would be to have a hosting company take over the web sites of deceased people and put adverts on them to cover the hosting costs.  As the amount of money being spent on Internet advertising will only increase while the costs of hosting steadily go down it seems that collecting a lot of content for advertising purposes would be a good business model. If the web sites of dead people are profitable then they will remain online.&lt;/p&gt;
&lt;p&gt;It wouldn’t be technically difficult to extract the data from a blog server such as Wordpress (either from a database dump or crawling the web site), change the intra-site links to point to a different domain name, and then put it online as static content with adverts.  If a single company (such as Google) had a large portion of the market of hosting the web sites of dead people then when someone died and had their web site transferred the links on the other sites maintained by the same company could be automatically adjusted to match.  A premium service from such a company could be to manage the domain.  If they were in the domain registrar business it would be easy to allow someone to pay for 10 or 20 years after their death.  Possibly with a portion of the advertising revenue going towards extending the domain registration.  I think that this idea has some business potential, I don’t have the time or energy to implement it myself and my clients are busy on other things so I’m offering it to the world.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.guardian.co.uk/technology/2009/jun/30/data-protection-internet&quot;&gt;Cory Doctorow has written an article for the Guardian about a related issue – how to allow the next of kin to access encrypted data when someone is dead [2]&lt;/a&gt;.  One obvious point that he missed is the possibility that he might forget his own password, a small injury from a car accident could cause that problem.&lt;/p&gt;
&lt;p&gt;It seems strange to me that someone would have a great deal of secret data that needs strong encryption but yet has some value after they are dead.  Archives of past correspondence to/from someone who is dead is one category of secret data that is really of little use to anyone unless the deceased was particularly famous.  Probably the majority of encrypted data from a dead person would be best wiped.&lt;/p&gt;
&lt;p&gt;For the contents of personal computers the best strategy would probably be to start by dividing the data into categories according to the secrecy requirements.  Publish the things that aren’t secret, store a lot of data unencrypted (things that are not really secret but you merely don’t want to share them with the world), have a large encrypted partition that will have it’s contents lost when you die, and have a very small encrypted device that has bank passwords and other data that is actually useful for the executors of the will.&lt;/p&gt;
&lt;p&gt;One thing that we really need is to have law firms that have greater technical skills.  It would be good if the law firms that help people draw up wills could advise them on such issues and act as a repository for such data.  It seems to me that the technical skills that are common within law firms are not adequate for the task of guarding secret electronic data for clients.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;br&gt;&lt;/br&gt;
&lt;li&gt;[1]&lt;a href=&quot;http://blog.steve.org.uk/there_s_something_out_there_waiting_for_us__and_it_ain_t_no_man_.html&quot;&gt; http://blog.steve.org.uk/there_s_something_out_there_waiting_for_us__and_it_ain_t_no_man_.html&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;
&lt;li&gt;[2]&lt;a href=&quot;http://www.guardian.co.uk/technology/2009/jun/30/data-protection-internet&quot;&gt; http://www.guardian.co.uk/technology/2009/jun/30/data-protection-internet&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;
&lt;/ul&gt;</description>
	<pubDate>Thu, 02 Jul 2009 06:27:03 +0000</pubDate>
</item>
<item>
	<title>Andrae Muys: Scala and Various Things.</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-7421391.post-5392366830475445623</guid>
	<link>http://etymon.blogspot.com/2009/07/scala-and-hibernate.html</link>
	<description>&lt;p&gt;Not quite ready to move across yet - however capturing some links to make life that little bit easier when I do.  I'm hoping these approaches will work as well for Elmo/OTM as they do for Hibernate.
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://sntx.livejournal.com/33780.html&quot;&gt;Hibernate and Scala&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://matt.immute.net/content/more-scala-hibernate&quot;&gt;
More Scala + Hibernate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://matt.immute.net/content/scala-hibernate-overview&quot;&gt;Scala + Hibernate overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/liftweb/browse_thread/thread/394b3a15206dd3b8&quot;&gt;Lift thread with interesting comments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I'll be updating this with any more links I want to save for a sunny day.
&lt;/p&gt;
&lt;p&gt;
A couple more links worthy of rereading:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://james-iry.blogspot.com/2007/09/monads-are-elephants-part-1.html&quot;&gt;monads-are-elephants-part-1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-2.html&quot;&gt;monads-are-elephants-part-2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/7421391-5392366830475445623?l=etymon.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;&lt;/img&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 02 Jul 2009 05:30:00 +0000</pubDate>
	<author>noreply@blogger.com (Andrae Muys)</author>
</item>
<item>
	<title>Jason Parker-Burlingham: A study in yellow</title>
	<guid isPermaLink="true">http://nooks.livejournal.com/82575.html</guid>
	<link>http://nooks.livejournal.com/82575.html</link>
	<description>&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/nooks/3674357229/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2435/3674357229_7f8c91302b_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 1px #000000;&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/nooks/3674357229/&quot;&gt;Hard-workin' bees&lt;/a&gt;&lt;br&gt;&lt;/br&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/nooks/&quot;&gt;Nooks&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;Closeups of bees are tricky as all get-out, on account of their skittishness and apparent six sense with regard to when you'll try to open the shutter.  But I can't stop trying.&lt;/p&gt;&lt;br clear=&quot;all&quot;&gt;&lt;/br&gt;</description>
	<pubDate>Thu, 02 Jul 2009 04:26:15 +0000</pubDate>
	<author>jasonp@panix.com (Jason Parker-Burlingham)</author>
</item>
<item>
	<title>Jason Parker-Burlingham</title>
	<guid isPermaLink="true">http://nooks.livejournal.com/82274.html</guid>
	<link>http://nooks.livejournal.com/82274.html</link>
	<description>&lt;p&gt;My day started with a blow from a tiny little knee to the groin.  How's your day?&lt;/p&gt;</description>
	<pubDate>Wed, 01 Jul 2009 18:25:55 +0000</pubDate>
	<author>jasonp@panix.com (Jason Parker-Burlingham)</author>
</item>
<item>
	<title>Tim Riley: Using RSpec Ordered Message Expectations to Tighten your Specs</title>
	<guid isPermaLink="false">tag:openmonkey.com,2009-04-25:/articles/2009/07/rspec-ordered-message-expectations</guid>
	<link>http://feedproxy.google.com/~r/BlahBlahWoofWoof/~3/DRoxyTl-020/rspec-ordered-message-expectations</link>
	<description>&lt;p&gt;I quite enjoy the competitive undercurrent of ping pong pair programming. As the person writing the implementation code, it is fun to write something that will turn a test green, but still not necessarily do what my partner was expecting. Taking this approach has also been helpful for improving our specs. Take this example controller spec:&lt;/p&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;ArticlesController&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;handling create&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;before&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:each&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
      &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mock_model&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Article&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:save&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;kp&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;no&quot;&gt;Article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stub&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:new&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;and_return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      
      &lt;span class=&quot;vi&quot;&gt;@user&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mock_model&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;controller&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stub&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:current_user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;and_return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    
    &lt;span class=&quot;n&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;should build a new article from posted data&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
      &lt;span class=&quot;no&quot;&gt;Article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;should_receive&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:new&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'title'&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'Test Post'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;post&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:create&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:article&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:title&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'Test Post'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    
    &lt;span class=&quot;n&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;should assign the current user as the article's author&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
      &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;should_receive&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:author&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;post&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:create&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    
    &lt;span class=&quot;n&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;should save the article&quot;&lt;/span&gt;
      &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;should_receive&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;post&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:create&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This looks like a reasonable set of concise, clear examples, but you can easily make them all pass and without building a controller action that does what you expect:&lt;/p&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;ArticlesController&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;ApplicationController&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;create&lt;/span&gt;
    &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;
    &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;author&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;current_user&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This satisfies the examples, but saving the article &lt;em&gt;before&lt;/em&gt; assigning the current user as author isn’t what we would have intended. Enter RSpec’s &lt;a href=&quot;http://rspec.info/documentation/mocks/message_expectations.html&quot;&gt;ordered message expectations&lt;/a&gt;. These allow you to specify the order in which you expect an object to receive message calls.&lt;/p&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;ArticlesController&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;describe&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;handling create&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;should save the article after assigning the current user as author&quot;&lt;/span&gt;
      &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;should_receive&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:author&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ordered&lt;/span&gt;
      &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;should_receive&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ordered&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;post&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:create&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This example would fail with the above controller action, and force us to write it properly:&lt;/p&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;ArticlesController&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;ApplicationController&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;create&lt;/span&gt;
    &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;author&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;current_user&lt;/span&gt;
    &lt;span class=&quot;vi&quot;&gt;@article&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The result is a controller that does what you expect, a stronger set of specs, and an increased capacity for true behaviour driven development. Win, win, win!&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/BlahBlahWoofWoof/~4/DRoxyTl-020&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;&lt;/img&gt;</description>
	<pubDate>Wed, 01 Jul 2009 16:27:15 +0000</pubDate>
</item>
<item>
	<title>Tim Connors: The Very Bloody Fast Train</title>
	<guid isPermaLink="true">http://tau-iota-mu-c.livejournal.com/151506.html</guid>
	<link>http://tau-iota-mu-c.livejournal.com/151506.html</link>
	<description>Imagine if Australia was enlightened enough to have fast passenger and freight train travel.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;(&lt;a href=&quot;http://www.youtube.com/watch?v=fKkuZeX8pDE&quot;&gt;youtube link&lt;/a&gt; for Planet viewers)&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;That would be *awesome* to be on that bridge as this train goes under it.  Where do I sign up to be one of the geeks behind big the control panel?</description>
	<pubDate>Wed, 01 Jul 2009 15:26:40 +0000</pubDate>
</item>
<item>
	<title>Brendan Scott: brendanscott</title>
	<guid isPermaLink="false">http://brendanscott.wordpress.com/?p=820</guid>
	<link>http://brendanscott.wordpress.com/2009/07/01/with-the-utmost-respect-the-model-is-broken/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br&gt;&lt;/br&gt;&lt;p&gt;“With The Utmost Respect”, the Model is Broken&lt;/p&gt;
&lt;p&gt;At this very moment, the only reason the West has news of any kind of the turbulence within Iran is due to the individual initiative of members of that community – powered by the Internet.   Rather than celebrate the wonderous power of free riding, driven by the Invisible Hand to overcome the concerted effort of government censorship Gary Becker and Richard Posner have chosen to post an &lt;a href=&quot;http://www.becker-posner-blog.com/archives/2009/06/the_future_of_n.html&quot;&gt;article on their blog&lt;/a&gt; wringing their hands over the likely demise of the newspaper industry.   Their argument seems to be that, &lt;strong&gt;precisely because&lt;/strong&gt; newspapers are becoming increasingly irrelevant and cost-ineffective,  the legislature should step in and disrupt the rest of the economy in order to perserve them.  The solution they pose is that consumers should pay more in order to preserve an inefficient industry past its use by date.  This is no solution at all.&lt;/p&gt;
&lt;p&gt;In essence, their proposal is to take a leaf out of feudalism, randomly taking rights from citizens for the benefit of Newspaper Barons.   The right they propose to take is, quite literally, the right to give directions to others.  Under their dystopia linking would be illegal – that would be like making it illegal in Real Life to tell someone where the nearest school, or hospital is.   Such a proposal in the real world is so exceedingly bizarre no one would have the courage to float it in public, let alone posit it as a serious option.   That such a proposal can today be put forward at all indicates not only how completely disconnected from reality has copyright ideology become, but also how far that ideology, with its unhealthy obsession with demonising legal, justifiable, laudable free riding has permeated “official” opinion.    It is also testament to the far reaching power of copyright feudalism.&lt;/p&gt;
&lt;p&gt;If newspapers serve no function they should be left to rot, or be shot.  The people they employ should be assisted to transition into a new world where they get paid like everyone else.   Some will thrive and some will falter and these are unlikely to be the same as thrived and faltered under the old model.    The world survived well enough before newspapers and I cannot see any reason why the world will not fare equally well in a future without them.  As is the case for news from Iran at the moment, there is no reason to think the absence of newspapers will result in the absence of news, or of opinion.  I did not go to a newspaper to read Becker and Posner’s article.   I read it where they published it – on their blog.    I went to them because I trust them to have an opinion as experts (notwithstanding that I find their copyright ideology objectionable).   They’re both clever men, whose time is valuable.   Somehow they don’t seem to notice that they have managed to publish a piece of some non-trivial effort, despite not being supported by advertising (if it is there it is pretty subtle).  Depressingly, they serve as an obvious counter-example to their own argument.&lt;/p&gt;
&lt;p&gt;Moreover, I can’t see my quality of life changing noticeably if I were never to read another newspaper (Nassim Nicolas Taleb has a similar view).   I do not, for example, have any newspaper in my list of rss feeds.  This is not to say I won’t have news or opinion, but, rather, that I will get it from a better source than a newspaper.   The “news” of today is such that it can be summarised in a ticker along the bottom of CNN.   To lose it is no loss.  The news of tomorrow will be more tangential and more relevant, closer and more distanced, more nuanced and more blunt.  It will be all those things because individuals are all producing news and perspectives on everything.   It is astounding to realise that there still exist people who think content creation stops in the absence of some Media Baron guiding it.&lt;/p&gt;
&lt;p&gt;Becker and Posner’s proposal is not so much a proposal in favour of newspapers, as an attack on the individual rights of journalists.  Rather than saying that journalists ought to be able to compete with each other in an open market, they are in effect crueling the free market and, as a consequence, requiring that journalists be indentured to newspapers.   The natural consequence of their proposal is that a small number of places will become valuable as aggregation sources.  Over time it will cost journalists dearly in order to have access to a market through those aggregation sources.   The Becker-Posner proposal would be better placed in those societies which believe that individual initiative should count for nothing, and that the only actions individuals should embark on are those permitted by their betters.&lt;/p&gt;
&lt;p&gt;No doubt they would charge for a link to the place where you get a linking licence.&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/brendanscott.wordpress.com/820/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/brendanscott.wordpress.com/820/&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/brendanscott.wordpress.com/820/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/brendanscott.wordpress.com/820/&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/brendanscott.wordpress.com/820/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/brendanscott.wordpress.com/820/&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/brendanscott.wordpress.com/820/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/brendanscott.wordpress.com/820/&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/brendanscott.wordpress.com/820/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/brendanscott.wordpress.com/820/&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=brendanscott.wordpress.com&amp;amp;blog=2262314&amp;amp;post=820&amp;amp;subd=brendanscott&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 01 Jul 2009 12:29:18 +0000</pubDate>
</item>
<item>
	<title>Chris Samuel: Twitter Updates for 2009-07-01</title>
	<guid isPermaLink="true">http://www.csamuel.org/2009/07/01/twitter-updates-for-2009-07-01-2</guid>
	<link>http://www.csamuel.org/2009/07/01/twitter-updates-for-2009-07-01-2</link>
	<description>&lt;ul class=&quot;aktt_tweet_digest&quot;&gt;
&lt;li&gt;@&lt;a href=&quot;http://twitter.com/kattekrab&quot;&gt;kattekrab&lt;/a&gt; – Kogan do a netbook with Linux (gOS) here – no idea how good it is though – &lt;a href=&quot;http://bit.ly/wP80L&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/wP80L&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402534386&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;RT @&lt;a href=&quot;http://twitter.com/linuxusersvic&quot;&gt;linuxusersvic&lt;/a&gt; – New Book Review: The Twitter Book &lt;a href=&quot;http://luv.asn.au/review/twitter-book&quot; rel=&quot;nofollow&quot;&gt;http://luv.asn.au/review/twitter-book&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402637696&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Walkman vs iPod – &lt;a href=&quot;http://bit.ly/UZ497&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/UZ497&lt;/a&gt;&lt;br&gt;&lt;/br&gt;
 – via @&lt;a href=&quot;http://twitter.com/alecmuffett&quot;&gt;alecmuffett&lt;/a&gt; blog – takes me back! &lt;img src=&quot;http://www.csamuel.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402739712&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;@&lt;a href=&quot;http://twitter.com/johndalton&quot;&gt;johndalton&lt;/a&gt; – I have indeed &lt;img src=&quot;http://www.csamuel.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402929016&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Firefox 3.5 is out!   &lt;a href=&quot;http://lwn.net/Articles/339309/&quot; rel=&quot;nofollow&quot;&gt;http://lwn.net/Articles/339309/&lt;/a&gt;  #&lt;a href=&quot;http://search.twitter.com/search?q=%23firefox&quot;&gt;firefox&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2408916473&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;aktt_credit&quot;&gt;Powered by &lt;a href=&quot;http://alexking.org/projects/wordpress&quot;&gt;Twitter Tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This post syndicated from the website of &lt;a href=&quot;http://www.csamuel.org/&quot;&gt;Chris Samuel&lt;/a&gt;: &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.csamuel.org/2009/07/01/twitter-updates-for-2009-07-01-2&quot;&gt;Twitter Updates for 2009-07-01&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 01 Jul 2009 11:26:43 +0000</pubDate>
</item>
<item>
	<title>Chris Samuel: Twitter Updates for 2009-07-01</title>
	<guid isPermaLink="true">http://www.csamuel.org/2009/07/01/twitter-updates-for-2009-07-01</guid>
	<link>http://www.csamuel.org/2009/07/01/twitter-updates-for-2009-07-01</link>
	<description>&lt;ul class=&quot;aktt_tweet_digest&quot;&gt;
&lt;li&gt;@&lt;a href=&quot;http://twitter.com/kattekrab&quot;&gt;kattekrab&lt;/a&gt; – Kogan do a netbook with Linux (gOS) here – no idea how good it is though – &lt;a href=&quot;http://bit.ly/wP80L&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/wP80L&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402534386&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;RT @&lt;a href=&quot;http://twitter.com/linuxusersvic&quot;&gt;linuxusersvic&lt;/a&gt; – New Book Review: The Twitter Book &lt;a href=&quot;http://luv.asn.au/review/twitter-book&quot; rel=&quot;nofollow&quot;&gt;http://luv.asn.au/review/twitter-book&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402637696&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Walkman vs iPod – &lt;a href=&quot;http://bit.ly/UZ497&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/UZ497&lt;/a&gt;&lt;br&gt;&lt;/br&gt;
 – via @&lt;a href=&quot;http://twitter.com/alecmuffett&quot;&gt;alecmuffett&lt;/a&gt; blog – takes me back! &lt;img src=&quot;http://www.csamuel.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402739712&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;@&lt;a href=&quot;http://twitter.com/johndalton&quot;&gt;johndalton&lt;/a&gt; – I have indeed &lt;img src=&quot;http://www.csamuel.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2402929016&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Firefox 3.5 is out!   &lt;a href=&quot;http://lwn.net/Articles/339309/&quot; rel=&quot;nofollow&quot;&gt;http://lwn.net/Articles/339309/&lt;/a&gt;  #&lt;a href=&quot;http://search.twitter.com/search?q=%23firefox&quot;&gt;firefox&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2408916473&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;aktt_credit&quot;&gt;Powered by &lt;a href=&quot;http://alexking.org/projects/wordpress&quot;&gt;Twitter Tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This post syndicated from the website of &lt;a href=&quot;http://www.csamuel.org/&quot;&gt;Chris Samuel&lt;/a&gt;: &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.csamuel.org/2009/07/01/twitter-updates-for-2009-07-01&quot;&gt;Twitter Updates for 2009-07-01&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 01 Jul 2009 11:26:43 +0000</pubDate>
</item>
<item>
	<title>Erik de Castro Lopo: Three More for the Debian New Queue.</title>
	<guid isPermaLink="true">http://www.mega-nerd.com/erikd/Blog/CodeHacking/Debian/polyparse_dataenc_json.html</guid>
	<link>http://www.mega-nerd.com/erikd/Blog/CodeHacking/Debian/polyparse_dataenc_json.html</link>
	<description>&lt;p&gt;
Over the last couple of weeks I've managed to get three new packages into the
Debian NEW queue :
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
	&lt;a href=&quot;http://ftp-master.debian.org/new/haskell-polyparse_1.3-1.html&quot;&gt;
	haskell-polyparse&lt;/a&gt; -
	A variety of alternative parser combinator libraries for Haskell (this is
	a dependency for later versions of HaXml).
	&lt;/li&gt;
&lt;li&gt;
	&lt;a href=&quot;http://ftp-master.debian.org/new/haskell-dataenc_0.13.0.0-1.html&quot;&gt;
	haskell-dataenc&lt;/a&gt; -
	A Haskell library of data encoders and decoders like Base64, uuencoding etc.
	&lt;/li&gt;
&lt;li&gt;
	&lt;a href=&quot;http://ftp-master.debian.org/new/haskell-json_0.4.3-1.html&quot;&gt;
	haskell-json&lt;/a&gt; -
	Haskell library for serialising data to and from JSON.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;/p&gt;

&lt;p&gt;
Thanks to
	&lt;a href=&quot;http://www.vergenet.net/~horms/&quot;&gt;
	Simon Horman&lt;/a&gt;
for sponsoring/uploading the first two of and
	&lt;a href=&quot;http://www.hezmatt.org/~mpalmer/blog/general/&quot;&gt;
	Matt Palmer&lt;/a&gt;
for sponsoring/uploading haskell-json.
&lt;/p&gt;</description>
	<pubDate>Wed, 01 Jul 2009 09:28:27 +0000</pubDate>
</item>
<item>
	<title>Steven Hanley: [various] Sydney again this weekend</title>
	<guid isPermaLink="true">http://svana.org/sjh/diary/2009/07/01#2009-07-01_01</guid>
	<link>http://svana.org/sjh/diary/2009/07/01#2009-07-01_01</link>
	<description>So this weekend I will head up to Sydney again. This time for a send off for a
friend moving back to England and then hanging out with Jane on Sunday. 
&lt;a href=&quot;http://svana.org/sjh/diary/2009/04/18#2009-04-18_01&quot;&gt;Last time we
found some pretty yummy Vegan friendly food&lt;/a&gt;, I hope we find some more new
and interesting food this time round. Hope to have Sunday breakfast at Naked
Espresso in Newtown as I forgot the name of the place last time and we ended
up elsewhere.

&lt;p&gt;

Some mountain biking on Saturday at the send off, probably no exercise Sunday
(unless we go swimming)
(&lt;a href=&quot;http://svana.org/sjh/diary/2009/04/19#2009-04-19_01&quot;&gt;unlike last
time&lt;/a&gt;), still it should be nice even if I have to deal with Sydney.&lt;/p&gt;</description>
	<pubDate>Wed, 01 Jul 2009 07:26:12 +0000</pubDate>
</item>
<item>
	<title>Pia Waugh: US Air Force Web Posting Response Assessment</title>
	<guid isPermaLink="false">http://pipka.org/?p=964</guid>
	<link>http://pipka.org/blog/2009/07/01/us-air-force-web-posting-response-assessment/</link>
	<description>&lt;p&gt;This is pretty interesting. The US Air Force have a &lt;a href=&quot;http://www.webinknow.com/2009/01/us-air-force-web-posting-response-assessment.html&quot;&gt;methodology to deal with online responses&lt;/a&gt; like comments. I like it how trolls and “ragers” require HQ be notified &lt;img src=&quot;http://pipka.org/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt; &lt;/p&gt;
&lt;p&gt;I think it helps people not used to communicating online think about different sorts of negative feedback, and how it is important to engage with some, and possibly not with others. Also the “response considerations” were quite good too to encourage transparency and accountability in online communications.&lt;/p&gt;
&lt;p&gt;Click on the image for the larger more readable version.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://pipka.org/wp-content/uploads/2009/07/US-Air-Force-Web-Response-Assessment.jpg&quot;&gt;&lt;img src=&quot;http://pipka.org/wp-content/uploads/2009/07/US-Air-Force-Web-Response-Assessment-199x300.jpg&quot; title=&quot;US-Air-Force-Web-Response-Assessment&quot; height=&quot;300&quot; width=&quot;199&quot; alt=&quot;US-Air-Force-Web-Response-Assessment&quot; class=&quot;aligncenter size-medium wp-image-965&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 01 Jul 2009 07:25:05 +0000</pubDate>
</item>
<item>
	<title>Silvia Pfeiffer: Open Video Conference Working Group: HTML5 and &lt;video&gt;</title>
	<guid isPermaLink="false">http://blog.gingertech.net/?p=458</guid>
	<link>http://blog.gingertech.net/2009/07/01/open-video-conference-working-group-html5-and-video/</link>
	<description>&lt;p&gt;At the recent &lt;a href=&quot;http://openvideoconference.org/&quot;&gt;Open Video Conference&lt;/a&gt;, I was asked to chair a working group on HTML5 and the &amp;lt;video&amp;gt; tag. Since the conference had attracted a large number of open media software developers as well as HTML5 &amp;lt;video&amp;gt; tag developers, it was a great group of people that were on the panel with me: Philip Jagenstedt from Opera, Jan Gerber from Xiph, Viktor Gal from Annodex, Michael Dale from Metavid, and Eric Carlson from Apple. This meant we had three browser vendors and their &amp;lt;video&amp;gt; tag developers present as well as two javascript library developers representing some of the largest content sites that are already using Ogg Theora/Vorbis with the &amp;lt;video&amp;gt; tag, plus myself looking into accessiblity for &amp;lt;video&amp;gt;.&lt;/p&gt;
&lt;p&gt;The biggest topic around the &amp;lt;video&amp;gt; tag is of course the question of baseline codec: which codec can and should become the required codec for anyone implementing &amp;lt;video&amp;gt; tag support. Fortunately, this discussion was held during the panel just ahead of ours. Thus, our panel was able to focus on the achievements of the HTML5 video tag and implementations of it, as well as the challenges still ahead.&lt;/p&gt;
&lt;p&gt;Unfortunately, the panel was cut short at the conference to only 30 min, so we ended up doing mostly demos of HTML5 video working in different browsers and doing cool things such as working with SVG.&lt;/p&gt;
&lt;p&gt;The challenges that we identified and that are still ahead to solve are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;annotation support: closed captions, subtitles, time-aligned metadata, and their DOM exposure&lt;/li&gt;
&lt;li&gt;track selection: how to select between alternate audio tracks, alternate annotation tracks, based on e.g. language, or accessibility requirements; what would the content negotiation protocol look like&lt;/li&gt;
&lt;li&gt;how to support live streaming&lt;/li&gt;
&lt;li&gt;how to support in-browser a/v capture&lt;/li&gt;
&lt;li&gt;how to support live video communication (skype-style)&lt;/li&gt;
&lt;li&gt;how to support video playlists&lt;/li&gt;
&lt;li&gt;how to support basic video editing functionality&lt;/li&gt;
&lt;li&gt;what would a decent media server for html5 video look like; what capabilities would it have&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the slides we made for the working group. &lt;/p&gt;
&lt;div style=&quot;width: 425px; text-align: left;&quot; id=&quot;__ss_1665590&quot;&gt;&lt;a style=&quot;font: 14px Helvetica,Arial,Sans-serif; display: block; margin: 12px 0 3px 0; text-decoration: underline;&quot; href=&quot;http://www.slideshare.net/silviapfeiffer/open-video-conference-html-and-ltvideo?type=powerpoint&quot; title=&quot;Open Video Conference: HTML and the video tag&quot;&gt;Open Video Conference: HTML and the video tag&lt;/a&gt;
&lt;div style=&quot;font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;&quot;&gt;View more &lt;a style=&quot;text-decoration: underline;&quot; href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a style=&quot;text-decoration: underline;&quot; href=&quot;http://www.slideshare.net/silviapfeiffer&quot;&gt;Silvia Pfeiffer&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Download PDF: &lt;a href=&quot;http://blog.gingertech.net/wp-content/uploads/2009/07/OpenVideoConf.pdf&quot;&gt;Open Video Conference: HML5 and video Panel&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 01 Jul 2009 06:37:50 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway</title>
	<guid isPermaLink="true">http://certifiedwaif.livejournal.com/355197.html</guid>
	<link>http://certifiedwaif.livejournal.com/355197.html</link>
	<description>I told a friend who frequently visits our honours office that I liked the idea of fountain pens, so he loaned me one of his. I've had it for about a week and am now thoroughly converted. Maths students write all day, so some of us are particular about what we write with. And I'm pretty particular in general anyway.&lt;br&gt;&lt;/br&gt;I'm slowly developing expensive tastes.</description>
	<pubDate>Wed, 01 Jul 2009 06:27:26 +0000</pubDate>
</item>
<item>
	<title>James Morris: All my talk slides are now on Slideshare</title>
	<guid isPermaLink="true">http://james-morris.livejournal.com/43009.html</guid>
	<link>http://james-morris.livejournal.com/43009.html</link>
	<description>I've uploaded the slides from essentially all of the talks I've given to &lt;a href=&quot;http://www.slideshare.net/jamesmorris/presentations&quot;&gt;Slideshare&lt;/a&gt;.  This is likely more useful than my previous strategy of dumping them in a &lt;a href=&quot;http://namei.org/presentations/&quot;&gt;directory&lt;/a&gt; and leaving the rest up to search engine bots.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;Click &lt;a href=&quot;http://www.slideshare.net/jamesmorris/presentations&quot;&gt;here&lt;/a&gt; for the full list of slides.  They are all published under the Creative Commons &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/2.5/&quot;&gt;attribution share-alike&lt;/a&gt; license.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;One interesting slide title, which I'd forgotten about, is &lt;i&gt;&lt;a href=&quot;http://www.slideshare.net/jamesmorris/kernel-summit-security-2004&quot;&gt;Kernel Security for 2.8&lt;/a&gt;&lt;/i&gt;, from the 2004 Kernel Summit.  This was from when we were still expecting a 2.7 development kernel leading to a 2.8 stable kernel -- I think Linus announced the change in development model at that summit.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;Included in this set of slides are several introductory and deeper technical overviews of SELinux; I hope they are useful for people who are looking for information for themselves, or if making their own slides.  As the license suggests, please feel free to copy and extend them (but note that the older ones are going to be more out of date).</description>
	<pubDate>Wed, 01 Jul 2009 04:28:22 +0000</pubDate>
</item>
<item>
	<title>Jason Parker-Burlingham: Too much breakfast</title>
	<guid isPermaLink="true">http://nooks.livejournal.com/81968.html</guid>
	<link>http://nooks.livejournal.com/81968.html</link>
	<description>&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/nooks/3674358125/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2603/3674358125_83a78c2c16_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 1px #000000;&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/nooks/3674358125/&quot;&gt;61c Cafe, Murray Ave, Pittsburgh&lt;/a&gt;&lt;br&gt;&lt;/br&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/nooks/&quot;&gt;Nooks&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;On Saturday we tried for a light breakfast at the 61c Cafe on Murray.  The proprietor (I assume) was nice enough to the dawdling family who couldn't make up their minds, consulted their five-year-old about everything, took forever to order &lt;em&gt;and&lt;/em&gt; very nearly tried to pay with a credit card:  I was rebuffed by the &lt;strong&gt;CASH ONLY&lt;/strong&gt; sign on the register.  What is this, the dark ages?  We scraped up $20 between us to pay, but it was a near thing for a moment.&lt;/p&gt;&lt;br clear=&quot;all&quot;&gt;&lt;/br&gt;</description>
	<pubDate>Wed, 01 Jul 2009 03:26:03 +0000</pubDate>
	<author>jasonp@panix.com (Jason Parker-Burlingham)</author>
</item>
<item>
	<title>Michael Still: The Wild Palms Hotel</title>
	<guid isPermaLink="true">http://www.stillhq.com/travel/usa/california/sunnyvale/000001.html</guid>
	<link>http://www.stillhq.com/travel/usa/california/sunnyvale/000001.html</link>
	<description>When leaving the US, I stayed in the &lt;a href=&quot;http://www.jdvhotels.com/hotels/siliconvalley/wild_palms&quot;&gt;Wild Palms Hotel&lt;/a&gt;. I selected it for three reasons: I'd stayed there before; it is part of the Joie De Vivre chain which I have had good experiences with before; and it was very cheap on Expedia ($77 compared to an average rate in the area of about $150). I learnt some interesting things I thought I'd share:

&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;

&lt;ul&gt;
&lt;li&gt;The hotel is ok, just make sure you get an upstairs room. I was woken by mating elephants at 5am two days running because the floors are so thin. Be the mating elephant, not the victim of it! Once I moved to an upstairs room this probably went away.
&lt;/li&gt;&lt;li&gt;The executive rooms aren't worth it. I got moved into one of these because of the noise problems. Its advantages was it was away form the road, had a bathrobe (really), and a LCD TV. I don't watch TV much, so the extra cost if I was paying isn't worth it.
&lt;/li&gt;&lt;li&gt;The cleaning service kept &quot;short sheeting&quot; the bed. By short sheeting I mean pulled the sheets up to make the top of the bed look impressive, but leaving the bottom couple of inches of the mattress uncovered. Lots of hotels do this, and I find it crazily annoying.
&lt;/li&gt;&lt;li&gt;The air conditioner was insanely loud. It was 38 when I was staying there, and every time the air conditioner kicked in I would be woken up by it.
&lt;/li&gt;&lt;li&gt;Its a lot further south than I realized. It took about 20 minutes to get to work if you took El Camino. Depending on traffic its probably much faster to go all the way to the 101 and then take that. The Lawrence Expressway looks like the best way to get to the 101 from the hotel.
&lt;/li&gt;&lt;/ul&gt;

&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;

So, overall this hotel was &quot;ok&quot;, apart from some minor annoyances. I'll keep staying there so long as they're cheap. If they're not running a special, then you're much better off staying further north.

&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;i&gt;Tags for this post: travel(&lt;a href=&quot;http://www.stillhq.com/travel&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/travel/usa/california/sunnyvale/000001&amp;amp;tag=travel&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;)  usa(&lt;a href=&quot;http://www.stillhq.com/usa&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/travel/usa/california/sunnyvale/000001&amp;amp;tag=usa&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;)  california(&lt;a href=&quot;http://www.stillhq.com/california&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/travel/usa/california/sunnyvale/000001&amp;amp;tag=california&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;)  sunnyvale(&lt;a href=&quot;http://www.stillhq.com/sunnyvale&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/travel/usa/california/sunnyvale/000001&amp;amp;tag=sunnyvale&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;) &lt;/i&gt;

&lt;a href=&quot;http://www.stillhq.com/travel/usa/california/sunnyvale/000001.commentform.html&quot;&gt;Comment&lt;/a&gt;</description>
	<pubDate>Tue, 30 Jun 2009 21:29:40 +0000</pubDate>
</item>
<item>
	<title>Jason Parker-Burlingham: Brunch</title>
	<guid isPermaLink="true">http://nooks.livejournal.com/81861.html</guid>
	<link>http://nooks.livejournal.com/81861.html</link>
	<description>&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/nooks/3674356061/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2544/3674356061_113fd399d8_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 1px #000000;&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/nooks/3674356061/&quot;&gt;Gullifty's Pancake Stack&lt;/a&gt;&lt;br&gt;&lt;/br&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/nooks/&quot;&gt;Nooks&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;On Sunday Ann and Henry and I went to &lt;a href=&quot;http://www.gulliftys.com/&quot;&gt;Gullifty's&lt;/a&gt;, which appears to be something of a staple here.  Actually I was getting it confused with a couple other places I wanted to try eating at again, but no matter.&lt;/p&gt;&lt;p&gt;Henry bravely ordered the pancake stack and promptly proceeded to violate the &quot;never eat anything bigger than  your head&quot; rule.&lt;/p&gt;&lt;p&gt;He and I will be looking for a location for a regular Saturday or Sunday brunch for the next week or two.&lt;/p&gt;&lt;br clear=&quot;all&quot;&gt;&lt;/br&gt;</description>
	<pubDate>Tue, 30 Jun 2009 14:26:10 +0000</pubDate>
	<author>jasonp@panix.com (Jason Parker-Burlingham)</author>
</item>
<item>
	<title>Paul Fenwick: Autodie 2.00 released</title>
	<guid isPermaLink="true">http://pjf.id.au/blog/?position=577</guid>
	<link>http://pjf.id.au/blog/?position=577</link>
	<description>&lt;p&gt;&lt;b&gt;Autodie 2.00 released&lt;/b&gt;&lt;br&gt;&lt;/br&gt;
This weekend the long awaited &lt;a href=&quot;http://search.cpan.org/perldoc?autodie&quot;&gt;autodie 2.00&lt;/a&gt; for
Perl was released to the CPAN, which was almost immediately replaced
by 2.02, which fixes some oopsed tests and which adds a couple more features to
give us a really sweet experience.  This blog entry assumes you're
using 2.02.
&lt;/p&gt;&lt;p&gt;
Observant viewers will notice that the major version number has
changed.  I've taken the great leap from 1.999 to 2.00.  Clearly,
something is different, and you might be wondering what.
&lt;/p&gt;&lt;p&gt;
Well, autodie 2.0 now supports a &lt;a href=&quot;http://search.cpan.org/perldoc?autodie::hints&quot;&gt;hinting
interface&lt;/a&gt; for user-defined subroutines.  Put simply, if you have a
user-defined subroutine that does something funny to signify failure,
you can now tell autodie about that.  Once it knows, it can Do The
Right Thing when checking your subroutine.  You can even put the hints
into the same file as those subs, and if someone is using autodie
2.00, it will find the hints and use them.
&lt;/p&gt;&lt;p&gt;
This may not sound very exciting, but it is.  It means that a lot of
really ugly error-checking code, both on the CPAN and the DarkPAN, can
go away.  Lexically.  Still not convinced this will change your life?
Let's look a little more closely; trust me, you'll like it.
&lt;/p&gt;&lt;p&gt;
Let's pretend you're working on a piece of legacy code.  For some
reason, the people who wrote this code decided the best way to
signal errors is by returning the list &lt;tt&gt;(undef, &quot;Error
message&quot;)&lt;/tt&gt;.  I don't know why, but I've seen this anti-pattern
emerge independently in &lt;i&gt;three&lt;/i&gt; 100k+ line projects I've been
involved in.
&lt;/p&gt;
&lt;pre&gt;sub some_sub {
    if ( not batteries_full() ) {
        return ( undef, &quot;insufficient energy&quot; );
    }

    if ( not coin_inserted() ) {
        return ( undef, &quot;insufficient credit&quot; );
    }

    my @results = some_calculation();

    return @results;
}
&lt;/pre&gt;
&lt;p&gt;
If you want to check to see if &lt;tt&gt;some_sub()&lt;/tt&gt; returns an error,
you need to capture its return values, look at the first one to see if
it's undefined, and if it's not, use the second one as your error.
At least, that's what you're &lt;i&gt;supposed&lt;/i&gt; to do.
&lt;/p&gt;&lt;p&gt;
What actually happens is most developers decide that's way too hard,
and don't bother checking for errors.  Then one day, the batteries on
your doomsday-asteroid-destroying-satellite go flat, nobody notices,
and through an ironic twist of fate you're left as the last known human
survivor, and there are zombie hordes and walking killer plants
outside.
&lt;/p&gt;&lt;p&gt;
So, how can &lt;a href=&quot;http://search.cpan.org/perldoc?autodie&quot;&gt;autodie&lt;/a&gt; help us?
Well, before version 2.00, it couldn't.  But now, with
&lt;a href=&quot;http://search.cpan.org/perldoc?autodie::hints&quot;&gt;autodie::hints&lt;/a&gt;,
it can!  We can give autodie hints about how the return values are
checked.  They look like this:
&lt;/p&gt;
&lt;pre&gt;use autodie::hints;

autodie::hints-&amp;gt;set_hints_for(
    'Some::Package::some_sub' =&amp;gt; {
        scalar =&amp;gt; sub { 1 },
        list   =&amp;gt; sub { @_ == 2 and not defined $_[0] },
    },
);
&lt;/pre&gt;
&lt;p&gt;
Our hints here are simple subroutines.  If they return true, our
subroutine has failed.  If they return false, it's executed
successfully.  Notice that our scalar hint always returns true.
That's because we consider any call of our subroutine in scalar
context to be a mistake.  It's returning a list of values, and
you should be checking that list.
&lt;/p&gt;&lt;p&gt;
Once we've set our hints, we can then use autodie to automatically
check if we're successful:
&lt;/p&gt;
&lt;pre&gt;use Some::Module qw(some_sub);

sub target_asteroid {

    use autodie qw( ! some_sub );

    # autodie has lexical scope, so only calls to some_sub inside
    # the target_asteroid subroutine are affected.

    my @results = some_sub();     # Succeeds or dies
}

sub target_ufo {
    my @results = some_sub();

    # autodie is out of lexical scope, so we have to manually
    # process @results here.
}

&lt;/pre&gt;
&lt;p&gt;
If you're wondering what that exclamation mark means, it means &quot;insist
on hints&quot;, and is a new piece of syntax with autodie 2.00.  If for any
reason autodie can't find the hints for &lt;tt&gt;some_sub&lt;/tt&gt;, our code
won't compile.  That's a very good thing, and avoids us having a false
sense of security if we use autodie on an unhinted sub.
&lt;/p&gt;&lt;p&gt;
However the error messages from autodie aren't really that useful.
They're going to be things like &lt;tt&gt;&quot;Can't some_sub() at
space_defense.pl line 53&quot;&lt;/tt&gt;.  There's a noticable lack of
explanation as to why &lt;tt&gt;some_sub()&lt;/tt&gt; failed.
&lt;/p&gt;&lt;p&gt;
Luckily, since the way early versions of autodie, we've been able
to register message handlers.  And with the new features in autodie
2.02, we can produce very rich messages.  Let's see how!
&lt;/p&gt;
&lt;pre&gt;use autodie::exception;

autodie::exception-&amp;gt;register(
    'Some::Module::some_sub' =&amp;gt; sub {
        my ($error) = @_;

        if ($error-&amp;gt;context eq &quot;scalar&quot;) {
             return &quot;some_sub() can't be called in a scalar context&quot;;
        }

        # $error-&amp;gt;return gives a list of everything our failed sub
        # returned.  We know this particular sub puts the error
        # message the second argument (index 1).

        my $error_msg = $error-&amp;gt;return-&amp;gt;[1];

        return &quot;some_sub() failed: $error_msg&quot;;
    }
);
&lt;/pre&gt;
&lt;p&gt;
Now, whenever &lt;tt&gt;some_sub()&lt;/tt&gt; fails, it'll print a genuinely
useful message, like &lt;tt&gt;&quot;some_sub() failed: Insufficient energy at
space_defense.pl line 53&quot;&lt;/tt&gt;.  Yes, autodie automatically adds the
file and line number for you.  Nice!
&lt;/p&gt;&lt;p&gt;
But wait, there's more!  We don't want to see this sort of code
floating around in your programs.  You may be dealing
with other people's modules that you can't modify, so we can't hide
all this configuration in there.  So, we can &lt;i&gt;write our own
pragma&lt;/i&gt; that contains all this info.  Here's the full
code for a theoretical &lt;tt&gt;my::autodie&lt;/tt&gt; pragma, and is the exact
same code used by the &lt;tt&gt;t/blog_hints.t&lt;/tt&gt; file in autodie's
test suite.
&lt;/p&gt;
&lt;pre&gt;package my::autodie;
use strict;
use warnings;

use base qw(autodie);
use autodie::exception;
use autodie::hints;

autodie::hints-&amp;gt;set_hints_for(
    'Some::Module::some_sub' =&amp;gt; {
        scalar =&amp;gt; sub { 1 },
        list   =&amp;gt; sub { @_ == 2 and not defined $_[0] }
    },
);

autodie::exception-&amp;gt;register(
    'Some::Module::some_sub' =&amp;gt; sub {
        my ($E) = @_;

        if ($E-&amp;gt;context eq &quot;scalar&quot;) {
            return &quot;some_sub() can't be called in scalar context&quot;;
        }

        my $error = $E-&amp;gt;return-&amp;gt;[1];

        return &quot;some_sub() failed: $error&quot;;
    }
);

1;
&lt;/pre&gt;
&lt;p&gt;
It works exactly the same as regular autodie, except it also knows
how to handle &lt;tt&gt;some_sub()&lt;/tt&gt;, and display good looking error
messages.  Here's how we'd use it:
&lt;/p&gt;
&lt;pre&gt;use Some::Module qw(some_sub);
use my::autodie qw( ! some_sub );

my @results = some_sub();  # Succeeds or dies with a useful error!
&lt;/pre&gt;
&lt;p&gt;
There's a lot more you can do with autodie, and if you want to learn
more, I'd suggest coming to my talk at &lt;a href=&quot;http://en.oreilly.com/oscon2009/public/schedule/detail/8165&quot;&gt;OSCON&lt;/a&gt; or &lt;a href=&quot;http://yapceurope2009.org/ye2009/talk/2063&quot;&gt;YAPC::EU&lt;/a&gt;, where I'll be covering all this and more, with a distinctive Star Trek twist. ;)
&lt;/p&gt;
&lt;p&gt;Tags:
&lt;a href=&quot;http://pjf.id.au/blog/toc.html?tag=autodie&quot; rel=&quot;tag&quot;&gt;autodie&lt;/a&gt;
&lt;a href=&quot;http://pjf.id.au/blog/toc.html?tag=hints&quot; rel=&quot;tag&quot;&gt;hints&lt;/a&gt;
&lt;a href=&quot;http://pjf.id.au/blog/toc.html?tag=perl&quot; rel=&quot;tag&quot;&gt;perl&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Bookmark: &lt;a href=&quot;http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fpjf.id.au%2Fblog%2F%3Fposition%3D577&amp;amp;title=Autodie%202.00%20released&quot;&gt;&lt;img src=&quot;http://pjf.id.au/images/icons/digg.png&quot; alt=&quot;Digg this&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.technorati.com/faves?add=http%3A%2F%2Fpjf.id.au%2Fblog%2F%3Fposition%3D577&quot;&gt;&lt;img src=&quot;http://pjf.id.au/images/icons/technorati.png&quot; alt=&quot;Digg this&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/p&gt;</description>
	<pubDate>Tue, 30 Jun 2009 14:00:00 +0000</pubDate>
</item>
<item>
	<title>Chris Samuel: Twitter Updates for 2009-06-30</title>
	<guid isPermaLink="true">http://www.csamuel.org/2009/06/30/twitter-updates-for-2009-06-30</guid>
	<link>http://www.csamuel.org/2009/06/30/twitter-updates-for-2009-06-30</link>
	<description>&lt;ul class=&quot;aktt_tweet_digest&quot;&gt;
&lt;li&gt;@&lt;a href=&quot;http://twitter.com/damienmiller&quot;&gt;damienmiller&lt;/a&gt; -thanks for the pointer to &lt;a href=&quot;http://bit.ly/28FNh&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/28FNh&lt;/a&gt;&lt;br&gt;&lt;/br&gt;
 – fab! &lt;img src=&quot;http://www.csamuel.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt;  &lt;a href=&quot;http://twitter.com/damienmiller/statuses/1771836203&quot;&gt;in reply to damienmiller&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2386357175&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PISI – OpenMoko hosted project to sync between sources (Google/Ical/VCF/etc) CLI/GUI  written in Python – &lt;a href=&quot;http://projects.openmoko.org/p&quot; rel=&quot;nofollow&quot;&gt;http://projects.openmoko.org/p&lt;/a&gt; … &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2387175778&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;@&lt;a href=&quot;http://twitter.com/BreakingNews&quot;&gt;BreakingNews&lt;/a&gt; reports first #&lt;a href=&quot;http://search.twitter.com/search?q=%23Tamiflu&quot;&gt;Tamiflu&lt;/a&gt; resistant case of #&lt;a href=&quot;http://search.twitter.com/search?q=%23H1N1&quot;&gt;H1N1&lt;/a&gt; in #&lt;a href=&quot;http://search.twitter.com/search?q=%23Denmark&quot;&gt;Denmark&lt;/a&gt; – &lt;a href=&quot;http://twitter.com/BreakingNews/statuses/2388499056&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/BreakingNews/statuses/2388499056&lt;/a&gt; &lt;a href=&quot;http://twitter.com/chris_bloke/statuses/2393338605&quot;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;aktt_credit&quot;&gt;Powered by &lt;a href=&quot;http://alexking.org/projects/wordpress&quot;&gt;Twitter Tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This post syndicated from the website of &lt;a href=&quot;http://www.csamuel.org/&quot;&gt;Chris Samuel&lt;/a&gt;: &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.csamuel.org/2009/06/30/twitter-updates-for-2009-06-30&quot;&gt;Twitter Updates for 2009-06-30&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 30 Jun 2009 11:26:31 +0000</pubDate>
</item>
<item>
	<title>Francois Marier: Writing the perfect patch</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-7615241590176793465.post-7731510958448121124</guid>
	<link>http://feeding.cloud.geek.nz/2009/06/writing-perfect-patch.html</link>
	<description>Other people &lt;a href=&quot;http://userweb.kernel.org/%7Eakpm/stuff/tpp.txt&quot;&gt;have written&lt;/a&gt; and &lt;a href=&quot;http://cs.anu.edu.au/students/comp8440/lectures.php&quot;&gt;talked (in Lecture 3)&lt;/a&gt; about writing the perfect patch for a Free Software project. The goal there is to &lt;b&gt;increase the likelihood that a patch will be accepted&lt;/b&gt; by the project developers.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;Integrating and testing patches takes time and so reducing that burden is essential when interacting with busy maintainers. Especially if they're volunteers.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;Here's what I try to keep in mind when preparing a patch.&lt;br&gt;&lt;/br&gt;&lt;h2&gt;Use the right options to &lt;tt&gt;diff&lt;/tt&gt;&lt;/h2&gt;These two options should always be part of your call to the &lt;tt&gt;diff&lt;/tt&gt; command:&lt;ul&gt;&lt;li&gt;&lt;b&gt;-u&lt;/b&gt;: use the most common patch format, unidiff.&lt;/li&gt; &lt;li&gt;&lt;b&gt;-p&lt;/b&gt;: include the name of the function that's being changed.&lt;/li&gt;&lt;/ul&gt;and this one can be useful if the output seems unnecessarily large:&lt;ul&gt;&lt;li&gt;&lt;b&gt;-d&lt;/b&gt;: try hard to find a smaller set of changes.&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Minimize the number of changes&lt;/h2&gt;You need to draw attention to the changes that you're proposing and remove all other potential distractions:&lt;ul&gt;&lt;li&gt;&lt;b&gt;Follow the coding style of the original file.&lt;/b&gt; Your changes must fully blend in or they are likely to be rejected.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Do not re-indent existing code.&lt;/b&gt; This will make it look like you modified every line.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Pay attention to whitespace changes.&lt;/b&gt; In particular: end-of-line characters, trailing spaces and tab-versus-space differences. Use the &lt;tt&gt;dos2unix&lt;/tt&gt; or &lt;tt&gt;unix2dos&lt;/tt&gt; commands if you need to.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Gratuitous refactoring of existing code.&lt;/b&gt; Unless the refactoring makes your change smaller or easier to understand, keep it for another patch.&lt;/li&gt;&lt;/ul&gt;Of course all of the above would be acceptable patches &lt;b&gt;on their own&lt;/b&gt;, just not combined with other types of changes.&lt;br&gt;&lt;/br&gt;&lt;h2&gt;Only one logical change at a time&lt;/h2&gt;Patches often need to be broken up into a series of logical changes to avoid these two extremes:&lt;ul&gt;&lt;li&gt;the &lt;b&gt;gigantic patch&lt;/b&gt; which adds a number of features and fixes a couple of bugs but scares everybody&lt;/li&gt;&lt;li&gt;a &lt;b&gt;series of interdependent patches&lt;/b&gt; which all relate to the same change and must all be applied together&lt;/li&gt;&lt;/ul&gt;It's a bit of a balancing act, but a good rule of thumb is:&lt;ul&gt;&lt;li&gt;to have &lt;b&gt;one patch per feature or bug&lt;/b&gt; and&lt;/li&gt;&lt;li&gt;to try to find the smallest (yet meaningful) change which can be applied on its own.&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;It's not just about the patch&lt;/h2&gt;Your patch can be really good, but the email (or the bug tracker update) announcing it should also contain:&lt;ul&gt;&lt;li&gt;a good &lt;b&gt;description&lt;/b&gt; of the problem it solves and how it solves it&lt;/li&gt;&lt;li&gt;the output of &lt;b&gt;&lt;tt&gt;diffstat&lt;/tt&gt;&lt;/b&gt; to give an idea of the size of the change&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/7615241590176793465-7731510958448121124?l=feeding.cloud.geek.nz&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;&lt;/img&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.cloud.geek.nz/~ff/FeedingTheCloud?a=rPM9nYngrHU:UwMMBHBN3Fk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/FeedingTheCloud?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.cloud.geek.nz/~ff/FeedingTheCloud?a=rPM9nYngrHU:UwMMBHBN3Fk:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/FeedingTheCloud?i=rPM9nYngrHU:UwMMBHBN3Fk:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.cloud.geek.nz/~ff/FeedingTheCloud?a=rPM9nYngrHU:UwMMBHBN3Fk:cGdyc7Q-1BI&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/FeedingTheCloud?d=cGdyc7Q-1BI&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/FeedingTheCloud/~4/rPM9nYngrHU&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;&lt;/img&gt;</description>
	<pubDate>Tue, 30 Jun 2009 11:00:00 +0000</pubDate>
	<author>fmarier@gmail.com (François)</author>
</item>
<item>
	<title>David Starkoff: Brute forcing Oz 7 Lotto</title>
	<guid isPermaLink="true">http://www.dbs.id.au/blog/misc/brute-force-oz-7-lotto.html</guid>
	<link>http://www.dbs.id.au/blog/misc/brute-force-oz-7-lotto.html</link>
	<description>&lt;p&gt;
There was a murmur of excitement in the office last week when the &lt;a href=&quot;https://www.goldencasket.com/ozlotto/&quot; title=&quot;OZ 7 Lotto official home page from Golden Casket. Live Life, Play Oz 7!&quot;&gt;Oz 7 Lotto&lt;/a&gt; division 1 was $50,000,000.  Tonight, it has jackpotted to $90,000,000, which Golden Casket says “&lt;a href=&quot;https://www.goldencasket.com/newsroom/document.asp?doc_id=411&quot;&gt;shatters all existing records&lt;/a&gt;”.  &lt;em&gt;The Sunday Mail&lt;/em&gt; &lt;a href=&quot;http://www.news.com.au/couriermail/story/0,23739,25699165-952,00.html&quot; title=&quot;Queensland swept up as Oz Lotto jackpot hits $90m | The Courier-Mail&quot;&gt;duly fanned the flames of occasional, optimistic gambling&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
Winning division 1 in Oz 7 Lotto requires picking the seven winning numbers from 45: 45,379,620 combinations.  Since you can buy a 12-game ticket for $12.70, the entry cost to buy every combination is therefore a shade over $48,000,000.  (There are tickets with more games, but &lt;a href=&quot;https://www.goldencasket.com/how_to_play/ozlotto.asp#how_play&quot; title=&quot;How to Play Oz 7 Lotto - Live Life!&quot;&gt;I think they’re either system entries or quickpicks&lt;/a&gt;.)  This suggests that a brute force attack may be efficient: &lt;i&gt;i.e.&lt;/i&gt;, buying every combination and making a profit.  (This has been &lt;a href=&quot;http://en.wikipedia.org/wiki/National_Lottery_(Ireland)#Lotto_6.2F36:_1988.E2.80.9392&quot; title=&quot;National Lottery (Ireland) - Wikipedia, the free encyclopedia&quot;&gt;done before in Ireland&lt;/a&gt;, and I vaguely recall reports of it being done for some of the American mega-jackpots as well.)&lt;/p&gt;
&lt;p&gt;
So, I did some quick sums.  The calculations are made easier by the fact that the total prize pool is specified by law and can be calculated based on the division 1 pool (&lt;em&gt;Lotteries Rule 1998&lt;/em&gt; (Qld) sch 6 s 18(1) (&lt;a href=&quot;http://www.austlii.edu.au/au/legis/qld/consol_reg/lr1998166/&quot; title=&quot;LOTTERIES RULE 1998&quot;&gt;AustLII&lt;/a&gt;, &lt;a href=&quot;http://www.legislation.qld.gov.au/Acts_SLs/Acts_SL_L.htm&quot; title=&quot;Acts and Subordinate legislation - L&quot;&gt;OQPC&lt;/a&gt;), and the Golden Casket website has details about the &lt;a href=&quot;https://www.goldencasket.com/results/latest.asp&quot; title=&quot;The latest results for all Golden Casket's lotto games&quot;&gt;number of prize winners in last week’s draw&lt;/a&gt;.  I assumed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;There are half as many winners again in each division from last week’s draw (because more tickets are bought).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The overheads of the operation are $5,000,000 (about 10%), to cover the cost of actually putting in the 3,781,635 12-game cards and the cost of capital.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
On my numbers (which could be wrong), the maximum potential profit is almost $71,500,000: a huge 135% return on investment.  (It means that you win over half of the total prize pool.)  But what really surprised me was how robust a proposition it is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The main risk is another punter also winning division 1.  If there’s another division 1 winner, the profit drops by $45,000,000: but that’s still 50% profit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Even if there are three other division 1 winners, there is still a modest profit (about 7%).  Four other division 1 winners gives a 1% loss.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you assume you’re not the only one with this bright idea, and someone else has done exactly what you’ve done, you’ll still make a 37% profit (about $20,000,000), assuming no one else flukes division 1.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Even if there are two people (or syndicates) also buying all the combinations, it’s pretty much a break-even proposition: a loss of about $200,000, assuming no other division 1 winners.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
So, in other words, for the venture &lt;strong&gt;not&lt;/strong&gt; to be successful, basically there either needs to be four other division 1 winners (unlikely: there has been only 1 division 1 winner in Oz 7 Lotto in the past 13 weeks, and no winners in the past nine weeks), or two other similarly minded people or syndicates.  They seem to be better than the usual odds when playing lotto.&lt;/p&gt;
&lt;p&gt;
Notably, last week (the $50,000,000 draw) was not nearly so robust.  Assuming no other division 1 winners (which was the case), buying all the tickets would give a profit of about $22,500,000, or 42%.  However, the operation is not profitable if either (a) there is another division 1 winner, or (b) if someone else also buys all the tickets.&lt;/p&gt;
&lt;p&gt;
In yesterday’s press, there was a report that &lt;a href=&quot;http://www.brisbanetimes.com.au/queensland/lotto-prize-may-break-100-million-barrier-20090629-d1lk.html&quot; title=&quot;Lotto prize may break $100 million barrier&quot;&gt;there may be a further jackpot if there are no division 1 winners this week&lt;/a&gt;, and also that the prize pool may be larger depending on entries.  This suggests that my projected returns for this week could be higher; and also that if it jackpots, the brute force attack becomes even more lucrative.&lt;/p&gt;
&lt;p&gt;
As far as I could see from my quick look through the &lt;em&gt;Lotteries Act 1997&lt;/em&gt; (Qld) (&lt;a href=&quot;http://www.austlii.edu.au/au/legis/qld/consol_act/la1997135/&quot; title=&quot;LOTTERIES ACT 1997&quot;&gt;AustLII&lt;/a&gt;, &lt;a href=&quot;http://www.legislation.qld.gov.au/Acts_SLs/Acts_SL_L.htm&quot; title=&quot;Acts and Subordinate legislation - L&quot;&gt;OQPC&lt;/a&gt;), there’s nothing that prohibits this, though there might be something in the conditions of entry.  (It’s hard to see a reason why there would be—the lottery is presumably fully funded, so there is no risk to the lottery operator.)  What’s better is that section 152 of the Act prohibits a lottery operator from publishing the name or identifying particulars of a winner (see also section 225).&lt;/p&gt;
&lt;p&gt;
Of course, there may also be tax consequences.  An enterprise to buy all the tickets in the lottery may well amount to a business, which I suspect means that the winnings will be taxed as income (rather than being tax-free), but I’m no tax lawyer.  (The corollary is presumably that the expenses to earn the income are tax-deductible, which may ameliorate the tax impost somewhat.)&lt;/p&gt;</description>
	<pubDate>Tue, 30 Jun 2009 10:28:25 +0000</pubDate>
</item>
<item>
	<title>Robert Thomson: Back from Berlin..</title>
	<guid isPermaLink="true">http://blog.corporatism.org/blog/2009/06/30/72/back_from_berlin</guid>
	<link>http://blog.corporatism.org/blog/2009/06/30/72/back_from_berlin</link>
	<description>&lt;p&gt;LinuxTAG was interesting.. I got a better grasp of the Linux and Open Source crowd in Berlin (and in Germany in general).  I think my geek-side will be satisfied there.  I've decided to check out &lt;a href=&quot;http://wiki.sugarlabs.org/go/Sugar_on_a_Stick&quot;&gt;Sugar-on-a-stick&lt;/a&gt; after chatting to them there (and pointed one of the developers in the direction of &lt;a href=&quot;http://numptyphysics.garage.maemo.org/&quot;&gt;Numptyphysics&lt;/a&gt;, which just may appear as a Sugar package at some point).  I'm looking forward to settling down in a proper apartment again, and setting up a media center for myself - A nice ATOM dual core + NVidia (ION) server combination (&lt;a href=&quot;http://www.teo-shop.eu/&quot;&gt;TEO-X&lt;/a&gt; had one there) should provide all the power that I need (with lower power consumption) for XBMC &amp;amp; a retro (&amp;amp; not so retro) gaming setup. :-)
&lt;/p&gt;
&lt;p&gt;Also interesting was &lt;a href=&quot;http://buero20.org/&quot;&gt;Büro 2.0&lt;/a&gt;, which involves a shared workspace and services for Open Source companies and freelancers in Berlin.  If I decide to be a freelancer there, this might be an option.&lt;/p&gt;</description>
	<pubDate>Tue, 30 Jun 2009 06:54:12 +0000</pubDate>
</item>
<item>
	<title>Colin Charles: The fracas</title>
	<guid isPermaLink="false">http://www.bytebot.net/blog/?p=1553</guid>
	<link>http://feedproxy.google.com/~r/ColinCharles/~3/piYraUEKcH8/the-fracas</link>
	<description>&lt;p&gt;Dear Nasrul,&lt;/p&gt;
&lt;p&gt;I’ve watched the &lt;a href=&quot;http://groups.google.com/group/osdcmy-list/browse_thread/thread/f92137b0dc4ca03d&quot;&gt;vitriol on osdcmy-list&lt;/a&gt;, I’ve seen the &lt;a href=&quot;http://www.facebook.com/harisfazillah?v=feed&amp;amp;story_fbid=100537267351&quot;&gt;attacks on Facebook&lt;/a&gt;, and &lt;a href=&quot;http://twitter.com/nasrulrpfb/status/2314349401&quot;&gt;on Twitter&lt;/a&gt; and I’ve read all the comments &lt;a href=&quot;http://www.openmalaysiablog.com/2009/05/mscosconf.html&quot;&gt;on the Open Malaysia blog&lt;/a&gt;, and I think its time I chime in.&lt;/p&gt;
&lt;p&gt;Firstly, I need to ask: do you know much about open source? I would highly recommend you read &lt;a href=&quot;http://opensource.org/docs/osd&quot;&gt;The Open Source Definition&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Next, you’re talking about Facebook, which is a closed platform, which was launched at an open source conference. Why?&lt;/p&gt;
&lt;p&gt;But more interestingly, you won RM2,000 for “porting” MediaWiki to run on the Windows, IIS, MSSQL Server, and PHP. For what it is worth, MediaWiki already &lt;a href=&quot;http://www.mediawiki.org/wiki/Installation&quot;&gt;runs&lt;/a&gt; on Windows, and works fine with IIS. So it seems that your largest task, was to port the SQL, to run not on two very capable open source databases, but to run on Microsoft SQL Server (a closed source database).&lt;/p&gt;
&lt;p&gt;I read &lt;a href=&quot;http://www.lamp2win.com/content/final-day-mediawiki-what-i-learn-so-far-lamp2win-and-my-journey&quot;&gt;Final Day: MediaWiki – What I learn so far from LAMP2WIN and My Journey&lt;/a&gt; with glee. &lt;/p&gt;
&lt;p&gt;So I decided to poke a little. You haven’t submitted any code upstream to MediaWiki. But what’s worse is, have you seen &lt;a href=&quot;https://bugzilla.wikimedia.org/show_bug.cgi?id=9767&quot;&gt;Bug#9767&lt;/a&gt;?  The title of the bug is “Microsoft SQL Server/MSSQL support (tracking)”. It doesn’t take a genius to tell you what the patches in that bug do.&lt;/p&gt;
&lt;p&gt;Yes, DJ Bauch added support to MSSQL, via ADODB (work started in 2007, and its been ready since April 30 2009). Something you won money for. But worse? “.. winners walked away with RM2,000 in cash, a MSC Malaysia Participation Certificate. They will also enjoy facilitated access to MSC Intensive Technoprenuer Programme and the eventual RM150,000 pre-seed fund.” (&lt;a href=&quot;http://www.mmail.com.my/content/6254-microsoft-surprise-lamp2win-winners&quot;&gt;via the Malay Mail&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Now you’re able to access a lot more money, for work that you, yourself, did not do.&lt;/p&gt;
&lt;p&gt;I think you should get off your high horse, understand a little more Netiquette, and behave. After all, Google will forever remember what you’ve said, and all the personal attacks against active participants in the open source community, which I’m certain can do you no favours. &lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;br&gt;&lt;/br&gt;
Colin&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/N1246hLvSczregwwwDh5jOTquFU/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/N1246hLvSczregwwwDh5jOTquFU/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;&lt;/br&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/N1246hLvSczregwwwDh5jOTquFU/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/N1246hLvSczregwwwDh5jOTquFU/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ColinCharles?a=piYraUEKcH8:rUoBCnBzBvA:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ColinCharles?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ColinCharles?a=piYraUEKcH8:rUoBCnBzBvA:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ColinCharles?i=piYraUEKcH8:rUoBCnBzBvA:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ColinCharles?a=piYraUEKcH8:rUoBCnBzBvA:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ColinCharles?i=piYraUEKcH8:rUoBCnBzBvA:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ColinCharles?a=piYraUEKcH8:rUoBCnBzBvA:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ColinCharles?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ColinCharles/~4/piYraUEKcH8&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;&lt;/img&gt;</description>
	<pubDate>Tue, 30 Jun 2009 05:28:07 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway: Thesis</title>
	<guid isPermaLink="true">http://certifiedwaif.livejournal.com/354841.html</guid>
	<link>http://certifiedwaif.livejournal.com/354841.html</link>
	<description>I'd forgotten how mentally exhausting research was. And how exhilarating.</description>
	<pubDate>Tue, 30 Jun 2009 03:28:11 +0000</pubDate>
</item>
<item>
	<title>Michael Still: Blathering for Tuesday, 30 June 2009</title>
	<guid isPermaLink="true">http://www.stillhq.com/blather/20090630.html</guid>
	<link>http://www.stillhq.com/blather/20090630.html</link>
	<description>&lt;b&gt;21:35&lt;/b&gt;: Mikal shared: &lt;a href=&quot;http://forums.precentral.net/web-os-development/188317-anyone-try-new-tip-calc-app.html&quot;&gt;Anyone try the new Tip Calc App? - PreCentral Forums&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;i&gt;Funny. Dude reports anal retentive bug to JWZ. Hilarity ensues.&lt;/i&gt;&lt;/ul&gt;&lt;br&gt;&lt;/br&gt;
&lt;b&gt;21:35&lt;/b&gt;: Mikal shared: &lt;a href=&quot;http://rss.slashdot.org/~r/slashdot/eqWf/~3/JJuAqYmdPfY/ATampTs-Bad-Math-Strikes-MythBusters-Savage&quot;&gt;AT&amp;amp;T's Bad Math Strikes MythBusters' Savage&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;i&gt;The problem of course being that not everyone is famous enough to get this stuff fixed when it happens to them.&lt;/i&gt;&lt;/ul&gt;&lt;br&gt;&lt;/br&gt;
&lt;b&gt;21:35&lt;/b&gt;: Mikal shared: &lt;a href=&quot;http://www.smh.com.au/world/forget-lotto-just-bank-at-westpac-nz-for-a-jackpot-20090627-d0m9.html&quot;&gt;Forget Lotto, just bank at Westpac NZ for a jackpot&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;i&gt;No don't bank with them. If I can reduce their customer base, it increases my chances of being the next lucky winner!&lt;/i&gt;&lt;/ul&gt;&lt;br&gt;&lt;/br&gt;
&lt;b&gt;21:35&lt;/b&gt;: Mikal shared: &lt;a href=&quot;http://www.abc.net.au/news/stories/2009/06/29/2610795.htm&quot;&gt;Fake email affair proves costly for Turnbull - ABC News (Australian Broadcasting Corporation)&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;i&gt;Interesting. 18% approval for an opposition leader is pathetic. Surely you can do better than that just with the &quot;grass is greener on the other side of politics&quot; effect.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;PS: Remember. Turnbull is worth hundreds of millions of dollars and is a merchant banker. He's not an Aussie battler by any measure I can think of.&lt;/i&gt;&lt;/ul&gt;&lt;br&gt;&lt;/br&gt;
&lt;b&gt;21:35&lt;/b&gt;: Mikal shared: &lt;a href=&quot;http://www.lca2010.org.nz/media/news/51&quot;&gt;Call for Papers are now open! - linux.conf.au 2010 | 18 - 23 Jan | Follow the signs!&lt;/a&gt;&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;i&gt;You know you want to submit a paper...&lt;/i&gt;&lt;/ul&gt;&lt;br&gt;&lt;/br&gt;

&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;i&gt;Tags for this post: blather(&lt;a href=&quot;http://www.stillhq.com/blather&quot;&gt;&lt;img src=&quot;http://www.stillhq.com/tagicon.cgi?post=/blather/20090630&amp;amp;tag=blather&amp;amp;format=.png&quot; alt=&quot;S&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;) &lt;/i&gt;
	
&lt;a href=&quot;http://www.stillhq.com/blather/20090630.commentform.html&quot;&gt;Comment&lt;/a&gt;
&lt;a href=&quot;http://www.stillhq.com/index.noblather.rss20&quot;&gt;RSS with no blather&lt;/a&gt;</description>
	<pubDate>Tue, 30 Jun 2009 02:28:09 +0000</pubDate>
</item>
<item>
	<title>Tim Riley: De-@wip Your Cucumber Stories</title>
	<guid isPermaLink="false">tag:openmonkey.com,2009-04-25:/articles/2009/06/de-wip-your-cucumber-stories</guid>
	<link>http://feedproxy.google.com/~r/BlahBlahWoofWoof/~3/MG8SCjzjxJY/de-wip-your-cucumber-stories</link>
	<description>&lt;p&gt;We’ve been really hitting the &lt;a href=&quot;http://cukes.info/&quot;&gt;Cucumber&lt;/a&gt; hard in the recent few iterations of our current project. Now that we’re &lt;a href=&quot;http://en.wikipedia.org/wiki/Pair_programming#Ping_pong_pair_programming&quot;&gt;ping pong pair programming&lt;/a&gt;, the Cucumber story is the first thing we write, and we revisit regularly during the &lt;a href=&quot;http://jamesshore.com/Blog/Red-Green-Refactor.html&quot;&gt;red-green-refactor&lt;/a&gt; cycle.&lt;/p&gt;
        
        
        	&lt;p&gt;To make this easy, we place a &lt;code&gt;@wip&lt;/code&gt; &lt;em&gt;work in progress&lt;/em&gt; &lt;a href=&quot;http://wiki.github.com/aslakhellesoy/cucumber/tags&quot;&gt;tag&lt;/a&gt; at the top of the current stories:&lt;/p&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;Feature&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Make&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;coffee&lt;/span&gt;

  &lt;span class=&quot;c1&quot;&gt;# This one is done.&lt;/span&gt;
  &lt;span class=&quot;no&quot;&gt;Scenario&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;First&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;coffee&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;day&lt;/span&gt;
  
  &lt;span class=&quot;c1&quot;&gt;# This is the one we're working on.&lt;/span&gt;
  &lt;span class=&quot;vi&quot;&gt;@wip&lt;/span&gt;
  &lt;span class=&quot;no&quot;&gt;Scenario&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Afternoon&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;perk&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;up&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then we use &lt;code&gt;cucumber -t wip&lt;/code&gt; to run just the stories in progress. Once the stories are green and we’re happy to move on, we often forget to remove the &lt;code&gt;@wip&lt;/code&gt; tags before committing. I wrote a little sed command in a bash alias to make this easier:&lt;/p&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;c&quot;&gt;# Remove any @wip tags from Cucumber features.&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;alias &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;dewip&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;sed -E -i '' -e '/^[[:blank:]]*@wip$/d;s/,[[:blank:]]*@wip//g;s/@wip,[[:blank:]]*//g' features/**/*.feature&quot;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Throw it in your &lt;code&gt;.bash_profile&lt;/code&gt; for ease of access! Here’s a &lt;a href=&quot;http://gist.github.com/136294&quot;&gt;gist&lt;/a&gt; for your forking pleasure.&lt;/p&gt;
      &lt;img src=&quot;http://feeds.feedburner.com/~r/BlahBlahWoofWoof/~4/MG8SCjzjxJY&quot; height=&quot;1&quot; width=&quot;1&quot;&gt;&lt;/img&gt;</description>
	<pubDate>Tue, 30 Jun 2009 00:24:00 +0000</pubDate>
</item>
<item>
	<title>Anand Kumria: My last five girlfriends …</title>
	<guid isPermaLink="false">tag:progsoc.org,2009:/edinburgh/filmfest</guid>
	<link>http://www.progsoc.org/~wildfire/aum/edinburgh/filmfest.html</link>
	<description>&lt;p&gt;
Going to see films has been, for me, usually a solitary exercise.
&lt;/p&gt;
&lt;p&gt;
Either no one was interested in seeing what I wanted to, my tastes are somewhat elceltic. Or they wanted to see that right at the beginning or right at the end.
&lt;/p&gt;
&lt;p&gt;
Fortunately there are &lt;a href=&quot;http://en.wikipedia.org/wiki/Film_festival&quot;&gt;film festivals&lt;/a&gt; where other people with eclectic tastes gather. And even more fortuitously there is one in Edinburgh.
&lt;/p&gt;
&lt;div id=&quot;hreview-my-last-5-girlfriends&quot; class=&quot;hreview description&quot;&gt;
&lt;p&gt;
Whilst I would have loved to see some films during working hours -- that was not to be. Instead I saw &lt;a href=&quot;http://www.imdb.com/title/tt1050002/&quot; class=&quot;item fn url&quot;&gt;My Last 5 Girlfriends&lt;/a&gt;. It stars &lt;a href=&quot;http://www.imdb.com/name/nm1981245/&quot;&gt;Brendan Patricks&lt;/a&gt; and, judging by the swooning going on in the audience, he is likely to be the Hugh Grant of his time. The story is a cross between &lt;a href=&quot;http://www.imdb.com/title/tt0338013/&quot;&gt;Eternal Sunshine of the Spotless Mind&lt;/a&gt; and &lt;a href=&quot;http://www.imdb.com/title/tt0120601/&quot;&gt;Being John Malkovich&lt;/a&gt; in style.
&lt;/p&gt;
&lt;p&gt;
Most of the girlfriend scenes are what you expect them to be: alternatively predictable, funny and often cringe-worthy. That is not because the script is bad, actually it is the opposite. It is due to the fact that everyone has gone through this exact set of problems and issues with girlfriends. If you get the chance, well worth seeing. &lt;abbr class=&quot;rating&quot; title=&quot;4&quot;&gt;★★★★☆&lt;/abbr&gt;&lt;span style=&quot;display: none;&quot; class=&quot;version&quot;&gt;0.3&lt;/span&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;hreview-van-diemans-land&quot; class=&quot;hreview description&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.imdb.com/name/nm0992707/&quot;&gt;Oscar Redding&lt;/a&gt; wrote and stares in &lt;a href=&quot;http://www.imdb.com/title/tt1361843/&quot; class=&quot;item fn url&quot;&gt;Van Dieman's Land&lt;/a&gt;. The movie is graphic, haunting and beautifully shot. In particular I liked the fact that there was little &quot;flinching&quot;.
&lt;/p&gt;
&lt;p&gt;
If the guys had to cross the river, the camera was setup and the guys crossed. Buttocks and all.
&lt;/p&gt;
&lt;p&gt;
If the guys had to hit someone, and they were still not dead. You hit them again. And again.
&lt;/p&gt;
&lt;p&gt;
If you want 'popcorn' entertainment, this isn't for you. Why isn't this a 5? Basically — even though I was unaware of the original historical story — I felt that the ending of the film was telegraphed too early. &lt;abbr class=&quot;rating&quot; title=&quot;4&quot;&gt;★★★★☆&lt;/abbr&gt;&lt;span style=&quot;display: none;&quot; class=&quot;version&quot;&gt;0.3&lt;/span&gt;
&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 29 Jun 2009 16:33:00 +0000</pubDate>
	<author>wildfire@progsoc.org (Anand Kumria)</author>
</item>
<item>
	<title>James Morris: SELinux for Humans</title>
	<guid isPermaLink="true">http://james-morris.livejournal.com/42865.html</guid>
	<link>http://james-morris.livejournal.com/42865.html</link>
	<description>I mean, SLUGs...&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;a href=&quot;http://www.mabula.net/tbfw/2009/06/29#2009-06-29-selinux-for-slugs&quot;&gt;Paul Wayper&lt;/a&gt; gave a couple of talks on SELinux at this weeks' &lt;a href=&quot;http://www.slug.org.au/&quot;&gt;SLUG&lt;/a&gt; meeting, and includes links to a couple of very useful slide decks:&lt;br&gt;&lt;/br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.slideshare.net/PaulWay/selinux-for-everyday-users&quot;&gt;SELinux for Everyday Users&lt;/a&gt;&lt;/li&gt;&lt;br&gt;&lt;/br&gt;&lt;li&gt;&lt;a href=&quot;http://www.slideshare.net/PaulWay/slug-2009-06-selinux-for-sysadmins&quot;&gt;SELinux for SysAdmins&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;/br&gt;The sysadmin slides look particularly useful, as they focus on solving common issues such as running FTP/SAMBA/Apache servers, and provide some very useful general tips, such as looking in the audit log and using policy booleans for high-level policy tweaking.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;These slides may be the best, short introduction for sysadmins on the topic that I've seen.  It's a difficult thing to get right.</description>
	<pubDate>Mon, 29 Jun 2009 16:28:14 +0000</pubDate>
</item>
<item>
	<title>Paul Wayper: SELinux for SLUGs</title>
	<guid isPermaLink="true">http://www.mabula.net/tbfw/blosxom.cgi/2009/06/29#2009-06-29-selinux-for-slugs</guid>
	<link>http://www.mabula.net/tbfw/blosxom.cgi/2009/06/29#2009-06-29-selinux-for-slugs</link>
	<description>Last Friday I gave two talks at the
&lt;a href=&quot;http://www.slug.org.au&quot;&gt;Sydney Linux Users Group&lt;/a&gt;, at the
new Google offices.  It was a pretty full-on day, as I'll explain in
another post, and I was keen to get to the meeting pretty quickly.
Fortunately the light rail in Sydney is pretty good, and finding ones way
from the Star City stop to the offices was pretty easy.  I happened to
meet two people who were also going to the meeting, a lady escorting her
young nephew (if I recall correctly) - she came and asked me if I knew
where the linux group meeting was.  I talked with them for a bit on the
tram, but I'm sorry to them if I was a little distracted - my thoughts
were on getting to the meeting, getting set up correctly and giving the
talk.&lt;p&gt;

We arrived in the twilight zone between the day, when the lifts allow
you to get to any floor without a pass, and the night, when the SLUG
Google employees were shuttling people up to the fifth floor.  So we
climbed the ten flights of stairs - I was in the need of a bit of a
stretch.  I then picked up my name badge - they were using 
&lt;a href=&quot;http://anyvite.com&quot;&gt;Anyvite&lt;/a&gt;, so they could print out named
labels easily for those that had bothered to RSVP on the site so
beforehand.  I had a brief bit of hesitation when my laptop shut down
because it thought it was out of power, a curious interaction between
the failing battery and Fedora 11, but all came good.  Then it was time
to work out how to get connected to the projector.&lt;/p&gt;&lt;p&gt;

This was the source of two startling discoveries.  Firstly, Fedora 11's
screen detection now works pretty much seamlessly - if you plug in a 
new screen and click the 'Detect Monitors' button, it just finds the new
output on the VGA port and sets it up appropriately.  Secondly, Open
Office 3.0 has a 'presenter' mode that can take advantage of two screens
and display your 'now and next' screen on your laptop screen while the
projector just displays the current slide in all its streamlined beauty.
This was one of those &quot;Wow, It Just Works™&quot; moments where you see
how fast the pace of Linux development really is - I was all ready with
arcane &lt;tt&gt;xrandr&lt;/tt&gt; voodoo but this just worked perfectly.&lt;/p&gt;&lt;p&gt;

Sadly, due to slight cabling problems my laptop was sitting on a server
cabinet six meters away, but when I muttered to the nearest person that
what I needed right now was a wireless presenter device, the same guy
just pulled one from his bag and handed it to me.  Whoever you are, you
really made my day - thanks!  Still, I would be deprived of the handy
'now and next' view and would occasionally have to look over my shoulder
to make sure I was talking about the right thing.  I'd practiced both
talks beforehand, so I was able to move on fairly smoothly.  If you're
going to do presentations, you have to do this - reading off your
slides or looking at the screen to see where you are is really
embarrassing.&lt;/p&gt;&lt;p&gt;

The two talks went well, though I didn't receive anywhere near the
amount of heckling that the CLUG people gave me when I gave the same
talks.  The questions asked were generally quite insightful, and I had
to think hard about my answers.  I remembered to restate the question
for the microphone, and got to give two T-shirts to people who asked
good questions.  So overall I was pretty pleased about how it went.&lt;/p&gt;&lt;p&gt;

I was talking with Andrew Cowie after the talk, and he gave me some
very useful advice for approaching talks in the future.  After you've
done your initial bit of research working out who you're talking to
and what level your should pitch your talk at, you really just have to
go for it.  I'd been worried that it might be too technical for some
and not technical for others - and it was, of course; the point is that
that's not really my problem.  There always will be that spectrum of
knowledge in the people attending a talk at a volunteer organisation,
and it's not the presenter's problem to try and cater for everyone.
You simply have to do the best you can and reach the most people you
can, and not worry about whether you've got &lt;i&gt;everyone&lt;/i&gt; interested.&lt;/p&gt;&lt;p&gt;

After the talk I got to spend a bit of time with Andrew talking about
trades and professions, what makes good meetings and presentations,
and many other things that are now lost in the blur that that Friday
became.  He's an excellent speaker and, like me, wants to see people doing
the right thing - being moral and ethical in all their dealings.  I also
have a small envy of his globetrotting ways, and admire his ability to
write Java as fast as think about it in Eclipse, so it was good to get a
chance to talk to him for an extended time rather than the usual 'nod in
the corridor' meetings we've had in the past.&lt;/p&gt;&lt;p&gt;

Overall, a good night.  I've put both the
&lt;a href=&quot;http://www.slideshare.net/PaulWay/selinux-for-everyday-users&quot;&gt;SELinux
for Beginners&lt;/a&gt; and 
&lt;a href=&quot;http://www.slideshare.net/PaulWay/slug-2009-06-selinux-for-sysadmins&quot;&gt;SELinux
for Sysadmins&lt;/a&gt; talks up on SlideShare for people to read.&lt;/p&gt;</description>
	<pubDate>Mon, 29 Jun 2009 14:26:21 +0000</pubDate>
</item>
<item>
	<title>Brianna Laugher: Forking out eyeballs</title>
	<guid isPermaLink="false">tag:brianna.laugher.id.au,2009-06-29:7362127220669363bbcdacdf7f924b02/5ff5ee776082f558ecda41c339580fc5</guid>
	<link>http://brianna.laugher.id.au/blog/18/forking-out-eyeballs</link>
	<description>&lt;p&gt;[discussing Google Wave]&lt;/p&gt;

	&lt;p&gt;&lt;strong&gt;D:&lt;/strong&gt;  i only watched 20 mins&lt;br&gt;&lt;/br&gt;
the vigorous audience applause after every little feature demo was a bit disturbing&lt;br&gt;&lt;/br&gt;
but then my video got stuck. so u may want to download it first&lt;br&gt;&lt;/br&gt;
&lt;strong&gt;me:&lt;/strong&gt;  hm, i imagine google fanatics are becoming like apple fanatics&lt;br&gt;&lt;/br&gt;
&lt;strong&gt;D:&lt;/strong&gt;  yeh. except they dont fork out tonnes of cash&lt;br&gt;&lt;/br&gt;
&lt;strong&gt;me:&lt;/strong&gt;  hm…they fork out lots of eyeballs and data&lt;br&gt;&lt;/br&gt;
&lt;strong&gt;D:&lt;/strong&gt;  forking out eyeballs?!  yegads!&lt;br&gt;&lt;/br&gt;
&lt;strong&gt;me:&lt;/strong&gt;  ok that didn’t quite come out right :)&lt;/p&gt;</description>
	<pubDate>Mon, 29 Jun 2009 13:33:35 +0000</pubDate>
</item>
<item>
	<title>Chris Samuel: Final report for “Inquiry into Improving Access to Victorian Public Sector Information and Data” released</title>
	<guid isPermaLink="false">http://www.csamuel.org/?p=1809</guid>
	<link>http://www.csamuel.org/2009/06/29/final-report-for-inquiry-into-improving-access-to-victorian-public-sector-information-and-data-released</link>
	<description>&lt;p&gt;The Victorian Government has been running an inquiry into access to the data that it generates, and &lt;a href=&quot;http://www.parliament.vic.gov.au/edic/inquiries/access_to_PSI/final_report.html&quot;&gt;they’ve finally tabled their report&lt;/a&gt; (&lt;a href=&quot;http://www.parliament.vic.gov.au/edic/inquiries/access_to_PSI/EDIC_ACCESS_TO_PSI_REPORT_2009.pdf&quot;&gt;PDF&lt;/a&gt;).  I’ve only had a chance for a quick scan of it so far but its three main recommendations are as follows.&lt;/p&gt;
&lt;p&gt;Firstly – this info should be made available and it should be cheap (ideally free!):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;The Committee has proposed three key recommendations for access to and re-use of Government information. First, the Committee recommends that the Victorian Government develop an Information Management Framework for the purpose of facilitating access to and re-use of Victorian Government information by government, citizens and businesses. The default position of the framework should be that all PSI produced by Victorian Government departments from now on be made available at no or marginal cost.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Secondly – they should use Creative Commons licensing wherever possible!&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;The second key recommendation of the Committee is that the Victorian Government make use of the Creative Commons licensing model for the release of PSI. The Committee was told Creative Commons licences can be appropriately used for up to 85 per cent of government information and data, providing a simple to understand and widely used system for the re-use of PSI. Remaining Victorian Government PSI should either not be released, or released under licences tailored specifically for restricted materials.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Thirdly – and least excitingly – there should be a portal for this info..&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;The Committee’s third key recommendation is that the Victorian Government establish an on-line directory, where the public can search for and obtain information about PSI held by the Victorian Government. Depending on the access conditions Government has attached to specific PSI, people will be able to download information and data directly, or make contact with people in the Victorian Government to discuss access conditions.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;They also have a recommendation and finding relating to state government purchasing of software related to open source:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;The Committee also considers the use of open source software (OSS) within and by the Victorian Government. One of the Committee’s recommendations is that the Government ensure tendering for software is neither licence specific nor has proprietary software-specific requirements, and that it meet the given objectives of Government.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Finding 23: There is sufficient evidence of cost-competitiveness between open source software and proprietary software for government to carefully consider both options during software procurement and development.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;They also consider the licensing of software developed by the government:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;As noted in section 10.4.3.2 below, current Victorian Government policy is to allocate IP rights in software produced for it to the software developer, with certain restrictions to ensure the Government’s interests are protected. This means that there is nothing to restrict people who develop software for the government from subsequently releasing it as OSS.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Unfortunately it looks like MS Word stuffed up their references and headings for them – what irony!  There is no section 10.4.3.2 in the PDF, it’s probably referring to section 10.3.3, which is followed by section 10.3.4 which in turn is followed by 10.3.3.1 – er ?&lt;/p&gt;
&lt;p&gt;Even more interesting is when they talk about file formats:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Recommendation 42: That the Victorian Government require, as part of its whole-of-government ICT Procurement Policy, that software procured by the Government be capable of saving files in open standard formats, and that wherever possible, the software be configured to save in open standard formats by default.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;There’s heaps more there, but I’ve run out of time to read it tonight! &lt;img src=&quot;http://www.csamuel.org/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot;&gt;&lt;/img&gt; &lt;/p&gt;
&lt;p&gt;(&lt;a href=&quot;http://twitter.com/OpenAustralia/status/2306717561&quot;&gt;Found via OpenAustralia on Twitter&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;This post syndicated from the website of &lt;a href=&quot;http://www.csamuel.org/&quot;&gt;Chris Samuel&lt;/a&gt;: &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.csamuel.org/2009/06/29/final-report-for-inquiry-into-improving-access-to-victorian-public-sector-information-and-data-released&quot;&gt;Final report for “Inquiry into Improving Access to Victorian Public Sector Information and Data” released&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 29 Jun 2009 13:26:48 +0000</pubDate>
</item>
<item>
	<title>Robert Norris: from the ground up</title>
	<guid isPermaLink="false">http://cataclysm.cx/from_the_ground_up</guid>
	<link>http://cataclysm.cx/from_the_ground_up.html</link>
	<description>&lt;p&gt;My current bus activity is AROS hacking. I've actually been doing at least an hour a day for the last couple of months, so I'm making plenty of progress, but I'm off on a long and exciting tangent so it all seems quite different to what I wa