<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>s9y testdrive</title>
    <link>http://nerdbynature.de/s9y/</link>
    <description>(who took the 'we' out of weblog?)</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.7-alpha1 - http://www.s9y.org/</generator>
    
    

<item>
    <title>openSUSE dependency madness</title>
    <link>http://nerdbynature.de/s9y/?289</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?289#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=289</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=289</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    No, I&#039;m not bored - just curious what the &lt;a href=&quot;http://distrowatch.com/&quot; title=&quot;distrowatch.com&quot;&gt;other camps&lt;/a&gt; are up to. This time: &lt;a href=&quot;http://software.opensuse.org/121&quot; title=&quot;openSUSE 12.1&quot;&gt;openSUSE 12.1&lt;/a&gt;. Of course, after a minimal installation a few things are missing. &lt;a href=&quot;http://software.opensuse.org/search?q=&quot;man&quot;&amp;baseproject=openSUSE%3A12.1&quot; title=&quot;openSUSE Package Search&quot;&gt;Manpages&lt;/a&gt;, for example. But what the hell is this:

&lt;pre&gt;
   $ zypper install man
   The following NEW packages are going to be installed:
     cups-libs fontconfig ghostscript-fonts-other ghostscript-fonts-std 
     ghostscript-library groff groff-devx lcms libfreetype6 libgimpprint
     libjpeg62 liblcms1 libpng14-14 libtiff3 man 

   The following recommended packages were automatically selected:
     ghostscript-fonts-other ghostscript-library 

   15 new packages to install.
   Overall download size: 14.9 MiB. After the operation, additional 67.8 MiB will be used.
&lt;/pre&gt;

15 new packages, almost 70 MB for a bunch of text files. And why would I need &lt;code&gt;cups-libs&lt;/code&gt; or &lt;code&gt;libjpeg62&lt;/code&gt;? Luckily, &lt;code&gt;zypper&lt;/code&gt; too can be tought not to install &lt;i&gt;recommended&lt;/i&gt; packages:

&lt;pre&gt;
   $ zypper install &lt;font color=&quot;blue&quot;&gt;--no-recommends&lt;/font&gt; man
   The following NEW packages are going to be installed:
     groff man 

   2 new packages to install.
   Overall download size: 2.4 MiB. After the operation, additional 10.0 MiB will be used.
&lt;/pre&gt;

Much better :-)

There&#039;s an &lt;code&gt;installRecommends&lt;/code&gt; switch in &lt;code&gt;/etc/zypp/zypper.conf&lt;/code&gt;, but this was not honored by &lt;code&gt;zypper 1.6.18&lt;/code&gt; :-\ &lt;br/&gt;&lt;br/&gt;

Sadly, this does not help with all packages:

&lt;pre&gt;
   $ zypper install --no-recommends nginx
   The following NEW packages are going to be installed:
     fontconfig gd libfreetype6 libGeoIP1 libjpeg62 libpng14-14 libxslt1 nginx-1.0 
     xorg-x11-libICE xorg-x11-libSM xorg-x11-libX11 xorg-x11-libXau 
     xorg-x11-libxcb xorg-x11-libXext xorg-x11-libXpm xorg-x11-libXt 

   16 new packages to install.
   Overall download size: 3.0 MiB. After the operation, additional 11.8 MiB will be used.
&lt;/pre&gt;

&lt;a href=&quot;http://nerdbynature.de/s9y/uploads/orly.jpg&quot;&gt;Really?&lt;/a&gt; openSUSE has &lt;a href=&quot;https://bugzilla.novell.com/show_bug.cgi?id=684588&quot; title=&quot;Bug 684588 - nginx package dependencies includes apache and xorg libs&quot;&gt;bundled&lt;/a&gt; a &lt;i&gt;webserver&lt;/i&gt; with &lt;a href=&quot;http://www.x.org/&quot;&gt;Xorg&lt;/a&gt; libraries? Sigh... I can already smell the b0rkage when the next update is due and &lt;a href=&quot;http://en.opensuse.org/Portal:Zypper&quot;&gt;zypper&lt;/a&gt; is trying to untangle all the dependencies for every friggin&#039; package ever installed because of insane dependencies like this. 
    </content:encoded>

    <pubDate>Sat, 04 Feb 2012 04:38:05 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?289</guid>
    
</item>
<item>
    <title>No sound in MacOS 10.7?</title>
    <link>http://nerdbynature.de/s9y/?288</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?288#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=288</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=288</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    Well, now that more and more &lt;a href=&quot;http://nerdbynature.de/s9y/uploads/1238856994318.jpg&quot; title=&quot;MacOS explained&quot;&gt;fanboys&lt;/a&gt; have upgraded to 10.7, the forums are &lt;a href=&quot;https://duckduckgo.com/?q=no+sound+mac+os+lion&quot; title=&quot;no sound mac os lion&quot;&gt;full of it&lt;/a&gt;: sometimes it happens that &lt;i&gt;sound&lt;/i&gt; stops working in MacOS Lion.&lt;br/&gt;

As it &lt;a href=&quot;https://discussions.apple.com/message/15659954#15659954&quot;&gt;turns out&lt;/a&gt;, restarting &lt;code&gt;coreaudiod&lt;/code&gt; is all it takes to get it working again:&lt;br/&gt;

&lt;pre&gt;
$ launchctl list | grep audio
&lt;font color=&quot;green&quot;&gt;7159&lt;/font&gt;    -       com.apple.audio.coreaudiod

$ launchctl stop com.apple.audio.coreaudiod

$ sudo launchctl list | grep audio
&lt;font color=&quot;green&quot;&gt;7589&lt;/font&gt;    -       com.apple.audio.coreaudiod
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Wed, 01 Feb 2012 10:41:47 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?288</guid>
    
</item>
<item>
    <title>XCode: You have updates available for other accounts</title>
    <link>http://nerdbynature.de/s9y/?287</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?287#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=287</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=287</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    Logged in to my &lt;a href=&quot;https://www.apple.com/mac/app-store/&quot;&gt;Mac App Store&lt;/a&gt; account today, the &lt;i&gt;&quot;Purchases&quot;&lt;/i&gt; tab greeted me with an update for &lt;a href=&quot;https://developer.apple.com/xcode/&quot; title=&quot;Xcode&quot;&gt;Xcode&lt;/a&gt;. However, &lt;i&gt;clicking&lt;/i&gt; on it only resulted in the following:

&lt;pre&gt;
  You have updates available for other accounts.
  Sign into the account you used to purchase it.
&lt;/pre&gt;

Huh? I don&#039;t have any other accounts. One Apple account is more than enough :-\ &lt;br/&gt;

