<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://ydal.de/wp-atom.php">
	<title type="text">ydal</title>
	<subtitle type="text">Miscellaneous nerdy tidbits of one Tobias 'towo' Wolter.</subtitle>

	<updated>2010-02-26T02:23:45Z</updated>
	<generator uri="http://wordpress.org/" version="2.9.2">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://ydal.de" />
	<id>http://ydal.de/feed/atom/</id>
	

			<feedburner:info uri="ydal" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://ydal.de/feed/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://ydal.de/feed/" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Fydal.de%2Ffeed%2F" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:browserFriendly>The feed of the personal homepage of Tobias ‘towo’ Wolter, which suffers from the usual neglect of people too busy with other things to actually care about their homepage.</feedburner:browserFriendly><entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[A new reason for leaving Ubuntu]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/tefgjVOMyG8/" />
		<id>http://ydal.de/?p=404</id>
		<updated>2010-02-26T02:23:45Z</updated>
		<published>2010-02-26T02:23:45Z</published>
		<category scheme="http://ydal.de" term="Articles" /><category scheme="http://ydal.de" term="Ubuntu" />		<summary type="html"><![CDATA[Why you should stop using Ubuntu.]]></summary>
		<content type="html" xml:base="http://ydal.de/a-new-reason-for-leaving-ubuntu/">&lt;p&gt;So, if you’re wondering yourself: “Why, Ubuntu is in the process of making everything quite a bit more annoying and fucking things up”, yet still think “that might just be misjudged opinion”, then fret no more. There’s an easy way to now know that Canonical has officially gone bonkers.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://wiki.ubuntu.com/Specs/LucidUbuntuOneMusicStore"&gt;The Ubuntu One Music Store&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After installing an annoying App Market-like “Software center” by default, switching users over to a IM client that’s only remotely usable, trying to sell you a cloud-based storage solution and switching to &lt;em&gt;&lt;strong&gt;Yahoo&lt;/strong&gt;&lt;/em&gt; as the default search engine, you really have to wonder what the guys responsible are up to.&lt;/p&gt;
