<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8579232736983974399</id><updated>2012-01-23T00:38:12.948-08:00</updated><category term='selinux'/><category term='astronomy'/><category term='erlang'/><category term='movies'/><category term='metallica'/><category term='web hosting'/><category term='killzone 2'/><category term='sony'/><category term='dotfiles'/><category term='flattr'/><category term='telescope'/><category term='wine'/><category term='dublin'/><category term='leap year bug'/><category term='pycon'/><category term='gnome'/><category term='cia'/><category term='praca'/><category term='job'/><category term='astaro'/><category term='python'/><category term='arch linux'/><category term='tomoyo linux'/><category term='tips'/><category term='debian'/><category term='fsarchiver'/><category term='vim'/><category term='backup'/><category term='vyqchat'/><category term='linux'/><category term='emacs'/><category term='ps3'/><category term='moorie'/><category term='apparmor'/><category term='opensuse'/><category term='II wojna światowa'/><category term='aol'/><category term='security'/><category term='world war II'/><category term='studies'/><category term='programming'/><category term='videos'/><category term='music'/><category term='games'/><category term='kleansweep'/><category term='django'/><category term='qcomicbook'/><category term='c64'/><category term='emulation'/><category term='fork bomb'/><category term='ruby on rails'/><category term='sabayon'/><category term='quick reference card'/><category term='ireland'/><category term='dexter'/><category term='twitter'/><category term='ania'/><category term='kernel'/><category term='flash player'/><category term='ecomstation'/><category term='irlandia'/><category term='psp'/><category term='fun'/><category term='książki'/><category term='qt'/><category term='ubuntu'/><title type='text'>Perfect Hideout</title><subtitle type='html'>Linux, programming, astronomy, politics... stuff that matters.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>98</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-6374051108590076337</id><published>2011-12-18T03:38:00.000-08:00</published><updated>2011-12-18T03:38:14.191-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='web hosting'/><title type='text'>QComicBook - new web hosting, new domain</title><content type='html'>After two years with &lt;a href="http://rootnode.net/"&gt;rootnode.net&lt;/a&gt; and numerous issues with their hosting I finally made the effort of switching web hosting of QComicBook and my home site. QComicbook web site is now hosted on&amp;nbsp;&lt;a href="http://www.a2hosting.com/refer/31224"&gt;www.a2hosting.com&lt;/a&gt; - by the way if you decide to buy hosting there, please consider using &lt;a href="http://www.a2hosting.com/refer/31224"&gt;this referrer link&lt;/a&gt; which will give me a credit for a2hosting services &amp;amp; renewal of QComicBook hosting.&lt;br /&gt;Other then that, QComicBook web site is now available at much more friendly URL: &lt;a href="http://www.qcomicbook.org/"&gt;www.qcomicbook.org&lt;/a&gt;. The old URL (qcomicbook.linux-projects.net) is still valid, but I may remove it by the end of 2012, so if you maintain QComicBook packages or link to source tarballs for any other reason, I suggest you update your links with next QComicBook release.&lt;br /&gt;Finally, please be warned that there may be some disruptions to the qcomicbook.linux-projects.net website (and possibly qcomicbook.org) in the next few days due to DNS and configuration changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-6374051108590076337?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/6374051108590076337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=6374051108590076337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6374051108590076337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6374051108590076337'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/12/qcomicbook-new-web-hosting-new-domain.html' title='QComicBook - new web hosting, new domain'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4679199997829826592</id><published>2011-11-19T04:39:00.001-08:00</published><updated>2011-11-19T05:01:31.735-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='erlang'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='quick reference card'/><title type='text'>Erlang quick reference card</title><content type='html'>For the last couple of months I've been learning &lt;a href="http://www.erlang.org/"&gt;Erlang&lt;/a&gt; and doing some Erlang programming for a new project at work. I couldn't find any good quick reference card for Erlang (aka cheatsheet), so decided to create something on my own. You can download it from my &lt;a href="https://github.com/stolowski/Erlang-Quick-Reference-Card"&gt;github repository&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As I'm a newbie to Erlang and still learning, I'm sure it has some gaps and possibly errors, so any suggestions and corrections are welcome. Also, the document was created with OpenOffice Writer (plus it's available in PDF format for your convienience), which results in not-so-good look &amp;amp; formatting -&amp;nbsp; my goal was to have something quickly, rather than spending weeks on creating formatting rules in a more suitable tool. My ultimate goal however is to migrate this cheatsheet to &lt;a href="http://www.tug.org/"&gt;TeX&lt;/a&gt; (&lt;a href="http://www.latex-project.org/"&gt;LaTeX&lt;/a&gt;) format or similar and find existing macros/rules suitable for quick reference card formating to give it more polished and professional look.&amp;nbsp; If you know any such solutions, please comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4679199997829826592?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4679199997829826592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4679199997829826592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4679199997829826592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4679199997829826592'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/11/erlang-quick-reference-card.html' title='Erlang quick reference card'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-321666725508839370</id><published>2011-09-30T11:59:00.000-07:00</published><updated>2011-09-30T11:59:31.523-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='pycon'/><category scheme='http://www.blogger.com/atom/ns#' term='ireland'/><title type='text'>I'm going to PyCon Ireland 2011!</title><content type='html'>I seldomly do &lt;a href="http://www.python.prg/"&gt;Python&lt;/a&gt; programming, but when I do, I absolutely enjoy and love it. So I couldn't miss the opportunity to attend Python Conference in Dublin. &lt;a href="http://python.ie/pycon/2011/"&gt;PyCon Ireland&lt;/a&gt; is organised by Python enthusiasts from Ireland, and will be held here for the 2nd time. The &lt;a href="http://python.ie/pycon/2011/conference/#schedule"&gt;schedule&lt;/a&gt; looks pretty interesting, it looks like Oct 8-9 will be very fruitful 2 days!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-321666725508839370?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/321666725508839370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=321666725508839370' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/321666725508839370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/321666725508839370'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/09/im-going-to-pycon-ireland-2011.html' title='I&apos;m going to PyCon Ireland 2011!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4584165777999172612</id><published>2011-09-11T10:55:00.000-07:00</published><updated>2011-09-11T10:57:12.622-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flash player'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>Installing latest Flash Player 11rc on Debian Squeeze</title><content type='html'>Here is a little HOWTO about clean installation of&amp;nbsp; the latest release candidate of Adobe Flash Player 11 on &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; Squeeze. It should also work on Ubuntu and other derivatives of Debian.&lt;br /&gt;&lt;br /&gt;The method proposed here uses Debian's &lt;a href="http://wiki.debian.org/DebianAlternatives"&gt;Alternatives System&lt;/a&gt; which makes it possible to install latest Flash Player in a dedicated directory and&amp;nbsp; switch between it or the default version installed from Debian repository (v10) if needed.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install flashplugin-nonfree (standard Debian repository) or flashplayer-mozilla (&lt;a href="http://debian-multimedia.org/"&gt;debian-miultimedia&lt;/a&gt; repository). This will install Flash Player 10.&lt;/li&gt;&lt;li&gt;Download latest Flash Player for Linux from &lt;a href="http://labs.adobe.com/downloads/flashplayer11.html"&gt;Adobe&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Unpack it to&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; /opt/flashplayer-11rc1&lt;/span&gt; (or any other directory of your choice).&lt;/li&gt;&lt;li&gt;Add entry for Flash Player 11 in the Alternatives System:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo update-alternatives --install  /usr/lib/mozilla/plugins/flash-mozilla.so flash-mozilla.so  /opt/flashplayer-11rc1/libflashplayer.so 0&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch between installed Flash Player versions (will launch interactive menu):&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo update-alternatives --config flash-mozilla.so&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Please note that&amp;nbsp; Flash Player tarball contains a few other files that you may find interesting - such as &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;flash-player-properties&lt;/span&gt; configuration tool. They won't be automatically picked by the above procedure, as &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;update-alternatives&lt;/span&gt; for &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;flash-mozilla.so&lt;/span&gt; maintains plugin symlink only. See man page for &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;update-alternatives&lt;/span&gt; for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4584165777999172612?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4584165777999172612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4584165777999172612' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4584165777999172612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4584165777999172612'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/09/installing-latest-flash-player-11rc-on.html' title='Installing latest Flash Player 11rc on Debian Squeeze'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-2960746957328959970</id><published>2011-08-24T15:16:00.000-07:00</published><updated>2011-08-24T15:24:31.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Stack smashing protector accepted in Arch Linux!</title><content type='html'>If you visit my blog you may recall &lt;a href="http://stolowski.blogspot.com/2010/03/feature-request-enable-stack-smashing.html"&gt;I blogged&lt;/a&gt; about feature request for enabling stack-smashing protection in Arch Linux. I had created &lt;a href="https://bugs.archlinux.org/task/18864"&gt;feature request&lt;/a&gt; in Arch Linux bug tracker in March 2010. As you can &lt;a href="https://bugs.archlinux.org/task/18864#comments"&gt;see&lt;/a&gt; this initiated some discussions and finally, after almost 1,5 year they decided to go for it! The default compilation flags have been changed to use stack protector and main toolchain packages were recompiled; other packages will follow with new releases. For now the change is in&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; [testing]&lt;/span&gt; repo and should become available in &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[core]&lt;/span&gt; in a few weeks.&lt;br /&gt;&lt;br /&gt;So, rejoice Arch users! Unfortunately me personally will not benefit from it since I stopped using Arch some time ago - GNOME 3.0 release (which &lt;a href="http://stolowski.blogspot.com/2011/05/gnome-30-big-letdown.html"&gt;ruined&lt;/a&gt; my desktop experience) and power-off issues caused by updates made me look for a more reliable system (which is Debian Squeeze at the moment). I must admit however that I miss Arch a lot, and the acceptance of stack protector reminds me of it...&lt;br /&gt;&lt;br /&gt;BTW, Debian still doesn't take advantage of GCC's stack protector, which is a pitty. Fortunately, Debian security team is aware of this and they plan to enable &lt;a href="http://wiki.debian.org/Hardening"&gt;hardening features&lt;/a&gt; in Debian Wheezy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-2960746957328959970?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/2960746957328959970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=2960746957328959970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2960746957328959970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2960746957328959970'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/08/stack-smashing-protector-accepted-in.html' title='Stack smashing protector accepted in Arch Linux!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4831873814512612590</id><published>2011-08-01T03:14:00.000-07:00</published><updated>2011-08-01T03:14:18.469-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>Support QComicBook - buy an ad!</title><content type='html'>&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, Tahoma, arial, sans-serif; font-size: 11px; line-height: 16px;"&gt;&lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook&lt;/a&gt; is a free software that doesn't bring me any profits (well, except for fun of course) - actually it costs me money on web hosting. Here is a new way for you to support &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook website&lt;/a&gt; &amp;amp; development: if you want to promote your business or a website on QComicBook website, buy a banner for as little as 5-10€ per month (non exclusive banner) or 50-100€/month (exclusive banner - always visible).&amp;nbsp;&lt;b style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Get your website advertised, and support opensource at the same time!&amp;nbsp;&lt;/b&gt;Please contact me directly for more details.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4831873814512612590?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4831873814512612590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4831873814512612590' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4831873814512612590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4831873814512612590'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/08/support-qcomicbook-buy-ad.html' title='Support QComicBook - buy an ad!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3099695449897206866</id><published>2011-07-29T13:07:00.000-07:00</published><updated>2011-07-29T13:07:34.915-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='dotfiles'/><title type='text'>My dotfiles are on GitHub</title><content type='html'>Since I wanted to have consistent configuration across all the PCs I work on, I've created a git repo with most crucial dotfiles (such as vim config or openbox files). My dotfiles can be found &lt;a href="https://github.com/stolowski/dotfiles"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3099695449897206866?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3099695449897206866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3099695449897206866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3099695449897206866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3099695449897206866'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/07/my-dotfiles-are-on-github.html' title='My dotfiles are on GitHub'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1897613381959338061</id><published>2011-07-27T15:06:00.000-07:00</published><updated>2011-07-28T01:10:24.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Finding your way in vim</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://vim.sf.net/"&gt;Vim&lt;/a&gt;&amp;nbsp;is quite powerful programmer's editor, but has a very steep learning curve and it takes time to configure it properly. In this tutorial I'd like to share&amp;nbsp;my experiences with configuring vim for efficient symbol, buffer and file navigation. In other words, I'm going to focus on finding these things easily in vim&amp;nbsp;and ignore all other configuration aspects. Getting these things right seems to be the most confusing part for a lot of people who can otherwise use vim already.&amp;nbsp;It's also the part that gives a big efficiency boost when programming or just browsing code, especially when it comes to finding symbol definitions quickly.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Preface&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This is by no means a definitive guide on the subject. It' just a bunch of things I learned over years when using vim. Vim evolves, new plugins get developed,&amp;nbsp;so the methods I list here may not neccessarily be the best solutions. But they should work and they do the job for me.&amp;nbsp;These methods should work for pretty much every popular programming language, such as C, C++, Java, Python, Ruby etc.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Looking for symbols&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;A word of caution first: there is no perfect symbol-based navigation for programming languages such as C++ or Java in vim, as vim doesn't perform any syntax&amp;nbsp;analysis of the code. &amp;nbsp;So, for example, it's not possible to go to the right definition of&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;foo-&amp;gt;bar()&lt;/span&gt;&amp;nbsp;in C++ code if there are multiple definitions of&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;bar()&amp;nbsp;&lt;/span&gt;method, because vim has no notion of foo's type.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Tags&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-WrRpvsbVgs4/TjCJ-ATf0OI/AAAAAAAAClk/n9LZ06Y2MrQ/s1600/jumptotag.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/-WrRpvsbVgs4/TjCJ-ATf0OI/AAAAAAAAClk/n9LZ06Y2MrQ/s320/jumptotag.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Jumping to tag with g CTRL-]&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Vim has a built-in feature for looking for symbols based on so-called tags file. Tags file needs to be created first with ctags utility, e.g:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;$ ctags -R /your/source/code&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This will create tags file in your current directory. Add the following line to your .vimrc file to load tags automatically from current working directory as&amp;nbsp;well as from specific path automatically:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:set tags=./tags,/home/user/your/source/code&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;From now on, you can jump to the first matching symbol definition by pressing CTRL-] over a symbol. CTRL-T will bring you back to where your search started.&amp;nbsp;If there are several matching tags for a symbol (e.g. overloaded methods), you can use :tselect to choose the right one. Even better, if you know in advance&amp;nbsp;there will be multiple matches, press "g CTRL-]" instead of CTRL-] over a keyword to bring the selection list right away.&amp;nbsp;See :help tags for more information on how to use tags effectively.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-tzPV1S_v8ow/TjCJCPJbagI/AAAAAAAAClc/UExTbOn1nuI/s1600/tagbar.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/-tzPV1S_v8ow/TjCJCPJbagI/AAAAAAAAClc/UExTbOn1nuI/s320/tagbar.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Tagbar plugin window&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Tags list&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;A very useful feature of most IDEs is the list of all classes/methods/symbols for all open files. This can easily be achieved in vim by installing a plugin such as&amp;nbsp;&lt;a href="http://www.vim.org/scripts/script.php?script_id=3465"&gt;Tagbar&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="http://www.vim.org/scripts/script.php?script_id=273"&gt;Taglist&lt;/a&gt;. Both have similar capabilites, but I tend to like Tagbar more, as it displays tags ordered by their scope and displays method signatures&amp;nbsp;(unlike Taglist, which displays only names).&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Cscope-based navigation&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Cscope is similiar to ctags, only a bit more powerful since it's capable of searching for functions calling given function etc. To use this capabilities in vim&amp;nbsp;you have to scan you source files with cscope first (e.g. 'cscope -R -b' in your source code directory). Cscope creates a cscope.out file that needs to be&amp;nbsp;loaded in vim by :cscope add /path/to/cscope.out. A common idiom for doing this automatically on vim startup (taken from vim help - see :help cscope) is:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;if filereadable("cscope.out")&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; cs add cscope.out&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; " else add database pointed to by environment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;elseif $CSCOPE_DB != ""&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cs add $CSCOPE_DB&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;endif&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Once loaded, cscope symbol database may be queried by issuing :cscope find with a query type and symbol name, e.g. to search for functions calling given&amp;nbsp;function, type:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:cs find c foobar&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This is not very convient to type, so you can define mappings for all cscope queries like this:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;nmap &amp;lt;C-\&amp;gt;s :cs find s &amp;lt;C-R&amp;gt;=expand("&amp;lt;cword&amp;gt;")&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;nmap &amp;lt;C-\&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;c :cs find c &amp;lt;C-R&amp;gt;=expand("&amp;lt;cword&amp;gt;")&amp;lt;CR&amp;gt;&amp;lt;CR&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;... and so on.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;If you use tags and cscope at the same time, they are independent of each other, use different keyboard shortcuts and need to be queried separately. This can be&amp;nbsp;solved by using :cstag for symbol defintion lookups: cstag searches both databases (by default cscope is searched first). And if you set cscopetag option, i.e.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:set cscopetag&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;then all tags queries (like CTRL-]) will use :cstag instead, so both databases will be searched.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QOuwjBObk_4/TjCJWYo1JII/AAAAAAAAClg/woEm4RGDFt4/s1600/grep.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/-QOuwjBObk_4/TjCJWYo1JII/AAAAAAAAClg/woEm4RGDFt4/s320/grep.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Grep search results&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Grep-based searching&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Searching for symbols with grep doesn't sound too attractive, but it's actually quite powerful once combined with a handly shortcut key and as long as the&amp;nbsp;symbol you're searching for is not too common.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;First off, I highly recommended installing ack-grep, which is a grep-like utility designed specifically for grepping source code files. Then configure vim to use&amp;nbsp;it instead of regular grep - e.g. put this in your .vimrc:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;set grepprg=ack-grep\ --cpp\ --cc\ --perl\ --python\ --make&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Then define a shortcut key for grep, e.g.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:nmap _g :grep &amp;lt;C-R&amp;gt;=expand("&amp;lt;cword&amp;gt;")&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Pressing _g will grep source code files recursively, starting from the vim's current working directory, for the word under the cursor. Vim places grep results in so&amp;nbsp;called 'quickfix' window, which you can bring up by calling :cwindow. You can navigate through quickfix entries by calling :cnext and :cprev.&amp;nbsp;It's very usefull to map keys for them as well:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:map &amp;lt;F7&amp;gt; :botright cwindow&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:map &amp;lt;F5&amp;gt; :cprev&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:map &amp;lt;F6&amp;gt; :cnext&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;If grepping in the current directory is not what you want, then you may want to play with 'expand' macro to grep starting from current file's directory, or from&amp;nbsp;a predefined directory and add new shortcuts for them -- here is how to create a Gvim menu entry for them:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:amenu Devel.Grep\ file\ dir :grep &amp;lt;C-R&amp;gt;=expand(expand("&amp;lt;cword&amp;gt;") . " " . expand("%:h"))&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:amenu Devel.Grep\ source\ dir :grep &amp;lt;C-R&amp;gt;=expand(expand("&amp;lt;cword&amp;gt;") . " " . expand("~/src"))&amp;lt;CR&amp;gt;&amp;lt;CR&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Buffer navigation&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Standard vim capabilities for navigating to opened files (buffers) are a bit limited when working with large number of files, so installing external plugin(s)&amp;nbsp;is highly recommended. Just for the record, the standard commands for buffer navigation in vim are:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:ls&lt;/span&gt;&amp;nbsp;-- shows buffer list&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:buffers&amp;nbsp;&lt;/span&gt;-- same as above&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:bnext&amp;nbsp;&lt;/span&gt;-- go to next buffer&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:bprev&lt;/span&gt;&amp;nbsp;-- go to previous buffer&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:[N]b&lt;/span&gt;&amp;nbsp;-- edit Nth buffer&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;There are several plugins that simplify buffer navigation, but I recommend the following:&amp;nbsp;&lt;a href="http://www.vim.org/scripts/script.php?script_id=42"&gt;bufexplorer&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.vim.org/scripts/script.php?script_id=3619"&gt;buffergator&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://www.vim.org/scripts/script.php?script_id=1664"&gt;buftabs&lt;/a&gt;. Bufexplorer provides a sorted&amp;nbsp;list of all the buffers, which can easily be navigated with cursor keys; pressing ENTER over buffer name makes it active. By default buffers are sorted in MRU&amp;nbsp;(most recently used first) order, but this can easily be changed by pressing 's' in the bufexplorer window. Bufexplorer can be activated by \be, \bv and \bs&amp;nbsp;keyboard shortcuts, but since I use it a lot I prefer a simpler shortcut, e.g. F3 key alone:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:imap &amp;lt;F3&amp;gt; &amp;lt;ESC&amp;gt;:BufExplorer&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:map &amp;lt;F3&amp;gt; :BufExplorer&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Buffergator is similiar, but makes it easy to preview buffers without leaving list of buffers. Upon invocation with \b (or :BuffergatorToggle), a new vertical&amp;nbsp;window with buffers list is opened. CTRL-N, CTRL-P and SPACE keys can be used to navigate the list and preview buffers. ENTER key over buffer name opens it for&amp;nbsp;editing and closes buffer list. One problem buffergator has is its slow response time on invocation: for some reason it takes 1-2 seconds to bring the list of&amp;nbsp;buffers up, whereas it's instantaneous with bufexplorer.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Buftabs is a littler helper addon that is worth installing alongside bufexplorer and/or buffergator. It provides a tabs-like list of buffers displayed in the&amp;nbsp;bottom of the window which is very handy for switch buffers in a circular way, in particular if you map :bprev and :bnext to keys such as CTRL-Left and CTRL-Right:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:noremap &amp;lt;C-left&amp;gt; :bprev&amp;lt;CR&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:noremap &amp;lt;C-right&amp;gt; :bnext&amp;lt;CR&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;File navigation&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The standard way for finding files is via :Explore [DIR] (or :edit [DIR] and :edit [FILE]). They both support filename completion with TAB key. Explore may be&amp;nbsp;used to find files recursively, if you know only part of a file name, e.g:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:Explore **/*foo*&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;If you know complete file name, but not its path, you can use vim's built-in find command, e.g:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;:find foobar.cpp&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This will search for the file in all paths listed in vim's 'path' variable, which is current directory and /usr/include by default. You may want to set to also&amp;nbsp;include subdirectories of your sources directory, for example:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:set path=.,~/src/**,/usr/include,,&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Vim's path variable has one more use: it allows for opening files whose name is under or after the cursor. A typical use case is opening an included file in&amp;nbsp;C/C++ source code, by moving over file name in the #include directive, and pressing 'gf' (goto file). Quite handy.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;There are plugins which make finding files easier. One of the most useful is&amp;nbsp;&lt;a href="http://www.vim.org/scripts/script.php?script_id=1658"&gt;NERDTree&lt;/a&gt;, which implements a nice filesystem explorer in the form of a tree&amp;nbsp;structure. It's very fast (uses caching), configurable (screen position, list of file patterns to be ignored etc. can be adjusted) and smart&amp;nbsp;(e.g. remembers last cursor position when toggling off and on). It's so useful that its worth having a dedicated keyboard shortut for it, e.g.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:imap &amp;lt;F4&amp;gt; &amp;lt;ESC&amp;gt;:NERDTreeToggle&amp;lt;CR&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:map &amp;lt;F4&amp;gt; :NERDTreeToggle&amp;lt;CR&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The above tips should improve your day-to-day productivity a lot when programming. Go use it, learn it and improve. And let me know in the comments about your ideas and improvements!&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1897613381959338061?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1897613381959338061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1897613381959338061' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1897613381959338061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1897613381959338061'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/07/finding-your-way-in-vim.html' title='Finding your way in vim'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-WrRpvsbVgs4/TjCJ-ATf0OI/AAAAAAAAClk/n9LZ06Y2MrQ/s72-c/jumptotag.png' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-6944894124283431794</id><published>2011-07-03T02:20:00.000-07:00</published><updated>2011-07-03T02:27:19.564-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook 0.8.0 released, brings PDF support</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XPaFxWuh9As/ThAz_3BEs9I/AAAAAAAACXI/Uf9jqgzkxcI/s1600/Screenshot-QComicBook+-+commentary_on_the_sixth_edition_unix.pdf.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="206" src="http://1.bp.blogspot.com/-XPaFxWuh9As/ThAz_3BEs9I/AAAAAAAACXI/Uf9jqgzkxcI/s320/Screenshot-QComicBook+-+commentary_on_the_sixth_edition_unix.pdf.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;QComicBook - reading PDF&amp;nbsp; document&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;The new version of &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook&lt;/a&gt; 0.8.0 has just been released! Due to limited time, real life and laziness I've decided to reduce the list of &lt;a href="http://stolowski.blogspot.com/2010/12/work-on-qcomicbook-080.html"&gt;planned features&lt;/a&gt; for this release to just one: PDF support. The main big feature - switching to &lt;a href="http://doc.qt.nokia.com/4.6/graphicsview.html"&gt;Graphics View Framework&lt;/a&gt; - has been postponed due to drawing bugs that still needs resolving. This stuff will be introduced later, so no worries!&lt;br /&gt;&lt;br /&gt;By the way, if you like QComicBook, you can show your appreciation by making small donation (e.g. a beer worth ;)) - it's really easy with &lt;a href="http://flattr.com/thing/72360/QComicBook-project"&gt;Flattr&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-6944894124283431794?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/6944894124283431794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=6944894124283431794' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6944894124283431794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6944894124283431794'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/07/qcomicbook-080-released-brings-pdf.html' title='QComicBook 0.8.0 released, brings PDF support'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XPaFxWuh9As/ThAz_3BEs9I/AAAAAAAACXI/Uf9jqgzkxcI/s72-c/Screenshot-QComicBook+-+commentary_on_the_sixth_edition_unix.pdf.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8096286983672825296</id><published>2011-06-16T14:28:00.000-07:00</published><updated>2011-06-17T12:11:00.004-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Debian 6.0: encrypting /home partition after installation</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7E33wBV_mgY/Tfp0HLFbIkI/AAAAAAAACWs/te5XT9w5t5Y/s1600/DSC07151.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="204" src="http://2.bp.blogspot.com/-7E33wBV_mgY/Tfp0HLFbIkI/AAAAAAAACWs/te5XT9w5t5Y/s320/DSC07151.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Debian installer provides an easy way of creating encrypted disk volumes during installation, including encrypted root partition. However, if you skip this step and decide to encrypt a disk partition later, you need to perform manual setup. Fortunately, it's not too difficult. The following steps cover creating an encrypted /home, so you need to have a separate disk partition for it. Encrypting root filesystem is more sophisticated and it's not covered by this tutorial.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install cryptsetup: &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;apt-get install cryptsetup&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Backup current /home contents and unmount the partition.&lt;/li&gt;&lt;li&gt;Create encrypted &lt;a href="http://code.google.com/p/cryptsetup/"&gt;LUKS&lt;/a&gt; partition:&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;cryptsetup luksFormat /dev/sda2&lt;/span&gt; (replace sda2 with your partion name).&lt;/li&gt;&lt;li&gt;Open LUKS partition and map it to 'crhome' (this name can be arbitrary):&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;cryptsetup luksOpen /dev/sda2 crhome&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Format encrypted partition, e.g.: &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;mkfs.ext4 /dev/mapper/crhome&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Mount it: &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;mount /dev/mapper/crhome /home&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Restore /home contents from the backup.&lt;/li&gt;&lt;li&gt;Recreate initrd: &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;update-initramfs -u&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Create /etc/crypttab entry for encrypted volume:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# &lt;target name=""&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;source device=""&gt;&lt;/source&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;key file=""&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;options&gt;&lt;br /&gt;crhome &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/dev/sda2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;none &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;luks&lt;/options&gt;&lt;/key&gt;&lt;/target&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Change /etc/fstab entry for /home, .e.g:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/dev/mapper/crhome &amp;nbsp; /home &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ext4 &amp;nbsp; &amp;nbsp;defaults &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Reboot!&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;During system startup you will be prompted for password to access LUKS volume. If you have &lt;a href="http://www.freedesktop.org/wiki/Software/Plymouth"&gt;Plymouth&lt;/a&gt; installed, you'll see a nice graphical password prompt &amp;nbsp;- see the screenshot. For more documentation, including Debian-specific docs, got to /usr/share/doc/cryptsetup and cryptsetup/crypttab man pages.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8096286983672825296?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8096286983672825296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8096286983672825296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8096286983672825296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8096286983672825296'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/06/debian-60-encrypting-home-partition.html' title='Debian 6.0: encrypting /home partition after installation'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7E33wBV_mgY/Tfp0HLFbIkI/AAAAAAAACWs/te5XT9w5t5Y/s72-c/DSC07151.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1106763063429025063</id><published>2011-05-29T07:12:00.000-07:00</published><updated>2011-05-29T07:15:29.759-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>GNOME 3.0 = big letdown</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QiwBjK44Wbc/TeJU64ojBnI/AAAAAAAACRU/iYqy3YN0z5Y/s1600/app_list.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-QiwBjK44Wbc/TeJU64ojBnI/AAAAAAAACRU/iYqy3YN0z5Y/s320/app_list.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;The GNOME project has just released &lt;a href="http://www.gnome.org/gnome-3/"&gt;GNOME 3&lt;/a&gt;&amp;nbsp;-&amp;nbsp;a major overhaul of this popular desktop environment - which promises a new, beautiful and improved interface and a shift in the way users access their desktop.&amp;nbsp;I've been using GNOME 2.x for a few years already and had really high hopes about the upcoming release. Unfortunately, all I got is a big letdown.&lt;br /&gt;&lt;br /&gt;The key features I loved about GNOME 2 were its simplicity, configurability, extensibility and &lt;b&gt;stability&lt;/b&gt;. This is no longer the case with new GNOME. GNOME developers did what KDE developers did a few years ago, by replacing KDE 3.5 &amp;nbsp;with KDE 4.0: they have rewritten their desktop and dropped tons of features to provide "new desktop experience". I don't mind GNOME Shell - in fact I find some of its aspects quite appealing - I just miss the freedom and flexibility of GNOME 2. In GNOME 3&amp;nbsp;configurable panels are gone,&amp;nbsp;existing panel applets are gone (well, most of them - all the bonobo-based),&amp;nbsp;apperance settings are gone,&amp;nbsp;gdm settings are not configurable (GDM setup tool had been removed a long time ago, around gnome 2.28 and it is still not available). &amp;nbsp;Not to mention that GNOME 3.0 in its current shape is not really stable and I found some irritating bugs in Gnome Shell after using it just for around one hour.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Some of the missing features will probably be provided by 3rd party tools that I'm sure will fill the vacuum sooner or later, but I'm afraid that reaching the functionality and stability offered by GNOME 2 may need a few development cycles. This makes me a little bit concerned about the state of Linux desktop in the next 1-2 years: with immature GNOME 3 and Ubuntu/Unity abandoning GNOME, the only viable option is to stick with a distribution that still supports GNOME 2, or move to &lt;a href="http://xfce.org/"&gt;XFCE&lt;/a&gt;. The current state of affairs may be a big chance for the latter, by the way.u&lt;br /&gt;&lt;br /&gt;After testing GNOME 3 &amp;amp; XFCE 4.8 in Arch Linux for a few days, I've sadly decided to abandon &lt;a href="http://www.archlinux.org/"&gt;Arch Linux&lt;/a&gt;... The disadvantage of running a rolling distro is that updates such as GNOME 3 are just rolled out and you either accept it or refuse them (and stop getting security updates at the same time)... And for all these reasons I decided to move to &amp;nbsp;Debian 6.0 (Squeeze) and stick with it for a while... Let's see how GNOME 3 and Unity develop. Maybe by the time of next Debian stable GNOME 3 becomes really usable?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1106763063429025063?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1106763063429025063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1106763063429025063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1106763063429025063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1106763063429025063'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/05/gnome-30-big-letdown.html' title='GNOME 3.0 = big letdown'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-QiwBjK44Wbc/TeJU64ojBnI/AAAAAAAACRU/iYqy3YN0z5Y/s72-c/app_list.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8118065950838132400</id><published>2011-05-29T06:38:00.000-07:00</published><updated>2011-05-29T06:39:19.724-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>Fixing usb drives automount issue in Debian 6.0</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-0R9mNXByfxA/TeJLyY1JzvI/AAAAAAAACRI/tPGV65n3Fuo/s1600/debian-automount.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://3.bp.blogspot.com/-0R9mNXByfxA/TeJLyY1JzvI/AAAAAAAACRI/tPGV65n3Fuo/s320/debian-automount.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;If you happened to experience issues with auto-mounting of USB hard disks in &lt;a href="http://www.debian.org/"&gt;Debian 6.0&lt;/a&gt;, like the one on the attached screenshot, then read on as this is very easy to fix. The problem is caused by an improper entry in &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/fstab&lt;/span&gt; created by Debian installer: if you've installed Debian from a USB disk, then a "cdrom" entry pointing to that drive could have been created in fstab, e.g.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/dev/sdb1 /media/cdrom0 udf,iso9660 user,noauto &amp;nbsp;0 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just remove such entry and you're done! Note: I experienced this issue when installing Debian 6.0 iso. Chances are this issue was corrected by Debian 6.0.1a (or later) iso, but I haven't verified this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8118065950838132400?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8118065950838132400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8118065950838132400' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8118065950838132400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8118065950838132400'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/05/fixing-usb-drives-automount-issue-in.html' title='Fixing usb drives automount issue in Debian 6.0'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-0R9mNXByfxA/TeJLyY1JzvI/AAAAAAAACRI/tPGV65n3Fuo/s72-c/debian-automount.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8505472196993687385</id><published>2011-04-28T14:43:00.000-07:00</published><updated>2011-04-28T14:50:02.810-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fork bomb'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Protect your Linux box against fork-bomb and faulty apps DoS</title><content type='html'>Many (most? all?) default Linux installations of popular distros are still vulnerable to fork-bombs, i.e. can easily be rendered unusable (until reboot) by spawning a large number of processes. You can easily test how your system behaves with well known fork-bomb for bash:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:(){ :|: &amp;amp; };:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Keep in mind that this problem can easily be triggered by a programming error or misusing an application. For example, I encountered it once when rebuilding a Makefile-based project while having CDPATH environment variable set in a way, that resulted in recursive calls to make program in an infinite loop. When that kind of problem happens, it may be hard to regain control and rebooting the system may be the only option.&lt;br /&gt;Fortunately, Linux has measures to protect against such problems and it's very easy to set up. The best way to go is to relay on &amp;nbsp;pam_limits module, configured via /etc/security/limits.conf. It's probably installed by default by all popular Linux distributions (I've tested it on Arch Linux and Ubuntu). Limiting the number of processes to 240 for given user is as simple as:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;pawel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hard &amp;nbsp; &amp;nbsp;nproc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 240&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With such setting, logout and login back and verify it has been activated:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[pawel@pc ~]$ ulimit -u&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;240&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then run &amp;nbsp;a fork bomb again. It should now reach the limit of concurrent processes very quickly while still leaving a lot of spare system resources, so that you can easily deal with the problem.&lt;br /&gt;&lt;br /&gt;Just a remark: set the nproc limit to a reasonable value, i.e. examine your typical desktop environment first to estimate typical loads and add a safe margin. For example, a typical GNOME desktop with a few applets can easily create around 50 processes, so keep this in mind.&lt;br /&gt;&lt;br /&gt;See 'man limits.conf' and 'man pam_limits' for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8505472196993687385?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8505472196993687385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8505472196993687385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8505472196993687385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8505472196993687385'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/04/protect-your-linux-box-against-fork.html' title='Protect your Linux box against fork-bomb and faulty apps DoS'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3367142365908946737</id><published>2011-04-10T02:31:00.000-07:00</published><updated>2011-04-12T14:35:25.013-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='web hosting'/><title type='text'>QComicBook website is down (again...)</title><content type='html'>QComicBook website (as well as my home page) &amp;nbsp;are down due to web hosting issues... Did I say that&amp;nbsp;&lt;a href="http://rootnode.net/"&gt;http://rootnode.net&lt;/a&gt;&amp;nbsp;web hosting sucks? I'm going to switch to other web hosting this year. Any suggestions for cheap yet reliable web hosting for Django/Rails sites (low disk space usage, small DB, no traffic limits)?&lt;br /&gt;&lt;br /&gt;UPDATE: it's up again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3367142365908946737?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3367142365908946737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3367142365908946737' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3367142365908946737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3367142365908946737'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/04/qcomicbook-site-is-down.html' title='QComicBook website is down (again...)'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4237048311228336934</id><published>2011-02-20T11:14:00.000-08:00</published><updated>2011-02-20T11:16:27.162-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ps3'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='irlandia'/><category scheme='http://www.blogger.com/atom/ns#' term='ireland'/><title type='text'>Rynek gier video w Irlandii</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hsurqDA7Sh8/TWFoLg61AbI/AAAAAAAAB6c/dhumr3AnC-U/s1600/Image008.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/-hsurqDA7Sh8/TWFoLg61AbI/AAAAAAAAB6c/dhumr3AnC-U/s200/Image008.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Po prawie dwóch miesiącach spędzonych w Irlandii mogę się pokusić o kilka refleksji na temat tutejszego rynku gier video. Piszę to z perspektywy posiadacza PS3, ale jest to bez znaczenia, bo sytuacja dotyczy każdej platformy. Obserwacja pierwsza i najbardziej oczywista jest taka, że rynek gier jest dużo bardziej rozwinięty, niż np. w Polsce (to akurat nie jest niespodzianką). Widać to przede wszystkim po ilości sklepów z grami obecnych w centrach handlowych i ilości klientów, którzy je odwiedzają: 2-3 sklepy zajmujące się wyłącznie handlem grami w jednym centrum handlowym wygląda tutaj na normę. Najpopularniejsze sieci to GAMESTOP, GAME i HMV (to ostatnie zajmuje się szerzej pojętymi multimediami). &amp;nbsp;Obserwacja druga: &lt;b&gt;handel używanymi grami tutaj kwitnie!&lt;/b&gt; Absolutnie każdy sklep, w jakim byłem ma &lt;b&gt;dział używanych gier, który jest dużo większy, niż dział z nowymi grami&lt;/b&gt; (przez nowe rozumiem "od producenta", zafoliowane i nieużywane). Niektóre sklepy już przy wejściu wywieszają tablice z aktualnymi cenami skupu szczególnie chodliwych tytułów (niczym w kantorach ;)), są też różnego rodzaju promocje typu "sprzedaj nam jakąś grę, a inną dostaniesz za 2 EUR" (vide - fotki).&amp;nbsp;Tu dochodzę do trzeciej obserwacji: raczej trudno jest tu kupić starszy tytuł, który nie pochodził by z drugiego obiegu. Wygląda na to, że żaden sklep nie jest zainteresowany utrzymywaniem na stanie starszych gier - wyjątek stanowią blockbustery oraz wznowienia, np. seria Platinum dla PS3.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-pKgGSelpnkU/TWFmuLGSPkI/AAAAAAAAB6U/Z9V0CHp3xPE/s1600/Image005.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-pKgGSelpnkU/TWFmuLGSPkI/AAAAAAAAB6U/Z9V0CHp3xPE/s200/Image005.jpg" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-eJzgdfoRFns/TWFmh0szvOI/AAAAAAAAB6Q/4Pi6OrFel1o/s1600/Image012.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-eJzgdfoRFns/TWFmh0szvOI/AAAAAAAAB6Q/4Pi6OrFel1o/s200/Image012.jpg" width="150" /&gt;&lt;/a&gt;Jeśli chodzi o ceny, to w przypadku nowości cudów nie ma - trzeba się liczyć z wydatkiem rzędu 50-54 EUR (gry PS3). Z drugiej strony, ceny są wraz z upływem czasu korygowane, nie ma więc paradoksów takich jak w polskim Empiku czy Media-Markt gdzie za grę sprzed pół roku można nadal wybulić 199 zł... Przykłady cen: GT5 - ok 54 EUR, Dead Space 2 - 39 EUR, GTA IV Complete - 39 EUR, Fallout: New Vegas - 29 EUR, gry z platynowej kolekcji - 17 EUR. Można też trafić na promocje typu "2 gry za 50EUR", gdzie każda z nich kosztuje np. 29 EUR. Gry używane zaczynają się od ok. 7 EUR (za tyle wyhaczyłem ostatnio np. &lt;a href="http://www.resistancefallofman.com/"&gt;Resistance: Fall of Men&lt;/a&gt;), przy czym w przypadku najnowszych tytułów, kupując "używkę" można zaoszczędzić kilka-kilkanaście EUR. Podsumowując, gdy widzę, co tutaj się dzieje w kwestii handlu używanymi grami, zaczynam rozumieć racje producentów i wydawców, którzy próbują walczyć z tym zjawiskiem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4237048311228336934?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4237048311228336934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4237048311228336934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4237048311228336934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4237048311228336934'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/02/rynek-gier-video-w-irlandii.html' title='Rynek gier video w Irlandii'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-hsurqDA7Sh8/TWFoLg61AbI/AAAAAAAAB6c/dhumr3AnC-U/s72-c/Image008.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-983679256206204372</id><published>2011-02-19T01:43:00.000-08:00</published><updated>2011-02-19T01:47:24.429-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='ecomstation'/><title type='text'>QComicBook runs on eComStation!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wRkwoGR2FeA/TV-QjTuCyXI/AAAAAAAAB58/f7MyirvsK-Y/s1600/qcomicbook072-os2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-wRkwoGR2FeA/TV-QjTuCyXI/AAAAAAAAB58/f7MyirvsK-Y/s320/qcomicbook072-os2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I'm happy to announce that one of &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook&lt;/a&gt; users got QComicBook 0.7.2 running on &lt;a href="http://www.ecomstation.com/"&gt;eComStation&lt;/a&gt;! Wait... what is eComStation, I hear you asking... I've never&amp;nbsp;heard of it until now as well. It appears that eComStation is the successor of OS/2. Unfortunately it's commercial and it seems there is no free version for evaluation&lt;br /&gt;purposes available... Anyway, if you happen to use this OS, you may grab QComicBook binary for it &lt;a href="http://hobbes.nmsu.edu/h-search.php?sh=1&amp;amp;button=Search&amp;amp;key=qcomicbook&amp;amp;stype=all&amp;amp;sort=type_name&amp;amp;dir=/"&gt;here&lt;/a&gt;. &amp;nbsp;Please note that you cannot currently rebuild QComicBook for eComStation as it requires some source code changes; this changes may later be incorporated into mainline, or become available as a patch. Also be aware that&amp;nbsp;I take no responsibility for this binary, use it&amp;nbsp;at your own risk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-983679256206204372?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/983679256206204372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=983679256206204372' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/983679256206204372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/983679256206204372'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/02/qcomicbook-runs-on-ecomstation.html' title='QComicBook runs on eComStation!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-wRkwoGR2FeA/TV-QjTuCyXI/AAAAAAAAB58/f7MyirvsK-Y/s72-c/qcomicbook072-os2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-224519169195495807</id><published>2011-01-18T16:11:00.000-08:00</published><updated>2011-01-18T16:14:46.622-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>Kernel 2.6.36 bug = OOPS</title><content type='html'>Apparently the stable &lt;a href="http://kernel.org/"&gt;Linux Kernel&lt;/a&gt; 2.6.36 has a severe regression / bug that results in frequent (but random) crashes at the early stages of boot process. I've been experiencing this issue for around one week but considered it a problem with my setup or hardware. It turns out the problem is widespread among Arch Linux users (and others running bleeding edge distors, such as Slackware-current) and is triggered by latest udev-165-1 update. It has been discussed on the Arch Linux &lt;a href="https://bbs.archlinux.org/viewtopic.php?id=111197"&gt;forums&lt;/a&gt; and reported in &lt;a href="https://bugs.archlinux.org/task/22343"&gt;Arch Linux bugtracker&lt;/a&gt; and Kernel &lt;a href="https://bugzilla.kernel.org/show_bug.cgi?id=26792"&gt;bugzilla&lt;/a&gt;.&lt;br /&gt;For now the easiest solution is to downgrade udev to version 164-3. There are two ways to do this: using the old package from &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/var/cache/pacman/pkg&lt;/span&gt; (if you haven't cleaned your pacman cache) or downloading it from the great &lt;a href="http://arm.konnichi.com/"&gt;Arch Rollback Machine&lt;/a&gt; (it already saved me once!). &lt;b&gt;Note: &lt;/b&gt;Make sure you recreate your initrd image with '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mkinitcpio -p kernel26&lt;/span&gt;' after reverting to older udev!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-224519169195495807?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/224519169195495807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=224519169195495807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/224519169195495807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/224519169195495807'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/01/kernel-2636-bug-oops.html' title='Kernel 2.6.36 bug = OOPS'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4928899935552871778</id><published>2011-01-07T15:36:00.000-08:00</published><updated>2011-01-07T15:41:06.205-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aol'/><category scheme='http://www.blogger.com/atom/ns#' term='irlandia'/><category scheme='http://www.blogger.com/atom/ns#' term='ireland'/><category scheme='http://www.blogger.com/atom/ns#' term='dublin'/><title type='text'>Pierwszy tydzień w Irlandii</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_3JwtBWdXuLw/TSec2tbOjFI/AAAAAAAABwo/0u8yeyyokUY/s1600/DSC05590.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_3JwtBWdXuLw/TSec2tbOjFI/AAAAAAAABwo/0u8yeyyokUY/s400/DSC05590.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Minął właśnie pierwszy tydzień w nowej pracy w Irlandii i jest wreszcie okazja (piątkowy wieczór), żeby napisać parę zdań.&lt;br /&gt;&lt;br /&gt;Szczęśliwie, w pierwszych dniach stycznia opadów śniegu nie było, więc lot i ogólnie cała podróż, aż do momentu dotarcia do mieszkania, odbyły się planowo i bez najmniejszych problemów.&lt;br /&gt;&lt;br /&gt;Mieszkanie, które firma udostępniła nam na 1-szy miesiąc pobytu, okazało się bardzo przyjemną niespodzianką: 3 sypialnie, tyle samo łazienek, duży living room - ogólnie jest ze trzy razy większe, niż nasze mieszkanie w kraju. Żyć, nie umierać. Niestety, to tylko na pierwszy miesiąc, gdy już znajdziemy coś swojego, to trzeba będzie troche obniżyć standardy ;). Do tego mieszkamy tuż obok siedziby AOL, więc do pracy mam kilkanaście kroków.&lt;br /&gt;&lt;br /&gt;W robocie powolutku wdrażanie się w projekt, przygotowuję sobie środowisko pracy i załatwiam różne formalności. Udało się zaaplikować o irlandzki PPS, teraz zostaje ustalenie tax credits, potem otwarcie konta w banku... Powoli też zaczynamy szukać mieszkania - rozglądamy się za czymś w okolicy (czyli centrum), aby zaoszczędzić kasę i czas na dojazdach. Z tych powodów pomysł wynajęcia domku właściwie upadł, ale może takie rozwiązanie będzie lepsze.&lt;br /&gt;&lt;br /&gt;I wszystkio byłoby pięknie gdyby nie to, że już na samym początku rozchorowała nam się Ania. Listę polskich klinik w Dublinie miałem na szczęście już zawczasu przygotowaną, jednak jeżdżenie po lekarzach bez samochodu i w kompletnie obcym mieście do przyjemnych nie należy (NB: kurdę... tu na prawdę jeżdżą PO LEWEJ STRONIE!!!). W grę wchodzą tylko taksówki. Mamy za sobą już dwie wizyty, Ania ponad 3 dni na antybiotyku, na razie bez poprawy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4928899935552871778?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4928899935552871778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4928899935552871778' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4928899935552871778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4928899935552871778'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2011/01/pierwszy-tydzien-w-irlandii.html' title='Pierwszy tydzień w Irlandii'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3JwtBWdXuLw/TSec2tbOjFI/AAAAAAAABwo/0u8yeyyokUY/s72-c/DSC05590.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5943252181245450141</id><published>2010-12-18T05:00:00.000-08:00</published><updated>2010-12-18T06:39:44.644-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='irlandia'/><category scheme='http://www.blogger.com/atom/ns#' term='ireland'/><title type='text'>Irlandia: Ostatnie odliczanie</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_3JwtBWdXuLw/TQyt0hY8LVI/AAAAAAAABus/Iqw1hFI7kKM/s1600/DSC05550.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/TQyt0hY8LVI/AAAAAAAABus/Iqw1hFI7kKM/s400/DSC05550.JPG" width="285" /&gt;&lt;/a&gt;Rozpoczynam ostatnie odliczanie... Najbliższy poniedziałek będzie ostatnim dniem w dotychczasowej pracy w Polsce, potem kilka dni urlopu, a 2 stycznia 2011 wylatujemy do Dublina i zaczynamy przygodę z Irlandią. Lot zabookowany, tymczasowe mieszkanie na pierwszy miesiąc już jest, więc pozostanie pakowanie walizek. Tymczasem - fotki rewelacyjnej (i praktycznej) antyramy, którą sprezentowali mi na pożegnanie przyjaciele z firmy: rękawice "na zmywak", bilet powrotny i podręczny zestaw przydatnych zwrotów :)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_3JwtBWdXuLw/TQyt-xOwetI/AAAAAAAABu0/yHpqQGiUnMs/s1600/DSC05553.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="96" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/TQyt-xOwetI/AAAAAAAABu0/yHpqQGiUnMs/s320/DSC05553.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5943252181245450141?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5943252181245450141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5943252181245450141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5943252181245450141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5943252181245450141'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/12/irlandia-ostatnie-odliczanie.html' title='Irlandia: Ostatnie odliczanie'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/TQyt0hY8LVI/AAAAAAAABus/Iqw1hFI7kKM/s72-c/DSC05550.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-2008305333168229719</id><published>2010-12-16T06:33:00.000-08:00</published><updated>2010-12-16T06:34:21.534-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Work on QComicBook 0.8.0</title><content type='html'>The work on new "big" (i.e. middle version number change) QComicBook release &lt;br /&gt;has started. You can track this work in the &lt;a href="https://github.com/stolowski/QComicBook/tree/dev/0.8.0merge"&gt;dev/0.8.0merge&lt;/a&gt; branch of the git repo; this branch will get merged back to master branch once ready.&lt;br /&gt;&lt;br /&gt;One of the most important internal changes to be included in the upcoming release is switching from using widgets to &lt;a href="http://doc.qt.nokia.com/4.6/graphicsview.html"&gt;Graphics View Framework&lt;/a&gt; provided by Qt. This switch made it possible for an easy and nice implementation of Zoom Lens, so QComicBook 0.8.0 will finally see this much welcome addition! Long-term, the switch Graphics Framework may result in improved QComicBook performance and make it possible to use e.g. OpenGL backend to speed up scaling etc.&lt;br /&gt;&lt;br /&gt;The new 0.8.0 release will also bring PDF reading support (as I already indicated&amp;nbsp; &lt;a href="http://stolowski.blogspot.com/2010/11/qcomicbook-070-is-close-feature-plan.html"&gt;earlier&lt;/a&gt;) via &lt;a href="http://poppler.freedesktop.org/"&gt;Poppler&lt;/a&gt; library, which is a new dependency starting from this release.&lt;br /&gt;&lt;br /&gt;I'd like to push the new release out by end of this year if possible, but the scope of changes related to new graphics framework is substantial and there are still some rendering-related bugs, so it may slip to early 2011.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-2008305333168229719?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/2008305333168229719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=2008305333168229719' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2008305333168229719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2008305333168229719'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/12/work-on-qcomicbook-080.html' title='Work on QComicBook 0.8.0'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7095119797241219199</id><published>2010-12-01T04:49:00.000-08:00</published><updated>2011-06-16T12:42:38.058-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tomoyo linux'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>TOMOYO Linux - 5 tips to streamline your experience</title><content type='html'>I've already blogged about &lt;a href="http://tomoyo.sourceforge.jp/"&gt;TOMOYO Linux&lt;/a&gt;, a nice MAC implementation &lt;a href="http://stolowski.blogspot.com/search/label/tomoyo%20linux"&gt;before&lt;/a&gt;. This time I'd like to share a few tips that I worked out using TOMOYO. Most (or all) of them may be apparent for long-time TOMOYO users, but hopefully will be helpful for newcomers.&lt;br /&gt;These tips are based on the tomoyo-tools v2.x (for mainlined version, i.e. included in the vanilla kernel and using LSM).&amp;nbsp; Use &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;ccs-patternize&lt;/span&gt;, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;ccs-loadpolicy&lt;/span&gt; etc. for 1.x series.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Use initialize_domain&lt;/b&gt; &lt;br /&gt;Tomoyo creates separate domains for all execution paths. If you execute, say, Firefox web browser from a bash shell running in gnome-terminal, then from gnome menu and finally from gnome “run” dialog, you’ll end up with three distinct domains (and the number is possibly infinite, since you can start any application in many ways). Since you probably want to use same policy rules for all Firefox domains, no matter how Firefox was started, use &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;initialize_domain&lt;/span&gt; rule in the exception policy, e.g.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;initialize_domain /usr/bin/firefox&lt;/span&gt;&lt;/div&gt;This way only one domain, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;“&lt;/span&gt;&lt;kernel&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/usr/bin/firefox”&lt;/span&gt; will be created in the system.&lt;br /&gt;&lt;/kernel&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Use keep_domain&lt;/b&gt;&lt;br /&gt;Many applications spawn child processes and execute helper programs - for instance, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/usr/bin/firefox&lt;/span&gt; is just a shell script, that runs &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/usr/lib/firefox-x.y.z/mozilla-run.sh&lt;/span&gt;, which in turn starts &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;firefox-bin&lt;/span&gt;; the latter runs &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;plugin-container&lt;/span&gt; and so on. Since you’re probably interested in confining an application as a whole, you may consider keeping all child processes in the same domain as the parent. Put&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;keep_domain /usr/bin/firefox&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;in the exception policy and all execution paths created by &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/usr/bin/firefox&lt;/span&gt; domain will use same policy rules. Be aware however, that this loosens security and violates the rule of minimum privileges a bit. For example, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;plugin-container&lt;/span&gt; is responsible for running macromedia flash content plugin (among other plugins) and running it in the same domain as &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/usr/bin/firefox&lt;/span&gt; means it gets all the privileges granted to Firefox itself.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Use tomoyo-patternize combo&lt;/b&gt;&lt;br /&gt;You probably already know and use &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-patternize&lt;/span&gt;, but the trick is to pipe it with &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-savepolicy&lt;/span&gt; and &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-loadpolicy&lt;/span&gt; combo for fast and efficient policy updates and tweaking. The “-” parameter of &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-savepolicy&lt;/span&gt; / &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-loadpolicy&lt;/span&gt; dumps policy rules to&amp;nbsp; standard output or reads rules from standard input respectively. Chain it with &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-patternize&lt;/span&gt; like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-savepolicy -d | tomoyo-patternize ‘pattern1’ ‘pattern2’ … | tomoyo-loadpolicy -df&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And you can apply patterns immediately. This combo is so useful, that you may consider putting it in a wrapper script, e.g:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#!/bin/sh&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; tomoyo-savepolicy -d | tomoyo-patternize $@ | tomoyo-loadpolicy -df&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Don’t forget that changes are made to the policy rules currently loaded in the kernel (no changes are made to the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/tomoyo/domain_policy.conf&lt;/span&gt; file), so don’t forget to execute &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;tomoyo-savepolicy&lt;/span&gt; before shutdown....&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Use recursive dir matching&lt;/b&gt;&lt;br /&gt;The recursive directory matching operator &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;/\{dir\}/&lt;/span&gt; matches one or more repetitions of '&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;dir/&lt;/span&gt;'. Use it with “&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;\*&lt;/span&gt;” as a directory argument to match all subdirectories (and their subdirectories etc.) of given directory, regardless of depth. This is useful if you don’t know directory structure in advance or don’t need to grant specific permissions for subdirectories. For instance, Firefox extensions tend to mess a lot with their files in &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;~/.mozilla/firefox/\*/extensions&lt;/span&gt; directory and it subdirectories, so you may want to grant read, write, create, truncate, link, unlink rights to &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;~/.mozilla/firefox/\*/extensions/\*&lt;/span&gt; (for files/dirs in extensions directory) and &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;~/.mozilla/firefox/\*/extensions/\{\*\}/\*&lt;/span&gt; (for files in subdirectories of extensions directory, arbitrary depth).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Use path_group for common paths&lt;/b&gt;&lt;br /&gt;There is a lot of common paths that applications are accessing, for instance all GUI apps will read font files and fontconfig related files, all GNOME apps will read GTK configuration files, icons, themes etc. Create &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;path_group&lt;/span&gt; definitions for common stuff, e.g.&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;path_group FONTS /etc/fonts/\*&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; path_group FONTS /etc/fonts/\{\*\}/\*&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; path_group FONTS /var/cache/fontconfig/\*&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; path_group FONTS /home/\*/.fontconfig/\*&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; path_group FONTS /etc/fontconfig/\{\*\}/\*&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; path_group FONTS /usr/share/fonts/\{\*\}/\*&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; path_group FONTS /usr/share/fonts/\*&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; path_group FONTS /usr/share/fonts/\{\*\}/\*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And then simplify your domain policy rules like this:&lt;br /&gt;allow_read &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;@FONTS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Do this for other common files, e.g. &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;ICONS&lt;/span&gt;,&amp;nbsp;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;THEMES&lt;/span&gt;, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;ALSACONF&lt;/span&gt;, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;SOUNDDEV&lt;/span&gt; etc.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7095119797241219199?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7095119797241219199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7095119797241219199' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7095119797241219199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7095119797241219199'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/12/tomoyo-linux-5-tips-to-streamline-your.html' title='TOMOYO Linux - 5 tips to streamline your experience'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7849054344692654428</id><published>2010-11-16T03:32:00.000-08:00</published><updated>2010-11-16T03:32:57.071-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook 0.7.0 released!</title><content type='html'>QComicBook 0.7.0 has been released! From the ChangeLog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; added hints (warning, information) to System information dialog; display warning if free unrar is used. &lt;/li&gt;&lt;li&gt; added 'Cleanup list' option to Recently opened files menu. &lt;/li&gt;&lt;li&gt; added Dutch, Korean, Russian and Simplified Chinese translations. &lt;/li&gt;&lt;li&gt; added 'About donations' and 'About Qt' help menu items. &lt;/li&gt;&lt;li&gt; added experimental 'Frame View' mode for frame-by-frame reading. &lt;/li&gt;&lt;li&gt; added preliminary support for printing. &lt;/li&gt;&lt;li&gt; fixed bug with 'Open Next' disabled on first comic book archive in the directory &lt;/li&gt;&lt;li&gt; Qt &amp;gt;= 4.5.0 is now required.&lt;/li&gt;&lt;/ul&gt;Grab the new release&amp;nbsp;&lt;a href="http://qcomicbook.linux-projects.net/download"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7849054344692654428?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7849054344692654428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7849054344692654428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7849054344692654428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7849054344692654428'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/11/qcomicbook-070-released.html' title='QComicBook 0.7.0 released!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-948441293323076144</id><published>2010-11-07T06:55:00.000-08:00</published><updated>2010-11-07T08:49:40.406-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook 0.7.0 is close, feature plan for next releases</title><content type='html'>As &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook&lt;/a&gt; 0.7.0 is nearing (just waiting for a few translations to be updated), I've started planning new features for&amp;nbsp; next releases. Here is the list of "big" features planned for QComicBook 0.8.0 / 0.9.0 to wet you appetite:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Support for &lt;a href="http://en.wikipedia.org/wiki/Portable_Document_Format"&gt;PDF&lt;/a&gt; file format - this is actually almost ready and already available in the dev/pdf branch of QComicBook &lt;a href="http://github.com/stolowski/QComicBook"&gt;repository&lt;/a&gt;. Thanks to the great &lt;a href="http://poppler.freedesktop.org/"&gt;Poppler&lt;/a&gt; library and good, modular design of QComicBook (of course! :)) this feature took me literally a few hours to implement. There are still some rough edges, but it works and will for sure be a part of QComicBook 0.8.0. By the way, I think that comic books distributed as PDF files esentially &lt;b&gt;do suck&lt;/b&gt; (as there is no benefit from keeping a bunch of images in a pdf file), but well, apparently some people have different opinion on this, so QComicBook will support them so that you can read pdfs and use all QComicBook's goodies (like bookmarks for example).&lt;/li&gt;&lt;li&gt;Comicbook library management - a tool to manage and browse your comicbooks collection. This feature still has a lot of question marks: how to organize the library and UI, make it user-friendly and useful etc. I will definately make and publish some mockups first. If you have any nice ideas about how this feature should look like, please drop me an email!&lt;/li&gt;&lt;li&gt;CBR archive editing / creation - make it possible to rearrange order of the pages, remove pages and create a new CBR archive out of existing one.&lt;/li&gt;&lt;li&gt;Fancy frame-by-frame reading - QComicBook 0.7.0 will introduce a new "Frame View" reading mode which displays single comic book frame, with shortucts for advancing to the next / previous frames. The idea is to implement a more "fancy" mode which displays an entire page and scroolls and zooms it in/out frame-by-frame.&lt;/li&gt;&lt;li&gt;Editable keyboard shortucts - this has been a problem for a long time in QComicBook. I've received already too many complaints about keyboard bindings, so with this feature one will be able to redefine keybord to his/her liking.&lt;/li&gt;&lt;li&gt;Simplified user interface - a way to switch between standard and clutter-free UI with a minimum set of buttons / menu options. Of course, all "hidden" options would still be available via keyboard shortucts.&lt;/li&gt;&lt;/ul&gt;That's it. I'm planning the next 0.8.0 release to be available by the end of this year and throw one or two of the above features in it. In the meantime, get ready for 0.7.0!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-948441293323076144?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/948441293323076144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=948441293323076144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/948441293323076144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/948441293323076144'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/11/qcomicbook-070-is-close-feature-plan.html' title='QComicBook 0.7.0 is close, feature plan for next releases'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-266868758329771147</id><published>2010-10-23T09:46:00.000-07:00</published><updated>2010-10-23T09:46:48.622-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Arch Linux defaults to Python 3 now</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_3JwtBWdXuLw/SrqH5e0JQnI/AAAAAAAABk8/shoA5SZu1s8/s1600/archlinux-grad2-dark.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="66" src="http://1.bp.blogspot.com/_3JwtBWdXuLw/SrqH5e0JQnI/AAAAAAAABk8/shoA5SZu1s8/s200/archlinux-grad2-dark.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;A major update has recently been pushed with &lt;a href="http://www.archlinux.org/"&gt;Arch Linux&lt;/a&gt; updates: Python 3 is now the &lt;a href="http://www.archlinux.org/news/python-is-now-python-3/"&gt;default one&lt;/a&gt;, installed as /usr/bin/python. The old python interpreter is installed as /usr/bin/python2.&amp;nbsp; This change resulted in a bunch of updates to other python-dependant packages.&amp;nbsp; Python 3 breaks compatibility with Python 2.x series, so this is a bold move but hey, Arch Linux rocks :-), doesn't it? Using Python 3 as the default in the stable branch puts Arch Linux at the forefront of Linux distros. The list of new features and changes in Python 3.x series are listed &lt;a href="http://docs.python.org/release/3.1.2/whatsnew/3.0.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-266868758329771147?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/266868758329771147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=266868758329771147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/266868758329771147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/266868758329771147'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/10/arch-linux-defaults-to-python-3-now.html' title='Arch Linux defaults to Python 3 now'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3JwtBWdXuLw/SrqH5e0JQnI/AAAAAAAABk8/shoA5SZu1s8/s72-c/archlinux-grad2-dark.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1330850475233453273</id><published>2010-10-22T05:37:00.000-07:00</published><updated>2010-10-22T05:43:40.383-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cia'/><category scheme='http://www.blogger.com/atom/ns#' term='książki'/><title type='text'>Dziedzictwo popiołów. Historia CIA.</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.rebis.com.pl/rebis/import/books/K4110.002/covermin.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://www.rebis.com.pl/rebis/import/books/K4110.002/covermin.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Kończę czytać książkę T. Weiner'a poświęconą historii CIA. Powiem krótko: &lt;b&gt;rewelacyjna&lt;/b&gt; pozycja. Cel, jaki przyświecał autorowi to ukazanie nadużyć, błędów i niepowodzeń, jakie miały miejsce od czasu powstania Agencji w latach 40. do dziś. Nie brak w książce przykładów akcji zakończonych sukcesem, ale ogólny obraz CIA, jaki kreśli autor dość mocno otwiera oczy jeśli chodzi o rozumienie polityki prowadzonej przez USA w ciągu ostatnich dziesięcioleci... Tajne operacje prowadzone bez wiedzy i aprobaty Kongresu, wspieranie morderstw politycznych, dyktatorów i różnego rodzaju watażków za pomocą milionów dolarów, broni itp. Książkę czyta się jednym tchem i mogła by ona z powodzeniem zapewnić metariał do scenariuszy co najmniej kilku thrillerów polityczno-szpiegowskich. Co istotne, całość poparta jest obszernymi przypisami i odwołaniami do wywiadów lub steogramów przesłuchań zaangażowanych osób, więc ciężko mówić o jakimś naginaniu faktów.&lt;br /&gt;&lt;br /&gt;A oto opis jednej z ciekawszych akcji (w tym przypadku - zakończonej sukcesem USA):&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"W lipcu 1981 roku Mitterand odciągnął Regana na bok podczas szczytu ekonomicznego w Ottawie. Tłumacze, którzy byli zarazem wywiadowcami, przekazali informację: wywiad francuski prowadzi dezertera z KGB, pułkownika Władimira Wietrowa, a Mitterand uważa, że Stany Zjednoczone powinny przyjrzeć się jego działalności. Teczka Wietrowa (...) została przekazana wiceprezydentowi Bushowi (...). Dopiero po sześciu miesiącach do Rady Bezpieczeństwa Narodowego i CIA dotarło, ile jest warta. Do tego czasu Wietrow stracił rozum i zamordował kolegę oficera z KGB. Został aresztowany, przesłuchany i rozstrzelany.&amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Akta (...) zawierały cztery tysiące stron dokumentów opisujących dziesięcioletnią pracę pewnego zespołu należącego do pionu naukowo-technicznego KGB. Grupa ta nazywała się Linia X. Współpracowała ze wszystkimi ważniejszymi wywiadami Europy Wschodniej. Wykradała amerykańską wiedzę specjalistyczną - szczególnie z dziedziny oprogramowania, w czym Stany Zjednoczone wyprzedzały Związek Radziecki o dziesięć lat. KGB kradł technologie, gdzie tylko i kiedy mógł, od najnudniejszych międzynarodowych targów po dramatyczne połączenie na orbicie Apolla i Sojuza w 1975 roku (...). [Dokumenty] identyfikowały wielu oficerów radzieckiego wywiadu wykradających osiągnięcia amerykańskiej techniki w Stanach Zjednoczonych i Europie Zachodniej.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Ameryka odbiła piłeczkę (...).&amp;nbsp; Zaczęliśmy z marszu karmić Sowietów złymi technologiami: komputerowymi, wydobywania ropy. Karmiliśmy ich obficie, pozwalaliśmy kraść rzeczy, z których byli bardzo zadowoleni (...). Układy scalone do systemów uzbrojenia, plany promów kosmicznych, projekty zakładów chemicznych i supernowoczesnych&amp;nbsp; turbin zawierały bomby z opóźnionym zapłonem.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Sowieci budowali rurociąg mający przesyłać gaz z Syberii do Europy Wschodniej. Potrzebowali komputerów kontrolujących manometry i zawory. Szukali oprogramowania na wolnym rynku w Stanach Zjednoczonych, lecz Waszyngton odrzucił prośbę. Subtelnie jednak wskazał pewną kanadyjską kompanię, która mogła mieć to, czego potrzebowała Moskwa. Sowieci wysłali oficera Linii X, żeby ukradł oprogramowanie. CIA i Kanadyjczycy dogadali się i pozwolili mu je ukraść.&amp;nbsp; &lt;b&gt;Przez kilka miesięcy program działał sprawnie. Potem powoli zaczął zwiększać ciśnienie w rurociągu. Wybuch na syberyjskich pustkowiach kosztował Moskwę miliony&lt;/b&gt; (...)."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Jak dla mnie ta akcja to mistrzostwo świata; co ciekawe, wzmianka o niej znajduje się w &lt;a href="http://en.wikipedia.org/wiki/Siberian_pipeline_sabotage"&gt;wikipedii&lt;/a&gt;. Szczerze polecam całą książkę.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1330850475233453273?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1330850475233453273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1330850475233453273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1330850475233453273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1330850475233453273'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/10/dziedzictwo-popioow-historia-cia.html' title='Dziedzictwo popiołów. Historia CIA.'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3908383835791504607</id><published>2010-10-13T05:20:00.000-07:00</published><updated>2010-10-22T05:44:48.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='flattr'/><title type='text'>QComicBook: Flattr donations available!</title><content type='html'>From now on you can support &lt;b&gt;QComicBook&lt;/b&gt; development with donations via &lt;a href="https://flattr.com/"&gt;Flattr&lt;/a&gt;  social micro-payment system. I develop QComicBook in my spare time and  give it away free of charge. Moreover, hosting its web site costs me  some money. Keeping all that in mind, please consider a small donation -- follow the Flattr button on &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook project web site&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3908383835791504607?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3908383835791504607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3908383835791504607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3908383835791504607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3908383835791504607'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/10/qcomicbook-flattr-donations-available.html' title='QComicBook: Flattr donations available!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4919168440351328289</id><published>2010-10-09T14:29:00.000-07:00</published><updated>2010-10-09T14:30:10.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook web site updates: RSS, screenshots</title><content type='html'>There are two notable updates to QComicBook web site. First:&amp;nbsp;&lt;a href="http://qcomicbook.linux-projects.net/rss"&gt;RSS&lt;/a&gt;  feed is finally available, so from now on you can subscribe to  QComicBook news. Second: the &lt;a href="http://qcomicbook.linux-projects.net/screenshots"&gt;Screenshots&lt;/a&gt; section finally got some love  and flexibility, meaning I've finally implemented the missing 'gallery'  handling code. I've uploaded the screenshots I got from you, but still  need more of them! Don't hesitate, send me your screenshots and earn  good karma!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4919168440351328289?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4919168440351328289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4919168440351328289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4919168440351328289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4919168440351328289'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/10/qcomicbook-web-site-updates-rss.html' title='QComicBook web site updates: RSS, screenshots'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-6950917800250405961</id><published>2010-10-04T23:47:00.000-07:00</published><updated>2010-10-04T23:47:40.732-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><title type='text'>Why do I love Arch Linux</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_3JwtBWdXuLw/TKrIsmmHFII/AAAAAAAABrI/2wdPgoVUBqY/s1600/Screenshot-pawel@pc:%7E.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="248" src="http://4.bp.blogspot.com/_3JwtBWdXuLw/TKrIsmmHFII/AAAAAAAABrI/2wdPgoVUBqY/s400/Screenshot-pawel@pc:%7E.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;This is what I got by issuing 'pacman -Syu' (update of all packages to the latest version from the repos) this morning... For all the oblivious: this is mostly &lt;a href="http://library.gnome.org/misc/release-notes/2.32/"&gt;GNOME 2.32&lt;/a&gt; stuff released a few days ago :). Sweeet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-6950917800250405961?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/6950917800250405961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=6950917800250405961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6950917800250405961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6950917800250405961'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/10/why-do-i-love-arch-linux.html' title='Why do I love Arch Linux'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3JwtBWdXuLw/TKrIsmmHFII/AAAAAAAABrI/2wdPgoVUBqY/s72-c/Screenshot-pawel@pc:%7E.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-6552483244839218471</id><published>2010-10-02T12:51:00.000-07:00</published><updated>2010-10-02T12:52:33.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='job'/><category scheme='http://www.blogger.com/atom/ns#' term='ireland'/><category scheme='http://www.blogger.com/atom/ns#' term='dublin'/><title type='text'>Soft reboot. Relocating to Ireland</title><content type='html'>OK, it's official now... I've finally decided to move abroad and take the software engineer role in a big company in Dublin. Me and my family are going to relocate from Poland to Ireland end of this year / beginning of 2011 - the start date of my new job is January 4th. There are still three months left to go, but there is a lot of stuff to arrange and take care of.&amp;nbsp; I'm pretty excited&amp;nbsp; and scared at the same time about these changes, but also very optimistic about new life in Ireland. Any tips about life in Dublin are welcome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-6552483244839218471?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/6552483244839218471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=6552483244839218471' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6552483244839218471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6552483244839218471'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/10/soft-reboot-relocating-to-ireland.html' title='Soft reboot. Relocating to Ireland'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7603661246254789273</id><published>2010-09-26T11:27:00.000-07:00</published><updated>2010-09-26T11:27:00.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dexter'/><title type='text'>Tonight is the night</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_3JwtBWdXuLw/TJ-QMwSL3PI/AAAAAAAABrA/QYbHVi2ZGaM/s1600/dexter5_800x600.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="247" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/TJ-QMwSL3PI/AAAAAAAABrA/QYbHVi2ZGaM/s400/dexter5_800x600.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;The waiting is over! The premiere of 5th season of&amp;nbsp; &lt;a href="http://www.sho.com/site/dexter/"&gt;Dexter&lt;/a&gt; series is tonight. Yummie....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7603661246254789273?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7603661246254789273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7603661246254789273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7603661246254789273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7603661246254789273'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/09/tonight-is-night.html' title='Tonight is the night'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/TJ-QMwSL3PI/AAAAAAAABrA/QYbHVi2ZGaM/s72-c/dexter5_800x600.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-546181448463607844</id><published>2010-08-18T03:16:00.000-07:00</published><updated>2010-08-18T11:23:09.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook can detect comic frames now!</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_3JwtBWdXuLw/TGuOSV9IHsI/AAAAAAAABqY/pHChPimsSfU/s1600/menu.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_3JwtBWdXuLw/TGuOSV9IHsI/AAAAAAAABqY/pHChPimsSfU/s200/menu.png" width="110" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;'Frame view' option.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;The latest QComicBook code available in the git repository (&lt;a href="http://github.com/stolowski/QComicBook/tree/dev/framedetect"&gt;dev/framedect branch&lt;/a&gt;) brings support for &lt;b&gt;comic book frames detection&lt;/b&gt; - the new 'Frame View' mode allows for reading comic book &lt;b&gt;frame-by-frame&lt;/b&gt;! I'm pretty excited about this new feature because this is something I dreamed about and started investigating several months ago. Comic frames extraction requires very smart image processing algorithms and some CPU power; a few articles are available on this subject on the internet. The most interesting ideas come from Japanese (e.g. 'Layout Analysis of Tree-Structured Scene Frames in Comic Images' article by Takamasa Tanaka, Kenji Shoji, Fubito Toyama and Juichi Miyamichi; 'Automatic E-Comic Content Adaptation' by Kohei Arai and Herman Tolle) as comic frame extraction solutions have already been implemented by online comic-book providers in Japan.&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_3JwtBWdXuLw/TGuwpK7dpaI/AAAAAAAABqg/aHIFoAQjPuQ/s1600/mainwin.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="224" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/TGuwpK7dpaI/AAAAAAAABqg/aHIFoAQjPuQ/s320/mainwin.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;'Frame view' mode displaying single comic book frame.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;The solution implemented in QComicBook&lt;/b&gt; is based on the 'Automatic E-Comic Content Adaptation' article and it's core is a &lt;b&gt;contour-tracing &lt;/b&gt;algorithm described in 'A Linear-Time Component-Labeling Algorithm Using Contour Tracing Technique' article by Fu Chang, Chun-Jen Chen and Chi-Jen Lu from Taiwan. The main idea of this algorithm is to analyze a binarized image (black-white pixels only, with threshold applied) and find image frames (blobs) using contour-tracing. &lt;b&gt;The algorithm is very fast&lt;/b&gt; and accurate (over 90% success rate). The accuracy of frame extraction implemented in QComicBook depends on the complexity of comic book images; it works best for pages with solid background (e.g. white or black), rectangular comic frames and simple frame layouts.&amp;nbsp; When it comes to performance, current implementation allows for comfortable comic book reading with a 2GHz Core2 Duo CPU. As frames for next page are extracted in advance for next page in a separate thread, it should also work nicely on slower CPUs.&lt;br /&gt;Nothing is perfect, though. As already noted, the accuracy depends on the complexity of comic book page layout. Other than that, current implementation doesn't detect overlapping frames (e.g. a comic baloon spanning two frames), as described in the 'Automatic E-Comic...' article; overlapping frames are detected as a single frame. I'm going to implement this later.&lt;br /&gt;Having said that, current implementation of comic frames extraction in QComicBook is already in good shape and&amp;nbsp; I'm happy that QComicBook is the first open-source comic book viewer to bring such feature :). Thanks to the aforementioned guys whose articles provided invaluable help when implementing this feature!&lt;br /&gt;&lt;b&gt;Frame view detection&lt;/b&gt; will soon be added to the master branch of the QComicBook source code repository, and then will be made available in the upcoming version 0.7.0 (to be released in a few weeks).&lt;br /&gt;Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-546181448463607844?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/546181448463607844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=546181448463607844' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/546181448463607844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/546181448463607844'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/08/qcomicbook-can-detect-comic-frames-now.html' title='QComicBook can detect comic frames now!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3JwtBWdXuLw/TGuOSV9IHsI/AAAAAAAABqY/pHChPimsSfU/s72-c/menu.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8080168494357977781</id><published>2010-07-24T13:56:00.000-07:00</published><updated>2010-07-24T13:56:42.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook 0.6.0 released!</title><content type='html'>&lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook&lt;/a&gt; 0.6.0 has been released! It doesn't bring all the goodies I  planned for this release, but it finally got translations support with 7  languages for starters (Brazilian Portuguese, Finnish, French, Italian, Polish, Spanish and                             Ukrainian). See &lt;a href="http://qcomicbook.linux-projects.net/changelog"&gt;ChangeLog&lt;/a&gt; for the list of minor  enhancements and fixes in this version. Thanks to all the translators and contributors who made this release possible! Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8080168494357977781?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8080168494357977781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8080168494357977781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8080168494357977781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8080168494357977781'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/07/qcomicbook-060-released.html' title='QComicBook 0.6.0 released!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1854568344813480017</id><published>2010-07-13T08:07:00.000-07:00</published><updated>2010-07-13T08:07:45.670-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='web hosting'/><title type='text'>Don't forget to pay your bills...</title><content type='html'>...otherwise you may face an unwelcome surprise... I forgot to pay the web hosting bill on time, and they temporarily blocked my account. My &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook&lt;/a&gt; and &lt;a href="http://www.linux-projects.net/"&gt;home&lt;/a&gt; web sites were not available for a few days. Dammit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1854568344813480017?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1854568344813480017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1854568344813480017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1854568344813480017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1854568344813480017'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/07/dont-forget-to-pay-your-bills.html' title='Don&apos;t forget to pay your bills...'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8671997079580156296</id><published>2010-07-05T12:40:00.000-07:00</published><updated>2010-07-05T12:42:04.438-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby on rails'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>QComicBook website ported to Django</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_3JwtBWdXuLw/TDI0w_81fVI/AAAAAAAABqI/dApyMamcBE8/s1600/django-logo-positive.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="69" src="http://1.bp.blogspot.com/_3JwtBWdXuLw/TDI0w_81fVI/AAAAAAAABqI/dApyMamcBE8/s200/django-logo-positive.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;My new &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook website&lt;/a&gt; created on January was initially created with &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;, but I've recently decided to try out and convert it to &lt;a href="http://djangoproject.com/"&gt;Django&lt;/a&gt; framework. The main motivation behind this is that Django is Python-based (I still prefer Python over Ruby even though Ruby's syntax is cleaner and better than Python's) and offers a nice administration panel for your website. The fun of learning Django and being able to choose between the two frameworks was also tempting.&lt;br /&gt;&lt;br /&gt;Rewriting the website for Django and learning it at the same time took me several hours, but it was worth the effort and I'm very happy with it. The &lt;a href="http://docs.djangoproject.com/en/1.2/"&gt;documentation&lt;/a&gt; of Django is  simply great. Django's philosophy and the approach they take (e.g. when it comes to filters and tags) is very appealing and leads to better separation between model and view. The administration panel fits my needs perfectly and greatly simplifies QComicBook web site updates (this is something the RoR version of the website was lacking; I had a simple "prototype" of the administration page that was a real pain to use). Both frameworks are very good, have similar capabilities and are really friendly and easy to learn (in the basic aspects at least) if you know the associated programming language (Python or Ruby). For now however&amp;nbsp; I prefer Django!&lt;br /&gt;&lt;br /&gt;BTW, the only difference between the old and new QComicBook website that you can spot is the "Powered by Django" phrase at the bottom :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8671997079580156296?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8671997079580156296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8671997079580156296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8671997079580156296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8671997079580156296'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/07/qcomicbook-website-ported-to-django.html' title='QComicBook website ported to Django'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3JwtBWdXuLw/TDI0w_81fVI/AAAAAAAABqI/dApyMamcBE8/s72-c/django-logo-positive.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7069027129160344973</id><published>2010-06-15T10:50:00.000-07:00</published><updated>2010-06-15T10:50:57.220-07:00</updated><title type='text'>I'm going to Sonisphere Festival</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_3JwtBWdXuLw/TBe8vu8mv6I/AAAAAAAABpE/Fps4oIUGthk/s1600/bigfourpol550.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/TBe8vu8mv6I/AAAAAAAABpE/Fps4oIUGthk/s400/bigfourpol550.jpg" width="336" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Tomorrow is the big day. Warsaw, Poland, June 16th. I'll be there !!!&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7069027129160344973?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7069027129160344973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7069027129160344973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7069027129160344973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7069027129160344973'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/06/im-going-to-sonisphere-festival.html' title='I&apos;m going to Sonisphere Festival'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/TBe8vu8mv6I/AAAAAAAABpE/Fps4oIUGthk/s72-c/bigfourpol550.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-6353092442632901274</id><published>2010-05-11T14:32:00.000-07:00</published><updated>2010-05-22T15:50:56.756-07:00</updated><title type='text'>QComicBook gets i18n support. Call for translations!</title><content type='html'>The latest development version of &lt;a href="http://qcomicbook.linux-projects.net/"&gt;QComicBook&lt;/a&gt; available from the &lt;a href="http://github.com/stolowski/QComicBook"&gt;official git  repository&lt;/a&gt; has finally got internationalisation support! I'm looking  for &lt;b&gt;translators&lt;/b&gt;, so if you want to support QComicBook development and  translate it to a language of your choice, please contact me! The translations will debut in version 0.5.1 of QComicBook.&lt;br /&gt;As of now,  QComicBook has been translated to Brazilian Portuguese, Finnish,  Ukrainian and Polish. Thanks to all the contributors!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE:&lt;/b&gt;&amp;nbsp; Italian and French translations have been added.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-6353092442632901274?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/6353092442632901274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=6353092442632901274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6353092442632901274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/6353092442632901274'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/05/qcomicbook-gets-i18n-support-call-for.html' title='QComicBook gets i18n support. Call for translations!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-365514666814303261</id><published>2010-04-24T03:38:00.000-07:00</published><updated>2010-10-22T05:40:23.780-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='II wojna światowa'/><category scheme='http://www.blogger.com/atom/ns#' term='książki'/><title type='text'>II Wojna Światowa. Backlog książek rośnie.</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_3JwtBWdXuLw/S9LIgYZteuI/AAAAAAAABo4/nG9_kj0bvI0/s1600/00024.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/S9LIgYZteuI/AAAAAAAABo4/nG9_kj0bvI0/s200/00024.jpg" width="181" /&gt;&lt;/a&gt;&lt;/div&gt;W EMPIKu, w związku ze Światowym Dniem Książki, do dzisiaj włącznie trwa  promocja "3 książki w cenie 2". Trafiłem tam przypadkiem wczoraj i korzystając z okazji, bez  większego zastanowienia łyknąłem trzy książki Reynolds'a, poświęcone  działaniom dywizji SS na wybranych frontach II Wojny Światowej. Niestety  tym samym mój backlog książek do przeczytania wzrósł dwukrotnie ;). W  kolejce na półce czeka już kilka innych pozycji, a na horyzoncie zbliża się &lt;a href="http://www.znak.com.pl/kartoteka,ksiazka,2671,tytul,D-Day.%20Bitwa%20o%20Normandi%C4%99"&gt;'D-Day.  Bitwa o Normandię'&lt;/a&gt;&amp;nbsp; Beevor'a (premiera za ok. dwa tygodnie; od momenu zapowiedzi ta pozycja ma zarezerwowane 1 miejsce w mojej kolejce)...&lt;br /&gt;&lt;br /&gt;Ech... czy wspominałem już, że doba jest zbyt krótka?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-365514666814303261?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/365514666814303261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=365514666814303261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/365514666814303261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/365514666814303261'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/04/ii-wojna-swiatowa-backlog-ksiazek.html' title='II Wojna Światowa. Backlog książek rośnie.'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/S9LIgYZteuI/AAAAAAAABo4/nG9_kj0bvI0/s72-c/00024.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1224630849633327758</id><published>2010-04-14T13:08:00.000-07:00</published><updated>2010-04-14T13:08:15.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='apparmor'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Arch Linux &amp; AppAarmor</title><content type='html'>I've just recently started to work on bringing the boon of &lt;a href="http://www.novell.com/linux/security/apparmor/"&gt;AppArmor&lt;/a&gt; to &lt;a href="http://www.archlinux.org/"&gt;Arch Linux&lt;/a&gt; world. PKGBUILDs for AppArmor-patched kernel and userland tools will soon be published via &lt;a href="http://aur.archlinux.org/"&gt;AUR&lt;/a&gt;, just some things need to be polished and finished.&amp;nbsp; Preparing kernel package went smooth.&amp;nbsp; The major effort was to prepare PKGBUILD for &lt;a href="https://launchpad.net/apparmor"&gt;AppArmor&lt;/a&gt; tools: they should be punished for what they did to its Makefiles. Hardcoded paths to some crucial utiilities (like pod2man), hardcoded dependency/use of rpm, default target that generates not only the binary, but also pdf documentation (and for that you need latex)... Just nightmare... The PKGBUILDs are mostly ready, I just need to put some more effort and create an /etc/rc.d startup script for AppArmor's aa-eventd.&amp;nbsp; Stay tuned for AppArmor packages for Arch Linux!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1224630849633327758?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1224630849633327758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1224630849633327758' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1224630849633327758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1224630849633327758'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/04/arch-linux-appaarmor.html' title='Arch Linux &amp; AppAarmor'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3737804237817826452</id><published>2010-03-28T06:03:00.000-07:00</published><updated>2010-03-28T06:03:47.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Feature request: enable stack smashing protector for Arch Linux packages</title><content type='html'>I've just created a &lt;a href="http://bugs.archlinux.org/task/18864"&gt;feature request&lt;/a&gt; in Arch Linux Bugtracker to enable stack-smashing protector for Arch Linux packages. &lt;a href="http://www.research.ibm.com/trl/projects/security/ssp/"&gt;Stack smashing protector&lt;/a&gt; (SSP for short, aka ProPolice) is  a &lt;a href="http://gcc.gnu.org/"&gt;GCC&lt;/a&gt; extension for protecting applications  from &lt;a href="http://en.wikipedia.org/wiki/Buffer_overflow_protection"&gt;stack-smashing attacks&lt;/a&gt;. It is available in stock GCC via  -fstack-protector and -fstack-protector-all compile flags. &lt;br /&gt;&lt;br /&gt;If you care about &lt;a href="http://www.archlinux.org/"&gt;Arch Linux&lt;/a&gt; security, plase &lt;a href="http://bbs.archlinux.org/viewtopic.php?id=93990"&gt;speak up&lt;/a&gt; and &lt;a href="http://bugs.archlinux.org/task/18864"&gt;vote&lt;/a&gt; for this feature request!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3737804237817826452?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3737804237817826452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3737804237817826452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3737804237817826452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3737804237817826452'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/03/feature-request-enable-stack-smashing.html' title='Feature request: enable stack smashing protector for Arch Linux packages'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7684340068037804480</id><published>2010-03-27T07:42:00.000-07:00</published><updated>2010-03-27T07:42:26.726-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='fsarchiver'/><title type='text'>Backing filesystems up with FSArchiver</title><content type='html'>If you are going to backup your filesystem and looking for a simple yet powerful backup solution, then you may want to take a look at &lt;a href="http://www.fsarchiver.org/"&gt;FSArchiver&lt;/a&gt;. This is a tool I've discovered just recently and despite its youth (first version released on November 2008) it did the job just perfectly. If you want more details, read on...&lt;br /&gt;&lt;br /&gt;You probably already know tar or &lt;a href="http://www.partimage.org/"&gt;partimage&lt;/a&gt;: they are good, but have some limitations. Tar does the good job when comes to backups, but is not very convinient or easy to use for big filesystems (you need to be careful about passing it proper options to preserve file attributes, you need to take care of splitting resulting archives into smaller ones by yourself etc.). Partimage makes copies of entire partitions (and does it fast and well, copying only portions which are really used), taking a lot of burden from you, but you can only restore such images on partitions of same or larger size. Other than that, it still doesn't support ext4.&lt;br /&gt;&lt;br /&gt;FSArchiver combines best features of tar and partimage: it works at the file level and creates a backup copy of entire filesystem, that can be then restored to a partition of any size (as long as it has enough space to hold the data, of course). When restoring the backup, it recreates target filesystems by issuing mkfs with proper flags and label. It supports many popular filesystems, including ext3, ext4, xfs, reiserfs and ntfs). FSArchiver can take advantage of dual/quad core CPUs (just pass it -jX flag, where X stands for the number of compression threads to run) and it does its job really FAST.I was really amazed that it took me just around 3-4 hours to backup and then recreate two filestystems (around 70GB worth of data in total) and the size of backup archives was only 25GB! So, to me, FSArchiver is a real winner. Sure, partimage may be faster, but if you need to rearrange your partitions with different sizes (this is what I had to do - and yes, I know about &lt;a href="http://www.gnu.org/software/parted/index.shtml"&gt;parted&lt;/a&gt; and &lt;a href="http://gparted.sourceforge.net/"&gt;gparted&lt;/a&gt;, but didn't want to use them), then FSArchiver is the tool you need.&lt;br /&gt;&lt;br /&gt;Be warned though... FSArchiver developers claim it &lt;a href="http://www.fsarchiver.org/Status"&gt;shouldn't be used on production environments&lt;/a&gt; yet, however it is well tested and has proven the ability to correctly save and restore filesystems on various Linux distributions. You choose.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7684340068037804480?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7684340068037804480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7684340068037804480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7684340068037804480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7684340068037804480'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/03/backing-filesystems-up-with-fsarchiver.html' title='Backing filesystems up with FSArchiver'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3378025862642891391</id><published>2010-03-01T12:47:00.000-08:00</published><updated>2010-03-01T12:47:19.271-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ps3'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='leap year bug'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Playstation 3: February 29 bug</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_3JwtBWdXuLw/S4wg4X83G-I/AAAAAAAABoI/ZdSFfvog5yY/s1600-h/medium_612px-PlayStation_logo_svg.png" imageanchor="1" linkindex="43" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="195" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/S4wg4X83G-I/AAAAAAAABoI/ZdSFfvog5yY/s200/medium_612px-PlayStation_logo_svg.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Well... this is actually a bit funny... excluding all the people affected by this problem (well, this includes me ;)) and SONY... We all remember Y2K/Millenkum bug, some may be also aware of 2038 year problem in UNIX systems... But would you ever expect a&lt;b&gt; leap year bug&lt;/b&gt;? This is what &lt;a href="http://blog.eu.playstation.com/2010/03/01/psn-error-update/" linkindex="44"&gt;&lt;b&gt;hit PS3 systems&lt;/b&gt;&lt;/a&gt; today: the hardware clock of PS3 (which you cannot set/reset) assumes it's February 29th, but the OS rejects this date as incorrect. The consequences are disastrous:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;some files, e.g. saved games, may get corrupted.&lt;/li&gt;&lt;li&gt;trophy information may not be synchronized correctly and new trophies may get lost. &lt;/li&gt;&lt;li&gt;most (all?) games cannot be started at all; it doesn't matter whether these are online or single-player (offline) games.&lt;/li&gt;&lt;li&gt;PSN cannot be accessed.&lt;/li&gt;&lt;/ul&gt;Most old ("fat") PS3 systems are affected by this bug and for now the only solution is to not use PS3 today (until the internal clock advances to March 2nd).&lt;br /&gt;&lt;br /&gt;From software engineer's perspective I can only say: &lt;b&gt;WOW, that's a nasty BUG.&lt;/b&gt; It's amazing what consequences such subtle bug can cause, but on the other hand it's kind of terrifying if you think of other hardware that could suffer from that kind of programming errors, such as planes...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3378025862642891391?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3378025862642891391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3378025862642891391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3378025862642891391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3378025862642891391'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/03/playstation-3-february-29-bug.html' title='Playstation 3: February 29 bug'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/S4wg4X83G-I/AAAAAAAABoI/ZdSFfvog5yY/s72-c/medium_612px-PlayStation_logo_svg.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4775739826339378116</id><published>2010-01-07T13:47:00.000-08:00</published><updated>2010-01-10T08:45:57.111-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook turns 5!</title><content type='html'>&lt;b&gt;QComicBook was first released 5 years ago, on Jan 7th 2005&lt;/b&gt;. It took me just 2 or 3 weeks (around Christmas &amp;amp; New Year's Eve time in 2005) to complete the initial implementation, dubbed 0.1.0. The program soon became quite popular as it was probably the first comic book reader available for Linux. It had very good reception and I got a lot of positive feedback at that time. It was later packaged for many popular Linux distributions.&lt;br /&gt;&lt;br /&gt;The program was usable from the very first release, of course with a limited set of features. More features were gradually added with new releases. With version 0.3.4 the set of features was kind of "stabilized";&amp;nbsp; this was November 2006.&amp;nbsp; Version 0.3.4 marks a stagnation period for QComicBook development: the next version (0.4.0) bringing the important Qt4 port was released one year later, on November 2007. But then nothing was happening again for almost two years - till August 2009 &amp;amp; version 0.4.1.&amp;nbsp;&lt;b&gt; In 2009&amp;nbsp; QComicBook got my full attention&lt;/b&gt; again with four bugfix releases (0.4.1 - 0.4.4) and one "major"&lt;br /&gt;release (0.5.0) which brought some new features. I'm now working on new exciting features, one of them being a ....let's keep it secret for a while ;) as it's still in early stages; keep an eye on this blog as I'll soon reveal some details...&lt;br /&gt;&lt;br /&gt;Thanks to all of you who support QComicBook by using it, packaging it for your distro, sending me some good words, bug reports, fixes etc. QComicBook would not be here without your help! Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4775739826339378116?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4775739826339378116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4775739826339378116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4775739826339378116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4775739826339378116'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/01/qcomicbook-turns-5.html' title='QComicBook turns 5!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4051672283251772293</id><published>2010-01-05T14:34:00.000-08:00</published><updated>2010-01-05T14:34:49.748-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='web hosting'/><title type='text'>Moved to new web hosting</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_3JwtBWdXuLw/S0O-UBgs9TI/AAAAAAAABnw/xRzJx18QWdY/s1600-h/Screenshot-QComicBook+-+Web+Browser.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/S0O-UBgs9TI/AAAAAAAABnw/xRzJx18QWdY/s200/Screenshot-QComicBook+-+Web+Browser.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;After a few weeks of downtime my website is finally back online with new address and design. After some searching for free web hosting I've eventually decided to buy a domain and use a paid web hosting which provides all the necessary tools (e.g. Ruby on Rails) to play with.&lt;br /&gt;&lt;br /&gt;From now on my website URL is &lt;a href="http://www.linux-projects.net/"&gt;www.linux-projects.net&lt;/a&gt; and QComicBook website is &lt;a href="http://qcomicbook.linux-projects.net/"&gt;qcomicbook.linux-projects.net&lt;/a&gt;. Neat, isn't it? ;)&lt;br /&gt;&lt;br /&gt;Both websites are still under construction, may contain some broken links or may experience occasional downtime&lt;br /&gt;but are already usable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4051672283251772293?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4051672283251772293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4051672283251772293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4051672283251772293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4051672283251772293'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2010/01/moved-to-new-web-hosting.html' title='Moved to new web hosting'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/S0O-UBgs9TI/AAAAAAAABnw/xRzJx18QWdY/s72-c/Screenshot-QComicBook+-+Web+Browser.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5252897878245087632</id><published>2009-12-16T14:07:00.000-08:00</published><updated>2009-12-16T14:10:35.763-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook hosted on GitHub</title><content type='html'>QComicBook repository is now available on &lt;a href="http://github.com/stolowski/QComicBook"&gt;GitHub&lt;/a&gt;, meaning you can now access all historical releases and follow the development (master) branch if you wish to do so.&amp;nbsp; QComicBook source tarball can be found in the &lt;a href="http://github.com/stolowski/QComicBook/downloads"&gt;Downloads&lt;/a&gt; section of the repository.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Remark:&lt;/b&gt; commit messages are in Polish as I've never intended to publish my local repo... I apologize for inconvenience. I'm going to change this with next commits.&lt;br /&gt;&lt;br /&gt;My home web site is not available yet - I'm still looking for a web hosting (see my previous blog entry).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5252897878245087632?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5252897878245087632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5252897878245087632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5252897878245087632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5252897878245087632'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/12/qcomicbook-hosted-on-github.html' title='QComicBook hosted on GitHub'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4730751811443649481</id><published>2009-12-15T23:44:00.000-08:00</published><updated>2009-12-16T01:05:34.024-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>Urgent: My website is down. Looking for new web hosting.</title><content type='html'>My web hosting provider had suddenly stopped the service and wiped the server out yesterday, meaning my web site is temporarily unavailable. Unfortunately, this includes QComicbook, KleanSweep and my other projects as they have no mirrors.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Here is a plea&lt;/b&gt;: if you're a system administrator of a web hosting server and you ever wanted to support free software projects, then this is your chance. &lt;b&gt;I need a free web hosting&lt;/b&gt; to host my home site and open source projects as soon as possible. My expectations are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;it's free. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;this must be a stable and secure server, running 24/7.&lt;/li&gt;&lt;li&gt;you're a professional web hosting provider and have already been providing web hosting for other web sites. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;web pages can use Ruby on Rails or PHP (for now my web page is all static, but I'd like to change it).&lt;/li&gt;&lt;li&gt;disk quota can be increased if needed (I should be fine with around 50Mb for now, but may need more in the future).&lt;/li&gt;&lt;li&gt;you have some nice domains available (e.g. gnu.org is a nice domain, whereas microsoft.com is not) and you can provide me with nice hostnames like qcomicbook.&amp;lt;yourdomain&amp;gt; or stolowski.&amp;lt;yourdomain&amp;gt; (I'd like to split my website into personal web site and qcomicbook, kleansweep hosting sites, so a few hostnames would be required).&lt;/yourdomain&gt;&lt;/yourdomain&gt;&lt;/li&gt;&lt;li&gt;ssh and shell are not required, but would be a nice addition.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;I can't give you much in return except for satisfaction and my appreciation. And of course you'll be listed in THANKS file of QComicBook ;).&lt;br /&gt;So, if you can provide me with web hosting service and meet these requirements, then please email me immediately. Thank you.&lt;br /&gt;&lt;br /&gt;I'm also interested in suggestions about free and reliable web hosting services, so if you know and can recommend any, then please let me know.&lt;br /&gt;&lt;br /&gt;Regarding the availability of QComicBook source tarball... I'm looking for a temporary web site to host it until a new hosting is available and my web site is back. I'll keep you informed, check this blog for updates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4730751811443649481?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4730751811443649481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4730751811443649481' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4730751811443649481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4730751811443649481'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/12/urgent-my-website-is-down-looking-for.html' title='Urgent: My website is down. Looking for new web hosting.'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3115148511694708585</id><published>2009-11-29T12:53:00.000-08:00</published><updated>2009-11-29T13:02:57.321-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook 0.5.0 unleashed!</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_3JwtBWdXuLw/SxLbL4vPzKI/AAAAAAAABnU/vqfTB6OC21s/s1600/splas.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/SxLbL4vPzKI/AAAAAAAABnU/vqfTB6OC21s/s320/splas.jpg" /&gt;&lt;/a&gt;I'm happy to announce that the new version of QComicBook has finally been released and is available for download. The middle version number has been increased from "4" to "5", meaning this release brings substantial new features, not just bugfixes. Here is the ChangeLog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;implemented true continuous viewing mode. 'Continuous scrolling' option moved to 'View' menu.&lt;/li&gt;&lt;li&gt;cmake-based build system (replaces autoconf/automake).&lt;/li&gt;&lt;li&gt;all windows/dialogs implemented via QtDesigner's .ui files and handled by uic.&lt;/li&gt;&lt;li&gt;icons and splash screen are now handled by Qt resources system and compiled-in in the resulting&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qcomicbook executable. &lt;/li&gt;&lt;li&gt;new, improved 'System Information' dialog.&lt;/li&gt;&lt;li&gt;new splash screen.&lt;/li&gt;&lt;li&gt;removed 'Forward two pages in two pages mode' option. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;fixed splash screen showing.&lt;/li&gt;&lt;li&gt;lots of internal and architectural changes.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The most important new feature is of course &lt;b&gt;true continuous scrolling mode&lt;/b&gt;, which displays all pages on a single continuous "sheet of paper" that you can freely scroll up &amp;amp; down. I don't have to say that reading comic books this way is much more enjoyable, do I? Of course, the implementation is smart enough to preserve memory and load/release pages as needed, so no worries. This feature took me tens of hours and a lot of blood, sweat and tears to implement, so keep that in mind and consider a small donation (e.g. a beer worth) if you like QComicBook (PayPal link is available at &lt;a href="http://linux.bydg.org/%7Eyogin/"&gt;my home site&lt;/a&gt;) ;).&lt;br /&gt;&lt;br /&gt;To celebrate this new 0.5.0 release, QComicBook got a new &lt;b&gt;splash screen&lt;/b&gt; (see picture above) - thanks again to &lt;a href="http://admat.deviantart.com/"&gt;Adam Mateja&lt;/a&gt; for this wonderful piece of work!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_3JwtBWdXuLw/SxLbE7X0RPI/AAAAAAAABnM/iNLV00tJkLY/s1600/shot1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_3JwtBWdXuLw/SxLbE7X0RPI/AAAAAAAABnM/iNLV00tJkLY/s320/shot1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Now as 0.5.0 has been released and a few months of work has been concluded, I'm about to start planning for upcoming months.&amp;nbsp; As of now the following two features are on the top of my TODO list:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;zoom lens and/or other ways of zooming.&lt;/li&gt;&lt;li&gt;on-the-fly image enhancements (brightness, contrast, color adjustements etc.) &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Of course, before these (and/or possibly other) features are implemented, expect 0.5.1 bugfix release.&lt;br /&gt;&lt;br /&gt;As usual, QComicBook can be downloaded from &lt;a href="http://linux.bydg.org/%7Eyogin/"&gt;http://linux.bydg.org/~yogin/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3115148511694708585?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3115148511694708585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3115148511694708585' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3115148511694708585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3115148511694708585'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/11/qcomicbook-050-unleashed.html' title='QComicBook 0.5.0 unleashed!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/SxLbL4vPzKI/AAAAAAAABnU/vqfTB6OC21s/s72-c/splas.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8952956106666281927</id><published>2009-11-16T13:12:00.000-08:00</published><updated>2009-11-16T13:13:11.050-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>When half of your memory is gone</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3JwtBWdXuLw/SwHAKa8DbWI/AAAAAAAABmk/b4jkFjClVgU/s1600/himem.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_3JwtBWdXuLw/SwHAKa8DbWI/AAAAAAAABmk/b4jkFjClVgU/s200/himem.png" /&gt;&lt;/a&gt;When you're compiling a custom kernel, don't forget to turn 'HIGHMEM' option ON, otherwise you may be wondering why only a part of your memory if available for use :}.... And don't let this option fool you, 4GB actually means systems with 1-4GBs... Fortunately, kernel messages are very accurate and pinpoint the problem:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Warning only 895MB will be used.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Use a HIGHMEM enabled kernel.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8952956106666281927?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8952956106666281927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8952956106666281927' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8952956106666281927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8952956106666281927'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/11/when-half-of-your-memory-is-gone.html' title='When half of your memory is gone'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3JwtBWdXuLw/SwHAKa8DbWI/AAAAAAAABmk/b4jkFjClVgU/s72-c/himem.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5024774273809055846</id><published>2009-11-01T12:06:00.000-08:00</published><updated>2009-11-01T12:08:24.561-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ps3'/><category scheme='http://www.blogger.com/atom/ns#' term='killzone 2'/><title type='text'>I'm killzoned</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_3JwtBWdXuLw/Su3pg9gmyqI/AAAAAAAABmY/BQaA1yHiSb8/s1600-h/HG+logo+symbol.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="77" src="http://1.bp.blogspot.com/_3JwtBWdXuLw/Su3pg9gmyqI/AAAAAAAABmY/BQaA1yHiSb8/s200/HG+logo+symbol.png" width="74" /&gt;&lt;/a&gt; I've just recently collected almost all of the singleplayer campaign &lt;a href="http://www.ps3trophies.org/game/killzone-2/trophies/"&gt;trophies&lt;/a&gt; in &lt;a href="http://www.killzone.com/"&gt;Killzone 2&lt;/a&gt;, except for Heroic Survivor, Iconoclast and Field Agent. I'm now going to beat the game for the 3rd time, this time with "Elite" difficulty level to earn the remaining trophies. This will be tough time... Killzone 2 is the first game I've ever played which gets even more fun and enjoyable the next time you beat it. IMHO it is also the best first-person-shooter ever. Period.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5024774273809055846?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5024774273809055846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5024774273809055846' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5024774273809055846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5024774273809055846'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/11/im-killzoned.html' title='I&apos;m killzoned'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3JwtBWdXuLw/Su3pg9gmyqI/AAAAAAAABmY/BQaA1yHiSb8/s72-c/HG+logo+symbol.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8624547403725596503</id><published>2009-10-17T05:52:00.000-07:00</published><updated>2009-10-17T05:53:07.487-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='moorie'/><category scheme='http://www.blogger.com/atom/ns#' term='vyqchat'/><title type='text'>Web page updates: dead projects, new QComicBook packages</title><content type='html'>Time has come to conclude the state of some of my projects and update my &lt;a href="http://linux.bydg.org/%7Eyogin"&gt;website&lt;/a&gt;... Thereby I declare the following projects as no longer developed or maintained:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Moorie -- taken by volunteers some time ago, so chances are it still has future.&lt;/li&gt;&lt;li&gt;VyQChat -- forked as &lt;a href="http://trix.sourceforge.net/"&gt;TriX&lt;/a&gt; project a long time ago. Not sure whether it's still actively developed (last update: June 2008).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;This shouldn't be surprising for those who where following these projects. I haven't updated them for a long time and already declared their death when asked via emails.&lt;br /&gt;&lt;br /&gt;My website was also updated with links to new QComicBook packages provided&amp;nbsp; by volunteers; binary package is now also available for Slackware Linux and PKGBUILD is availabe in AUR repository for Arch Linux. Thanks for those involved in preparing binary packages for QComicBook!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8624547403725596503?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8624547403725596503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8624547403725596503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8624547403725596503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8624547403725596503'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/10/web-page-updates-dead-projects-new.html' title='Web page updates: dead projects, new QComicBook packages'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-9199233196229982497</id><published>2009-10-06T02:57:00.000-07:00</published><updated>2009-10-06T03:03:11.528-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='ania'/><title type='text'>Fun with Cheese :)</title><content type='html'>Fun with &lt;a href="http://projects.gnome.org/cheese/"&gt;GNOME Cheese&lt;/a&gt; (using Noir filter in Cheese; put together with &lt;a href="http://gimp.org/"&gt;Gimp&lt;/a&gt;)&amp;nbsp; - my daughter and me.&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/Q4NiOANFWfDKUBbsPFXk2Q?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_3JwtBWdXuLw/SssTbTqBcxI/AAAAAAAABl4/_TnS7NVjqhw/s400/cheese2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-9199233196229982497?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/9199233196229982497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=9199233196229982497' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/9199233196229982497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/9199233196229982497'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/10/fun-with-cheese.html' title='Fun with Cheese :)'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_3JwtBWdXuLw/SssTbTqBcxI/AAAAAAAABl4/_TnS7NVjqhw/s72-c/cheese2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-542853909618313387</id><published>2009-10-05T06:54:00.000-07:00</published><updated>2009-10-06T02:23:32.945-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>iwl4965 driver bug &amp; a workaround</title><content type='html'>I've been experiencing random wifi disconnections for a couple of months from now, but assumed these were problems with my AP or with Network Manager. Until now. I've just recently spotted messages indicating firmware/driver problems in dmesg output (I'm running kernel 2.6.30):&lt;br /&gt;&lt;br /&gt;Oct&amp;nbsp; 1 16:25:11 pc kernel: wlan0: associated&lt;br /&gt;Oct&amp;nbsp; 1 16:27:21 pc kernel: iwlagn 0000:03:00.0: Microcode SW error detected.&amp;nbsp; Restarting 0x82000000.&lt;br /&gt;Oct&amp;nbsp; 1 16:27:21 pc kernel: Registered led device: iwl-phy0::radio&lt;br /&gt;Oct&amp;nbsp; 1 16:27:21 pc kernel: Registered led device: iwl-phy0::assoc&lt;br /&gt;Oct&amp;nbsp; 1 16:27:21 pc kernel: Registered led device: iwl-phy0::RX&lt;br /&gt;Oct&amp;nbsp; 1 16:27:21 pc kernel: Registered led device: iwl-phy0::TX&lt;br /&gt;Oct&amp;nbsp; 1 16:28:54 pc kernel: wlan0: disassociating by local choice (reason=3)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Google reveals several bug reports for this error for many popular Linux distributions: &lt;a href="https://bugs.launchpad.net/linux/+bug/200509"&gt;Ubuntu&lt;/a&gt;, &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=519154"&gt;Fedora&lt;/a&gt;, &lt;a href="http://bugs.gentoo.org/show_bug.cgi?id=261248"&gt;Gentoo&lt;/a&gt;, &lt;a href="http://bugs.archlinux.org/task/13648?string=iwlwifi-4965-ucode"&gt;Arch&lt;/a&gt;...; it was also reported on Intel's &lt;a href="http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2052"&gt;bugzilla&lt;/a&gt;. The bug has been known for months but it looks like it's not apparent what's its root cause. The problem occurs under high traffic volume or after long inactivity. The connection doesn't  work anymore, but it is not reported as such by NetworkManager or iwconfig. To get it working again,you have to reconnect with NetworkManager or reload iwlagn module.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;It seems there are two workarounds, I've tested both of them and both worked for me:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;set "swcrypto=1" option for iwlagn module using modprobe.conf&lt;/li&gt;&lt;li&gt;use &lt;a href="http://ndiswrapper.sourceforge.net/"&gt;ndiswrapper&lt;/a&gt; driver, that is, the wrapper for MS Windows driver.&lt;/li&gt;&lt;/ul&gt;Of course 1st option is recommended if it works for you. Ndiswrapper works well, except for its ntos process may take as much as 80% CPU under high load (e.g. 200K/s transfer) and around 9% with no traffic (running on 2GHz Core2Duo)... It's not noticable on Core2Duo though.&lt;br /&gt;&lt;br /&gt;Judging from the changelong for RC of kernel-2.6.32, there is a buch of fixes related to Intel wireless drivers (and iwl4965 in particular), let's hope the problem will be gone when 2.6.32 is finally released.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-542853909618313387?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/542853909618313387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=542853909618313387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/542853909618313387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/542853909618313387'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/10/iwl4965-driver-bug-workaroundund.html' title='iwl4965 driver bug &amp; a workaround'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5881187826892866380</id><published>2009-10-02T09:57:00.000-07:00</published><updated>2009-10-02T09:59:59.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ps3'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='sony'/><category scheme='http://www.blogger.com/atom/ns#' term='psp'/><title type='text'>PSP Go is a no-go</title><content type='html'>The new incarnation of PSP - called PSP Go - has hit the shelves. Reviews are showing up and are generally not favourable for the new SONY's baby. It's not hard to see why and it's hard not to agree with most complaints. I'd recommended the review published by &lt;a href="http://arstechnica.com/gaming/reviews/2009/10/psp-go-review-sony-is-charging-you-much-more-for-much-less.ars"&gt;Arstechnica&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3JwtBWdXuLw/SsYpl_9ivTI/AAAAAAAABlU/8jf8trWcC8Q/s1600-h/psp-go-1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/SsYpl_9ivTI/AAAAAAAABlU/8jf8trWcC8Q/s200/psp-go-1.jpg" /&gt;&lt;/a&gt;To me, PSP Go is a big disappointement. I was initially very excited when it was first announced and planned to buy one by end of this year but given all the drawbacks and pricing, I'm no longer considering buying it; I'd rather consider a PSP 3004 + a big memory card...&lt;br /&gt;&lt;br /&gt;One more thing... As a happy PS3 owner I'm getting frightened and unhappy about all the downloadable content (DLC) fuss. It's becoming obvious, that downloadable games are by no means cheaper than traditional games (in fact, they are often more expensive), you can't buy used games and they often sell you unfinished and crippled games to make you buy additional content for them. Let's hope that tradional boxed games will never disappear and digitial distribution will be limited to mini-games only.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5881187826892866380?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5881187826892866380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5881187826892866380' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5881187826892866380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5881187826892866380'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/10/psp-go-is-no-go.html' title='PSP Go is a no-go'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/SsYpl_9ivTI/AAAAAAAABlU/8jf8trWcC8Q/s72-c/psp-go-1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1190042151240203432</id><published>2009-10-01T01:49:00.000-07:00</published><updated>2009-11-02T01:32:40.274-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tomoyo linux'/><category scheme='http://www.blogger.com/atom/ns#' term='apparmor'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Arch Linux with TOMOYO Linux MAC</title><content type='html'>I had mentioned in my mini review of Arch Linux about no official support for Mandatory Access Control solution such as SELinux or AppArmor and also outlined the importance of MAC when writing&lt;br /&gt;about AppArmor a few months ago.&amp;nbsp; I'm very happy with my Arch Linux installation, but one thing that bothered me was no ability to protect crucial applications and system against unknown vulnerabilites. So I decided to put some effort and install a MAC implementation on my system. This blog entry is about how it went.&lt;br /&gt;&lt;br /&gt;The problem with software bugs is you cannot avoid them. Developers make bugs and even if you keep your system updated, you are still endangered by zero-day bugs and hidden, undisclosed bugs.&amp;nbsp; If you think you're on the sunny side because your're not a server administrator, just a workstation user, then you're mistaken. You may get hacked by just visiting a malicious web site that exploits a yet-unknown vulnerability in your web browser or by opening a crafted PDF file that exploits a bug in your PDF viewer software.&lt;br /&gt;&lt;br /&gt;With Mandatory Access Control you can "enclose" selected applications in secured domains with precisely defined resources and privileges for that application. If bug in secured application is exploited, an attacker cannot perform any operations not defined in that application's policy rules.&lt;br /&gt;&lt;br /&gt;OK, now onto choosing the right MAC implementation. This depends on your needs, determination, time, knowledge and willingness to learn. When looking for a solution for Arch Linux I initially considered two implementations: AppArmor and SELinux.&lt;br /&gt;• &lt;a href="http://www.novell.com/linux/security/apparmor/"&gt;AppArmor&lt;/a&gt; is something I'd preferr over SELinux for my needs, but the status of AppArmor development is not clear to me. The latest kernel patch available on the official web site is for kernel 2.6.26, so it's a bit outdated.&amp;nbsp; On the other hand AppArmor will be shipped with new Ubuntu 9.10 (kernel 2.6.31), so obviously there are people who maintain it, but I could not find any new patches.... Strange.&lt;br /&gt;• &lt;a href="http://www.nsa.gov/research/selinux/index.shtml"&gt;SELinux&lt;/a&gt; would be an overkill for a workstation. I'm just not willing to tackle with file labelling and complex policies just to protect a few applications. Besides that, it's seems to be hard to protect Mozilla Firefox with SELinux labelling. The nice thing about installing SELinux is it can be easily installed using Community packages.&lt;br /&gt;&lt;br /&gt;I kept looking and found two other solutions that recently emerged in Linux world:&lt;br /&gt;• &lt;a href="http://lwn.net/Articles/252562/"&gt;SMACK&lt;/a&gt; - Simplified Mandatory Access Control - available in stock kernels starting from kernel 2.6.24.&lt;br /&gt;• &lt;a href="http://tomoyo.sourceforge.jp/"&gt;TOMOYO Linux&lt;/a&gt; - available with limited functionality in stock kernels starting from kernel 2.6.30 (but not enabled in Arch Linux kernel). Also available as a separate kernel patch with full functionality.&lt;br /&gt;&lt;br /&gt;SMACK is a "SELinux for dummies"; it uses lables and extended attributes, but is much more easy to use than SELinux. Tomoyo is similiar in concept to AppArmor - it uses path names as security labels. It can be easily installed on Arch using PKGBUILD from &lt;a href="http://aur.archlinux.org/packages.php?O=0&amp;amp;K=tomoyo&amp;amp;do_Search=Go"&gt;AUR&lt;/a&gt;. Keeping all the above in mind (complexity of administration, availability) I decided to give Tomoyo a try.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_3JwtBWdXuLw/SsRsZ5xDM5I/AAAAAAAABlI/_hZ9K6bB8dM/s1600-h/tomoyo.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_3JwtBWdXuLw/SsRsZ5xDM5I/AAAAAAAABlI/_hZ9K6bB8dM/s320/tomoyo.png" /&gt;&lt;/a&gt;Installation is easy. Just build and install kernel26 and ccs-tools from AUR (note: this is TOMOYO 1.6.8 with full MAC functionality) , update grub config file, reboot the system, initialize policy files and it's ready to use (basic setup is well described in TOMOYO's &lt;a href="http://tomoyo.sourceforge.jp/1.6/index.html.en"&gt;HOWTO&lt;/a&gt;). The majority of work is with creating application policies. Fortunately, TOMOYO has a really powerful learning mode. Here is how to use it:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Start application just once so that TOMOYO knows about it, then quit it.&lt;/li&gt;&lt;li&gt;Run ccs-editpolicy and find that application on the domains list (see screenshot) and highlight it.&lt;/li&gt;&lt;li&gt;Press 'S' and then '1' to enable learning mode for it.&lt;/li&gt;&lt;li&gt;Excercise your application a bit - perform as many actions as possible. Policy rules for this application will be generated automatically and kept in kernel memory.&lt;/li&gt;&lt;li&gt;When you're done, press 'S' again and then '3' to enable enforcing mode for your application. Alternatively, you can use '2' for permissive mode (all actions are permitted but potential denials will be written to log file - useful for testing purposes).&lt;/li&gt;&lt;li&gt;Save the policy with '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ccs-savepolicy&lt;/span&gt;'. This stores current policy from kernel memory to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ccs/* &lt;/span&gt;files.&lt;/li&gt;&lt;li&gt;Adjust the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ccs/domain_policy.conf &lt;/span&gt;and &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ccs/exception_policy.conf &lt;/span&gt;with a text editor. You'll most likely need to change any specific file paths occuring in the policy (like &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/home/john/.mozilla/firefox/6y78dadq.default/Cache/yiaud&lt;/span&gt;) with file patterns (e.g. &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/home/\*/.mozilla/firefox/\*/Cache/\*&lt;/span&gt;).&lt;/li&gt;&lt;li&gt;Reload the policy with '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ccs-loadpolicy de&lt;/span&gt;'; this loads current policy from files to kernel memory.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;You can repeat above steps as many times as needed.&lt;br /&gt;&lt;br /&gt;There is hovewer one catch to be aware of.&amp;nbsp; Policy rules are defined per execution domain. In TOMOYO domains are defined by process invocation history (PIH), that is, a concatenated list of executables that lead to the execution of specific application. This means that "/sbin/init /usr/bin/gdm /usr/sbin/gdm-binary /etc/gdm/Xsession /usr/bin/ssh-agent /usr/bin/gnome-session /usr/bin/gnome-panel /usr/bin/transmission /usr/lib/firefox-3.5/firefox" domain is different from " /sbin/init /usr/bin/gdm /usr/sbin/gdm-binary /etc/gdm/Xsession /usr/bin/ssh-agent /usr/bin/gnome-session /usr/bin/gnome-panel /usr/lib/firefox-3.5/firefox", even though in both cases Mozilla Firefox was executed. In the first case Firefox was started by Transmission, in the second case it was started by Firefox shortcut on the panel. The number of domains Firefox could be started in is potentially infinite, because you can start it via ALT+F2 in GNOME, xterm, gnome-terminal etc. You may think you'll end up with duplicating policy rules for all possible domains Firefox can be started in (not a good idea...), but fortunately Tomoyo has solution for this:&amp;nbsp; you've to add '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;initialize_domain /usr/lib/firefox-3.5/firefox'&lt;/span&gt; definition to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ccs/exception_policy.conf&lt;/span&gt; and define policy rules for "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;kernel&gt; /usr/lib/firefox-3.5/firefox&lt;/kernel&gt;&lt;/span&gt;" domain.&amp;nbsp; It's so simple.&amp;nbsp; From now on, whichever way you choose to start Firefox, Tomoyo will use just one domain definition and same rule set. Don't underestimate PIH though, as PIH is a a powerful tool to define various polices for same application, depending on its invocation history (well... that was obvious, hmm...). You can, for example, define different rules for&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; /bin/cat &lt;/span&gt;executable, depending on whether it was used in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/bin/foo.sh&lt;/span&gt; script or &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/bin/bar.sh&lt;/span&gt; script.&lt;br /&gt;&lt;br /&gt;Ok, this is enough. It's time to summarize best features of TOMOYO Linux:&lt;br /&gt;• Easy to set up. No existing userland tools need to be modified.&lt;br /&gt;• Easy policy language.&lt;br /&gt;• Great learning mode.&lt;br /&gt;• Ability to modify policies on-the-fly.&lt;br /&gt;• No impact on performance (according to Tomoyo Linux authors, performace hit is within measurements error).&lt;br /&gt;&lt;br /&gt;If you need a MAC solution which is easy to setup and use and you understand the differences between path-based (TOMOYO, AppArmor) and label-based (SELinux, SMACK) solutions, then you should definately give Tomoyo Linux a try. I think it's superiror to AppArmor and now as it made it's way into Linux Kernel, it seems it has a bright future. Congratulations, TOMOYO team!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE:&lt;/b&gt; I've been contacted by Tetsuo Handa (one of the Tomoyo developers) with a rectification about performance: there is some impact on performance, and performance impact of TOMOYO is larger than SELinux (as it entails string comparison with pattern patching), but users&lt;br /&gt;&amp;nbsp;won't notice unless CPU is too slow. Some people tried to measure the performance hit, but they got bizzare results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1190042151240203432?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1190042151240203432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1190042151240203432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1190042151240203432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1190042151240203432'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/10/arch-linux-with-tomoyo-linux-mac.html' title='Arch Linux with TOMOYO Linux MAC'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3JwtBWdXuLw/SsRsZ5xDM5I/AAAAAAAABlI/_hZ9K6bB8dM/s72-c/tomoyo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3951188944160619080</id><published>2009-09-19T06:28:00.000-07:00</published><updated>2009-09-23T13:42:06.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Arch Linux</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_3JwtBWdXuLw/SrqH5e0JQnI/AAAAAAAABk8/shoA5SZu1s8/s1600-h/archlinux-grad2-dark.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/SrqH5e0JQnI/AAAAAAAABk8/shoA5SZu1s8/s320/archlinux-grad2-dark.png" /&gt;&lt;/a&gt;I admit that, I'm a distro junkie and Linux addict and just can't resist trying different distros...  I've been using Linux on regular basis for over 12 years and tried several distros, but haven't found the perfect one so far. This time I was tempted to try out &lt;a href="http://archlinux.org/"&gt;Arch Linux&lt;/a&gt;  - a versatile distro designed with accordance to &lt;a href="http://en.wikipedia.org/wiki/KISS_principle"&gt;KISS&lt;/a&gt; principle and targeted at advanced users. After around one week of playing with it I can say it's close to meet all my requirements for a perfect distro. Ok, it's not 100% perfect, but really close. Main advantages of Arch Linux in my humble opinion are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It's blazing fast. I mean it. It boots really quickly and GNOME + Firefox feels much snappier then in other distros.&lt;/li&gt;&lt;li&gt;It's customizable. Ok, you can say it about most distros, but with Arch you're not forced to choose any path. You start with a bare minimum (just core system packages) and install whatever you want on top of it. Do you want &lt;a href="http://www.pulseaudio.org/"&gt;pulseaudio&lt;/a&gt;? Here you are. Do you hate pulseaudio? That's fine too.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It's brain dead simple to customize &amp;amp; recompile packages with custom options and features, thanks to tools such as pbget, customizepkg and makepkg. It's equally easy to create your own packages from scratch, as all you need is a simple &lt;a href="http://wiki.archlinux.org/index.php/ABS_PKGBUILD_Explained"&gt;PKGBUILD&lt;/a&gt; file.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It's a rolling-release system, meaning most packages are up-to-date all the time and you may be on the bleeding edge to your liking.&lt;/li&gt;&lt;li&gt;It'sa binary distro after all, optimized for i686 (x86_64 is also available). No need to waste time &amp;amp; CPU time to compile all the stuff.&lt;/li&gt;&lt;li&gt;Basic aspects of system configuration (deamons, modules, network etc.) are easily configurable via a single &lt;span style="font-family: courier new;"&gt;/etc/rc.conf&lt;/span&gt; file. Daemons may be started in background (i.e. in parallel) making the system boot faster.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.archlinux.org/index.php/Pacman"&gt;Pacman&lt;/a&gt; (Arch Linux package manager) is damn fast.&lt;/li&gt;&lt;li&gt;It has a good and helpful &lt;a href="http://wiki.archlinux.org/"&gt;Wiki&lt;/a&gt; pages as well as supportive &lt;a href="http://bbs.archlinux.org/"&gt;community&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Ok, I mentioned Arch was not perfect, so now onto downsides:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Setting it up takes time. It took me around 5 hours to install and tune the system to my needs. This included installation of Xorg, GNOME, multimedia stuff as well as some tools and libraries I use for developing my projects (Qt Designer, boost, cmake, git, emacs etc.). The main issue I had was with GDM - it turned out I had to use a specific GDM option (GdmXserverTimeout=60) to get it working correctly. On the orher hand, you do it once and forget about it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Things may occasionally break if you upgrade your system blindly without paying attention to what's going to be updated.&lt;/li&gt;&lt;li&gt;The official repositiories lack some less known or less popular packages.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://aur.archlinux.org/"&gt;AUR&lt;/a&gt; repository (the repository of user-provided PKGBUILD scripts for additional packages that are not included in offical repos) is not something you can count on. It contains user content of varying quality.  Some PKGBUILDs may be outdated or broken. On the other hand however I had to use AUR for 5 packages only: Opera web browser, grandr-applet, pbget, ttf-droid fonts and xephem.&lt;/li&gt;&lt;li&gt;There is no official support for security enhancements like &lt;a href="http://www.novell.com/linux/security/apparmor/"&gt;AppArmor&lt;/a&gt; or &lt;a href="http://www.tresys.com/education.php"&gt;SELinux&lt;/a&gt;. SELinux is available in the community repository only. I consider a &lt;a href="http://en.wikipedia.org/wiki/Mandatory_access_control"&gt;MAC &lt;/a&gt;enhancements a must in today's systems; at least selected applications should be executed in confined environments.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;I'd definately recommended Arch to everyone with some prior Linux experience. It should be particularly valued by advanced users, developers and open-source enthusiasts who like to use the newest and hottest software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3951188944160619080?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3951188944160619080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3951188944160619080' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3951188944160619080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3951188944160619080'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/09/arch-linux.html' title='Arch Linux'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/SrqH5e0JQnI/AAAAAAAABk8/shoA5SZu1s8/s72-c/archlinux-grad2-dark.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8045492766080131884</id><published>2009-09-02T13:02:00.000-07:00</published><updated>2009-09-02T13:26:33.634-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook: 0.4.2 &amp; 0.5.0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3JwtBWdXuLw/Sp7Ux-V6RnI/AAAAAAAABkk/Svexvhf4YJo/s1600-h/qcb-pre.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 221px;" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/Sp7Ux-V6RnI/AAAAAAAABkk/Svexvhf4YJo/s320/qcb-pre.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5376968960140527218" /&gt;&lt;/a&gt;QComicBook 0.4.2 has just been released; this is mainly a bugfix release which fixes compilation problems. As already mentioned before, I've also been working on some changes that will debut in the near future with  QComicBook 0.5.0. Some changes have already been revealed, but here are more news to give you the taste of what's coming:&lt;ul&gt;&lt;li&gt;true continuous mode (see screenshot)&lt;/li&gt;&lt;li&gt;improved multi-threading affecting background image loading&lt;/li&gt;&lt;li&gt;cmake-based compilation&lt;/li&gt;&lt;li&gt;ui-based windows and dialogs.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I'm particularly happy to give you the long-awaited, true continuous reading mode. Imagine reading comic books with no jumping to next page, but having all pages displayed on a continuous sheet of paper, which can be freely scrolled upwards/downwards! This is already implemented, but I've to hammer out some bugs and implement some missing bits to support all the functionality QComicBook had before introducing this feature. &lt;/p&gt;&lt;p&gt;The new 0.5.0 release should be ready within a few weeks. Stay tuned!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8045492766080131884?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8045492766080131884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8045492766080131884' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8045492766080131884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8045492766080131884'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/09/qcomicbook-042-050.html' title='QComicBook: 0.4.2 &amp; 0.5.0'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/Sp7Ux-V6RnI/AAAAAAAABkk/Svexvhf4YJo/s72-c/qcb-pre.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3112168558316680953</id><published>2009-08-17T12:10:00.000-07:00</published><updated>2010-10-22T05:42:06.114-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='world war II'/><category scheme='http://www.blogger.com/atom/ns#' term='II wojna światowa'/><category scheme='http://www.blogger.com/atom/ns#' term='książki'/><title type='text'>D.Jordan, A. Wiest - Atlas II Wojny Światowej</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3JwtBWdXuLw/SomrOs8qonI/AAAAAAAABkQ/_kxRNuaNkTQ/s1600-h/atlas_II_ws_500.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5371012299688157810" src="http://4.bp.blogspot.com/_3JwtBWdXuLw/SomrOs8qonI/AAAAAAAABkQ/_kxRNuaNkTQ/s400/atlas_II_ws_500.jpg" style="cursor: pointer; float: left; height: 150px; margin: 0pt 10px 10px 0pt; width: 115px;" /&gt;&lt;/a&gt;Po wielu latach niezrozumiałej posuchy w temacie, doczekaliśmy się w końcu wydania na rodzimym rynku atlasu historycznego w całości poświęconego II wojnie światowej. Dotychczas takiej pozycji w języku polskim po prostu nie było, co jest dość dziwne zważywszy na fakt, że podobnych publikacji ukazało na Zachodzie co najmniej kilka; sam posiłkowałem się dotąd anglojęzycznym atlasem "Atlas of World War II" R. Natkiel'a (który nota bene - podobnie jak kilka innych atlasów - można sprowadzić za bardzo rozsądne pieniądze za pośrednictwem internetowego sklepu &lt;a href="http://www.empik.com/"&gt;Empik&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Atlas autorstwa Davida Jordan'a i Andrew Wiest'a wydało w naszym kraju mało chyba znane &lt;a href="http://www.wydawnictwo-dragon.pl/"&gt;Wydawnictwo Dragon&lt;/a&gt; (ja, przyznam się, usłyszałem o nim po raz pierwszy) - i chwała im za to! Atlas już na pierwszy rzut oka sprawia bardzo dobre wrażenie, a pobieżne nawet jego przejrzenie wywoła zapewne szeroki uśmiech u każdego miłośnika historii II wojny światowej. Książka ma format nieco większy niż A4, twardą obwolutę, liczy 256 stron i wydrukowana została na porządnym, kredowym papierze. Jeśli chodzi o zawartość, to atlas zawiera 160 kolorowych map i obejmuje okres od wybuchu wojny (gwoli ścisłości: kilka stron poświęcono też na omówienie uwarunkowań, które do wojny doprowadziły), zapoczątkowanego napaścią na Polskę, do upadku Japonii. Całość podzielona jest na kilka części, wedle teatrów działań wojennych. Mapy ilustrują przebieg poszczególnych kampanii, rozmieszczenie i ruchy wojsk,  linie frontu itp. - czyli to wszystko, czego po takiej publikacji należało by się spodziewać. Są do tego bardzo przejrzyste. W większości zostały wykonane w dużej skali (1 cm = 50km lub 1  cm = 100 km), ale znalazło się kilka wyjątków (m.in. bitwa o Stalingrad, atak na Pearl Harbor, powstanie warszawskie, operacja Market-Garden), gdzie są dużo bardziej szczegółowe.&lt;br /&gt;&lt;br /&gt;Obok map, pokaźną część atlasu zajmują teksty opisujące przebieg poszczególnych operacji. Tu także należy się plus dla autorów, bo w przeciwieństwie do innych publikacji starających się przedstawić II wojnę światową "w pigułce", tutaj faktycznie udało się dość zwięźle i rzeczowo przedstawić kwintesencję opisywanych działań. Całości dopełniają fotografie, które na szczęście nie zabierają zbyt wiele cennego miejsca. Piszę "na szczęście", gdyż nie fotografie i nie treść stanowią o wartości tej pozycji (od tego mamy już całą masę książek), ale wspomniane mapy.&lt;br /&gt;&lt;br /&gt;Gdybym miał wskazać jakieś minusy i do czegoś się doczepić, to nie będzie tego wiele: pozbyłbym się całkowicie fotografii i skrócił opisy kampanii a w zamian dołożył więcej map. I to w zasadzie tyle. Nie podejmuję się oceniać merytorycznej strony tej publikacji i tego, czy są w niej jakieś błędy rzeczowe lub inne uchybienia z dwóch powodów: po pierwsze - ponieważ atlas nabyłem niedawno i było zbyt mało czasu, by coś takiego wychwycić, po drugie - moja wiedza jest ciągle zbyt skromna, bym mógł doszukiwać się nieścisłości... Podsumowując - pozycja godna polecenia i na razie nie mająca na naszym rynku konkurencji, do tego dostępna za rozsądną cenę (ok. 69 zł). Zdecydowanie brać.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3112168558316680953?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3112168558316680953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3112168558316680953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3112168558316680953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3112168558316680953'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/08/djordan-wiest-atlas-ii-wojny-swiatowej.html' title='D.Jordan, A. Wiest - Atlas II Wojny Światowej'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3JwtBWdXuLw/SomrOs8qonI/AAAAAAAABkQ/_kxRNuaNkTQ/s72-c/atlas_II_ws_500.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3762999996967674453</id><published>2009-08-16T01:20:00.000-07:00</published><updated>2009-08-16T01:46:39.907-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Upcoming QComicBook changes</title><content type='html'>A new bugfix release of QComicBook (0.4.2) is on the way and should be available soon. In the meantime I'm working hard on some under-the-hood changes that will debut later around version 0.4.3. These are mainly internal changes that affect building process and maintability, so do not expect any "big" features yet. Two main improvements are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Introducing .ui (QtDesigner) form files for dialogs and windows - it just became too cumbersome to maintain and extend the existing hard-coded dialogs. Working with QtDesigner 4.x is a real joy and it is actually very easy to refactor existing classes to use uic-generated forms: just design them with QtDesigner reusing existing object names, inherit from generated classes, call setupUI() and you're done :).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Switching from &lt;a href="http://www.gnu.org/software/autoconf/"&gt;autotools&lt;/a&gt; hell to &lt;a href="http://cmake.org"&gt;cmake&lt;/a&gt; - CMake is so much easier, cleaner and nicer tool... It took me around 3 hours to switch QComicBook to CMake with no prior knowledge of this tool - just having a sample CMakeLists.txt from other project and cmake man pages... This speaks for itself...&lt;/li&gt;&lt;/ul&gt;Some other internal changes that have high priority on my TODO list:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;refactor archive handling subsystem with strategies (policies) for handling various archive types.&lt;/li&gt;&lt;li&gt;refactor image and thumbnail loading/caching for better cooperation; I'm not happy with it's current design.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3762999996967674453?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3762999996967674453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3762999996967674453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3762999996967674453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3762999996967674453'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/08/upcoming-qcomicbook-changes.html' title='Upcoming QComicBook changes'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1466104258605381982</id><published>2009-08-11T12:47:00.000-07:00</published><updated>2009-08-11T12:57:21.738-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><title type='text'>QComicBook 0.4.1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3JwtBWdXuLw/SoHNCEys0RI/AAAAAAAABj8/LqHeBvJOPYc/s1600-h/Screenshot-QComicBook+-+Heavy.Metal.Vol.27.No.5.November.2003.cbr.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 155px;" src="http://4.bp.blogspot.com/_3JwtBWdXuLw/SoHNCEys0RI/AAAAAAAABj8/LqHeBvJOPYc/s200/Screenshot-QComicBook+-+Heavy.Metal.Vol.27.No.5.November.2003.cbr.png" alt="" id="BLOGGER_PHOTO_ID_5368797666332168466" border="0" /&gt;&lt;/a&gt;After almost two years of silence I've finally released a new version of QComicBook. There isn't much to be proud of this time, just bugfixes. Changelog for this release:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;fixed freezing when unpacking some archives (in particular zip)&lt;/li&gt;&lt;li&gt;fixed crash when opening archives via 'Recently opened' menu&lt;/li&gt;&lt;li&gt;thumbnails are now saved with sha1-hashed file names&lt;/li&gt;&lt;li&gt;updated autoconf bnv_have_qt macro&lt;/li&gt;&lt;li&gt;Qt&gt;=4.3.0 is required from now&lt;/li&gt;&lt;li&gt;internal cleanups&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1466104258605381982?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1466104258605381982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1466104258605381982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1466104258605381982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1466104258605381982'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/08/qcomicbook-041.html' title='QComicBook 0.4.1'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3JwtBWdXuLw/SoHNCEys0RI/AAAAAAAABj8/LqHeBvJOPYc/s72-c/Screenshot-QComicBook+-+Heavy.Metal.Vol.27.No.5.November.2003.cbr.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-866989917338030982</id><published>2009-08-10T07:52:00.000-07:00</published><updated>2009-08-10T08:08:20.369-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu security?</title><content type='html'>I've recently noticed a security update for git-core in Debian stable/testing/unstable, which fixes a denial of service bug in the git-daemon. Debian got the fix on &lt;a href="http://www.debian.org/security/2009/dsa-1841"&gt;Jul 25th&lt;/a&gt;.&lt;br /&gt;Fedora 11 folks were even more responsive by releasing an update on &lt;a href="https://admin.fedoraproject.org/updates/F11/FEDORA-2009-6936"&gt;Jun 23rd&lt;/a&gt; (!). How about Ubuntu I hear you asking. Guess what... &lt;span style="font-weight: bold;"&gt;no update so far&lt;/span&gt;. I bet the bug applies to Ubuntu as well: Jaunty uses git-core 1.6.0.4; for Debian sid it was fixed with version 1.6.3.3-1. Fedora users got git-1.6.2.5. Wake up, Ubuntu Security team!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-866989917338030982?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/866989917338030982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=866989917338030982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/866989917338030982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/866989917338030982'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/08/ubuntu-security.html' title='Ubuntu security?'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-2750718419687969538</id><published>2009-08-08T12:04:00.000-07:00</published><updated>2009-08-08T12:38:00.589-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Qt4: don't mix waitForFinished() with processEvents()</title><content type='html'>I had received a few claims about QComicBook hanging when unpacking some cbr archives in the past, but could not confirm the problem till now. I've just received a nice bug report for this issue - with a sample .zip archive that reproduces the bug. It looks like it's not a good idea to mix &lt;span style="font-family: courier new;"&gt;QProcess::waitForFinished(-1)&lt;/span&gt; with &lt;span style="font-family: courier new;"&gt;QApplication::processEvents()&lt;/span&gt;. The problem manifests itself if you do the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;start a process (an external command)&lt;/li&gt;&lt;li&gt;wait for exit with &lt;span style="font-family: courier new;"&gt;waitForFinished(-1)&lt;/span&gt;(which blocks until process exits)&lt;/li&gt;&lt;li&gt;capture the output with a &lt;span style="font-family: courier new;"&gt;QProcess::readyReadStandardOutput() &lt;/span&gt;signal handler&lt;/li&gt;&lt;li&gt;the signal handler calls &lt;span style="font-family: courier new;"&gt;QApplication::processEvents()&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: courier new;"&gt;waitForFinished(-1)&lt;/span&gt; may then block forever.&lt;br /&gt;&lt;br /&gt;The problem has already been reported on &lt;a href="https://bugs.launchpad.net/ubuntu/+source/qcomicbook/+bug/225588"&gt;Ubuntu's Launchpad&lt;/a&gt; as well as in &lt;a href="http://www.qtsoftware.com/developer/task-tracker/index_html?method=entry&amp;amp;id=258462"&gt;QtSoftware bugtracker&lt;/a&gt;. Unfortunately, it seems there is no solution, it won't be fixed in Qt library and should be avoided... The workaround I implemented for QComicBook-0.4.1 (to be released soon) is a busy-loop around &lt;span style="font-family: courier new;"&gt;waitForFinished(1000)&lt;/span&gt; (i.e. 1 second) and &lt;span style="font-family: courier new;"&gt;processState()&lt;/span&gt; calls. Not the nicest  solution, but it seems to work fine and I can still use &lt;span style="font-family: courier new;"&gt;processEvents()&lt;/span&gt; to provide progress bar updates when unpacking archives.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-2750718419687969538?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/2750718419687969538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=2750718419687969538' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2750718419687969538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2750718419687969538'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/08/qt4-dont-mix-waitforfinished-with.html' title='Qt4: don&apos;t mix waitForFinished() with processEvents()'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7714506780658343830</id><published>2009-07-23T07:49:00.000-07:00</published><updated>2009-07-23T07:51:52.979-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Joined Twitter</title><content type='html'>I've just joined Twitter microblog community. You can follow my status at &lt;a href="http://twitter.com/pstolowski"&gt;http://twitter.com/pstolowski&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7714506780658343830?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7714506780658343830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7714506780658343830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7714506780658343830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7714506780658343830'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/07/joined-twitter.html' title='Joined Twitter'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-2128266227937609940</id><published>2009-07-22T12:42:00.000-07:00</published><updated>2009-07-22T13:11:54.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Vim's CTRL+Y in Emacs</title><content type='html'>&lt;div style="text-align: left;"&gt;One of the nice features of &lt;a href="http://vim.sf.net/"&gt;Vim&lt;/a&gt; I couldn't find in &lt;a href="http://www.gnu.org/software/emacs/"&gt;GNU Emacs&lt;/a&gt; is copying characters from the line above the cursor with CTRL+Y; it's very useful when dealing with repetitive lines of text. So, why not implement it with &lt;a href="http://en.wikipedia.org/wiki/Emacs_Lisp"&gt;elisp&lt;/a&gt;? Ok, here you are. I'm not sure if this is the best approach, but it works:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(defun get-above-char()&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;"Get character from a line above"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;(let ( (o) )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;(setq o (- (point) (line-beginning-position)))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;(save-excursion&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(if (&gt; (line-number-at-pos) 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(progn&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(forward-line -1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(forward-char o)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(char-after)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;)  )  )&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(defun copy-above-char()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;"Copy character from a line above"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;(interactive)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;(insert (get-above-char)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Copy this elisp code to your &lt;span style="font-family: courier new;"&gt;.emacs&lt;/span&gt; and bind &lt;span style="font-family: courier new;"&gt;copy-above-char&lt;/span&gt; to a key, e.g.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(global-set-key [(control \;)] 'copy-above-char)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of course it is possible to record a &lt;a href="http://www.emacswiki.org/emacs/KeyboardMacros"&gt;keyboard macro&lt;/a&gt; instead if you don't like/know elisp, but elisp implementation is more elegant and allows for additional checks to be performed (e.g. if current line &gt; 1).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-2128266227937609940?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/2128266227937609940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=2128266227937609940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2128266227937609940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2128266227937609940'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/07/vims-ctrly-in-emacs.html' title='Vim&apos;s CTRL+Y in Emacs'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8616878093065545889</id><published>2009-06-21T10:29:00.000-07:00</published><updated>2009-06-21T13:05:53.493-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Playing with laptop-mode</title><content type='html'>The other day I decided to squeeze most out of my laptop's battery. After a few minutes of tweaking I had discovered (to my surprise) that &lt;a style="font-weight: bold;" href="http://samwel.tk/laptop_mode/"&gt;laptop-mode&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; is disabled by default in Ubuntu 9.04&lt;/span&gt;. The comment in&lt;span style="font-family:courier new;"&gt; /etc/default/acpi-support&lt;/span&gt; provides an explanation:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Switch to laptop-mode on battery power - off by default as it causes odd&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;# hangs on some machines.  (Note: This is reported to cause breakage in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Debian - see deb bug #425800.  Leaving enabled for Ubuntu for now&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;# since presumably it's still valid here.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But apparently it's disabled in Ubuntu... W00t? This means that if you're running on battery power, the system doesn't perform any optimizations to reduce power consumption except for  CPU frequency scaling performed by ondemand governor (please correct me if I'm wrong...).&lt;br /&gt;&lt;br /&gt;So the first step is enabling laptop-mode (set&lt;span style="font-family:courier new;"&gt; ENABLE_LAPTOP_MODE=true&lt;/span&gt; in &lt;span style="font-family:courier new;"&gt;acpi-support &lt;/span&gt;config file) and restarting&lt;span style="font-family:courier new;"&gt; /etc/init.d/laptop-mode&lt;/span&gt;. A quick look at&lt;span style="font-family:courier new;"&gt; /etc/laptop/conf.d&lt;/span&gt; directory reveals plethora of options for tweaking laptop-mode. Many of them depend on and require specific hardware and are disabled by default; some are generic. The ones I found interesting for my laptop are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;cpufreq.conf&lt;/span&gt; - configures frequency scaling rules, e.g. makes it possible to force slowest CPU frequency when running on battery power, no matter what system load is.&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;start-stop-programs.conf&lt;/span&gt; - allows for setting programs or services which should be started or stopped when on battery power.&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;ethernet.conf&lt;/span&gt; - configures power saving settings for Ethernet cards, e.g. limits connection speed from 1Gbit to 100Mbit.&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;wireless-iwl-power.conf&lt;/span&gt; - &lt;span style="font-family:arial;"&gt;&lt;/span&gt;configures powersave mode of Intel 3945/4965 wireless adapters.&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;intel-hda-powersave.conf&lt;/span&gt; - configures power saving settings of Intel HDA audio chipsets.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Enabling the above settings didn't impact the stability of my system. I haven't tested battery lifetime with &lt;span style="font-family:courier new;"&gt;&lt;/span&gt;these changes yet. Conclusion will follow this post. To be continued.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8616878093065545889?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8616878093065545889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8616878093065545889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8616878093065545889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8616878093065545889'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/06/playing-with-laptop-mode.html' title='Playing with laptop-mode'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4828028117302743371</id><published>2009-06-13T13:06:00.000-07:00</published><updated>2009-06-21T13:04:12.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='apparmor'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Securing applications with AppArmor</title><content type='html'>The main problem with standard Unix security model (&lt;a href="http://en.wikipedia.org/wiki/Discretionary_Access_Control"&gt;DAC&lt;/a&gt; - Discretionary access control) is passing user privilleges to applications he/she executes. The problem is, whenever you launch e.g. a  web browser, it has access to all files/resources you would normally have to. While under normal conditions it's not a big deal, think of what happens if it has a bug that can be exploited by an attacker... Such danger can be minimized by employing &lt;a href="http://en.wikipedia.org/wiki/Mandatory_Access_Control"&gt;MAC&lt;/a&gt; - Mandatory access control.&lt;br /&gt;&lt;br /&gt;Having some prior experience with &lt;a href="http://en.wikipedia.org/wiki/Selinux"&gt;SELinux&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Mandatory_Access_Control"&gt;MAC&lt;/a&gt; implementation (the master thesis I wrote one year ago), I've decided to try out Novell's &lt;a href="http://en.wikipedia.org/wiki/AppArmor"&gt;AppArmor &lt;/a&gt;. While SELinux is very powerful and may seem to be an ultimate MAC solution for Linux, it's far too complex for average joe user. Sure, the default 'targeted' policy implemented e.g. in Fedora Linux works fine out of the box, but debugging problems may still be too intimidating for most users. AppArmor is a MAC implementation for the masses: it's much easier to comprehend, use and administer.&lt;br /&gt;&lt;br /&gt;I'm not going to describe AppArmor's history, command line tools etc. as they are explained in detail in &lt;a href="http://www.novell.com/documentation/apparmor/"&gt;the official documentation&lt;/a&gt; as well as in man pages. Instead, here is a short walk-through of creating a policy for&lt;a href="http://get.adobe.com/reader/"&gt; Adobe Acrobat Reader 9&lt;/a&gt;. Acrobat Reader has a long track of security issues - most problems were related to application crashes when opening malformed (crafted) PDF files. The goal is to limit the resources/files that acroread can access by forcing read-only access to the filesystem, write access for specific paths only and 'execute' permission to specific commands only.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Run AppArmor's 'learning' mode (profile generation) and point it to /usr/bin/acroread.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ sudo aa-genprof&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;Run Acrobat Reader and excercise it a bit, that is, perform all the usual operations, e.g. open file, print it etc.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;When you're done, press "S" key in the aa-genprof window. You'll now have to answer a series of questions about granting or denying access to specific resources based on the actions you've just performed in Acrobat Reader. Use your best judgment to allow/deny access to given resources; keep in mind that some rules may need to be adjusted and made more generic by specifying glob patterns, e.g. allow acroread to read/write files in /tmp/** rather than a specific file in /tmp/ detected by aa-genprof.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;Once you're done with aa-genprof a new AppArmor profile will appear in /etc/apparmor.d/opt.Adobe.Reader9.bin.acroread. Open it in an editor and perform further adjustements.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;When done, reload AppArmor with sudo /etc/init.d/apparmor reload&lt;span style="font-family:arial;"&gt;. Run Adobe Acrobat and verify if it works. Check /var/log/messages (or /var/log/audit/audit.log if you have auditd running) for any APPARMOR_DENIED messages which may be related to acroread actions. Repeat steps 4-5 if needed.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;You'll need around 10 minutes to complete steps 1-3. You may stop there if you're happy with the rules created automatically by aa-genprof, but it's a good idea to tweak them manually. This will take you around 30 minutes, depending on your skills, needs and application complexity.&lt;br /&gt;&lt;br /&gt;When creating my own profile for Acrobat Reader I've decided to simplify rules that govern &lt;span style="font-family:courier new;"&gt;/opt/Adobe/Reader9&lt;/span&gt; subdirectories like this:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;/opt/Adobe/Reader9/** r,&lt;br /&gt;/opt/Adobe/Reader9/Reader/intellinux/bin/acroread rix,&lt;br /&gt;/opt/Adobe/Reader9/Reader/intellinux/lib/* mr,&lt;br /&gt;/opt/Adobe/Reader9/Reader/intellinux/plug_ins/* rixm,&lt;br /&gt;/opt/Adobe/Reader9/Reader/intellinux/SPPlugins/* rixm,&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I've also decided to restrict read-access to specific files and directories only; I came to the conclusion that PDF &lt;/span&gt;files usually reside in&lt;span style="font-family:courier new;"&gt;/home&lt;/span&gt; directories, &lt;span style="font-family:courier new;"&gt;/media/ &lt;span style="font-family:arial;"&gt;directories&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;(mounted devices like cdrom or flash drives) and&lt;span style="font-family:courier new;"&gt;/usr/share/doc &lt;/span&gt;subdirectories. So I ended up with the following rules:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;deny /home/*/.ssh/** r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;deny /home/*/.gnupg/** r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;owner /home/** r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/media/ r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/media/** r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/ r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/ r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/share/ r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/share/doc/ r,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/share/doc/** r,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First two "deny" rules protect some vital user's files. Remaining rules grant read-only access for the paths mentioned above. Please note, that read-access for &lt;span style="font-family:courier new;"&gt;/&lt;/span&gt;,&lt;span style="font-family:courier new;"&gt; /usr&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;/usr/share&lt;/span&gt; and /usr/share/doc (no globs here!) is needed to allow standard "Open file" dialog to read contents of these directories (just the list of files) and browse to&lt;span style="font-family:courier new;"&gt; /usr/share/doc/&lt;/span&gt;. Try to navigate to e.g. &lt;span style="font-family:courier new;"&gt;/usr/share/perl&lt;/span&gt; to see it's not allowed. Cool!&lt;br /&gt;&lt;br /&gt;There are of course more rules - in fact the profile file contains around 60 rules in total. Among them are rules that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;grant read/write access to configuration files in &lt;span style="font-family:courier new;"&gt;/home/*/.adobe/Acrobat/**&lt;/span&gt;&lt;/li&gt;&lt;li&gt;grant read access to standard GNOME/GTK configuration files in home subdirectories.&lt;/li&gt;&lt;li&gt;grant read/execute access to some standard commands like cat, pwd, mkdir and printing-related commands (lpq, lpr).&lt;/li&gt;&lt;li&gt;grant read access to icons, fonts and pixmaps.&lt;/li&gt;&lt;li&gt;grant execute access to /usr/lib directory.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;That's it. Happy hacking.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4828028117302743371?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4828028117302743371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4828028117302743371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4828028117302743371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4828028117302743371'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/06/securing-applications-with-apparmor.html' title='Securing applications with AppArmor'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8274348595706174350</id><published>2009-06-02T13:10:00.000-07:00</published><updated>2009-06-02T14:34:27.085-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><title type='text'>Favourite movie scenes #1</title><content type='html'>There are movies you'll never forget. Most often this is because of their stories, but sometimes there are scenes and takes which make some movies brilliant in your eyes. Here are some of my favorite movie scenes (part #1), in no particular order...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3JwtBWdXuLw/SiWYKfuFupI/AAAAAAAABL0/_BeKhySayk0/s1600-h/planetterror.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 178px;" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/SiWYKfuFupI/AAAAAAAABL0/_BeKhySayk0/s320/planetterror.jpg" alt="" id="BLOGGER_PHOTO_ID_5342843839025887890" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Planet Terror. &lt;/span&gt;Opening titles - Cherry's Go-Go dance. One of the best and most hot movie openings... Cherry is performing a seductive Go-Go dance, supported by great music by Robert Rodriguez himself. The scene is very dynamic, thanks to frequent changes of camera distance and angle.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3JwtBWdXuLw/SiWagP0m5TI/AAAAAAAABMc/Rp33d8P-57Q/s1600-h/losthighway.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 138px;" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/SiWagP0m5TI/AAAAAAAABMc/Rp33d8P-57Q/s320/losthighway.jpg" alt="" id="BLOGGER_PHOTO_ID_5342846411738637618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lost Highway.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Pete and Renee making love on the desert in the night. Surreal setting with warm, bright car lights illuminating them.&lt;br /&gt;When Renee whispers 'You'll never have me', you can almost fell a chill on your back...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JwtBWdXuLw/SiWZHritFiI/AAAAAAAABME/JMiNQDP_nGs/s1600-h/naturalborn.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 180px;" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/SiWZHritFiI/AAAAAAAABME/JMiNQDP_nGs/s320/naturalborn.jpg" alt="" id="BLOGGER_PHOTO_ID_5342844890171381282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;N&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;atural B&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;orn Kill&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;ers. &lt;/span&gt;Opening titles - Cafe on the desert, in the middle of nowhere. Mickey is eating a pie while Mallory is turning a jukebox on and starting her defiant dance. Two men enter the cafe, one is mashing her... A scorpion gets smashed on the road,a deer is dying on the desert. The air is incredibly hot. You know something is going to happen soon. Soon they will unleash hell... Great music by Leonard Cohen, by the way.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Spy Game.&lt;/span&gt; Scene on the roof of a building. Muir and Bishop argue about a man &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JwtBWdXuLw/SiWaS_NUixI/AAAAAAAABMU/Zdkk1fsGMeU/s1600-h/spygame.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 134px;" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/SiWaS_NUixI/AAAAAAAABMU/Zdkk1fsGMeU/s320/spygame.jpg" alt="" id="BLOGGER_PHOTO_ID_5342846183940590354" border="0" /&gt;&lt;/a&gt;used as a bait on their mission in East Germany. Muir explains what espionage is all about. You think Bishop is right, but there's no denying Muir is a professional and knows the score... The scene is nicely set on the roof of a building and the camera is circling around from time to time giving the wrangle a boost.&lt;br /&gt;&lt;br /&gt;To be continued...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8274348595706174350?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8274348595706174350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8274348595706174350' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8274348595706174350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8274348595706174350'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/06/favourite-movie-scenes-1.html' title='Favourite movie scenes #1'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/SiWYKfuFupI/AAAAAAAABL0/_BeKhySayk0/s72-c/planetterror.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4866504733463408755</id><published>2009-05-23T04:52:00.000-07:00</published><updated>2009-05-23T05:29:07.272-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><title type='text'>Managing wine bottles</title><content type='html'>&lt;a href="http://www.winehq.com/"&gt;Wine&lt;/a&gt; has a nice feature that lets you keep your virtual Windows installations in separate directories, commonly known as wine prefixes. If you install a lot of software or even just a few games, you'll soon discover that some wine settings or tweaks may work for one program but break the other. While some settings may be set on per-executable basis (via winecfg), there are more which have global impact (e.g. virtual desktop resolution settings, registry tweaks etc.). Wine prefixes provide a comfortable way for keeping software installed in isolated environments which are easy to backup or remove. A common use scenario looks like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ WINEPREFIX=/my/windows/software/foo wine setup.exe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ WINEPREFIX=/my/windows/software/foo regedit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But this is not very convenient. There are some helper utilities that let you create and maintain wine bottles and provide some additonal functionality for better wine experience - examples are: &lt;a href="http://www.playonlinux.com/"&gt;PlayOnLinux&lt;/a&gt;, &lt;a href="http://wddb.wine-doors.org/"&gt;Wine-Doors&lt;/a&gt; and &lt;a href="http://sourceforge.net/projects/q4wine/"&gt;q4wine&lt;/a&gt;. You may also create your own wrapper scripts for this purpose - or use &lt;a href="http://linux.bydg.org/%7Eyogin/wine-bottle-1.0.tar.gz"&gt;the ones I've created&lt;/a&gt; for myself. The script is loosely based on a script published by &lt;a href="http://linux-tipps.blogspot.com/2009/03/how-to-make-your-own-wine-bottles.html"&gt;linux-tipps.blogspot.com&lt;/a&gt;, but adds some more features. It creates wine bottles in ~/Wine directory by default. Sample usage:&lt;br /&gt;&lt;br /&gt;Installing game in a new bottle (MyGame):&lt;br /&gt;$ wine-bottle MyGame /media/cdrom/setup.exe&lt;br /&gt;&lt;br /&gt;Running winecfg, regedit and wineboot for specific bottle:&lt;br /&gt;$ winecfg-bottle MyGame&lt;br /&gt;$ regedit-bottle MyGame&lt;br /&gt;$ wineboot-bottle MyGame&lt;br /&gt;&lt;br /&gt;Running the game in the bottle:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ cd ~/Wine/MyGame/drive_c/mygame&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ wine-bottle MyGame game.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Creating a shell script for quick startup:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ cd ~/Wine/MyGame/drive_c/mygame&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ bottle-makescript ~/run_mygame.sh MyGame game.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;bottle-makescript will create a shell script that runs the specific executable in given bottle with no need to resort to command-line anymore.&lt;br /&gt;&lt;br /&gt;Any ideas for improvements are welcome. Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4866504733463408755?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4866504733463408755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4866504733463408755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4866504733463408755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4866504733463408755'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/05/managing-wine-bottles.html' title='Managing wine bottles'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-634425628667344429</id><published>2009-05-15T07:26:00.000-07:00</published><updated>2009-05-15T07:36:32.230-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Linux Everywhere / The website is down</title><content type='html'>These guys rock! Just watch this... (Disclaimer: 2nd movie contains harsh language).&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FPE9-YozpyQ&amp;hl=pl&amp;fs=1&amp;rel=0"&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 src="http://www.youtube.com/v/FPE9-YozpyQ&amp;hl=pl&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=8536239485685393800&amp;hl=pl&amp;fs=true" style="width:400px;height:326px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash"&gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-634425628667344429?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/634425628667344429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=634425628667344429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/634425628667344429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/634425628667344429'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/05/linux-everywhere-website-is-down.html' title='Linux Everywhere / The website is down'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1999362889591740866</id><published>2009-05-08T13:50:00.000-07:00</published><updated>2009-05-08T14:14:45.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='astaro'/><category scheme='http://www.blogger.com/atom/ns#' term='job'/><category scheme='http://www.blogger.com/atom/ns#' term='praca'/><title type='text'>I want A***** back...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JwtBWdXuLw/SgSdV2-B07I/AAAAAAAABLY/pCCDM-dWfoU/s1600-h/logo_astaro.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 44px; height: 64px;" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/SgSdV2-B07I/AAAAAAAABLY/pCCDM-dWfoU/s400/logo_astaro.png" alt="" id="BLOGGER_PHOTO_ID_5333560857572004786" border="0" /&gt;&lt;/a&gt;Some retrospective analysis... It is destined to selected people only (aka Circle Of Trust).  Hint: 31tor.&lt;br /&gt;&lt;br /&gt;Fubeg ergebfcrpgvir nanylfvf. Vs lbh'er zh pheerag rzcyblre, cyrnfr fgbc ernqvat vzzrqvngryl!&lt;br /&gt;&lt;br /&gt;V ernyyl zvff N****b. Vg jnf bar lrne jvgu terng crbcyr naq fhcreo cebqhpgf (NPP, NFT). Guvf jnf gur  vefg gvzr V ernyyl ybirq zl wbo (V zrna vg - yvgrenyyl), rawblrq vg naq sryg pbaarpgrq jvgu gur cebqhpg. Guvf jnf n wbo V pbhyq qrfpevor nf nyjnlf punyyratvat, fnglfslvat, sha naq abg oheavat lbh bhg naq znxvat lbh jnag gb guebj lbhe CP njnl. Bgure guna gung: ntvyr qrirybczrag, yvahk, p++, obbfg ehyr!!! (V pna rira fgnaq crey ;)).&lt;br /&gt;&lt;br /&gt;Gbb onq vg'f nyy tbar. Qnza, qnza pelfvf! V jnag N***** onpx!!! [pel]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1999362889591740866?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1999362889591740866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1999362889591740866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1999362889591740866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1999362889591740866'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/05/i-want-back.html' title='I want A***** back...'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/SgSdV2-B07I/AAAAAAAABLY/pCCDM-dWfoU/s72-c/logo_astaro.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3723846112183513059</id><published>2009-05-08T12:36:00.000-07:00</published><updated>2009-05-08T12:58:51.255-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><title type='text'>Operation Flashpoint &amp; Wine</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3JwtBWdXuLw/SgSN2S2S7oI/AAAAAAAABLQ/T-8mROlW8i0/s1600-h/Screenshot-Default+-+Wine+desktop-1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 154px;" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/SgSN2S2S7oI/AAAAAAAABLQ/T-8mROlW8i0/s200/Screenshot-Default+-+Wine+desktop-1.png" alt="" id="BLOGGER_PHOTO_ID_5333543822625533570" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3JwtBWdXuLw/SgSNkYDy9lI/AAAAAAAABLI/NGO-M4cWhG0/s1600-h/Screenshot-Default+-+Wine+desktop-2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 154px;" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/SgSNkYDy9lI/AAAAAAAABLI/NGO-M4cWhG0/s200/Screenshot-Default+-+Wine+desktop-2.png" alt="" id="BLOGGER_PHOTO_ID_5333543514786690642" border="0" /&gt;&lt;/a&gt;The great &lt;a href="http://www.flashpoint1985.com/"&gt;Operation &lt;/a&gt;&lt;a href="http://www.flashpoint1985.com/"&gt;Flashpoint&lt;/a&gt; game - probably one of the best war simulations ever -  is finally playable with &lt;a href="http://www.winehq.com/"&gt;wine&lt;/a&gt; on Linux! Although &lt;a href="http://appdb.winehq.org/objectManager.php?sClass=application&amp;amp;iId=1788"&gt;appdb&lt;/a&gt; reports state it has been playable starting from wine-0.9.46, I didn't have much success with OFP (mainly with sound) until recent wine releases. With wine-1.1.20 the game runs just fine, except for occasional textures flickering. Screenshots of OFP with ECP mod.&lt;br /&gt;&lt;br /&gt;BTW. Too bad &lt;a href="http://www.blitzkrieg.de/"&gt;Blitzkrieg&lt;/a&gt; is still not really playable with wine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3723846112183513059?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3723846112183513059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3723846112183513059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3723846112183513059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3723846112183513059'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/05/operation-flashpoint-wine.html' title='Operation Flashpoint &amp; Wine'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/SgSN2S2S7oI/AAAAAAAABLQ/T-8mROlW8i0/s72-c/Screenshot-Default+-+Wine+desktop-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7746938128406649561</id><published>2009-04-21T08:28:00.000-07:00</published><updated>2009-04-21T08:53:28.381-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kleansweep'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Qt4 and QTreeView performance</title><content type='html'>When I started working on complete overhaul of KleanSweep GUI (moving from KDE 3 to Qt4) I soon faced problem with slow &lt;a href="http://doc.trolltech.com/4.3/qtreeview.html"&gt;QTreeView&lt;/a&gt; performance when using my own item model. To make the long story short, with around 1.6 mln records the QTreeView was completly unusable taking tens of seconds to redraw when scrolling its contents. I googled a lot only to discover other people had similar performance problems with &lt;a href="http://doc.trolltech.com/4.3/model-view-programming.html"&gt;Qt Model/View&lt;/a&gt; architecture.&lt;br /&gt;I almost gave up, until my recent discovery: the &lt;a href="http://doc.trolltech.com/4.3/qtreeview.html#uniformRowHeights-prop"&gt;uniformRowHeights &lt;/a&gt;property of QTreeView. It indicates (if true) that all items in the view have the same height - and allows the view to perform some optimizations. This solved the performance problem I was facing! So now my &lt;a href="http://www.sqlite.org/"&gt;SQLite&lt;/a&gt;-based model works fine and the new KleanSweep (still W.I.P) will be capable of displaying millions of files with little memory footprint!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7746938128406649561?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7746938128406649561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7746938128406649561' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7746938128406649561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7746938128406649561'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/04/qt4-and-qtreeview-performance.html' title='Qt4 and QTreeView performance'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-703074459865407400</id><published>2009-02-19T05:43:00.001-08:00</published><updated>2009-02-19T05:43:56.905-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>Fell in love with Debian Lenny</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Debian 5.0 (Lenny) has been &lt;a href='http://debian.org/News/2009/20090214'&gt;released&lt;/a&gt;. I've been running it for about one month (installed from a release candidate iso) and I must admit I'm absolutely delighted by it. Being an Ubuntu user before I already got used to apt-get, synaptic and other goodies. Where Lenny really shines (compared to Ubuntu) is:&lt;br/&gt;&lt;ul&gt;&lt;li&gt;it's rock stable; I haven't had a single stability issue so far&lt;/li&gt;&lt;li&gt;it's well tested and you can really feel it. I haven't experienced any stupid / trivial / obvious bugs that  should have been detected and fixed (as it was often a case for Ubuntu or openSuse). It just feels the release was not rushed as it often happens to commercial distros.&lt;/li&gt;&lt;li&gt;it's not bloated (number of services is reduced to the minimum, no desktop indexing like &lt;a href='http://beagle-project.org'&gt;Beagle&lt;/a&gt; or &lt;a href='http://projects.gnome.org/tracker'&gt;Tracker&lt;/a&gt; is installed by default etc.)&lt;br/&gt;&lt;/li&gt;&lt;li&gt;no experimental or unfinished features (e.g. no &lt;a href='http://www.pulseaudio.org'&gt;PulseAudio&lt;/a&gt;...)&lt;/li&gt;&lt;/ul&gt;All in all, Lenny seems to be a really good and solid release. Long live, Debian project!&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=e15655f1-02a2-4f69-8623-4d43fcbb8c07' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-703074459865407400?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/703074459865407400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=703074459865407400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/703074459865407400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/703074459865407400'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/02/fell-in-love-with-debian-lenny.html' title='Fell in love with Debian Lenny'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1262652183751297813</id><published>2009-02-15T03:35:00.000-08:00</published><updated>2009-05-08T13:07:09.780-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='job'/><category scheme='http://www.blogger.com/atom/ns#' term='studies'/><title type='text'>A bit of self-promotion &amp; job status update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JwtBWdXuLw/SZgC3HtwYMI/AAAAAAAABBc/QYcKi1wW36k/s1600-h/00002.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 144px;" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/SZgC3HtwYMI/AAAAAAAABBc/QYcKi1wW36k/s200/00002.jpg" alt="" id="BLOGGER_PHOTO_ID_5302991707215782082" border="0" /&gt;&lt;/a&gt;I've just received a nice declaration from my university. It states that I've graduated Computer Science within 5% of best students (in 2008) :). This is very refreshing given my recent job changes (to remind you: &lt;a href="http://www.astaro.com/"&gt;Astaro&lt;/a&gt; closed its R&amp;amp;D office in Poland) and it was also a nice and unexpected surprise!&lt;br /&gt;&lt;br /&gt;When it comes to job changes, starting from March 2nd I'll be working for my former company (Alcatel-Lucent) again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1262652183751297813?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1262652183751297813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1262652183751297813' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1262652183751297813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1262652183751297813'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/02/bif-of-self-promotion-job-status-update.html' title='A bit of self-promotion &amp; job status update'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/SZgC3HtwYMI/AAAAAAAABBc/QYcKi1wW36k/s72-c/00002.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4354761550598057199</id><published>2009-01-30T12:55:00.000-08:00</published><updated>2009-02-06T11:14:21.058-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='telescope'/><category scheme='http://www.blogger.com/atom/ns#' term='astronomy'/><title type='text'>Telescope case</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3JwtBWdXuLw/SYNtIgPA7nI/AAAAAAAABBM/MlkyV4KD_Q0/s1600-h/00005.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 160px; height: 137px;" src="http://4.bp.blogspot.com/_3JwtBWdXuLw/SYNtIgPA7nI/AAAAAAAABBM/MlkyV4KD_Q0/s200/00005.jpg" alt="" id="BLOGGER_PHOTO_ID_5297197579577126514" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3JwtBWdXuLw/SYNs_Kw0ZkI/AAAAAAAABBE/vymA8AE2wqE/s1600-h/00020.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 173px; height: 137px;" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/SYNs_Kw0ZkI/AAAAAAAABBE/vymA8AE2wqE/s200/00020.jpg" alt="" id="BLOGGER_PHOTO_ID_5297197419194508866" border="0" /&gt;&lt;/a&gt;I've finally made myself a case to carry my MAK127 telescope and another one to carry accessories (eyepieces, finder etc.). It took me around three hours to accommodate each case for its duty - main job was to cut sponge so that telescope and accessories all fit and are protected against shock (BTW, as you can see on the photos, the telescope case is made of a casual toolbox). My next target is a case / bag for EQ3-2 mount, but this seems to be more problematic... Any ideas?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4354761550598057199?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4354761550598057199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4354761550598057199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4354761550598057199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4354761550598057199'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/01/telescope-case.html' title='Telescope case'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3JwtBWdXuLw/SYNtIgPA7nI/AAAAAAAABBM/MlkyV4KD_Q0/s72-c/00005.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3561992584186357324</id><published>2009-01-05T13:23:00.000-08:00</published><updated>2009-05-08T14:13:49.821-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='astaro'/><category scheme='http://www.blogger.com/atom/ns#' term='job'/><category scheme='http://www.blogger.com/atom/ns#' term='praca'/><title type='text'>Poszukuję pracy...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_3JwtBWdXuLw/SWJ9zkquFcI/AAAAAAAAA9Y/2bl9eA1WDd8/s1600-h/1988861163_7f973a7419.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 148px;" src="http://1.bp.blogspot.com/_3JwtBWdXuLw/SWJ9zkquFcI/AAAAAAAAA9Y/2bl9eA1WDd8/s200/1988861163_7f973a7419.jpg" alt="" id="BLOGGER_PHOTO_ID_5287927237456041410" border="0" /&gt;&lt;/a&gt;Początek roku okazał się dla mnie mało szczęśliwy... Okazało się , że &lt;a href="http://www.astaro.com/"&gt;Astaro&lt;/a&gt; - firma, w której pracowałem przez ostatni rok - zmuszona została do zamknięcia oddziału R&amp;amp;D w Bydgoszczy. Powód: kryzys, szczególnie dotkliwy w Niemczech, gdzie znajduje się główna siedziba Astaro.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tak więc, jeśli Twoja firma poszukuje doświadczonego programisty (C++, Java, Python, Perl, Linux) do pracy na terenie Bydgoszczy lub okolic, to proszę o kontakt.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Więcej informacji o moich kwalifikacjach tutaj:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;profil &lt;a href="http://www.goldenline.pl/pawel-stolowski"&gt;goldenline.pl&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;profil &lt;a href="http://www.linkedin.com/in/PawelStolowski"&gt;linkedin.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3561992584186357324?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3561992584186357324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3561992584186357324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3561992584186357324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3561992584186357324'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/01/poszukuj-pracy.html' title='Poszukuję pracy...'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3JwtBWdXuLw/SWJ9zkquFcI/AAAAAAAAA9Y/2bl9eA1WDd8/s72-c/1988861163_7f973a7419.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3233737860554392909</id><published>2009-01-01T12:14:00.000-08:00</published><updated>2009-02-06T11:14:46.167-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c64'/><category scheme='http://www.blogger.com/atom/ns#' term='emulation'/><title type='text'>Vice 2.1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JwtBWdXuLw/SV0px_9gykI/AAAAAAAAA9I/BJUe8Npzj3o/s1600-h/Screenshot-VICE:+C64+emulator.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 160px;" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/SV0px_9gykI/AAAAAAAAA9I/BJUe8Npzj3o/s200/Screenshot-VICE:+C64+emulator.png" alt="" id="BLOGGER_PHOTO_ID_5286427476562594370" border="0" /&gt;&lt;/a&gt;A new version of &lt;a href="http://www.viceteam.org/"&gt;Vice&lt;/a&gt; - popular C64 emulator - has been released on Dec 19th 2008. This version brings some small improvements - most notably fullscreen mode finally works and uses &lt;a href="http://en.wikipedia.org/wiki/Xrandr"&gt;xrandr&lt;/a&gt;! This means much more fun &amp;amp; immersion when watching old C64 demos :).&lt;br /&gt;&lt;br /&gt;This brings me to a bunch of new demos released in 2008. It turns out there are still guys out there who can amaze the world by squeezing last bits out of C64... If you had C64 and you've ever felt a bit nostalgic about it, I suggest you install vice and watch these demos:&lt;ul&gt;&lt;li&gt;&lt;a href="http://noname.c64.org/csdb/release/?id=72550"&gt;"Edge of Disgrace"&lt;/a&gt; by Booze Design, 1st place at C64 Demo Competition at X'2008.&lt;/li&gt;&lt;li&gt;&lt;a href="http://noname.c64.org/csdb/release/?id=72560"&gt;"Natural Wonders 2"&lt;/a&gt; by Oxyron, 2nd place at X'2008.&lt;/li&gt;&lt;li&gt;&lt;a href="http://noname.c64.org/csdb/release/?id=72553"&gt;"Pearls for Pigs"&lt;/a&gt; by Xenon, 3rd place at X'2008.&lt;/li&gt;&lt;/ul&gt;Going back to 2007... Check out &lt;a href="http://noname.c64.org/csdb/release/?id=48039"&gt;"Desert Dream"&lt;/a&gt; demo by Chorus &amp;amp; Resource - these guys made an excellent remake of the &lt;a href="http://kestra.exotica.org.uk/demo.php?id=9599"&gt;popular Kefrens' demo&lt;/a&gt; from Amiga. Simply amazing.&lt;br /&gt;&lt;br /&gt;BTW... A nice video about C64 internals and capabilities has been recently made available - see &lt;a href="http://www.pagetable.com/?p=54"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3233737860554392909?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3233737860554392909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3233737860554392909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3233737860554392909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3233737860554392909'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2009/01/vice-21.html' title='Vice 2.1'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/SV0px_9gykI/AAAAAAAAA9I/BJUe8Npzj3o/s72-c/Screenshot-VICE:+C64+emulator.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5010746503402281089</id><published>2008-12-22T04:08:00.001-08:00</published><updated>2009-02-06T11:15:37.583-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>CD/DVD burning broken in openSuse 11.1</title><content type='html'>CD/DVD burning seems to be broken/not working by default in openSuse 11.1 - at least on my PC with a pretty standard 5-years old DVDRW drive from LG. There seems to be a problem with device permissions: the /dev/sr0 device (my DVDRW drive) is owned by root:disk and therefore not accessible for CD burning software (/usr/bin/wodim to be exact) when executed by regular users. Here is a workaround for this problem:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;make your user a member of "cdrom" group&lt;/li&gt;&lt;li&gt;create /etc/udev/rules.d/99-my.rules file with the following entry:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;KERNEL=="sr*[0-9]", GROUP="cdrom", MODE="0660"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;set setuid bit for /usr/bin/wodim (note: this has some security implications; make sure you understand what &lt;/span&gt;it is all about):&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;chmod u+s /usr/bin/wodim&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;reboot&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Remarks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;this assumes your CD/DVD writer is mapped to a /dev/sr* device (should be the case for all drives, but I couldn't verify that).&lt;/li&gt;&lt;li&gt;if this rule causes any side-effects to other /dev/sr* devices you may have installed, restrict the rule for specific device instead of using regular expression.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;It would be of course possible to make your user a member of "disk" group, but it would be a real security problem, as this would also allow for low level access to hard disks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Updates:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the bug has already been reported on &lt;a href="https://bugzilla.novell.com/show_bug.cgi?id=408252"&gt;Novell's bugzilla&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;making wodim setuid seems to be not needed after all (udev rule is enough).&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5010746503402281089?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5010746503402281089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5010746503402281089' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5010746503402281089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5010746503402281089'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/12/cddvd-burning-broken-in-opensuse-111.html' title='CD/DVD burning broken in openSuse 11.1'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8854758408417476131</id><published>2008-12-19T13:53:00.000-08:00</published><updated>2009-02-06T11:17:12.698-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>openSuse 11.1 and ath5k</title><content type='html'>I've just upgraded to the latest &lt;a href="http://opensuse.org/"&gt;openSuse 11.1&lt;/a&gt;. Everything went smooth except for some issues with wireless networking (Atheros wifi card with AR2413 chip) - not really problems of openSuse itself, but it turned out that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://madwifi-project.org/"&gt;madwifi-0.9.4&lt;/a&gt; doesn't compile with kernel-2.6.27 sources provided with openSuse (I haven't tried to google this problem or use madwifi from trunk)&lt;/li&gt;&lt;li&gt;standard ath5k driver now works fine with my card (to my surprise) - no need to compile madwifi anymore; however&lt;/li&gt;&lt;li&gt;ath5k doesn't seem to support WPA2; I had to switch to WEP for now :(&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8854758408417476131?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8854758408417476131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8854758408417476131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8854758408417476131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8854758408417476131'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/12/opensuse-111-and-ath5k.html' title='openSuse 11.1 and ath5k'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3668996547555338294</id><published>2008-12-05T13:51:00.000-08:00</published><updated>2009-02-06T11:18:33.001-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>GNOME menu structure in openSuse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JwtBWdXuLw/STmlSbjqL5I/AAAAAAAAA8k/klt3z2k_Oaw/s1600-h/s2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 144px; height: 200px;" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/STmlSbjqL5I/AAAAAAAAA8k/klt3z2k_Oaw/s200/s2.png" alt="" id="BLOGGER_PHOTO_ID_5276430174494797714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JwtBWdXuLw/STmi9TxqmUI/AAAAAAAAA8c/hkoT4UuqfNI/s1600-h/s1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 166px; height: 185px;" src="http://3.bp.blogspot.com/_3JwtBWdXuLw/STmi9TxqmUI/AAAAAAAAA8c/hkoT4UuqfNI/s200/s1.png" alt="" id="BLOGGER_PHOTO_ID_5276427612605552962" border="0" /&gt;&lt;/a&gt;If you don't like the structure of traditional GNOME menu in openSuse 11.0, with its plethora of sub-categories in each submenu, then here is a simple workaround: just copy or rename&lt;span style="font-family:courier new;"&gt; /etc/xdg/menus/gnome-applications.menu&lt;/span&gt; to applications.menu. This file defines how menu entires should be laid out in the menus with respect to their "Categories" definitions in *.desktop files. The gnome-applications.menu defines a simple layout with top-level categories only - see screenshots. The only side effect of this trick that I noticed so far is no menu entry for YaST, but this can be added manually with menu editor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3668996547555338294?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3668996547555338294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3668996547555338294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3668996547555338294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3668996547555338294'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/12/gnome-menu-structure-in-opensuse.html' title='GNOME menu structure in openSuse'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3JwtBWdXuLw/STmlSbjqL5I/AAAAAAAAA8k/klt3z2k_Oaw/s72-c/s2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-223682017947625120</id><published>2008-11-12T12:06:00.000-08:00</published><updated>2009-02-06T11:19:18.896-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu bootsplash corruption</title><content type='html'>If you have ever recreated your swap partition and you're using Ubuntu, then you might have experienced a problem I had with bootsplash no longer working correctly. Even with /etc/fstab updated with new UUID of the swap partition the bootsplash would be interrupted with console messages. The solution:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;get the UUID of swap partition, e.g. &lt;span style="font-family:courier new;"&gt;blkid /dev/sda3&lt;/span&gt;&lt;/li&gt;&lt;li&gt;update /etc/fstab swap entry with new UUID&lt;/li&gt;&lt;li&gt;update /etc/initramfs-tools/conf.d/resume with new UUID&lt;/li&gt;&lt;li&gt;recreate initramfs: &lt;span style="font-family:courier new;"&gt;sudo update-initramfs -u&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;If your swap partition doesn't have an UUID (this can happen if you recreated it with other Linux distribution), then you should recreate it in Ubuntu with mkswap.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-223682017947625120?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/223682017947625120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=223682017947625120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/223682017947625120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/223682017947625120'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/11/ubuntu-bootsplash-corruption.html' title='Ubuntu bootsplash corruption'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4146790394540602482</id><published>2008-09-12T08:48:00.000-07:00</published><updated>2009-02-06T11:20:35.296-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='metallica'/><title type='text'>Death Magnetic</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3JwtBWdXuLw/SMqPYQC8lTI/AAAAAAAAAwA/NlubIybEgtA/s1600-h/DM_scover.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 253px; height: 253px;" src="http://2.bp.blogspot.com/_3JwtBWdXuLw/SMqPYQC8lTI/AAAAAAAAAwA/NlubIybEgtA/s320/DM_scover.jpg" alt="" id="BLOGGER_PHOTO_ID_5245162362813322546" border="0" /&gt;&lt;/a&gt;The new album from Metallica has been finally released! Rejoice!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4146790394540602482?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4146790394540602482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4146790394540602482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4146790394540602482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4146790394540602482'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/09/death-magnetic.html' title='Death Magnetic'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3JwtBWdXuLw/SMqPYQC8lTI/AAAAAAAAAwA/NlubIybEgtA/s72-c/DM_scover.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1085485495726803305</id><published>2008-08-31T01:01:00.000-07:00</published><updated>2009-02-06T11:29:16.198-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kleansweep'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Received first donation!</title><content type='html'>One of my pet projects - KleanSweep - got a first PayPal donation! I've received a lot of positive feedback throughout past few years, but this is the first time someone decided to support my project by donation. This is very refreshing and encouraging. The donator comes from Netherlands and would like to be anonymous. Here is what he wrote to me - something that really stirred me:&lt;br /&gt;"I think Linux users sometimes forget to make a small donation (if you can afford it of course) to people, like you, who make Linux possible. You put time and effort in it and we can use it, so for me it's normal to donate".&lt;br /&gt;&lt;br /&gt;Thank you, the donator!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1085485495726803305?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1085485495726803305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1085485495726803305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1085485495726803305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1085485495726803305'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/08/received-first-donation.html' title='Received first donation!'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1149479798173244505</id><published>2008-08-27T05:32:00.000-07:00</published><updated>2009-02-06T11:21:55.798-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Must-have VIM plugins</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_3JwtBWdXuLw/SLVPB4UeMWI/AAAAAAAAAsQ/UmB42UPn2HM/s1600-h/code_complete.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_3JwtBWdXuLw/SLVPB4UeMWI/AAAAAAAAAsQ/UmB42UPn2HM/s320/code_complete.png" alt="" id="BLOGGER_PHOTO_ID_5239180635232153954" border="0" /&gt;&lt;/a&gt;A few cool &lt;a href="http://vim.sf.net/"&gt;vim&lt;/a&gt; plugins I use for programming:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=42"&gt;Bufexplorer&lt;/a&gt; - nice buffer explorer&lt;/li&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=273"&gt;Taglist&lt;/a&gt; - source code browser for popular programming languages (C, C++, python...), similar to modern IDEs; relies on ctags.&lt;/li&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=31"&gt;A (a.vim, Alternate Files Quickly)&lt;/a&gt; - provides shortcuts for switching between source and header files quickly; supports C, C++, ADA95.&lt;/li&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=213"&gt;C (c.vim, C/C++ Support) &lt;/a&gt;- lots of helpers for C/C++ programmers: code snippets, common idioms (e.g. for loop, try ... catch blocks etc.) and more - all of that is customizable.&lt;/li&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=2009"&gt;AutoClose&lt;/a&gt; - smart auto close for pair of characters - type "(" and it will automatically put ")" with cursor in-between; support quotes, brackets, square brackets as well as custom characters.&lt;/li&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=1764"&gt;code_complete&lt;/a&gt; - one of my most recent findings - a real lifesaver; provides code snippets with ability to switch between parameters: type "for&lt;tab&gt;"&amp;lt; TAB &amp;gt;, and it will automatically insert "for" loop for you with placeholders for loop parameters; pressing &lt;/tab&gt;&amp;lt; TAB &amp;gt; &lt;tab&gt;&lt;tab&gt; will move to next parameter. See screenshot. Snippets are fully customizable.&lt;/tab&gt;&lt;/tab&gt;&lt;/li&gt;&lt;li&gt;&lt;tab&gt;&lt;tab&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=1890"&gt;LustyExplorer&lt;/a&gt; - filesystem and buffer explorer; takes little space, has nice autocompletion and has one feature I like in particular: &lt;/tab&gt;&lt;/tab&gt;&lt;leader&gt;&amp;lt;Leader &amp;gt; lr opens the filesystem explorer at the directory of the current file. Really useful.&lt;/leader&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=1218"&gt;NERD Commenter&lt;/a&gt; - provides keystrokes for commenting out code for many filetypes. Supports tens of popular configuration files and programming languages.&lt;/li&gt;&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=1658"&gt;NERD tree&lt;/a&gt; - another filesystem explorer&lt;/li&gt;&lt;/ul&gt;I consider some of them as a must-have vim companion: code_complete, AutoClose, A, LustyExplorer / Bufexplorer. Let me know if you think I missed a useful plugin!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1149479798173244505?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1149479798173244505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1149479798173244505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1149479798173244505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1149479798173244505'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/08/must-have-vim-plugins.html' title='Must-have VIM plugins'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3JwtBWdXuLw/SLVPB4UeMWI/AAAAAAAAAsQ/UmB42UPn2HM/s72-c/code_complete.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-2753529072502385828</id><published>2008-08-12T03:35:00.000-07:00</published><updated>2009-02-06T11:22:29.213-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Encrypted loop device on boot</title><content type='html'>There are a lot of tutorials on how to setup an encrypted LUKS home / root / swap partitions available, but I couldn't find any description about setting up an encrypted loop device on boot. It's easy to create an encrypted file and mount it manually, but I just couldn't find a way to configure it with /etc/crypttab to have it mounted on boot. So, here is the solution for Ubuntu 8.04 (should work on other distros that support crypttab too):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create an encrypted file first - this is covered in a lot of tutorials, but let's do it here (you need to be root to do this):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;create empty /.cryptdata file&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dd if=/dev/zero of=/.cryptdata count=10 bs=1M&lt;/span&gt;&lt;/li&gt;&lt;li&gt;mount it via loop device&lt;br /&gt;losetup /dev/loop0 /.cryptdata&lt;/li&gt;&lt;li&gt;create an encrypted volume out of it&lt;br /&gt;cryptsetup luksFormat /dev/loop0&lt;/li&gt;&lt;li&gt;open the volume&lt;br /&gt;cryptsetup luksOpen /dev/loop0 cryptdata&lt;/li&gt;&lt;li&gt;format the volume (create filesystem)&lt;br /&gt;mke2fs -j /dev/mapper/cryptdata&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Add the following entry to /etc/crypttab:&lt;br /&gt;cryptdata /.cryptdata none luks&lt;/li&gt;&lt;li&gt;Add the following entry to /etc/fstab:&lt;br /&gt;/dev/mapper/cryptdata /home/cryptdata   ext3   relatime 0 2&lt;/li&gt;&lt;li&gt;Create mountpoint for the encrypted filesystem:&lt;br /&gt;mkdir /home/cryptdata&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Starting from now, the encrypted file will be mounted via loop device on system startup; you'll be asked for encryption password.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-2753529072502385828?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/2753529072502385828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=2753529072502385828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2753529072502385828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2753529072502385828'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/08/encrypted-loop-device-on-boot.html' title='Encrypted loop device on boot'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8495407329092710564</id><published>2008-08-12T03:10:00.000-07:00</published><updated>2009-02-06T11:23:00.614-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sabayon'/><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Distro hopping is over...</title><content type='html'>For a last couple of months I've been switching distros a lot just to find out that each has its own problems and bugs. Eventually I ended up with latest Ubuntu 8.04 . It's not perfect, but it is closest to what I expect from modern distro; let's hope their new &lt;a href="http://fridge.ubuntu.com/node/1594"&gt;QA efforts&lt;/a&gt; will soon bring some improvements. Some complaints regarding distros I recently tried:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; OpenSuse 11.0 - after initial excitement I started to be fatigued by some irritating bugs (e.g. repository refreshing errors - why does it result in error message-box??). Other than that, changes to zypper were very nice (read: speed).&lt;/li&gt;&lt;li&gt;Sabayon 3.5 - I've always felt Gentoo is too much work for a daily use; Sabayon is a nice way to try out Gentoo without getting your hands dirty. I was initially very impressed by it, but it soon turned out that &lt;a href="http://wiki.sabayonlinux.org/index.php?title=En:Entropy"&gt;Entropy/Equo&lt;/a&gt; didn't play &lt;a href="http://bugs.sabayonlinux.org/show_bug.cgi?id=486"&gt;nice&lt;/a&gt; with Portage. After waiting for a few weeks for this bug to be fixed (and it's still not fixed), I came to the conclusion that Sabayon probably needs more manpower to work on bugs. Anyway, this is a very nice distro with a lot of potential.&lt;/li&gt;&lt;li&gt;Ubuntu 8.04 - a lot of people complain about getting wireless networking to work; Surprisingly to me, I had problems too (I've an Atheros-based NIC that has always been working fine with madwifi drivers for me) - my NIC was connecting to &lt;a href="http://ubuntuforums.org/showthread.php?t=876987"&gt;wrong AP on boot&lt;/a&gt;, but I finally found a workaround.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So, for now I will stick with latest Ubuntu. Distro hopping is over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8495407329092710564?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8495407329092710564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8495407329092710564' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8495407329092710564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8495407329092710564'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/08/distro-hopping-is-over.html' title='Distro hopping is over...'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7180999701745138736</id><published>2008-06-17T13:31:00.001-07:00</published><updated>2009-02-06T11:23:35.158-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>June - new great software</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;This month seems to be very fruitful when it comes to software - just to mention three products:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt; 9.50 released a few days ago&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.spreadfirefox.com/"&gt;Firefox&lt;/a&gt; 3 released today&lt;/li&gt;&lt;li&gt;&lt;a href="http://opensuse.org/"&gt;OpenSuse&lt;/a&gt; 11.0 - to be released tomorrow&lt;/li&gt;&lt;/ul&gt;I've been playing with newest Opera for a couple of hours but unfortunately, despite of all the nice features, performance improvements etc. it keeps crashing on flash web sites on both computers that I tried (one with OpenSuse 10.3, the other with Fedora 8)... That's a pity (and yes, I setup plugin directories so that flash plugin is listed only once, and yes - I tried both stable and devel releases of flash player, that is 9 and 10).  On the other hand, Firefox 3 works just fine. Now I'm eager to burn and install the newest OpenSuse :)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7180999701745138736?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7180999701745138736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7180999701745138736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7180999701745138736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7180999701745138736'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/06/june-new-great-software.html' title='June - new great software'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1875824890889291164</id><published>2008-05-28T14:23:00.001-07:00</published><updated>2008-05-28T14:23:05.097-07:00</updated><title type='text'>Computer Science graduation</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I've just graduated master degree studies in computer science today :) Yeeeeah! &lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1875824890889291164?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1875824890889291164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1875824890889291164' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1875824890889291164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1875824890889291164'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/05/computer-science-graduation.html' title='Computer Science graduation'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5248360539192535609</id><published>2008-05-01T04:20:00.001-07:00</published><updated>2008-05-01T04:27:15.461-07:00</updated><title type='text'>Flock 1.1 - Picasa support</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.ggpht.com/stolowski/SBmkE14fBQI/AAAAAAAAAms/B-G-m5NqQAE/Screenshot.png?imgmax=400"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 272px; height: 201px;" src="http://lh4.ggpht.com/stolowski/SBmkE14fBQI/AAAAAAAAAms/B-G-m5NqQAE/Screenshot.png?imgmax=400" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/lh/photo/S77ObfBYS64YAlLXfOST_g" title="Screenshot.png"&gt;&lt;/a&gt;The new&lt;a href="http://flock.com/"&gt; Flock 1.1&lt;/a&gt; finally supports &lt;a href="http://picasaweb.google.com/"&gt;Picasa Web Albums&lt;/a&gt; :). This is really nice addition that encouraged me to make Flock my default web browser. With built-in feed reader (which is really slick by the way), media bar, powerful bookmark handling, GMail, Picasaweb and Blogger support (just to name a few I use - there are &lt;a href="http://www.flock.com/supported-services"&gt;more&lt;/a&gt;!) this is really a superb web browser. Let's see how it works long-term. BTW, this post was published with integrated Flock's blog editor.&lt;a href="http://picasaweb.google.com/lh/photo/S77ObfBYS64YAlLXfOST_g" title="Screenshot.png"&gt; &lt;/a&gt;&lt;span id="flock-breadcrumb"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5248360539192535609?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5248360539192535609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5248360539192535609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5248360539192535609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5248360539192535609'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/05/flock-11-picasa-support.html' title='Flock 1.1 - Picasa support'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/stolowski/SBmkE14fBQI/AAAAAAAAAms/B-G-m5NqQAE/s72-c/Screenshot.png?imgmax=400' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-3868492720257715298</id><published>2008-04-30T15:07:00.001-07:00</published><updated>2009-02-06T11:30:33.028-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ania'/><title type='text'>Triumph (6 months old)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_3JwtBWdXuLw/SBjuPl4fBGI/AAAAAAAAAko/r87RqNrtANI/s1600-h/00161.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_3JwtBWdXuLw/SBjuPl4fBGI/AAAAAAAAAko/r87RqNrtANI/s320/00161.jpg" alt="" id="BLOGGER_PHOTO_ID_5195164121806341218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_3JwtBWdXuLw/SBjuL14fBFI/AAAAAAAAAkg/Cxk9PzProFY/s1600-h/x.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_3JwtBWdXuLw/SBjuL14fBFI/AAAAAAAAAkg/Cxk9PzProFY/s320/x.jpg" alt="" id="BLOGGER_PHOTO_ID_5195164057381831762" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-3868492720257715298?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/3868492720257715298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=3868492720257715298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3868492720257715298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/3868492720257715298'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/04/triumph.html' title='Triumph (6 months old)'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_3JwtBWdXuLw/SBjuPl4fBGI/AAAAAAAAAko/r87RqNrtANI/s72-c/00161.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8384273374935375009</id><published>2008-04-30T14:33:00.000-07:00</published><updated>2009-02-06T11:24:58.254-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Distro switching</title><content type='html'>I've been experimenting with Linux distros again... Enough to say, after my Ubuntu 7.10 - OpenSuse 10.3 - Ubuntu 7.10 trip (described previously here) I decided to keep looking for a replacement of Ubuntu. This led me to Fedora 8; it stayed on my hdd for a few weeks and worked well albeit a bit slow. This led me to.... OpenSuse again. Yap. I decided to give it a try again, this time being more careful when mixing repos. And you know what... with zypper utility, package management in OpenSuse becomes easier and snappier. It's not as fast as apt-get, but it's way faster than yast; it can be compared to yum when it comes to speed. I can live with that. So far, I'm very happy with OpenSuse and I'm eager to install version 11. I still have Fedora 8 on my laptop at work. Time permitting I may upgrade it to Fedora 9 (just to see what's new) or will move to OpenSuse 11. Time will tell.&lt;br /&gt;In the meantime Ubuntu 8.04 was released... and I'm no longer tempted to install a new version of it: reading all the &lt;a href="http://beranger.org/index.php?page=diary&amp;amp;2008/04/25/08/30/01-ubuntu-8-04-quot-oliver-hardy-qu"&gt;complaints&lt;/a&gt; confirms my feelings about lack of QA for this distro.... This is really sad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8384273374935375009?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8384273374935375009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8384273374935375009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8384273374935375009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8384273374935375009'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/04/distro-switching.html' title='Distro switching'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5703646382440525687</id><published>2008-03-09T03:34:00.000-07:00</published><updated>2009-05-08T14:14:23.483-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='astaro'/><category scheme='http://www.blogger.com/atom/ns#' term='job'/><category scheme='http://www.blogger.com/atom/ns#' term='praca'/><title type='text'>Nowa praca</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_3JwtBWdXuLw/R9O-OXSzZRI/AAAAAAAAAa8/ii2SfQe4cnk/s1600-h/asg.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_3JwtBWdXuLw/R9O-OXSzZRI/AAAAAAAAAa8/ii2SfQe4cnk/s320/asg.jpg" alt="" id="BLOGGER_PHOTO_ID_5175689550759159058" border="0" /&gt;&lt;/a&gt;Minął właśnie miesiąc od czasu, jak zmieniłem pracę. Z dużej korporacji przeszedłem do mniejszej, ale bardzo prężnej firmy - &lt;a href="http://www.astaro.com/"&gt;Astaro AG&lt;/a&gt; - która właśnie otwiera swoją siedzibę w Bydgoszczy. Ku mojej ogromnej radości, mam możliwość programować w nowoczesnym C++ i to - uwaga - pod Linuksem, jako że produkt jest oparty na tym systemie :). Cóż, nigdy nie podejrzewałem, że dane będzie mi robić to, co interesuje mnie najbardziej w rodzinnym mieście... A tu niespodzianka :). Na zdjęciu: Astaro Security Gateway (home edition), który broni teraz mojej sieci domowej przed czarnymi charakterami ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5703646382440525687?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5703646382440525687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5703646382440525687' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5703646382440525687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5703646382440525687'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/03/nowa-praca.html' title='Nowa praca'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_3JwtBWdXuLw/R9O-OXSzZRI/AAAAAAAAAa8/ii2SfQe4cnk/s72-c/asg.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-5960330838404766024</id><published>2008-01-15T14:24:00.000-08:00</published><updated>2010-10-22T05:43:00.135-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='world war II'/><category scheme='http://www.blogger.com/atom/ns#' term='II wojna światowa'/><category scheme='http://www.blogger.com/atom/ns#' term='książki'/><title type='text'>Biwa o Atlantyk</title><content type='html'>&lt;a href="http://bp2.blogger.com/_3JwtBWdXuLw/R40y6svpOgI/AAAAAAAAAVU/3W0blB_PT_E/s1600-h/ub.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5155833132433881602" src="http://bp2.blogger.com/_3JwtBWdXuLw/R40y6svpOgI/AAAAAAAAAVU/3W0blB_PT_E/s200/ub.jpg" style="cursor: pointer; float: right; margin: 0pt 0pt 10px 10px;" /&gt;&lt;/a&gt;Kilka tygodni temu zakończyłem czytanie "Bitwy o Atlantyk" B. Ireland'a - całkiem przyzwoitej lektury wprowadzającej w temat walki niemieckich u-bootów w trakcie II wojny światowej. Główne wnioski, jakie płyną z tej pozycji są następujące: zagrożenie ze strony u-bootów zostało zmitologizowane i w rzeczywistości los im nie sprzyjał - olbrzymi wzrost produkcji okrętów (pomoc, a później włączenie się Stanów Zjednoczonych i ich gospodarki do wojny), coraz skuteczniejsze konwojowanie (więcej konwojów, wzrost doświadczenia ich załóg),  wynalazki aliantów, złamanie Enigmy - wszystko to przyczyniło się do nieuchronnej porażki U-Bootwaffe; dość powiedzieć, że spośród 40 tys. służących w niej marynarzy, do domów nie powróciło 28 tys. Książka Ireland'a ma niestety trzy wady: po pierwsze jest dość krótka, po drugie - miejscami wydaje się chaotyczna (czytając wielokrotnie łapałem się na tym, że gubię wątek...hmm, może to ze mną coś nie tak ;)), po trzecie - brak bibliografii (hmmm....). Niemniej, jak wspomniałem, pozycję tą można potraktować jako dobry wstęp do tematu i oceniam ją na 4/5. Teraz jestem gotów na "Hitlera wojnę u-bootów" - tom 1 już wziąłem w obroty i po przeczytaniu jakichś 100 stron mogę z czystym sumieniem powiedzieć - to jest TO! Książka napisana z niesamowitym przywiązaniem do detali i ogromną znajomością tematu - wystarczy spojrzeć na spis treści albo kilkadziesiąt stron aneksów w drugim tomie aby wiedzieć, że autor bardzo rzetelnie podszedł do sprawy. Mniam. Przetrawienie tej pozycji zajmie mi pewnie kilka dobrych miechów i prawdopodobnie zaspokoję swoją wtedy ciekawość w kwestii u-bootów (no, może skuszę się jeszcze na książkę traktującą o operacji Paukenshlag.... widziałem że wyszła takowa)... Wrócę wtedy być może do tematu D-Day (w kolejce do przeczytania czeka "Kompania spadochronowa" Webster'a....). Ech... wakacji chcę, wakacji!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-5960330838404766024?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/5960330838404766024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=5960330838404766024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5960330838404766024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/5960330838404766024'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/01/biwa-o-atlantyk.html' title='Biwa o Atlantyk'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_3JwtBWdXuLw/R40y6svpOgI/AAAAAAAAAVU/3W0blB_PT_E/s72-c/ub.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8922781532929623836</id><published>2008-01-10T13:28:00.000-08:00</published><updated>2009-02-06T11:25:36.209-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Back to Ubuntu</title><content type='html'>After a one-week OpenSUSE adventure I've restored my /dev/sda1 with Ubuntu installation (thanks heaven there is &lt;a href="http://www.partimage.org/"&gt;partimage&lt;/a&gt;, so it took me only around 20 minutes). The lesson I learned: don't mix community repos in OpenSUSE (especially Pacman and Community GNOME:Stable unless you know what you're doing) ;). Future direction: I'm tempted to install Debian 4.0 and either use &lt;a href="http://backports.org/"&gt;backports.org&lt;/a&gt; extensively or upgrade to Debian testing... Maybe I'll give it a shot in virtual machine first.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8922781532929623836?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8922781532929623836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8922781532929623836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8922781532929623836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8922781532929623836'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2008/01/back-to-ubuntu.html' title='Back to Ubuntu'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-7682145892718025606</id><published>2007-12-30T11:28:00.000-08:00</published><updated>2009-02-06T11:24:35.557-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>OpenSUSE 10.3</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_3JwtBWdXuLw/R3fyCsvpOII/AAAAAAAAAR8/dOHxA2aARFA/s1600-h/Screenshot.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_3JwtBWdXuLw/R3fyCsvpOII/AAAAAAAAAR8/dOHxA2aARFA/s200/Screenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5149850827106105474" border="0" /&gt;&lt;/a&gt;I've just replaced Ubuntu 7.10 with OpenSUSE 10.3 on my desktop.  I occasionally test various distros just to see how they perform but usually go back to the one I got used to use. Ubuntu has been my distro of choice starting from Dapper release (6.06), but I'm getting worried about the directions they take and overall progress of that distro; they seem to focus on  adding new enhancements rather than polishing the distro and hammering bugs out; other than that, 6-months release cycle is IMHO not good for the quality - they should rather release it when it's ready. Having said that, I really like OpenSUSE. It has some glitches, but overall it looks really polished and professional. I had some gripes with my Atheros-based wifi card after installation (due to lack od madwifi on the DVD), but other than that everything works great. Yast is a really nice shortcut for doing some initial administrative tasks, although it could see some performance improvements. I also like the idea of OpenSUSE' One-Click software installation - this really works! So, to summarize my two-days experience, here are the pros and cons:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;really nice looking default artwork and theme&lt;/li&gt;&lt;li&gt;runs fast&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Yast2 saves time on manual configuration and works well&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Huge selection of software via additonal repositories; easy access to community repositories (via Yast2)&lt;/li&gt;&lt;li&gt;One-click software installation (on http://software.opensuse.org), easy installation of NVidia (and ATI) drivers&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Cons:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;No madwifi in default installation&lt;/li&gt;&lt;li&gt;Yast2 can make life difficult sometimes (e.g. by requiring no manual modifications in xorg.conf)&lt;/li&gt;&lt;li&gt;occasional xdialog popups on errors (probably related to Yast2 errors)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-7682145892718025606?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/7682145892718025606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=7682145892718025606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7682145892718025606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/7682145892718025606'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2007/12/opensuse-103.html' title='OpenSUSE 10.3'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_3JwtBWdXuLw/R3fyCsvpOII/AAAAAAAAAR8/dOHxA2aARFA/s72-c/Screenshot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4440054159870138185</id><published>2007-11-25T11:20:00.000-08:00</published><updated>2009-02-06T11:30:18.353-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ania'/><title type='text'>printf("Hello world!\n");</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_3JwtBWdXuLw/R0nMECwVGXI/AAAAAAAAAJ0/MptwrnIo2Dw/s1600-h/ania.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 303px; height: 214px;" src="http://bp0.blogger.com/_3JwtBWdXuLw/R0nMECwVGXI/AAAAAAAAAJ0/MptwrnIo2Dw/s320/ania.jpg" alt="" id="BLOGGER_PHOTO_ID_5136861219823884658" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;12 Nov 07&lt;/span&gt; - this was the day my daughter Ania was born! And this is a 2nd week for me in the new role (a dad!).&lt;br /&gt;&lt;br /&gt;More content here: http://picasaweb.google.com/stolowski&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4440054159870138185?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4440054159870138185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4440054159870138185' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4440054159870138185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4440054159870138185'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2007/11/printfhello-worldn.html' title='printf(&quot;Hello world!\n&quot;);'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_3JwtBWdXuLw/R0nMECwVGXI/AAAAAAAAAJ0/MptwrnIo2Dw/s72-c/ania.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-2050434981095642678</id><published>2007-11-07T13:30:00.001-08:00</published><updated>2009-02-06T11:27:47.966-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qcomicbook'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>QComicBook 0.4.0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_3JwtBWdXuLw/RzIyq8tnlMI/AAAAAAAAADA/8uApjsG3Kkk/s1600-h/zrzutekranu.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 288px; height: 237px;" src="http://bp2.blogger.com/_3JwtBWdXuLw/RzIyq8tnlMI/AAAAAAAAADA/8uApjsG3Kkk/s320/zrzutekranu.jpg" alt="" id="BLOGGER_PHOTO_ID_5130218638961775810" border="0" /&gt;&lt;/a&gt;After a long struggle with Qt4 porting, new QComicBook release is finally available! It's not too exciting if you talk about new features, but now, as the pain with porting is over, I can focus on adding new functionality. The first enhancement I'm currently planning is an "export" framework, which would support exporting to PDF as well as other archives (archive conversion). In the meantime, I'm evaluating the following enhancements:&lt;ul&gt;&lt;li&gt;painting via QGrahpicsView &amp;amp; friends with OpenGL (seems to be too slow without OpenGL if image rotation is in use)&lt;/li&gt;&lt;li&gt;bringing back excellent Imlib2 library for faster image rendering; I had to drop it temporarily when moving to Qt4.&lt;/li&gt;&lt;/ul&gt;I must mention that Mercurial is a real lifesaver as I'm now able to clone my qcomicbook repo in just a few seconds and work on each feature independently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-2050434981095642678?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/2050434981095642678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=2050434981095642678' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2050434981095642678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/2050434981095642678'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2007/11/qcomicbook-040.html' title='QComicBook 0.4.0'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_3JwtBWdXuLw/RzIyq8tnlMI/AAAAAAAAADA/8uApjsG3Kkk/s72-c/zrzutekranu.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-8773539142564751320</id><published>2007-11-05T14:29:00.000-08:00</published><updated>2009-02-06T11:30:57.916-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Mercurial</title><content type='html'>I've finally decided to convert my repos to &lt;a href="http://www.selenic.com/mercurial/"&gt;Mercurial.&lt;/a&gt; Thanks to the built-in "convert" module that Mercurial has, converting existing svn repos turned out to be as simple as typing: &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;hg convert --config convert.svn.trunk=trunk --config convert.svn.tags=tags --config convert.svn.branches=branches file:///usr/local/var/svnrepos/qcomicbook qcomicbook&lt;br /&gt;&lt;br /&gt;It also turned out, that tags were properly converted - they are just available via Mercurial' "tags" mechanism (and don't appear as subdirectories of the repository...) - just type "hg tags" and here you go... Excellent! Other than that, Mercurial seems to be really fast (as advertised) and easy repository cloning will be a real lifesaver.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-8773539142564751320?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/8773539142564751320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=8773539142564751320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8773539142564751320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/8773539142564751320'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2007/11/mercurial.html' title='Mercurial'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-1445075872070894240</id><published>2007-11-03T08:29:00.000-07:00</published><updated>2009-02-06T11:31:11.844-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Distributed VCS</title><content type='html'>I've been using Subversion (aka SVN) to handle my source code for a couple of years, but decided to migrate to a &lt;a href="http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/"&gt;Distributed Version Control System&lt;/a&gt;. Main reason for switching is easy branching and merging that DVCS offer. I want to have a repo on my desktop as well as on laptop and pendrive, crete separate branches for various features and be able to merge them all easily. I'm currently evaluating two most promising solutions: Bazaar and Mercurial. Both are similar, however Mercurial seems to be faster, more stable and it's already being used by some well known projects (e.g. OpenSolaris, Mozilla, ALSA - just to name a few). So, I'll probably end up with Mercurial. The only problem for now is converting my old SVN repos - both solutions provide ways for such migration, but none is perfect when it comes to tags/trunk/branches layout... I'm still trying to find out a proper way to do the conversion... Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-1445075872070894240?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/1445075872070894240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=1445075872070894240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1445075872070894240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/1445075872070894240'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2007/11/distributed-vcs.html' title='Distributed VCS'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579232736983974399.post-4982213647948320556</id><published>2007-11-01T10:07:00.000-07:00</published><updated>2007-11-01T10:42:52.960-07:00</updated><title type='text'>initialize();</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_3JwtBWdXuLw/RyoJ9stnlJI/AAAAAAAAACo/5ZVFhnfuO9M/s1600-h/blog1.jpg"&gt;&lt;img src="http://bp1.blogger.com/_3JwtBWdXuLw/RyoJ9stnlJI/AAAAAAAAACo/5ZVFhnfuO9M/s320/blog1.jpg" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_3JwtBWdXuLw/RyoJ9stnlJI/AAAAAAAAACo/5ZVFhnfuO9M/s320/blog1.jpg" alt="" id="BLOGGER_PHOTO_ID_5127922081293898898" border="0" /&gt;&lt;/a&gt;Hi! Welcome to my Blog! Well... I've never expected this to happen, but finally I came to the conclusion that I need an outlet for my thoughts. Sure I've my home page, but it's not well suited for random thoughts and frequent updates (due to lack of CMS), but rather for hosting my programming projects. Blog seems to be the easiest way for expressing yourself.&lt;br /&gt;&lt;br /&gt;So, what is it going to be like? Hard to say for sure, but definitely it's not going to be a diary - I'm not that kind of guy. Random thoughts about Linux, programming, politics, my projects and my life - that's the stuff you can expect. I'll be writing mainly in English and maybe sometimes in Polish (e.g. when it comes to politics). Please forgive me any grammar or spelling errors, since English is not my native language.&lt;br /&gt;&lt;br /&gt;Have fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579232736983974399-4982213647948320556?l=stolowski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stolowski.blogspot.com/feeds/4982213647948320556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579232736983974399&amp;postID=4982213647948320556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4982213647948320556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579232736983974399/posts/default/4982213647948320556'/><link rel='alternate' type='text/html' href='http://stolowski.blogspot.com/2007/11/initialize.html' title='initialize();'/><author><name>Pawel Stolowski</name><uri>http://www.blogger.com/profile/13012148268146305913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_3JwtBWdXuLw/RyoJ9stnlJI/AAAAAAAAACo/5ZVFhnfuO9M/s72-c/blog1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