So, what&#039;s the deal here? Luckily, &lt;a href=&quot;http://mettadore.com/analysis/xcode-you-have-updates-available-for-other-accounts/&quot; title=&quot;XCode: You have updates available for other accounts&quot;&gt;others&lt;/a&gt; had similar &lt;a href=&quot;http://www.ngpixel.com/2011/06/25/mac-app-store-you-have-updates-available-for-the-other-accounts-bug/&quot; title=&quot;Mac App Store – You have updates available for other accounts bug&quot;&gt;issues&lt;/a&gt; and a &lt;a href=&quot;https://discussions.apple.com/thread/2795748&quot; title=&quot;Xcode 4.0.1 in App Store; how do I update from Xcode 4.0?&quot;&gt;solution&lt;/a&gt; as well. Either one should do:

&lt;ul&gt;
&lt;li&gt;Delete or move &lt;code&gt;/Applications/Install Xcode.app&lt;/code&gt; resp. &lt;code&gt;Install XCode.dmg&lt;/code&gt;, usually found in &lt;code&gt;/Applications&lt;/code&gt; as well. Then try again to update &lt;code&gt;Xcode&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Refresh your &lt;i&gt;Spotlight&lt;/i&gt; index. I.e. add/remove your system disk to the index, then try again to update.&lt;/li&gt;
&lt;/li&gt; 
    </content:encoded>

    <pubDate>Mon, 23 Jan 2012 03:47:26 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?287</guid>
    
</item>
<item>
    <title>MacOS X automount</title>
    <link>http://nerdbynature.de/s9y/?286</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?286#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=286</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=286</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    Sure, &lt;code&gt;Disk Utility.app&lt;/code&gt; can be used to &lt;a href=&quot;http://hints.macworld.com/article.php?story=20090830073912179&quot; title=&quot;10.6: Add NFS Mounts using Disk Utility&quot;&gt;set up NFS mounts&lt;/a&gt;. But as long as &lt;a href=&quot;https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/automount.8.html&quot; title=&quot;automount(8)&quot;&gt;automount(8)&lt;/a&gt; is supported in MacOS X, let&#039;s use this for a more general approach:&lt;br/&gt;&lt;br/&gt;

Create the mount points first, both for SMB and NFS:

&lt;pre&gt;
  $ mkdir /mnt/{nfs,smb}/{a,b}
&lt;/pre&gt;

Then we create automount &#039;&#039;maps&#039;&#039; for each protocol:

&lt;pre&gt;
 $ cat /etc/auto_nfs 
 /mnt/nfs/a -fstype=nfs,rw,resvport 10.0.0.10:/export/foo
 /mnt/nfs/b -fstype=nfs,ro,resvport 10.0.0.10:/export/bar
 
 $ cat /etc/auto_smb 
 /mnt/smb/a -fstype=smbfs,rw ://10.0.0.10/foo
 /mnt/smb/b -fstype=smbfs,ro ://10.0.0.10/bar
&lt;/pre&gt;

With that in place, we have to include both files in &lt;a href=&quot;https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man5/auto_master.5.html#//apple_ref/doc/man/5/auto_master&quot; title=&quot;auto_master(5)&quot;&gt;auto_master(5)&lt;/a&gt;

&lt;pre&gt;
 $ grep -v ^# /etc/auto_master
 +auto_master            # Use directory service
 /-                      auto_smb
 /-                      auto_nfs
&lt;/pre&gt;

Tell &lt;tt&gt;automountd(8)&lt;/tt&gt; to flush any cached information:

&lt;pre&gt;
 $ automount -v -c
&lt;/pre&gt;

Sometimes it&#039;s necessary to restart &lt;tt&gt;automountd&lt;/tt&gt;:

&lt;pre&gt;
 $ launchctl stop  com.apple.automountd
 $ launchctl start com.apple.automountd
&lt;/pre&gt;

Now the shares should be mounted automatically upon access. 
    </content:encoded>

    <pubDate>Sun, 22 Jan 2012 10:44:43 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?286</guid>
    
</item>
<item>
    <title>January 18: Internet-Wide Protests Against the Blacklist Legislation</title>
    <link>http://nerdbynature.de/s9y/?285</link>
            <category>Land of the free</category>
    
    <comments>http://nerdbynature.de/s9y/?285#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=285</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=285</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    &lt;a href=&quot;https://blacklist.eff.org/&quot;&gt;&lt;img src=&quot;http://nerdbynature.de/s9y/uploads/blacklist-2b.png&quot;&gt;&lt;/a&gt;

&lt;br/&gt;&lt;br/&gt;
&lt;small&gt;Whooha, auch der &lt;a href=&quot;https://www.ccc.de/&quot;&gt;CCC macht mit!&lt;/a&gt;&lt;/small&gt;

&lt;br/&gt;&lt;br/&gt;
Update: &lt;a href=&quot;http://theoatmeal.com/&quot;&gt;theoatmeal.com&lt;/a&gt; had a good &lt;a href=&quot;http://americancensorship.org/infographic.html&quot;&gt;explanation&lt;/a&gt; why &lt;a href=&quot;http://gizmodo.com/5877000/what-is-sopa&quot;&gt;SOPA/PIPA&lt;/a&gt; is not a good idea:&lt;br/&gt;&lt;br/&gt;

&lt;center&gt;
&lt;a href=&quot;http://theoatmeal.com/sopa&quot;&gt;&lt;img src=&quot;http://nerdbynature.de/s9y/uploads/sopa.gif&quot; title=&quot;theoatmeal.com/sopa&quot; alt=&quot;theoatmeal.com/sopa&quot;/&gt;&lt;/a&gt;
&lt;/center&gt; 
    </content:encoded>

    <pubDate>Wed, 18 Jan 2012 08:00:00 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?285</guid>
    
</item>
<item>
    <title>Ignoring unknown extended header keyword `SCHILY.dev'</title>
    <link>http://nerdbynature.de/s9y/?284</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?284#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=284</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=284</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    While extracting a tarball, &lt;a href=&quot;http://www.gnu.org/s/tar/&quot;&gt;GNU/tar&lt;/a&gt; told me:

&lt;pre&gt;
Ignoring unknown extended header keyword `SCHILY.dev&#039;
Ignoring unknown extended header keyword `SCHILY.ino&#039;
Ignoring unknown extended header keyword `SCHILY.nlink&#039;
&lt;/pre&gt;

