<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" 
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:wfw="http://wellformedweb.org/CommentAPI/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<channel>
	<title>Planet SLUG</title>
	<link>http://planet.slug.org.au/</link>
	<language>en</language>
	<description>Planet SLUG - http://planet.slug.org.au/</description>

<item>
	<title>Dave Airlie: two X servers one graphics card.</title>
	<guid>http://airlied.livejournal.com/72187.html</guid>
	<link>http://airlied.livejournal.com/72187.html</link>
	<description>So sane multi-seat handling was something I wanted to make KMS do at some point and designed for but never quite implemented.&lt;br /&gt;&lt;br /&gt;So in an attempt to maybe get help out people who are interesting in this I've gotten two seats on a single card working here to a demoable level.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://people.freedesktop.org/~airlied/multiseat/&quot;&gt;http://people.freedesktop.org/~airlied/multiseat/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;contains a kernel patch + libdrm patch.&lt;br /&gt;&lt;br /&gt;The kernel patch pretty much contains 3 pieces:&lt;br /&gt;&lt;br /&gt;(a) ability to create &quot;render&quot; device nodes with an attached list of output resources it controls (crtcs/encoders/connectors).&lt;br /&gt;(b) hardcoded render node setup for my X1900 - two parts - core drm creates 3 devices nodes, radeon driver assigns hardcoded&lt;br /&gt;resources to the nodes - in this case render node 0 gets a crtc + DVI + encoders, and node 1 gets the other crtc/DVI/encoders, and&lt;br /&gt;render node 2 gets no outputs.&lt;br /&gt;(c) drm mapping fixups for multiple device nodes - this is something we should probably cleanup independently of this patch.&lt;br /&gt;&lt;br /&gt;the libdrm patch just contains support to use an env var to pick the device path.&lt;br /&gt;&lt;br /&gt;With this xorg.conf and the two startx wrappers I can run two X servers separately.&lt;br /&gt;&lt;br /&gt;TODO:&lt;br /&gt;(a) define a kernel/user interface to set seats and nodes up. The DRM control node is there specifically for this purpose but I never got around to specifying this interface. It basically needs a few methods:&lt;br /&gt; 1. Create new render node with output configuration.&lt;br /&gt; 2. Remove render node.&lt;br /&gt;These would have to rely on their being no users of the render or legacy device nodes in advance. The kernel would&lt;br /&gt;also have to get the driver to validate the output configuration. The output configuration would be a list of IDs for crtcs/encoders/connectors.&lt;br /&gt;&lt;br /&gt;(b) maybe add a drm device path to xorg.conf so each card section can specify one, would help get away from BusID also.&lt;br /&gt;&lt;br /&gt;(c) make a sane userspace interface to use it all - I suspect you'd need something in gdm/ConsoleKit to configure this sort of&lt;br /&gt;thing, you'd have to construct per-card multi-seat profiles with a list of the outputs and stuff you want on each seat etc.&lt;br /&gt;&lt;br /&gt;At this point I'm just trying to flesh out my backlog of projects and figure out how long they will take to do properly, feel free if someone is interested in picking this up and running with it.</description>
	<pubDate>Thu, 18 Mar 2010 01:59:57 +0000</pubDate>
</item>
<item>
	<title>Sonia Hamilton: Australian BJJ Competitions</title>
	<guid>http://soniahamilton.wordpress.com/?p=679</guid>
	<link>http://soniahamilton.wordpress.com/2010/03/18/australian-bjj-competitions-2/</link>
	<description>&lt;p&gt;A &lt;a href=&quot;http://www.google.com/calendar/embed?src=2b3fg4pb1sgjgu9da0j7hlnpo8%40group.calendar.google.com&amp;amp;ctz=Australia/Sydney&quot;&gt;calendar of Australian BJJ Competitions&lt;/a&gt; I setup in Google Calendar.&lt;/p&gt;
&lt;p&gt;If I&amp;#8217;ve missed any, please email me or add a comment.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/soniahamilton.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/soniahamilton.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/soniahamilton.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/soniahamilton.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/soniahamilton.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/soniahamilton.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/soniahamilton.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/soniahamilton.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/soniahamilton.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/soniahamilton.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=soniahamilton.wordpress.com&amp;amp;blog=1724069&amp;amp;post=679&amp;amp;subd=soniahamilton&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Wed, 17 Mar 2010 23:54:06 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: VMware Workstation 7.1 Beta</title>
	<guid>http://users.heimic.net/michaelf/?p=447</guid>
	<link>http://users.heimic.net/michaelf/2010/03/17/vmware-workstation-7-1-beta/</link>
	<description>&lt;p&gt;VMware Workstation 7.1 Beta announced. More details can be found at the link below;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://communities.vmware.com/community/beta/ws&quot;&gt;http://communities.vmware.com/community/beta/ws&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 17 Mar 2010 05:26:38 +0000</pubDate>
</item>
<item>
	<title>Robert Collins: LCA 2010 videos are showing up</title>
	<guid>http://rbtcollins.wordpress.com/2010/03/17/lca-2010-videos-are-showing-up/</guid>
	<link>http://www.advogato.org/person/robertc/diary.html?start=146</link>
	<description>&lt;p&gt;Not all the videos are there yet, but they are starting to show up . Yay. See &lt;a href=&quot;http://mirror.internode.on.net/pub/linux.conf.au/2010/index.html&quot;&gt;http://mirror.internode.on.net/pub/linux.conf.au/2010/index.html&lt;/a&gt; or your local LA mirror.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/rbtcollins.wordpress.com/245/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/rbtcollins.wordpress.com/245/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/rbtcollins.wordpress.com/245/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/rbtcollins.wordpress.com/245/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/rbtcollins.wordpress.com/245/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/rbtcollins.wordpress.com/245/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/rbtcollins.wordpress.com/245/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/rbtcollins.wordpress.com/245/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/rbtcollins.wordpress.com/245/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/rbtcollins.wordpress.com/245/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=rbtcollins.wordpress.com&amp;amp;blog=9305600&amp;amp;post=245&amp;amp;subd=rbtcollins&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Wed, 17 Mar 2010 04:08:14 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: Fusion 3.1 Beta now available</title>
	<guid>http://users.heimic.net/michaelf/?p=445</guid>
	<link>http://users.heimic.net/michaelf/2010/03/17/fusion-3-1-beta-now-available/</link>
	<description>&lt;p&gt;Looks like VMware has pushed out VMware Fusion 3.1 Beta. You can grab a copy from the link below;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://communities.vmware.com/community/beta/fusion&quot;&gt;http://communities.vmware.com/community/beta/fusion&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 17 Mar 2010 01:46:25 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway</title>
	<guid>http://certifiedwaif.livejournal.com/380743.html</guid>
	<link>http://certifiedwaif.livejournal.com/380743.html</link>
	<description>If you're doing any sort of applied statistics at all, you'll soon be knee deep in diagnostic plots, data and code. Not long after that, you'll be wanting a second monitor.</description>
	<pubDate>Wed, 17 Mar 2010 00:17:03 +0000</pubDate>
</item>
<item>
	<title>James Purser: Inspiring and Depressing at the same time</title>
	<guid>http://jamespurser.com.au/226 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/inspiring-and-depressing-same-time</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Last night I finished watching a series called &amp;quot;From the earth to the moon&amp;quot;. I think it was the first of Tom Hanks' forays into docu-drama (coming after the movie Apollo 13).&lt;/p&gt;
&lt;p&gt;As you might guess from the title the series follows the events leading up to the first landing on the moon and afterwards to the final Apollo mission in 1972. As a series it is an excellent examination of the people involved in the American Space effort, from Astronauts to their wives, to the contractors and everyone else involved.&lt;/p&gt;
&lt;p&gt;What it did for me was to bring home how far short we have fallen from the promise offered by the Apollo missions themselves. If the momentum had been maintained, Apollo could have been the stepping stone to the next wave of human exploration. By now we wouldn't be marvelling at the staying power of a couple of Rovers on Mars, but instead we'd be marvelling at the fact that the human species had set foot on another planet, not just our celestial partner, but a whole other world.&lt;/p&gt;
&lt;p&gt;Today we are told that it's better to send probes and rovers to other worlds. Less of a risk, cheaper and so on. Feh I say. The USSR sent a probe to the moon, then the US sent two men to the moon, which is more inspiring? Which is more likely to stir the blood?&lt;/p&gt;
&lt;p&gt;So yes, &amp;quot;From the earth to the moon&amp;quot; is an inspiring series, it details what can be done when there is the will to move forward and achieve something great. However it's also depressing to see where the evaporation of that will has left us.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Tue, 16 Mar 2010 21:54:05 +0000</pubDate>
</item>
<item>
	<title>Nick Jenkins: Recovering from a corrupted MySQL install due to a dying hard disk</title>
	<guid>http://blog.nickj.org/?p=86</guid>
	<link>http://blog.nickj.org/2010/03/16/recovering-from-a-corrupted-mysql-install-due-to-a-dying-hard-disk/</link>
	<description>&lt;p&gt;Might as well write these steps down in case I ever need them again:&lt;/p&gt;