&lt;p&gt;So.&lt;/p&gt;
&lt;p&gt;In short, Canonical is on the verge of going Apple. Just bail boat while you still can.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/tefgjVOMyG8" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/a-new-reason-for-leaving-ubuntu/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/a-new-reason-for-leaving-ubuntu/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://ydal.de/a-new-reason-for-leaving-ubuntu/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[D&amp;D item: Martyr’s Collar]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/aLNIzyEwlXs/" />
		<id>http://ydal.de/?p=313</id>
		<updated>2010-02-01T21:27:21Z</updated>
		<published>2010-02-01T21:27:21Z</published>
		<category scheme="http://ydal.de" term="Articles" /><category scheme="http://ydal.de" term="D&amp;D" /><category scheme="http://ydal.de" term="Dungeons and Dragons" /><category scheme="http://ydal.de" term="item" /><category scheme="http://ydal.de" term="magic item" />		<summary type="html"><![CDATA[A new magic item for D&#038;D, allowing a character to heroically sacrifice himself to save his friends.]]></summary>
		<content type="html" xml:base="http://ydal.de/dnd-item-martyrs-collar/">&lt;p&gt;Seeing how everyone else is currently creating interesting items, I thought that I should throw one of my ideas into the mix. And after a bit of tinkering with how it should work, I present:&lt;/p&gt;
&lt;div class="dnd-magic-item" style="width: 30em; background-color: #F0F0F0; color: black; margin: 1em; font-family: Helvetica"&gt;
&lt;h1 style="font-size: 1.2em; padding: 0 .25em; margin: 0; background-color: #d9a00c; color: white "&gt;Martyr’s Collar &lt;span class="item-level" style="float: right"&gt;Level 5&lt;/span&gt;&lt;/h1&gt;
&lt;div class="flavour" style="font-style: italic !important; margin: 0; padding: 0;"&gt;
&lt;p style="padding: 0 .6em; margin: 0"&gt;Resting tight against the throat, the wearer is always reminded of the price of sacrifice.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="statistics" style="margin: -1 em 0 0 0; padding: 0 .25em;"&gt;
&lt;p class="single-price" style="float: right; margin: 0; padding 0 .25em"&gt;Lv 5   1.000 gp&lt;/p&gt;
&lt;dl style="clear: both; padding: 0 .25em"&gt;
&lt;dt style="font-weight: bold; float: left; padding-right: .5em"&gt;Item slot:&lt;/dt&gt;
&lt;dd style="margin: 0;"&gt;Neck&lt;/dd&gt;
&lt;dt style="font-weight: bold; float: left; padding-right: .5em"&gt;Property:&lt;/dt&gt;
&lt;dd style="margin: 0;"&gt;This item can mean instant death for the character. To wield it, the character must succeed at a hard willpower check. After three failures, the character needs to take an extended rest before trying again.&lt;/dd&gt;
&lt;/div&gt;
&lt;div class="powers"&gt;
&lt;dl&gt;
&lt;dt style="font-weight: bold; float: left; padding: 0 .5em 0 .5em; background-color: #deddc7;"&gt;Power (At-Will ♦ Necrotic):&lt;/dt&gt;
&lt;dd style="margin: -1em 0 0 0; background-color: #deddc7; padding: 0 .5em;"&gt;Standard action. A conscious and willing character may activate the collar while it is around their throat. The collar magically constricts, severing the user’s head from their body. The user’s life energy serves as a power source for the collar and sends every attuned ally in range (burst 10) to the point defined by the attuning process. &lt;br /&gt; Being able to survive the decapitation does not save the user, as all of their life energy is used up to power the collar’s magic. &lt;br /&gt;The allies do not need to be willing, conscious, or even alive. If, for whatever reason, the destination is not reachable, the collar will not activate. After the teleportation, the collar expands to its normal proportions and loses any attunement.&lt;/dd&gt;
&lt;dt style="font-weight: bold; float: left; padding: 0 .5em 0 .5em; background-color: #F0F0F0;"&gt;Power (Daily):&lt;/dt&gt;
&lt;dd style="margin: 0; background-color: #F0F0F0; padding: 0 .5em;"&gt;Standard action. Every willing ally in a burst 5 are attuned to the collar, and the item itself is attuned to the location. When the at-will power is used, all allies attuned and in range are transported back to the current location. The collar does not need to be worn to be attuned; any character touching the item can initiate the process. When passing between owners, the item does not lose connection to any attuned user or the attuned location.&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Nobody really knows how these devices ever came to be, but they seem to have been used by devout and loyal warriors throughout time to save comrades from certain death by using their own life to shield them. The ultimate heroic sacrifice, most souls sacrificing their bodies this way ascend to the Astral Sea.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/aLNIzyEwlXs" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/dnd-item-martyrs-collar/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/dnd-item-martyrs-collar/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://ydal.de/dnd-item-martyrs-collar/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[Trusting self-signed certificates with Google Chrome on Linux]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/JS3-oanvVFY/" />
		<id>http://ydal.de/?p=301</id>
		<updated>2010-01-28T13:53:06Z</updated>
		<published>2010-01-25T19:09:54Z</published>
		<category scheme="http://ydal.de" term="Articles" /><category scheme="http://ydal.de" term="certificates" /><category scheme="http://ydal.de" term="Google Chrome" /><category scheme="http://ydal.de" term="security" /><category scheme="http://ydal.de" term="self-signed certificate" /><category scheme="http://ydal.de" term="SSL" />		<summary type="html"><![CDATA[How to trust a self-signed certificate in Google Chrome.]]></summary>
		<content type="html" xml:base="http://ydal.de/trusting-self-signed-certificates-with-google-chrome-on-linux/">&lt;p&gt;&lt;em&gt;Update: added the “C” flag to SSL attributes which I accidentally forgot to include.&lt;br /&gt;Also changed $HOST to $host, as $HOST is the shell parameter for the current hostname…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you’re not really sure about how you can stop Chrome from permanently reminding you that the server you’re connecting to is a bad boy (read: using a self-signed certificate), you’ll probably end up looking at &lt;a href="http://wiki.cacert.org/BrowserClients"&gt;CACert’s Browser Client page&lt;/a&gt; by way of Google. With a bit of reading documentation, you can probably find out how to import a self-signed certificate and mark it as trusted, but since you’re probably lazy, you’d rather just copy and paste a few instructions.&lt;/p&gt;
&lt;p&gt;First, I have to stress is that blindly trusting a certificate you download off the internet is a &lt;strong&gt;&lt;em&gt;Bad Idea&lt;/em&gt;&lt;/strong&gt;. But expressing a certain laissez-faire attitude: if you’re stupid enough to copy and paste blindly, you deserve it.&lt;/p&gt;
&lt;p&gt;Second, simple copy and paste instructions:&lt;/p&gt;
&lt;pre&gt;
openssl s_client -connect $host:443 -showcerts &gt; temporary_file
certutil -d sql:$HOME/.pki/nssdb -A -t CP,,C -n "$host" -i temporary_file
&lt;/pre&gt;
&lt;p&gt;Third, explanations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;s_client&lt;/strong&gt; just connects to the given hostname, 443 being, as you should know, the (default) HTTP SSL port.&lt;/li&gt;
&lt;li&gt;–showcerts shows all kinds of information about the certificate, including the certificate itself. You will probably have to hit ^C/^D to stop s_client.&lt;/li&gt;
&lt;li&gt;If you get multiple (and different) certificates, first one will be the server certificate, and second one the CA certificate.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;certutil&lt;/strong&gt; (package hint: &lt;em&gt;libnss3-tools&lt;/em&gt; can be used to manage your local «Network Security Services» SQLite database.&lt;/li&gt;
&lt;li&gt;The specified argument for certutil are:
&lt;ol&gt;
&lt;li&gt;The database to use (in this case, the user-specific NSS database).&lt;/li&gt;
&lt;li&gt;The flag to add something to the database (-A).&lt;/li&gt;
&lt;li&gt;The “trust types” for the certificate, in “SSL, S/MIME, CA” notification: “P” for a trusted peer, and “C” for a certificate authority that may issue server certificates.&lt;/li&gt;
&lt;li&gt;A shortname to identify the certificate in the database. The hostname works well and is fairly obvious.&lt;/li&gt;
&lt;ol&gt;
&lt;/ul&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/JS3-oanvVFY" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/trusting-self-signed-certificates-with-google-chrome-on-linux/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/trusting-self-signed-certificates-with-google-chrome-on-linux/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://ydal.de/trusting-self-signed-certificates-with-google-chrome-on-linux/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[A records on top level domains]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/7ntSyGlO12A/" />
		<id>http://ydal.de/?p=287</id>
		<updated>2010-01-08T15:30:37Z</updated>
		<published>2010-01-08T15:30:37Z</published>
		<category scheme="http://ydal.de" term="Articles" />		<summary type="html"><![CDATA[After I stumbled upon the wonderful URL shortener http://to/ today and immediately began posting it on IRC, I received a comment that someone didn’t even know that is was possible to do so. I, of course, could only comment “of course it’s possible”. But in the same train of thought, I just had to have [...]]]></summary>
		<content type="html" xml:base="http://ydal.de/a-records-on-top-level-domains/">&lt;p&gt;After I stumbled upon the wonderful URL shortener http://to/ today and immediately began posting it on IRC, I received a comment that someone didn’t even know that is was possible to do so. I, of course, could only comment “of course it’s possible”. But in the same train of thought, I just had to have a look at &lt;em&gt;who else&lt;/em&gt; has a valid A record on their top level domain. So I fetched &lt;a href="http://data.iana.org/TLD/tlds-alpha-by-domain.txt"&gt;the IANA TLD list&lt;/a&gt; and, after being baffled by the punycode TLDs, threw some sh at the problem:&lt;br /&gt;
&lt;code&gt;(for domain in $(grep -v '^#' tlds-alpha-by-domain.txt); do host -t A "${domain}."; done) | grep -v 'has no A record'&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;For the sake of enjoyability, I thus offer the results in table form, along with what kind of site is running on port 80. Data timestamp is 2010–01-08T16:05:00+0100, location for routing is DTAG-DIAL26 / AS3320.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;TLD&lt;/th&gt;
&lt;th&gt;IP&lt;/th&gt;
&lt;th&gt;content (port 80)&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AC&lt;/td&gt;
&lt;td&gt;193.223.78.210&lt;/td&gt;
&lt;td&gt;“Always connected” (NIC.AC)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;209.59.119.34&lt;/td&gt;
&lt;td&gt;“Offshore Information Services”&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BI&lt;/td&gt;
&lt;td&gt;196.2.8.205&lt;/td&gt;
&lt;td&gt;“It works!”&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CM&lt;/td&gt;
&lt;td&gt;195.24.205.60&lt;/td&gt;
&lt;td&gt;&lt;kbd&gt;cm [195.24.205.60] 80 (www) : Connection refused&lt;/kbd&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DK&lt;/td&gt;
&lt;td&gt;193.163.102.23&lt;/td&gt;
&lt;td&gt;“DK Hostmaster” (NIC.DK)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GG&lt;/td&gt;
&lt;td&gt;87.117.196.80&lt;/td&gt;
&lt;td&gt;Channel Isles Domain Registration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HK&lt;/td&gt;
&lt;td&gt;203.119.2.28&lt;/td&gt;
&lt;td&gt;&lt;kbd&gt;hk [203.119.2.28] 80 (www) : No route to host&lt;/kbd&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IO&lt;/td&gt;
&lt;td&gt;193.223.78.212&lt;/td&gt;
&lt;td&gt;NIC.IO&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JE&lt;/td&gt;
&lt;td&gt;87.117.196.80&lt;/td&gt;
&lt;td&gt;Channel Isles Domain Registration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PH&lt;/td&gt;
&lt;td&gt;203.119.4.7&lt;/td&gt;
&lt;td&gt;HTTP 500.100 via broken Microsoft IIS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PN&lt;/td&gt;
&lt;td&gt;80.68.93.100&lt;/td&gt;
&lt;td&gt;Apache default home page&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PW&lt;/td&gt;
&lt;td&gt;203.199.114.33&lt;/td&gt;
&lt;td&gt;&lt;kbd&gt;pw [203.199.114.33] 80 (www) : No route to host&lt;/kbd&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SH&lt;/td&gt;
&lt;td&gt;64.251.31.234&lt;/td&gt;
&lt;td&gt;&lt;kbd&gt;sh [64.251.31.234] 80 (www) : No route to host&lt;/kbd&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TK&lt;/td&gt;
&lt;td&gt;217.119.57.22&lt;/td&gt;
&lt;td&gt;“TK your long URL”, free .tk domain name registry&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TM&lt;/td&gt;
&lt;td&gt;193.223.78.213&lt;/td&gt;
&lt;td&gt;NIC.TM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TO&lt;/td&gt;
&lt;td&gt;216.74.32.107&lt;/td&gt;
&lt;td&gt;TO./ URL shortener&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UZ&lt;/td&gt;
&lt;td&gt;91.212.89.8&lt;/td&gt;
&lt;td&gt;some WAP page I can’d decipher&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WS&lt;/td&gt;
&lt;td&gt;63.101.245.10&lt;/td&gt;
&lt;td&gt;&lt;kbd&gt;ws [63.101.245.10] 80 (www) : Connection timed out&lt;/kbd&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;So, in short, 5 of 18 (27%) are downright broken, one is being autistic, and a further 2 (11%) are not configured to do anything meaningful, leading to a total of 8 — or 44% — of TLD A records being useless. Bonus: &lt;em&gt;none&lt;/em&gt; of the sites have AAAA records and, thus, no IPv6 availability.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/7ntSyGlO12A" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/a-records-on-top-level-domains/#comments" thr:count="5" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/a-records-on-top-level-domains/feed/atom/" thr:count="5" />
		<thr:total>5</thr:total>
	<feedburner:origLink>http://ydal.de/a-records-on-top-level-domains/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[Der schmale Schatten hinter mir]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/DWTsgHe31n4/" />
		<id>http://ydal.de/?p=278</id>
		<updated>2009-12-09T16:46:56Z</updated>
		<published>2009-12-13T22:42:33Z</published>
		<category scheme="http://ydal.de" term="Stories" />		<summary type="html"><![CDATA[Ich fragte mich oft, warum die Menschen mich immer so seltsam anschauten.
Es war, als hätte ich irgendeine große Narbe auf der Stirn. Dauernd schauen die Leute mich für einen kurzen Blick, der vor Entsetzen nur so strotzte, an, wenn ich sie frisch kennenlerne. Ich habe keine Ahnung, was ihnen da durch den Kopf geht. Immer, [...]]]></summary>
		<content type="html" xml:base="http://ydal.de/der-schmale-schatten-hinter-mir/">&lt;p&gt;Ich fragte mich oft, warum die Menschen mich immer so seltsam anschauten.&lt;/p&gt;
&lt;p&gt;Es war, als hätte ich irgendeine große Narbe auf der Stirn. Dauernd schauen die Leute mich für einen kurzen Blick, der vor Entsetzen nur so strotzte, an, wenn ich sie frisch kennenlerne. Ich habe keine Ahnung, was ihnen da durch den Kopf geht. Immer, wenn ich sie danach frage, sagen sie, daß da nichts sei, und es nur irgendeine Zuckung war.&lt;/p&gt;
&lt;p&gt;Ich glaube ihnen nicht, denn einige schauen immer noch an die gleiche Stelle dabei, wenn sie das sagen; eine Frau wurde sogar mal bleich.&lt;/p&gt;
&lt;p&gt;Aber selbst wenn ich mich im Spiegel anschaue oder Photos von mir mache, so sehe ich doch nie, was denn bitte ungewöhnlich sein soll. Ich habe solche Bilder auch schon mal Leuten aus dem Internet geschickt, die mich nicht kannten: niemand hatte da irgendwas auszusetzen oder ein Problem mit.&lt;/p&gt;
&lt;p&gt;Doch immer, wenn sie mich dann doch mal sahen, ergriff sie für genau jenen kurzen Moment das pure Grauen. Einige wirkten, als hätten sie gerade eine Leiche gesehen, andere, als würde man ihnen ein Messer zwischen die Rippen rammen, und wieder andere, als wäre ich ein Ungeheuer.&lt;/p&gt;
&lt;p&gt;Wenn sie dann mit mir reden ist aber alles normal. Nur wenige zucken mit den Augen noch nach oben, um diese komische Stelle zu begutachten. Mich irritiert das umso mehr.&lt;/p&gt;
&lt;p&gt;Aber niemand will mir sagen, was es ist.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Letztens verbrachte ich etwas Zeit in einer dieser modischen Kaffeebars. An einem der andere Tische saß ein junges Mädel, in diesem Emostil gekleidet, und schaute regelmäßig zu mir herüber. Ich glaubte, daß auch sie mir auf mein mysteriöses Merkmal schaut. Verstörend.&lt;/p&gt;
&lt;p&gt;Einige Zeit später war sie weg. Ich hatte nicht wirklich bemerkt, daß sie gegangen ist, aber sie war ja auch nur ein Emo. Ich sah aber, daß an ihrem Platz noch etwas Papier lag. Ich hatte bemerkt, daß sie am Schreiben war, und wo sie doch die ganze Zeit zu mir rüber geschaut hatte, da packte mich jetzt die Neugier.&lt;/p&gt;
&lt;p&gt;Ich ging hinüber zu ihrem Platz und nahm mir das Blatt. Es war in einer eckigen, abgehackten Schrift beschrieben, ganz ungleich der fließenden, gotischen Schrift, die ich jetzt erwartet hatte. Geschrieben stand:&lt;/p&gt;
&lt;p&gt;“Er sitzt mir gegenüber. Er weiß es nicht. Er hat ein Monster hinter sich, lang und dünn ragt es hinter seinem Kopf hervor. Es ist pechschwarz, mager wie ein Skelett. Nur die Hände sind weiß — und das knochige Gesicht, welches ein angsteinflößendes Lächeln beherbergt. Krankhaft lange, filigrane Finger strecken sich von diesem Ding fort und scheinen ihm in den Kopf zu stechen. Immer, wenn er sich wendet, fließt es mit. Es bleibt immer hinter ihm. Er weiß nicht, daß es da ist. Es hat kein Spiegelbild. Es ist der pure Terror. Sobald man ihn anschaut, wendet sich das Monster einem zu und grinst einen an. In diesem Grinsen… da ist eine Drohung. Ich habe Angst. Ich muß gehen.”&lt;/p&gt;
&lt;p&gt;Ich sackte auf den Stuhl zurück. Sowas kann doch nicht wahr sein.&lt;/p&gt;
&lt;p&gt;Es würde alles erklären, aber es kann doch echt nicht wahr sein. Es gibt keine Monster, sowas gibt es nicht. Das kann nicht sein.&lt;/p&gt;
&lt;p&gt;Ich versuchte, hinter mich zu schauen. Ich versuchte, mich schwunghaft umzudrehen, um irgendetwas, was hinter mir sei, zu überraschen. Die Leute schauten mich komisch an, als ich mich durch die Bar wand. Ängstlich. Eine der Damen vom Personal bat mich, die Örtlichkeiten zu verlassen. Ich schaute sie böse an, und sie zuckte merklich zusammen.&lt;/p&gt;
&lt;p&gt;Ich ging.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Vor einigen Tagen habe ich erfahren, daß das junge Mädel gestorben ist. Das machte mir Angst. Ich habe angefangen, mich weniger mit Menschen abzugeben. Meine Angst davor, daß noch jemand sterben muß, weil sie sich wagen, dieses Ding zu erwähnen, ist unermeßlich. Wie soll man so etwas verantworten können? Wer kann mir helfen?&lt;/p&gt;
&lt;p&gt;Warum trifft sowas gerade mich?&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Ich bin mal wieder einkaufen. Wieder in einem neuen Laden; ich will nicht, daß die Leute sich zu sehr an mich gewöhnen. Eine Frau versucht, mich anzulächeln. Ich runzele die Stirn und gebe ihr einen bösen Blick. Sie wendet sich ab.&lt;/p&gt;
&lt;p&gt;Die Verkäuferin schaut mich an. Sie schaut nicht auf meine Stirn, oder an mir vorbei. Sie schaut mich direkt an. Scheinbar ist das Vieh cleverer geworden, so daß es nicht mehr auffällt, wenn es Leute einschüchtert.&lt;/p&gt;
&lt;p&gt;Ich darf nicht zurückfallen, ich muß einen Schritt voraus sein. Ich gebe ihr das Geld und wende mich ab, und rette sie durch meine Ignoranz.&lt;/p&gt;
&lt;p&gt;Dieses Monster wird keine Chance mehr bekommen, anderen Leuten weh zu tun. Nicht, solange ich sie nicht vorher vertreiben kann.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/DWTsgHe31n4" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/der-schmale-schatten-hinter-mir/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/der-schmale-schatten-hinter-mir/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://ydal.de/der-schmale-schatten-hinter-mir/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[Schon wieder nicht da]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/wc5UkN0pBCE/" />
		<id>http://ydal.de/?p=274</id>
		<updated>2009-12-06T00:24:50Z</updated>
		<published>2009-12-07T01:00:21Z</published>
		<category scheme="http://ydal.de" term="Stories" /><category scheme="http://ydal.de" term="Deutsch" /><category scheme="http://ydal.de" term="Erzählung" /><category scheme="http://ydal.de" term="Monolog" />		<summary type="html"><![CDATA[Sonntag Nacht. Mal wieder liege ich in meinem Bett und wälze mich umher, nichts stört mich dabei. Zu viele Gedanken sind in meinem Kopf unterwegs. Gedanken an Dich.
Ich weiß, das klingt jetzt wieder sehr dramatisch. Aber Sonntag Nacht um Zwei, da solltest Du bei mir sein. So, wie ich Dich kenne, bist Du sicher gerade [...]]]></summary>
		<content type="html" xml:base="http://ydal.de/schon-wieder-nicht-da/">&lt;p&gt;Sonntag Nacht. Mal wieder liege ich in meinem Bett und wälze mich umher, nichts stört mich dabei. Zu viele Gedanken sind in meinem Kopf unterwegs. Gedanken an Dich.&lt;/p&gt;
&lt;p&gt;Ich weiß, das klingt jetzt wieder sehr dramatisch. Aber Sonntag Nacht um Zwei, da solltest Du bei mir sein. So, wie ich Dich kenne, bist Du sicher gerade wieder bei einem anderen Kerl. Mit ihm, im Bett. Und ich kann nicht mal sauer auf Dich sein dafür, das ist das Schlimmste.&lt;/p&gt;
&lt;p&gt;Egal, was ich auch tue, es nützt nichts: nie bleibst Du bei mir. Und selbst wenn Du mal bei mir bist, so verschwindest Du doch meist Morgens und bist weg, wenn mein Wecker ertönt.&lt;/p&gt;
&lt;p&gt;Ich weiß, es wäre schlecht für uns, dauernd zusammen zu sein. Am Ende würde es mich umbringen. Aber ohne Dich kann ich mir mein Leben auch nicht vorstellen.&lt;/p&gt;
&lt;p&gt;Kein Gedanke hilft, keine noch so große Zuwendung. Aber wenn ich nachts daheim, allein aus Kummer saufe, gerade dann machst Du einen Deiner Zufallsbesuche und bist auf einmal bei mir.&lt;/p&gt;
&lt;p&gt;Aber zum Alkoholiker will ich auch nicht werden, das ist keine Lösung. Dann würdest Du eh nicht mehr wie immer so gelegen kommen, und überhaupt ist Alkohol keine Lösung.&lt;/p&gt;
&lt;p&gt;Also sitze ich hier und darf mein Leid klagen, während ich darauf warte, daß Du endlich kommst.&lt;/p&gt;
&lt;p&gt;Weißt Du, manchmal hasse ich Dich, Schlaf.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/wc5UkN0pBCE" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/schon-wieder-nicht-da/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/schon-wieder-nicht-da/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://ydal.de/schon-wieder-nicht-da/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[Auf dem Heimweg]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/aOQX53UyDrA/" />
		<id>http://ydal.de/?p=270</id>
		<updated>2009-12-02T23:25:34Z</updated>
		<published>2009-12-02T23:25:34Z</published>
		<category scheme="http://ydal.de" term="Stories" /><category scheme="http://ydal.de" term="Alkoholismus" /><category scheme="http://ydal.de" term="Alltag" /><category scheme="http://ydal.de" term="Traurigkeit" />		<summary type="html"><![CDATA[Es ist Winter, und der Tag war lang. Obwohl es erst kurz vor fünf ist, so ist die Sonne doch schon verschwunden, und Du fährst im Dunkeln heim.
Die Menschen am Barbarossaplatz drängen sich vor der Straßenbahn; der Winter nähert sich wieder, die Temperaturen fallen in Richtung 0. All die Leute wollen nur möglichst schnell nach [...]]]></summary>
		<content type="html" xml:base="http://ydal.de/auf-dem-heimweg/">&lt;p&gt;Es ist Winter, und der Tag war lang. Obwohl es erst kurz vor fünf ist, so ist die Sonne doch schon verschwunden, und Du fährst im Dunkeln heim.&lt;/p&gt;
&lt;p&gt;Die Menschen am Barbarossaplatz drängen sich vor der Straßenbahn; der Winter nähert sich wieder, die Temperaturen fallen in Richtung 0. All die Leute wollen nur möglichst schnell nach Hause, in die warme Stube, weg von ihrem Berufsalltag und rein in die private Zuflucht.&lt;/p&gt;
&lt;p&gt;Auch Du fährst gerade mit einer Freundin nach Hause. Die Straßenbahn kommt und ihr steigt ein, vorsichtig durch den Strom der Menschen kämpfend. Ihr werdet umhergeschoben, da andere Leute sich heftig durch die Menge drängeln. Einige von ihnen erkämpfen sich sogar einen Sitzplatz, doch viele breiten sich einfach nur im Eingangsbereich aus, unachtsam der vereinzelten Sitzplätze, die man noch bekommen kann.&lt;/p&gt;
&lt;p&gt;Deine Freundin und Du, ihr seht ein paar Sitzplätze an verschiedenen Bänken.. Mit einem Nicken teilt ihr euch auf, und Du setzt Dich an einen noch freien Platz. Du wechselst ein paar höfliche Worte mit der Frau neben Dir, weil Du gegen sie gestoßen bist. Der Höflichkeit halber lächelst Du.&lt;/p&gt;
&lt;p&gt;Dein Platz ist am Fenster. Der Blick nach draußen nur eine trübe, dunkle Welt zeigt, von den Lichtern der Stadt durchsetzt, und Du lehnst den Kopf leicht ans Glas. Deine Augen sprechen von Deiner Traurigkeit. Mit einem falsches Lächeln auf den Lippen schaust Du Dich gelegentlich um, suchst hin und wieder auch die Augen Deiner Freundin.&lt;/p&gt;
&lt;p&gt;Einige Stationen später ist die Dame neben Dir weg, und Deine Freundin setzt sich herüber. Ihr kommt ins Gespräch, und sie lächelt sehr viel, doch Du teilst es nicht. Ihr redet über einige Dinge aus eurem Leben, und Du kommst auf Entscheidungen zu sprechen, die Dich missmutig stimmen. Du seufzt beim Reden.&lt;/p&gt;
&lt;p&gt;Beim Studentendorf steigt Deine Bekannte aus. Gegenüber hat sich vor kurzem ein Mann hingesetzt, scheinbar nicht ganz bei Sinnen. Er sprach schon eine Weile vor sich hin, irgendwo zwischen Gebet und Hilfesuche. Er riecht nach Alkohol.&lt;/p&gt;
&lt;p&gt;In der Hand hält er eine Plastiktüte, dadrin eine Flasche. Was es ist kannst Du nicht genau sagen. Er fragt Dich, ob Du sie wegwerfen sollst. Du nickst und sagst, er solle sie wegwerfen.&lt;/p&gt;
&lt;p&gt;Er redet eine Weile lang weiter vor sich hin, und in Deinen traurigen Blick mischt sich nur ein kleines bisschen Abscheu. Du schaust den Mann daneben an, der Dir direkt gegenübersitzt. Ihr habt Augenkontakt. Er zuckt mit den Achseln, und Du zuckst zurück. Du lächelst.&lt;/p&gt;
&lt;p&gt;Deine Augen lächeln nicht mit.&lt;/p&gt;
&lt;p&gt;Der Betrunkene hat inzwischen angefangen, seine schöne Tochter anzupreisen, und versucht sie, dem Mann neben Dir schmackhaft zu machen. Er versucht dies nur zaghaft, als wüsste er, daß es so nicht richtig ist. Den Versucht lässt er auch kurz darauf sein.&lt;/p&gt;
&lt;p&gt;Kurz versucht er noch, den Mann dazu bewegen, ihm den Alkohol abzunehmen, doch überlegt es sich kurz darauf anders. Wenig später hat er eine Flasche Wodka aus der Tüte hervorgezaubert, und schaut sie an, als würde er sie jetzt trinken. Du sprichst ihn an, und sagst, daß er nicht tun soll.&lt;/p&gt;
&lt;p&gt;Er ignoriert Dich und winkt ab.&lt;/p&gt;
&lt;p&gt;Du sagst, daß er es nicht machen soll, da es verboten sei, Alkohol in der Bahn zu trinken.&lt;/p&gt;
&lt;p&gt;Er ignoriert Dich und winkt wieder ab.&lt;/p&gt;
&lt;p&gt;Du erinnerst ihn daran, daß er die Flasche wegwerfen wollte.&lt;/p&gt;
&lt;p&gt;Er nimmt einen Schluck.&lt;/p&gt;
&lt;p&gt;Du wendest Deinen Blick ab, suchst Augenkontakt mit dem anderen Mann Dir gegenüber. Ihr schaut euch wieder an, und seufzt beide leise, während ihr langgezogen die Achseln zuckt.&lt;/p&gt;
&lt;p&gt;Der Mann Dir gegenüber steht auf und manövriert sich vorsichtig an dem Alkoholiker vorbei. Es ist auch Deine Haltestelle, und Du folgst ihm.&lt;/p&gt;
&lt;p&gt;An der Tür trefft ihr euch nochmal. „Mich interessiert ja, warum er so abgestürzt ist.“ sagt der Mann. Du antwortest ihm, und Deine Antwort ist niedergeschlagen.&lt;/p&gt;
&lt;p&gt;Die Tür öffnet sich, und er lässt Dir den Vortritt. Du knickst leicht und steigst aus, er folgt.&lt;/p&gt;
&lt;p&gt;Du gehst nach rechts weg, nach Hause.&lt;/p&gt;
&lt;p&gt;Der Mann geht nach links.&lt;/p&gt;
&lt;p&gt;Und immer noch ist es Deinem Lächeln einsam auf den Lippen.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/aOQX53UyDrA" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/auf-dem-heimweg/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/auf-dem-heimweg/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://ydal.de/auf-dem-heimweg/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[Shadowrunning GTA4]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/LoC0K7bmlgs/" />
		<id>http://ydal.de/?p=268</id>
		<updated>2009-12-01T12:42:05Z</updated>
		<published>2009-12-01T12:42:05Z</published>
		<category scheme="http://ydal.de" term="Fun" /><category scheme="http://ydal.de" term="creativity" /><category scheme="http://ydal.de" term="Grand Theft Auto" /><category scheme="http://ydal.de" term="GTA" /><category scheme="http://ydal.de" term="GTA4" /><category scheme="http://ydal.de" term="Shadowrun" />		<summary type="html"><![CDATA[How to do shadowrun-style maneuvers in GTA 4.]]></summary>
		<content type="html" xml:base="http://ydal.de/shadowrunning-gta4/">&lt;p&gt;One of the things I recently noticed is that GTA actually gives you a fair amount of choice on how to do some missions, but doesn’t really advertise the fact.&lt;/p&gt;
&lt;p&gt;Playing the game after some time (and only few days after a Shadowrun session), I went ahead and got to do the mission “Dining Out”, where Yours Truly (on his avatar in this case, Niko Bellic) had to run a hit on one Kim Young-Guk. Young-Guk was dining at a place called Mr. Fuk.&lt;/p&gt;
&lt;p&gt;Warily, I drove Niko to the encounter, investigating the site — a rather accessible and free-standing restaurant. Tired of all previous hit missions, which mostly ended up in me chasing the person on bicycle or car most of the time, I decided to try to be creative. I went around the back, and indeed, in the parking lot I found a motorcycle and a PMP 600 (which is a remake of one of those Chrysler estates). Fearing that this would exactly end up as I predicted, I rang up Packie and got myself a nice little car bomb.&lt;/p&gt;
&lt;p&gt;Placing this under the PMP 600, I went inside and sure enough, the stale air in the restaurant had an unhealthy dose of lead after a couple of seconds. So one kills all the goons, goes upstairs and talks (while sighting down along the sights of the gun) to the manager, who said that Kim just fled out through the kitchen. Of course.&lt;/p&gt;
&lt;p&gt;Chasing Kim down, one badgers through the kitchens, only to find that Korean bugger already having jumped down the fire escap, dodging into his PMP 600. One would then have to jump down after him and swing yourself unto the motorcycle.&lt;/p&gt;
&lt;p&gt;Smirking, I let Niko pull out his mobile phone and call (handily preselected) the bomb, which promptly blows up the car and Kim with it. $13,250 earned without having to break your neck on the motorcycle and probably crash into something with a spectacular slow motion scene.&lt;/p&gt;
&lt;p&gt;The thing is that GTA often silently encourages such behaviour. There’s a few missions where the city gets mission-specific instances, thus undoing some changes to the scenery you might have caused. But more often than not, you can just start laying traps if you either suspect or know what’s going to happen. Place bombs, blockade exits with a lorry, ram down fences to get other ways of access to a location, start sniping people from some totally different location, or just go all Altaïr and shuffle to a site via the rooftops.&lt;/p&gt;
&lt;p&gt;It’s fun, really.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/LoC0K7bmlgs" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/shadowrunning-gta4/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/shadowrunning-gta4/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://ydal.de/shadowrunning-gta4/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[Gaim to Pidgin log conversion]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/eqWaZAWU3Vk/" />
		<id>http://ydal.de/?p=256</id>
		<updated>2009-11-30T08:58:05Z</updated>
		<published>2009-11-29T19:54:13Z</published>
		<category scheme="http://ydal.de" term="Code" />		<summary type="html"><![CDATA[Simple converter of old flat file gaim logs to Pidgin directory logs.]]></summary>
		<content type="html" xml:base="http://ydal.de/gaim-to-pidgin-log-conversion/">&lt;p&gt;I was browsing through some older files of mine and cleaning up when I stumbled over a bunch of old instant messenging log files. These logs were still in the legacy unified log file format which Gaim (today knows as Pidgin) used in the beginning. I didn’t find a converter after about ten seconds of using Google, so I went ahead and wrote my own.&lt;/p&gt;
&lt;p&gt;It’s mostly feature-complete, and will split up any number of &lt;code&gt;[something].log&lt;/code&gt; you pass to it into &lt;code&gt;[something]/[date].txt&lt;/code&gt; style files. What it can’t really do is determine what kind of protocol it’s dealing with, so you’ll still have to move the log directory manually to the appropriate protocol directory inside of &lt;code&gt;~/.purple/logs&lt;/code&gt;. Be wary when moving files, though, as you might accidentally overwrite other log files. Use &lt;code&gt;rsync&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Anyhoo, you can either get &lt;a href="/files/gaim2pidgin.pl"&gt;the file directly&lt;/a&gt; or just try this delicious copypasta:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="perl" style="font-family:monospace;"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;#!/usr/bin/perl&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;# gaim2pidgin.pl&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;# author:  towo &amp;lt;towo@ydal.de&amp;gt;&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;# version: 3&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;# license: CC-BY-DE-3.0&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #000000; font-weight: bold;"&gt;use&lt;/span&gt; strict&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #666666; font-style: italic;"&gt;# convert short month names to numbers.&lt;/span&gt;
&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;%shortmonths&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Jan'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'01'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Feb'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'02'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Mar'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'03'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Apr'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'04'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'May'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'05'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Jun'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'06'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Jul'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'07'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Aug'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'08'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Sep'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'09'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Oct'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'10'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Nov'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'11'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
	&lt;span style="color: #ff0000;"&gt;'Dec'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'12'&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #666666; font-style: italic;"&gt;# go through files&lt;/span&gt;
FILE&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;foreach&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@ARGV&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
	&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$header&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$target&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #666666; font-style: italic;"&gt;# sanity checks&lt;/span&gt;
	&lt;span style="color: #b1b100;"&gt;unless&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&lt;/span&gt;f &lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #000066;"&gt;warn&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$file is not a file.&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;next&lt;/span&gt; FILE&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
	&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
	&lt;span style="color: #b1b100;"&gt;unless&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000066;"&gt;open&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;LOG&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #000066;"&gt;warn&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;Unable to open $file for reading: $!&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;next&lt;/span&gt; FILE&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
	&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #666666; font-style: italic;"&gt;# get file header, get target name&lt;/span&gt;
	&lt;span style="color: #000066;"&gt;chomp&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$header&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009999;"&gt;&amp;lt;LOG&amp;gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
	&lt;span style="color: #0000ff;"&gt;$header&lt;/span&gt; &lt;span style="color: #339933;"&gt;=~&lt;/span&gt; &lt;span style="color: #000066;"&gt;s&lt;/span&gt;&lt;span style="color: #666666; font-style: italic;"&gt;#&amp;lt;.*?&amp;gt;##g;&lt;/span&gt;
	&lt;span style="color: #0000ff;"&gt;$target&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
	&lt;span style="color: #0000ff;"&gt;$target&lt;/span&gt; &lt;span style="color: #339933;"&gt;=~&lt;/span&gt; &lt;span style="color: #009966; font-style: italic;"&gt;s/\.log$//&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #666666; font-style: italic;"&gt;# check header for correctness&lt;/span&gt;
	&lt;span style="color: #b1b100;"&gt;unless&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$header&lt;/span&gt; &lt;span style="color: #339933;"&gt;=~&lt;/span&gt; &lt;span style="color: #000066;"&gt;m&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #339933;"&gt;^&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009999;"&gt;&amp;lt;HTML&amp;gt;&lt;/span&gt;&lt;span style="color: #009999;"&gt;&amp;lt;HEAD&amp;gt;&lt;/span&gt;&lt;span style="color: #009999;"&gt;&amp;lt;TITLE&amp;gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;?&lt;/span&gt;IM Sessions with &lt;span style="color: #339933;"&gt;.*?&lt;/span&gt; \
                             &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;&amp;lt;/&lt;/span&gt;TITLE&lt;span style="color: #339933;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;HEAD&lt;span style="color: #339933;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;BODY BGCOLOR&lt;span style="color: #339933;"&gt;=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;.*?&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;?&lt;/span&gt;$&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;i&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #000066;"&gt;warn&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$file does not seem to be a gaim conversation.&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;next&lt;/span&gt; FILE&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
	&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #666666; font-style: italic;"&gt;# read LOG to file&lt;/span&gt;
	&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@contents&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009999;"&gt;&amp;lt;LOG&amp;gt;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
	&lt;span style="color: #000066;"&gt;close&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;LOG&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #666666; font-style: italic;"&gt;# parse log file (one loop ^= one chat session)&lt;/span&gt;
	&lt;span style="color: #b1b100;"&gt;while&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@contents&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$session&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$identifier&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$date&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
		&lt;span style="color: #666666; font-style: italic;"&gt;# get session identifier&lt;/span&gt;
		&lt;span style="color: #000066;"&gt;chomp&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$session&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000066;"&gt;shift&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@contents&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
		&lt;span style="color: #666666; font-style: italic;"&gt;# Strip HTML.&lt;/span&gt;
		&lt;span style="color: #666666; font-style: italic;"&gt;#$session =~ s#&amp;lt;.*?&amp;gt;##g;&lt;/span&gt;
		&lt;span style="color: #0000ff;"&gt;$session&lt;/span&gt; &lt;span style="color: #339933;"&gt;=~&lt;/span&gt; &lt;span style="color: #000066;"&gt;s&lt;/span&gt;&lt;span style="color: #666666; font-style: italic;"&gt;#&amp;lt;/?(FONT|B|I|ALIGN|HTML|HEAD|TITLE|HR|BR|BODY|H3).*?&amp;gt;##ig;&lt;/span&gt;
&amp;nbsp;
		&lt;span style="color: #666666; font-style: italic;"&gt;# sanity check for the session identifier&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;unless&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$session&lt;/span&gt; &lt;span style="color: #339933;"&gt;=~&lt;/span&gt; &lt;span style="color: #000066;"&gt;m&lt;/span&gt;&lt;span style="color: #339933;"&gt;/^&lt;/span&gt; &lt;span style="color: #339933;"&gt;?----&lt;/span&gt; New Conversation &lt;span style="color: #339933;"&gt;@&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;\w&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;\w&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;9&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; \
                                      &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;\d&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;\d&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;\d&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;\d&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;4&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;----&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$/&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #000066;"&gt;warn&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;Could not recognize session identifier: «$session»&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
			&lt;span style="color: #b1b100;"&gt;next&lt;/span&gt; FILE&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
		&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
		&lt;span style="color: #666666; font-style: italic;"&gt;# extract date from session identifier and create target identifier&lt;/span&gt;
		&lt;span style="color: #0000ff;"&gt;$date&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$6-$shortmonths{$1}-&amp;quot;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #000066;"&gt;sprintf&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;%02d&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$2&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;.$3$4$5&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
		&lt;span style="color: #0000ff;"&gt;$identifier&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$target/$date.txt&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
		&lt;span style="color: #666666; font-style: italic;"&gt;# sanity check for target directory&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;unless&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&lt;/span&gt;d &lt;span style="color: #0000ff;"&gt;$target&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #b1b100;"&gt;unless&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000066;"&gt;mkdir&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$target&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
				&lt;span style="color: #000066;"&gt;warn&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;Could not create directory $target: $!&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
				&lt;span style="color: #b1b100;"&gt;next&lt;/span&gt; FILE&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
			&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
		&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
		&lt;span style="color: #666666; font-style: italic;"&gt;# open output file&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;unless&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000066;"&gt;open&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;OUTPUT&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;&amp;gt; $identifier&amp;quot;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #000066;"&gt;warn&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;Could not write to $identifier: $!&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
			&lt;span style="color: #b1b100;"&gt;next&lt;/span&gt; FILE&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
		&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
		&lt;span style="color: #000066;"&gt;select&lt;/span&gt; OUTPUT&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
		&lt;span style="color: #666666; font-style: italic;"&gt;# extract log to log file&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;until&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$contents&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=~&lt;/span&gt; &lt;span style="color: #009966; font-style: italic;"&gt;m/^(&amp;lt;HR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;H3 Align=Center&amp;gt;)? ?---- New Conversation/&lt;/span&gt; \
                                      &lt;span style="color: #b1b100;"&gt;or&lt;/span&gt; &lt;span style="color: #339933;"&gt;!&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@contents&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$line&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000066;"&gt;shift&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@contents&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
			&lt;span style="color: #0000ff;"&gt;$line&lt;/span&gt; &lt;span style="color: #339933;"&gt;=~&lt;/span&gt; &lt;span style="color: #000066;"&gt;s&lt;/span&gt;&lt;span style="color: #666666; font-style: italic;"&gt;#&amp;lt;.*?&amp;gt;##g;&lt;/span&gt;
			&lt;span style="color: #000066;"&gt;print&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$line&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
		&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
		&lt;span style="color: #000066;"&gt;close&lt;/span&gt; OUTPUT&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
	&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;a rel="license" href="http://creativecommons.org/licenses/by/3.0/de/"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/de/88x31.png" /&gt;&lt;/a&gt; Licensed as &lt;a href="http://creativecommons.org/licenses/by/3.0/de/"&gt;CC-BY-DE-3.0&lt;/a&gt;.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/eqWaZAWU3Vk" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/gaim-to-pidgin-log-conversion/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/gaim-to-pidgin-log-conversion/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://ydal.de/gaim-to-pidgin-log-conversion/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>towo</name>
						<uri>http://ydal.de/</uri>
					</author>
		<title type="html"><![CDATA[Discordian iCal calendar]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ydal/~3/M7YapTu0LDQ/" />
		<id>http://ydal.de/?p=252</id>
		<updated>2009-11-13T18:54:01Z</updated>
		<published>2009-11-13T18:54:01Z</published>
		<category scheme="http://ydal.de" term="Articles" />		<summary type="html"><![CDATA[Since I was playing around with Date modules a bit, I decided to conjure up some iCal files for the Discordian calendar, which chronicles the Year of Our Lady Discord, as described in the Principia Discordia.
With the goal eliminating any kind of dependency on actions by me to generate the calendar files, I just pregenerated [...]]]></summary>
		<content type="html" xml:base="http://ydal.de/discordian-ical/">&lt;p&gt;Since I was playing around with Date modules a bit, I decided to conjure up some iCal files for the Discordian calendar, which chronicles the Year of Our Lady Discord, as described in the Principia Discordia.&lt;/p&gt;
&lt;p&gt;With the goal eliminating any kind of dependency on actions by me to generate the calendar files, I just pregenerated them for the whole 21st century.&lt;/p&gt;
&lt;p&gt;The files are stored at &lt;kbd&gt;/discordian/$year.ical&lt;/kbd&gt;, with &lt;kbd&gt;$year&lt;/kbd&gt; ranging from &lt;kbd&gt;2001&lt;/kbd&gt; (which was the real start of the century and the millenium) to &lt;kbd&gt;2100&lt;/kbd&gt;.&lt;/p&gt;
&lt;p&gt;For the sake of easy access — and as an experiment to see what Google’ll make of it — I’ve compiled a handy table so you can just click for the file you want.&lt;/p&gt;
&lt;p&gt;Feel free to include this on your Google calendar (will make for an interesting traffic study) or redistribute it with a kudos to me, linking to this page (&lt;kbd&gt;http://ydal.de/discordian-ical/&lt;/kbd&gt;). Copyright shouldn’t be an issue since this compilation does not exceed the &lt;em&gt;Schöpfungshöhe&lt;/em&gt;, but I’ll declare them to be &lt;a href="http://creativecommons.org/licenses/by/3.0/de/"&gt;CC-BY-DE 3.0&lt;/a&gt; just in case.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2001.ical"&gt;2001&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2001.short.ical"&gt;2001 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2051.ical"&gt;2051&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2051.short.ical"&gt;2051 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2002.ical"&gt;2002&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2002.short.ical"&gt;2002 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2052.ical"&gt;2052&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2052.short.ical"&gt;2052 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2003.ical"&gt;2003&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2003.short.ical"&gt;2003 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2053.ical"&gt;2053&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2053.short.ical"&gt;2053 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2004.ical"&gt;2004&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2004.short.ical"&gt;2004 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2054.ical"&gt;2054&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2054.short.ical"&gt;2054 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2005.ical"&gt;2005&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2005.short.ical"&gt;2005 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2055.ical"&gt;2055&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2055.short.ical"&gt;2055 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2006.ical"&gt;2006&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2006.short.ical"&gt;2006 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2056.ical"&gt;2056&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2056.short.ical"&gt;2056 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2007.ical"&gt;2007&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2007.short.ical"&gt;2007 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2057.ical"&gt;2057&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2057.short.ical"&gt;2057 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2008.ical"&gt;2008&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2008.short.ical"&gt;2008 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2058.ical"&gt;2058&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2058.short.ical"&gt;2058 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2009.ical"&gt;2009&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2009.short.ical"&gt;2009 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2059.ical"&gt;2059&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2059.short.ical"&gt;2059 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2010.ical"&gt;2010&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2010.short.ical"&gt;2010 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2060.ical"&gt;2060&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2060.short.ical"&gt;2060 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2011.ical"&gt;2011&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2011.short.ical"&gt;2011 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2061.ical"&gt;2061&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2061.short.ical"&gt;2061 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2012.ical"&gt;2012&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2012.short.ical"&gt;2012 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2062.ical"&gt;2062&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2062.short.ical"&gt;2062 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2013.ical"&gt;2013&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2013.short.ical"&gt;2013 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2063.ical"&gt;2063&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2063.short.ical"&gt;2063 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2014.ical"&gt;2014&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2014.short.ical"&gt;2014 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2064.ical"&gt;2064&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2064.short.ical"&gt;2064 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2015.ical"&gt;2015&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2015.short.ical"&gt;2015 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2065.ical"&gt;2065&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2065.short.ical"&gt;2065 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2016.ical"&gt;2016&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2016.short.ical"&gt;2016 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2066.ical"&gt;2066&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2066.short.ical"&gt;2066 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2017.ical"&gt;2017&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2017.short.ical"&gt;2017 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2067.ical"&gt;2067&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2067.short.ical"&gt;2067 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2018.ical"&gt;2018&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2018.short.ical"&gt;2018 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2068.ical"&gt;2068&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2068.short.ical"&gt;2068 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2019.ical"&gt;2019&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2019.short.ical"&gt;2019 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2069.ical"&gt;2069&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2069.short.ical"&gt;2069 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2020.ical"&gt;2020&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2020.short.ical"&gt;2020 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2070.ical"&gt;2070&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2070.short.ical"&gt;2070 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2021.ical"&gt;2021&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2021.short.ical"&gt;2021 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2071.ical"&gt;2071&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2071.short.ical"&gt;2071 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2022.ical"&gt;2022&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2022.short.ical"&gt;2022 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2072.ical"&gt;2072&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2072.short.ical"&gt;2072 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2023.ical"&gt;2023&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2023.short.ical"&gt;2023 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2073.ical"&gt;2073&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2073.short.ical"&gt;2073 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2024.ical"&gt;2024&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2024.short.ical"&gt;2024 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2074.ical"&gt;2074&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2074.short.ical"&gt;2074 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2025.ical"&gt;2025&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2025.short.ical"&gt;2025 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2075.ical"&gt;2075&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2075.short.ical"&gt;2075 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2026.ical"&gt;2026&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2026.short.ical"&gt;2026 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2076.ical"&gt;2076&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2076.short.ical"&gt;2076 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2027.ical"&gt;2027&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2027.short.ical"&gt;2027 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2077.ical"&gt;2077&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2077.short.ical"&gt;2077 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2028.ical"&gt;2028&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2028.short.ical"&gt;2028 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2078.ical"&gt;2078&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2078.short.ical"&gt;2078 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2029.ical"&gt;2029&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2029.short.ical"&gt;2029 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2079.ical"&gt;2079&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2079.short.ical"&gt;2079 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2030.ical"&gt;2030&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2030.short.ical"&gt;2030 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2080.ical"&gt;2080&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2080.short.ical"&gt;2080 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2031.ical"&gt;2031&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2031.short.ical"&gt;2031 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2081.ical"&gt;2081&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2081.short.ical"&gt;2081 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2032.ical"&gt;2032&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2032.short.ical"&gt;2032 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2082.ical"&gt;2082&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2082.short.ical"&gt;2082 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2033.ical"&gt;2033&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2033.short.ical"&gt;2033 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2083.ical"&gt;2083&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2083.short.ical"&gt;2083 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2034.ical"&gt;2034&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2034.short.ical"&gt;2034 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2084.ical"&gt;2084&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2084.short.ical"&gt;2084 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2035.ical"&gt;2035&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2035.short.ical"&gt;2035 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2085.ical"&gt;2085&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2085.short.ical"&gt;2085 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2036.ical"&gt;2036&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2036.short.ical"&gt;2036 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2086.ical"&gt;2086&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2086.short.ical"&gt;2086 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2037.ical"&gt;2037&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2037.short.ical"&gt;2037 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2087.ical"&gt;2087&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2087.short.ical"&gt;2087 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2038.ical"&gt;2038&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2038.short.ical"&gt;2038 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2088.ical"&gt;2088&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2088.short.ical"&gt;2088 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2039.ical"&gt;2039&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2039.short.ical"&gt;2039 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2089.ical"&gt;2089&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2089.short.ical"&gt;2089 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2040.ical"&gt;2040&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2040.short.ical"&gt;2040 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2090.ical"&gt;2090&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2090.short.ical"&gt;2090 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2041.ical"&gt;2041&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2041.short.ical"&gt;2041 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2091.ical"&gt;2091&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2091.short.ical"&gt;2091 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2042.ical"&gt;2042&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2042.short.ical"&gt;2042 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2092.ical"&gt;2092&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2092.short.ical"&gt;2092 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2043.ical"&gt;2043&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2043.short.ical"&gt;2043 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2093.ical"&gt;2093&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2093.short.ical"&gt;2093 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2044.ical"&gt;2044&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2044.short.ical"&gt;2044 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2094.ical"&gt;2094&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2094.short.ical"&gt;2094 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2045.ical"&gt;2045&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2045.short.ical"&gt;2045 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2095.ical"&gt;2095&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2095.short.ical"&gt;2095 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2046.ical"&gt;2046&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2046.short.ical"&gt;2046 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2096.ical"&gt;2096&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2096.short.ical"&gt;2096 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2047.ical"&gt;2047&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2047.short.ical"&gt;2047 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2097.ical"&gt;2097&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2097.short.ical"&gt;2097 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2048.ical"&gt;2048&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2048.short.ical"&gt;2048 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2098.ical"&gt;2098&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2098.short.ical"&gt;2098 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2049.ical"&gt;2049&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2049.short.ical"&gt;2049 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2099.ical"&gt;2099&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2099.short.ical"&gt;2099 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="/discordian/2050.ical"&gt;2050&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2050.short.ical"&gt;2050 (short)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2100.ical"&gt;2100&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="/discordian/2100.short.ical"&gt;2100 (short)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;img src="http://feeds.feedburner.com/~r/ydal/~4/M7YapTu0LDQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://ydal.de/discordian-ical/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ydal.de/discordian-ical/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://ydal.de/discordian-ical/</feedburner:origLink></entry>
	</feed>