Hm, what does that remind me of? Ah, &lt;a href=&quot;http://cdrecord.berlios.de/old/private/star.html&quot;&gt;star&lt;/a&gt;! Digging in the &lt;a href=&quot;ftp://ftp.berlios.de/pub/star/&quot;&gt;bits&lt;/a&gt; still left on &lt;a href=&quot;http://developer.berlios.de/forum/forum.php?forum_id=37533&quot; title=&quot;BerliOS continues - non-profit association is founded&quot;&gt;BerliOS&lt;/a&gt;, there seems to be something what looks like a POSIX proposal:

&lt;pre&gt;
$ cat star/README.posix-2001
[...]
        Star supports the following fields in the extended header:
[...]
        Vendor unique:
        &quot;SCHILY.devmajor&quot; &quot;SCHILY.devminor&quot;     (create/extract)

        In -dump mode (a preparation for incremental dumps) star archives:

        &quot;SCHILY.dev&quot;            The field stat.st_dev   - the filesys indicator
        &quot;SCHILY.ino&quot;            The field stat.st_ino   - the file ID #
        &quot;SCHILY.nlink&quot;          The field stat.st_nlink - the hard link count
        &quot;SCHILY.filetype&quot;       The real file type      - this allows e.g.
                                                              socket/door
&lt;/pre&gt;

Wow. Alas, these headers remain unrecognized in GNU/&lt;code&gt;tar&lt;/code&gt;, hence the (benign) warnings. 
    </content:encoded>

    <pubDate>Wed, 18 Jan 2012 07:42:00 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?284</guid>
    
</item>
<item>
    <title>test -w</title>
    <link>http://nerdbynature.de/s9y/?283</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?283#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=283</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=283</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    Learn something new every day: I&#039;m trying to &lt;a href=&quot;http://pubs.opengroup.org/onlinepubs/009604499/utilities/test.html&quot;&gt;test&lt;/a&gt; if a directory on a different filesystem is writable. Instead of &lt;i&gt;really&lt;/i&gt; writing to it (e.g. by using &lt;code&gt;touch(1)&lt;/code&gt;), I wanted to &lt;i&gt;test&lt;/i&gt; with &lt;code&gt;-w&lt;/code&gt;:

&lt;pre&gt;
$ ls -ld /mnt/usb/foo
drwx------ 13 root root 4096 Jan  1 15:38 /mnt/usb/foo

$ [ -w /mnt/usb/foo ]; echo $?
&lt;font color=&quot;red&quot;&gt;1&lt;/font&gt;
&lt;/pre&gt;

OK, &lt;code&gt;/mnt/usb/foo&lt;/code&gt; is &lt;i&gt;not&lt;/i&gt; writable, because &lt;code&gt;/mnt/usb&lt;/code&gt; was mounted read-only at this point. But look what &lt;a href=&quot;http://gondor.apana.org.au/~herbert/dash/&quot;&gt;dash(1)&lt;/a&gt; thinks of this:

&lt;pre&gt;
$ [ -w /mnt/usb/foo ]; echo $?
&lt;font color=&quot;red&quot;&gt;0&lt;/font&gt;
&lt;/pre&gt;

Huh? But the &lt;a href=&quot;http://linux.die.net/man/1/dash&quot;&gt;manpage&lt;/a&gt; explains:

&lt;pre&gt;
-w file  True if file exists and is writable. True indicates only that the write flag is on.
         The file is not writable on a read-only file system even if this test indicates true.
&lt;/pre&gt;

...whereas &lt;a href=&quot;http://linux.die.net/man/1/bash&quot;&gt;bash(1)&lt;/a&gt; only states:

&lt;pre&gt;
-w file  True if file exists and is writable.
&lt;/pre&gt;

&lt;a href=&quot;http://www.zsh.org/&quot;&gt;Zsh&lt;/a&gt; and &lt;a href=&quot;http://www.kornshell.com/doc/ksh93.html&quot;&gt;ksh93&lt;/a&gt; behave just as &lt;code&gt;bash&lt;/code&gt; - that is returning &lt;font color=&quot;red&quot;&gt;1&lt;/font&gt; when the file is not writable, even though its &lt;i&gt;permissions&lt;/i&gt; would allow for writes. Note that &lt;code&gt;&lt;a href=&quot;https://www.gnu.org/software/coreutils/&quot;&gt;/usr/bin/test&lt;/a&gt;&lt;/code&gt; is shell-specific as well! 
    </content:encoded>

    <pubDate>Tue, 03 Jan 2012 02:09:50 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?283</guid>
    
</item>
<item>
    <title>patchadd: Not enough space in /var/run to copy overlay objects.</title>
    <link>http://nerdbynature.de/s9y/?282</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?282#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=282</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=282</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    When &lt;a href=&quot;http://www.par.univie.ac.at/solaris/pca/&quot; title=&quot;Patch Check Advanced&quot;&gt;pca&lt;/a&gt; wanted to install &lt;a href=&quot;http://wesunsolve.net/patch/id/144500-19&quot; title=&quot;SunOS 5.10: Solaris kernel patch&quot;&gt;144500-19&lt;/a&gt;, &lt;code&gt;patchadd&lt;/code&gt; aborted with:

&lt;pre&gt;
Running patchadd
Validating patches...
Loading patches installed on the system...
Done!
Loading patches requested to install.
[...]
Checking patches that you specified for installation.

Done!
Unable to install patch. Not enough space in /var/run to copy overlay objects.
 401MB needed, 220MB available.

Failed (exit code 1)
&lt;/pre&gt;

Well, this &lt;a href=&quot;http://docs.oracle.com/cd/E19088-01/250.srvr/index.html&quot; title=&quot;Sun Enterprise 250 Server&quot;&gt;Sun Enterprise 250&lt;/a&gt; only has 768 MB memory, not too much in these days. Let&#039;s &lt;a href=&quot;https://forums.oracle.com/forums/thread.jspa?messageID=8160785&quot; title=&quot;Solaris 10 11/06 installing 120011-14 kernel patch issue&quot;&gt;add&lt;/a&gt; some &lt;i&gt;virtual&lt;/i&gt; memory then:

&lt;pre&gt;
# mkfile 1g /var/tmp/swap.tmp
# swap -a /var/tmp/swap.tmp
/var/tmp/swap.tmp: Invalid operation for this filesystem type
&lt;/pre&gt;

Oh, right - we&#039;re on ZFS already. Let&#039;s &lt;a href=&quot;http://www.unix.com/solaris/123373-how-can-i-increase-size-tmp-directory.html&quot; title=&quot;How can I increase size of /tmp directory &quot;&gt;try&lt;/a&gt; again:

&lt;pre&gt;
# rm /var/tmp/swap.tmp
# zfs create -V 1gb rpool/tmpswap
# swap -a /dev/zvol/dsk/rpool/tmpswap
# df -h /var/run
Filesystem             size   used  avail capacity  Mounted on
swap                   1.4G   107M   1.3G     8%    /var/run
&lt;/pre&gt;

Now we should be good to go :-)&lt;br/&gt;&lt;br/&gt;

Oh, and regarding those &lt;i&gt;&quot;overlay objects in /var/run&quot;&lt;/i&gt; mentioned above: once &lt;a href=&quot;http://docs.oracle.com/cd/E19253-01/816-5166/patchadd-1m/index.html&quot;&gt;patchadd(1M)&lt;/a&gt; is running, take a look:

&lt;pre&gt;
# df -h | grep -c /var/run
991
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Sun, 11 Dec 2011 09:03:23 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?282</guid>
    
</item>
<item>
    <title>The Holiday Rapist</title>
    <link>http://nerdbynature.de/s9y/?281</link>
            <category>Land of the free</category>
    
    <comments>http://nerdbynature.de/s9y/?281#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=281</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=281</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    &lt;head&gt;
	&lt;title&gt;Wow! This is video!&lt;/title&gt;
	&lt;script src=&quot;/flowplayer/example/flowplayer-3.2.6.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
Get it right, folks:&lt;br/&gt;&lt;br/&gt;
&lt;a 
	href=&quot;http://nerdbynature.de/s9y/uploads/209-22.m4v&quot; 
	style=&quot;display:block;width:425px;height:300px;&quot; 
	id=&quot;player&quot;&gt;
&lt;/a&gt;

&lt;script language=&quot;JavaScript&quot;&gt;
	flowplayer(&quot;player&quot;, &quot;/flowplayer/flowplayer-3.2.7.swf&quot;, {
	clip: { autoPlay: false, autoBuffering: true },
});
&lt;/script&gt;
&lt;br/&gt;
&lt;small&gt;Oh, yeah...it&#039;s all ™ and © by &lt;a href=&quot;http://www.fox.com/familyguy/&quot;&gt;FOX and its related entities&lt;/a&gt;, of course.&lt;/small&gt;
&lt;/body&gt; 
    </content:encoded>

    <pubDate>Mon, 05 Dec 2011 07:43:29 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?281</guid>
    
</item>
<item>
    <title>VirtualBox &amp; SysRq</title>
    <link>http://nerdbynature.de/s9y/?280</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?280#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=280</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=280</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    Sometimes I need to send &lt;a href=&quot;http://www.mjmwired.net/kernel/Documentation/sysrq.txt&quot; title=&quot;Documentation/sysrq.txt&quot;&gt;sysrq&lt;/a&gt; keys to a Linux &lt;a href=&quot;https://forums.virtualbox.org/viewtopic.php?f=6&amp;t=10400#p207674&quot; title=&quot;Magic sysrq on Linux guest, under a Linux host&quot;&gt;virtual machine&lt;/a&gt; and I always forget &lt;a href=&quot;http://www.halfdog.net/Misc/TipsAndTricks/VirtualBox.html#MagicSysrq&quot; title=&quot;VirtualBox: Running, Debugging&quot;&gt;how to do this&lt;/a&gt;, so here it is:

&lt;pre&gt;
  VBoxManage controlvm &amp;lt;VM&amp;gt; keyboardputscancode &lt;font color=&quot;green&quot;&gt;1d 38 54&lt;/font&gt; &amp;lt;PRESS&amp;gt; &amp;lt;RELEASE&amp;gt; &lt;font color=&quot;green&quot;&gt;d4 b8 9d&lt;/font&gt;
&lt;/pre&gt;

The &lt;code&gt;PRESS&lt;/code&gt; and &lt;code&gt;RELEASE&lt;/code&gt; values are derived from the &lt;a href=&quot;http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html#ss1.4&quot; title=&quot;Keyboard scancodes: Ordinary scancodes (Andries Brouwer)&quot;&gt;scancodes&lt;/a&gt;: The &lt;code&gt;PRESS&lt;/code&gt; value is the bare scancode, the &lt;code&gt;RELEASE&lt;/code&gt; value is the &lt;code&gt;PRESS&lt;/code&gt; value &lt;i&gt;plus&lt;/i&gt; &lt;code&gt;0x80&lt;/code&gt;.&lt;br/&gt;&lt;br/&gt;

So, to send a &lt;code&gt;&quot;s&quot;&lt;/code&gt; (to &lt;code&gt;&lt;i&gt;S&lt;/i&gt;ync&lt;/code&gt; the filesystems), the scancode would be &lt;code&gt;0x1F&lt;/code&gt;. And &lt;code&gt;0x1F + 0x80&lt;/code&gt; equals &lt;code&gt;9F&lt;/code&gt;, this would be the scancode for releasing the key. Putting this all together, sending &lt;code&gt;sysrq-s&lt;/code&gt; to the virtual machine goes like this:

&lt;pre&gt;
  VBoxManage controlvm &amp;lt;VM&amp;gt; keyboardputscancode &lt;font color=&quot;green&quot;&gt;1D 38 54&lt;/font&gt; &lt;font color=&quot;blue&quot;&gt;1F 9F&lt;/font&gt; &lt;font color=&quot;green&quot;&gt;D4 B8 9D&lt;/font&gt;
&lt;/pre&gt;

Note: Be sure to set &lt;code&gt;kernel.sysrq = 1&lt;/code&gt; in your Linux guest machine, so that sysrq-keycodes are actually honored by the guest.&lt;br/&gt;&lt;br/&gt;

&lt;a href=&quot;http://www.virtualbox.org/manual/ch08.html&quot; title=&quot;VBoxManage: Commands overview&quot;&gt;This&lt;/a&gt; can also be used to &lt;a href=&quot;http://blog.frameos.org/2011/06/08/changing-linux-terminals-in-virtualbox-using-vboxmanage/&quot; title=&quot;Switching Linux terminals in VirtualBox using VBoxManage&quot;&gt;switch to a different terminal&lt;/a&gt; (if you have a VirtualBox console window open):

&lt;pre&gt;
  VBoxManage controlvm &amp;lt;VM&amp;gt; keyboardputscancode 1d 38 &lt;font color=&quot;blue&quot;&gt;3b&lt;/font&gt;
&lt;/pre&gt;

This is the equivalent to &lt;code&gt;Ctrl-Alt-F1&lt;/code&gt; and would switch to the first terminal. Iterate &lt;code&gt;0x3b&lt;/code&gt; up to &lt;code&gt;0x42&lt;/code&gt; to switch up to &lt;code&gt;Ctrl-Alt-F8&lt;/code&gt;. 
    </content:encoded>

    <pubDate>Thu, 01 Dec 2011 23:28:30 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?280</guid>
    