&lt;p&gt;Background: A test box started making a faint high-pitched squealing sound, and then powering off. Happened semi-randomly, but most commonly during periods of hard disk access (such as boot-up). Fixed the hardware problem by replacing the Power Supply Unit ($25 from MSY).&lt;/p&gt;
&lt;hr /&gt;Then the above PSU semi-random-poweroff problem in turn caused the box&amp;#8217;s 5-year-old hard disk to start playing up (age, plus having the power repeatedly die mid-write probably doesn&amp;#8217;t help any).
&lt;p&gt;Steps for moving to a new hard disk:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Buy a new hard disk of equal or larger size.&lt;/li&gt;
&lt;li&gt;Install it in one of the USB external single hard disk enclosures that supports both an SATA or an IDE hard disk ($23 at MSY).&lt;/li&gt;
&lt;li&gt;Download, burn, and boot from System Rescue CD (v1.4.0 is the current latest).&lt;/li&gt;
&lt;li&gt;After it boots, plug in USB drive.&lt;/li&gt;
&lt;li&gt;See which disk has which device name: fdisk -l&lt;/li&gt;
&lt;li&gt;Recover from the old to the new disk: ddrescue -b 2M /dev/hda /dev/sda ./ddres.txt&lt;/li&gt;
&lt;li&gt; The above copied about 17 Mb per second, and claimed zero disk errors were found.&lt;/li&gt;
&lt;li&gt;Poweroff, and swapped the old disk out of the machine and the new disk in.&lt;/li&gt;
&lt;li&gt;Boot the new disk, was dropped into a shell during boot due to finding file system errors carried over from the old disk. Run fsck on the affected partion: fsck /dev/hda8 -y&lt;/li&gt;
&lt;li&gt; Reviewing the SMART warnings in the syslog from the old disk seemed to indicate that it probably was dying, confirming that swapping the disks was the correct course of action.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;Then found the previous HDD corruption had in turn corrupted a MySQL database (aren&amp;#8217;t cascading failures great?). This manifested itself as at least 10 different MySQL errors/warnings/problems:
&lt;p&gt;Error in /var/log/syslog when starting mysqld: &lt;em&gt;Failed to open log (file &amp;#8216;/var/log/mysql/mysql-bin.000348&amp;#8242;, errno 2)&lt;/em&gt; The cheat was to delete the last line, the one referencing the /var/log/mysql/mysql-bin.000348 file, from the /var/log/mysql/mysql-bin.index file. Note that in this case I knew that the last log file contained no updates that mattered, so it really was no loss.&lt;br /&gt;
&lt;code&gt;vim /var/log/mysql/mysql-bin.index&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;MySQL server would no longer start, instead giving a &lt;em&gt;&amp;#8220;Fatal error: Can&amp;#8217;t open and lock privilege tables: Can&amp;#8217;t find file: &amp;#8216;host&amp;#8217; (errno: 2)&amp;#8221;&lt;/em&gt; message in the logs. For me, the problem was that the /var/lib/mysql/mysql/host.MYI file was missing. What fixed it: Repair the host table.&lt;br /&gt;
&lt;code&gt;mysqld_safe --skip-grant-tables &amp;amp;&lt;br /&gt;
mysql&lt;br /&gt;
mysql&amp;gt; use mysql&lt;br /&gt;
mysql&amp;gt; REPAIR TABLE host USE_FRM;&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Try to reset the host table with useful starting data, to fix this error when starting mysql client: &lt;em&gt;error: &amp;#8216;Access denied for user &amp;#8216;debian-sys-maint&amp;#8217;@'localhost&amp;#8217; (using password: YES)&amp;#8217;&lt;/em&gt;&lt;br /&gt;
&lt;code&gt;mysql_fix_privilege_tables&lt;br /&gt;
mysqladmin shutdown&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To fix these errors in /var/log/syslog :&lt;br /&gt;
&lt;em&gt;[ERROR] /usr/sbin/mysqld:Fatal error: Can&amp;#8217;t open and lock privilege tables: Table &amp;#8216;./mysql/db&amp;#8217; is marked as crashed and should be repaired&lt;br /&gt;
[ERROR] /usr/sbin/mysqld: Table &amp;#8216;./mysql/db&amp;#8217; is marked as crashed and should be repaired&lt;/em&gt;&lt;br /&gt;
&lt;code&gt;cd /var/lib/mysql/mysql&lt;br /&gt;
myisamchk db&lt;br /&gt;
myisamchk *.MYI&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To fix these warnings in the syslog:&lt;br /&gt;
&lt;em&gt;myisamchk: warning: Table is marked as crashed&lt;br /&gt;
MyISAM-table &amp;#8216;db.MYI&amp;#8217; is usable but should be fixed&lt;/em&gt;&lt;br /&gt;
&lt;code&gt;myisamchk -r db&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To fix this error in /var/log/syslog :&lt;br /&gt;
&lt;em&gt;[ERROR] /usr/sbin/mysqld: Incorrect information in file: &amp;#8216;./mysql/tables_priv.frm&amp;#8217;&lt;/em&gt;&lt;br /&gt;
This did not work: repair table tables_priv USE_FRM;&lt;br /&gt;
Cheated: just copied /var/lib/mysql/mysql/tables_priv.* from another working machine.&lt;br /&gt;
&lt;code&gt;chmod -x,o-r,g+w tables_priv.*&lt;br /&gt;
chown mysql.mysql tables_priv.*&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Recurrence of this error:&lt;br /&gt;
&lt;em&gt;ERROR 1045 (28000): Access denied for user &amp;#8216;debian-sys-maint&amp;#8217;@'localhost&amp;#8217; (using password: YES)&lt;/em&gt;&lt;br /&gt;
And a new one:&lt;br /&gt;
&lt;em&gt;Access denied for user &amp;#8216;root&amp;#8217;@'localhost&amp;#8217; (using password: NO)&lt;/em&gt;&lt;br /&gt;
&amp;#8230; and at this point a &amp;#8220;desc user;&amp;#8221; showed that the user table file must have had a doubly-claimed inode with another table during the fsck, as it was a completely different user table schema from that found on another machine.&lt;br /&gt;
Cheated again: just copied /var/lib/mysql/mysql/user.* over from another working machine.&lt;br /&gt;
&lt;code&gt;chown mysql.mysql user.*&lt;br /&gt;
/etc/init.d/mysql start&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Then to fix: &lt;em&gt;ERROR 1045 (28000): Access denied for user &amp;#8216;debian-sys-maint&amp;#8217;@'localhost&amp;#8217; (using password: YES)&lt;/em&gt;&lt;br /&gt;
&lt;code&gt;cat /etc/mysql/debian.cnf&lt;/code&gt;&lt;br /&gt;
Copy the &amp;#8220;password&amp;#8221; field&amp;#8217;s value for the &amp;#8220;debian-sys-maint&amp;#8221; user to the clipboard.&lt;br /&gt;
&lt;code&gt;mysql&lt;br /&gt;
mysql&amp;gt; use mysql&lt;br /&gt;
mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'insert_password_copied_above_from_clipboard' WITH GRANT OPTION;&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To fix this warning in /var/log/syslog: &lt;em&gt;WARNING: mysqlcheck has found corrupt tables&lt;/em&gt;&lt;br /&gt;
Force a check of all tables:&lt;br /&gt;
&lt;code&gt;mysqlcheck -A&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Fix for this error when granting privileges: &lt;em&gt;ERROR 126 (HY000): Incorrect key file for table &amp;#8216;./mysql/db.MYI&amp;#8217;; try to repair it&lt;/em&gt;&lt;br /&gt;
&lt;code&gt;mysql&lt;br /&gt;
mysql&amp;gt; GRANT ALL PRIVILEGES ON dbname.* to 'dbuser'@'localhost' IDENTIFIED BY &quot;fakefake&quot;;&lt;br /&gt;
ERROR 126 (HY000): Incorrect key file for table './mysql/db.MYI'; try to repair it&lt;br /&gt;
mysql&amp;gt; use mysql&lt;br /&gt;
mysql&amp;gt; REPAIR TABLE db USE_FRM;&lt;br /&gt;
+----------+--------+----------+----------------------------------------------------+&lt;br /&gt;
| Table    | Op     | Msg_type | Msg_text                                           |&lt;br /&gt;
+----------+--------+----------+----------------------------------------------------+&lt;br /&gt;
| mysql.db | repair | info     | Wrong bytesec: 255- 37- 32 at 0; Skipped           |&lt;br /&gt;
| mysql.db | repair | info     | Found block that points outside data file at 424   |&lt;br /&gt;
....&lt;br /&gt;
| mysql.db | repair | info     | Found block that points outside data file at 24960 |&lt;br /&gt;
| mysql.db | repair | status   | OK                                                 |&lt;br /&gt;
+----------+--------+----------+----------------------------------------------------+&lt;br /&gt;
151 rows in set (0.01 sec)&lt;br /&gt;
mysql&amp;gt; GRANT ALL PRIVILEGES ON dbname.* to 'dbuser'@'localhost' IDENTIFIED BY &quot;fakefake&quot;;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
mysqladmin shutdown&lt;br /&gt;
/etc/init.d/mysql start&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To fix these errors in the syslog on mysqld startup:&lt;br /&gt;
&lt;em&gt;/etc/mysql/debian-start[4592]: ERROR 1017 (HY000) at line 116: Can&amp;#8217;t find file: &amp;#8216;columns_priv&amp;#8217; (errno: 2)&lt;br /&gt;
/etc/mysql/debian-start[4592]: ERROR 1017 (HY000) at line 516: Can&amp;#8217;t find file: &amp;#8216;proc&amp;#8217; (errno: 2)&lt;/em&gt;&lt;br /&gt;
&lt;code&gt;mysql&lt;br /&gt;
mysql&amp;gt; use mysql&lt;br /&gt;
mysql&amp;gt; REPAIR TABLE proc USE_FRM;&lt;br /&gt;
mysql&amp;gt; REPAIR TABLE columns_priv USE_FRM;&lt;br /&gt;
mysql&amp;gt; exit&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8230; and after all the above, the box powers on, and stays on, the disk errors are gone, the mysqld service starts cleanly, and from a quick cursory glance, the data still looks okay.&lt;/p&gt;</description>
	<pubDate>Tue, 16 Mar 2010 12:05:18 +0000</pubDate>
</item>
<item>
	<title>Ian Wienand: Handling hostnames, UDP and IPv6 in Python</title>
	<guid>http://feeds.feedburner.com/code/python/ipv6-addresses.html</guid>
	<link>http://www.technovelty.org/code/python/ipv6-addresses.html</link>
	<description>&lt;p&gt;So, you have some application where you want the user to specify a
remote host/port, and you want to support IPv4 and IPv6.&lt;/p&gt;

&lt;p&gt;For literal addresses, things are fairly simple.  IPv4 addresses
are simple, and &lt;a href=&quot;http://www.ietf.org/rfc/rfc2732.txt&quot;&gt;RFC2732&lt;/a&gt; has things
covered by putting the IPv6 address within square brackets.&lt;/p&gt;

&lt;p&gt;It gets more interesting as to what you should do with hostnames.
The problem is that &lt;tt&gt;getaddrinfo&lt;/tt&gt; can return you multiple
addresses, but without extra disambiguation from the user it is very
difficult to know which one to choose.  &lt;a href=&quot;http://www.ietf.org/rfc/rfc2732.txt&quot;&gt;RFC4472&lt;/a&gt; discusses this,
but there does not appear to be any good solution.&lt;/p&gt;

&lt;p&gt;Possibly you can do something like &lt;tt&gt;ping&lt;/tt&gt;/&lt;tt&gt;ping6&lt;/tt&gt; and
have a separate program name or configuration flag to choose IPv6.
This comes at a cost of transparency.&lt;/p&gt;

&lt;p&gt;The glibc implementation of &lt;tt&gt;getaddrinfo()&lt;/tt&gt; puts &lt;a href=&quot;http://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/posix/getaddrinfo.c;h=62c38f69be1ac34cefb14feec7a03ba47a144f1c;hb=HEAD#l2099&quot;&gt;considerable
effort&lt;/a&gt; into deciding if you have an IPv6 interface up and running
before it will return an IPv6 address.  It will even recognise
link-local addresses and sort addresses more likely to work to the
front of the returned list as described &lt;a href=&quot;http://people.redhat.com/drepper/linux-rfc3484.html&quot;&gt;here&lt;/a&gt;.
However, there is still a small possibility that the IPv6 interface
doesn't actually work, and so the library will sort the IPv6 address
as first in the returned list when maybe it shouldn't be.&lt;/p&gt;

&lt;p&gt;If you are using TCP, you can &lt;tt&gt;connect&lt;/tt&gt; to each address in
turn to find one that works.  With UDP, however, the connect
essentially does nothing.&lt;/p&gt;

&lt;p&gt;So I believe probably the best way to handle hostnames for UDP
connections, at least on Linux/glibc, is to trust &lt;tt&gt;getaddrinfo&lt;/tt&gt;
to return the sanest values first, try a connect on the socket anyway
just for extra security and then essentially hope it works.  Below is
some example code to do that (literal address splitter bit stolen from
Python's &lt;tt&gt;httplib&lt;/tt&gt;).&lt;/p&gt;

&lt;div class=&quot;codebox&quot;&gt;
&lt;pre&gt;
import socket

DEFAULT_PORT = 123

host = '[fe80::21c:a0ff:fb27:7196]:567'

# the port will be anything after the last :
p = host.rfind(&quot;:&quot;)

# ipv6 literals should have a closing brace
b = host.rfind(&quot;]&quot;)

# if the last : is outside the [addr] part (or if we don't have []'s
if (p &amp;gt; b):
    try:
        port = int(host[p+1:])
    except ValueError:
        print &quot;Non-numeric port&quot;
        raise
    host = host[:p]
else:
    port = DEFAULT_PORT

# now strip off ipv6 []'s if there are any
if host and host[0] == '[' and host[-1] == ']':
    host = host[1:-1]

print &quot;host = &amp;lt;%s&amp;gt;, port = &amp;lt;%d&amp;gt;&quot; % (host, port)

the_socket = None

res = socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_DGRAM)

# go through all the returned values, and choose the ipv6 one if
# we see it.
for r in res:
    af,socktype,proto,cname,sa = r

    try:
        the_socket = socket.socket(af, socktype, proto)
        the_socket.connect(sa)
    except socket.error, e:
        # connect failed!  try the next one
        continue

    break

if the_socket == None:
    raise socket.error, &quot;Could not get address!&quot;

# ready to send!
the_socket.send(&quot;hi!&quot;)
&lt;/pre&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 16 Mar 2010 04:54:00 +0000</pubDate>
</item>
<item>
	<title>Erik de Castro Lopo: GHC 6.12.1 in Debian Testing.</title>
	<guid>http://www.mega-nerd.com/erikd/Blog/CodeHacking/Debian/ghc6.12_testing.html</guid>
	<link>http://www.mega-nerd.com/erikd/Blog/CodeHacking/Debian/ghc6.12_testing.html</link>
	<description>&lt;p&gt;
Joachim Breitner recently
	&lt;a href=&quot;http://lists.debian.org/debian-haskell/2010/03/msg00102.html&quot;&gt;
	announced&lt;/a&gt;
on the
	&lt;a href=&quot;http://lists.debian.org/debian-haskell/&quot;&gt;
	Debian Haskell mailing list&lt;/a&gt;
that version 6.12.1 of the Glasgow/Glorious Haskell compiler was about to
transition from Debian unstable to Debian testing.
That has now happened.
This means there is a very good chance it will be part of the next stable
release of Debian.
&lt;/p&gt;

&lt;p&gt;
A big thanks is due to Kari Pahula, the Debian maintainer for GHC  who managed
to get this version of GHC working on a bunch of CPU  architectures not
officially supported by the upstream GHC maintainers.
Deserving of equal attention are Joachim Breitner and Marco Túlio Gontijo e
Silva who did a large amount of real quality work to improve the way Haskell
libraries are packaged in Debian.
&lt;/p&gt;

&lt;p&gt;
The big change recently was drastic improvements in the way library dependencies
are tracked across packages which will make it much easier to write tools to
automatically check for broken dependency chains.
Packaging Haskell libraries for Debian is now a relatively trivial and fool
proof exercise.
Packaging a library which is on
	&lt;a href=&quot;http://hackage.haskell.org/packages/archive/pkg-list.html&quot;&gt;
	Hackage&lt;/a&gt;
can take as little as 5 minutes.
&lt;/p&gt;

&lt;p&gt;
With the current version of GHC in Debian and a large and growing collection of
Haskell libraries, writing Haskell code on Debian using nothing but Debian
packages is now a pleasure.
Ubuntu and other Debian and Ubuntu derived distributions of course also benefit
from this work.
&lt;/p&gt;</description>
	<pubDate>Sun, 14 Mar 2010 20:02:01 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: iPhone 3GS</title>
	<guid>http://users.heimic.net/michaelf/?p=443</guid>
	<link>http://users.heimic.net/michaelf/2010/03/14/iphone-3gs/</link>
	<description>&lt;p&gt;Picked up an iPhone 3GS to replace that of my iPhone 3G that I already have had for sometime. The existing phone was purchased outright and was locked with Telstra. It was on a Telstra cap, and the amount it cost me was certainly not competitive.&lt;/p&gt;
&lt;p&gt;I managed to get a new phone on a plan that includes more for less then I was paying with Telstra using my own phone. Go figure.&lt;/p&gt;
&lt;p&gt;iPhone 3GS seems a bit different so far, in fact better then previous model. Had considered to get something else, but kept coming back to the iPod which can be used for audio/video playback. Both handy features for a phone device all in one unit.&lt;/p&gt;</description>
	<pubDate>Sun, 14 Mar 2010 09:04:23 +0000</pubDate>
</item>
<item>
	<title>Erik de Castro Lopo: FP-Syd #22.</title>
	<guid>http://www.mega-nerd.com/erikd/Blog/FP-Syd/fp-syd-22.html</guid>
	<link>http://www.mega-nerd.com/erikd/Blog/FP-Syd/fp-syd-22.html</link>
	<description>&lt;p&gt;
On Thursday February 25th we held the first meeting for 2010 of the Sydney
Functional Programming group.
The meeting was held at Google's Sydney offices and we had 17 people show up
to hear our two presenters.
&lt;/p&gt;

&lt;p&gt;
First up we had your correspondent (Erik de Castro Lopo), giving a
presentation titled
	&lt;a href=&quot;http://groups.google.com/group/fp-syd/web/hacking-ddc.pdf&quot;&gt;
	&quot;Hacking DDC&quot;&lt;/a&gt;
on my bug fixing work on Ben Lippmeier's 
	&lt;a href=&quot;http://www.haskell.org/haskellwiki/DDC&quot;&gt;
	DDC compiler&lt;/a&gt;.
I explained a little about what DDC and Disciple were; a Haskell like language
with some interesting extensions to the type system.
I then suggested that anyone curious as to why these extensions were interesting
should read the first chapter of Ben's PhD thesis
	&lt;a href=&quot;http://cs.anu.edu.au/~Ben.Lippmeier/project/thesis/thesis-lippmeier-sub.pdf&quot;&gt;
	&quot;Type Inference and Optimisation for an Impure World&quot;&lt;/a&gt;.
I then went on how using Darcs for the revision control made it easy to use one
branch per bug or feature I'm working on,  specifically, it allowed me to work
on one until I got stuck and then move on to another without the debugging of
the first interfering with the second.
&lt;/p&gt;

&lt;p&gt;
Our second presenter for the evening was Tim Docker who gave us an explanation
of a Domain Specific Language (DSL) for handling dates in financial systems.
Code written in his DSL looked a lot like Ocaml, but the implementation was in
C++.
&lt;/p&gt;

&lt;p&gt;
A big thanks to Tim for presenting and Google for providing the meeting venue
and the snacks.
&lt;/p&gt;</description>
	<pubDate>Sat, 13 Mar 2010 02:01:09 +0000</pubDate>
</item>
<item>
	<title>Dave Airlie: GPU offloading - PRIME - proof of concept</title>
	<guid>http://airlied.livejournal.com/71734.html</guid>
	<link>http://airlied.livejournal.com/71734.html</link>
	<description>THIS IS A PROOF OF CONCEPT - its not going to be upstream unless someone else dedicates their life to it, (btw anyone know anyone in ASUS?)&lt;br /&gt;&lt;br /&gt;So NVIDIA unveiled their optimus GPU selection solution for Windows 7, so I decided to see what it would take to implement something similar under DRI. I've named it PRIME for obvious reasons.&lt;br /&gt;&lt;br /&gt;Goals:&lt;br /&gt;1. Allow a second GPU to render 3D apps onto the screen of the first, pickable from the client side.&lt;br /&gt;2. Just target the rendering side, I'm assuming the GPU power up/down is similiar to what was done for the older switching method.&lt;br /&gt;&lt;br /&gt;Restrictions + limitations:&lt;br /&gt;1. Must have compositing manager running&lt;br /&gt;2. Must have second screen configured for slave card (doesn't need to be used)&lt;br /&gt;&lt;br /&gt;Test system:&lt;br /&gt;Intel 945 IGP + radeon r200 PCI card - yes this won't be a speed demon.&lt;br /&gt;&lt;br /&gt;Terms:&lt;br /&gt;Master: the IGP displaying the output - intel&lt;br /&gt;Slave: the GPU rendering the app - radeon r200 in this case.&lt;br /&gt;&lt;br /&gt;Step 1: kernel support&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://git.kernel.org/?p=linux/kernel/git/airlied/drm-testing.git;a=shortlog;h=refs/heads/drm-prime-test&quot;&gt;http://git.kernel.org/?p=linux/kernel/git/airlied/drm-testing.git;a=shortlog;h=refs/heads/drm-prime-test&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://cgit.freedesktop.org/~airlied/drm/log/?h=prime-test&quot;&gt;http://cgit.freedesktop.org/~airlied/drm/log/?h=prime-test&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The kernel requirements were simple, we needed a way to share a memory managed object between two kernel device drivers.&lt;br /&gt;The kernel has a GEM namespace per device, however this isn't good enough to share with other devices, so I introduced a new PRIME namespace with two ioctls. One ioctl allows the master device to associate a device buffer handle with a name in the prime namespace, and the other allows the slave device to associate a prime namespace handle with a buffer. When the master creates a prime buffer the kernel associates the list of pages with the handle, and when the slave looks up the same handle it retrieves the list of pages and fakes up a TTM buffer populated with those pages as backing store. I've added the concept of slave object to TTM to allow for this.&lt;br /&gt;&lt;br /&gt;The drm repo contains the API wrappers + intel + radeon pieces to call the association functions for buffer objects.&lt;br /&gt;&lt;br /&gt;Step two: DRI2 Protocol&lt;br /&gt;&lt;a href=&quot;http://people.freedesktop.org/~airlied/prime/0001-dri2proto-add-prime-token.patch&quot;&gt;http://people.freedesktop.org/~airlied/prime/0001-dri2proto-add-prime-token.patch&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://people.freedesktop.org/~airlied/prime/0001-prime-support-for-mesa.patch&quot;&gt;http://people.freedesktop.org/~airlied/prime/0001-prime-support-for-mesa.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the X server point of view a recent change to the DRI2 layer allowed for multiple device driver names to be associated with a DRI2 end point. The client can request either a DRI or VDPAU device name currently. I firstly extended the DRI2 protocol, to add a new buffer type, called PRIME, and added a hack to mesa's glx loader to request the prime driver if an environment variable was specified.&lt;br /&gt;&lt;br /&gt;Step 3: X server DRI2 module + drivers&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://people.freedesktop.org/~airlied/prime/0001-intel-add-prime-master-support.patch&quot;&gt;http://people.freedesktop.org/~airlied/prime/0001-intel-add-prime-master-support.patch&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://cgit.freedesktop.org/~airlied/xf86-video-ati/log/?h=prime-test&quot;&gt;http://cgit.freedesktop.org/~airlied/xf86-video-ati/log/?h=prime-test&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://people.freedesktop.org/~airlied/prime/0001-dri2-prime-hackfest.patch&quot;&gt;http://people.freedesktop.org/~airlied/prime/0001-dri2-prime-hackfest.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This was the messiest bit and still requires a lot of change. First up I added an interface for the drivers to register as PRIME master and slaves. Intel driver registers as master, radeon as slave for my demo. We store these in an array. When a client connects and requests prime driver, we mark the drawable and redirect the dri2 buffer creation requests to the slave screen driver. Also the drm authentication is sent to both kernel drms. It then hooks the swapbuffers command where it does a region copy, and redirects this to the slave driver, and damages the pixmap in the master driver. Now the &quot;interesting&quot; part, my original implementation simply grabbed the window pixmap at the dri2 create buffers time, however there is an ordering issue with compositing, this pixmap is pre-composite redirection so isn't actually the pixmap you want to tell the kernel to bind to both gpus. This turned out to function badly, I could see gears all stretched over the front buffer.&lt;br /&gt;&lt;br /&gt;So a quick coke + chocolate break later, I had enough sugar to bash out the hack that now exists. DRI2 calls the slave driver copy region callback, which checks if the drawable pixmap is on the same screen, if its not, it checks if we've marked the pixmap as a prime pixmap (i.e. one that belongs to the master). It is, it swaps in the slaves copy, otherwise it callsback into DRI2. This callback calls the Intel driver to make the buffer object backing the pixmap, shareable, and returns the handle,then calls into radeon with the handle to create a new pixmap pointing at the shared buffer object. Once all that is done, radeon copies the back buffer to the shared front pixmap, we return and damage is posted and the compositor grabs the window pixmap and displays it. &lt;br /&gt;&lt;br /&gt;So does it work?&lt;br /&gt;On my blistering fast test system with X + xcompmgr running glxgears was going at 150fps from the r200 PCI card. Hopefully I can get some time on a faster system or one of the dual laptops.&lt;br /&gt;&lt;br /&gt;Caveats:&lt;br /&gt;- When a window manager is running the gears get all corrupted, this looks like the clipping and/or stride matching between&lt;br /&gt;the drivers isn't correct. I suspect something with reparenting and decorations, I'm not enough of an X guru to understand this yet, hopefully one of the other hackers can fill me in. Also before it gets reparented and redirected a frame can land on the real front buffer, again clipping should take care of this, but isn't working yet. I need to workout how clipping and that stuff works in X/DRI2. - talk to ppl about clipping then JDI.&lt;br /&gt;- Once a client has connected as a prime, we don't tear it down properly, so later clients can end marked as prime. - work out some sort of resources to turn stuff off&lt;br /&gt;- Reference counting on the pages in the kernel is iffy, currently i915 ups the page list refcount but never drops it. solution JDI&lt;br /&gt;- hardcoded /dev/dri paths in dri2 for slave device - solution JDI&lt;br /&gt;- radeon driver could in theory be a prime master - solution JDI&lt;br /&gt;- nouveau could support prime master/slave also. - solution nouveau guys JDI&lt;br /&gt;- requires an ugly second screen in xorg.conf to load the slave driver. Can we have a 0 sized screen or maybe a rootless second screen.  - solution : rearchitect X server to allow drivers without screens (6m-1yr work)&lt;br /&gt;- pageflipping needs to be hacked off in intel driver. - work out and then JDI&lt;br /&gt;&lt;br /&gt;Where is the video?&lt;br /&gt;Once I get it working with a window manager on a useful machine I might do a video of two gears going.&lt;br /&gt;&lt;br /&gt;Where now?&lt;br /&gt;Well this is a purely academic exercise so far, after a week of kernel fighting I decided to do something new and cool. To make this as good as Windows we need to seriously re-architect the X server + drivers. At the moment you can't load an X driver without having a screen to attach it to, I don't really want a screen for the slave driver, however I still have to have one all setup and doing nothing and hopefully not getting in the way. We'd need to separate screen + drivers a lot better. Having some sort of dynamic screens would probably fall out of this work if someone decides to actually do it.&lt;br /&gt;&lt;br /&gt;The kernel bits aren't as ugly as I thought but I'm not sure if upstreaming them is a good idea without the others bits. The refcounting definitely needs work also the cleanup when clients exit.&lt;br /&gt;&lt;br /&gt;DRI2 needs some more changes, I might try and flesh it out a bit more and then talk to krh about a sane interface.&lt;br /&gt;&lt;br /&gt;I'm probably going to get forced task switch quite soon, so I might just get to having this running on a W500 or T500, before dropping it for 6 months, so if anyone wants a neat project to play with and has the hw feel free to try and take this on.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ASUS feel free to send me one of the real optimus laptops and I'll get nouveau guys hooked up and try and RE the nvidia DMA engine.&lt;br /&gt;</description>
	<pubDate>Fri, 12 Mar 2010 06:16:59 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway: This is just amazingly silly</title>
	<guid>http://certifiedwaif.livejournal.com/379730.html</guid>
	<link>http://certifiedwaif.livejournal.com/379730.html</link>
	<description>&lt;a href=&quot;http://blog.timesunion.com/tablehopping/13889/assemblyman-seeking-to-ban-all-salt-in-restaurant-cooking/&quot;&gt;Assemblyman seeking to ban all salt in restaurant cooking&lt;/a&gt;</description>
	<pubDate>Thu, 11 Mar 2010 23:55:49 +0000</pubDate>
</item>
<item>
	<title>Erik de Castro Lopo: Intel Embedded Graphics Driver Fail.</title>
	<guid>http://www.mega-nerd.com/erikd/Blog/CodeHacking/Embedded/intel_graphics_fail.html</guid>
	<link>http://www.mega-nerd.com/erikd/Blog/CodeHacking/Embedded/intel_graphics_fail.html</link>
	<description>&lt;p&gt;
In my day job I do Linux embedded work and as people in the embedded world know,
Linux is a pretty commonly used embedded OS.
Today I was evaluating a new board and found it had an Intel graphics chip that
was not properly detected by Ubuntu 9.10.
The ever trusty &lt;tt&gt;&lt;b&gt;lspci&lt;/b&gt;&lt;/tt&gt; said this:
&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;

  00:02.0 VGA compatible controller: Intel Corporation System Controller Hub
        	(SCH Poulsbo) Graphics Controller (rev 07)

&lt;/pre&gt;

&lt;p&gt;
We all know that Intel employs a bunch of well known
	&lt;a href=&quot;http://www.x.org/wiki/&quot;&gt;
	Xorg&lt;/a&gt;
developers, so this shouldn't be a problem, right?
&lt;/p&gt;

&lt;p&gt;
Unfortunately, it is a problem.
Intel's offering for this chipset is the
	&lt;a href=&quot;http://edc.intel.com/Software/Downloads/IEGD/&quot;&gt;
	Intel® Embedded Graphics Drivers&lt;/a&gt;
web page where they offer a 124 megabyte download (registration required).
After registration you get to choose which driver pack you want and which OS
you are downloading it for.
Ubuntu was not on the list and neither was Debian.
I chose Fedora 10 (released in 2008) as that was the most recent one.
&lt;/p&gt;

&lt;p&gt;
Now, you can image my surprise when the driver download for Fedora Linux
contained just four files:
&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;

  Archive:  /tmp/IEGD_10_3_GOLD.zip
      testing: UsersGuide_10_3_1525.pdf   OK
      testing: IEGD_10_3_GOLD_1525.exe    OK
      testing: IEGD_SU_10_3_GOLD.pdf      OK
      testing: RELNOTES_10_3_1525.txt     OK
  No errors detected in compressed data of /tmp/IEGD_10_3_GOLD.zip.

&lt;/pre&gt;

&lt;p&gt;
Yep, thats right, the driver download for Fedora Linux contains two PDF files,
a text file and an executable installer for &lt;i&gt;Windows&lt;/i&gt;.
&lt;/p&gt;

&lt;p&gt;
Being the curious (and paranoid) type I decided to explore this further,
by running the installer under
	&lt;a href=&quot;http://www.winehq.com/&quot;&gt;
	WINE&lt;/a&gt;
in a
	&lt;a href=&quot;http://en.wikipedia.org/wiki/Chroot&quot;&gt;
	chroot&lt;/a&gt;.
After the installer you get left with several metric craploads of Java Jar
files, and another windows executable &lt;tt&gt;&lt;b&gt;iegd-ced.exe&lt;/b&gt;&lt;/tt&gt; that
supposedly configures this nightmare.
I ran it (again, under WINE in a chroot) but it didn't seem to do anything
sensible or worthwhile so I looked around amongst the other installed files
and found &lt;tt&gt;&lt;b&gt;IEGD_10_3_Linux.tgz&lt;/b&gt;&lt;/tt&gt;.
&lt;/p&gt;

&lt;p&gt;
Inside that tarball there are a bunch of Xorg library binaries (for several
different versions of Xorg), a large chunk of source code that gets compiled
into the Linux kernel and even better yet, a couple of Microsoft Visual
Studio project files.
WTF?
&lt;/p&gt;

&lt;p&gt;
Unbe-fscking-lievable.
Needless to say, I will avoid any hardware which uses this chipset and
any other hardware that requires binary only kernel blobs packaged this
badly.
Doing so makes my life easier.
&lt;/p&gt;

&lt;p&gt;
The people at Intel who thought this was a good idea must have their own
personal mother-lode of stupid.
&lt;/p&gt;</description>
	<pubDate>Thu, 11 Mar 2010 10:01:36 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway</title>
	<guid>http://certifiedwaif.livejournal.com/379463.html</guid>
	<link>http://certifiedwaif.livejournal.com/379463.html</link>
	<description>Time to learn Javascript properly.</description>
	<pubDate>Thu, 11 Mar 2010 05:48:04 +0000</pubDate>
</item>
<item>
	<title>Simon Rumble: Sneaky trick to de-obfuscate Omniture JavaScript plugins</title>
	<guid>http://www.rumble.net/blog/De-obfuscate_Omniture_JavaScript_plugins</guid>
	<link>http://www.rumble.net/blog/index.cgi/geek/De-obfuscate_Omniture_JavaScript_plugins.html</link>
	<description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;My current job involves working extensively with &lt;a href=&quot;http://www.omniture.com/&quot;&gt;Omniture&lt;/a&gt;
products.  The company has an annoying habit of secrecy, with documentation only available on
request for many aspects of their products.&lt;/p&gt;
&lt;p align=&quot;right&quot;&gt;&lt;a href=&quot;http://rumble.smugmug.com/Blog/Blog/1940948_TcAiC#807271378_swcjF-O-LB&quot;&gt;&lt;img src=&quot;http://rumble.smugmug.com/Blog/Blog/omnitureobfuscation/807271378_swcjF-L.png&quot; alt=&quot;De-obfuscate Omniture JavaScript plugins&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;They also attempt to obfuscate their JavaScript, despite the fact that a determined viewer
should be able to work it out eventually.  I'm told this is so that people aren't tempted to
play with the code. The obvious methods of deobfuscation are pretty tedious, and because Omniture
don't use standard (minify et al) methods of obfuscation so it seems a little more difficult.
Fortunately I lucked onto a better approach.&lt;/p&gt;
&lt;p&gt;You'll need &lt;a href=&quot;http://getfirebug.com/&quot;&gt;Firebug&lt;/a&gt;, and if you don't have that already
you should anyway.  Go to a page that already has the Omniture &quot;plugin&quot; (function) you want.
Open the Firebug console and run alert(s.functionNameYouWant) and run it.  You'll be shown a
nicely-formatted anonymous function, which will be much easier to read than the line noise
you'll see in the actual s_code.js file.&lt;/p&gt;
&lt;p&gt;In my case I'm after
&lt;a href=&quot;http://blogs.omniture.com/2009/03/09/cross-visit-participation-inside-omniture-sitecatalyst/&quot;&gt;Cross-Visit
Participation&lt;/a&gt;, and that's used on the Omniture site itself (though an older version than
the latest available from Omniture which has a very useful additional feature).&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;a href=&quot;http://www.rumble.net/contact/&quot;&gt;Contact me&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 10 Mar 2010 23:06:06 +0000</pubDate>
</item>
<item>
	<title>Simon Rumble: UI fail from Exetel</title>
	<guid>http://www.rumble.net/blog/Exetel_UI_fail</guid>
	<link>http://www.rumble.net/blog/index.cgi/geek/Exetel_UI_fail.html</link>
	<description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;img src=&quot;http://rumble.smugmug.com/Blog/Blog/Exeteluserinterfacefail/804826382_2NYng-O.png&quot; alt=&quot;Cancel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Work is providing me a mobile, so I went to cancel my phone with
Exetel.  Unfortunately this is the UI you see.  So first of all, you
can helpfully cancel it in the past.  But then the button is labelled
&quot;Cancel&quot;.  So does that means clicking it will cancel my service, or
cancel the request to disconnect?&lt;/p&gt;
&lt;p align=&quot;right&quot;&gt;&lt;img src=&quot;http://rumble.smugmug.com/Blog/Blog/Exeteluserinterfacefail2/804827088_c37UQ-O.png&quot; alt=&quot;Submit&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The resulting page is even more confusing.  Does that mean my &quot;Cancel&quot;
was successful?  Or do I now need to &quot;Submit&quot; to make it happen?  Terribly
confused.&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;a href=&quot;http://www.rumble.net/contact/&quot;&gt;Contact me&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 08 Mar 2010 01:12:12 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: Traxxas Rustler VXL damage</title>
	<guid>http://users.heimic.net/michaelf/?p=441</guid>
	<link>http://users.heimic.net/michaelf/2010/03/06/traxxas-rustler-vxl-damage/</link>
	<description>&lt;p&gt;Ran the Traxxas Rustler VXL yesterday and managed to have a wall jump in front of me.&lt;/p&gt;
&lt;p&gt;The damage this time was a shock coming apart. Good news is it wasn&amp;#8217;t damaged to the point I couldn&amp;#8217;t fix it. Pulled apart, added new oil. Rebuild shock. Reinstalled back on car.&lt;/p&gt;
&lt;p&gt;All good for another use.&lt;/p&gt;</description>
	<pubDate>Sat, 06 Mar 2010 23:17:11 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: Amazon books arrive</title>
	<guid>http://users.heimic.net/michaelf/?p=439</guid>
	<link>http://users.heimic.net/michaelf/2010/03/06/amazon-books-arrive/</link>
	<description>&lt;p&gt;The amazon book order arrived yesterday, just had to go pick up from local post office as I had a card left for me. As I wasn&amp;#8217;t home when the package arrived.&lt;/p&gt;
&lt;p&gt;Books shipped in good condition. Very happy with the service. Now I just need to read and study the content.&lt;/p&gt;</description>
	<pubDate>Sat, 06 Mar 2010 01:51:47 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: Transition to Wordpress MU</title>
	<guid>http://users.heimic.net/michaelf/?p=437</guid>
	<link>http://users.heimic.net/michaelf/2010/03/05/transition-to-wordpress-mu/</link>
	<description>&lt;p&gt;Transition to Wordpress MU seems to have gone fairly well. The product seems to perform exactly like the normal Wordpress. Although one exception would appear that embedded media doesn&amp;#8217;t work unless you install a plugin. I&amp;#8217;ve since done that and it seems to now work as expected.&lt;/p&gt;
&lt;p&gt;With that said, I think my blog will live in the new location. As I can now manage Wordpress MU and it&amp;#8217;s updated for all associated blogs hosted off the &lt;a href=&quot;http://users.heimic.net&quot;&gt;users.heimic.net&lt;/a&gt; vhost.&lt;/p&gt;</description>
	<pubDate>Fri, 05 Mar 2010 19:38:28 +0000</pubDate>
</item>
<item>
	<title>Ian Wienand: RFC3164 smells</title>
	<guid>http://feeds.feedburner.com/humor/rfc3164-smells.html</guid>
	<link>http://www.technovelty.org/humor/rfc3164-smells.html</link>
	<description>&lt;p&gt;From &lt;a href=&quot;http://www.ietf.org/rfc/rfc3164.txt&quot;&gt;RFC3164&lt;/a&gt;,
which is otherwise about syslog formats:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;6. Security Considerations&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;An odor may be considered to be a message that does not require any
acknowledgement.  People tend to avoid bad odors but are drawn to
odors that they associate with good food.  The acknowledgement of the
receipt of the odor or scent is not required and indeed it may be the
height of discretion to totally ignore some odors.  On the other hand,
it is usually considered good civility to acknowledge the prowess of
the cook merely from the ambiance wafting from the kitchen.
Similarly, various species have been found to utilize odors to attract
mates.  One species of moth uses this scent to find each other.
However, it has been found that bolas spiders can mimic the odor of
the female moths of this species.  This scent will then attract male
moths, which will follow it with the expectation of finding a mate.
Instead, when they arrive at the source of the scent, they will be
eaten [8].  This is a case of a false message being sent out with
inimical intent.&lt;/p&gt;

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

&lt;p&gt;Along the lines of the analogy, computer event messages may be sent
   accidentally, erroneously and even maliciously.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;This smells more like &quot;I bet nobody ever really reads this RFC,
let's put some stuff in the middle to see if they do!&quot;.&lt;/p&gt;</description>
	<pubDate>Fri, 05 Mar 2010 12:23:00 +0000</pubDate>
</item>
<item>
	<title>James Purser: Dear TV Networks - Sigh</title>
	<guid>http://jamespurser.com.au/225 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/dear-tv-networks-sigh</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Okay, &lt;a href=&quot;http://freeview.com.au/&quot;&gt;Freeview&lt;/a&gt; (the group that represents all of the major Free to Air Networks, including commercial and government owned) has &lt;a href=&quot;http://www.smh.com.au/digital-life/hometech/freeview-aims-at-foxtel-with-catchup-tv-20100305-pmg5.html&quot;&gt;announced&lt;/a&gt; that it's going to be launching a new Electronic Programme Guide service in June, complete with new hardware and something they are calling an Online Catchup Service.&lt;/p&gt;
&lt;p&gt;Apart from the Online Catchup Service (which I will be talking about shortly) the biggest selling point that Freeview seems to be pushing for this new service is the ability to record based not only on time blocks, but by genre and programme as well.&lt;/p&gt;
&lt;p&gt;This is what 250 million dollars buys you these days?&lt;/p&gt;
&lt;p&gt;From the article and the reading around that I've done, it appears that the Free To Air Television industry (somewhat bizzarley aided by the ABC, an organisation that has proven time and again that it knows where the future lies) has decided that the best way to tackle the threat of extinction is to re-arrange the deck chairs on the titanic. People have had the ability to record programmes based on genre and programme titles, episode titles and so on for a few years now. If they haven't been building their own PVR's via projects like &lt;a href=&quot;http://mythtv.org&quot;&gt;MythTV&lt;/a&gt; (my personal favourite), they've been using off the shelf solutions such as &lt;a href=&quot;http://tivo.com&quot;&gt;TiVO&lt;/a&gt;. It's not new people, it's old and people have been doing it for a long time now.&lt;/p&gt;
&lt;p&gt;Hell I was there when digital came to a certain regional television network, I helped setup their first EPG generator and I can tell you that the Standard of the day, derived from the European DVB-T EPG stuff required genre information to be sent out.&lt;/p&gt;
&lt;p&gt;Oh yes, there is something new about this particular EPG service. It's not going to be standard. In order for you to take advantage of it and the attached &amp;quot;Online Catchup Service&amp;quot;, you are going to need to buy new hardware. Your set top box isn't going to be able to use any of the new features, and certainly your plasma/led/lcd tv with built in HD tuner isn't going to be able to utilise the new features being offered. Nope, you're going to have to go out and spend another couple of hundred bucks so that you can make sure you don't miss that 6 month old episode of Big Bang Theory or which ever is your Television poison.&lt;/p&gt;
&lt;p&gt;Re the &amp;quot;Online Catchup Service&amp;quot; that appears to be a service that allows you to catchup with programmes that you've missed, online. Though I'm not quite sure if you're going to need to &amp;quot;catchup&amp;quot; given that you're going to have teh cool new &amp;quot;recording by genre and programme&amp;quot; features of the new EPG Service.&lt;/p&gt;
&lt;p&gt;Sigh.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Fri, 05 Mar 2010 00:01:20 +0000</pubDate>
</item>
<item>
	<title>Sonia Hamilton: BJJ for women</title>
	<guid>http://soniahamilton.wordpress.com/?p=632</guid>
	<link>http://soniahamilton.wordpress.com/2010/02/09/bjj-for-women/</link>
	<description>&lt;p&gt;I&amp;#8217;ve been doing BJJ (&lt;a href=&quot;http://en.wikipedia.org/wiki/Bjj&quot;&gt;Brazilian Jiu Jitsu&lt;/a&gt;) for years. It&amp;#8217;s a great sport and form of self-defence, but in Australia it&amp;#8217;s dominated by men &amp;#8211; probably putting a lot of women off starting.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignright&quot; title=&quot;Gaz and Sam&quot; src=&quot;http://bondidojo.squarespace.com/storage/sam_gaz.jpg?__SQUARESPACE_CACHEVERSION=1264462596474&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;299&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This is unfortunate, as I think BJJ is one of the best forms of self defence women can do; statistically violence against women is less likely to be the &amp;#8220;pub punchup&amp;#8221; that guys get in and more likely to be a grab/sexual assault (either in public or in the home). In these situations, reflexively knowing how to escape from someone&amp;#8217;s grips or fight on the ground with someone stronger and heavier on top of you is invaluable, and just by training with a stinky, sweaty guy on top of you you&amp;#8217;re much less to likely to panic and escape the situation (&lt;a href=&quot;http://www.coker.com.au/russell/books/dune.html&quot;&gt;The Bene Gesserit Littany against Fear &amp;#8211; Dune&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;But BJJ is also a great sport! You get a great workout (especially abs), it&amp;#8217;s exciting and you need to think a lot (BJJ is often called &amp;#8220;physical chess&amp;#8221;). You share the pain and triumphs, the sweat and  exhilaration, the interstate and &lt;a href=&quot;http://www.bondidojo.com.au/the-dojo-news/bondi-junction-team-victorious-at-cbjje-asian-cup.html&quot;&gt;overseas trips&lt;/a&gt; with your team mates, and form close friendships.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m now training at &lt;a href=&quot;http://www.bondidojo.com.au/&quot;&gt;The Dojo&lt;/a&gt; in Bondi Junction with Daniel Sainty. Amongst the guys there&amp;#8217;s&lt;a href=&quot;http://www.bondidojo.com.au/the-dojo-news/girls-can-train-too.html&quot;&gt; 4 other women training&lt;/a&gt; &amp;#8211; Eleni, Kunita, Laura and Sam. They&amp;#8217;re all inspirational, but the one who really gets me back to training when my middle-aged joints are creaking is Sam. She&amp;#8217;s a petite high school girl, self-described &amp;#8220;girly-girl&amp;#8221; and geek. She fights against the boys, gives (and receives) a good thrashing, is starting to win competitions, and is now &lt;a href=&quot;http://www.bondidojo.com.au/samantha-khavin/&quot;&gt;blogging about her training&lt;/a&gt;. You go girl!!&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignright&quot; title=&quot;Sam and Medal&quot; src=&quot;http://bondidojo.squarespace.com/storage/sam_medal.jpg?__SQUARESPACE_CACHEVERSION=1264462578965&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;300&quot; /&gt;&lt;/p&gt;
&lt;p&gt;BJJ is so effective that the US Army now uses it as the foundation for their &lt;a href=&quot;http://en.wikipedia.org/wiki/United_States_Army_Combatives_School&quot;&gt;Army Combatives&lt;/a&gt; course. Not because they want their soldiers to throw down their rifles and start up UFC-style fights with &amp;#8220;the baddies&amp;#8221;. Rather, they found that teaching a random collection of  moves (this kick, this punch, this other kick) was ineffective for learning a &amp;#8220;combat mindset&amp;#8221;. The sport nature of BJJ allows for &amp;#8220;an avenue or the motivation for continued training&amp;#8221; as well as internalizing the &amp;#8220;concept of a hierarchy of dominant positions&amp;#8221;. And knowing how to &lt;a href=&quot;http://www.youtube.com/watch?v=AfvVGa6OzLw&quot;&gt;rear naked choke&lt;/a&gt; when someone jumps on you and hangs on to your rifle is kind of handy&amp;#8230;&lt;/p&gt;
&lt;p&gt;See you on the mat sometime &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;PS a great website on Women &amp;amp; BJJ &amp;#8211; &lt;a href=&quot;http://bjjgrrl.wordpress.com/women/&quot;&gt;Women &amp;lt;&amp;lt; BJJ Girl&lt;/a&gt; (especially &lt;a href=&quot;http://bjjgrrl.wordpress.com/women/women-resources/&quot;&gt;Resources&lt;/a&gt;)- thanks Slideyfoot.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/soniahamilton.wordpress.com/632/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/soniahamilton.wordpress.com/632/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/soniahamilton.wordpress.com/632/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/soniahamilton.wordpress.com/632/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/soniahamilton.wordpress.com/632/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/soniahamilton.wordpress.com/632/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/soniahamilton.wordpress.com/632/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/soniahamilton.wordpress.com/632/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/soniahamilton.wordpress.com/632/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/soniahamilton.wordpress.com/632/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=soniahamilton.wordpress.com&amp;amp;blog=1724069&amp;amp;post=632&amp;amp;subd=soniahamilton&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Thu, 04 Mar 2010 01:52:38 +0000</pubDate>
</item>
<item>
	<title>Sonia Hamilton: Serial Port Access on OSX to Cisco devices</title>
	<guid>http://soniahamilton.wordpress.com/?p=660</guid>
	<link>http://soniahamilton.wordpress.com/2010/02/26/serial-port-access-on-osx-to-cisco-devices/</link>
	<description>&lt;p&gt;How to connect to a Cisco device (or other serial devices) using OSX and a USB to Serial converter (eg ATEN). Googling, everyone says to use zterm, but I couldn&amp;#8217;t get it to work (and zterm looks and feels like a toy).&lt;/p&gt;
&lt;p&gt;This probably isn&amp;#8217;t the &amp;#8220;Mac way&amp;#8221; of doing things, but &amp;lt;/whatever&amp;gt;&amp;#8230;&lt;/p&gt;
&lt;p&gt;Install &lt;a href=&quot;http://sourceforge.net/projects/osx-pl2303/&quot;&gt;PL2303 USB to Serial Driver for Mac OS X&lt;/a&gt;, restart &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif&quot; alt=&quot;:-(&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;pre&gt;sudo port selfupdate
sudo port upgrade outdated
sudo port install minicom&lt;/pre&gt;
&lt;p&gt;Work out tty of USB-Serial converter:&lt;/p&gt;
&lt;pre&gt;ls /dev/tty* &amp;gt; pre&lt;/pre&gt;
&lt;p&gt;Plug in USB-Serial converter.&lt;/p&gt;
&lt;pre&gt;ls /dev/tty* &amp;gt; pst
% diff pre pst
3a4
&amp;gt; /dev/tty.PL2303-00002006&lt;/pre&gt;
&lt;p&gt;Link up to make life easier:&lt;/p&gt;
&lt;pre&gt;cd /dev
sudo ln -s tty.PL2303-00002006 ttyusb&lt;/pre&gt;
&lt;p&gt;Setup minicom, and use colour:&lt;/p&gt;
&lt;pre&gt;sudo minicom -s -c on&lt;/pre&gt;
&lt;p&gt;Setup defaults to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/dev/ttyusb (ctrl-A, O, Serial Port Setup)&lt;/li&gt;
&lt;li&gt;8N1&lt;/li&gt;
&lt;li&gt;9600&lt;/li&gt;
&lt;li&gt;no hardware or software flow control&lt;/li&gt;
&lt;li&gt;init string empty (so garbage doesn&amp;#8217;t appear on screen when you connect) &amp;#8211; ctrl-A, O, Init string&lt;/li&gt;
&lt;li&gt;save settings as default (ctrl-A, O, Save setup as dfl)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Always use colour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;add export MINICOM=&amp;#8221;-c on&amp;#8221; to shell rc file (~/.bashrc, .~/zshrc, etc)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Connect (sudo minicom), hit enter a few times, and you should be on the device.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/soniahamilton.wordpress.com/660/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/soniahamilton.wordpress.com/660/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/soniahamilton.wordpress.com/660/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/soniahamilton.wordpress.com/660/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/soniahamilton.wordpress.com/660/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/soniahamilton.wordpress.com/660/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/soniahamilton.wordpress.com/660/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/soniahamilton.wordpress.com/660/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/soniahamilton.wordpress.com/660/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/soniahamilton.wordpress.com/660/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=soniahamilton.wordpress.com&amp;amp;blog=1724069&amp;amp;post=660&amp;amp;subd=soniahamilton&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Mon, 01 Mar 2010 06:07:57 +0000</pubDate>
</item>
<item>
	<title>Bruce Badger: For home DNS &amp;amp; DHCP, use dnsmasq</title>
	<guid>tag:blogger.com,1999:blog-6268735320691745199.post-3060272992074301681</guid>
	<link>http://openskills.blogspot.com/2010/02/for-home-dns-dhcp-use-dnsmasq.html</link>
	<description>I find that I have many devices in my home requiring IP addresses and names; laptops, netbooks, phones, nas, music player ... the list goes on.  My DSL modem/router will run DHCP so devices can get IP addresses.  If I then want to refer to a device by name (e.g.  192.168.0.24 aka &quot;nero&quot;) I can just add the name and IP to the hosts file on my workstation ... and (yawn) on every other computer I also want to see that device by name.&lt;br /&gt;&lt;br /&gt;Unfortunately the DHCP server in the router is a bit free and easy with IP addresses, so if I restart a device it can get a different IP address which means that IP addresses move from device to device over time, which in turn means the names in my hosts files are all messed up.  Darn ... and potentially harmful.&lt;br /&gt;&lt;br /&gt;Of course all I really want to do it to write down once that *this* box should be given *this* IP address and made available with *this* name&lt;br /&gt;&lt;br /&gt;... and the small utility &lt;a href=&quot;http://en.wikipedia.org/wiki/Dnsmasq&quot;&gt;dnsmasq&lt;/a&gt; lets me do just that.   The following line says that the device with the MAC address  00:1b:62:01:e4:d5 is always to be given the IP address 192.168.0.24 and is always to be known as nero:&lt;br /&gt;&lt;br /&gt;dhcp-host=00:1b:62:01:e4:d5,192.168.0.24,nero&lt;br /&gt;&lt;br /&gt;This one line configures both a DHCP server and a DNS server (light-weight implementations internal to dnsmasq), so any machine on the LAN can now use the name &quot;nero&quot; in place of the IP address even if the IP address did change, which would only happen if the configuration line above were changed.&lt;br /&gt;&lt;br /&gt;For the low-down on dnsmask see the &lt;a href=&quot;http://www.thekelleys.org.uk/dnsmasq/doc.html&quot;&gt;project home page&lt;/a&gt; and the articles &lt;a href=&quot;http://www.enterprisenetworkingplanet.com/netos/article.php/3377351&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.linux.com/archive/articles/149040&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A very brief how-to (assuming a Debian-like server) would go something like ...&lt;br /&gt;&lt;br /&gt;1. Identify a machine on your LAN which runs 24/7 (I use a &lt;a href=&quot;http://en.wikipedia.org/wiki/Fit-PC&quot;&gt;FitPC&lt;/a&gt; running Ubuntu) and install dnsmasq on it&lt;br /&gt;&lt;br /&gt;2. Decide on a domain for your LAN, e.g. home.localdomain&lt;br /&gt;&lt;br /&gt;3. Identify the devices on your network which will have static IP addresses.   I have two, the DSL modem/router and the FitPC running dnsmasq.  For these devices make entries in the /etc/hosts file of the machine running dnsmasq, e.g.:&lt;br /&gt;&lt;br /&gt;192.168.0.1    gateway gateway.home.localdomain&lt;br /&gt;192.168.0.100    server server.home.localdomain&lt;br /&gt;&lt;br /&gt;4. Now work on the dnsmasq config file (/etc/dnsmasq.conf).   First take a copy of the default file because it has lots of useful information in there.  Then edit the file with details of your network and devices.   You can see an example based on what I did for my home network below, but do refer to the docs and the original config file to understand the detail.&lt;br /&gt;&lt;br /&gt;5. Stop any other DHCP server you may have running (e.g. the one in the DSL modem/router)&lt;br /&gt;&lt;br /&gt;6. On the machine running dnsmasq:  sudo /etc/init.d/dnsmasq restart&lt;br /&gt;&lt;br /&gt;7. Restart the network interfaces on your devices (or just reboot the computer, phone or whatever)&lt;br /&gt;&lt;br /&gt;8. Test that everything is as you expect.  e.g. does ping nero work?   Does ping nero.home.localdomain work?&lt;br /&gt;&lt;br /&gt;9. Done&lt;br /&gt;&lt;br /&gt;The example file:&lt;br /&gt;&lt;br /&gt;domain-needed&lt;br /&gt;bogus-priv&lt;br /&gt;expand-hosts&lt;br /&gt;domain=home.localdomain&lt;br /&gt;dhcp-range=192.168.1.100,192.168.1.150,1h&lt;br /&gt;&lt;br /&gt;dhcp-host=00:1b:62:01:e4:d5,192.168.0.24,nero&lt;br /&gt;dhcp-host=00:1c:f0:06:25:ca,192.168.0.25,see&lt;br /&gt;dhcp-host=00:23:76:cd:a7:9a,192.168.0.26,rome&lt;br /&gt;dhcp-host=00:14:a6:2d:a7:9a,192.168.0.27,burn&lt;br /&gt;&lt;br /&gt;dhcp-option=option:router,192.168.0.1&lt;br /&gt;dhcp-option=option:domain-name,home.localdomain&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6268735320691745199-3060272992074301681?l=openskills.blogspot.com%2Findex.html&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 28 Feb 2010 13:48:16 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway: Hard hack: Behringer HellBabe wah</title>
	<guid>http://certifiedwaif.livejournal.com/378805.html</guid>
	<link>http://certifiedwaif.livejournal.com/378805.html</link>
	<description>A while ago I bought one of these. It has good build quality, and a good sound, but suffers from a fatal design flaw: the rocker pedal doesn't have enough travel in it. So it didn't get much use.&lt;br /&gt;&lt;br /&gt;Enterprising people on the Internet weren't going to be deterred by something as trifling as this. If you don't mind voiding the warranty, you can follow &lt;a href=&quot;http://freestompboxes.org/viewtopic.php?f=11&amp;amp;t=1889&quot;&gt;these detailed instructions&lt;/a&gt; to fix the mechanical problem. I substituted a small paring knife for a scalpel, and dumb luck for precision, but everything worked perfectly and now I have a beautiful sounding wah pedal for much less than you'd pay for a brand name one.&lt;br /&gt;&lt;br /&gt;A word of caution though, you may lose an afternoon playing with the result :)</description>
	<pubDate>Sun, 28 Feb 2010 06:50:32 +0000</pubDate>
</item>
<item>
	<title>James Purser: Never take a photo of a Yeast Ring</title>
	<guid>http://jamespurser.com.au/216 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/never-take-photo-yeast-ring</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Today while out with the family, we decided to purchase a treat for the kids. So we headed for the nearby donut place to purchase the required sickeningly sweet treat.&lt;/p&gt;
&lt;p&gt;Turns out they didn't have enough of the particular sweet my son wanted, so he picked what looked like an iced donut with chocolate flakes on it. Except it wasn't called a donut, rather it was called a Yeast Ring.&lt;/p&gt;
&lt;p&gt;This naturally caught my eye as being a somewhat risky name to give a ring of dough, so after the kids had consumed their various sweets, I thought I would get a photo of the Yeasty Rings to follow up the tweet I had already made.&lt;/p&gt;
&lt;p&gt;Not thinking much of it, I went up to the counter and used my camera to take a couple of what turned out to be uselessly blurred photos. Gave it up as a lost effort and then went off to complete the rest of the tasks we had at the time.&lt;/p&gt;
&lt;p&gt;45 minutes later as we exited the shopping centre a security guard approached me and asked me if I had taken any photos around the donut place earlier on. Specifically he asked if I had taken photos of a young girl &amp;nbsp;who had apparently been standing close to the Yeast Rings display. Apparently the girls mother had registered a complaint, accusing me of taking photos of her girl. The guard didn't mention why this would be a problem, but the obvious implication is that I was taking photos for nefarious purposes.&lt;/p&gt;
&lt;p&gt;It took me but a minute to explain to the guard that no, I hadn't taken photos of the girl, I hadn't even seen the girl standing there, focused as I was, on the Yeast Rings. The guard explained that they had to follow up the complaint both to calm the apparently distressed mother and for reasons of terrorism (my jaw dropped I'm sure at this one). However while I was finishing up with the guard, a police car pulled up in a nearby spot, and I was informed by the guard that I would need to talk to the officer.&lt;/p&gt;
&lt;p&gt;Right.&lt;/p&gt;
&lt;p&gt;Remaining calm at all times I walked over to the officer and once again went through the process of showing him that the photos I had taken were of the donut silmacra rather than the girl. The officer was pretty good about it, requesting to see through the rest of the photos, which I allowed, and then we parted ways without a request for details or anything else.&lt;/p&gt;
&lt;p&gt;All in all the security staff and police were polite and cordial in the way that they treated me. I have since discovered however that they were actually trailing myself and my family for at least half an hour before we were approached.&lt;/p&gt;
&lt;p&gt;Sigh.&lt;/p&gt;
&lt;p&gt;Below are the two photos that I took:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://jamespurser.com.au/content/photo0834jpg&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://jamespurser.com.au/sites/jamespurser.com.au/files/imagecache/node-gallery-cover/1/gallery_id/Photo0834_0.jpg&quot; /&gt;&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;http://jamespurser.com.au/content/photo0835jpg&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://jamespurser.com.au/sites/jamespurser.com.au/files/imagecache/node-gallery-cover/1/gallery_id/Photo0835_0.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update (01/03/2010):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I have just received confirmation that the security personal have managed to get in contact with the woman who made the original complaint and explain that there was no substance to her complaint - something that had been playing on mind since Saturday afternoon. While this wraps up the event (and believe me I feel quite relieved), it doesn't excuse the manner in which it was dealt with. I will be writing a further letter to the centre regarding this sort of situation and ways it could have been handled better.&lt;/p&gt;

&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Sat, 27 Feb 2010 08:49:37 +0000</pubDate>
</item>
<item>
	<title>Ian Wienand: DIG Jazz Applet, V3</title>
	<guid>http://feeds.feedburner.com/code/gnome/dig-jazz-applet-v3.html</guid>
	<link>http://www.technovelty.org/code/gnome/dig-jazz-applet-v3.html</link>
	<description>&lt;p&gt;The ABC overhauled &lt;a href=&quot;http://abcjazz.net.au&quot;&gt;DIG Jazz&lt;/a&gt;
(now I think it's just called &quot;ABC Jazz&quot;) and upgraded from the oh-so
2008 XML playlist to a much more web-cool JSON one.&lt;/p&gt;

&lt;p&gt;Hence &lt;a href=&quot;http://www.wienand.org/junkcode/dig-jazz-applet/dig-jazz-applet_3.0-1_all.deb&quot;&gt;Version
3&lt;/a&gt; (&lt;a href=&quot;http://www.wienand.org/junkcode/dig-jazz-applet&quot;&gt;source&lt;/a&gt;) of the applet.  Now with improved HTML escaping and different colors.&lt;/p&gt;

&lt;center&gt;
&lt;img src=&quot;http://www.technovelty.org/images/dig-jazz-applet-v3.jpg&quot; alt=&quot;DIG Jazz now-playing Gnome applet V3&quot; /&gt;
&lt;/center&gt;

&lt;p&gt;Check out &lt;a href=&quot;http://abcjazz.net.au/features/abc-jazz-recording-the-dilworths&quot;&gt;The
Dilworths&lt;/a&gt; while you're there!&lt;/p&gt;</description>
	<pubDate>Fri, 26 Feb 2010 13:44:00 +0000</pubDate>
</item>
<item>
	<title>Dave Airlie: GPU switching update</title>
	<guid>http://airlied.livejournal.com/71434.html</guid>
	<link>http://airlied.livejournal.com/71434.html</link>
	<description>Okay I've been busy elsewhere but dragged myself back to try and finish this for upstream&lt;br /&gt;&lt;br /&gt;v10 of the patch is up&lt;br /&gt;&lt;a href=&quot;http://people.freedesktop.org/~airlied/vgaswitcheroo/0001-vga_switcheroo-initial-implementation-v10.patch&quot;&gt;http://people.freedesktop.org/~airlied/vgaswitcheroo/0001-vga_switcheroo-initial-implementation-v10.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;changes are mainly that mjg59 was right about keeping ugly things in the drivers.&lt;br /&gt;&lt;br /&gt;adding ATRM support to get the ROMs on ATI hybrid for the discrete card was actually a pain with the previous code design,&lt;br /&gt;so I moved lots of it around again, and now the discrete ROM can be retrieved via the ATRM method.&lt;br /&gt;&lt;br /&gt;I've tested it on the W500 and it works as well as before, which means still the 3rd or 4th switch fails and locks the machine up,&lt;br /&gt;I need to debug this further.&lt;br /&gt;&lt;br /&gt;The refactored code should hopefully make it easier to fill in the nvidia/nvidia and intel/nvidia blanks for mjg59.&lt;br /&gt;&lt;br /&gt;Update 1: v11 is now up&lt;br /&gt;&lt;a href=&quot;http://people.freedesktop.org/~airlied/vgaswitcheroo/0001-vga_switcheroo-initial-implementation-v11.patch&quot;&gt;http://people.freedesktop.org/~airlied/vgaswitcheroo/0001-vga_switcheroo-initial-implementation-v11.patch&lt;/a&gt;&lt;br /&gt;It should fix the failure to switch to IGD the 2nd time hopefully.&lt;br /&gt;&lt;br /&gt;Update 2: v13 is now up, it blindly implements nvidia DSM changing, but I've no idea if it works. Hopefully someone can test it and give me some feedback. Its nearly all guesswork from work mjg59 did.</description>
	<pubDate>Fri, 26 Feb 2010 05:04:56 +0000</pubDate>
</item>
<item>
	<title>James Purser: Online Content Ombudsman</title>
	<guid>http://jamespurser.com.au/215 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/online-content-ombudsman</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Hey here's an idea to combat the rash of idiotic facebook page &amp;quot;hacks&amp;quot; (leaving your facebook page open to all is not a hack by the way). Let's set up an Online Content Ombudsman, who shall have the power to... umm... complain to overseas companies.&lt;/p&gt;
&lt;p&gt;Um.&lt;/p&gt;
&lt;p&gt;Originally suggested by South Australian independent Senator Nick Xenaphon, it's been picked up by the Government to show how &amp;quot;pro-active&amp;quot; they are when it comes to dealing &amp;quot;Teh Evil Interwebs&amp;quot;.&lt;/p&gt;
&lt;p&gt;Considering that companies like Facebook and MySpace have absolutely zero Australian presence, I don't see how any Ombudsman can have any affect on their operations, unless, and this is a very scary, scary thought. The Ombudsman has the power to attach web sites to the Filter. Anything less than threatening to ban the site within the country is going to have all the persuasive power of a damp tissue.&lt;/p&gt;
&lt;p&gt;I would love to be able to sit down with Kevin Rudd and Senator Nick, away from the cameras and explain to them how the internet works. If not me, then please can someone else do it?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Fri, 26 Feb 2010 01:58:29 +0000</pubDate>
</item>
<item>
	<title>Sonia Hamilton: Problem: braindead screensaver timeouts</title>
	<guid>http://soniahamilton.wordpress.com/?p=651</guid>
	<link>http://soniahamilton.wordpress.com/2010/02/26/problem-braindead-screensaver-timeouts/</link>
	<description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; You work in an organisation with locked down desktops that have stupidly short screensaver timeouts. And you&amp;#8217;re connected via multiple rdp&amp;#8217;s to a process that you want to keep running all day, but the timeouts keep halting the process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; an optical mouse on top of an analog watch (that has a second hand):&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://soniahamilton.files.wordpress.com/2010/02/photo_021810_001.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-658&quot; title=&quot;Mouse on jar&quot; src=&quot;http://soniahamilton.files.wordpress.com/2010/02/photo_021810_001.jpg?w=640&amp;#038;h=480&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Take that Group Policy!&lt;/p&gt;
&lt;p&gt;(Tip of the Hat to Stu).&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/soniahamilton.wordpress.com/651/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/soniahamilton.wordpress.com/651/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/soniahamilton.wordpress.com/651/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/soniahamilton.wordpress.com/651/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/soniahamilton.wordpress.com/651/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/soniahamilton.wordpress.com/651/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/soniahamilton.wordpress.com/651/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/soniahamilton.wordpress.com/651/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/soniahamilton.wordpress.com/651/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/soniahamilton.wordpress.com/651/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=soniahamilton.wordpress.com&amp;amp;blog=1724069&amp;amp;post=651&amp;amp;subd=soniahamilton&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 26 Feb 2010 00:06:39 +0000</pubDate>
</item>
<item>
	<title>Ian Wienand: Building a quiet, cool media/house server</title>
	<guid>http://feeds.feedburner.com/general/quiet-server-build.html</guid>
	<link>http://www.technovelty.org/general/quiet-server-build.html</link>
	<description>&lt;p&gt;After getting sick of having to &lt;b&gt;under&lt;/b&gt;clock my existing home
server to get it to remain up for any period of time, along with the
horrendous noise, I finally found the time and budget to rebuild.&lt;/p&gt;

&lt;p&gt;My goals were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quiet enough to have in the living room&lt;/li&gt;
&lt;li&gt;Cool enough to live inside the TV cabinet with little ventilation&lt;/li&gt;
&lt;li&gt;Large, redundant storage&lt;/li&gt;
&lt;li&gt;Powerful enough to re-encode video&lt;/li&gt;
&lt;li&gt;As power efficient as possible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the end I went with&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.antec.com/Detail.bok?no=599&quot;&gt;Antec NSK 1380&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Asus AT3N7A-I motherboard with a dual-core Atom 330 CPU and Nvidia chipset&lt;/li&gt;
&lt;li&gt;4GB of RAM (for which I am still waiting for the mail-in rebate, as usual!)&lt;/li&gt;
&lt;li&gt;1 Western Digital Green 1TB SATA disk&lt;/li&gt;
&lt;li&gt;1 Samsung Ecogreen 1TB SATA disk&lt;/li&gt;
&lt;li&gt;30GB Patriot SATA SSD&lt;/li&gt;
&lt;li&gt;Recycled DVD writer + PCI IDE card&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The case is really awesome.  Very easy to access, and the fan is
extremley quiet.  It very cleverly holds 3 full-size hard-disks; two
mounted vertically on either side, and one horizontally in the middle.
The final space is for a DVD -- after that it's pretty cramped inside!
It makes claims it is a very efficient power supply.&lt;/p&gt;

&lt;p&gt;It has a very bright blue LED on the front, and the face-plate over
the DVD looks nice but the button doesn't quite reach the eject button
on my drive, so it's software eject only.  All over, definitely
recommend.&lt;/p&gt;

&lt;p&gt;The motherboard is fairly good.  One annoying thing is that it only
has 3 SATA ports -- I think it's reasonable to want to have a primary
drive, two mirrored large disks plus a DVD for a nice little media
server.  It also has no parallel-IDE, which is reasonable these days.
However, if you wanted to install a wireless card you'd be out of luck
if you also wanted to put in another SATA card, as it only has one PCI
slot.  There are plenty of USB ports for a USB wireless card, however.
It also comes with two SATA cables, which isn't mentioned anywhere I
could see (hopefully this saves you a trip back to Fry's to return
your extra cables :).&lt;/p&gt;

&lt;p&gt;The CPU fan is a little on the loud side, as mentioned in some
other forums.  It is also located right where the power supply cables
come down in this case, making for a fairly tight fit.&lt;/p&gt;

&lt;p&gt;Here's a &lt;tt&gt;lspci&lt;/tt&gt; for those interested in such things&lt;/p&gt;

&lt;div class=&quot;codebox&quot;&gt;
&lt;pre&gt;
00:00.0 Host bridge: nVidia Corporation MCP79 Host Bridge (rev b1)
00:00.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)
00:03.0 ISA bridge: nVidia Corporation MCP79 LPC Bridge (rev b2)
00:03.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)
00:03.2 SMBus: nVidia Corporation MCP79 SMBus (rev b1)
00:03.3 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)
00:03.5 Co-processor: nVidia Corporation MCP79 Co-processor (rev b1)
00:04.0 USB Controller: nVidia Corporation MCP79 OHCI USB 1.1 Controller (rev b1)
00:04.1 USB Controller: nVidia Corporation MCP79 EHCI USB 2.0 Controller (rev b1)
00:06.0 USB Controller: nVidia Corporation MCP79 OHCI USB 1.1 Controller (rev b1)
00:06.1 USB Controller: nVidia Corporation MCP79 EHCI USB 2.0 Controller (rev b1)
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
00:09.0 PCI bridge: nVidia Corporation MCP79 PCI Bridge (rev b1)
00:0b.0 IDE interface: nVidia Corporation MCP79 SATA Controller (rev b1)
00:10.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)
00:15.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)
01:05.0 RAID bus controller: Silicon Image, Inc. PCI0680 Ultra ATA-133 Host Controller (rev 02)
02:00.0 VGA compatible controller: nVidia Corporation ION VGA (rev b1)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;I know there are issues with the controller of the Patriot SSD,
which would probably worry me for a general purpose machine.  However
for the primary disk of a server machine I'm not too fussed.  The
silence is golden and cool-running and low power consumption really
helps too.  I wouldn't really say it seems that blazing fast.  It
comes with a handy mount so it fits in a full-size hard-disk slot.
Hard to beat for the price.&lt;/p&gt;

