<?xml version="1.0" encoding="iso-8859-1"?>
        <?xml-stylesheet type="text/css" href="http://www.miek.nl/blog/"?>
<rss version="2.0"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title>Miek</title>
<atom:link href="http://www.miek.nl/blog/rss.xml" rel="self" type="application/rss+xml" />
<link>http://www.miek.nl/blog</link>
<description>Thoughts on (technical) stuff</description>
<dc:language>en-us</dc:language>
<dc:creator>Miek Gieben</dc:creator>
<dc:date>2010-03-11T04:14:31+01:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />

<item>
<link>http://www.miek.nl/blog/archives/2010/03/05/hibernate_and_suspend_with_ubuntu_9_10/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/03/05/hibernate_and_suspend_with_ubuntu_9_10/index.html</guid>
<title>Hibernate and suspend with Ubuntu 9.10</title>
<dc:date>2010-03-05T15:27:20+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> linux</dc:subject>
<description><![CDATA[<p>I have an Asus EeePC on which I've installed Ubuntu 9.10. 
But know I wanted a working hibernate (suspend to disk) and suspend (suspend to
memory).</p>

<p>Hibernate was working <em>out of the box</em> (well the going to sleep part, at
least), but resuming took almost as long
as a cold boot. Another thing was that my wireless was broken after a
resume.  On my happiness scale (range: 0-10) this scored a 3.</p>

<p>To fix the wireless I thought I could just unload the <code>ath9k</code> module
before suspending and loading it on resume. For this I added a <code>modules</code> 
script in the following directory <code>/etc/pm/sleep.d</code>:</p>

<pre><code>#!/bin/sh
# Action script to remove/add modules

PATH=/sbin:/usr/sbin:/bin:/usr/bin

# pm-action(8) - &lt;action&gt; &lt;suspend method&gt;
#
case "${1}" in
    suspend|hibernate)
        modprobe -r ath9k
        ;;
    resume|thaw)
        modprobe ath9k
        ;;
esac
</code></pre>

<p>After this my wireless was working like a charm.
On my happiness scale (range: 0-10) this scored a 5.</p>

<p>So next up: fix suspend. What was the problem? I could suspend my
laptop, but it came right back to live after a few <em>seconds</em> of
suspending. Not very useful.</p>

<p>After some googling around it hit me, USB wake ups! But how to do
silence the wake ups from your USB devices? The following works
for me:</p>

<pre><code># disable wakeup events when suspending from USB
echo disabled &gt; /sys/bus/usb/devices/usb1/power/wakeup
echo disabled &gt; /sys/bus/usb/devices/usb2/power/wakeup
echo disabled &gt; /sys/bus/usb/devices/usb3/power/wakeup
echo disabled &gt; /sys/bus/usb/devices/usb4/power/wakeup
</code></pre>

