<?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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>expatiari expatria</title>
	<atom:link href="http://genaud.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://genaud.net</link>
	<description>genaud.net</description>
	<pubDate>Sun, 24 Aug 2008 14:53:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>ClearCase Globally, Git Locally</title>
		<link>http://genaud.net/2008/08/clearcase-globally-git-locally/</link>
		<comments>http://genaud.net/2008/08/clearcase-globally-git-locally/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 15:26:26 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[geek]]></category>

		<category><![CDATA[clearcase]]></category>

		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://genaud.net/2008/08/clearcase-globally-git-locally/</guid>
		<description><![CDATA[Thanks
ClearCase deserves all the credit for encouraging me to learn and love Git. Branching and merging is as fast and painless as listing changesets between any arbitrary branch or point in time. Did I say fast? No longer bound by ClearCase&#8217;s dictations and laborious linear progression, one can work off line, rollback, and experiment in [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Thanks</strong><br />
<a href="http://www-306.ibm.com/software/awdtools/clearcase/">ClearCase</a> deserves all the credit for encouraging me to learn and love <a href="http://git.or.cz">Git</a>. Branching and merging is as fast and painless as listing changesets between any arbitrary branch or point in time. Did I say fast? No longer bound by ClearCase&#8217;s dictations and laborious linear progression, one can work off line, rollback, and experiment in multiple branches, travel into the past, and explore limitless parallel dimensions. While inspired by <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/ch03.html#id2543521">some</a> <a href="http://www.turbodad.com/2008/04/07/improving-clearcase-workflow-with-git/">other</a> <a href="http://www.littleredbat.net/mk/blog/story/63/">solutions</a>, I believe what follows is the cleanest imposition of a Git repository upon a ClearCase snapshot view.</p>
<p><strong>Summary</strong><br />
The following setup, namely a combined snapshot cloned locally, allows Git to track a ClearCase snapshot view without external functions (such as rsync), minimizing hijacks, untracked files, and encourages somewhat standard workflows with both ClearCase UCM and Git, without putting any limits on what can be done with a Git repository. This recipe assumes that the reader is proficient with the Unix/<a href="http://www.cygwin.com/">Cygwin</a> shell, Git, and ClearCase. In short, we will:</p>
<ul>
<li>Initialize a Git repository upon an existing pristine ClearCase snapshot view</li>
<li>Clone the snapshot as a Git repository</li>
<li>Track the master branch of the clone from the snapshot</li>
<li>Perform all ClearCase rebases, updates, checkins, and deliveries only in the snapshot</li>
<li>Work in branches of the Git clone</li>
<li>Pull between the master branches of the snapshot and clone repositories</li>
</ul>
<p><strong>Getting started</strong><br />
It is easiest to start with a fresh ClearCase snapshot view (what we&#8217;ll call snapshot) of which we&#8217;ll modify the <a href="http://www.kernel.org/pub/software/scm/git/docs/gitignore.html">.git/info/exclude</a> file (see below) to hide some of the ClearCase plumbing from Git. Then we <a href="http://www.kernel.org/pub/software/scm/git/docs/git-add.html">add</a> all the tracked content to a newly initialized git repository (which is one and the same as the ClearCase snapshot view), <a href="http://www.kernel.org/pub/software/scm/git/docs/git-clone.html">clone</a> it, and remote track the clone&#8217;s master branch. Now the clone (by default) and snapshot are tracking each other:</p>
<pre class="pre-sans-serif">
 $ cd snapshot
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-init.html">git init</a>
 $ cat >> <a href="http://www.kernel.org/pub/software/scm/git/docs/gitignore.html">.git/info/exclude</a>
.gitignore
view.dat
lost+found/
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-add.html">git add</a> .
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-commit.html">git commit</a> -m init
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-clone.html">git clone</a> -o snapshot . ../clone
 $ <i><a href="http://www.kernel.org/pub/software/scm/git/docs/git-clone.html">git remote</a> add -t master -m master clone ../clone</i>
</pre>
<p>(The last step, &#8216;git remote add&#8217;, when last tested does not seem to work. It&#8217;s not necessary, but if we could get it to work, it could be cool.)</p>
<p>We will want to keep the snapshot <a href="/uploads/2008/08/pristine/">pristine</a> (see below). It should only be used as a staging area between upstream rebases and checkins, and downstream pulls. As far as possible, all development, branches, and merging should occur in the work clone. The snapshot could just as easily be used by multiple people, say a team working on a common project. In that case, I might recommend another bare clone. But here, we&#8217;ll assume all Git repositories (including the overlapping ClearCase snapshot) are locally used by one developer.</p>
<p><strong>Git ignore</strong><br />
There are multiple ways to hide files from Git&#8217;s tracking view including <a href="http://www.kernel.org/pub/software/scm/git/docs/gitignore.html">.gitignore</a> files scattered anywhere within the directory structure. This may very well be appropriate within the clone development branches to hide build artifacts, temporary files, etc. There, in the clone, you should consider whether you want to share the .gitignore files (before committing them) or add .gitignore to the root .gitignore file, thus ignoring itself.</p>
<p>In the snapshot, however, I&#8217;ve chosen to use the <a href="http://www.kernel.org/pub/software/scm/git/docs/gitignore.html">.git/info/exclude</a> file instead because it is applied to the entire repository and is already hidden from Git&#8217;s tree. The snapshot has very different tracking requirements. We&#8217;ll want to filter out all of the Git and ClearCase plumbing such as view.dat, .vws, and any <a href="http://www.kernel.org/pub/software/scm/git/docs/gitignore.html">.gitignore</a> files that try to come upstream from the clone. However, we generally want to be aware of everything that passes through our snapshot. To that end, we want to ignore very little and consider all untracked files. A file untracked by one system indicates a new addition in the other or a deletion the other doesn&#8217;t yet know about. No files should ever be untracked by both ClearCase and Git in the snapshot.</p>
<p><strong>ClearCase update and rebase</strong><br />
I always run &#8220;Find modified files&#8221; from the ClearCase explorer before rebasing or delivering to ClearCase. Checkin, undo hijacks, etc, as appropriate to preserve a <a href="/uploads/2008/08/pristine/">pristine</a> snapshot. We&#8217;ll need to <a href="http://www.kernel.org/pub/software/scm/git/docs/git-add.html">add</a> (or <a href="http://www.kernel.org/pub/software/scm/git/docs/git-rm.html">remove</a>) upstream changes after updating or rebasing the snapshot. Modified files can be easily added to the Git index on <a href="http://www.kernel.org/pub/software/scm/git/docs/git-commit.html">commit</a> (with the -a flag).</p>
<pre class="pre-sans-serif">
# cd to snapshot
# rebase or update from ClearCase upstream
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-status.html">git status</a>
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-add.html">git add</a> (/some/files)
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-rm.html">git rm</a> (/old/files)
# repeat above until ClearCase changeset is in the index (no untracked files)
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-commit.html">git commit</a> -c "some comment"
</pre>
<p><strong>Downstream development</strong><br />
Assuming we&#8217;ve been developing in one or many branches within the clone, eventually some changes are bound to emerge interesting and stable enough to share with others. We&#8217;ll use the master branch of clone to stage our merges before delivering a pretty package upstream. First, we&#8217;ll need to be in sync with the snapshot. If snapshot is not <a href="/uploads/2008/08/pristine/">pristine</a>, we need to get it to that state. If there are commits in snapshot not found in the clone&#8217;s master, we should <a href="http://www.kernel.org/pub/software/scm/git/docs/git-pull.html">pull</a> (or <a href="http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html">rebase</a>).</p>
<p>After clone&#8217;s master is equal to snapshot or contains a strict superset of changes, we can stage our changes in the master branch of clone. How we do that in the sidestream branches is completely up to you: rebase, pull, merge, squash, octopus, rebase -i. We commit a new feature into its own branch ready to be <a href="http://www.kernel.org/pub/software/scm/git/docs/git-merge.html">merged</a> and <a href="http://www.kernel.org/pub/software/scm/git/docs/git-pull.html">pulled</a> upstream. Our workflow might look something like this:</p>
<pre class="pre-sans-serif">
 $ cd ../clone
 $ diff -r . ../snapshot
(nothing)
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-checkout.html">git checkout</a> feature
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html">git rebase</a> master
# test, work, test
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-checkout.html">git checkout</a> master
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-pull.html">git pull</a> feature
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-branch.html">git branch</a> -d feature
</pre>
<p><strong>Checkin to ClearCase</strong><br />
In the snapshot we&#8217;ll pull from clone&#8217;s master and deliver the changes upstream. We may have to manually add, remove, and checkout/in our changes to ClearCase. To help, we can <a href="http://www.kernel.org/pub/software/scm/git/docs/git-tag.html">tag</a> before pulling and display the file names as a difference along with the status (new, deleted, modified).</p>
<pre class="pre-sans-serif">
 $ cd ../snapshot
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-tag.html">git tag</a> before
 $ <i><a href="http://www.kernel.org/pub/software/scm/git/docs/git-pull.html">git pull</a> ../clone</i>
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-diff.html">git diff</a> --name-status before
</pre>
<p>(The &#8216;git remote add&#8217; could have been handy here)</p>
<p><strong>Automation</strong><br />
While the difference above could help us manually deliver upstream, the output of the last line above could very well be used in a script to deliver to ClearCase. Though I imagine procedures differ from environment to environment. I have not automated the ClearCase delivery myself, but here is a rough sketch:</p>
<pre class="pre-sans-serif">
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-diff.html">git diff</a> --name-status before > diff_before
 $ grep ^A diff_before | sed "s/^../cleartool mkelem /"
 $ grep ^M diff_before | sed "s/^../cleartool cc /"
 $ grep ^D diff_before | sed "s/^../cleartool rmname /"
 $ grep ^[ADM] diff_before | sed "s/^../cleartool ci /"
</pre>
<p><strong>Pristine</strong><br />
Similarly, the <a href="/uploads/2008/08/pristine/">pristine</a> state could be checked with &#8216;git status&#8217; and the ClearCase explorer. However, I&#8217;ve found the following commands helpful:</p>
<pre class="pre-sans-serif">
 $ find . -type f -writable | grep -v lost+found | grep -v view.dat
 $ find . -type f -name *keep
 $ find . -type d -name *unloaded
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-diff.html">git diff</a> --name-only HEAD
 $ <a href="http://www.kernel.org/pub/software/scm/git/docs/git-ls-files.html">git ls-files</a> --others | grep -v .git | grep -v lost+found | grep -v view.dat
 $ cleartool ls -recurse -view -short | grep -v lost+found
 $ cleartool lsco -me -recurse -short
 $ cleartool ls -recurse | grep "\[hijacked\]"
</pre>
<p>Or a script which simplifies the above. This may evolve into a full <a href="/uploads/2008/08/pristine/">git-clearcase</a> tool if it proves useful:</p>
<pre class="pre-sans-serif">
 $ <a href="/uploads/2008/08/pristine/">pristine</a>
Checking writable...    OK
Checking artifacts...   OK
Checking Git status...  OK
Checking CC Untrack...  OK
Checking CC Checkouts...OK
Checking CC Hijacks...  OK
</pre>
<pre>
$ <a href="/uploads/2008/08/pristine/">pristine</a> --help
usage: pristine [-[waguch]] [ dir... ]

   Flags: Check directories for...
       -w writable files (possibly hijacked)
       -a artifacts such as *.keep and *.unloaded
       -g Git status including untracked files
       -u ClearCase untracked files and directories
       -c ClearCase checked out files and directories
       -h ClearCase hijacked files and directories

   Note:
       The flags above are ordered considering
       speed and likelihood of failure (-w) to the
       slower operations (-ch).

       The ClearCase checks may be slower than other
       checks. -w is a reasonable substitute for -h
       although not technically the same (a file may
       be readonly and still hijacked)
</pre>
<p>Happy coding.</p>
]]></content:encoded>
			<wfw:commentRss>http://genaud.net/2008/08/clearcase-globally-git-locally/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jordan Frisbee and Tatiana Mollmann</title>
		<link>http://genaud.net/2008/04/jordan-tatiana/</link>
		<comments>http://genaud.net/2008/04/jordan-tatiana/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 17:56:37 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[kamma]]></category>

		<category><![CDATA[dance]]></category>

		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://genaud.net/2008/04/jordan-tatiana/</guid>
		<description><![CDATA[

Sexy sexy made up of plexi disasters
Pushing and pulling conservative rolling
Unlike plastic, easier to see through
Just like glass with no ring
Softer and sadder you sing
Sexy sexy do your thing
Learn to be shy and then you can sting
Plexi, plexi bend don&#8217;t shatter
Once your broken shape won&#8217;t matter


Your breaking your mind
By killing the time that kills you
But [...]]]></description>
			<content:encoded><![CDATA[<div><object width="520" height="409"><param name="movie" value="http://www.dailymotion.com/swf/x42v1v&#038;v3=1&#038;colors=background:DDDDDD;glow:FFFFFF;foreground:333333;special:FFC300;&#038;related=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.dailymotion.com/swf/x42v1v&#038;v3=1&#038;colors=background:DDDDDD;glow:FFFFFF;foreground:333333;special:FFC300;&#038;related=1" type="application/x-shockwave-flash" width="520" height="409" allowFullScreen="true" allowScriptAccess="always"></embed></object></div>
<p>
Sexy sexy made up of plexi disasters<br />
Pushing and pulling conservative rolling<br />
Unlike plastic, easier to see through<br />
Just like glass with no ring<br />
Softer and sadder you sing<br />
Sexy sexy do your thing<br />
Learn to be shy and then you can sting<br />
Plexi, plexi bend don&#8217;t shatter<br />
Once your broken shape won&#8217;t matter
</p>
<p>
Your breaking your mind<br />
By killing the time that kills you<br />
But you can&#8217;t blame the time<br />
When its only in your mind
</p>
<p>
Quickly quickly grow and then you&#8217;ll know<br />
It is such and awkward show to see<br />
And everyone you wanted to know<br />
And everyone you wanted to meet<br />
Have all gone away<br />
Well they&#8217;ve all gone away
</p>
<p>
And now you&#8217;re<br />
Breaking your mind<br />
By killing the time that kills you<br />
But you cant blame the time<br />
When its only in your mind
</p>
<p>
<dd>&#8211;Jack Johnson (Sexy Plexi)</dd></p>
]]></content:encoded>
			<wfw:commentRss>http://genaud.net/2008/04/jordan-tatiana/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fødselsdag</title>
		<link>http://genaud.net/2007/11/fodselsdag/</link>
		<comments>http://genaud.net/2007/11/fodselsdag/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 10:55:55 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[copenhagen]]></category>

		<category><![CDATA[kamma]]></category>

		<category><![CDATA[lingua]]></category>

		<category><![CDATA[poem]]></category>

		<category><![CDATA[song]]></category>

		<guid isPermaLink="false">http://genaud.net/2007/11/fodselsdag/</guid>
		<description><![CDATA[

I dag er det Alexs fødselsdag,
hurra hurra hurra,
han sikkert sig en gave får,
som han har ønsket sig i år,
med dejlig chokolade og kager til.


Hvor smiler han, hvor er han glad,
hurra hurra hurra,
men denne dag er også rar,
for hjemme venter mor og far
med dejlig chokolade og kager til.


Og når han hjem fra skole går,
hurra hurra hurra,
så [...]]]></description>
			<content:encoded><![CDATA[<div poplang="da" dictid="7ba" dicturl="/uploads/2007/11/data_fodselsdag.xml">
<p>
I dag er det Alexs fødselsdag,<br />
hurra hurra hurra,<br />
han sikkert sig en gave får,<br />
som han har ønsket sig i år,<br />
med dejlig chokolade og kager til.
</p>
<p>
Hvor smiler han, hvor er han glad,<br />
hurra hurra hurra,<br />
men denne dag er også rar,<br />
for hjemme venter mor og far<br />
med dejlig chokolade og kager til.
</p>
<p>
Og når han hjem fra skole går,<br />
hurra hurra hurra,<br />
så skal han hjem og holde fest<br />
og hvem der kommer med som gæst<br />
får dejlig chokolade og kager til.
</p>
<p>
Til slut vi råber højt i kor,<br />
hurra hurra hurra,<br />
gid Alex længe leve må,<br />
og sine ønsker opfyldt få,<br />
og dejlig chokolade og kager til.
</p>
</div>
<p><a href="/uploads/2007/11/idag_er_det_x_foedselsdag.01.mp3">mp3</a><br />
<a href="/uploads/2007/11/foedselsdagssangen_pre.mp3">mp3</a></p>
<p>(hover over for English translations)</p>
]]></content:encoded>
			<wfw:commentRss>http://genaud.net/2007/11/fodselsdag/feed/</wfw:commentRss>
		</item>
		<item>
		<title>KISS Goodbye</title>
		<link>http://genaud.net/2007/09/kiss-goodbye/</link>
		<comments>http://genaud.net/2007/09/kiss-goodbye/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 13:30:25 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[copenhagen]]></category>

		<category><![CDATA[lingua]]></category>

		<guid isPermaLink="false">http://genaud.net/2007/09/kiss-goodbye/</guid>
		<description><![CDATA[(I&#8217;ve posted the first five levels including audio)
København opsiger aftale med sprogskole
Københavns Kommune afbryder med øjeblikkelig virkning sit samarbejde med den ellers så populære sprogskole KISS. Skolen undrer sig over kommunens beslutning.
Sprogskolen KISS i København skylder Københavns Kommune millioner af kroner, og derfor har kommunen opsagt aftalen med sprogskolen. Ifølge Beskæftigelses- og Integrationsforvaltningen har skolen [...]]]></description>
			<content:encoded><![CDATA[<p>(I&#8217;ve posted the first <a href="/2007/09/kiss-indledende-dansk-lektioner/" rel="bookmark" title="Permanent link to 'KISS indledende dansk lektioner'">five levels</a> including audio)</p>
<p><strong>København opsiger aftale med sprogskole</strong></p>
<p>Københavns Kommune afbryder med øjeblikkelig virkning sit samarbejde med den ellers så populære sprogskole KISS. Skolen undrer sig over kommunens beslutning.</p>
<p>Sprogskolen KISS i København skylder Københavns Kommune millioner af kroner, og derfor har kommunen opsagt aftalen med sprogskolen. Ifølge Beskæftigelses- og Integrationsforvaltningen har skolen misligholdt de økonomiske aftaler og skylder kommunen 4,5 millioner kroner. Skolens forstander, Steen A. Christensen, undrer sig over kommunens beslutning.</p>
<p>»Vi har et stigende antal kursister og kunne sagtens overholde den afbetalingsordning, som kommunen nu er sprunget fra«, siger Christensen, der nu bliver nødt til at lukke skolen.</p>
<p>KISS, som står for Københavns Intensive Sprog Skole, har eksisteret i mere end 35 år og er anerkendt for at have landets mest effektive kursus for udlændinge. Skolens elever får tilbud om at fortsætte undervisningen på andre sprogskoler. </p>
<p><a href="/kiss" rel="bookmark" title="Permanent link to 'KISS'"><img src="/uploads/2007/09/kiss_frontpage.jpg" /></a><strong>Copenhagen gives notice agreement to language school</strong></p>
<p>Københavns Kommune (Copenhagen&#8217;s County) ends cooperation with the otherwise popular language school KISS with immediate effect. The school is surprised over the local authority&#8217;s decision.</p>
<p>The language school KISS in Copenhagen owes Københavns Kommune millions of crowns, and therefore the local authority has given notice the agreement with the language school. According to Employment and Integration Association (Beskæftigelses og Integrationsforvaltningen), the school has failed to fulfill the financial agreements and owes the local authority 4.5 million crowns. The school&#8217;s principal, Steen A. Christensen, is surprised over the local authority&#8217;s decision.</p>
<p>&#8220;We have a rising number of participants and could easily respect the repayment arrangement that the local authority has now retracted&#8221;, says Christensen, who now becomes obliged to close the school.</p>
<p>KISS, which stands for Copenhagen&#8217;s Intensive Language School (Københavns Intensive Sprog Skole), has existed for more than 35 years and is reputed to the country&#8217;s most effective course for foreigners. The school&#8217;s pupils get offers of continuing the teaching at other language schools.</p>
]]></content:encoded>
			<wfw:commentRss>http://genaud.net/2007/09/kiss-goodbye/feed/</wfw:commentRss>
		</item>
		<item>
		<title>KISS indledende dansk lektioner</title>
		<link>http://genaud.net/2007/09/kiss-indledende-dansk-lektioner/</link>
		<comments>http://genaud.net/2007/09/kiss-indledende-dansk-lektioner/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 09:00:39 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[copenhagen]]></category>

		<category><![CDATA[dhamma]]></category>

		<category><![CDATA[lingua]]></category>

		<guid isPermaLink="false">http://genaud.net/?p=221</guid>
		<description><![CDATA[Bog V, lektion 1-7
Hvad betyder det for dig at have et arbejde?
Bog IV, lektion 1-8
Undskyld, jeg forstyrrer. Har du meget travelt?
Bog III, lektion 1-9
Hvad er det smukkeste sted i Danmark?
Bog II, lektion 1-8
Jeg lærer altid mine sætninger, når jeg kommer hjem.
Bog I, lektion 1-9
Dav. Hvad hedder du?
]]></description>
			<content:encoded><![CDATA[<p><a href="/kiss/bog05/">Bog V, lektion 1-7</a><br />
<i>Hvad betyder det for dig at have et arbejde?</i></p>
<p><a href="/kiss/bog04/">Bog IV, lektion 1-8</a><br />
<i>Undskyld, jeg forstyrrer. Har du meget travelt?</i></p>
<p><a href="/kiss/bog03/">Bog III, lektion 1-9</a><br />
<i>Hvad er det smukkeste sted i Danmark?</i></p>
<p><a href="/kiss/bog02/">Bog II, lektion 1-8</a><br />
<i>Jeg lærer altid mine sætninger, når jeg kommer hjem.</i></p>
<p><a href="/kiss/bog01/">Bog I, lektion 1-9</a><br />
<i>Dav. Hvad hedder du?</i></p>
]]></content:encoded>
			<wfw:commentRss>http://genaud.net/2007/09/kiss-indledende-dansk-lektioner/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.410 seconds -->
