<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Screenage &#187; Debian</title>
	<atom:link href="http://www.screenage.de/blog/category/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.screenage.de/blog</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jul 2010 19:15:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>My Mom Runs Ubuntu &#8211; Update for Ada Lovelace Day</title>
		<link>http://www.screenage.de/blog/2010/03/24/my-mom-runs-ubuntu-update-for-ada-lovelace-day/</link>
		<comments>http://www.screenage.de/blog/2010/03/24/my-mom-runs-ubuntu-update-for-ada-lovelace-day/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 23:01:42 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/?p=219</guid>
		<description><![CDATA[Just a couple of days ago I wrote update the upcoming &#8220;Ada Lovelace Day&#8221; &#8211; celebrating women in technology on the 24nd of March, which happens to be today. The day pledges for blog posts about this topic and here &#8230; <a href="http://www.screenage.de/blog/2010/03/24/my-mom-runs-ubuntu-update-for-ada-lovelace-day/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just a couple of days ago I wrote update the upcoming &#8220;Ada Lovelace Day&#8221; &#8211; celebrating women in technology on the 24nd of March, which happens to be today. The day pledges for blog posts about this topic and here we go with an Ubuntu flavored version.</p>
<p>At Ubucon 2008 in Göttingen, a German Ubuntu User Conference, I noticed that a lot people hanging around discussed how nicely their parents and especially moms are using Ubuntu. No hazzle, no further explanations needed &#8211; it just worked. And often they don&#8217;t even know or notice that they are using Ubuntu, as they just standard software like Firefox and Thunderbird. As this user group doesn&#8217;t belong to the tweeting, facebooking, social web society, I decided to found a launchpad group named &#8220;<a title="My Mom Runs Ubuntu on Launchpad" href="https://launchpad.net/~my-mom-runs-ubuntu">My Mum Runs Ubuntu</a>&#8220;, that has no further meaning than joining it means your mother runs Ubuntu &#8211; a simple way of giving this &#8220;silent&#8221; user group at least a number and a marker on a map.</p>
<p>I was surprised how fast the member list grew and happy to see that it&#8217;s members came and come from all over the world as you can see below:</p>
<div id="attachment_218" class="wp-caption alignnone" style="width: 310px"><a href="http://www.screenage.de/blog/uploads/ubuntu-moms-map-2010.jpg"><img class="size-medium wp-image-218" title="&quot;My Mom Runs Ubuntu&quot; global map (map by Google)" src="http://www.screenage.de/blog/uploads/ubuntu-moms-map-2010-300x152.jpg" alt="&quot;My Mom Runs Ubuntu&quot; global map (map by Google)" width="300" height="152" /></a><p class="wp-caption-text">&quot;My Mom Runs Ubuntu&quot; global map (map by Google)</p></div>
<p>So this is not about a single heroine in technology &#8211; it is about a general movement:  I am convinced, especially Ubuntu with it&#8217;s focus on an intuitive interface seems to keep the entry level very low and therefore attracts user groups that might be a suprprise for a lot of people. I know dozens of techie people stating that free operating systems are way too complicated to use for them. When telling about &#8220;My Mom Runs Ubuntu&#8221; they run out of reasons. At least there is nothing more convincing on using free software than people that are just using it on a daily basis without the need of telling everybody as they just take it as normal. I am sure, this user group continues to grow and am</p>
<p>So, if you already have a Launchpad account and your mum runs Ubuntu, too, give her a voice by just <a href="https://launchpad.net/~my-mom-runs-ubuntu/+join">joining the group</a>.</p>
<p>And if you think, this post misses real techie heroines, check the &#8220;<a href="http://ubuntu-women.org/">Ubuntu Women</a>&#8221; project, featuring some of the <a href="http://wiki.ubuntu-women.org/Profiles">most active member</a>s of the Ubuntu community.</p>
<div class="wp-caption alignnone" style="width: 360px"><img title="Ada Lovelace Day Logo" src="http://blog.findingada.com/wp-content/uploads/2010/03/lovelacedayshirtmucha-Lorin-white.png" alt="Ada Lovelace Day Logo" width="350" height="352" /><p class="wp-caption-text">Ada Lovelace Day Logo</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2010/03/24/my-mom-runs-ubuntu-update-for-ada-lovelace-day/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ada Lovelace Day on 24nd of March</title>
		<link>http://www.screenage.de/blog/2010/03/20/ada-lovelace-day-on-24nd-of-march/</link>
		<comments>http://www.screenage.de/blog/2010/03/20/ada-lovelace-day-on-24nd-of-march/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 07:58:48 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/?p=212</guid>
		<description><![CDATA[On the 24nd of March &#8211; next Wednesday &#8211; the &#8220;Ada Lovelace Day&#8221; is taking place. If you don&#8217;t know Ada Lovelace so far &#8211; you should: She lived in the early 19th century, and is known today especially for &#8230; <a href="http://www.screenage.de/blog/2010/03/20/ada-lovelace-day-on-24nd-of-march/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div class="wp-caption alignleft" style="width: 210px"><a href="http://en.wikipedia.org/wiki/File:Ada_Lovelace.jpg"><img class="alignleft" title="Ada Lovelace" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Ada_Lovelace.jpg/200px-Ada_Lovelace.jpg" alt="Ada Lovelace" width="200" height="318" /></a><p class="wp-caption-text">Ada Lovelace</p></div> On the 24nd of March &#8211; next Wednesday &#8211; the &#8220;<a href="http://findingada.com/about/">Ada Lovelace Day</a>&#8221; is taking place. If you don&#8217;t know <a href="http://en.wikipedia.org/wiki/Ada_Lovelace">Ada Lovelace</a> so far &#8211; you should: She lived in the early 19th century, and is known today especially for her work on Charles Babbage&#8217;s early mechanical general-purpose computer, the analytical engine. Ada is regarded not only as the first female programmer, she is actually regarded as the world&#8217;s first computer programmer.</p>
<p>The &#8220;Ada Lovelace Day&#8221; celebrates the achievements of women in technology and science and pledges for blog posts about this topic. As the Ubuntu community tries to emphasize the involvement of women in the contribution to the project (e.g. see <a href="http://ubuntu-women.org/">Ubuntu Women</a>), there might interesting stories about an Ubuntu specific focus on this day&#8217;s topic.</p>
<p>I am looking forward the 24nd, there are over 1000 blog post pledges so far. In case you use twitter, have a look at the hash marks <a href="http://twitter.com/search?q=%23AdaLovelace">#AdaLovelace</a> and <a href="http://twitter.com/search?q=%23AdaLovelace#search?q=%23ALD10">#ald10</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2010/03/20/ada-lovelace-day-on-24nd-of-march/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GNU Emacs workshop at c-base / Berlin</title>
		<link>http://www.screenage.de/blog/2010/03/16/gnu-emacs-workshop-at-c-base-berlin/</link>
		<comments>http://www.screenage.de/blog/2010/03/16/gnu-emacs-workshop-at-c-base-berlin/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 10:43:21 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2010/03/16/gnu-emacs-workshop-at-c-base-berlin/</guid>
		<description><![CDATA[Emacs? Emacs! I proudly announce the first Emacs workshop held by the incredible Anselm Helbig (also known as &#8220;mnemonikk&#8221;), starting next Monday, the 22nd of March at c-base/Berlin/Germany. If you ever wanted to start using Emacs as an advanced editor &#8230; <a href="http://www.screenage.de/blog/2010/03/16/gnu-emacs-workshop-at-c-base-berlin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Emacs? Emacs! I proudly announce the first Emacs workshop held by the incredible <a href="http://mnemonikk.org">Anselm Helbig</a> (also known as &#8220;mnemonikk&#8221;), starting next Monday, the 22nd of March at c-base/Berlin/Germany. If you ever wanted to start using Emacs as an advanced editor and development environment, this is the right kick off workshop for you. Anselm is ready to answer all your questions regarding installation, configuration, usage and programming of the GNU Emacs editor. The focus of the workshop is a hands on experience rather than a lecture.</p>
<p>A detailed German description of the workshop can be found <a href="http://mnemonikk.org/emacs-workshop/ankuendigung/">in Anselm&#8217;s blog</a>. The workshop is free of charge. </p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=09dc227b-47d8-8672-9a94-183f524d1cd5" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2010/03/16/gnu-emacs-workshop-at-c-base-berlin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>When backups fail: A mysql binlog race condition</title>
		<link>http://www.screenage.de/blog/2010/03/02/when-backups-fail-a-mysql-binlog-race-condition/</link>
		<comments>http://www.screenage.de/blog/2010/03/02/when-backups-fail-a-mysql-binlog-race-condition/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 21:24:42 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Backup]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2010/03/02/when-backups-fail-a-mysql-binlog-race-condition/</guid>
		<description><![CDATA[Today I ran into my first MySQL binlog race condition: The initial problem was quite simple: A typical MySQL master-&#62;slave setup with heavy load on the master and nearly no load on the slave, which only serves as a hot &#8230; <a href="http://www.screenage.de/blog/2010/03/02/when-backups-fail-a-mysql-binlog-race-condition/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I ran into my first MySQL binlog race condition: The initial problem was quite simple: A typical MySQL master-&gt;slave setup with heavy load on the master and nearly no load on the slave, which only serves as a hot fallback and job machine, showed differences on the same table on both machines. The differences showed up from time to time: entries that have been deleted from the master were still on the slave.</p>
<p>After several investigations I started examining the MySQL binlog from the master &#8211; a file containing all queries that will be transferred to the slave (and executed there if they don&#8217;t match any ignore-db-pattern). I grepped for ids of rows that have not been deleted on the slave as I&#8217;s interested if the DELETE statement was in the binlog. In order to read a binlog file just use &#8220;mysqlbinlog&#8221; and parse the output with grep, less or similar. To my surprise I found the following entries:
<pre wrap="">$ mysqlbinlog mysql-complete-bin.000335 | grep 1006974
DELETE FROM `tickets` WHERE `id` = 1006974
SET INSERT_ID=1006974/*!*/;
</pre>
<p>As &#8220;SET INSERT_ID&#8221; is a result of an INSERT statement it was clear, that MySQL wrote the INSERT =&gt; DELETE statements in the wrong order. As INSERT/DELETE sometimes occur quite fast after each other and several MySQL&nbsp; threads are open in the same MySQL server, you might run into a rare INSERT/DELETE race condition as the master successfully executes them, while the slave receives them in the wrong order.</p>
<p>As a comparision this is a normal order of INSERT and DELETE (please note that the actual INSERT is not displayed here):
<pre wrap="">$ mysqlbinlog mysql-complete-bin.000336 | grep 1007729&lt;br /&gt;SET INSERT_ID=1007729/*!*/;&lt;br /&gt;DELETE FROM `tickets` WHERE `id` = 1007729&lt;br /&gt;</pre>
<p>Actually this all so far. Lesson learned for me: A mysql binlog might get you into serious trouble when firing a MySQL server with INSERT and DELETE on the same rows as the linear binlog file can fail the correct statement order, which might be a result of different MySQL threads and an unclean log behavior. I have not yet found a generic solution for the problem but I am looking forward to it. </p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=6ad70f11-c173-82eb-ba85-9f75d441b02b" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2010/03/02/when-backups-fail-a-mysql-binlog-race-condition/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ubuntu Karmic Koala and Ubuntu Berlin enter metro system again</title>
		<link>http://www.screenage.de/blog/2009/10/26/ubuntu-karmic-koala-and-ubuntu-berlin-enter-metro-system-again/</link>
		<comments>http://www.screenage.de/blog/2009/10/26/ubuntu-karmic-koala-and-ubuntu-berlin-enter-metro-system-again/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 13:46:16 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[KarmicKoala]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2009/10/26/ubuntu-karmic-koala-and-ubuntu-berlin-enter-metro-system-again/</guid>
		<description><![CDATA[Once again, &#8220;Berliner Fenster&#8220;, the company behind the Berlin inside metro tv advertising system was so kind to provide the Ubuntu Berlin Karmic Koala release party at c-base and the release of Ubuntu with it&#8217;s own spot. It  will be &#8230; <a href="http://www.screenage.de/blog/2009/10/26/ubuntu-karmic-koala-and-ubuntu-berlin-enter-metro-system-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.screenage.de/blog/2009/04/23/ubuntu-jaunty-jackalope-on-berlin-metro-system/" target="_blank">Once again</a>, &#8220;<a href="http://www.berliner-fenster.de/intro-engl.html" target="_blank">Berliner Fenster</a>&#8220;, the company behind the Berlin inside metro tv advertising system was so kind to provide the U<a href="http://www.ubuntu-berlin.de/karmic-release-party" target="_blank">buntu Berlin Karmic Koala release party</a> at <a href="http://c-base.org/" target="_blank">c-base</a> and the release of Ubuntu with it&#8217;s own spot. It  will be shown for three days from 29th to 31th this month every 15 minutes on hundreds of screens viewable by more than a million passengers:</p>
<div class="youtube-video"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/nW-9iVXRhsw&amp;feature=youtube_gdata" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/nW-9iVXRhsw&amp;feature=youtube_gdata" wmode="transparent"></embed></object></div>
<p>If you cannot see the embedded spot, click on <a href="http://www.youtube.com/watch?v=nW-9iVXRhsw" target="_blank">this link</a>.<a href="http://www.youtube.com/watch?v=vWxuTF5_L84"></a></p>
<p>It&#8217;s really nice to have this great audience-appealing support once again, as it presents Ubuntu in a totally non-techie medium, reaching an audience that is hard to reach and that has time to consume  input &#8211; as the screens inside the metro trains are quite appealing.</p>
<p>I&#8217;ll see if I can post some real life pictures of the spot soon.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=53537964-1fa4-827a-9023-c65bd2d2b20c" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2009/10/26/ubuntu-karmic-koala-and-ubuntu-berlin-enter-metro-system-again/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>sync ruby gems between different installed ruby versions</title>
		<link>http://www.screenage.de/blog/2009/06/07/sync-ruby-gems-between-different-installed-ruby-versions/</link>
		<comments>http://www.screenage.de/blog/2009/06/07/sync-ruby-gems-between-different-installed-ruby-versions/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 14:14:27 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[CommandLine]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2009/06/07/sync-ruby-gems-between-different-installed-ruby-versions/</guid>
		<description><![CDATA[If you are in the Ruby business (which probably means &#8220;in the Ruby on Rails business&#8221; nowadays) sooner or later you&#8217;ll have to play around with different Ruby versions on the same machine as you might run into crashing ruby &#8230; <a href="http://www.screenage.de/blog/2009/06/07/sync-ruby-gems-between-different-installed-ruby-versions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you are in the Ruby business (which probably means &#8220;in the Ruby on Rails business&#8221; nowadays) sooner or later you&#8217;ll have to play around with different Ruby versions on the same machine as you might run into crashing ruby processes or performance issues . At least you&#8217;ll notice that running the standard Debian/Ubuntu Ruby versions might get you into serious trouble as it is several times slower than a manually compiled version (for reference see this <a href="https://bugs.launchpad.net/ubuntu/+source/ruby1.8/+bug/307462">launchpad bug</a> and this <a href="http://antoniocangiano.com/2008/12/10/reflections-on-the-ruby-shootout/">blog entry</a>.).</p>
<p>So a common situation with is: you have Ruby and a lot of Ruby gems installed and need to switch to a different Ruby version while making sure that you have all gems installed in the new version that you had in the old version. As gems differ from version to version you should also be interested in installing exactly the same gem versions again and not justing doing a install of all recent versions.</p>
<p>As far as I know there is no official way of syncing gems between two ruby installations. So the common way is something like asking ruby for a list of currently installed gems like</p>
<pre lang="Bash">$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.2, 2.2.2, 2.1.1)
actionpack (2.3.2, 2.2.2, 2.1.1)
activerecord (2.3.2, 2.2.2, 2.1.1)
activeresource (2.3.2, 2.2.2, 2.1.1)
activesupport (2.3.2, 2.2.2, 2.1.1)
[...]
ZenTest (4.0.0)</pre>
<p>and then running a </p>
<pre lang="Bash">$ gem install actionmailer -v 2.3.2
$ gem install actionmailer -v 2.2.2
$ gem install actionmailer -v 2.1.1
[...]
$ gem install Zentest -v 4.0.0</pre>
<p>for every gem and every gem version you probably need. As a couple of gems are native extensions they&#8217;ll get compiled and you need to wait some seconds or minutes.</p>
<p>As I had to do this task more than once I wrote a small wrapper script that automates the process completely by fetching the list of gems and installing them again on another ruby version:</p>
<pre lang="Bash">#!/bin/sh
GEM_FROM=/path/to/old/gem
GEM_TO=/path/to/new/gem
${GEM_FROM} list | sed -n '4,$ p' | \
 while read gem versions; do
  for version in $(echo ${versions} | sed "s/[(),]//g"); do
  echo ${gem} ${version}
  ${GEM_TO} install --no-rdoc --no-ri ${gem} -v ${version}
 done
done</pre>
<p>The script uses some regular expression sed magic, friendly tweaked by <a href="http://mnemonikk.org/">Mnemonikk</a> (thank you). Please note, that I prefer not to install rdoc and ri, as it saves time and disk space. Feel free to change this to your needs.</p>
<p>The only caveeat in this script are gems that cannot be installed as they come from unknown external repositories or were manually downloaded/installed. Therefore try to make sure to check this after a run of the gem sync script &#8211; it won&#8217;t stop when a gem cannot be installed which is intended behaviour.</p>
<p>So far about this. Hope, it helps you out when dealing with different Ruby versions. Do you have similar best practices for keeping Ruby gems in sync?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2009/06/07/sync-ruby-gems-between-different-installed-ruby-versions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A quick note on MySQL troubleshooting and MySQL replication</title>
		<link>http://www.screenage.de/blog/2009/04/18/a-quick-note-on-mysql-troubleshooting-and-mysql-replication-recovery/</link>
		<comments>http://www.screenage.de/blog/2009/04/18/a-quick-note-on-mysql-troubleshooting-and-mysql-replication-recovery/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 14:09:21 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[CommandLine]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Recovery]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2009/04/18/a-quick-note-on-mysql-and-mysql-replication-recovery/</guid>
		<description><![CDATA[PLEASE NOTE: I am currently reviewing and extending this document. While caring for a remarkable amount of MySQL server instances, troubleshooting becomes a common task. It might of interest for you which Recovering a crashed MySQL server After a server &#8230; <a href="http://www.screenage.de/blog/2009/04/18/a-quick-note-on-mysql-troubleshooting-and-mysql-replication-recovery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>PLEASE NOTE: I am currently reviewing and extending this document.</p>
<p>While caring for a remarkable amount of MySQL server instances, troubleshooting becomes a common task. It might of interest for you which</p>
<p><strong>Recovering a crashed MySQL server</strong></p>
<p>After a server crash (meaning the system itself or just the MySQL daemon) corrupted table files are quite common. You&#8217;ll see this when checking the /var/log/syslog, as the MySQL daemon checks tables during its startup.</p>
<pre>Apr 17 13:54:44 live1 mysqld[2613]: 090417 13:54:44 [ERROR]
  /usr/sbin/mysqld: Table './database1/table1' is marked as
  crashed and should be repaired</pre>
<p>The MySQL daemon just told you that it found a broken MyISAM table. Now it&#8217;s up to you fixing it. You might already know, that there is the &#8220;REPAIR&#8221; statement. So a lot of people enter their PhpMyAdmin afterwards, select database and table(s) and run the REPAIR statements. The problem with this is that in most cases your system is already in production &#8211; for instance is up again and the MySQL server already serves a bunch of requests. Therefore a REPAIR request gets slowed down dramatically. Consider taking your website down for the REPAIR &#8211; it will be faster and it&#8217;s definitely smarter not to deliver web pages based on corrupted tables.</p>
<p>The other disadvantage of the above method is, that you probably just shut down your web server and your PhpMyAdmin is down either or you have dozens of databases and tables and therefore it&#8217;s just a hard task to cycle through them. The better choice is the command line in this case.</p>
<p>If you only have a small number of corrupted tables, you can use the &#8220;mysql&#8221; client utility doing something like:</p>
<pre>$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.0.75-0ubuntu10 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql&gt; REPAIR TABLE database1.table1;
+--------------------+--------+----------+----------+
| Table              | Op     | Msg_type | Msg_text |
+--------------------+--------+----------+----------+
| database1.table1   | repair | status   | OK       |
+--------------------+--------+----------+----------+
1 row in set (2.10 sec)</pre>
<p>This works, but there is a better way: First, using OPTIMIZE in combination with REPAIR is suggested and there is a command line tool only for REPAIR jobs. Consider this call:</p>
<pre>$ mysqlcheck -u root -p --auto-repair --check --optimize database1
Enter password:
database1.table1      OK
database1.table2      Table is already up to date</pre>
<p>As you see, MySQL just checked the whole database and tried to repair and optimize it.</p>
<p>The great deal about using &#8220;mysqlcheck&#8221; is, that it can also be run against all databases in one run without the need of getting a list of them in advance:</p>
<pre>$ mysqlcheck -u root -p --auto-repair --check --optimize \
  --all-databases</pre>
<p>Of course you need to consider if an optimize of all your databases and tables might just take too long if you have huge tables. On the other hand a complete run prevents of thinking about a probably missed table.</p>
<p>[update]</p>
<p>nobse pointed out in the comments, that it&#8217;s worth having a look at the automatic MyIsam repair options in MySQL. So have a look at them if you want to automate recovery:<a href="http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_myisam-recover"></a></p>
<p><a href="http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_myisam-recover">option_mysqld_myisam-recover</a></p>
<p><strong>Recovering a broken replication</strong></p>
<p>MySQL replication is an easy method of load balancing database queries to multiple servers or just continuously backing up data. Though it is not hard to setup, troubleshooting it might be a hard task. A common reason for a broken replication is a server crash &#8211; the replication partner notices that there are broken queries &#8211; or even worse: the MySQL slave just guesses there is an error though there is none. I just ran into the latter one as a developer executed a &#8220;DROP VIEW&#8221; on a non-existing VIEW on the master. The master justs returns an error and ignores. But as this query got replicated to the MySQL SLAVE, the slave thinks it cannot enroll a query and immediately stopped replication. This is just an example of a possible error (and a hint on using &#8220;IF EXISTS&#8221; as often as possible).</p>
<p>Actually all you want to do now, is telling the slave to ignore just one query. All you need to do for this is stopping the slave, telling it to skip one query and starting the slave again:</p>
<pre>$ mysql -u root -p
mysql&gt; STOP SLAVE;
mysql&gt; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
mysql&gt; START SLAVE;</pre>
<p>That&#8217;s all about this.</p>
<p><strong>Recreating databases and tables the right way</strong></p>
<p>In the next topic you&#8217;ll recreate databases. A common mistake when dropping and recreating tables and databases is forgetting about all the settings it had &#8211; especially charsets which can run you into trouble later on (&#8220;Why do all these umlauts show up scrambled?&#8221;). The best way of recreating tables and databases or creating them on other systems therefore is using the &#8220;SHOW CREATE&#8221; statement. You can use &#8220;SHOW CREATE DATABASE database1&#8243; or &#8220;SHOW CREATE TABLE database1.table1&#8243; providing you with a CREATE statement with all current settings applied.</p>
<pre>mysql&gt; show create database database1;
+-----------+--------------------------------------------------------------------+
| Database  | Create Database                                                    |
+-----------+--------------------------------------------------------------------+
| database1 | CREATE DATABASE `database1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+-----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)</pre>
<p>The important part in this case is the &#8220;comment&#8221; after the actual create statement. It is executed only on compatible MySQL server versions and makes sure, your are running utf8 on the database.</p>
<p>Keep this in mind and it might save you a lot of trouble.</p>
<p><strong>Fixing replication when master binlog is broken</strong></p>
<p>When your MySQL master crashes there is a slight chance that your master binlog gets corrupted. This means that the slaves won&#8217;t receive updates anymore stating:</p>
<p>[ERROR] Slave: Could not parse relay log event entry. The possible reasons are: the master&#8217;s binary log is corrupted (you can check this by running &#8216;mysqlbinlog&#8217; on the binary log), the slave&#8217;s relay log is corrupted (you can check this by running &#8216;mysqlbinlog&#8217; on the relay log), a network problem, or a bug in the master&#8217;s or slave&#8217;s MySQL code. If you want to check the master&#8217;s binary log or slave&#8217;s relay log, you will be able to know their names by issuing &#8216;SHOW SLAVE STATUS&#8217; on this slave. Error_code: 0</p>
<p>You might have luck when only the slave&#8217;s relay log is corrupted as you can fix this with the steps mentioned above. But a corrupted binlog on the master might not be fixable though the databases itself can be fixed. Depending on your time you try to use the &#8220;SQL_SLAVE_SKIP_COUNTER&#8221; from above but actually the only way is to setup</p>
<p><strong>Setting up replication from scratch</strong></p>
<p>There are circumstances forcing you to start replication from scratch. For instance you have a server going live for the first time and actually all those test imports don&#8217;t need to be replicated to the slave anymore as this might last hours. My quick note for this (consider backing up your master database before!)</p>
<pre>slave: STOP SLAVE;
slave: RESET SLAVE;
slave: SHOW CREATE DATABASE datenbank;
slave: DROP DATABASE datenbank;
slave: CREATE DATABASE datenbank;

master: DROP DATABASE datenbak;
master: SHOW CREATE DATABASE datenbank;
master: CREATE DATABASE datenbank;
master: RESET MASTER

slave: CHANGE MASTER TO MASTER_USER="slave-user", \
MASTER_PASSWORD="slave-password", MASTER_HOST="master.host";
slave: START SLAVE</pre>
<p>You just started replication from scratch, check &#8220;SHOW SLAVE STATUS&#8221; on the slave and &#8220;SHOW MASTER STATUS&#8221; on the master.</p>
<p><strong>Deleting unneeded binlog files</strong></p>
<p>Replication needs binlog files &#8211; a mysql file format for storing database changes in a binary format. Sometimes it is hard to decide how many of the binlog files you want to keep on the server possibly getting you into disk space trouble. Therefore deleting binlog files that have already been transferred to the client might be a smart idea when running low on space.</p>
<p>First you need to know which binlog files the slave already fetched. You can do this by having a look on &#8220;SHOW SLAVE STATUS;&#8221; on the slave. Now log into the MySQL master and run something like:</p>
<pre>mysql&gt; PURGE BINARY LOGS TO 'mysql-bin.010';</pre>
<p>You can even do this on a date format level:</p>
<pre>mysql&gt; PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';</pre>
<p><strong>Conclusion</strong></p>
<p>The above hints might save you same time when recovering or troubleshooting a MySQL server. Please note, that these are hints and you have &#8211; at any time &#8211; make sure, that your data has an up to date backup. Nothing will help you more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2009/04/18/a-quick-note-on-mysql-troubleshooting-and-mysql-replication-recovery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ubuntu developers visiting Ubuntu Berlin and c-base &#8211; plus interview with Mark Shuttleworth</title>
		<link>http://www.screenage.de/blog/2009/02/06/ubuntu-developers-visiting-ubuntu-berlin-and-c-base-with-interview-with-mark-shuttleworth/</link>
		<comments>http://www.screenage.de/blog/2009/02/06/ubuntu-developers-visiting-ubuntu-berlin-and-c-base-with-interview-with-mark-shuttleworth/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 16:28:24 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2009/02/06/ubuntu-developers-visiting-ubuntu-berlin-and-c-base-with-interview-with-mark-shuttleworth/</guid>
		<description><![CDATA[A couple of months ago I started annoying people by telling them, I&#8217;d like to show the Ubuntu Berlin community and c-base to Mark Shuttleworth as he is interested in community personally on one side and Ubuntu Berlin is a &#8230; <a href="http://www.screenage.de/blog/2009/02/06/ubuntu-developers-visiting-ubuntu-berlin-and-c-base-with-interview-with-mark-shuttleworth/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago I started annoying people by telling them, I&#8217;d like to show the <a href="http://www.ubuntu-berlin.de/">Ubuntu Berlin</a> community and <a href="http://www.c-base.org/">c-base</a> to <a href="http://www.markshuttleworth.com/">Mark Shuttleworth</a> as he is interested in community personally on one side and Ubuntu Berlin is a great example on the other. So this&#8217;s rather inviting an important member of the community than celebrating a &#8220;meet and greet&#8221;. Of course telling people plans like this makes them smile, but when you raise your finger and say &#8220;It will happen&#8221; with certainty, they&#8217;ll get uncertain. So the plan was actually to invite Mark to one of our great traditional release parties which you shouldn&#8217;t miss when you are around Berlin at release time.</p>
<p>By chance the Ubuntu Developer Sprint happened to be in Berlin for the next Jaunty release this week. If I got it right, the Canonical Ubuntu developers meet five days around two weeks before a release feature freeze and work in groups and issues that need to be decided/designed or just fixed immediatly. The incredible <a href="http://daniel.holba.ch/blog/">Daniel Holbach</a> had the idea of inviting the bunch of developers right into the c-base after their work. So he did and we scheduled it for an evening when the Ubuntu Berlin crew also meets at c-base for their monthly jour fix.</p>
<p>We did not announce this meeting externally as we tried to make the whole evening as comfortable as possible for everyone. And we did, I think. Right in time at 19:30 this Wednesday evening about thirty Ubuntu developers entered the c-base. Just among them Mark who seemed to like the whole c-base hackerspace, Ubuntu Berlin, community, space and future thing a lot. The Canonical crowd got several guided tours through the whole base by __t, while housetier provided the others with &#8220;German beer&#8221; and Club Mate. We had a lot of chats in smaller groups, things, you always wanted to ask the developer of your choice and just relaxed smalltalks about space, canooeing the c-base project &#8220;<a href="http://www.openmoon.info/">OpenMoon</a>&#8221; (trying to send a rocket to the moon), and more. Mark seemed to be amazed about asking people why they joined to Ubuntu Berlin team, what they were currently doing and so on &#8211; so, what the community thing is about right here and right now.</p>
<p>We had no schedule for the evening. Therefore we spent about two and a half hour at c-base without any official part and a cosy diner in smaller groups afterwards. We only asked some people for an interview for the <a href="http://www.youtube.com/user/jocognito">c-base statement studio channel</a> where already people like <a href="http://www.youtube.com/watch?v=pR95TYHDJFE&amp;feature=channel_page">Nokias Peter Schneider</a> and <a href="http://www.youtube.com/watch?v=4gygQ2GgN10&amp;feature=channel_page">Mozillas CEO John Lilly</a> showed up. Mark took the time for an interview by <a href="http://www.youtube.com/user/jocognito">jocognito</a>. The results of this short talks are already online on Youtube:</p>
<p>Interview #1: (when the inbound video doesn&#8217;t show up, <a href="http://www.youtube.com/watch?v=jCz_OXEOrpo">click here</a>)</p>
<div class="youtube-video"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="264" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jCz_OXEOrpo&amp;hl=de&amp;fs=1&amp;rel=0" /><embed type="application/x-shockwave-flash" width="425" height="264" src="http://www.youtube.com/v/jCz_OXEOrpo&amp;hl=de&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>Interview #2: (when the inbound video doesn&#8217;t show up, <a href="http://www.youtube.com/watch?v=44-PP_yBruc&amp;feature=related">click here</a>)</p>
<div class="youtube-video"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="264" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/44-PP_yBruc&amp;hl=de&amp;fs=1&amp;rel=0" /><embed type="application/x-shockwave-flash" width="425" height="264" src="http://www.youtube.com/v/44-PP_yBruc&amp;hl=de&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div class="youtube-video">Another interview with <a href="http://castrojo.wordpress.com/">Jorge Castro</a> and <a href="http://jameswestby.net/weblog">James Westby</a> has also been taped and will be published soon. Funny guys talking about Ubuntu on the moon. I&#8217;ll post the Youtube links, when the edited version is online.</div>
<div class="youtube-video">So what&#8217;s next? I hope everybody liked (Ubuntu) Berlin and c-base and we got a good start for possible events in the future.</div>
<div class="youtube-video">Thanks again to Daniel who initiated the visit!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2009/02/06/ubuntu-developers-visiting-ubuntu-berlin-and-c-base-with-interview-with-mark-shuttleworth/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ubuntu Berlin raising money for a video projector &#8211; want to support?</title>
		<link>http://www.screenage.de/blog/2009/01/21/ubuntu-berlin-raising-money-for-a-video-projector-want-to-support/</link>
		<comments>http://www.screenage.de/blog/2009/01/21/ubuntu-berlin-raising-money-for-a-video-projector-want-to-support/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 18:51:53 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[BugJam]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[c-base]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2009/01/21/ubuntu-berlin-raising-money-for-a-video-projector-want-to-support/</guid>
		<description><![CDATA[Hey, I already mentioned that one goal of Ubuntu Berlin for this year is raising enough money for a new video projector. The &#8220;Ubuntu Berlin&#8221; team is quite active with its release parties, bug jams, lectures and workshops and most &#8230; <a href="http://www.screenage.de/blog/2009/01/21/ubuntu-berlin-raising-money-for-a-video-projector-want-to-support/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I already mentioned that one goal of Ubuntu Berlin for this year is raising enough money for a new video projector. The &#8220;Ubuntu Berlin&#8221; team is quite active with its release parties, bug jams, lectures and workshops and most of these events require us to present software to an audience (surprise!). We are really happy about having the possibility to use the infrastructure of the well known <a href="http://c-base.org">c-base</a>, but the video projector there is really close to its end of life-cycle and more or less unusable (too dark, unsharp, etc.).</p>
<p>Therefore we decided to buy a new video projector funded by the community. The &#8220;<a href="http://verein.ubuntu-de.org">ubuntu Deutschland e.V.</a>&#8220;, the main German LoCo team, if you can say so, and legal association behind major parts of the German community, is able to collect the money and can even issue an official contribution receipt as this is tax deductable in Germany.</p>
<p>So if you have some money left and want to support one of the most active teams in the Ubuntu community, feel free to donate some money to:</p>
<p><strong>account holde</strong>r: ubuntu Deutschland e.V.<br />
<strong>bank</strong>: HVB Nürnberg<br />
<strong>account number</strong>: 382916859<br />
<strong>bank code</strong>: 76020070<br />
<strong>IBAN</strong>: DE44760200700382916859<br />
<strong><br />
Swift (BIC)</strong>: HYVEDEMM460<br />
<strong>purpose of transfer</strong>: &#8220;Ubuntu Berlin&#8221; (important!)</p>
<p>Of course you can also donate money from another country than Germany, just use the IBAN/Swift <img src='http://www.screenage.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For your information:</p>
<p>We intend to buy a projector for about EUR 500 to 700, depending on the amount of money we collect. The beamer will be a permanent loan to the c-base, located in their workshop room &#8211; therefore used for hundreds of lectures and workshops around free software. If we collect more than we actually need for the projector, we&#8217;ll spend the remaining money for other expenses connected to Ubuntu Berlin (e.g. further reconstruction of the workshop room at c-base, funding of our bigger events like LinuxTag BBQ, release parties, etc.).</p>
<p>Thanks for reading, and: Donating makes you really sexy <img src='http://www.screenage.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[<strong>update</strong>]</p>
<p>You can also donate money over the wire: Just send the amount of money you like to spend via <strong>PayPal</strong> to: <strong>vorstand-de@ubuntu-de.org</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2009/01/21/ubuntu-berlin-raising-money-for-a-video-projector-want-to-support/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu Berlin review of 2008</title>
		<link>http://www.screenage.de/blog/2008/12/17/ubuntu-berlin-review-of-2008/</link>
		<comments>http://www.screenage.de/blog/2008/12/17/ubuntu-berlin-review-of-2008/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 22:57:53 +0000</pubDate>
		<dc:creator>ccm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.screenage.de/blog/2008/12/17/ubuntu-berlin-review-of-2008/</guid>
		<description><![CDATA[End of 2008 is close and it&#8217;s time to review the year, isn&#8217;t it? As some of you might know, I am quite active in the &#8220;Ubuntu Berlin&#8221; team, a local Berlin(Germany)-based user group, closely connected to the internationally known &#8230; <a href="http://www.screenage.de/blog/2008/12/17/ubuntu-berlin-review-of-2008/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>End of 2008 is close and it&#8217;s time to review the year, isn&#8217;t it? As some of you might know, I am quite active in the &#8220;<a href="http://www.ubuntu-berlin.de">Ubuntu Berlin</a>&#8221; team, a local Berlin(Germany)-based user group, closely connected to the internationally known <a href="http://hackerspaces.org/wiki/Hacker_Spaces">hackerspace</a> <a href="http://c-base.org/">c-base</a>.</p>
<p>Le me just sum up what we&#8217;ve done this year:</p>
<ul>
<li>about one dozen regular meetings (earch 1st Wednesday of the month) with an average of 10 to 30 visitors</li>
<li>we participated in the Ubuntu Global Bug Jam in August</li>
<li>we had about one dozen Bug Jams with Ubuntu developer Danien Holbach</li>
<li>we hosted two Ubuntu release parties (for Hardy and Intrepid) with about 200 visitors each of them and a video feature in the Berlin metro system viewable by approx 1.5 million people</li>
<li>we had several workshops and lectures for topics like &#8220;introduction to Latex&#8221;, &#8220;video editing with Cinelerra&#8221;, &#8220;fun on the command line&#8221;, &#8220;graphics and design with free software&#8221;</li>
<li>we supported the &#8220;Linuxtag 2008&#8243; and hosted the end-of-Linuxtag BBQ with dozens of free software developpers and Ubuntu affilliated people</li>
<li>we started a &#8220;terminal project&#8221;, trying to set up Ubuntu powered touch screen terminals </li>
<li>we organised an Origami workshop as Christmas social event (ever build a Tux or star?)</li>
<li>we started a new series of events with a kind of lightning talks giving the possibility to speak just a couple of minutes about a piece of software &#8211; with really great success</li>
</ul>
<p>So, looking back, 2008 was a successfull year for Ubuntu Berlin. We managed not to split into small groups and were able to increase the amount of members. Currently 120 people are reading our <a href="https://eshu.ubuntu-eu.org/mailman/listinfo/berlin">main mailing list</a> and about 110 have joined <a href="https://launchpad.net/%7Eubuntu-berlin">our launchpad group</a>. And no, they are not all nominal members.</p>
<p><b>So what are our goals for 2009?</b></p>
<p>Our main goal will be focussing on Ubuntu related topics. It&#8217;s hard to have clearly structured, topic related discussions on a mailing list with more than 100 readers. We already split our list into three lists and try to calm down every &#8220;religious&#8221; debate.</p>
<p>We will definitely host two major release parties again while trying to make them even better. There is space for improvements in the lecture schedule and quality, though we were really fine with the last two parties. I guess we will also organise something like a BBQ for Linuxtag 2009, again.</p>
<p>I hope we&#8217;ll manage to provide at least one workshop per month like we did in the last months as this really brings people to the machine, using Ubuntu and free software. The last workshops took round about 90 minutes. We are also trying to host longer workshops (approx four ours) giving you real hands on experience. Moreover we&#8217;ll continue with the lightning talk sessions as this is a real neat type of event.</p>
<p>Together with Daniel Holbach we&#8217;ll continue with the Ubuntu Berlin Bug Jams while trying to shift them towards a real practical experience solving dozens of bugs each session, motivation users to join the Bug Triage team.</p>
<p>And we&#8217;ll continue to collect donations as we urgently need things like a new video beamer for our talks and similar events. We hope to find a sponsor providing Ubuntu Berlin with a monthly budget.</p>
<p>So, let&#8217;s start into 2009 and make it an Ubuntu year, again. It&#8217;s up to us convincing people of using Ubuntu, improving Ubuntu and spreading the word again. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.screenage.de/blog/2008/12/17/ubuntu-berlin-review-of-2008/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