</item>
<item>
    <title>Error: Protected multilib versions</title>
    <link>http://nerdbynature.de/s9y/?279</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?279#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=279</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=279</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    Did I say that I don&#039;t like &lt;a href=&quot;https://fedoraproject.org/wiki/Yum&quot;&gt;yum&lt;/a&gt;? I think I &lt;a href=&quot;http://nerdbynature.de/s9y/?247&quot;&gt;did&lt;/a&gt; and others &lt;a href=&quot;https://skvidal.wordpress.com/2008/07/01/got-a-slow-yum-operation&quot;&gt;did&lt;/a&gt;, too.&lt;br/&gt;&lt;br/&gt;

So this &lt;a href=&quot;http://yum.baseurl.org&quot;&gt;&lt;code&gt;yum upgrade&lt;/code&gt;&lt;/a&gt; failed due to insufficient diskspace and &lt;code&gt;yum&lt;/code&gt; exited with:

&lt;small&gt;
&lt;pre&gt;
/usr/sbin/build-locale-archive: cannot add to locale archive: No such file or directory
could not write to ts_done file: [Errno 28] No space left on device
[...]
Error unpacking rpm package imsettings-libs-1.2.6-1.fc16.x86_64
error: gtk2-2.24.8-2.fc16.x86_64: install failed
error: unpacking of archive failed on file \
  /usr/lib64/libimsettings.so.5.2.0;4ed44d97: cpio: write
Traceback (most recent call last):
  File &quot;/usr/lib/python2.7/site-packages/yum/rpmtrans.py&quot;, line 444, in callback
    self._instCloseFile(  bytes, total, h )
  File &quot;/usr/lib/python2.7/site-packages/yum/rpmtrans.py&quot;, line 507, in _instCloseFile
    self._scriptout(txmbr.po)
  File &quot;/usr/lib/python2.7/site-packages/yum/rpmtrans.py&quot;, line 246, in _scriptout
    self.base.history.log_scriptlet_output(data, msgs)
  File &quot;/usr/lib/python2.7/site-packages/yum/history.py&quot;, line 871, in log_scriptlet_output
    self._commit()
  File &quot;/usr/lib/python2.7/site-packages/yum/history.py&quot;, line 640, in _commit
    return self._conn.commit()
sqlite3.OperationalError: database or disk is full
error: python callback &lt;bound method RPMTransaction.callback of &lt;yum.rpmtrans.RPMTransaction instance at 0x3efb050&gt;&gt; failed, aborting!
&lt;/pre&gt;
&lt;/small&gt;

OK, no big deal. Just resized the root partition so that enough space is available now and try again:

&lt;pre&gt;
$ yum upgrade
[...]
There are unfinished transactions remaining. You might consider running \
yum-complete-transaction first to finish them.
[...]
Error: Protected multilib versions: glibc-2.14.90-19.x86_64 != glibc-2.14.90-14.i686
&lt;/pre&gt;

This didn&#039;t go so well. Let&#039;s try &lt;code&gt;yum-complete-transaction&lt;/code&gt; then, as suggested:

&lt;pre&gt;
$ yum-complete-transaction
Loaded plugins: langpacks, presto, refresh-packagekit
There are 1 outstanding transactions to complete. Finishing the most recent one
The remaining transaction had 87 elements left to run
Package glibc-common-2.14.90-19.x86_64 already installed and latest version
[...]
--&gt; Processing Dependency: libc.so.6()(64bit) for package: elfutils-0.152-1.fc16.x86_64
--&gt; Processing Dependency: /bin/sh for package: kernel-3.1.2-1.fc16.x86_64
[....]
&lt;/pre&gt;

This goes on for quite a while, hours even. I went to bed at this time, only to see the next morning that &lt;code&gt;yum&lt;/code&gt; got killed by the &lt;a href=&quot;http://linux-mm.org/OOM_Killer&quot;&gt;out-of-memory killer&lt;/a&gt;:

&lt;pre&gt;
Out of memory: Kill process 1457 (yum-complete-tr) score 782 or sacrifice child
Killed process 1457 (yum-complete-tr) total-vm:1643616kB, anon-rss:830884kB, file-rss:0kB
&lt;/pre&gt;

The VM has 1 GB RAM and 512 MB swap - not too much, but certainly enough for doing an upgrade, I assumed. OK, so how to go on from here? With &lt;code&gt;yum-complete-transaction&lt;/code&gt; failing, I decided to &lt;i&gt;cleanup&lt;/i&gt; any old transactions and start from scratch:

&lt;pre&gt;
$ yum-complete-transaction --cleanup-only
Cleaning up unfinished transaction journals
$ yum-complete-transaction
No unfinished transactions left.
&lt;/pre&gt;

But now the upgrade would stop with:

&lt;pre&gt;
$ yum upgrade
[...]
Error: Protected multilib versions: glibc-2.14.90-19.x86_64 != glibc-2.14.90-14.i686
&lt;/pre&gt;

Using &lt;code&gt;--setopt=protected_multilib=false&lt;/code&gt; (and &lt;code&gt;--skip-broken&lt;/code&gt;) brought us only little further:

&lt;pre&gt;
$ yum upgrade --setopt=protected_multilib=false --skip-broken
[...]
Transaction Check Error:
  file /usr/share/doc/glibc-2.14.90/NEWS conflicts between attempted
  installs of glibc-2.14.90-14.i686 and glibc-2.14.90-19.x86_64
&lt;/pre&gt;

Moving &lt;code&gt;/usr/share/doc/glibc-2.14.90/NEWS&lt;/code&gt; &lt;a href=&quot;http://forums.fedoraforum.org/showthread.php?t=262677&quot; title=&quot;Fedora Support &gt; Archived &gt; F15 Development: dependencies resolution errors: multilib&quot;&gt;out of the way&lt;/a&gt; did not help in this case. What &lt;i&gt;did&lt;/i&gt; help was to &quot;remove&quot; the conflicting package from the package database. Of course, we could not &lt;i&gt;really&lt;/i&gt; delete &lt;code&gt;glibc&lt;/code&gt;, since it&#039;s needed for pretty much everything:

&lt;pre&gt;
$ rpm --erase --nodeps --noscripts --justdb glibc-2.14.90-14.x86_64
$ yum upgrade --setopt=protected_multilib=false --skip-broken
[...]
&lt;/pre&gt;