<p>Now both hibernate and suspend are working (happniess = 8).</p>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/03/02/rdup_1_1_1/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/03/02/rdup_1_1_1/index.html</guid>
<title>rdup 1.1.1</title>
<dc:date>2010-03-02T19:52:08+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> rdup</dc:subject>
<description><![CDATA[<p>A new month, a new rdup release.</p>

<p>This is a bugfix release, with the following ChangeLog:</p>

<p>2 Mar 2010: 1.1.1 Miek Gieben <a href="&#109;&#97;&#105;&#x6C;&#116;&#111;:&#114;&#x64;&#x75;&#112;&#64;&#x6D;&#105;e&#107;&#x2E;&#110;l">&#114;&#x64;&#x75;&#112;&#64;&#x6D;&#105;e&#107;&#x2E;&#110;l</a></p>

<ul>
<li>tests: Skip gpg test when gpg is not found (Tom)</li>
<li>rdup: Rename strmode() to rdup_strmode for FreeBSD (Charlie Kester)</li>
<li>rdup: Dont descend when toplevel directory is a symlink (same behavoir
as Gnu tar) (Reported by Charlie Kester)</li>
<li>rdup: reap our childeren with waitpid() (Oliver Dain)</li>
<li>build: Building fix on rpm distros (SuSE/Fedora) (Sven Hartrumpf)</li>
<li>build: add --enable-debug to built debug build</li>
</ul>

<p><a href="http://www.miek.nl/projects/rdup/rdup-1.1.1.tar.bz2">Quick download</a>
and <a href="http://www.miek.nl/projects/rdup11/">project page</a></p>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/02/28/upgrading_to_lucid/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/02/28/upgrading_to_lucid/index.html</guid>
<title>Upgrading to Lucid</title>
<dc:date>2010-02-28T14:47:24+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> site</dc:subject>
<description><![CDATA[<p>I'm going to upgrade my server to the new Ubuntu and
make it 64 bit in the process. This means a complete
re-install. </p>

<p>This means I'm going to be offline for some time.</p>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/02/27/ubuntu_lucid_alpha-3/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/02/27/ubuntu_lucid_alpha-3/index.html</guid>
<title>Ubuntu Lucid Alpha-3 </title>
<dc:date>2010-02-27T15:00:43+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> linux</dc:subject>
<description><![CDATA[<p>I want to upgrade my server to the new Ubuntu and switch to 64 bit 
on my main server. This is how I managed to get Ubuntu Lucid 
(Alpha 3) running on my (<em>test</em>) machine, with RAID1 + BTRFS and 64 bit.
It is a running story on how I spend my Saturday afternoon, you
might need some decent Linux knowledge to follow my lead.</p>

<p>Here we go.</p>

<p>The following lists sums up my needs and troubles:</p>

<ul>
<li>BTRFS for my main partitions (only <code>/</code> and <code>/boot</code> will be <code>ext4</code>);</li>
<li>install Ubuntu Lucid (Alpha3);</li>
<li>Lucid's installer does not support BTRFS;</li>
<li>there is no CDROM drive in sight.</li>
</ul>

<p>The attack plan:</p>

<ul>
<li>use <a href="http://unetbootin.sourceforge.net/">unetbootin</a> to create bootable (usb) hardisk image;</li>
<li>format the external disk as <code>vfat</code>! (not <code>ext3</code> will not work when booting);</li>
<li>install minimal Ubuntu image on RAID1 ext4 partitions;</li>
<li>leave 2 disks with a large partition for BTRFS;</li>
<li>install Ubuntu 10.04;</li>
<li>reboot;</li>
<li>configure BTRFS;</li>
<li>move <code>/var</code>, <code>/usr</code>, n' stuff over to BTRFS.</li>
</ul>

<h2>0th problem: system will not boot from external disk</h2>

<p>First I needed to make my system boot from the external USB hardisk,
after fiddling in the BIOS, this was fixed.</p>

<blockquote>
  <p>Back to installing!</p>
</blockquote>

<h2>1st problem: external hardisk was not recognized as a CDROM</h2>

<p>Fixed by adding: <code>cdrom-detect/try-usb=true</code> to the kernel boot
parameters as told
<a href="https://help.ubuntu.com/community/Installation/FromUSBStick#Boot
the Computer From USB">here</a></p>

<blockquote>
  <p>If you get "Incorrect CD-ROM detected" error on detection stage, reboot,
press F6 and then ESC to go to manual boot line editing, and add the
option 'cdrom-detect/try-usb=true'. On Ubuntu 9.10 server edition the
install menu will be shown right after reboot. Chose "Help" and then
press F6. At the boot prompt type "install cdrom-detect/try-usb=true"
and hit enter.</p>

<p>Back to installing!</p>
</blockquote>

<h2>2nd problem: installer files missing</h2>

<p>The installer could not copy some files. Luckily you can switch
terminals in the installer with <code>Alt+F2</code> which drops you in
a <code>busybox</code> shell. Go to <code>/var/log/</code> and check the log files.
In there I found that it was borking on, some deb called:</p>

<pre><code>linux/fs-secondary-modules-2.6.32-14-generic....udeb
</code></pre>

<p>Which wasn't there. I did have:</p>

<pre><code>linux/fs-secondary-modules-2.6.32-14-generic....ude
</code></pre>

<p>(No closing 'b'!!). Lets fix that by linking the correct
name:</p>

<pre><code># ln -s .....ude ....udeb
operation not permitted
</code></pre>

<p>Of course, it <em>is</em> read-only mounted <em>and</em> a VFAT partition which
does not support symbolic links. Plan B (copy it):</p>

<pre><code>#mount -o rw,remount /cdrom
cp fs-secondary-modules-2.6.32-14-g.....ude \
fs-secondary-modules-2.6.32-14-g....udeb
</code></pre>

<p>Okay, that worked.</p>

<blockquote>
  <p>Back to installing! </p>
</blockquote>

<h2>3rd problem: /dev/md1 is used as swap</h2>

<p>This system already
had a RAID1 configuration on it, so I had to get rid of that
first. Also 
<a href="https://help.ubuntu.com/community/Installation/SoftwareRAID">see this link</a>.</p>

<p>I could not delete that raid partition because it is <em>in</em> use
as swap <em>by</em> the installer. WTF? Again the <code>Alt+F2</code>:</p>

<pre><code>swapoff /dev/md1        # md1 was the culprit
</code></pre>

<p>I also tend to find <code>fdisk</code> <em>much</em> easier to partition the disks
so I also did this from the command prompt - then let the installer
rescan the newly partitioned disks.  I went for the following layout (for
2 disks):</p>

<pre><code>/dev/sda1       /dev/sdb1   combined to form md0 (boot)
/dev/sda2       /dev/sdb2   combined to form md1 (root)
/dev/sda3       /dev/sdb3   combined to form md2 (swap)
/dev/sda4       /dev/sdb4   not used, for BTRFS
</code></pre>

<blockquote>
  <p>Back to installing! </p>
</blockquote>

<h2>4th problem: grub did not install</h2>

<p>Grub failed to install on <code>/dev/sda</code> and <code>/dev/sdb</code>. I tried
<code>grub-legacy</code> and <code>grub2</code> both failed.</p>

<p>When the installer asks "Install in master boot record", say "no" and
specify only <code>/dev/sda</code>. It performs a <code>grub-install /dev/sda</code> which 
fails for some reason. Time to try it ourself. First where is
<code>grub-install</code> located, turns out: <code>/target/usr/sbin/grub-install</code></p>

<p>Now some more foo, drop to the shell again, and <code>chroot</code> to your new 
install</p>

<pre><code># chroot /target
</code></pre>

<p>This is with <code>grub2</code>:</p>

<pre><code>grub-probe: error: no mapping exists for `md0`
</code></pre>

<p>See <a href="http://www.mail-archive.com/help-grub@gnu.org/msg00103.html">this</a>.
Next I tried:</p>

<pre><code>grub-install --modules=raid /dev/sda
you are attempting a cross-disk install, but the filesystem
containing /boot/grub does not support UUIDs
</code></pre>

<p>Hmm, see 
<a href="https://bugs.launchpad.net/ubuntu/+source/ubuntu-meta/+bug/436340">here for a bug
report</a>.</p>

<p>Still in the <code>chroot</code> I did the following:</p>

<pre><code>mount /proc
grub-install --modules=raid /dev/sda
Installation finished. No error reported.
</code></pre>

<p>Okay, that worked. No go back to the installer and choose "Continue
without a bootloader", this will finish up installation.</p>

<blockquote>
  <p>Back to installing!</p>
</blockquote>

<h2>5th problem: does not boot</h2>

<pre><code>GRUB Loading stage1.5.

GRUB Loading, please wait...
Error 2
</code></pre>

<p>Hmm, back to the BIOS and enable my disks again - they were disabled so 
that I could boot from the external USB hard disk. Reboot and...
I'm dropped in a <code>grub2</code> shell. Back to
<a href="http://wiki.archlinux.org/index.php/GRUB2">reading</a> the
<a href="http://grub.enbug.org/Manual">docs</a>.</p>

<p>Next:</p>

<pre><code>grub&gt; ls
(hd0) (hd0,4) .... (md0) (md1) (md2)    # yes! md devices
grub&gt; insmod linux              # needed?
grub&gt; insmod raid
grub&gt; set root=(md1)
grub&gt; linux (md0)/vmlinuz-2.6.32-14-generic root=/dev/md1
grub&gt; initrd (md0)/initrd.img-2.6.32-14-generic
grub&gt; boot
</code></pre>

<p>The kernel names came from <a href="http://www.ubuntu.com/testing/lucid/alpha3">this
announcement</a>. So I knew
it had to be something like <code>vmlinuz-$version-generic</code>.</p>

<h2>6th problem: failed to mount root file system</h2>

<p>Somehow I managed to miss type the above grub commands. </p>

<blockquote>
  <p>ITS <strike>ALIVE</strike> BOOTS!</p>
</blockquote>

<p>I still need to figure out how to make this permanent. Looks
like you only have to give <code>update-grub</code> as root when you are
logged in. This creates a <code>/boot/grub/grub.cfg</code> to will boot your
system. (Turns out that config file was missing).</p>

<p>The BTRFS part comes in a separate blog - this is already too long.</p>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/02/05/latex_nirvana/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/02/05/latex_nirvana/index.html</guid>
<title>LaTeX Nirvana</title>
<dc:date>2010-02-05T16:23:42+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> latex</dc:subject>
<description><![CDATA[<p>I'm no fan of Word or OpenOffice for that matter, all that WYSIWYG stuff
is not for me. For years now I'm using
<a href="http://www.latex-project.org/">LaTeX</a> for my editing
needs. An added bonus for using LaTeX is that the output is stunning.</p>

<p>But for <em>really</em> nice looking output I wanted the following:</p>

<ul>
<li>Fonts in images/graphics should match the font of the main document</li>
<li>TrueType fonts, instead of the standard TeX fonts. To avoid
the "Heeh, that looks like a LaTeX document"-reactions;</li>
<li>UTF-8 support and international character support;</li>
<li>Easy integration of images (SVG based);</li>
<li>Automatic building.</li>
</ul>

<p>I'm using the following tools for this:</p>

<ul>
<li>Inkscape and <code>pdfcrop</code> for graphics generation;</li>
<li>make for building;</li>
<li>VI for editing (with syntax highlighting);</li>
<li>evince as PDF viewer;</li>
<li>xelatex for building the pdf.</li>
</ul>

<h1>General setup</h1>

<p>As <a href="http://www.miek.nl/s/d7c7a15ac3/">said earlier</a>, I'm a fan of
the <code>memoir</code> class as a replacement of the standard LaTeX classes. So
I'm using it here again. When you are using <code>xelatex</code> (better UTF-8
support) you should also include the package <code>xltxtra</code> and <code>xunicode</code>.</p>

<h1>Fonts</h1>

<p><em>The</em> package for TrueType font support is <code>fontspec</code>, to keep
the math fonts working I had to include the package as
<code>\usepackage[cm-default]{fontspec}</code>. </p>

<p><small>Note: <code>fontspec</code> mandates <code>xelatex</code>.</small></p>

<p>To use special characters I also found the <code>pifont</code> package. In my
current working document I use the Liberation Fonts and Courier New:</p>

<pre><code>\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont[SmallCapsFont={* Caps}]{Liberation Serif}
\setsansfont{Liberation Sans}
\setmonofont[SmallCapsFont={Courier New}]{Courier New}
\fontsize{10}{10}
</code></pre>

<p>LaTeX will make TrueType fonts slightly larger than its core
fonts, the <code>Scale=MatchLowercase</code> tries to remedy that.</p>

<h1>Graphics</h1>

<p>I'm using Inkspace to draw my graphics, an added bonus for
using TrueType fonts in my LaTeX documents is that I can 
use the same fonts in the Inkspace drawings. So any text
I add will be of the font Liberation Serif at 10 points.</p>

<p>Further more Inkscape has the nice feature that it can be
used on the command line</p>

<pre><code>$ inkscape --export-pdf=drawing.pdf drawing.svg
</code></pre>

<p>generates the pdf file. To make it fit in the document
we need to crop the resulting pdf</p>

<pre><code>$ pdfcrop drawing.pdf output.pdf &amp;&amp; mv output.pdf drawing.pdf
</code></pre>

<p>And now we are left with a nice, cropped, pdf. See 
<a href="http://en.wikibooks.org/wiki/LaTeX/Importing_Graphics">this link</a>
on how to include graphics in your LaTeX document, I just use:</p>

<pre><code>\begin{figure}[h!b]
\includegraphics{drawing.pdf}
\caption{Fake caption line.}
\end{figure
</code></pre>

<p>Which will probably be extended somewhat to allow for cross references
(search for <code>\label</code> and <code>\ref</code>).</p>

<h1>Building</h1>

<p>To help in the sometimes tedious building of LaTeX documents, I use
<code>make</code>. For instance creating the pdf graphic files from the svg 
source files is done with the following Makefile:</p>

<pre><code>pdfs := $(patsubst %.svg,%.pdf,$(wildcard *.svg))

%.pdf: %.svg
    inkscape --export-pdf=$@ $&lt;
    pdfcrop $@ output.pdf &amp;&amp; mv output.pdf $@

all: ${pdfs}

clean:  
    rm -f *.pdf
</code></pre>

<p>The only thing I need to do is to create a file with Inkscape,
save it and run <code>make</code>.</p>

<p>For the document itself I'm using a similar, small Makefile.</p>

<pre><code>.PHONY: fig

all:    fig go.pdf

go.pdf: go.tex go-setup.tex chapter*.tex ex*.tex src/*.go 
    xelatex go.tex &amp;&amp; xelatex go.tex

fig:    fig/*.svg
    ( cd fig; make all )

clean:
    rm -f go.lol go.aux go.log map.log go.pdf
    ( cd fig; make clean )
</code></pre>

<h1>Putting it all together</h1>

<p>Next to the above Makefiles I have the following in the
preamble:</p>

<pre><code>\documentclass[a4paper,openany]{memoir}
\usepackage[cm-default]{fontspec}% provides font selecting commands
\usepackage{xunicode}% provides unicode character macros
\usepackage{xltxtra} % provides some fixes/extras
\usepackage[answerdelayed,lastexercise]{exercise}
\usepackage{pifont}
\usepackage{caption}
\usepackage{alltt}
\usepackage{url}
\usepackage{listings}
\usepackage{color}
\usepackage{graphicx}

\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont[SmallCapsFont={* Caps}]{Liberation Serif}
\setsansfont{Liberation Sans}
\setmonofont[SmallCapsFont={Courier New}]{Courier New}
\fontsize{10}{10}
\graphicspath{{fig/}} % set default import pat

% among other \newcommands the follow environment for
% indented alltt (verbatim) text
\newenvironment{display}{%
  \def\FrameCommand{\hskip\parindent}%
  \MakeFramed {\advance\hsize-\width \FrameRestore}%
  \small
  \begin{alltt}
  }%
{\end{alltt}\endMakeFramed}
</code></pre>

<p>My master text <code>go.tex</code> used <code>\input</code> to include all other pieces
of text, so there I have:</p>

<pre><code>\chapter{Intro}
\input{chapter-intro.tex}
</code></pre>

<p>This keeps the main document file nice and clean and you can easily
re-arrange entire chapters. After any significant change I just
run <code>make</code> and view the resulting pdf file with <code>evince</code>, which is
an awesome pdf viewer btw. It looks something like this:</p>

<p><img src="http://www.miek.nl/gfx/2010/tex.png" width="400" alt="Screenie of sample page"/></p>

<p>The <em>very-much-work-in-progress</em> pdf can be seen
<a href="http://www.miek.nl/downloads/2010/go.pdf">here</a>.</p>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/01/28/dnssec_in_de_root_van_dns/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/01/28/dnssec_in_de_root_van_dns/index.html</guid>
<title>DNSSEC in de root van DNS</title>
<dc:date>2010-01-28T08:47:26+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> dutch, dns(sec)</dc:subject>
<description><![CDATA[<p>Ik ben ongeveer 4 jaar geleden gestopt bij
<a href="http://www.nlnetlabs.nl">NLnetLabs</a>, omdat ik 
<a href="http://www.dnssec.net/">DNSSEC</a> wel
een beetje zat was en het zou waarschijnlijk
nog <em>jaren</em> duren voordat DNSSEC op het hoogste
niveau ingevoerd zou gaan worden.</p>

<p>Maar nu lijkt het toch bijna zover te zijn. Ben benieuwd wanneer we echt
overstappen en er een officiele DNSSEC root key wordt gedistribueerd.</p>

<pre><code>% dig . @l.root-servers.net dnskey 

; &lt;&lt;&gt;&gt; DiG 9.5.1-P2.1 &lt;&lt;&gt;&gt; . @l.root-servers.net dnskey
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 64132
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;.              IN  DNSKEY

;; ANSWER SECTION:
.           86400   IN  DNSKEY  256 3 8 AwEAAa1Lh++++++++++++++++THIS/IS/AN/INVALID/KEY/AND/SHOULD
/NOT/BE/USED/CONTACT/ROOTSIGN/AT/ICANN/DOT/ORG/FOR/MOR E/INFORMATION+++++++++++++++++++++++++++++++++++++++++++ +++++++8
.           86400   IN  DNSKEY  257 3 8 AwEAAawBe++++++++++++++++THIS/IS/AN/INVALID/KEY/AND/SHOULD
/NOT/BE/USED/CONTACT/ROOTSIGN/AT/ICANN/DOT/ORG/FOR/MOR E/INFORMATION+++++++++++++++++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++8=

;; Query time: 119 msec
;; SERVER: 199.7.83.42#53(199.7.83.42)
;; WHEN: Thu Jan 28 08:43:00 2010
;; MSG SIZE  rcvd: 439
</code></pre>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/01/27/rdup_1_1_0/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/01/27/rdup_1_1_0/index.html</guid>
<title>rdup 1.1.0</title>
<dc:date>2010-01-27T19:21:28+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> rdup</dc:subject>
<description><![CDATA[<p>Maybe I'm marketing this to death, but I've released
<a href="http://www.miek.nl/projects/rdup11/">rdup version 1.1.0</a>
a couple of days ago.</p>

<p>It should rock! :-) Further details can be found on
the <a href="http://www.miek.nl/projects/rdup11/">temporary project page</a>.</p>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/01/21/go_introductie/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/01/21/go_introductie/index.html</guid>
<title>Go introductie</title>
<dc:date>2010-01-21T23:13:53+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> dutch</dc:subject>
<description><![CDATA[<p><a href="http://www.golang.org">Go</a> is een splinter nieuwe taal van
Google die (naar ik hoop) groot belooft te worden. Ik
heb al wat programmaatjes <a href="http://www.miek.nl/blog/archives/go/index.html">hierover
geschreven</a>, 
maar om de taal beter te leren kennen heb ik de 
<a href="http://golang.org/doc/go_tutorial.html">Go tutorial</a> vertaald
naar het Nederlands. Binnenkort verschijnt er ook een blog item
bij <a href="http://www.atcomputing.nl/blog">AT Computing</a> over <code>Go</code>.</p>

<p><a href="http://www.miek.nl/downloads/2010/go_tutorial.NL.txt">Dit</a> is nog
lang niet af, maar het begin is er. Er moet nog</p>

<ul>
<li>eens goed doorgelezen worden;</li>
<li>beter lopend verhaal van worden gemaakt;</li>
<li>spelling controle is ook geen overbodig luxe;</li>
<li>vergeleken worden met de laatste Engelse versie.</li>
</ul>

<p>Heb je zin om te helpen, laat het gewoon <a href="http://www.miek.nl/about/">even
weten</a>, als het allemaal teveel wordt
open ik wel een account op <a href="http://github.com/">github</a>.</p>

<p>Dit natuurlijk allemaal onder het mom van; <em>release early,
release often</em>. :-)</p>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/01/21/go_tutorial_in_dutch/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/01/21/go_tutorial_in_dutch/index.html</guid>
<title>Go tutorial in Dutch</title>
<dc:date>2010-01-21T19:55:42+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> go</dc:subject>
<description><![CDATA[<p>During the last few weeks I've attempted to translate the <a href="http://golang.org/doc/go_tutorial.html">Go
tutorial</a> to Dutch. 
This was a lot more work than anticipated and I'm still not finished,
but I just wanted to share what I've got up to now.</p>

<p>You can get the <a href="http://www.miek.nl/downloads/2010/go_tutorial.NL.txt">text version
here</a>.</p>

<p>Things do</p>

<ul>
<li>Finish translating the last few paragraphs;</li>
<li>Proof read;</li>
<li>Spell check;</li>
<li>Update it to the latest Go release;</li>
<li>Get this included in Go?</li>
</ul>]]></description>

</item>
<item>
<link>http://www.miek.nl/blog/archives/2010/01/18/release_notes_for_rdup_1_1_0/index.html</link>
<guid isPermaLink="true">http://www.miek.nl/blog/archives/2010/01/18/release_notes_for_rdup_1_1_0/index.html</guid>
<title>RELEASE NOTES for RDUP 1.1.0</title>
<dc:date>2010-01-18T19:47:07+01:00</dc:date>
<dc:creator>Miek Gieben</dc:creator>
<dc:subject> rdup</dc:subject>
<description><![CDATA[<blockquote>
  <p>These are the release notes for the soon 
to be released rdup 1.1.0.</p>
</blockquote>

<p>This is the first release of the new rdup branch, version 1.1.0.</p>

<h1>Why this new branch?</h1>

<p>I (and because of user requests) wanted to implement some extra features
which needed (extensive) code modifications. I did not want to mess
with the current stable release, hence a 1.1.x branch. However 1.1.x
will obsolete 1.0.x soonish.</p>

<blockquote>
  <p>What is the difference with 1.0.x?  (aka new features)</p>
</blockquote>

<ol>
<li>there is now only one default output format which always includes
the files' contents;</li>
<li>the rdup output is now more comparable with the tar archive format, with
the big difference of being able to <em>delete</em> files.</li>
<li>the new output includes: user- and groupnames and the modification
timestamp of the file. They can now be correctly set on remote 
systems. (I.e the uid 'bert' stays 'bert' even if the remote side
using a different uid <em>numbers</em> for 'bert');</li>
<li>more efficient, files are only read once. In rdup 1.0.x both rdup
and rdup-tr read files, in 1.1.x only rdup reads files.</li>
</ol>

<h1>With this change the following new features were added</h1>

<ul>
<li><code>rdup</code> now has a <code>-a</code> switch: restore a-time when reading files;</li>
<li><code>rdup-up</code> now sets the m-time on files it creates, this is the default;</li>
<li><code>rdup-up</code> sets the user- and groupname more correct, see point 3. above;</li>
<li><code>rdup-tr</code> can now be run on remote systems, because it receives the 
files' content on standard input.</li>
</ul>

<h1>This work led to the following changes</h1>

<ul>
<li>rdup has gotten the <code>-P</code> flag from rdup-up. This also makes the <code>-a</code>
flag work even <em>if</em> you pipe the files' through external programs:
they are only read once from disk;</li>
<li><code>rdup-tr</code> only processes from stdin to stdout;</li>
<li><code>rdup-up</code> only processes stdin;</li>
<li>much more tests are added to the test suite (<code>make check</code>);</li>
<li>code cleanups.</li>
</ul>

<p>Some future work will of course remain, but I'm happy with how
things turned out. A proper release will happen this week. </p>

<p>Those
interested may check out the <a href="http://www.miek.nl/cgi-bin/gitweb.cgi?p=rdup.git;a=shortlog;h=refs/heads/11dev">latest git code</a> and play with that.</p>]]></description>

</item>
</channel>
</rss>