&lt;p&gt;One concession I made to avoid excessive writes was mounting
&lt;tt&gt;/tmp&lt;/tt&gt; on &lt;tt&gt;tmpfs&lt;/tt&gt;; this is where it's nice to have 4GB
of RAM.  Handbrake seems to do a lot of work in &lt;tt&gt;/tmp&lt;/tt&gt; for
example.&lt;/p&gt;

&lt;p&gt;The two green hard-disks (software mirrored) are also inaudible.
I'm hoping different brands should at least not fail at the same time.
I'm not sure if they're auto-spinning down, but you can't really tell
if they're on or not, even under load.&lt;/p&gt;

&lt;p&gt;Even when running flat-out re-encoding a DVD in the enclosed
cabinet with minimal airflow the CPU temperature hasn't gone above
60C; normal CPU temp is around 40C.  Performance is adequate --
running &lt;a href=&quot;http://www.playon.tv&quot;&gt;PlayOn&lt;/a&gt; in a VMware workstation XP
VM &lt;i&gt;almost&lt;/i&gt; works.&lt;/p&gt;

&lt;p&gt;It's kind of hard to take photos inside a case, but here's an
attempt:&lt;/p&gt;

   

&lt;p&gt;Debian unstable installed without issues (except for some weird bug
with the boot hanging for 60 seconds due to the RTL driver).  It is
also very strange installing from USB to an SSD &amp;mdash; no noise!&lt;/p&gt;</description>
	<pubDate>Thu, 25 Feb 2010 02:56:00 +0000</pubDate>