This went through successfully and the system is now properly updated and even survived a reboot. Just in case that it&#039;s still not clear from these notes: I find it unacceptable that &lt;code&gt;yum&lt;/code&gt; is having such a hard time finding out how to do the Right Thing&lt;small&gt;&lt;sup&gt;TM&lt;/sup&gt;&lt;/small&gt; after a failed transaction. And yes, I&#039;ve been using &lt;a href=&quot;http://wiki.debian.org/Apt&quot;&gt;apt-get&lt;/a&gt; for &lt;i&gt;years&lt;/i&gt; now - never had anything remotely similar to this mess. Incredible, I cannot understand how people can work with that. I mean, &lt;i&gt;really&lt;/i&gt; work. I&#039;m using Fedora only for playing around and while I really like some of the approaches Fedora is going for, this &lt;code&gt;yum&lt;/code&gt; crap is a major show stopper for me to ever adopt any &lt;a href=&quot;http://www.rpm.org/&quot;&gt;rpm&lt;/a&gt;-based distribution. I&#039;d rather do &lt;a href=&quot;http://www.freebsd.org/ports/&quot;&gt;ports&lt;/a&gt; :-\&lt;br/&gt;&lt;br/&gt;

Oh, apparently there&#039;s still one thing left to clean up:

&lt;pre&gt;
$ yum check
Loaded plugins: changelog, langpacks, presto, refresh-packagekit
glibc-common-2.14.90-14.x86_64 has missing requires of glibc = (&#039;0&#039;, &#039;2.14.90&#039;, &#039;14&#039;)
glibc-common-2.14.90-19.x86_64 is a duplicate with glibc-common-2.14.90-14.x86_64
&lt;/pre&gt;

In my case, &lt;code&gt;&quot;package-cleanup --cleandupes&quot;&lt;/code&gt; &lt;a href=&quot;http://www.fedoraforum.org/forum/showthread.php?t=268328&quot; title=&quot;Fedora Support &gt; General Support: yum update reports duplicates and missing dependencies&quot;&gt;solved&lt;/a&gt; this one. Sigh... 
    </content:encoded>

    <pubDate>Thu, 01 Dec 2011 22:24:17 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?279</guid>
    
</item>
<item>
    <title>Mediawiki &amp; MySQL &amp; SQLite</title>
    <link>http://nerdbynature.de/s9y/?278</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?278#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=278</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=278</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    I got a &lt;a href=&quot;http://www.mediawiki.org&quot;&gt;MediaWiki&lt;/a&gt; instance up &amp;amp; running with &lt;a href=&quot;http://www.mysql.com&quot;&gt;MySQL&lt;/a&gt; as its database backend. Now, I wanted to play around with this wiki in a &lt;a href=&quot;http://www.virtualbox.org/&quot;&gt;VM&lt;/a&gt; running &lt;a href=&quot;https://fedoraproject.org/wiki/Releases/16&quot;&gt;Fedora 16&lt;/a&gt;. Let&#039;s prepare the VM for running MediaWiki:&lt;br/&gt;

&lt;pre&gt;
  $ yum install httpd php links mediawiki mediawiki-Cite
  $ grep ^Alias /etc/httpd/conf.d/mediawiki.conf 
  Alias /wiki/skins /usr/share/mediawiki/skins
  $ cp -a /var/www/wiki/ /var/www/html/
  $ systemctl enable httpd.service
  $ systemctl start httpd.service
&lt;/pre&gt;

Note that we did &lt;i&gt;not&lt;/i&gt; install a MySQL server here: I did not want to run yet another service in this small virtual machine.&lt;br/&gt;&lt;br/&gt;

After that, the MediaWiki instance can be accessed &amp;amp; setup via &lt;code&gt;http://fedora.local/wiki/&lt;/code&gt; - be sure to choose &lt;i&gt;SQLite&lt;/i&gt; for the database backend.&lt;br/&gt;&lt;br/&gt;

Now MediaWiki is up &amp;amp; running with an &lt;i&gt;empty&lt;/i&gt; &lt;a href=&quot;http://www.sqlite.org&quot;&gt;SQLite&lt;/a&gt; database. But how can I &lt;a href=&quot;http://www.sqlite.org/cvstrac/wiki?p=ConverterTools&quot;&gt;convert&lt;/a&gt; my original MySQL database into SQLite?&lt;br/&gt;&lt;br/&gt;

There&#039;s &lt;a href=&quot;https://gist.github.com/943776&quot;&gt;mysql2sqlite&lt;/a&gt;, a shell script using &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html&quot;&gt;mysqldump&lt;/a&gt; and &lt;a href=&quot;http://cm.bell-labs.com/cm/cs/awkbook/&quot;&gt;awk&lt;/a&gt; to do the job. And it &lt;i&gt;did&lt;/i&gt; the job pretty well so far:

&lt;pre&gt;
  mysql2sqlite.sh -u admin -p mw_wiki &gt; wiki.sqlite.raw
&lt;/pre&gt;

I could pipe the whole thing through &lt;code&gt;sqlite&lt;/code&gt; already but I had to alter the output a bit: my original database had &lt;a href=&quot;http://www.mediawiki.org/wiki/Manual:$wgDBprefix&quot;&gt;$wgDBprefix&lt;/a&gt; set to &lt;code&gt;&quot;&lt;font color=&quot;red&quot;&gt;mw_&lt;/font&gt;&quot;&lt;/code&gt; but somehow this parameter seems to be ignored when an SQLite database is used. So let&#039;s cut out the prefix from our preliminary dump whenever a table is created, indexed or inserted&lt;small&gt;&lt;sup&gt;1)&lt;/sup&gt;&lt;/small&gt; into:

&lt;pre&gt;
  sed -e &#039;/[INDEX|INTO|TABLE] \&quot;&lt;font color=&quot;blue&quot;&gt;mw_&lt;/font&gt;/s/&lt;font color=&quot;red&quot;&gt;mw_&lt;/font&gt;//g&#039; -i wiki.sqlite.raw
&lt;/pre&gt;

Now we can generate our SQLite database as simple as:

&lt;pre&gt;
  sqlite wiki.sqlite &lt; wiki.sqlite.raw
&lt;/pre&gt;

Point &lt;a href=&quot;http://www.mediawiki.org/wiki/Manual:$wgDBname&quot;&gt;$wgDBname&lt;/a&gt; to this filename and off we go: the wiki should now be up &amp;amp; running with the original data visible. Yay ;-)&lt;br/&gt;&lt;br/&gt;

Great, but we could not update pages or create new articles&lt;small&gt;&lt;sup&gt;2)&lt;/sup&gt;&lt;/small&gt;:

&lt;pre&gt;
  INSERT INTO text (old_id,old_text,old_flags) VALUES (NULL,...
  Database returned error &quot;19: text.old_id may not be NULL&quot;. 
&lt;/pre&gt;

Hm, shouldn&#039;t &lt;code&gt;old_id&lt;/code&gt; be &lt;a href=&quot;http://stackoverflow.com/questions/631060/can-i-make-a-field-autoincrement-after-made-a-table&quot;&gt;set&lt;/a&gt; to &lt;a href=&quot;http://www.sqlite.org/autoinc.html&quot;&gt;AUTOINCREMENT&lt;/a&gt;? Let&#039;s look at our &lt;code&gt;wiki.sqlite.raw&lt;/code&gt; again:

&lt;pre&gt;
CREATE TABLE &quot;text&quot; (
  &quot;old_id&quot; int(10)  NOT NULL&lt;font color=red&gt; ,&lt;/font&gt;
  &quot;old_text&quot; mediumblob NOT NULL,
  &quot;old_flags&quot; tinyblob NOT NULL,
  &lt;font color=blue&gt;PRIMARY KEY (&quot;old_id&quot;)&lt;/font&gt;
);
&lt;/pre&gt;

Again: this is the output of &lt;code&gt;mysql2sqlite&lt;/code&gt; and it looks pretty sane to me. But somehow &lt;code&gt;old_id&lt;/code&gt; wasn&#039;t set to &lt;code&gt;PRIMARY KEY&lt;/code&gt; (aka &lt;code&gt;&quot;AUTOINCREMENT&quot;&lt;/code&gt;) when parsed by &lt;code&gt;sqlite&lt;/code&gt; (v3.7.7.1). When the &lt;code&gt;&quot;PRIMARY KEY&quot;&lt;/code&gt; is moved right before the &lt;code&gt;&quot;NOT NULL&quot;&lt;/code&gt; statement for &lt;code&gt;old_id&lt;/code&gt;, it still would not recognize it. We also had to replace the &lt;code&gt;&quot;int(10)&quot;&lt;/code&gt; with &lt;code&gt;INTEGER&lt;/code&gt; and remove the superfluous space on the same line. Now it reads:

&lt;pre&gt;
CREATE TABLE &quot;text&quot; (
  &quot;old_id&quot; &lt;font color=blue&gt;INTEGER PRIMARY KEY&lt;/font&gt; NOT NULL&lt;font color=red&gt;,&lt;/font&gt;
  &quot;old_text&quot; mediumblob NOT NULL,
  &quot;old_flags&quot; tinyblob NOT NULL
);
&lt;/pre&gt;

We have to modify all (19) occurences of &lt;code&gt;PRIMARY KEY&lt;/code&gt; in our &lt;code&gt;wiki.sqlite.raw&lt;/code&gt;. Be sure to &lt;i&gt;omit&lt;/i&gt; the &lt;code&gt;INTEGER&lt;/code&gt; keyword when the field is declared &lt;code&gt;varbinary&lt;/code&gt;.

With all that in order now, &lt;code&gt;wiki.sqlite.raw&lt;/code&gt; can be fed into &lt;code&gt;sqlite&lt;/code&gt; again. FWIW, this is what &lt;code&gt;sqlite&lt;/code&gt; makes of the statement above:

&lt;pre&gt;
  $ sqlite3 data/wikidb.sqlite 
  sqlite&gt; .schema text
  CREATE TABLE text (
    old_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    old_text BLOB NOT NULL,
    old_flags BLOB NOT NULL
  );
&lt;/pre&gt;

Now we should be able to update pages and create articles. Phew, what a ride :-)&lt;br/&gt;&lt;br/&gt;

&lt;b&gt;Update:&lt;/b&gt; Right after finishing this article, I came across &lt;a href=&quot;http://kb.siteground.com/article/How_to_convert_your_MediaWiki_database_to_SQLite.html&quot; title=&quot;Siteground: How to convert your MediaWiki database to SQLite?&quot;&gt;this knowledge base article&lt;/a&gt; on how to do this with scripts provided by the MediaWiki installation. In short:

&lt;pre&gt;
  $ php maintenance/dumpBackup.php --full --uploads --conf `pwd`/LocalSettings.php &gt; wiki.xml
&lt;/pre&gt;

Then, in the VM again:

&lt;pre&gt;
  $ cd /var/www/html/wiki
  $ php /usr/share/mediawiki/maintenance/importDump.php wiki.xml
  $ php /usr/share/mediawiki/maintenance/rebuildrecentchanges.php 
&lt;/pre&gt;

This takes quite a lot of time - around 7 minutes for a 13MB &lt;code&gt;.xml&lt;/code&gt; dump. The resulting was written into the configured &lt;code&gt;$wgDBname&lt;/code&gt;, or &lt;code&gt;data/wiki.sqlite&lt;/code&gt; in our case. All pages were in place, only the &lt;a href=&quot;https://www.mediawiki.org/wiki/Help:Namespaces&quot;&gt;MainPage&lt;/a&gt; was overwritten with its initial version. Going back one version with the &lt;i&gt;page history&lt;/i&gt; revealed the most current version of the (imported) article.

&lt;br/&gt;&lt;br/&gt;
&lt;small&gt;&lt;sup&gt;1)&lt;/sup&gt; Is this really the correct statement? It works, but I thought it should use () instead of [] for the OR statement.&lt;/small&gt;&lt;br/&gt;

&lt;small&gt;&lt;sup&gt;2)&lt;/sup&gt; We had to set &lt;a href=&quot;http://www.mediawiki.org/wiki/Manual:$wgShowExceptionDetails&quot;&gt;$wgShowExceptionDetails&lt;/a&gt;, &lt;a href=&quot;http://www.mediawiki.org/wiki/Manual:$wgShowSQLErrors&quot;&gt;$wgShowSQLErrors&lt;/a&gt;, &lt;a href=&quot;http://www.mediawiki.org/wiki/Manual:$wgDebugDumpSql&quot;&gt;$wgDebugDumpSql&lt;/a&gt; to &lt;i&gt;true&lt;/i&gt; for this to be shown.&lt;/small&gt; 
    </content:encoded>

    <pubDate>Thu, 17 Nov 2011 09:23:39 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?278</guid>
    
</item>
<item>
    <title>Growl 1.3.1</title>
    <link>http://nerdbynature.de/s9y/?277</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?277#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=277</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=277</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    &lt;img class=&quot;serendipity_image_right&quot; src=&quot;http://nerdbynature.de/s9y/uploads/growl-update.png&quot; title=&quot;Growl 1.3.1 Update Available&quot; alt=&quot;Update Available - A newer version of Growl is available online. Click here to download it right now.&quot; /&gt;
