<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:blogChannel="http://backend.userland.com/blogChannelModule">
  <channel>
    <title>lkundrak's Journal</title>
    <link>http://v3.sk/~lkundrak/</link>
    <description>Personal web log of lkundrak</description>
    <language>en</language>
    <copyright>Copyright (C) 2007,2008,2009,2010 Lubomir
    Rintel</copyright>
    <managingEditor>lkundrak@v3.sk</managingEditor>
    <webMaster>lkundrak@v3.sk</webMaster>
    <item>
      <title>Analyzing GIT commit data</title>
      <description>&lt;p&gt;Given distributed version control
      systems store all the history in a local storage an access to
      commit metadata as well as commits themselves is usually a
      lot faster compared to conventional version control systems.
      Additionally, &lt;a href="http://git-scm.com/"
      class="extlink"&gt;GIT&lt;/a&gt; provides clever tooling that
      exposes information about the commits, that can be nicely
      visualized via the means of &lt;tt&gt;diffstat&lt;/tt&gt; and
      such, or exported for further analysis with other
      tools.&lt;/p&gt; &lt;p&gt;I'll describe the process of
      getting the data into &lt;a href="http://www.gooddata.com/"
      class="extlink"&gt;GoodData&lt;/a&gt;, a web-based data
      analysis tool with collaboration features somewhat resembling
      those of social networking web sites. What can you do with
      your GIT commit data is to create reports similar to LWN's
      &lt;a href="http://lwn.net/Articles/363456/"
      class="extlink"&gt;Who wrote...&lt;/a&gt; articles for &lt;a
      href="http://kernel.org" class="extlink"&gt;Linux&lt;/a&gt;
      kernel releases, or maybe employ analysis similar to what
      &lt;a href="https://www.ohloh.net/"
      class="extlink"&gt;Ohloh&lt;/a&gt; does for your
      project.&lt;/p&gt; &lt;h3&gt;Upload&lt;/h3&gt; &lt;p&gt;&lt;a
      href="http://www.perl.org" class="extlink"&gt;Perl&lt;/a&gt;
      has a rather stable and active developer community and its
      source code is publicly available, therefore its commit
      history will serve our purpose perfectly. Let's obtain the
      code from the GIT repository first.&lt;/p&gt; &lt;pre&gt; $
      git clone git://perl5.git.perl.org/perl.git $ cd
      perl&lt;/pre&gt; &lt;p&gt;For illustrational purposes we'll
      just use the tail of the development history, since 5.10.0
      release which was tagged in December 2007.&lt;/p&gt;
      &lt;pre&gt; $ git log --date=short
      --format="format:%h:%aN:%aE:%cd:%ct" --shortstat perl-5.10.0
      | awk 'BEGIN {print "Commit SHA1 Hash:" \ "Author Name:"
      "Author e-mail:" "Date:" "Timestamp:" \ "Files touched:"
      "Lines added:" "Lines deleted"} /^ / {n=0; print
      ":"$1":"$4":"$6; next} /^[^ ]/ {if (n) {print ":0:0:0"}; n=1;
      printf $0}' &amp;gt;history.csv&lt;/pre&gt; &lt;p&gt;Most
      likely there is a better way of obtaining the line changes
      than piping a &lt;tt&gt;shortstat&lt;/tt&gt; through
      &lt;tt&gt;awk&lt;/tt&gt;, but this is the fastest one I could
      come up with. It would probably have been a better idea to
      use a &lt;tt&gt;--numstat&lt;/tt&gt; flag and preserve the
      per-file change information.&lt;/p&gt; &lt;p&gt;Note that we
      stick a header line there. That's not strictly required -- we
      could add it in the UI instead as well.&lt;/p&gt; (Available
      in &lt;a
      href="/~lkundrak/blog/video/git-commits/1_upload.ogg"&gt;theora&lt;/a&gt;,
      &lt;a
      href="/~lkundrak/blog/video/git-commits/1_upload.avi"&gt;h264&lt;/a&gt;,
      &lt;a
      href="http://www.youtube.com/watch?v=fivpikzDJTI"&gt;youtube&lt;/a&gt;)&lt;br&gt;
      &lt;video
      src="/~lkundrak/blog/video/git-commits/1_upload.ogg"
      controls="true" width="425" height="344"&gt; &lt;video
      src="/~lkundrak/blog/video/git-commits/1_upload.avi"
      controls="true" width="425" height="344"&gt; &lt;object
      width="425" height="344"&gt; &lt;param name="movie"
      value="http://www.youtube.com/v/fivpikzDJTI&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;
      &lt;param name="allowFullScreen"
      value="true"&gt;&lt;/param&gt; &lt;param
      name="allowscriptaccess" value="always"&gt;&lt;/param&gt;
      &lt;embed width="425" height="344"
      src="http://www.youtube.com/v/fivpikzDJTI&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"
      type="application/x-shockwave-flash"
      allowscriptaccess="always" allowfullscreen="true"&gt;
      &lt;/embed&gt; &lt;/object&gt; &lt;/video&gt; &lt;/video&gt;
      &lt;p&gt;During the upload, we mapped the dates to date
      dimension.&lt;/p&gt; &lt;p&gt;Now let's see create some
      reports.&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/git-commits.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/git-commits.html</guid>
      <pubDate>Tue, 16 Feb 2010 21:24:21 +0100</pubDate>
    </item>
    <item>
      <title>Testing your web application programmatically</title>
      <description>&lt;p&gt;For every application whose code base
      grows beyond what can be maintained by a single person a good
      test suite can save a lot of time and pain. It can even be a
      lot of fun; and web applications are no exception.&lt;/p&gt;
      &lt;p&gt;This journal entry describes the tools and basics of
      automation of user actions. Enough to construct a synthetic
      test for a simple calculator application:&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/jsapp.png"
      src="http://v3.sk/~lkundrak/blog/images/jsapp.png"
      /&gt;&lt;/p&gt; &lt;h3&gt;Ingredients&lt;/h3&gt; &lt;ul&gt;
      &lt;li&gt;&lt;a href="http://fedoraproject.org/"
      class="extlink"&gt;Fedora&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a
      href="http://seleniumhq.org/projects/remote-control/"
      class="extlink"&gt;Selenium Remote Control
      Server&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a
      href="http://search.cpan.org/dist/Test-WWW-Selenium/"
      class="extlink"&gt;Perl Selenium Client
      bindings&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/selenium.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/selenium.html</guid>
      <pubDate>Thu, 11 Feb 2010 22:15:50 +0100</pubDate>
    </item>
    <item>
      <title>VCS hell</title>
      <description>&lt;p&gt;About the biggest productivity boost
      I've done in long time was putting this into my
      &lt;tt&gt;~/.bashrc&lt;/tt&gt;:&lt;/p&gt; &lt;pre&gt; vcs ()
      { TOOL= [ -d CVS ] &amp;amp;&amp;amp; TOOL=cvs [ -d .svn ]
      &amp;amp;&amp;amp; TOOL=svn [ -d .osc ] &amp;amp;&amp;amp;
      TOOL=osc echo "$@" |grep :// &amp;amp;&amp;amp; TOOL=$1 [
      "$TOOL" ] || TOOL=$(D=; for C in $(echo $PWD |sed 's,/, ,g')
      do D="$D/$C" echo $D done | sort -r |while read DIR do [ -d
      $DIR/.hg ] &amp;amp;&amp;amp; TOOL=hg [ -d $DIR/.git ]
      &amp;amp;&amp;amp; TOOL=git [ "$TOOL" ] &amp;amp;&amp;amp;
      echo $TOOL &amp;amp;&amp;amp; break done) [ "$TOOL" ] ||
      TOOL=$1 shift $TOOL "$@" }&lt;/pre&gt; &lt;pre&gt; alias
      git="vcs git" alias cvs="vcs cvs" alias svn="vcs svn" alias
      osc="vcs osc" alias hg="vcs hg"&lt;/pre&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/vcs.html</guid>
      <pubDate>Mon, 30 Nov 2009 10:08:27 +0100</pubDate>
    </item>
    <item>
      <title>openSUSE 11.2 on Dell Inspiron Mini 12</title>
      <description>&lt;p&gt;Bought a new toy lately, a small
      Atom-based laptop and took an oportiunity to experiment with
      a platform different from what would you expect from a Fedora
      enthusiast. Grabbed a fresh new installation of &lt;a
      href="http://en.opensuse.org/openSUSE_11.2"
      class="extlink"&gt;openSUSE 11.2&lt;/a&gt; and gave it a
      try.&lt;/p&gt; &lt;h3&gt;Hardware&lt;/h3&gt; &lt;p&gt;The toy
      looks rather appealing. One can't overlook similarity with
      another thin laptop by a hardware vendor best known for being
      a notoric winner in the vendor-lock in paralympics. Compared
      to that one, this one is smaller and lighter, which is paid
      for with a rather small battery life (around 2 hours). If you
      ever used a MacBook Air you'd probably be disappointed that
      unlike Air, you can't iron your clothes with Inspiron Mini.
      For a fraction of price, the engineers obviously could not
      affort putting a fan inside, nor have a reason to do so.
      Wasn't it for the moving-head 1.8" hard drive, there wouldn't
      be any moving parts there. Unfortunatelly, I could not find a
      model with a solid state one.&lt;/p&gt;
      &lt;p&gt;Upgradability of the machine is virtually none. You
      can't even replace upgrade the humble 1G of RAM memory. You
      know, the RAM chips never go bad, or do they? Dell no longer
      sells these machines; makes one think if the users didn't
      appreciate not being able to stick in more RAM -- something
      that can be done even with smaller 10" and 9" models. The
      RAM's soldered on the same board with dual-core 1.3 GHz CPU.
      Definitely not a miracle, performance-wise. Apart from three
      times the amount of USB ports of what Air has, you'd be
      probably surprised to find an SD card reader built in. Just
      for semi-completeness, the display's resolution is 1280x800
      and there's a VGA port for external display.&lt;/p&gt;
      &lt;p&gt;You can have a look at the innards here: &lt;a
      href="http://ravicblog.blogspot.com/2009/01/dell-mini-12-dissected.html"
      class="extlink"&gt;http://ravicblog.blogspot.com/2009/01/dell-mini-12-dissected.html&lt;/a&gt;&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://www.blogcdn.com/www.engadget.com/media/2009/02/2-1-09-dell-mini-12-splayed.jpg"
      src="http://www.blogcdn.com/www.engadget.com/media/2009/02/2-1-09-dell-mini-12-splayed.jpg"
      /&gt;&lt;/p&gt; &lt;h3&gt;Software&lt;/h3&gt; &lt;p&gt;This
      is the most poorly supported machine by Linux that I've
      touched in ages. A complete sucker. Which is good, since with
      a little effort mostly each piece of its hardware is
      usable.&lt;/p&gt; &lt;h4&gt;Installing&lt;/h4&gt; &lt;p&gt;So
      I copied the Gnome flavour of live openSUSE live media to an
      USB flash memory stick and booted it. It booted up a lot
      faster than I expect it to and what I immediately found out
      was that the display resolution was rather exotic and I could
      not connect to wireless (more about those later). Honestly,
      the really first thought was "wow, the artwork is beautiful."
      So much for the first impression, I rebooted it into
      installer and started installing. It went pretty smoothly, no
      surprises apart from the disk partitioning.&lt;/p&gt;
      &lt;p&gt;No idea why is that so hard to get it right, but the
      partitioner in yast2-based installer sucked nearly as much as
      Debian's one. Personally, I like how does Fedora do that, but
      every other installer I saw would do a better job if it just
      launched &lt;tt&gt;fdisk&lt;/tt&gt;. No matter how much I
      tried, I could not convince it to use all disk's free space
      and not just 14G. I ended up running an "expert" mode where I
      could not do anything at all, since the device was "busy".
      "Probably confused by existing partitioning," I thought, it
      contained a NT partition and some service dell stuff. Wiped
      it away, created and empty partition table. This time the
      installer looked a lot nicer, allowed me to create a big
      partition that spans the whole disk and LVM on it.
      Installation finished. Result? One 14G partition.
      FFFFFFFFFFUUUUUUUU-, single user mode,
      &lt;tt&gt;fdisk&lt;/tt&gt;, &lt;tt&gt;pvresize&lt;/tt&gt;,
      &lt;tt&gt;lvresize&lt;/tt&gt;,
      &lt;tt&gt;e2resize&lt;/tt&gt;...&lt;/p&gt; &lt;h4&gt;Graphics
      Blues&lt;/h4&gt; &lt;p&gt;A lot has been writted about the
      gigantic suckage the Poulsbo GPU is. More-or-less good news
      is that at &lt;a
      href="http://v3.sk/~lkundrak/psb-opensuse-11.2/"
      class="extlink"&gt;http://v3.sk/~lkundrak/psb-opensuse-11.2/&lt;/a&gt;
      you can find packages I've ported over from RPM Fusion that
      can be used. Bad news is that the drivers are (who'd think
      that for a closed blob) rather limited. Can't help thinking
      this must have been a winner of this year's hate-your-user
      competition.&lt;/p&gt; &lt;h4&gt;Making it Sing&lt;/h4&gt;
      &lt;p&gt;Sound not work out of box. Fortunatelly, it worked
      with sound-2.6 and as I later discovered, Takashi Iwai
      commited a fix just two days ago. This is not the first time
      he was found guilty of commiting exactly the fix I needed.
      He's a SUSE developer as well, therefore I'd expect openSUSE
      audio stack to be generally in a decent state, it was
      probably just me picking the wrong piece of hardware this
      time. Oh, and here's that fix:&lt;/p&gt; &lt;p&gt;&lt;a
      href="http://git.kernel.org/?p=linux/kernel/git/tiwai/sound-2.6.git;a=commit;h=1a6969788ef2d5bc3169eee59def6b267182f136"
      class="extlink"&gt;http://git.kernel.org/?p=linux/kernel/git/tiwai/sound-2.6.git;a=commit;h=1a6969788ef2d5bc3169eee59def6b267182f136&lt;/a&gt;&lt;/p&gt;
      &lt;p&gt;Despite this fix, you get horrible sound dissorts
      with PulseAudio. As far as I'm concerned it's a known bug and
      being worked on. Not being anything that would even remotely
      resemble anyone thet would be familiar with the audio stack,
      a quick fix for me would be to configure gstreamer to bypass
      Pulse with
      &lt;tt&gt;gstreamer-preferences&lt;/tt&gt;.&lt;/p&gt;
      &lt;h4&gt;Wireless&lt;/h4&gt; &lt;p&gt;Did not get that to
      work yet. Broadcom. Not looked into that much, but I'd not be
      surprised if there was a LP PHY. If I'm right, I'm lucky,
      since some time ago I've seen Gábor Stefanik commit some
      bits that could make it work into wireless-testing (though
      they seem to have been reverted since):&lt;/p&gt;
      &lt;p&gt;&lt;a
      href="http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Flinville%2Fwireless-testing.git&amp;amp;a=search&amp;amp;h=HEAD&amp;amp;st=commit&amp;amp;s=LP-PHY"
      class="extlink"&gt;http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Flinville%2Fwireless-testing.git&amp;amp;a=search&amp;amp;h=HEAD&amp;amp;st=commit&amp;amp;s=LP-PHY&lt;/a&gt;&lt;/p&gt;
      &lt;p&gt;In worst case, the MiniPCI-E network adapter is
      replaceable.&lt;/p&gt; &lt;h4&gt;Software Load&lt;/h4&gt;
      &lt;p&gt;As I've said, I've chosen the GNOME flavour (most
      openSUSE users seem to prefer KDE). The distro feels very
      polished, from the bootup procedure to the Desktop itself.
      They replaced the GNOME menu with their own version, and I'd
      say it could use some improvement (found it hard to launch
      terminal :). It does only offer a couple of most used
      applications, it uses a separate dialog to find and run some
      other application. You can't search for an application from
      the menu. Probably needless to add, this is just a matter of
      taste, not a technical barier. The standard GNOME menu is
      offered as Panel applet, you can replace the openSUSE menu
      with it, or even use both if you like.&lt;/p&gt;
      &lt;p&gt;When it comes to applications, openSUSE tends to use
      Mono-base tools. Looking both at the performance and the
      memory consumption I couldn't help thinking it feels
      pre-production. Having said the machine has humble techincal
      parameters one can't blame me for not using Tomboy, Banshee
      or F-Spot. (Tried to actually use the latter and would
      definitely advise my friends to do so. If not memory and CPU,
      I could probably at least use more battery life.)&lt;/p&gt;
      &lt;p&gt;For package management a tool called
      &lt;tt&gt;zypper&lt;/tt&gt; is used. With command-line
      interface similar to &lt;tt&gt;yum&lt;/tt&gt; it's rather
      easy to grasp. I appreciated that it searches rather quickly
      compared to &lt;tt&gt;yum&lt;/tt&gt;, didn't care much enough
      to research why. The repositories can be added and removed
      without editing the configuration file. A nice detail, but
      openSUSE seems to rely on custom repositories heavily so it's
      rather important there. What I did not like is that it by
      default refreshes the repository metadata on each run and
      installs packages right after downloading. The latter may be
      an advantage if you are disk-space constrained, though it
      might have been nice if they parallelized it (not that
      &lt;tt&gt;yum&lt;/tt&gt; would do that).&lt;/p&gt;
      &lt;p&gt;What's unhappy is how openSUSE decentralizes
      repositories. It might be useful in some specific use-cases,
      but think of the poor user who just wants to install a
      package... I needed Rhythmbox. Took me some time to learn
      about Contrib repository (shame on me for not reading
      documentation). Why on earth isn't it present by default? It
      could be disabled or something. Needed another package
      (&lt;tt&gt;synergy&lt;/tt&gt;), not present in contrib, but
      managed to find it in someone's collection (or how is it
      called) in Build Service. I wish I could just
      &lt;tt&gt;zypper in synergy&lt;/tt&gt;.&lt;/p&gt;
      &lt;p&gt;Time to get some real work done. What I do for
      Fedora is package development; why not package stuff I
      needed? Started with &lt;tt&gt;psb&lt;/tt&gt; kernel module.
      What I need to note now, this is the time I encountered the
      first bug (with &lt;tt&gt;git config color.ui&lt;/tt&gt; set
      to &lt;tt&gt;auto&lt;/tt&gt;, the pager didn't let the escape
      sequences pass through like &lt;tt&gt;less -R&lt;/tt&gt;
      does). Everything else worked flawlessly so far, I'm not used
      to that :) Another thing worth noting is that anyone who
      drives the &lt;a
      href="http://en.opensuse.org/Kernel_Module_Packages"
      class="extlink"&gt;kernel module packaging&lt;/a&gt;
      infrastructure for openSUSE did not do a proper research,
      otherwise he could have delivered &lt;a
      href="http://rpmfusion.org/Packaging/KernelModules/Kmods2"
      class="extlink"&gt;more for smaller price resuing what's
      already been done&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;This is where
      I started to think that openSUSE must just hate packagers.
      Having my tiny RPM done, I had no way to ensure it's
      buildable reproducibly (its BuildRequires are correct).
      Fedora engineers are familiar with &lt;tt&gt;mock&lt;/tt&gt;
      tool -- for openSUSE I was told that I need a Build Service
      account. For a local build. And I need a "Build Service
      checkout" to build from. If a Novell engineer happens to read
      this, surprised why you have so little community
      contributors? They don't feel welcome. They feel that your
      tooling is a medieval torture device.&lt;/p&gt;
      &lt;p&gt;Overally -- not bad. I'm going to use this for my
      desktop work and will attempt to do some Fedora development
      from it ;)&lt;/p&gt; &lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; A in
      rather informative thread spinned off at
      &lt;tt&gt;opensuse-buildservice&lt;/tt&gt; list: &lt;a
      href="http://lists.opensuse.org/opensuse-buildservice/2009-11/msg00077.html"
      class="extlink"&gt;http://lists.opensuse.org/opensuse-buildservice/2009-11/msg00077.html&lt;/a&gt;
      Obviously openSUSE has a local build tool and with
      &lt;tt&gt;osc build&lt;/tt&gt; I just picked up a wrong tool.
      It has some glitches though, apparently apart from not
      working at all (&lt;a
      href="https://bugzilla.novell.com/show_bug.cgi?id=553880"
      class="extlink"&gt;#553880&lt;/a&gt;) it is not designed
      around zypper and does not fetch packages from remote
      repositories. I find it odd that the developers don't lack
      the functionality -- mock proved to be a really useful tool
      greatly helpful for lot of stuff ranging from building the
      packages in the build system, to QA-ing them locally and even
      creating chroots of other distribution releases to reproduce
      and fix bugs.&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/inspiron-12-opensuse.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/inspiron-12-opensuse.html</guid>
      <pubDate>Mon, 09 Nov 2009 16:14:40 +0100</pubDate>
    </item>
    <item>
      <title>See you at LinuxAlt 2009</title>
      <description>&lt;p&gt;LinuxAlt 2009 takes place this weekend
      in Brno. The talks seem pretty interesting, see details at
      web site &lt;a href="http://www.linuxalt.cz/"
      class="extlink"&gt;http://www.linuxalt.cz/&lt;/a&gt;
      (czech).&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://lkundrak.fedorapeople.org/linuxalt2009brno.jpeg"
      src="http://lkundrak.fedorapeople.org/linuxalt2009brno.jpeg"
      /&gt;&lt;/p&gt; &lt;p&gt;(There's no good blog without a
      picture. Hopefully god will forgive me for reusing older
      artwork, and noone will notice either.)&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/linuxalt2009.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/linuxalt2009.html</guid>
      <pubDate>Wed, 04 Nov 2009 13:34:24 +0100</pubDate>
    </item>
    <item>
      <title>Review Swappies</title>
      <description>&lt;p&gt;Need someone to review your package?
      &lt;/p&gt; &lt;p&gt;As my need-to-have-reviewed queue grows,
      I'm willing to swap reviews with you! Just check these out,
      &lt;a href="http://tinyurl.com/review-queue"
      class="extlink"&gt;http://tinyurl.com/review-queue&lt;/a&gt;
      most are failry simple, pick some and let me know which
      package you want me to review.&lt;/p&gt; &lt;p&gt;If you've
      never made a package or newer done a review and would like to
      join maintainers of Fedora package collection, this is a good
      way to start! Do not hesitate to let me know if you need any
      help then!&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/review-swappies-2.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/review-swappies-2.html</guid>
      <pubDate>Tue, 03 Nov 2009 11:48:46 +0100</pubDate>
    </item>
    <item>
      <title>Announcing the new Fedora Project Logo</title>
      <description>&lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/fedora-new-logo.png"
      src="http://v3.sk/~lkundrak/blog/images/fedora-new-logo.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/fedora-new-logo.html</guid>
      <pubDate>Wed, 26 Aug 2009 12:44:49 +0200</pubDate>
    </item>
    <item>
      <title>Logo-shaped collage of Fedora users</title>
      <description>&lt;p&gt;Pavol Rusnak of OpenSUSE made a
      beautiful &lt;a
      href="http://stick.gk2.sk/blog/2009/08/opensuse-users-collage/"
      class="extlink"&gt;collage of their user avatars&lt;/a&gt;. I
      tried to do the same with Fedora users. See how it
      looks:&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/fedora-users-tn.png"
      src="http://v3.sk/~lkundrak/blog/images/fedora-users-tn.png"
      /&gt;&lt;/p&gt; &lt;p&gt;&lt;a
      href="http://v3.sk/~lkundrak/blog/images/fedora-users.png"
      class="extlink"&gt;See Full size picture&lt;/a&gt;.&lt;/p&gt;
      &lt;p&gt;Tool to create these is
      &lt;tt&gt;metapixel&lt;/tt&gt; available in Fedora. Sources
      of my pictures were:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Cca. 280
      from Gravatar for &lt;tt&gt;fedora-list&lt;/tt&gt; and
      &lt;tt&gt;fedora-devel&lt;/tt&gt; participants&lt;/li&gt;
      &lt;li&gt;Cca. 220 from Platet fedora Avatars&lt;/li&gt;
      &lt;li&gt;Cca. 1100 from Facebook &lt;tt&gt;Fedora&lt;/tt&gt;
      and &lt;tt&gt;FEL&lt;/tt&gt; groups&lt;/li&gt; &lt;/ul&gt;
      &lt;p&gt;I had slightly less pictures than OpenSUSE, since
      Facebook doesn't provide API for getting lists of page fans
      unlike of groups, therefore I did not use pictures of 2600+
      &lt;i&gt;Fedora - Linux&lt;/i&gt; fans.&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/metapixel.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/metapixel.html</guid>
      <pubDate>Fri, 14 Aug 2009 14:36:35 +0200</pubDate>
    </item>
    <item>
      <title>Still wondering why File System Capabilities are just
      Awesome?</title>
      <description>&lt;p&gt;If &lt;a
      href="http://udrepper.livejournal.com/20709.html"
      class="extlink"&gt;File System Capabilities&lt;/a&gt; were in
      use now, today's local root &lt;a
      href="http://blog.cr0.org/2009/07/old-school-local-root-vulnerability-in.html"
      class="extlink"&gt;privilege escalation flaw&lt;/a&gt; in
      Pulseaudio just wouldn't happen. Happily, they have been
      finally &lt;a
      href="http://cvs.fedoraproject.org/viewvc/rpms/rpm/devel/rpm.spec?view=diff&amp;amp;r1=1.347&amp;amp;r2=1.348"
      class="extlink"&gt;enabled in RPM for Fedora
      12&lt;/a&gt;!.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/pulse-suid.html</guid>
      <pubDate>Thu, 16 Jul 2009 15:04:13 +0200</pubDate>
    </item>
    <item>
      <title>VirtualBox 3.0.0 in RPM Fusion</title>
      <description>&lt;p&gt;VirtualBox 3.0.0 Open Source Edition
      (OSE) will hit RPM Fusion Free repository for Fedora 11 soon
      unless something breaks horribly. That means now it's the
      best time to test it!&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/virtualbox3.png"
      src="http://v3.sk/~lkundrak/blog/images/virtualbox3.png"
      /&gt;&lt;/p&gt; &lt;p&gt;Apart from rebase to newest,
      freshest, coolest upstream code, the guest additions for
      Fedora were reworked (which means they actually should work
      now). To get them, install the
      &lt;tt&gt;VirtualBox-OSE-guest&lt;/tt&gt; package in your
      Fedora 11 Virtual Machine.&lt;/p&gt; &lt;p&gt;For the X11
      display resize functionality to work, you need a recent
      &lt;tt&gt;xorg-x11-server-Xorg&lt;/tt&gt; package, which is
      currently &lt;a
      href="https://admin.fedoraproject.org/updates/xorg-x11-server-1.6.2-2.fc11"
      class="extlink"&gt;waiting to be pushed&lt;/a&gt; to the
      testing repository.&lt;/p&gt; &lt;h3&gt;Credits&lt;/h3&gt;
      &lt;p&gt;The RPM Fusion community had been doing fantastic
      job reporting issues and providing fixes for the package, so
      I feel obliged to send a big thank you to them especially to
      Kevin Pouget, Gabriel Ramirez, Valent Turkovic and Jonathan
      Dieter (in no particular order). Kudos to the upstream
      developers as well, especially for fixing the irritiating
      network-related &lt;a
      href="http://www.virtualbox.org/ticket/4343"
      class="extlink"&gt;hang bug&lt;/a&gt; very
      promptly.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/vbox-3-rpmfusion.html</guid>
      <pubDate>Fri, 10 Jul 2009 15:40:24 +0200</pubDate>
    </item>
    <item>
      <title>Two more FUDcon photo patches</title>
      <description>&lt;p&gt;Michal Ingeli
      (&lt;tt&gt;&amp;lt;ksyz&amp;gt;&lt;/tt&gt;)&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://farm3.static.flickr.com/2455/3668030526_955bc8cb94.jpg"
      src="http://farm3.static.flickr.com/2455/3668030526_955bc8cb94.jpg"
      /&gt;&lt;/p&gt; &lt;p&gt;Lubomir Rintel
      (&lt;tt&gt;&amp;lt;lkundrak&amp;gt;&lt;/tt&gt;)&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://farm4.static.flickr.com/3372/3668030540_f48a399be8.jpg"
      src="http://farm4.static.flickr.com/3372/3668030540_f48a399be8.jpg"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/fudcon-patch.html</guid>
      <pubDate>Sun, 28 Jun 2009 11:25:28 +0200</pubDate>
    </item>
    <item>
      <title>A few observations about Berlin</title>
      <description>&lt;ul&gt; &lt;li&gt;The buildings tend to be
      rather small, smaller density, leaving quite some space for
      trees&lt;/li&gt; &lt;li&gt;Very friendly people&lt;/li&gt;
      &lt;li&gt;If you like beer, visit Czech instead&lt;/li&gt;
      &lt;li&gt;Quite good public transportation, S-Bahn train
      lines running through the city&lt;/li&gt; &lt;li&gt;Berliners
      like to ride bikes a lot! You'll see bikes around
      everywhere&lt;/li&gt; &lt;li&gt;Pedestrian crossings are not
      marked with full white stripes when there are traffic
      lights&lt;/li&gt; &lt;li&gt;Their ticket machines are
      overengineered :)&lt;/li&gt; &lt;/ul&gt;
      &lt;div&gt;&lt;i&gt;&lt;a href="entries/berlin.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/berlin.html</guid>
      <pubDate>Sat, 27 Jun 2009 07:01:33 +0200</pubDate>
    </item>
    <item>
      <title>Review Swappies</title>
      <description>&lt;p&gt;Need someone to review your package?
      &lt;/p&gt; &lt;p&gt;I'm in a desperate need of having load of
      Ruby stuff in and willing to swap reviews with you! Just
      check these out, &lt;a
      href="http://tinyurl.com/gdc-ruby-stack"
      class="extlink"&gt;http://tinyurl.com/gdc-ruby-stack&lt;/a&gt;
      most are failry simple, pick some and let me know which
      package you want me to review.&lt;/p&gt; &lt;p&gt;Please help
      a brotha out!&lt;/p&gt; &lt;p&gt;NB: This may come handy to
      you when reviewing those: &lt;a
      href="https://fedoraproject.org/wiki/Packaging:Ruby"
      class="extlink"&gt;https://fedoraproject.org/wiki/Packaging:Ruby&lt;/a&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/review-swappies.html</guid>
      <pubDate>Sun, 07 Jun 2009 12:40:36 +0200</pubDate>
    </item>
    <item>
      <title>How to get a feature into Gnome</title>
      <description>&lt;p&gt;&lt;a
      href="http://bugzilla.gnome.org/show_bug.cgi?id=566546"
      class="extlink"&gt;http://bugzilla.gnome.org/show_bug.cgi?id=566546&lt;/a&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/gnome-feature.html</guid>
      <pubDate>Tue, 02 Jun 2009 16:20:45 +0200</pubDate>
    </item>
    <item>
      <title>Fedora 11 and Inkscape 0.47</title>
      <description>&lt;p&gt;Dearest Fedora and Inkscape
      users,&lt;/p&gt; &lt;p&gt;As you may have noticed, Fedora 11
      (Leonidas) will ship with SVN snapshot of Inkscape that
      targets 0.47 release. As such it may have bugs that will not
      be present in the release and even incomplete feature set
      since it is from few days before the feature
      freeze.&lt;/p&gt; &lt;p&gt;This was done due to demand from
      user base and to help shape the final 0.47.&lt;/p&gt;
      &lt;p&gt;Once Inkscape 0.47 is released, which is &lt;a
      href="http://www.inkscape.org/#The_road_to_0.47:April_21,_2009"
      class="extlink"&gt;planned for mid-July&lt;/a&gt;, it will be
      pushed to the stable updates repository. Until then, testing
      repository will be regularly updates with beta and release
      candidate packages starting with a &lt;a
      href="https://admin.fedoraproject.org/updates/inkscape-0.47-0.9.20090518svn.fc11"
      class="extlink"&gt;snapshot from May 18th&lt;/a&gt;. See
      Fedora Wiki for details on &lt;a
      href="https://fedoraproject.org/wiki/QA/Updates_Testing"
      class="extlink"&gt;how to get the package from the testing
      repository&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Any feedback is, of
      course welcome. Please report issues you'll find at &lt;a
      href="https://bugs.launchpad.net/inkscape"
      class="extlink"&gt;Inkscape's bug tracker&lt;/a&gt; or &lt;a
      href="http://bugzilla.redhat.com/" class="extlink"&gt;our
      Bugzilla instance&lt;/a&gt;. Please ensure you're running
      latest &lt;tt&gt;inkscape&lt;/tt&gt; package from the testing
      repository before reporting a bug.&lt;/p&gt; &lt;p&gt;Have
      fun with brand new Fedora and
      Inkscape!&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/inkscape-testing-fedora.html</guid>
      <pubDate>Tue, 19 May 2009 15:52:40 +0200</pubDate>
    </item>
    <item>
      <title>VirtualBox OSE in RPM Fusion</title>
      <description>&lt;p&gt;Open Source edition of VirtualBox had
      recently finally been imported into RPM Fusion.&lt;/p&gt;
      &lt;p&gt;While the Fedora 10 Branch carries the 2.1.4
      version, and is not likely to be updated to a newer release,
      a brand new &lt;b&gt;2.2.2&lt;/b&gt; version had been
      imported into development branch &lt;b&gt;targetting Fedora
      11&lt;/b&gt; today and will hit the devel repository
      soonish.&lt;/p&gt; &lt;p&gt;Grab it while it's hot unless you
      already have done so -- download the &lt;a
      href="http://fedoraproject.org/get-prerelease"
      class="extlink"&gt;Fedora 11 Preview&lt;/a&gt; release, &lt;a
      href="http://rpmfusion.org/Configuration"
      class="extlink"&gt;enable RPM Fusion free&lt;/a&gt;
      repository and add &lt;tt&gt;VirtualBox-OSE&lt;/tt&gt;
      package. All feedback (either bugs in bugzilla or success
      reports) is of course welcome.&lt;/p&gt; &lt;p&gt;And finally
      the screenshot, which probably grabbed your attention to this
      post ;)&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/vbox-2.2.2-tn.png"
      src="http://v3.sk/~lkundrak/blog/images/vbox-2.2.2-tn.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/vbox-rpmfusion.html</guid>
      <pubDate>Sun, 03 May 2009 15:53:48 +0200</pubDate>
    </item>
    <item>
      <title>Short circuitting binary RPM builds with
      shortrpm</title>
      <description>&lt;p&gt;Ever wonderred why can't you do a
      &lt;tt&gt;rpmbuild -bb --short-circuit&lt;/tt&gt; just after
      you found out that you forgot to add something in
      &lt;tt&gt;%files&lt;/tt&gt; or made a typo in
      &lt;tt&gt;%install&lt;/tt&gt;, having waited three hours for
      a package to compile? Being able to quickly fix your problem
      could easily save you many hours of compiling. You could
      check whether the package is able to install, check whether
      dependencies are fine, the program runs, scriptlets behave
      fine or just &lt;tt&gt;rpmlint&lt;/tt&gt; the resulting
      package.&lt;/p&gt; &lt;p&gt;There are lot of packages that
      take &amp;gt;1 hour to build, and for certain packages, say
      &lt;tt&gt;java-1.6.0-openjdk&lt;/tt&gt; on PowerPC, an extra
      compilation effectively means one more day to get the package
      done.&lt;/p&gt; &lt;p&gt;If you don't like having to rebuild
      your package every time you make a small mistake just because
      of a &lt;a
      href="https://bugzilla.redhat.com/show_bug.cgi?id=478463"
      class="extlink"&gt;religious issue with RPM&lt;/a&gt; you may
      have a look at &lt;tt&gt;&lt;a
      href="http://v3.sk/~lkundrak/shortrpm/"
      class="extlink"&gt;shormtrpm&lt;/a&gt;&lt;/tt&gt; package. It
      transparently wraps &lt;tt&gt;rpmbuild&lt;/tt&gt;, causing it
      to think most sections contain &lt;tt&gt;exit 0&lt;/tt&gt; as
      first command intercepting &lt;tt&gt;open&lt;/tt&gt;(3) call
      via &lt;tt&gt;LD_PRELOAD&lt;/tt&gt;.&lt;/p&gt;
      &lt;h3&gt;Workflow&lt;/h3&gt; &lt;p&gt;Once you install the
      &lt;tt&gt;shortrpm&lt;/tt&gt; package (and eventually restart
      your shell), you may follow the same procedure when building
      the package as before, while gainging the ability to
      short-circuit the binary package build:&lt;/p&gt; &lt;pre&gt;
      rpmbuild -ba gnomovision.spec&lt;/pre&gt;
      &lt;p&gt;&lt;i&gt;Oh my! Install failed on EL-5 since I
      forgot to add &lt;tt&gt;--vendor&lt;/tt&gt; parameter to
      &lt;tt&gt;desktop-file-install&lt;/tt&gt;.&lt;/i&gt; Fix
      it.&lt;/p&gt; &lt;pre&gt; rpmbuild -bi --short-circuit
      gnomovision.spec&lt;/pre&gt; &lt;p&gt;&lt;i&gt;Succeeded.
      Fine.&lt;/i&gt; You'd have to do an extra rebuild here
      without &lt;tt&gt;shortrpm&lt;/tt&gt;.&lt;/p&gt; &lt;pre&gt;
      rpmbuild -bb --short-circuit gnomovision.spec&lt;/pre&gt;
      &lt;p&gt;&lt;i&gt;&lt;tt&gt;rpmlint&lt;/tt&gt; says you're
      missing &lt;tt&gt;%defattr&lt;/tt&gt; and that your
      permissions are generally insane.&lt;/i&gt; Fix it. Again one
      more rebuild without &lt;tt&gt;shortrpm&lt;/tt&gt;.&lt;/p&gt;
      &lt;pre&gt; rpmbuild -bb --short-circuit
      gnomovision.spec&lt;/pre&gt; &lt;p&gt;&lt;i&gt;Looks
      fine.&lt;/i&gt; I'm gonna do a final build to ensure
      everything builds fine as it is.&lt;/p&gt; &lt;pre&gt;
      rpmbuild -ba gnomovision.spec&lt;/pre&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/shortrpm.html</guid>
      <pubDate>Wed, 29 Apr 2009 10:24:47 +0200</pubDate>
    </item>
    <item>
      <title>Taking advantage of tab titles</title>
      <description>&lt;p&gt;If you're using many terminal tabs, you
      may have noticed that the default tab title does not
      particularly contribute to easy identification of the tab.
      &lt;tt&gt;user@hostname&lt;/tt&gt;. It may make sense if your
      work mainly consists of administering systems remotely, which
      is frequently not the case.&lt;/p&gt; &lt;p&gt;This led me to
      adding this little snippet to my &lt;tt&gt;.bashrc&lt;/tt&gt;
      files, resulting in nicer tab names:&lt;/p&gt; &lt;pre&gt;
      _set_xterm () { echo -ne "\e]0;$@\007"; } _clear_title () {
      _set_xterm shell; }&lt;/pre&gt; &lt;pre&gt; _set_title () {
      TITLE="$@"&lt;/pre&gt; &lt;pre&gt; # Ignore ourselves [ "$1"
      = _clear_title ] &amp;amp;&amp;amp; return&lt;/pre&gt;
      &lt;pre&gt; # Deal with job control if [ "$1" = fg ] then
      MATCH='^\[.*\]\+' [ -n "$2" ] &amp;amp;&amp;amp;
      MATCH="$(echo $2 |sed 's/^%\([0-9]*\)/^\\[\1\\]/')"
      TITLE="$(jobs |grep "$MATCH" |sed 's/^[^ ]* *[^ ]* *//')"
      fi&lt;/pre&gt; &lt;pre&gt; _set_xterm "$TITLE" }&lt;/pre&gt;
      &lt;pre&gt; PROMPT_COMMAND="_clear_title" trap 'set +o
      functrace; _set_title $BASH_COMMAND' DEBUG&lt;/pre&gt;
      &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/bashrc.png"
      src="http://v3.sk/~lkundrak/blog/images/bashrc.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/bashrc.html</guid>
      <pubDate>Fri, 24 Apr 2009 09:46:37 +0200</pubDate>
    </item>
    <item>
      <title>Good user interface</title>
      <description>&lt;p&gt;...knows what to do better than the
      user.&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/ebay.png"
      src="http://v3.sk/~lkundrak/blog/images/ebay.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/devicekit-disks.html</guid>
      <pubDate>Thu, 23 Apr 2009 12:34:28 +0200</pubDate>
    </item>
    <item>
      <title>Trouble running crash against live system?</title>
      <description>&lt;p&gt;If you've attempted to run
      &lt;tt&gt;crash&lt;/tt&gt; against live system with recent
      Rawhide kernel that doesn't ship the
      &lt;tt&gt;crash&lt;/tt&gt; driver, but uses
      &lt;tt&gt;/dev/mem&lt;/tt&gt; to access memory, you've
      probably failed, getting an error message similar to
      this:&lt;/p&gt; &lt;pre&gt; crash: read error: kernel virtual
      address: c0abb600 type: "xtime"&lt;/pre&gt; &lt;p&gt;That's
      because for some unknown reason &lt;tt&gt;/dev/mem&lt;/tt&gt;
      is limited to first 256 pages. Until this is fixed &lt;a
      href="http://lkml.org/lkml/2008/11/16/117"
      class="extlink"&gt;upstream&lt;/a&gt;, here's a simple &lt;a
      href="http://sourceware.org/systemtap/"
      class="extlink"&gt;SystemTap&lt;/a&gt; script that tricks the
      range-checking routine into thinking that our access is not
      beyond the 256-page boundary:&lt;/p&gt; &lt;pre&gt; probe
      kernel.function("devmem_is_allowed") { $pagenr = 0;
      }&lt;/pre&gt; &lt;p&gt;It modifies a local variable, so it
      has to be run in Guru mode:&lt;/p&gt; &lt;pre&gt; [root@bimbo
      stap]# stap -g devmem.stp &lt;/pre&gt; &lt;p&gt;Voila,
      &lt;tt&gt;crash&lt;/tt&gt; works.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/crash.html</guid>
      <pubDate>Sun, 29 Mar 2009 17:20:07 +0200</pubDate>
    </item>
    <item>
      <title>Getting rid of crop marks</title>
      <description>&lt;p&gt;The quickest way I've found for getting
      rid of crop marks before printing out pages from &lt;a
      href="http://lwn.net/Kernel/LDD3/" class="extlink"&gt;Linux
      Device Drivers&lt;/a&gt; (you would not believe how annoying
      they could be :)&lt;/p&gt; &lt;pre&gt; pstops -pa4
      '0@1.3(-3.5cm,-4cm)' ch10.ps ch10-cropped.ps&lt;/pre&gt;
      &lt;p&gt;I'm wondering whether there's a GUI tool that could
      save me from trial-and-error while finding the right shift
      and scale.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/crop-marks.html</guid>
      <pubDate>Tue, 17 Mar 2009 08:36:55 +0100</pubDate>
    </item>
    <item>
      <title>Anyone to review Yo Frankie (BGE) package?</title>
      <description>&lt;p&gt;No? Fine, I'm closing it
      &lt;tt&gt;WONTFIX&lt;/tt&gt;. I just thought it might be a
      good idea to have a game that showcases Open Source 3D
      graphics capabilities in distro.&lt;/p&gt;
      &lt;p&gt;Seriously, if there's any package who likes the
      game, I'd even swap reviews. Not a packager and want to be?
      Doing a good review may help you get sponsored. I'd be
      thankful for a good unofficial review as well.&lt;/p&gt;
      &lt;p&gt;The package itself is quite simple, just a bunch of
      static files in &lt;tt&gt;/usr/share&lt;/tt&gt;, I can't
      understand why noone picked in up in almost three
      weeks.&lt;/p&gt; &lt;p&gt;Here's the &lt;a
      href="https://bugzilla.redhat.com/show_bug.cgi?id=486758"
      class="extlink"&gt;review request&lt;/a&gt;, and here are
      couple of screen shots to convince you. The game is actually
      much better than these:&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/yo-frankie/level1.png"
      src="http://v3.sk/~lkundrak/blog/images/yo-frankie/level1.png"
      /&gt;&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/yo-frankie/log.png"
      src="http://v3.sk/~lkundrak/blog/images/yo-frankie/log.png"
      /&gt;&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/yo-frankie/goat.png"
      src="http://v3.sk/~lkundrak/blog/images/yo-frankie/goat.png"
      /&gt;&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/yo-frankie/water.png"
      src="http://v3.sk/~lkundrak/blog/images/yo-frankie/water.png"
      /&gt;&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/yo-frankie/sheep.png"
      src="http://v3.sk/~lkundrak/blog/images/yo-frankie/sheep.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/frankie-fedora.html</guid>
      <pubDate>Wed, 11 Mar 2009 12:32:32 +0100</pubDate>
    </item>
    <item>
      <title>DOS Games in Linux</title>
      <description>&lt;p&gt;I've made RPM packages of some DOS
      Abandonware Games. &lt;a
      href="http://v3.sk/~lkundrak/dosgames/"
      class="extlink"&gt;Check it out&lt;/a&gt; if you want if you
      want to relive your old memories, before software lawyers
      knock on my door :)&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/dosgames/img/imapc.png"
      src="http://v3.sk/~lkundrak/dosgames/img/imapc.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/dos-games-linux.html</guid>
      <pubDate>Sat, 07 Mar 2009 13:07:19 +0100</pubDate>
    </item>
    <item>
      <title>Inkscape snapshot in Rawhide</title>
      <description>&lt;p&gt;SVN snapshot that will eventually lead
      to 0.47 release landed in Rawhide. It took some time to get
      it compile with GCC 4.4, and even more to get it run. Now
      that it runs, I'm sure you know that (like everything in
      Rawhide), it can burn your house, kill your cat and make the
      whole world implode.&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/inkscape.png"
      src="http://v3.sk/~lkundrak/blog/images/inkscape.png"
      /&gt;&lt;/p&gt; &lt;h3&gt;What's new&lt;/h3&gt; &lt;p&gt;The
      package has been refactored, it doesn't drag each possible
      dependency for each extension. However, you may lack some
      extensions (Inkscape hides most of them if their dependencies
      are unsatisfied). I yet have to figure out what to do about
      this; mention it in Release Notes, split the core into a
      subpackage and let the main package depend on all possible
      dependencies or install dependencies on-demand via PackageKit
      (ideas? mail me)&lt;/p&gt; &lt;p&gt;Apart from that, upstream
      added a whole lot of new features: &lt;a
      href="http://wiki.inkscape.org/wiki/index.php/ReleaseNotes047"
      class="extlink"&gt;http://wiki.inkscape.org/wiki/index.php/ReleaseNotes047&lt;/a&gt;&lt;/p&gt;
      &lt;h3&gt;Feedback?&lt;/h3&gt; &lt;p&gt;Does it suck? Tell
      me. If 0.47 doesn't come close enough to Fedora 11 release,
      we can still revert to 0.46 code
      base.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/inkscape-snapshot-rawhide.html</guid>
      <pubDate>Tue, 03 Mar 2009 18:32:50 +0100</pubDate>
    </item>
    <item>
      <title>Congratulations</title>
      <description>&lt;p&gt;...to &lt;a
      href="http://mnagy.fedorapeople.org/"
      class="extlink"&gt;Martin Nagy&lt;/a&gt;.&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/sparta.png"
      src="http://v3.sk/~lkundrak/blog/images/sparta.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/congrats.html</guid>
      <pubDate>Wed, 25 Feb 2009 11:27:45 +0100</pubDate>
    </item>
    <item>
      <title>Getting rid of autoreconnect</title>
      <description>&lt;p&gt;Do not read this unless you have to. I
      in fact wrote this just to see if my new hackergotchi shows
      in Fedora Planet.&lt;/p&gt; &lt;p&gt;Having said that,
      switching to &lt;tt&gt;Apache::DBI::Cache&lt;/tt&gt; and thus
      heavy use of MySQL's &lt;tt&gt;USE&lt;/tt&gt; statement it
      was clear we couldn't use MySQL's
      &lt;tt&gt;autoreconnect&lt;/tt&gt; feature. Though it's very
      seldom useful, there here are the drawbacks. Apart from
      continuing outside of transaction when it breaks discarding
      what was done so far, which doesn't generally happen in
      active connections unless a server bug exists, the major
      problem is autoreconnection to the database the handle was
      originally created for, not the one that was switched
      to.&lt;/p&gt; &lt;p&gt;Not a big problems, unless your
      connections are idle for too long, you'd say.
      &lt;tt&gt;Apache::DBI::Cache&lt;/tt&gt; pings a connection
      before giving it to you, so you'll get a fresh connection
      everytime you request a &lt;tt&gt;DBI&lt;/tt&gt; handle.
      There are still creative ways how to circumvent that. What
      our programmers did was to keep a structure containing a
      &lt;tt&gt;DBH&lt;/tt&gt; reference in a global, even when in
      &lt;tt&gt;mod_perl&lt;/tt&gt; worker:&lt;/p&gt; &lt;pre&gt;
      package Package; my $Cache;&lt;/pre&gt; &lt;pre&gt; # Package
      cache sub getPackage { $Cache ? $Cache : $Cache = { db
      =&amp;gt; DBI-&amp;gt;connect ($dsn) }; }&lt;/pre&gt;
      &lt;p&gt;Guess how long were these left being opened for
      workers after the load peak. Hint: default
      &lt;tt&gt;wait_timeout&lt;/tt&gt; of MySQL is eight hours.
      Neat. Ever heard of the Morning Bug?&lt;/p&gt;
      &lt;p&gt;Another problem being hit was if fact in a test.
      Point of the test was to access the database concurrently,
      possibly creating a deadlock that is detected by mysql an
      test that transactions are restarted correctly;&lt;/p&gt;
      &lt;pre&gt; $db = DBI-&amp;gt;connect ($dsn); $db-&amp;gt;do
      ($prepare_the_data_model);&lt;/pre&gt; &lt;pre&gt; # Ensure
      problematic transactions are being restarted if (fork ()) {
      my $db2 =
      DBI_WRAPPER_THAT_RESTARTS_TRANSACTIONS-&amp;gt;connect
      ($dsn); $db2-&amp;gt;do_stuff; } else { my $db2 =
      DBI_WRAPPER_THAT_RESTARTS_TRANSACTIONS-&amp;gt;connect
      ($dsn); $db2-&amp;gt;do_stuff; exit (); }&lt;/pre&gt;
      &lt;pre&gt; wait; $db-&amp;gt;do
      ($check_that_result_makes_sense);&lt;/pre&gt; &lt;p&gt;Seems
      correct? This works perfectly with reconnects, but MySQL
      server goes away before the last line can be executed? Why?
      The &lt;tt&gt;$db&lt;/tt&gt; handle is inherited by the child
      and it closes it upon exit. A correct solution is to either
      with &lt;tt&gt;_exit&lt;/tt&gt; call from
      &lt;tt&gt;POSIX&lt;/tt&gt; module, initialize another
      database handle, or reconnect the existing
      one.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/autoreconnect.html</guid>
      <pubDate>Wed, 11 Feb 2009 22:05:30 +0100</pubDate>
    </item>
    <item>
      <title>Fedora 11 Alpha</title>
      <description>&lt;p&gt;First alpha of Leonidas ships!
      Yay!&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/floppy.jpeg"
      src="http://v3.sk/~lkundrak/blog/images/floppy.jpeg"
      /&gt;&lt;/p&gt; &lt;p&gt;Some users have reportedly had some
      minor problems starting it from the live media though
      :(&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/f11-alpha.html</guid>
      <pubDate>Mon, 09 Feb 2009 20:43:37 +0100</pubDate>
    </item>
    <item>
      <title>Stuck in Perl? (Part 2)</title>
      <description>&lt;p&gt;Your perl code being stuck again, still
      alive and you need a backtrace? Here's how to get it, in case
      you have &lt;tt&gt;Carp&lt;/tt&gt; loaded:&lt;/p&gt;
      &lt;pre&gt; [lkundrak@trurl ~]$ cat lala.pl sub a {
      &amp;lt;&amp;gt;; } sub b { a (); } sub c { b (); } c ();
      [lkundrak@trurl ~]$ perl5.11.0 -MCarp lala.pl &amp;amp; [1]
      31236 [lkundrak@trurl ~]$ gdb -p $! GNU gdb Fedora
      (6.8-27.el5) ... 0x00110402 in __kernel_vsyscall () (gdb)
      call Perl_call_pv(my_perl, "carp", 0) at lala.pl line 1
      main::a() called at lala.pl line 2 main::b() called at
      lala.pl line 3 main::c() called at lala.pl line 4 $1 = 1
      (gdb) &lt;/pre&gt; &lt;p&gt;You'll need
      &lt;tt&gt;perl-debuginfo&lt;/tt&gt; installed for this. In
      case you're running in &lt;tt&gt;mod_perl&lt;/tt&gt; or some
      other embedded interpreter, replace
      &lt;tt&gt;my_perl&lt;/tt&gt; with your perl interpreter
      instance.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/perl-carp.html</guid>
      <pubDate>Tue, 03 Feb 2009 18:17:29 +0100</pubDate>
    </item>
    <item>
      <title>Stuck in Perl?</title>
      <description>&lt;p&gt;Just in case there's anyone else who's
      often in situation where he needs to fund out what is his (in
      better case) perl code doing, or has a core dump and has
      always been lazy to look into perl internals a bit -- you can
      get the file, line number and subroutine name from
      &lt;tt&gt;interpreter&lt;/tt&gt;'s
      &lt;tt&gt;Tcurcop&lt;/tt&gt; structure (in 5.8.8, in 5.11 it
      seems to be &lt;tt&gt;Icurcop&lt;/tt&gt;):&lt;/p&gt;
      &lt;pre&gt; (gdb) set print pretty on (gdb) print
      *my_perl-&amp;gt;Tcurcop $1 = { op_next = 0x9d8d8d8,
      op_sibling = 0x9d8d9c0, op_ppaddr = 0x5956d20
      &amp;lt;Perl_pp_nextstate&amp;gt;, op_targ = 0, op_type =
      174, op_seq = 597, op_flags = 1 '\001', op_private = 0 '\0',
      cop_label = 0x0, cop_stashpv = 0x9d77020 "idle", cop_file =
      0x9d76ff0 "world-domination-script.pl", cop_seq = 59,
      cop_arybase = 0, cop_line = 616, cop_warnings = 0x0, cop_io =
      0x0 } (gdb) &lt;/pre&gt; &lt;p&gt;See, we're on line
      &lt;tt&gt;616&lt;/tt&gt; of
      &lt;tt&gt;world-domination-script.pl&lt;/tt&gt; doing
      &lt;tt&gt;idle()&lt;/tt&gt;. In case you've not been scared
      away by &lt;tt&gt;pp_caller()&lt;/tt&gt; and you've found out
      how to get full stack trace as &lt;tt&gt;Carp&lt;/tt&gt;
      does, please let me know :)&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/perl-line.html</guid>
      <pubDate>Tue, 03 Feb 2009 16:16:40 +0100</pubDate>
    </item>
    <item>
      <title>Webcomic</title>
      <description>&lt;p&gt;A direct competition to today's nicu's
      webcomic strip.&lt;/p&gt; &lt;p&gt;Please note that I finally
      made some changes to the figures, so there's finally some
      originality. Also, please note that my drawing skills vastly
      improved.&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/rms.png"
      src="http://v3.sk/~lkundrak/blog/images/rms.png"
      /&gt;&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/rms.html</guid>
      <pubDate>Thu, 29 Jan 2009 20:50:06 +0100</pubDate>
    </item>
    <item>
      <title>Find largest tables in a SQL dump</title>
      <description>&lt;p&gt;Anyone comes up with an easier way to
      locate big tables in a SQL dump w/o loading it? Ouch, if only
      it was possible to add comments here. Anyways, here's the
      poor man's oneliner:&lt;/p&gt; &lt;pre&gt; $ (fold
      metadata.dump; echo 'CREATE TABLE') |cat -n |grep 'CREATE
      TABLE' |awk '{if (line) print 80*($1-line)"\t"table; line=$1;
      table=$4;}' |sort -rn |head 3730560 `rr_xch_aaadst3nrgax96c`
      2418640 `rr_xcl_aaabsx1cobabj4b` 1834560
      `rr_xch_aaabsx1cobabj4b` 1834480 `rr_xch_aaavsibqetaefyl`
      1834480 `rr_xch_aaausibqetaefyl` 1834480
      `rr_xch_aaarsibqetaefyl` 1834480 `rr_xch_aaaqsibqetaefyl`
      1834480 `rr_xch_aaapsibqetaefyl` 1834480
      `rr_xch_aaakst3ocaax942` 1834480
      `rr_xch_aaakst3nrgax96c`&lt;/pre&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/largest-tables.html</guid>
      <pubDate>Thu, 29 Jan 2009 15:20:17 +0100</pubDate>
    </item>
    <item>
      <title>Tunneler for Linux</title>
      <description>&lt;p&gt;Did you know a free SDL-based clone of
      Tunneler exists?&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/tunneler.png"
      src="http://v3.sk/~lkundrak/blog/images/tunneler.png"
      /&gt;&lt;/p&gt; &lt;p&gt;Anyone wants to swap &lt;a
      href="https://bugzilla.redhat.com/show_bug.cgi?id=480771"
      class="extlink"&gt;reviews&lt;/a&gt;? :)&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/tunneler.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/tunneler.html</guid>
      <pubDate>Tue, 20 Jan 2009 13:20:47 +0100</pubDate>
    </item>
    <item>
      <title>We're not racists...</title>
      <description>&lt;p&gt;...whe just don't want Roma, foreigners
      and people of different races to be our neighbors! Religion
      does not matter, as long as it's no Muslim or Jew. And we
      want no homosexuals. We probably don't want you to be our
      neighbor, especially if you have a health trouble that would
      qualify you as disabled.&lt;/p&gt; &lt;p&gt;This is the
      result of &lt;a
      href="http://www.sme.sk/c/4247836/predsudky-voci-romom-ci-moslimom-sa-vraj-prehlbuju.html"
      class="extlink"&gt;a poll&lt;/a&gt; recently taken in &lt;a
      href="http://en.wikipedia.org/wiki/Slovakia"
      class="extlink"&gt;Slovakia&lt;/a&gt;. What I find
      interesting is the &lt;i&gt;far right&lt;/i&gt; line in the
      chart, how does that make sense? Do neo-fascist hate even
      themselves?&lt;/p&gt; &lt;p&gt;And you see -- it's not just
      words, the intensity of attacks motivated &lt;a
      href="http://translate.google.com/translate?hl=en&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fdnes.atlas.sk%2Fslovensko%2Fregiony%2F213223%2Fza-utok-na-klub-obluda-policia-obvinila-rastislava-r-&amp;amp;sl=sk&amp;amp;tl=en&amp;amp;history_state0"
      class="extlink"&gt;= Seems by&lt;/a&gt; &lt;a
      href="http://translate.google.com/translate?hl=en&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fdanilov.blog.sme.sk%2Fc%2F155323%2FBudu-za-utok-neonacistov-v-klube-Obluda-pykat-len-jeho-obete.html&amp;amp;sl=sk&amp;amp;tl=en&amp;amp;history_state0"
      class="extlink"&gt;= racial&lt;/a&gt; &lt;a
      href="http://translate.google.com/translate?hl=en&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fwww.webnoviny.sk%2Fslovensko%2Fclanok%2F5401%2FMeseznikova-napadol-muz-a-vykrikoval%2C-ze-nenavidi-Zidov.html&amp;amp;sl=sk&amp;amp;tl=en&amp;amp;history_state0"
      class="extlink"&gt;= or&lt;/a&gt; &lt;a
      href="http://translate.google.com/translate?hl=en&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fwww.sme.sk%2Fc%2F3667863%2FZa-rasovo-motivovany-utok-vymeral-sud-podmienku.html&amp;amp;sl=sk&amp;amp;tl=en&amp;amp;history_state0"
      class="extlink"&gt;= ethnical&lt;/a&gt; &lt;a
      href="http://translate.google.com/translate?hl=en&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fwww.sme.sk%2Fc%2F4104997%2Fnajskor-napadli-cernosku-teraz-romov.html&amp;amp;sl=sk&amp;amp;tl=en&amp;amp;history_state0"
      class="extlink"&gt;= hatred&lt;/a&gt; &lt;a
      href="http://translate.google.com/translate?hl=en&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fwww.sme.sk%2Fc%2F3817838%2Frasisti-napadli-basketbalistku.html&amp;amp;sl=sk&amp;amp;tl=en&amp;amp;history_state0"
      class="extlink"&gt;= is&lt;/a&gt; &lt;a
      href="http://translate.google.com/translate?hl=en&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fwww.sme.sk%2Fc%2F4183291%2Frasista-ktory-napadol-doktora-dostal-podmienku.html&amp;amp;sl=sk&amp;amp;tl=en&amp;amp;history_state0"
      class="extlink"&gt;= increasing&lt;/a&gt;. Given &lt;a
      href="http://en.wikipedia.org/wiki/Slovak_National_Party"
      class="extlink"&gt;SNS&lt;/a&gt;, a party that would easily
      be banned in other countries for being supportive of racial
      and ethnical hatred while openly sympathizing with World Word
      II pro-fascist government is them most infuential political
      party in Slovakia, this doesn't seems to be just an attitude
      of small amount of people that would qualify as
      &lt;i&gt;extremists&lt;/i&gt;, but rather a natoin-wide
      attitude.&lt;/p&gt; &lt;p&gt;So for now, I'll refrain from
      going back to that country, and advise you to think twice
      before going there.&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/prejudice.html</guid>
      <pubDate>Tue, 06 Jan 2009 08:40:00 +0100</pubDate>
    </item>
    <item>
      <title>Rage Against the Virtual Machine</title>
      <description>&lt;p&gt;&lt;a
      href="http://www.virtualbox.org/wiki/Editions"
      class="extlink"&gt;VirtualBox OSE&lt;/a&gt; 2.1.0 was
      released, bringing support for 64-bit guests. Apart from
      that, it adds a {{vmnet}}-style packet injection for
      unprivileged user via a dedicated kernel module and a whole
      handful of features to its closed source brother.&lt;/p&gt;
      &lt;p&gt;So why would anyone use that? VirtualBox OSE brings
      a high-performance full virtualization to desktops of people
      whose hardware doesn't support &lt;a
      href="http://kvm.qumranet.com/kvmwiki"
      class="extlink"&gt;KVM&lt;/a&gt;. Furthermore it equips them
      with a mature, stable, and easy to use user interface, who is
      in many areas still superior to
      &lt;tt&gt;virt-manager&lt;/tt&gt;. In other words -- it saves
      them from &lt;i&gt;VMWare&lt;/i&gt;, replacing it with a
      lightweight and fast package which is hardly 20-th of
      size.&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/virtualbox-tn.png"
      src="http://v3.sk/~lkundrak/blog/images/virtualbox-tn.png"
      /&gt;&lt;/p&gt; &lt;p&gt;It was undoubtly a very demanded
      package for many Fedora users, thogh its kernel modules of
      questionable quality prevented it from entering Fedora.
      Please note that the word &lt;i&gt;questionable&lt;/i&gt;
      does not necessarily mean &lt;i&gt;bad&lt;/i&gt;, understand
      it as &lt;i&gt;undecided&lt;/i&gt;, since there was no
      attempt to merge it with mainline kernel and therefore comply
      with kernel quality standards.&lt;/p&gt; &lt;h3&gt;Packages
      for RPM Fusion being reviewed&lt;/h3&gt; &lt;p&gt;Fedora does
      not permit kernel modules built outside of mainline tree, but
      &lt;a href="http://rpmfusion.org/" class="extlink"&gt;RPM
      Fusion&lt;/a&gt; does. And finally it seems it will leave RPM
      Fusion's wishlist soonish:
      [//bugzilla.rpmfusion.org/show_bug.cgi?id=285 A review] was
      already submitted and taken by Xavier (thanks to
      him)!&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/virtualbox.html</guid>
      <pubDate>Thu, 01 Jan 2009 20:21:31 +0100</pubDate>
    </item>
    <item>
      <title>Finally -- A competition to Fedora webcomic</title>
      <description>&lt;p&gt;Increasing the number of good comic
      strips by redefining the meaning of the phrase &lt;i&gt;bad
      comic&lt;/i&gt;: This one is dedicated to nicu, who thinks
      competition is allways a good thing!&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/accel.png"
      src="http://v3.sk/~lkundrak/blog/images/accel.png"
      /&gt;&lt;/p&gt; &lt;p&gt;Original pictures are Copyrighted by
      nicu, distributed by Creative Commons'
      Attribution+Share-alike license
      (CC-BY-SA).&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/accel.html</guid>
      <pubDate>Thu, 01 Jan 2009 15:49:58 +0100</pubDate>
    </item>
    <item>
      <title>Run Mosaic on your Fedora!</title>
      <description>&lt;p&gt;Packages of NCSA Mosaic patched to run
      on modern Linux desktop &lt;a
      href="http://v3.sk/~lkundrak/mosaic/" class="extlink"&gt;are
      available for download&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/mosaic/screenshots/mosaic-mag.png"
      src="http://v3.sk/~lkundrak/mosaic/screenshots/mosaic-mag.png"
      /&gt;&lt;/p&gt; &lt;p&gt;They are patched so that they behave
      at least somehow sensible with today's sick web
      sites.&lt;/p&gt; &lt;p&gt;Hope they'll run with lesstif. The
      license is bad enough not to permit it to go to Fedora
      (thanks God!). If you think this should go to RPM Fusion for
      some reason, feel free to grab the packages
      :)&lt;/p&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/mosaic.html</guid>
      <pubDate>Wed, 31 Dec 2008 11:13:26 +0100</pubDate>
    </item>
    <item>
      <title>New Fedora Webcomic</title>
      <description>&lt;p&gt;Found this while cleaning up my
      &lt;tt&gt;~&lt;/tt&gt;. It is from Brno FUDCon and it would
      indeed be a real pity if it got lost.&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/good-one.png"
      src="http://v3.sk/~lkundrak/blog/images/good-one.png"
      /&gt;&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/good-one.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/good-one.html</guid>
      <pubDate>Mon, 29 Dec 2008 20:24:19 +0100</pubDate>
    </item>
    <item>
      <title>Widelife</title>
      <description>&lt;p&gt;I've stumbled across a truly
      interesting group of people lately. Calling themselves &lt;a
      href="http://www.widelife.sk/index.php?option=com_frontpage&amp;amp;Itemid=1"
      class="extlink"&gt;Widelife CLUB&lt;/a&gt;, they define
      themselves as people, who&lt;/p&gt; &lt;pre&gt; ... love God,
      good music, action, McDonalds, table football, Fridays, our
      leader Tomas etc.&lt;/pre&gt; &lt;p&gt;What strikes there is
      the mention of McDonald's there. Hope their deity is ok with
      &lt;a
      href="http://www.greenpeace.org.uk/media/reports/were-trashin-it"
      class="extlink"&gt;devastation of rainforests&lt;/a&gt;,
      otherwise they may burn in &lt;a
      href="http://www.mindfully.org/Food/Hindus-Sue-McDonalds.htm"
      class="extlink"&gt;beef fat&lt;/a&gt;.&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/widelife.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/widelife.html</guid>
      <pubDate>Mon, 29 Dec 2008 11:52:52 +0100</pubDate>
    </item>
    <item>
      <title>OpenJDK in EPEL</title>
      <description>&lt;p&gt;I managed to bootstrap and import
      OpenJDK into Fedora Enterprise Linux Extras for Red Hat
      Enterprise Linux 5, and hopefully it will hit the repo
      soonish.&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/openjdk-in-epel.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/openjdk-in-epel.html</guid>
      <pubDate>Mon, 07 Apr 2008 09:56:07 +0200</pubDate>
    </item>
    <item>
      <title>BuildRoot Race</title>
      <description>&lt;p&gt;Ever noticed that one of most exemplary
      cases of insecure temporary files is the way we treat
      installation root when building packages?&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/secure-buildroot.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/secure-buildroot.html</guid>
      <pubDate>Thu, 27 Mar 2008 22:13:44 +0100</pubDate>
    </item>
    <item>
      <title>Correct use of FORTIFY_SOURCE</title>
      <description>&lt;p&gt;After I found out that Fedora's
      OpenJDK-based Java is not compiled with
      &lt;tt&gt;-fstack-protector&lt;/tt&gt; or &lt;tt&gt;-O2
      FORTIFY_SOURCE=2&lt;/tt&gt; I was thinking about automatic
      way to check whether right&lt;tt&gt;%{_optflags&lt;/tt&gt;}
      were passed to the compiler at the build.&lt;/p&gt;
      &lt;p&gt;Apart from forgetting to pass
      &lt;tt&gt;%{optflags&lt;/tt&gt;} upstreams do forget to
      include &lt;tt&gt;&amp;lt;stdio.h&amp;gt;&lt;/tt&gt; and
      &lt;tt&gt;&amp;lt;string.h&amp;gt;&lt;/tt&gt; when using the
      potentially dangerous string manioulation functions, and then
      they're not fortified by being replaced with macros that
      utilize argument size checking.&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/fortify-check.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/fortify-check.html</guid>
      <pubDate>Mon, 17 Mar 2008 08:18:23 +0100</pubDate>
    </item>
    <item>
      <title>OpenGrok for Fedora</title>
      <description>&lt;p&gt;I played a bit with Fedora theme for
      OpenGrok this evening.&lt;/p&gt; &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/fedora-opengrok-4-tn.png"
      src="http://v3.sk/~lkundrak/blog/images/fedora-opengrok-4-tn.png"
      /&gt;&lt;/p&gt; &lt;p&gt;I am considering to propose a it a a
      f10 targeted feature -- searchable and browsable index of all
      the Fedora source code. Do you think it would be
      useful?&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/fedora-opengrok.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/fedora-opengrok.html</guid>
      <pubDate>Thu, 13 Mar 2008 20:21:11 +0100</pubDate>
    </item>
    <item>
      <title>Nearly stable OpenJDK for RHEL</title>
      <description>&lt;p&gt;Have RHEL, want Java and abhor the
      summplemental disc? Lilian and Thomas (and Sun :) did some
      cool thing for you: &lt;a
      href="https://bugzilla.redhat.com/show_bug.cgi?id=433070"
      class="extlink"&gt;https://bugzilla.redhat.com/show_bug.cgi?id=433070&lt;/a&gt;.
      Now we want you to mangle it for EPEL somehow and smuggle it
      in!&lt;/p&gt; &lt;p&gt;Binaries at &lt;a
      href="http://netbsd.sk/~lkundrak/openjdk-el5/"
      class="extlink"&gt;http://netbsd.sk/~lkundrak/openjdk-el5/&lt;/a&gt;
      since I am officially not loved enough to have a bigger quota
      at Red Hat :) When things change it will land at
      &lt;tt&gt;people.redhat.com&lt;/tt&gt;.&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/openjdk-el5.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/openjdk-el5.html</guid>
      <pubDate>Thu, 13 Mar 2008 10:13:30 +0100</pubDate>
    </item>
    <item>
      <title>New Galleries</title>
      <description>&lt;p&gt;So I am officially owner of the coolest
      web gallery. The package that generated it was approved for
      Fedora today, &lt;a
      href="https://bugzilla.redhat.com/show_bug.cgi?id=xyz-gallery-review"
      class="extlink"&gt;https://bugzilla.redhat.com/show_bug.cgi?id=xyz-gallery-review&lt;/a&gt;
      See it in action at &lt;a
      href="http://v3.sk/~lkundrak/gallery/"
      class="extlink"&gt;http://v3.sk/~lkundrak/gallery/&lt;/a&gt;.&lt;/p&gt;
      &lt;p&gt;&lt;img
      alt="http://v3.sk/~lkundrak/blog/images/xyz-gallery-tn.png"
      src="http://v3.sk/~lkundrak/blog/images/xyz-gallery-tn.png"
      /&gt;&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/galleries.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/galleries.html</guid>
      <pubDate>Tue, 11 Mar 2008 20:43:51 +0100</pubDate>
    </item>
    <item>
      <title>Got OpenGrok running on RHEL5</title>
      <description>&lt;p&gt;I made packages that are needed for
      running my beloved source browser on RHEL5 today. Mostly
      backporting stuff from Rawhide actually.&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/opengrok-on-rhel5.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/opengrok-on-rhel5.html</guid>
      <pubDate>Mon, 03 Mar 2008 18:41:49 +0100</pubDate>
    </item>
    <item>
      <title>Running Fedora on IBM NetVista Thin Client</title>
      <description>&lt;p&gt;Contrary to popular belief, IBM
      NetVista Thin Clients can run recent 2.6 kernels. Though it
      need some effort and, well binary blob bootstrap loader, it
      is possible. All the hardware they contain is fairly well
      supported and givent the belief mentioned, their reputation
      is fairly wrecked and they can be gotten for very good
      prices, which makes an ideal toy out of them, or maybe a LTSP
      terminal.&lt;/p&gt; &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/fedora-on-netvista.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/fedora-on-netvista.html</guid>
      <pubDate>Fri, 29 Feb 2008 21:42:49 +0100</pubDate>
    </item>
    <item>
      <title>Gifts from FOSDEM</title>
      <description>&lt;p&gt;Today I got a black NetBSD T-shirt, a
      beastie pin and a "Powered by NetBSD" sticker from ones who
      love me so much, that they give me gifts.&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a href="entries/gifts.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/gifts.html</guid>
      <pubDate>Wed, 27 Feb 2008 11:45:59 +0100</pubDate>
    </item>
    <item>
      <title>Running diskless Fedora via iSCSI</title>
      <description>&lt;p&gt;If you have a diskless machine and want
      it to boot and run your favourite distro over network, you
      have several options how to achieve it. This article
      describes how to create a filesystem image that can be used
      for network booting painlessly and how to boot it.&lt;/p&gt;
      &lt;div&gt;&lt;i&gt;&lt;a
      href="entries/fedora-diskless-iscsi.html"&gt;Read
      more...&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <guid isPermaLink="true">
      http://v3.sk/~lkundrak/blog/entries/fedora-diskless-iscsi.html</guid>
      <pubDate>Wed, 27 Feb 2008 11:45:59 +0100</pubDate>
    </item>
  </channel>
</rss>