</item>
<item>
	<title>James Purser: What do I and Will Smith have in common?</title>
	<guid>http://jamespurser.com.au/213 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/what-do-i-and-will-smith-have-common</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&amp;nbsp;We've both played Enemies of the State.&lt;/p&gt;
&lt;p&gt;Seriously, according to this &lt;a href=&quot;http://www.guardian.co.uk/technology/blog/2010/feb/23/opensource-intellectual-property&quot;&gt;article&lt;/a&gt;&amp;nbsp;the &lt;a href=&quot;http://www.iipa.com/&quot;&gt;IIPA&lt;/a&gt; (International Intellectual Property Alliance) has requested that the US Trade Representative place countries that mandate, or (and here's the kicker) even suggest the use of Open Source software be placed on a special list of countries that have lax intellectual property regimes (read Pirate Havens).&lt;/p&gt;
&lt;p&gt;Note that this is not just a case of sneaking in the Open Source thing amongst a number of other reasons, the IIPA is explicitly claiming that even thinking about using Open Source software in Government is tantamount to destroying the global software industry, letting the Goths into Rome and scheduling a 7 day, 24 hour run of Home and Away on every single channel.&lt;/p&gt;
&lt;p&gt;So according to the IIPA, I as a purveyor of Open Source solutions am leading to the delinquency of governments world wide, using my awesome &amp;quot;Powahs! (tm)&amp;quot; to drive poor innocent multi-nationals to the wall.&lt;/p&gt;
&lt;p&gt;Sigh.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Wed, 24 Feb 2010 23:26:46 +0000</pubDate>
</item>
<item>
	<title>Jamie Wilkinson: Monitoring Cron Jobs</title>
	<guid>http://spacepants.org/blog/cron-monitoring</guid>
	<link>http://spacepants.org/blog/cron-monitoring</link>
	<description>&lt;p&gt;(This article comes from one I helped edit and publish inside work, so I can't take any credit for the ideas expressed within, though I do vehemently and violently subscribe to the sentiment!  Thanks to Alan Sundell for originally educating me.)
&lt;/p&gt;
&lt;p&gt;When you set (or don't set at all) &lt;code&gt;MAILTO&lt;/code&gt; in a crontab fragment, typically it's because you want to be notified if your job fails -- failure in this case if and only if the job only prints to stdout/stderr if there is an exceptional condition...  However not all jobs print only on exceptional conditions, many use stderr for &lt;em&gt;logging&lt;/em&gt;, and email is just not a great solution to this problem, especially at scale.
&lt;/p&gt;

&lt;h3&gt; Problems with alerting by email from &lt;code&gt;cron&lt;/code&gt;. &lt;/h3&gt;
&lt;p&gt;Why is it a bad idea to rely on cron mail?
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     We all get so much mail from cron that few are in the habit of reading it anymore.
 &lt;/li&gt;

 &lt;li&gt;
     If your server is broken, the mail submission agent may be broken too.
 &lt;/li&gt;

 &lt;li&gt;
     You may handle your cron mail, but you may be on holiday when it arrives.
 &lt;/li&gt;

 &lt;li&gt;
      &lt;code&gt;crond&lt;/code&gt; can crash.
 &lt;/li&gt;

 &lt;li&gt;
     You will get mutiple emails for the same failure.
 &lt;/li&gt;

 &lt;li&gt;
     Your cron mail will get delivered to every one of your mailboxes, eating up storage.
 &lt;/li&gt;

 &lt;li&gt;
     You cannot suppress cron mail notifications.
 &lt;/li&gt;

 &lt;li&gt;
     Your cron mail has no concept of dependencies.
 &lt;/li&gt;

 &lt;li&gt;
     You will get notified of temporary failures when you only care about persistent ones.
 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If a cronjob running successfully is critical to operation, then it seems that what you really need is some kind of monitoring system that addresses all of these things, and can send alerts to some oncall rotation that determines who is responsible for handling alerts.
&lt;/p&gt;

&lt;h3&gt; A potential solution &lt;/h3&gt;
&lt;p&gt;Here's an idea that might help with that.
&lt;/p&gt;
&lt;ol&gt;
 &lt;li&gt;&lt;p&gt;Direct the output of your job to some log file for debugging, in the event of persistent failure.  Note the truncate:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MAILTO=&quot;&quot;
*/1 * * * * root cronjob &amp;gt; /var/log/cronjob.log 2&amp;gt;&amp;amp;1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;(If you decide to appent, not overwrite the log each execution, then make sure you logrotate that file.)
&lt;/p&gt;

 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;At the end of &lt;code&gt;cronjob&lt;/code&gt;, update a status file, like so:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;scriptname=$(basename $0)
date +%s &amp;gt; /var/tmp/cronjob-last-success-timestamp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ensure that your job exits on error before reaching the last line!
&lt;/p&gt;

 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;Collect the content of that file regularly with your monitoring system; scrape it with the nagios host agent, pump it into collectd, whatever you hip open source cats are using these days.
&lt;/p&gt;

 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;Configure your monitoring system to send a notification on the timestamp having not been updated in some time period.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if cronjob-last-success-timestamp
  &amp;lt;
(time() - 30m)
  then alert
&lt;/code&gt;&lt;/pre&gt;
 &lt;/li&gt;

 &lt;li&gt;&lt;p&gt;Profit!
&lt;/p&gt;

 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now you only generate an alert if the cron job hasn't succeeded in the last 30 minutes (a threshold you can adjust to match your monitoring scrape intervals and service SLAs), and with a sufficiently mature monitoring system you can now express dependencies, suppress the notification, and send it to an oncall rotation, and so on!
&lt;/p&gt;
&lt;p&gt;Most significantly, we have converted a system that always reported failure, into a system that is based around checking for success -- a failsafe.
&lt;/p&gt;</description>
	<pubDate>Wed, 24 Feb 2010 12:27:00 +0000</pubDate>
</item>
<item>
	<title>Jeremy Visser: Multicast versus IPTV</title>
	<guid>http://jeremy.visser.name/?p=1419</guid>
	<link>http://jeremy.visser.name/2010/02/24/multicast-versus-iptv/</link>
	<description>&lt;p&gt;I&amp;#8217;ve been hearing a lot of buzz about IPTV lately. It&amp;#8217;s something that is exciting, useful, and inevitable.&lt;/p&gt;
&lt;p&gt;As I understand it, IPTV is defined to be a &lt;strong&gt;live&lt;/strong&gt; television service delivered over &lt;strong&gt;multicast&lt;/strong&gt; (usually RTP) over a broadband Internet connection. Multicast has an advantage over normal traffic (“unicast”) because it avoids the duplication of traffic. Only one copy of the data is ever sent.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.tpg.com.au/&quot;&gt;TPG&lt;/a&gt; currently offer &lt;a href=&quot;http://www.tpg.com.au/iptv/&quot;&gt;19 channels&lt;/a&gt; over an IPTV service, and &lt;a href=&quot;http://www.transact.com.au/&quot;&gt;TransACT&lt;/a&gt; allegedly &lt;a href=&quot;http://www.transact.com.au/television/&quot;&gt;offer over 50&lt;/a&gt;. iiNet is &lt;a href=&quot;http://www.itwire.com/your-it-news/home-it/37065-iinet-on-the-brink-of-iptv-launch&quot;&gt;“on the brink of IPTV launch”&lt;/a&gt;. There are rumours that &lt;a href=&quot;http://forums.whirlpool.net.au/forum-replies.cfm?t=1327694&quot;&gt;Internode are investigating something similar too&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That last paragraph should have triggered alarm bells in your head. It did for me, but maybe I&amp;#8217;m just a cynic. Let me explain.&lt;/p&gt;
&lt;p&gt;I asked myself: why are the &lt;em&gt;ISPs&lt;/em&gt; providing the IPTV service? It sounds wrong to me. I&amp;#8217;ve tried to come up with an answer, and my conclusion is that it is because of two reasons: (1) infrastructure (multicast is virtually non-existant in most production networks) and (2) content lock-in.&lt;/p&gt;
&lt;p&gt;Having the ISPs provide the infrastructure for the IPTV service (marketing, encoding, distribution, etc.) means the ISP will likely sign a contract to exclusive usage rights with the TV partner for each channel they will provide. If iiNet sign an exclusive deal with Sky News, they sure as heck ain’t going to let Internode or TPG also put the content on &lt;em&gt;their&lt;/em&gt; networks.&lt;/p&gt;
&lt;p&gt;The infrastructure would also be duplicated. Each ISP needs their own TV receiving equipment (likely a few satellite dishes on top of their data centre), encoding equipment, marketing, private IP multicast network, and whatnot.&lt;/p&gt;
&lt;p&gt;With regards to content lock-in, this will also mean that the ISP you choose to use will determine what IPTV channels you are able to watch. Conversely, what IPTV channels you want to watch will determine which ISP you will sign up with.&lt;/p&gt;
&lt;p&gt;That sounds all rosy, until you consider that I am not restricted on what &lt;em&gt;websites&lt;/em&gt; I can visit based on what ISP I am with. I can watch YouTube or &lt;a href=&quot;http://www.abc.net.au/iview/&quot;&gt;ABC iView&lt;/a&gt; from any ISP in Australia. Sure, some ISPs offer better services than others, faster speeds, or more reliable connections, but it&amp;#8217;s just the one Internet. This is because the ISP is not in the &lt;em&gt;content provider&lt;/em&gt; role. They are merely the gateway to the Internet — the Internet &lt;em&gt;service provider&lt;/em&gt; (now where have I heard that term before?).&lt;/p&gt;
&lt;p&gt;The way IPTV looks like it is heading is shifting the ISP onto the content provider role. As I&amp;#8217;ve already said, this means the service is delivered over the ISP&amp;#8217;s private network, available exclusive to that ISP&amp;#8217;s customers, and not over the Internet. That&amp;#8217;s a Bad Thing™ in terms of &lt;a href=&quot;http://en.wikipedia.org/wiki/Network_neutrality&quot;&gt;net neutrality&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If an ISP &amp;#8220;rebroadcasts&amp;#8221; content from an IPTV channel that another ISP has signed an exclusive deal on, that would be a copyright violation.&lt;/p&gt;
&lt;p&gt;But that still doesn&amp;#8217;t explain the title of my post: &lt;strong&gt;&amp;#8220;Multicast versus IPTV&amp;#8221;&lt;/strong&gt;. The above isn&amp;#8217;t actually the crux of what I wanted to get at (apologies to the reader if you&amp;#8217;ve managed to read this far in great detail). &lt;/p&gt;
&lt;p&gt;I&amp;#8217;m supportive of multicast in general. Combined with IPv6 (each /64 subnet has a &lt;a href=&quot;http://www.tcpipguide.com/free/t_IPv6MulticastandAnycastAddressing.htm&quot;&gt;corresponding multicast subnet&lt;/a&gt;), multicast opens up the doorway for anybody to serve high definition audio and video to the Internet at large without the need for exorbitant amounts of bandwidth up their sleeve.&lt;/p&gt;
&lt;p&gt;But that&amp;#8217;s &lt;em&gt;public&lt;/em&gt; multicast. These &amp;#8220;IPTV&amp;#8221; solutions will be, and currently are, deployed on &lt;em&gt;private&lt;/em&gt; multicast networks. On the plus site, private multicast networks mean it is easier for the ISP to deploy the infrastructure — it&amp;#8217;s much easier to only have to worry about your own network, than also have to worry about interfacing with others. But it also means less incentive to deploy a public multicast infrastructure, and less incentive for content providers (such as TV networks) to provide their services over multicast themselves. It&amp;#8217;s a chicken-and-egg problem.&lt;/p&gt;
&lt;p&gt;We don&amp;#8217;t need ISPs to &amp;#8220;provide IPTV services&amp;#8221;. We need a decent multicast network (preferably IPv6) that all Australians can access, so that TV stations themselves can provide the multicast streams with the knowledge that a large percentage of Internet subscribers are able to access their content, and that channel availability discrimination does not occur based on what ISP you choose to sign up with.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s the crux of what I&amp;#8217;m getting at. I&amp;#8217;m sure someone will come along and say &amp;#8220;but but but&amp;#8230;they have a right to sign exclusive contracts and deliver only over private networks&amp;#8221;. My response to that would be that just because you have the right, doesn&amp;#8217;t make it right. Nor left. &lt;img src=&quot;http://jeremy.visser.name/wordpress/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Thoughts?&lt;/p&gt;</description>
	<pubDate>Wed, 24 Feb 2010 07:56:04 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: Amazon certainly is cheaper</title>
	<guid>http://heimic.net/?p=427</guid>
	<link>http://users.heimic.net/michaelf/2010/02/23/amazon-certainly-is-cheaper/</link>
	<description>&lt;p&gt;I am about to embark on the reading of 2 x Microsoft Press books to attempt two Microsoft certification exams. More details on these as time goes on, but for now the story is about the book prices.&lt;/p&gt;
&lt;p&gt;Locally the books cost about over $100 for one. Looking on Amazon the books I wanted had list prices of $44 USD and $37 USD. Oddly enough I ended up getting both with postage for about $127 AUD.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s an easy decision, buy from Amazon, get both books and have to wait up to a month.&lt;/p&gt;
&lt;p&gt;Will post back my experience, I&amp;#8217;ve heard others say Amazon has been a pleasure experience to purchase from.&lt;/p&gt;</description>
	<pubDate>Tue, 23 Feb 2010 08:43:51 +0000</pubDate>
</item>
<item>
	<title>Silvia Pfeiffer: HTML5 Media and Accessibility presentation</title>
	<guid>http://blog.gingertech.net/?p=952</guid>
	<link>http://blog.gingertech.net/2010/02/23/html5-media-and-accessibility-presentation/</link>
	<description>&lt;p&gt;Today, I was invited to give a talk at my old workplace CSIRO about the HTML5 media elements and accessibility.&lt;/p&gt;
&lt;p&gt;A lot of the things that have gone into Ogg and that are now being worked on in the W3C in different working groups &amp;#8211; including the Media Fragments and HTML5 WGs &amp;#8211; were also of concern in the Annodex project that I worked on while at CSIRO. So I was rather excited to be able to report back about the current status in HTML5 and where we&amp;#8217;re at with accessibility features.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.gingertech.net/wp-content/uploads/2010/02/HAIL_20100223/&quot;&gt;Check out the presentation here&lt;/a&gt;. It contains a good collection of links to exciting demos of what is possible with the new HTML5 media elements when combined with other HTML features.&lt;/p&gt;
&lt;p&gt;I tried something now with this presentation: I wrote it in &lt;a href=&quot;http://meyerweb.com/eric/tools/s5/&quot;&gt;a tool called S5&lt;/a&gt;, which makes use only of HTML features for the presentation. It was quite a bit slower than I expected, e.g. reloading a page always included having to navigate to that page. Also, it&amp;#8217;s not easily possible to do drawings, unless you are willing to code them all up in HTML. But otherwise I have found it very useful for, in particular, including all the used URLs and video element demos directly in the slides. I was inspired with using this tool by Chris Double&amp;#8217;s slides from LCA about &lt;a href=&quot;http://www.bluishcoder.co.nz/2010/02/13/lca-2010-implementing-html5-video-in-firefox.html&quot;&gt;implementing HTML 5 video in Firefox&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Tue, 23 Feb 2010 03:05:51 +0000</pubDate>
</item>
<item>
	<title>Jeremy Visser: Enable caching in collectd!</title>
	<guid>http://jeremy.visser.name/?p=1413</guid>
	<link>http://jeremy.visser.name/2010/02/23/enable-caching-in-collectd/</link>
	<description>&lt;p&gt;If you decide to run &lt;a href=&quot;http://collectd.org/&quot;&gt;collectd&lt;/a&gt; on your system, don&amp;#8217;t do what I did: I ran it for 8 months without caching enabled. Basically, that means that not only was collectd monitoring load, it was generating a &lt;em&gt;huge&lt;/em&gt; amount of load itself — way more than anything else running on the system.&lt;/p&gt;
&lt;p&gt;Case in point:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://jeremy.visser.name/wordpress/wp-content/uploads/2010/02/collectd-load.png&quot; alt=&quot;collectd load graph. &amp;quot;No caching&amp;quot; shows high iowait, while &amp;quot;CacheTimeout&amp;quot; and &amp;quot;CacheFlush&amp;quot; shows the CPU load more than halved.&quot; title=&quot;collectd load&quot; width=&quot;497&quot; height=&quot;277&quot; class=&quot;aligncenter size-full wp-image-1414&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The &amp;#8220;no caching&amp;#8221; bit is what it&amp;#8217;s been running like for 8 months, using this config in &lt;code&gt;/etc/collectd/collectd.conf&lt;/code&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;&amp;lt;Plugin rrdtool&amp;gt;
        DataDir &quot;/var/lib/collectd/rrd&quot;
&amp;lt;/Plugin&amp;gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;To more than half my idle CPU usage, and get my load averages back down to near 0.00, all I had to do was add:&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;&amp;lt;Plugin rrdtool&amp;gt;
        DataDir &quot;/var/lib/collectd/rrd&quot;
&lt;strong&gt;       CacheTimeout 120
       CacheFlush 900&lt;/strong&gt;
&amp;lt;/Plugin&amp;gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don&amp;#8217;t get why they don&amp;#8217;t ship it like that by default. Enable caching. Your server will thank you. Thanks to the folks on &lt;em&gt;#slug&lt;/em&gt; who held my hand while fixing this. &lt;img src=&quot;http://jeremy.visser.name/wordpress/wp-content/plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Mon, 22 Feb 2010 21:32:33 +0000</pubDate>
</item>
<item>
	<title>Simon Rumble: Josephine's Cheese: Terrible packaging</title>
	<guid>http://www.rumble.net/blog/Josephine_Cheese</guid>
	<link>http://www.rumble.net/blog/index.cgi/grumble/Josephine_Cheese.html</link>
	<description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;img src=&quot;http://rumble.smugmug.com/Blog/Blog/cheese/793779696_wznbZ-M.jpg&quot; alt=&quot;Josephine's Traditional Goats Cheese in Ash&quot; border=&quot;0&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Josephine's Cheese, given your
&lt;a href=&quot;http://www.josephinesfood.com.au/&quot;&gt;site&lt;/a&gt; has no contact
information, and doesn't even display the product I bought, I'll
have to howl into the aether and assume you'll find it when I SEO
your arse (given Google doesn't even see your image-only site, that
won't be hard).&lt;/p&gt;
&lt;p&gt;So I bought your &quot;Traditional Goat's Cheese in Ash&quot; last week.
It was delicious.  Unfortunately your packaging is abysmal.  After
very carefully peeling off the label, you're presented with this
tube of squished cheese.  If you take care from this point, and happen
to have scissors or a sharp knife handy, you can just about get a single
blob of cheese out ready to serve.  More likely you'll end up with more
like a tube of cheese toothpaste squirted out onto your serving location.&lt;/p&gt;
&lt;p&gt;Great cheese.  I won't buy it again in this packaging.  Buy your
competitors' products and learn.&lt;/p&gt;&lt;p align=&quot;right&quot;&gt;&lt;a href=&quot;http://www.rumble.net/contact/&quot;&gt;Contact me&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 21 Feb 2010 23:17:17 +0000</pubDate>
</item>
<item>
	<title>Jeremy Visser: SCLUG site redesigned</title>
	<guid>http://jeremy.visser.name/?p=1404</guid>
	<link>http://jeremy.visser.name/2010/02/21/sclug-site-redesigned/</link>
	<description>&lt;p&gt;The South Coast Linux Users Group (SCLUG) website has had a lick of paint by yours truly.&lt;/p&gt;
&lt;p&gt;The old site didn&amp;#8217;t look bad (in particular, I liked the penguin header image), but was getting a little long in the tooth, had a few issues (such as broken category styles, and images being linked to the wrong domain), and didn&amp;#8217;t really reflect much about Wollongong, which is where we are based.&lt;/p&gt;
&lt;p&gt;So a little &lt;a href=&quot;http://www.inkscape.org/&quot;&gt;Inkscaping&lt;/a&gt; later, I came up with &lt;a href=&quot;http://www.sclug.asn.au/&quot;&gt;this&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.sclug.asn.au/&quot;&gt;&lt;img src=&quot;http://jeremy.visser.name/wordpress/wp-content/uploads/2010/02/sclug.png&quot; alt=&quot;SCLUG site in Wollongong livery&quot; title=&quot;SCLUG thumbnail&quot; width=&quot;300&quot; height=&quot;291&quot; class=&quot;aligncenter size-full wp-image-1409&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Check it out. No, like, seriously. &lt;a href=&quot;http://www.sclug.asn.au/&quot;&gt;Check it out&lt;/a&gt;. A bit more polish to come, but the idea is there.&lt;/p&gt;</description>
	<pubDate>Sun, 21 Feb 2010 00:36:37 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway: Food security</title>
	<guid>http://certifiedwaif.livejournal.com/377628.html</guid>
	<link>http://certifiedwaif.livejournal.com/377628.html</link>
	<description>Science magazine has an issue on &lt;a href=&quot;http://www.sciencemag.org/cgi/content/full/sci;327/5967/797&quot;&gt;feeding the future&lt;/a&gt;. I've linked it because I just love some of the article names. I can't decide whether I prefer the article about holding back the plague of rats, or the one that suggests we eat less meat and more insects. Mmmm, crickets!</description>
	<pubDate>Sat, 20 Feb 2010 23:29:31 +0000</pubDate>
</item>
<item>
	<title>Silvia Pfeiffer: Google’s challenges of freeing VP8</title>
	<guid>http://blog.gingertech.net/?p=941</guid>
	<link>http://blog.gingertech.net/2010/02/20/googles-challenges-of-freeing-vp8/</link>
	<description>&lt;p&gt;Since &lt;a href=&quot;http://www.on2.com/index.php?id=472&amp;#038;news_id=698&quot;&gt;On2 Technology&amp;#8217;s stockholders have approved the merger with Google&lt;/a&gt;, there are now &lt;a href=&quot;http://www.fsf.org/blogs/community/google-free-on2-vp8-for-youtube&quot;&gt;first requests to Google to open up VP8&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I am sure Google is thinking about it. But &amp;#8230; what does &amp;#8220;it&amp;#8221; mean?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Freeing VP8&lt;/strong&gt;&lt;br /&gt;
Simply open sourcing it and making it available under a free license doesn&amp;#8217;t help. That just provides open source code for a codec where relevant patents are held by a commercial entity and any other entity using it would still need to be afraid of using that technology, even if it&amp;#8217;s use is free.&lt;/p&gt;
&lt;p&gt;So, Google has to make the patents that relate to VP8 available under an irrevocable, royalty-free license for the VP8 open source base, but also for any independent implementations of VP8. This at least guarantees to any commercial entity that Google will not pursue them over VP8 related patents.&lt;/p&gt;
&lt;p&gt;Now, this doesn&amp;#8217;t mean that there are no submarine or unknown patents that VP8 infringes on. So, Google needs to also undertake an intensive patent search on VP8 to be able to at least convince themselves that their technology is not infringing on anyone else&amp;#8217;s. For others to gain that confidence, Google would then further have to indemnify anyone who is making use of VP8 for any potential patent infringement.&lt;/p&gt;
&lt;p&gt;I believe &amp;#8211; from what I have seen in the discussions at the W3C &amp;#8211; it would only be that last step that will make companies such as Apple have the confidence to adopt a &amp;#8220;free&amp;#8221; codec.&lt;/p&gt;
&lt;p&gt;An alternative to providing indemnification is the standardisation of VP8 through an accepted video standardisation body. That would probably need to be ISO/MPEG or SMPTE, because that&amp;#8217;s where other video standards have emerged and there are a sufficient number of video codec patent holders involved that a royalty-free publication of the standard will hold a sufficient number of patent holders &amp;#8220;under control&amp;#8221;. However, such a standardisation process takes a long time. For HTML5, it may be too late.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technology Challenges&lt;/strong&gt;&lt;br /&gt;
Also, let&amp;#8217;s not forget that VP8 is just a video codec. A video codec alone does not encode a video. There is a need for an audio codec and a encapsulation format. In the interest of staying all open, Google would need to pick Vorbis as the audio codec to go with VP8. Then there would be the need to put Vorbis and VP8 in a container together &amp;#8211; this could be Ogg or MPEG or QuickTime&amp;#8217;s MOOV. So, apart from all the legal challenges, there are also technology challenges that need to be mastered.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s not simple to introduce a &amp;#8220;free codec&amp;#8221; and it will take time!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google and Theora&lt;/strong&gt;&lt;br /&gt;
There is actually something that Google should do before they start on the path of making VP8 available &amp;#8220;for free&amp;#8221;: They should formulate a new license agreement with Xiph (and the world) over VP3 and Theora. Right now, the &lt;a href=&quot;http://web.archive.org/web/20011026032511/http://vp3.com/license/vp32_opensource_license_9-6-01.txt&quot;&gt;existing license that was provided by On2 Technologies to Theora (link is to an early version of On2&amp;#8217;s open source license of VP3)&lt;/a&gt; was only for the codebase of VP3 and any modifications of it, but doesn&amp;#8217;t in an obvious way apply to an independent re-implementations of VP3/Theora. The new agreement between Google and Xiph should be about the patents and not about the source code. (UPDATE: The actual agreement with Xiph apparently also covers re-implementations &amp;#8211; see comments below.)&lt;/p&gt;
&lt;p&gt;That would put Theora in a better position to be universally acceptable as a baseline codec for HTML5. It would allow, e.g. Apple to make their own implementation of Theora &amp;#8211; which is probably what they would want for ipods and iphones. Since Firefox, Chrome, and Opera already support Ogg Theora in their browsers using the on2 licensed codebase, they must have decided that the risk of submarine patents is low. So, presumably, Apple can come to the same conclusion.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Free codecs roadmap&lt;/strong&gt;&lt;br /&gt;
I see this as the easiest path towards getting a universally acceptable free codec. Over time then, as VP8 develops into a free codec, it could become the successor of Theora on a path to higher quality video. And later still, when the Internet will handle large resolution video, we can move on to the BBC&amp;#8217;s Dirac/VC2 codec. It&amp;#8217;s where the future is. The present is more likely here and now in Theora.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;br /&gt;
&lt;strong&gt;ADDITION:&lt;/strong&gt;&lt;br /&gt;
Please note the comments from Monty from Xiph and from Dan, ex-On2, about the intent that VP3 was to be completely put into the hands of the community. Also, Monty notes that in order to implement VP3, you do not actually need any On2 patents. So, there is probably not a need for Google to refresh that commitment. Though it might be good to reconfirm that commitment.&lt;br /&gt;
&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 20 Feb 2010 07:57:39 +0000</pubDate>
</item>
<item>
	<title>Erik de Castro Lopo: Conroy : Is He a Duck?</title>
	<guid>http://www.mega-nerd.com/erikd/Blog/Politics/conroy.html</guid>
	<link>http://www.mega-nerd.com/erikd/Blog/Politics/conroy.html</link>
	<description>&lt;p&gt;
The Australian Federal Minister for Communications, Stephen Conroy, may not
actually be corrupt; I certainly have no evidence that he is, but a number of
recent incidents sure look like corruption to me.
For instance:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Conroy's recommendation of a
	&lt;a href=&quot;http://news.smh.com.au/breaking-news-national/conroy-suggested-alp-staffer-for-nbn-job-20100208-nn5h.html&quot;&gt;
	former ALP Staffer&lt;/a&gt;
	for a highly paid senior position (government relations) with the National
	Broadband Network an organisation operating in the area of Conroy's
	ministry.
	&lt;/li&gt;

&lt;li&gt;
	Conroy 
	&lt;a href=&quot;http://www.smh.com.au/national/stephen-conroy-forced-to-defend-round-of-golf-with-packer-20100219-ojia.html&quot;&gt;
	playing golf with billionaire media mogul James Packer&lt;/a&gt;
	on the same day the government announced a $250 million licence fee rebate
	for free-to-air television stations (one of which is owned by Packer).
	&lt;/li&gt;
&lt;li&gt;
	Conroy
	&lt;a href=&quot;http://news.smh.com.au/breaking-news-national/conroystokes-ski-trip-not-planned-mp-20100215-o2q1.html&quot;&gt;
	skiing with media mogul Kerry Stokes in Colorado&lt;/a&gt;
	a month before the $250 million licence fee rebate was announced.
	James Packer and Kerry Stokes are the owners of 2 of the 3 main
	non-government free-to-air television stations.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
The real irony is that under
	&lt;a href=&quot;http://www.smh.com.au/opinion/society-and-culture/internet-filter-laws-need-urgent-public-debate-20091216-kwdk.html&quot;&gt;
	Conroy's proposed scheme to filter the internet in Australia&lt;/a&gt;
comments like this blog entry may end up being censored.
The problem with Conroy's filter is not that it filters porn, but rather that
the list of what is being filtered is secret and hence could easily include
web sites which contain comments which the government or the Minister for
Communications want silenced.
&lt;/p&gt;</description>
	<pubDate>Fri, 19 Feb 2010 22:01:12 +0000</pubDate>
</item>
<item>
	<title>Jeremy Visser: IPv6–enabled</title>
	<guid>http://jeremy.visser.name/?p=1399</guid>
	<link>http://jeremy.visser.name/2010/02/19/ipv6-enabled/</link>
	<description>&lt;p&gt;This blog is officially IPv6–enabled, as of a few days ago.&lt;/p&gt;
&lt;p&gt;The server-side IPv6 connectivity is admittedly powered by 6to4, which is not quite the real deal, but given that the nearest 6to4 gateway is 0.8msec away, I couldn’t very well pass the opportunity to stress test my new Linode.&lt;/p&gt;
&lt;p&gt;I’m a pretty firm believer in the fact that IPv6 adoption is absolutely essential to the continued health and function of the Internet. I’ve been IPv6 tunneling from my house for years, had &lt;a href=&quot;http://jeremy.visser.name/2009/11/14/native-ipv6-adsl-available-from-internode/&quot;&gt;native IPv6&lt;/a&gt; at my house since November, and though I’m certainly &lt;a href=&quot;http://sixy.ch/&quot;&gt;not the first&lt;/a&gt; to do so, it’s time to IPv6–enable my blog.&lt;/p&gt;</description>
	<pubDate>Fri, 19 Feb 2010 04:36:08 +0000</pubDate>
</item>
<item>
	<title>Silvia Pfeiffer: Accessibility support in Ogg and liboggplay</title>
	<guid>http://blog.gingertech.net/?p=928</guid>
	<link>http://blog.gingertech.net/2010/02/19/accessibility-support-in-ogg-and-liboggplay/</link>
	<description>&lt;p&gt;At the recent FOMS/LCA in Wellington, New Zealand, we talked a lot about how Ogg could support accessibility. Technically, this means support for multiple text tracks (subtitles/captions), multiple audio tracks (audio descriptions parallel to main audio track), and multiple video tracks (sign language video parallel to main video track).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Creating multitrack Ogg files&lt;/strong&gt;&lt;br /&gt;
The creation of multitrack Ogg files is already possible using one of the muxing applications, e.g. oggz-merge. For example, I have my own little collection of multitrack Ogg files at &lt;a href=&quot;http://annodex.net/~silvia/itext/elephants_dream/multitrack/&quot;&gt;http://annodex.net/~silvia/itext/elephants_dream/multitrack/&lt;/a&gt;. But then you are stranded with files that no player will play back.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Multitrack Ogg in Players&lt;/strong&gt;&lt;br /&gt;
As Ogg is now being used in multiple Web browsers in the new HTML5 media formats, there are in particular requirements for accessibility support for the hard-of-hearing and vision-impaired. Either multitrack Ogg needs to become more of a common case, or the association of external media files that provide synchronised accessibility data (captions, audio descriptions, sign language) to the main media file needs to become a standard in HTML5.&lt;/p&gt;
&lt;p&gt;As it turn out, both these approaches are being considered and worked on in the W3C. Accessibility data that are audio or video tracks will in the near future have to come out of the media resource itself, but captions and other text tracks will also be available from external associated elements.&lt;/p&gt;
&lt;p&gt;The availability of internal accessibility tracks in Ogg is a new use case &amp;#8211; something Ogg has been ready to do, but has not gone into common usage. MPEG files on the other hand have for a long time been used with internal accessibility tracks and thus frameworks and players are in place to decode such tracks and do something sensible with them. This is not so much the case for Ogg.&lt;/p&gt;
&lt;p&gt;For example, a current VLC build installed on Windows will display captions, because Ogg Kate support is activated. A current VLC build on any other platform, however, has Ogg Kate support deactivated in the build, so captions won&amp;#8217;t display. This will hopefully change soon, but we have to look also beyond players and into media frameworks &amp;#8211; in particular those that are being used by the browser vendors to provide Ogg support.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Multitrack Ogg in Browsers&lt;/strong&gt;&lt;br /&gt;
Hopefully gstreamer (which is what Opera uses for Ogg support) and ffmpeg (which is what Chrome uses for Ogg support) will expose all available tracks to the browser so they can expose them to the user for turning on and off. Incidentally, a &lt;a href=&quot;http://www.w3.org/WAI/PF/HTML/wiki/Media_MultitrackAPI&quot;&gt;multitrack media JavaScript API&lt;/a&gt; is in development in the W3C HTML5 Accessibility Task Force for allowing such control.&lt;/p&gt;
&lt;p&gt;The current version of Firefox uses liboggplay for Ogg support, but liboggplay&amp;#8217;s multitrack support has been sketchy this far. So, Viktor Gal &amp;#8211; the liboggplay maintainer &amp;#8211; and I sat down at FOMS/LCA to discuss this and Viktor developed some patches to make the demo player in the liboggplay package, the glut-player, support the accessibility use cases.&lt;/p&gt;
&lt;p&gt;I applied Viktor&amp;#8217;s patch to my local copy of liboggplay and I am very excited to show you the screencast of glut-player playing back a video file with an audio description track and an English caption track all in sync:&lt;/p&gt;
&lt;p&gt;elephants_dream_with_audiodescriptions_and_captions&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Further developments&lt;/strong&gt;&lt;br /&gt;
There are still important questions open: for example, how will a player know that an audio description track is to be played together with the main audio track, but a dub track (e.g. a German dub for an English video) is to be played as an alternative. Such metadata for the tracks is something that Ogg is still missing, but that Ogg can be extended with fairly easily through the use of the Skeleton track. It is something the Xiph community is now working on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;br /&gt;
This is great progress towards accessibility support in Ogg and therefore in Web browsers. And there is more to come soon.&lt;/p&gt;</description>
	<pubDate>Fri, 19 Feb 2010 01:57:34 +0000</pubDate>
</item>
<item>
	<title>James Purser: How much Australian Content is generated online</title>
	<guid>http://jamespurser.com.au/212 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/how-much-australian-content-generated-online</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;I was pondering the supposed reason behind the recent fee rebate the Government is giving to the TV networks, that Australian Content needs to be developed and played on our air waves, when a question arose.&lt;/p&gt;
&lt;p&gt;How much &amp;quot;Australian Content&amp;quot; is generated online? If you took the podcasts, blog posts, music and videos generated by Australians for online consumption, how would they stack up against the &amp;quot;Traditional Media&amp;quot;?&lt;/p&gt;
&lt;p&gt;Does anyone know if any studies have been done on this?&lt;/p&gt;
&lt;p&gt;Oh and I've added the spam module and turned off comment moderation, let's see how this goes.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Thu, 18 Feb 2010 12:22:25 +0000</pubDate>
</item>
<item>
	<title>Silvia Pfeiffer: How to display seeked position for HTML5 video</title>
	<guid>http://blog.gingertech.net/?p=921</guid>
	<link>http://blog.gingertech.net/2010/02/18/how-to-display-seeked-position-for-html5-video/</link>
	<description>&lt;p&gt;Recently, I was asked for some help on coding with an HTML5 video element and its events. In particular the question was: how do I display the time position that somebody seeked to in a video?&lt;/p&gt;
&lt;p&gt;Here is a code snipped that shows how to use the seeked event:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
&amp;lt;video onseeked=&quot;writeVideoTime(this.currentTime);&quot; src=&quot;video.ogv&quot; controls&gt;&amp;lt;/video&gt;&lt;br /&gt;
&amp;lt;p&gt;position:&amp;lt;/p&gt;&amp;lt;div id=&quot;videotime&quot;&gt;&amp;lt;/div&gt;&lt;br /&gt;
&amp;lt;script type=&quot;text/javascript&quot;&gt;&lt;br /&gt;
  // get video element&lt;br /&gt;
  var video = document.getElementsByTagName(&quot;video&quot;)[0];&lt;br /&gt;
  function writeVideoTime(t) {&lt;br /&gt;
    document.getElementById(&quot;videotime&quot;).innerHTML=t;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/script&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#mediaevents&quot;&gt;Other events&lt;/a&gt; that can be used in a similar way are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;loadstart: UA requests the media data from the server&lt;/li&gt;
&lt;li&gt;progress: UA is fetching media data from the server&lt;/li&gt;
&lt;li&gt;suspend: UA is on purpose idling on the server connection mid-fetching&lt;/li&gt;
&lt;li&gt;abort: UA aborts fetching media data from the server&lt;/li&gt;
&lt;li&gt;error: UA aborts fetching media because of a network error&lt;/li&gt;
&lt;li&gt;emptied: UA runs out of network buffered media data (I think)&lt;/li&gt;
&lt;li&gt;stalled: UA is waiting for media data from the server&lt;/li&gt;
&lt;li&gt;play: playback has begun after play() method returns&lt;/li&gt;
&lt;li&gt;pause: playback has been paused after pause() method returns&lt;/li&gt;
&lt;li&gt;loadedmetadata: UA has received all its setup information for the media resource, duration and dimensions and is ready to play&lt;/li&gt;
&lt;li&gt;loadeddata: UA can render the media data at the current playback position for the first time&lt;/li&gt;
&lt;li&gt;waiting: playback has stopped because the next frame is not available yet&lt;/li&gt;
&lt;li&gt;playing: playback has started&lt;/li&gt;
&lt;li&gt;canplay: playback can resume, but at risk of buffer underrun&lt;/li&gt;
&lt;li&gt;canplaythrough: playback can resume without estimated risk of buffer underrun&lt;/li&gt;
&lt;li&gt;seeking: seeking attribute changed to true (may be too short to catch)&lt;/li&gt;
&lt;li&gt;seeked: seeking attribute changed to false&lt;/li&gt;
&lt;li&gt;timeupdate: current playback position changed enough to report on it&lt;/li&gt;
&lt;li&gt;ended: playback stopped at media resource end; ended attribute is true&lt;/li&gt;
&lt;li&gt;ratechange: defaultPlaybackRate or playbackRate attribute have just changed&lt;/li&gt;
&lt;li&gt;durationchange: duration attribute has changed&lt;/li&gt;
&lt;li&gt;volumechange:volume attribute or the muted attribute has changed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please refer to the &lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#mediaevents&quot;&gt;actual event list in the specification&lt;/a&gt; for more details and more accurate information on the events.&lt;/p&gt;</description>
	<pubDate>Thu, 18 Feb 2010 04:29:25 +0000</pubDate>
</item>
<item>
	<title>Sonia Hamilton: I love handbrakecli (and dd_rescue)</title>
	<guid>http://soniahamilton.wordpress.com/?p=649</guid>
	<link>http://soniahamilton.wordpress.com/2010/02/17/i-love-handbrakecli-and-dd_rescue/</link>
	<description>&lt;p&gt;I watch lots of (martial arts) instructional videos. Something I&amp;#8217;ve always wanted to do is &amp;#8220;mashup&amp;#8221; my own videos ie take a few chapters from one video, a few chapters from another video. Now I know how &amp;#8211; &lt;a href=&quot;http://trac.handbrake.fr/wiki/CLIGuide&quot;&gt;handbreakcli&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;First, rip the vobs off the dvd. You can work directly off the dvd with handbreak, but working from the hard-disk is often easier. I use dd_rescue for unencrypted dvds. (For scratched dvds, I&amp;#8217;ve been using motorbike visor cleaner to remove the scratches, and &lt;a href=&quot;http://myrescue.sourceforge.net/&quot;&gt;myrescue&lt;/a&gt;).&lt;/p&gt;
&lt;pre&gt;for i in /media/cdrom/VIDEO_TS/* ; do
  j=`basename $i`
  dd_rescue $i $j
done&lt;/pre&gt;
&lt;p&gt;Use handbrakecli to scan the disk to find the titles and chapters:&lt;/p&gt;
&lt;pre&gt;./handbrake -i cd1/VIDEO_TS -t 0&lt;/pre&gt;
&lt;p&gt;Then convert to mp4&amp;#8217;s split on chapters (in this case I&amp;#8217;m taking chapters 2-18 from title 2, as individual files):&lt;/p&gt;
&lt;pre&gt;for i in `seq 2 18` ; do
  ./handbrake -i cd1/VIDEO_TS/ -t 2 -c $i -o cd1.t2.c${i}.mp4
done&lt;/pre&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;http://www.engagemedia.org&quot;&gt;EngageMedia&lt;/a&gt; for their great articles. Another good site is &lt;a href=&quot;http://www.videohelp.com&quot;&gt;videohelp.com&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/soniahamilton.wordpress.com/649/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/soniahamilton.wordpress.com/649/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/soniahamilton.wordpress.com/649/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/soniahamilton.wordpress.com/649/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/soniahamilton.wordpress.com/649/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/soniahamilton.wordpress.com/649/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/soniahamilton.wordpress.com/649/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/soniahamilton.wordpress.com/649/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/soniahamilton.wordpress.com/649/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/soniahamilton.wordpress.com/649/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=soniahamilton.wordpress.com&amp;amp;blog=1724069&amp;amp;post=649&amp;amp;subd=soniahamilton&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Wed, 17 Feb 2010 01:38:08 +0000</pubDate>
</item>
<item>
	<title>Robert Collins: Yay Dell-with-Ubuntu down under</title>
	<guid>http://rbtcollins.wordpress.com/2010/02/15/yay-dell-with-ubuntu-down-under/</guid>
	<link>http://www.advogato.org/person/robertc/diary.html?start=145</link>
	<description>&lt;br /&gt;&lt;p&gt;Dell has been offering Ubuntu on selected models for a while. I had however nearly given up hope on being able to buy one, because they hadn&amp;#8217;t started doing that in Australia. I am very glad to see this has changed though &amp;#8211; check out their &lt;a href=&quot;http://www1.ap.dell.com/content/products/results.aspx/notebooks&quot;&gt;notebook page&lt;/a&gt;. Not all models yet, but a reasonable number have Ubuntu as an option.&lt;/p&gt;
&lt;p&gt;Yay!&lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/rbtcollins.wordpress.com/242/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/rbtcollins.wordpress.com/242/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/rbtcollins.wordpress.com/242/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/rbtcollins.wordpress.com/242/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/rbtcollins.wordpress.com/242/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/rbtcollins.wordpress.com/242/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/rbtcollins.wordpress.com/242/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/rbtcollins.wordpress.com/242/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/rbtcollins.wordpress.com/242/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/rbtcollins.wordpress.com/242/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=rbtcollins.wordpress.com&amp;amp;blog=9305600&amp;amp;post=242&amp;amp;subd=rbtcollins&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Mon, 15 Feb 2010 06:12:02 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway: Problems only nerds have</title>
	<guid>http://certifiedwaif.livejournal.com/377159.html</guid>
	<link>http://certifiedwaif.livejournal.com/377159.html</link>
	<description>I'm so tired from the weekend, I read a couple of subscripts as if they were just normal script. So ln(x_k)/n became k*ln(x_k)/n in my summation over k. That didn't work very well.</description>
	<pubDate>Mon, 15 Feb 2010 04:03:20 +0000</pubDate>
</item>
<item>
	<title>Michael Fox: Rain, rain and more rain.</title>
	<guid>http://heimic.net/?p=424</guid>
	<link>http://users.heimic.net/michaelf/2010/02/14/rain-rain-and-more-rain/</link>
	<description>&lt;p&gt;Sydney has been getting a fair bit of rain of late. Each weekend we have managed to get a bit of rain too. Which means being unable to do much outside.&lt;/p&gt;
&lt;p&gt;On the upside, the grass seems to be growing so fast it&amp;#8217;s hard to believe. Problem is, you mow the lawn and then within days of doing so it&amp;#8217;s needing another mow. All we need now is for the rain to ease up a bit so that those lawns can get another trip.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;d love to be able to run the remote control car a little more, haven&amp;#8217;t had the chance to do so due to the weather. Managed a short go late today and then we got a serious storm in the late afternoon.&lt;/p&gt;
&lt;p&gt;I wish I got a video clip of the water tank overflowing. The rain was very heavy and the tank was overflowing with a very high flow rate of water. Pretty impressive to see, but shame we didn&amp;#8217;t have another tank to collect all that water. Oh well.&lt;/p&gt;
&lt;p&gt;Managed to get a replacement air compressor today and a friend gave me a tyre pressure attachment, so I can pump up my car tyres when I want. No more need to visit the garage to use the tyre pump. Sweet.&lt;/p&gt;</description>
	<pubDate>Sun, 14 Feb 2010 08:08:08 +0000</pubDate>
</item>
<item>
	<title>James Purser: Two Ministers and a Shadow</title>
	<guid>http://jamespurser.com.au/205 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/Two_Ministers_and_a_Shadow</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Let me ask you a question.&lt;/p&gt;
&lt;p&gt;Which is worse:&lt;/p&gt;
&lt;p&gt;A minister who oversees an infrastructure programme that relies upon State standards bodies to police the work (building codes being State responsibilities). Under this programme there have been a number of deaths (3) and faulty installations (houses burning down) due to participants not working to minimum standards.&lt;/p&gt;
&lt;p&gt;A minister who meets with the head of one of the very large and wealthy companies directly affected by his ministry (whilst on holidays, so not part of his official duties). Soon after this meeting, said minister announces between $250 and $500 million dollars in rebates for the industry (depending on how well said industry performs gross revenue wise).&lt;/p&gt;
&lt;p&gt;To be honest I'm not sure which one is worse.&lt;/p&gt;
&lt;p&gt;Peter Garrett has been copping a shelacking this week over the three deaths and numerous house fires that have occured as a result of the shoddy work practices of some of those taking part in the Home Insulation Programme (yes it is HIP to be square). Tony Abbott went so far as to accuse Garrett of &amp;quot;industrial manslaughter&amp;quot;, a charge normally brought against company directors who knowingly encourage work practices that lead to death in the workplace.&lt;/p&gt;
&lt;p&gt;However what no one seems to have been doing is asking the State bodies responsible for policing building and construction practices. It is their direct responsibility to ensure that their rules and regulations are followed, not the federal governments. So while Garrett can legitimately be hauled over the coals for not including regular and random checks and audits (which should have been considered over and above the State requirements), ultimately the responsibility for these tragic events lie with the businesses and State regulatory bodies.&lt;/p&gt;
&lt;p&gt;If you really want to have a go at Garrett then the green loans (with no checks to see if the money is being spent on green anything) would be a much better place to look.&lt;/p&gt;
&lt;p&gt;Let's move on to Senator Conroy shall we. Last week he announced that he would be giving the Television networks in Australia a cut in their license fees of 33% for 2010 and 50% in 2011. Given that license fees are calculated at 9% of Gross Revenue, this could mean anything between $250 million and $500 million will be gouged out of the budget for the next two years. The justification given at the time was to help preserve Australian Content, however there isn't any such condition in the rebate and Australian TV Networks are already obliged under law to carry 55% Australian content (which is why we're seeing a huge explosion in &amp;quot;Real TV&amp;quot; type programming).&lt;/p&gt;
&lt;p&gt;Now it turns out that Conroy and Channel 7 head Kerry Stokes ran into each other a month before the announcement was made. On a skiing trip in Colorado no less. Both Stokes and Conroy are refusing to say what was discussed at this meeting. For all we know they were discussing the latest in Apre Ski fashions, or possibly their chances in that nights Chalet karaoke night competition. However as both a Minister and a seasoned political operator (I don't like the man but he's managed to stay around this long), Conroy should have known better than to meet with the head of one of the major players affected by his portfolio like that.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Oh and we can't leave this week in politics without a word about everyones favourite National Party member. Barnaby has been in fine form this week, going from confusing his millyuns with his billyuns (and for those who are trying to cover for him, he's CPA, he should know the difference), to trying to spook the market by declaring that Australia is on the brink of defaulting on its foreign debt. Well done Mr Joyce. Oh and if you want to have a look at what a country that is staring default in the face looks like? Have a look at Greece.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Sun, 14 Feb 2010 00:20:01 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway: Flexibility/weird muscle imbalances</title>
	<guid>http://certifiedwaif.livejournal.com/376964.html</guid>
	<link>http://certifiedwaif.livejournal.com/376964.html</link>
	<description>As I've been doing more martial arts/active stuff, my body awareness has been increasing. Recently I've realised that when I try to stretch my left leg, I reflexively tilt my spine to the right to reduce the difficulty of the stretch, which lessens the effectiveness of the stretch (and the discomfort!). I think I got some sort of injury in my childhood and learned to compensate, and I've probably been doing it ever since. So now that I'm more aware of it, I can start to fix it.</description>
	<pubDate>Sat, 13 Feb 2010 09:57:35 +0000</pubDate>
</item>
<item>
	<title>Silvia Pfeiffer: Audio Track Accessibility for HTML5</title>
	<guid>http://blog.gingertech.net/?p=911</guid>
	<link>http://blog.gingertech.net/2010/02/12/audio-track-accessibility-for-html5/</link>
	<description>&lt;p&gt;I have talked a lot about synchronising multiple tracks of audio and video content recently. The reason was mainly that I foresee a need for more than two parallel audio and video tracks, such as audio descriptions for the vision-impaired or dub tracks for internationalisation, as well as sign language tracks for the hard-of-hearing.&lt;/p&gt;
&lt;p&gt;It is almost impossible to introduce a good scheme to deliver the right video composition to a target audience. Common people will prefer bare a/v, vision-impaired would probably prefer only audio plus audio descriptions (but will probably take the video), and the hard-of-hearing will prefer video plus captions and possibly a sign language track . While it is possible to dynamically create files that contain such tracks on a server and then deliver the right composition, implementation of such a server method has not been very successful in the last years and it would likely take many years to roll out such new infrastructure.&lt;/p&gt;
&lt;p&gt;So, the only other option we have is to synchronise completely separate media resource together as they are selected by the audience.&lt;/p&gt;
&lt;p&gt;It is this need that this HTML5 accessibility demo is about: Check out the &lt;a href=&quot;http://annodex.net/~silvia/itext/elephant_separate_audesc_dub.html&quot;&gt;demo of multiple media resource synchronisation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I created a Ogg video with only a video track (10m53s750). Then I created an audio track that is the original English audio track (10m53s696). Then I used a Spanish dub track that I found through BlenderNation as an alternative audio track (10m58s337). Lastly, I created an audio description track in the original language (10m53s706). This creates a video track with three optional audio tracks.&lt;/p&gt;
&lt;p&gt;I took away all native controls from these elements when using the HTML5 audio and video tag and ran my own stop/play and seeking approaches, which handled all media elements in one go.&lt;/p&gt;
&lt;p&gt;I was mostly interested in the quality of this experience. Would the different media files stay mostly in sync? They are normally decoded in different threads, so how big would the drift be?&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://annodex.net/~silvia/itext/elephant_separate_audesc_dub.html&quot;&gt;resulting page&lt;/a&gt; is the basis for such experiments with synchronisation.&lt;/p&gt;
&lt;p&gt;The page prints the current playback position in all of the media files at a constant interval of 500ms. Note that when you pause and then play again, I am re-synching the audio tracks with the video track, but not when you just let the files play through.&lt;/p&gt;
&lt;p&gt;I have let the files play through on my rather busy Macbook and have achieved the following interesting drift over the course of about 9 minutes:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.gingertech.net/wp-content/uploads/2010/02/elephant_multiple_files_drift.png&quot;&gt;&lt;img src=&quot;http://blog.gingertech.net/wp-content/uploads/2010/02/elephant_multiple_files_drift-300x203.png&quot; alt=&quot;Drift between multiple parallel played media elements&quot; title=&quot;elephant_multiple_files_drift&quot; width=&quot;300&quot; height=&quot;203&quot; class=&quot;size-medium wp-image-914&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You will see that the video was the slowest, only doing roughly 540s, while the Spanish dub did 560s in the same time.&lt;/p&gt;
&lt;p&gt;To fix such drifts, you can always include regular re-synchronisation points into the video playback. For example, you could set a timeout on the playback to re-sync every 500ms. Within such a short time, it is almost impossible to notice a drift. Don&amp;#8217;t re-load the video, because it will lead to visual artifacts. But do use the video&amp;#8217;s currentTime to re-set the others. (UPDATE: Actually, it depends on your situation, which track is the best choice as the main timeline. See also comments below.)&lt;/p&gt;
&lt;p&gt;It is a workable way of associating random numbers of media tracks with videos, in particular in situations where the creation of merged files cannot easily be included in a workflow.&lt;/p&gt;</description>
	<pubDate>Fri, 12 Feb 2010 10:44:43 +0000</pubDate>
</item>
<item>
	<title>Robert Collins: Using UEC instead of EC2</title>
	<guid>http://rbtcollins.wordpress.com/2010/02/11/using-uec-instead-of-ec2/</guid>
	<link>http://www.advogato.org/person/robertc/diary.html?start=144</link>
	<description>&lt;br /&gt;&lt;p&gt;So, we wanted to move a &lt;a href=&quot;http://hudson-ci.org/&quot;&gt;Hudson CI&lt;/a&gt; server at &lt;a href=&quot;http://www.canonical.com&quot;&gt;Canonical&lt;/a&gt; from using chroots to VM&amp;#8217;s (for better isolation and security), and there is this great product &lt;a href=&quot;http://www.ubuntu.com/cloud/private&quot;&gt;Ubuntu Enterprise Cloud&lt;/a&gt; (UEC &amp;#8211; basically Eucalyptus). To do this I needed to make some changes to the &lt;a href=&quot;http://wiki.hudson-ci.org/display/HUDSON/Amazon+EC2+Plugin&quot;&gt;Hudson EC2 plugin&lt;/a&gt; &amp;#8211; and thats where the fun starts. While I focus on getting Hudson up and running with UEC in this post, folk generally interested in the differences between UEC and EC2, or getting a single-machine UEC instance up for testing should also find this useful.&lt;/p&gt;
&lt;p&gt;Firstly, getting a test UEC instance installed was a little tricky &amp;#8211; I only had one machine to deploy it on, and this is an unusual configuration. Nicely though, it all worked, once a few initial bugs and misconfiguration items got fixed up. I wrote up the crux of the outcome on the &lt;a href=&quot;https://help.ubuntu.com/community/UEC/Topologies&quot;&gt;Ubuntu community help wiki&lt;/a&gt;. See &amp;#8216;1 Physical system&amp;#8217;. The particular trap to watch out for seems to be that this configuration is not well tested, so the installation scripts have a hard time getting it right. I haven&amp;#8217;t tried to make it play nice with Network Manager in the loop, but I&amp;#8217;m pretty sure that that can be done via interface aliasing or something similar.&lt;/p&gt;
&lt;p&gt;Secondly I needed to find out what was different between EC2 and UEC (Note that I was running on Karmic (Ubuntu 9.10) &amp;#8211; so things could be different in Lucid). I couldn&amp;#8217;t find a simple description of this, so this list may be incomplete:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.edge.launchpad.net/ubuntu/+source/eucalyptus/+bug/520265&quot;&gt;UEC runs an old version of the EC2 API&lt;/a&gt;. This is because it hasn&amp;#8217;t implemented everything in the new API versions yet.&lt;/li&gt;
&lt;li&gt;UEC &lt;a href=&quot;https://bugs.edge.launchpad.net/ubuntu/+source/eucalyptus/+bug/520267&quot;&gt;defaults to port 8773, not port 80&lt;/a&gt; (for both the EC2 and S3 API&amp;#8217;s)&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;https://bugs.edge.launchpad.net/ubuntu/+source/eucalyptus/+bug/520269&quot;&gt;EC2 and S3 API&amp;#8217;s are rooted differently&lt;/a&gt;: at AWS they are at /, for UEC they are at /services/Eucalyptus and /services/Walrus&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.edge.launchpad.net/ubuntu/+source/eucalyptus/+bug/520270&quot;&gt;UEC doesn&amp;#8217;t supply a SSL API port&lt;/a&gt; as far as I can tell.&lt;/li&gt;
&lt;li&gt;DescribeImages has &lt;a href=&quot;https://bugs.edge.launchpad.net/ubuntu/+source/eucalyptus/+bug/520336&quot;&gt;something wonky with it.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So the next step then is to modify the Hudson EC2 plugin to support these differences. Fortunately it is in Java, and the Java community has already updated the various libraries (jets3t and typica) to support UEC &amp;#8211; I just needed to write a UI for the differences and pass the info down the various code paths. &lt;a href=&quot;http://www.java.net/blogs/kohsuke/&quot;&gt;Kohsuke&lt;/a&gt; has let me land this now even though it has an average UI (in rev 27366), and I&amp;#8217;m going to make the UI better now by consolidating all the little aspects into a couple of URL&amp;#8217;s. Folk comfortable with building their own .hpi can get this now by svn updating and rebuilding the ec2 plugin. We&amp;#8217;ve also filed another bug &lt;a href=&quot;https://bugs.edge.launchpad.net/ubuntu/+source/eucalyptus/+bug/520645&quot;&gt;asking for a single API&lt;/a&gt; call to establish the endpoints, so that its even easier for users to set this up.&lt;/p&gt;
&lt;p&gt;Finally, and this isn&amp;#8217;t a UEC difference, I needed to modify the Hudson EC2 plugin to work with the ubuntu user rather than root, as Ubuntu AMI&amp;#8217;s ship with root disabled (as all Ubuntu installs do). I chose to have Hudson reenable root, rather than making everything work without root, because the current code paths assume they can scp things as root, so this was less disruptive.&lt;/p&gt;
&lt;p&gt;With all that done, its now possible to configure up a Hudson instance testing via UEC nodes. Here&amp;#8217;s how:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install UEC and make sure you can run up instances using euca-run-instances, ssh into them and that networking works for you. Make sure you have installed at least one image (EMI aka AMI) to run tests on. I used the vanilla in-store UEC Karmic images.&lt;/li&gt;
&lt;li&gt;Install Hudson and the EC2 plugin (you&amp;#8217;ll need to build your own until a new release (1.6) is made).&lt;/li&gt;
&lt;li&gt;Go to /configure and near the bottom click on &amp;#8216;Add a new cloud&amp;#8217; and choose Amazon EC2.&lt;/li&gt;
&lt;li&gt;Look in ~/.euca/eucarc, or in the zip file that the UEC admin web page lets you download, to get at your credentials. Fill in the Access Key and Secret Access key fields accordingly. You can put in the private key (UEC holds onto the public half) that you want to use, or (once the connection is fully setup) use the &amp;#8220;Generate Key&amp;#8217; button to have a dedicated Hudson key created. I like to use one that I can ssh into to look at a live node &amp;#8211; YMMV. (Or you could add a user and as many keys as you want in the init script &amp;#8211; more  on that in a second).&lt;/li&gt;
&lt;li&gt;Click on Advanced, this will give you a bunch of details like &amp;#8216;EC2 Endpoint hostname&amp;#8217;. Fill these out.&lt;/li&gt;
&lt;li&gt;Sensible values for a default UEC install are: 8773 for both ports, /services/Eucalyptus and /services/Walrus for the base URLs, and SSL turned off. (Note that the online help tells you this as well).&lt;/li&gt;
&lt;li&gt;Set an instance cap, unless you truely have unlimited machines. E.g. 5, to run 5 VMs at a time.&lt;/li&gt;
&lt;li&gt;Click on &amp;#8216;Test Connection&amp;#8217; &amp;#8211; it should pretty much instantly say &amp;#8216;Success&amp;#8217;.&lt;/li&gt;
&lt;li&gt;Thats the Cloud itself configured, now we configure VM&amp;#8217;s that Hudson is willing to start. Click on &amp;#8216;Add&amp;#8217; right above the &amp;#8216;List of AMIs to be launched as slaves&amp;#8217; text.&lt;/li&gt;
&lt;li&gt;Fill out the AMI with your EMI &amp;#8211; e.g. emi-E027107D is the Ubuntu 9.10 image I used.&lt;/li&gt;
&lt;li&gt;for remote FS root, just put /hudson or something, unless you have a preseeded area (e.g. with a shared bzr repo or something) inside your image.&lt;/li&gt;
&lt;li&gt;For description describe the intent of the image &amp;#8211; e.g. &amp;#8216;DB test environment&amp;#8217;&lt;/li&gt;
&lt;li&gt;For the labels put one or more tags that you will use to tell test jobs they should run on this instance. They can be the same as labels on physical machines &amp;#8211; it will act as an overflow buffer. If no physical machines exist, a VM will be spawned when needed. For testing I put &amp;#8216;euca&amp;#8217;&lt;/li&gt;
&lt;li&gt;For the init script, its a little more complex. You need to configure up java so that hudson itself can run:
&lt;pre class=&quot;brush: plain;&quot;&gt;cat &amp;gt;&amp;gt; /etc/apt/sources.list &amp;lt;&amp;lt; EOF
deb http://archive.ubuntu.com/ubuntu/ karmic multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-security multiverse
EOF
export http_proxy=http://192.168.1.1:8080/
export DEBIAN_FRONTEND=noninteractive
apt-get update
echo &amp;quot;buildd shared/accepted-sun-dlj-v1-1 boolean true&amp;quot; | debconf-set-selections
apt-get install -y -f sun-java6-jre
&lt;/pre&gt;
&lt;p&gt;Note that I have included my local HTTP proxy there &amp;#8211; just remove that line if you don&amp;#8217;t have one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt; Click on Advanced, to get at the less-common options.&lt;/li&gt;
&lt;li&gt;For remote user, put &amp;#8216;ubuntu&amp;#8217;, and for root command prefix put &amp;#8217;sudo&amp;#8217;.&lt;/li&gt;
&lt;li&gt;For number of executors, you are essentially choosing the number of CPU&amp;#8217;s that the instance will request. E.g. putting 20 will ask for an extra-large high-cpu model machine when it deploys. This will then show up as 20 workers on the same machine.&lt;/li&gt;
&lt;li&gt;Click save &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;li&gt;Now, when you add a job a new option in the job configuration will appear &amp;#8211; &amp;#8216;tie this job to a node&amp;#8217;. Select one of the label(s) you put in for the AMI, and running the job will cause that instance to start up if its not already available.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Note that Hudson will try to use java from s3 if you don&amp;#8217;t install it, but that won&amp;#8217;t work right for a few reasons &amp;#8211; I&amp;#8217;ll be filing an issue in the Hudson tracker about it, as thats a bit of unusual structure in the existing code that I&amp;#8217;m happier leaving well enough alone &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; .&lt;/p&gt;

&lt;a href=&quot;http://advogato.org/person/robertc/rss.xml&quot;&gt;&lt;img width=&quot;150&quot; height=&quot;79&quot; src=&quot;http://rbtcollins.files.wordpress.com/2010/02/uec-config.png?w=150&amp;#038;h=79&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;&quot; title=&quot;UEC config&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://advogato.org/person/robertc/rss.xml&quot;&gt;&lt;img width=&quot;150&quot; height=&quot;70&quot; src=&quot;http://rbtcollins.files.wordpress.com/2010/02/builders.png?w=150&amp;#038;h=70&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;&quot; title=&quot;dashboard with VM&amp;#039;s&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://advogato.org/person/robertc/rss.xml&quot;&gt;&lt;img width=&quot;150&quot; height=&quot;58&quot; src=&quot;http://rbtcollins.files.wordpress.com/2010/02/executors.png?w=150&amp;#038;h=58&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;&quot; title=&quot;detailed list of VM&amp;#039;s&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://advogato.org/person/robertc/rss.xml&quot;&gt;&lt;img width=&quot;150&quot; height=&quot;107&quot; src=&quot;http://rbtcollins.files.wordpress.com/2010/02/new-node.png?w=150&amp;#038;h=107&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;&quot; title=&quot;manually run instance&quot; /&gt;&lt;/a&gt;

  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/rbtcollins.wordpress.com/225/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/rbtcollins.wordpress.com/225/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/rbtcollins.wordpress.com/225/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/rbtcollins.wordpress.com/225/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/rbtcollins.wordpress.com/225/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/rbtcollins.wordpress.com/225/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/rbtcollins.wordpress.com/225/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/rbtcollins.wordpress.com/225/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/rbtcollins.wordpress.com/225/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/rbtcollins.wordpress.com/225/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=rbtcollins.wordpress.com&amp;amp;blog=9305600&amp;amp;post=225&amp;amp;subd=rbtcollins&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Thu, 11 Feb 2010 21:14:40 +0000</pubDate>
</item>
<item>
	<title>Matthew Palmer: Using Virgin Mobile Broadband with wvdial</title>
	<guid>http://hezmatt.org/~mpalmer/blog/general/using_virgin_mobile_broadband_with_wvdial</guid>
	<link>http://www.hezmatt.org/~mpalmer/blog/general/using_virgin_mobile_broadband_with_wvdial.html</link>
	<description>&lt;p&gt;
&lt;em&gt;File Under:&lt;/em&gt; Stuff I'm guaranteed to forget if I don't write it down
&lt;/p&gt;
&lt;p&gt;
I just went a bit wild and decided to get myself some mobile broadband love
-- I'm finding that I crave a bit of light 'net when I'm out and about, and
an impending change in circumstances will mean that I'm out and about a lot
more than I am currently.
&lt;/p&gt;
&lt;p&gt;
I have:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Hardware:&lt;/b&gt; Huawei E160e USB dongle, USB ID 12d1:1003&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Provider:&lt;/b&gt; Virgin Mobile Australia &lt;b&gt;Prepaid&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;OS:&lt;/b&gt; Debian GNU/Linux 5.0 with an upgraded 2.6.32 kernel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
My wvdial.conf stanza looks like:
&lt;/p&gt;
&lt;pre&gt;
[Dialer virgin]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0
Init3 = AT+CGDCONT=1,&quot;IP&quot; &quot;VirginBroadband&quot;
Stupid Mode = 1
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB0
Modem Type = USB Modem
Username = irrelevant
Dial Command = ATDT
Password = irrelevant
Baud = 460800
&lt;/pre&gt;
&lt;p&gt;
I also had to disable CHAP (by putting &lt;tt&gt;-chap&lt;/tt&gt; in
&lt;tt&gt;/etc/ppp/options&lt;/tt&gt;, although I suspect the same would have worked in
&lt;tt&gt;/etc/ppp/peers/wvdial&lt;/tt&gt;).
&lt;/p&gt;
&lt;p&gt;
After that, a simple &lt;tt&gt;sudo wvdial virgin&lt;/tt&gt; and I was away.
&lt;/p&gt;
&lt;p&gt;
Scarily enough, there was actually some &lt;a href=&quot;http://virginmobile.custhelp.com/app/answers/detail/a_id/57/~/supported-usb-mobile-broadband-modems&quot;&gt;useful
information&lt;/a&gt; on the Virgin support site regarding the settings, which
helped me confirm that I was on the right track.  I have no doubt that the
universe will find some alternate means of punishing me down the line.
&lt;/p&gt;</description>
	<pubDate>Wed, 10 Feb 2010 04:05:00 +0000</pubDate>
</item>
<item>
	<title>James Purser: Friendly Fire on the Open Internet Front</title>
	<guid>http://jamespurser.com.au/204 at http://jamespurser.com.au</guid>
	<link>http://jamespurser.com.au/blog/Friendly_Fire_on_the_Open_Internet_Front</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;You know something, there are a lot of us working to try and educate and inform our family, friends and communities about the dangers and inadequacies of the proposed mandatory ISP filtering scheme. We're actually talking to people, explaining the issues as they stand and answering questions.&lt;/p&gt;
&lt;p&gt;We're also trying to get the media to move away from the over-simplistic &amp;quot;It's all about the Child Porn&amp;quot; angle to look at the real problems with the scheme.&lt;/p&gt;
&lt;p&gt;All that work however is being hampered by the kind of activities conducted today by a group of people calling themselves Anonymous. In their wisdom, they decided that they needed to take more direct action. So, in the spirit of attacking censorship on the internet they declared they would be attempting a Denial of Service attack on a number of Government web sites, and at the same time conducting a &amp;quot;blackfax&amp;quot; campaign and other activities of a similar type against various Government offices.&lt;/p&gt;
&lt;p&gt;In essence they were going to declare to the Australian government that any attempt to bring regulation &amp;nbsp;to the internet would be met with attacks on government infrastructure.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This sort of short sighted ill thought out protest annoys me on a couple of levels. Firstly it cuts the ground out from under those of us who have been working for a long time to try and change this policy. By acting in such an irresponsible manner, Anonymous has given the media a sensational angle which has and will be used to counter the more cogent and reasoned arguments against the filter. Now, along side the infamous &amp;quot;If you're against the filter you must be for Child Porn&amp;quot; we'll have &amp;quot;Opponents against the filter are evil hackers only concerned with getting access to porn&amp;quot;.&lt;/p&gt;
&lt;p&gt;Secondly, speaking as a system-administrator and IT worker, these sort of attacks annoy the living hell out of me. The create work, not for the people responsible for the policy you are protesting against, but for the IT staff instead. Not only do they have to deal with the immediate effects of the protest (infrastructure issues and so on), but they also have to spend many hours after any such attack ensuring that nothing more sinister than a DoS was conducted against their infrastructure.&lt;/p&gt;
&lt;p&gt;So in the end, Anonymous will have brought attention to themselves, created a link between the Open Internet movement and illegal protests and generally caused problems for everyone concerned.&lt;/p&gt;
&lt;p&gt;If only they could get involved in the discussion rather than standing outside yelling obscenities.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Wed, 10 Feb 2010 02:57:16 +0000</pubDate>
</item>
<item>
	<title>Mark Greenaway</title>
	<guid>http://certifiedwaif.livejournal.com/376580.html</guid>
	<link>http://certifiedwaif.livejournal.com/376580.html</link>
	<description>Dear Judoka of the world,&lt;br /&gt;&lt;br /&gt;If you're going to be doing ground fighting/ne waza, please brush your teeth.&lt;br /&gt;&lt;br /&gt;Your pal,&lt;br /&gt;Mark</description>
	<pubDate>Wed, 10 Feb 2010 01:16:51 +0000</pubDate>
</item>
<item>
	<title>Robert Collins: Is a code of silence evil?</title>
	<guid>http://rbtcollins.wordpress.com/2010/02/09/google-apps-code-of-silence/</guid>
	<link>http://www.advogato.org/person/robertc/diary.html?start=143</link>
	<description>&lt;br /&gt;&lt;p&gt;Looking at using google apps for my home email, as I want to be able to have my home machines totally turned off from time to time.&lt;/p&gt;
&lt;p&gt;Found this interesting gem in the sign up agreement (which I have not yet agreed to &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;wp-smiley&quot; /&gt; ):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;11. PR.  Customer agrees not to issue any public announcement regarding  the existence or content of this Agreement without Google&amp;#8217;s prior  written approval.  Google may (i) include Customer&amp;#8217;s Brand Features in  presentations, marketing materials, and customer lists (which includes,  without limitation, customer lists posted on Google&amp;#8217;s web sites and  screen shots of Customer&amp;#8217;s implementation of the Service) and (ii) issue  a public announcement regarding the existence or content of this  Agreement.  Upon Customer&amp;#8217;s request, Google will furnish Customer with a  sample of such usage or announcement.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This is rather asymmetrical: If I agree to the sign up page, I cannot say &amp;#8216;I am using google apps&amp;#8217;, but google can say &amp;#8216;Robert is using google apps&amp;#8217;. While I can appreciate not wanting to be dissed on if something goes wrong, this is very much not open! A couple of implications: Everyone seeking support for google apps in the &lt;a href=&quot;http://www.google.com/support/forum/p/Google+Apps?hl=en&quot;&gt;apps forums&lt;/a&gt; is probably in violation of the sign up agreement; we can assume that anyone having a terrible experience has been squelched under this agreement.&lt;/p&gt;
&lt;p&gt;Le sigh.&lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/rbtcollins.wordpress.com/223/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/rbtcollins.wordpress.com/223/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/rbtcollins.wordpress.com/223/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/rbtcollins.wordpress.com/223/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/rbtcollins.wordpress.com/223/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/rbtcollins.wordpress.com/223/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/rbtcollins.wordpress.com/223/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/rbtcollins.wordpress.com/223/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/rbtcollins.wordpress.com/223/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/rbtcollins.wordpress.com/223/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=rbtcollins.wordpress.com&amp;amp;blog=9305600&amp;amp;post=223&amp;amp;subd=rbtcollins&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Tue, 09 Feb 2010 09:07:27 +0000</pubDate>
</item>

</channel>
</rss>