What&#039;s up with the latest &lt;a href=&quot;http://growl.info/&quot;&gt;Growl&lt;/a&gt; update? Apparently it &lt;a href=&quot;http://www.newbie2mac.com/2011/10/what-is-growl-and-why-is-it-no-longer-free/&quot;&gt;costs money&lt;/a&gt; now? Not that $1.99 for this useful piece of software were too much, but...no announcement about this change? Why not? Users are &lt;a href=&quot;https://groups.google.com/group/growldiscuss/search?group=growldiscuss&amp;q=pay&amp;qt_g=Search+this+group&quot;&gt;already upset&lt;/a&gt; about this change and I really fail to see why they did this w/o any prior &lt;i&gt;notification&lt;/i&gt;.&lt;br/&gt;&lt;br/&gt;

For the brave and able, Growl 1.3.1 can still be &lt;a href=&quot;https://code.google.com/p/growl/wiki/GrowlReleaseProcess&quot;&gt;built&lt;/a&gt; from &lt;a href=&quot;https://code.google.com/p/growl/source/checkout&quot;&gt;source&lt;/a&gt; - good luck fighting all the build errors then :-\ 
    </content:encoded>

    <pubDate>Tue, 08 Nov 2011 06:44:12 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?277</guid>
    
</item>
<item>
    <title>Schneierfacts fortune cookies</title>
    <link>http://nerdbynature.de/s9y/?276</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?276#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=276</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=276</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    A (long) while ago I stumbled upon the incredible &lt;a href=&quot;http://geekz.co.uk/schneierfacts&quot;&gt;Schneierfacts&lt;/a&gt; and thought &lt;i&gt;&quot;I must have these snippets of wisdom as a &lt;a href=&quot;http://fortunes.cat-v.org/&quot;&gt;fortune(6)&lt;/a&gt; file!&quot;&lt;/i&gt; Here&#039;s how I did that:

&lt;pre&gt;
  mkdir schneierfacts &amp;&amp;amp; cd schneierfacts
  f=1
  while [ $f -lt &lt;font color=&quot;red&quot;&gt;1610&lt;/font&gt; ]; do 
      echo &quot;fact: $f&quot;
      wget -q http://geekz.co.uk/schneierfacts/fact/&quot;$f&quot;
      sleep 1
      f=$((f+1))
  done


  grep &#039;p class=&quot;fact&quot;&#039; * | \
          sed &#039;s/.*fact\&quot;&gt;//;s/&lt;\/p&gt;//;s/\&amp;quot\;/\&quot;/g&#039; | \
          sort -u &gt; ../schneierfacts.txt
  sed G ../schneierfacts.txt | sed &#039;s/^$/%/&#039; &gt; ../schneierfacts

  &lt;a href=&quot;http://www.freebsd.org/cgi/man.cgi?query=strfile&quot;&gt;strfile&lt;/a&gt; -r ../schneierfacts
  &quot;../schneierfacts.dat&quot; created
  There were 1600 strings
  Longest string: 24713 bytes
  Shortest string:  142 bytes
&lt;/pre&gt;

With that in place, we can install our new fortune file:

&lt;pre&gt;
  sudo mkdir -p /usr/local/share/games/fortunes
  sudo cp ../schneierfacts{,.dat} /usr/local/share/games/fortunes/

  $ fortune schneierfacts
  When Bruce Schneier does modulo arithmetic, there are no remainders. Ever.
&lt;/pre&gt;

Note: There are currently over 1600 facts, be kind when downloading the facts! (i.e. use &lt;code&gt;sleep(1)&lt;/code&gt; after every &lt;code&gt;wget(1)&lt;/code&gt; call.) 
    </content:encoded>

    <pubDate>Mon, 07 Nov 2011 05:57:43 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?276</guid>
    
</item>
<item>
    <title>TCP: Peer 1.2.3.4:64259/51542 unexpectedly shrunk window 4197231805:4197240525 (repaired)</title>
    <link>http://nerdbynature.de/s9y/?275</link>
            <category>bits</category>
    
    <comments>http://nerdbynature.de/s9y/?275#comments</comments>
    <wfw:comment>http://nerdbynature.de/s9y/wfwcomment.php?cid=275</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nerdbynature.de/s9y/rss.php?version=2.0&amp;type=comments&amp;cid=275</wfw:commentRss>
    

    <author>nospam@example.com (christian)</author>
    <content:encoded>
    From time to time our Linux 2.6 kernel generates the following message:

&lt;pre&gt;
  TCP: Peer 1.2.3.4:64259/51542 unexpectedly shrunk window \
          4197231805:4197240525 (repaired)
&lt;/pre&gt;

It was a bit scarier &lt;a href=&quot;http://www.informedbanking.com/wiki/TCP_Treason_Uncloaked&quot; title=&quot;informedbanking.com: TCP Treason Uncloaked&quot;&gt;back then&lt;/a&gt; when it read something like this:

&lt;pre&gt;
  TCP: Treason uncloaked! Peer 1.2.3.4:64259/51542 shrinks window \
          3166327388:3166327393. Repaired.
&lt;/pre&gt;

The message has been &lt;a href=&quot;https://git.kernel.org/linus/6086ebca13ddc9cfaaa25248ba8ebef35103fb74&quot; title=&quot;tcp: Stop scaring users with treason uncloaked!&quot;&gt;modified in December 2008&lt;/a&gt;.

While there are quite a lot of &lt;a href=&quot;http://kerneltrap.org/node/7182&quot; title=&quot;kerneltrap.org: Treason Uncloaked&quot;&gt;posts&lt;/a&gt; and &lt;a href=&quot;https://lwn.net/Articles/92727/&quot; title=&quot;LWN: TCP window scaling and broken routers&quot;&gt;articles&lt;/a&gt; on this &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-netdev/2009/4/19/5518144&quot; title=&quot;kerneltrap.org: TCP: Peer messages&quot;&gt;topic&lt;/a&gt;, a pretty good explanation can be found in &lt;a href=&quot;https://git.kernel.org/linus/2ad41065d9fe518759b695fc2640cf9c07261dd2&quot; title=&quot;[TCP]: Clear stale pred_flags when snd_wnd changes&quot;&gt;commit 2ad4106&lt;/a&gt;: &lt;code&gt;Clear stale pred_flags when snd_wnd changes&lt;/code&gt;. 
    </content:encoded>

    <pubDate>Mon, 07 Nov 2011 05:26:42 +0000</pubDate>
    <guid isPermaLink="false">http://nerdbynature.de/s9y/?275</guid>
    
</item>

</channel>
</rss>

