<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0">

<channel>
	<title>Larry the Universe</title>
	<link>http://larrythecow.org/universe/</link>
	<language>en</language>
	<description>Larry the Universe - http://larrythecow.org/universe/</description>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/universe_larry" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="universe_larry" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
	<title>Leif Biberg Kristensen: Concerning Yggdrasil and GEDCOM</title>
	<guid isPermalink="false">http://solumslekt.org/blog/?p=341</guid>
	<link>http://solumslekt.org/blog/?p=341</link>

	<description>&lt;p&gt;I got an email which prompted me to explain the major differences between the Yggdrasil data model and the GEDCOM model at some length, from a prospective user’s point of view. I thought that my reply might be of interest to others, so here goes. I’ve inserted some additional thoughts in italics.&lt;/p&gt;
&lt;p&gt;The main points in which the Yggdrasil model differs from the GEDCOM model is not related to the events. I’m still using an equivalent of the standard GEDCOM tag model of BIRT, DEAT, MARR, and so on, each with their own date and place attributes.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Although I’m starting to wonder. Consider the MARR tag, which in Yggdrasil (as in &lt;a href="http://whollygenes.com/"&gt;TMG&lt;/a&gt; by the way) is just another event involving two persons. In GEDCOM terms, the MARR isn’t necessarily associated with an actual marriage event, but is integral to the Family structure. I inherited the Family-less data structure from TMG, and haven’t offered it much thought since way back in 1997, when I migrated my first 1200+ persons from &lt;a href="http://www.bkwin.org/"&gt;Brother’s Keeper&lt;/a&gt; to TMG and found it a major nuisance to clean up all the Marriage events which originated from just “adding a spouse” in BK without having a primary source of the marriage and consequently no date of the event. Those marriages invariably appeared before the Birth event in TMG, which looked exceedingly ugly, and I had to open each Marriage event and enter an estimated Sort date. Behind the scenes, I figure that BK, like other GEDCOM-compliant programs, automatically would construct a Family with a HUSB and WIFE whenever I added a spouse, and didn’t really care about the Marriage event itself. Any import from a similar GEDCOM-structured program to Yggdrasil would probably involve the same kind of cleanup.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The main incompatibilities with GEDCOM are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The patronym, which is not supported by GEDCOM, but which (I feel) is vital to Norwegian research. The name parts Toponym, Surname, Occupation, and Epithet could easily be lumped into one part labelled as Surname.&lt;/li&gt;
&lt;li&gt;The lack of a Family structure. Persons are linked through parent/child relations, and to a certain degree through marriages. In addition, there’s the free-form interlinkage through person references which comes very naturally and totally for free because of the native HTML/XML textual format.&lt;/li&gt;
&lt;li&gt;The hierarchical source model, which I consider the major force of my approach. It is loosely based on a suggestion by the 2000 Gentech GDM document (see section 5.4: The Evidence Submodel) which states that “the only logical way to model SOURCE data is as a self-referential hierarchy with an unknown number of levels”. &lt;em&gt;(Twelve years later, I don’t know of any other genealogy program which actually has implemented that model.)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;The Person Merge routine will leave a track of the person IDs of the merged persons, and the presentation software utilizes this information to ensure that person links never go stale, by issuing a http redirection header to the merged person ID. It will work its way through an arbitrary number of person merges. This can be considered as a nod to the Gentech GDM concept of a person as a compound of different “Personas” linked together in a tree-like structure. However, whenever I merge persons, all events and relations are transferred to the target person, and then I remove “secondary” events like “births” based on estimates. In a purist GDM approach, you should never have to remove data once entered, and a merge should be fully reversible.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thus, my model doesn’t make a clean break with GEDCOM. It should still be possible to convert my data to a GEDCOM format, although the conversion would naturally be one-way only. &lt;em&gt;(That is, you would lose a lot of structure, but the data should mostly come over quite nicely.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On the other hand, it will of course be possible to convert a traditional family database to the Yggdrasil format; my own initial migration of 13,000 persons from TMG is proof of that. &lt;em&gt;(However, confer my note on the BK-&amp;gt;TMG conversion described above. That involved a major cleanup; in addition to the Marriage issue, I also felt obliged to enter source citations to the parent/child relations. I’ve carried those over to Yggdrasil, too.)&lt;/em&gt; The most labour-intensive part of the conversion was to restructure the sources from the TMG two-level approach (ie. Source and Citation Detail) into a full-blown hierarchy, but it was totally worth it, and actually a whole lot of fun. I wouldn’t dream of going back to a flat source model now.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I don’t know how a conversion would handle unused sources (ie. sources without associations to events or relations), which brings us to the major difference between Yggdrasil and any “family tree” program. This is largely a difference of philosophy. The main usage of Yggdrasil is as a research tool for doing Wall To Wall-genealogy of an entire area (formally known as Family reconstitution). I will typically enter the contents of an entire parish register into the source apparatus, regardless of whether I find a match or not. The matches will usually show up anyway, sooner or later. This stands in stark contrast to the work flow of a typical family historian, who is more apt to hunt through large numbers of records looking for single persons. I’m inclined to consider that as a waste of time.&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 29 May 2012 09:05:20 +0000</pubDate>
</item>
<item>
	<title>Alexander Rink: Personalia</title>
	<guid isPermalink="false">http://behrendt.cc/?p=531</guid>
	<link>http://behrendt.cc/2012/05/personalia/</link>

	<description>Leider müssen wir uns von unserer Lektorin trennen, da sie einfach ins Bett geht, wenn wir noch arbeiten…</description>
	<pubDate>Mon, 28 May 2012 22:34:24 +0000</pubDate>
</item>
<item>
	<title>Paulo Roberto: Problemas de Audio em Guest Windows 7 no VirtualBox</title>
	<guid isPermalink="false">http://stpaul.0xbadc0ffe.org/?p=6</guid>
	<link>http://stpaul.0xbadc0ffe.org/?p=6</link>

	<description>&lt;p&gt;Recentemente tive vontade de jogar alguns jogos simples que não requerem muito do hardware mas não possuem um port para FreeBSD ou Linux (através da emulação binária). Infelizmente wine não era uma opção pois  a instalação deste software no FreeBSD 9 64 bits é um pé no saco. Optei por instalar o VirtualBox que é fácil de usar e é capaz de aceleração 2d e 3d básica. Por algum motivo que não verifiquei o driver de aceleração 3d não funcionou (instalei corretamente em modo seguro) mas tive sucesso com o driver experimental WDDM.&lt;/p&gt;
&lt;p&gt;Entretanto notei que o som fica bastante distorcido na máquina virtual. Uma pesquisa rápida me informou que muitas pessoas se depararam com o mesmo problema, que deve ter algo haver com o IOAPIC e a emulação do dispositivo de audio intel hda. Também notei que sem o IOAPIC a instalação do Windows 7 não é possível. Posso confirmar que o problema persiste na versão 4.1.16.&lt;/p&gt;
&lt;p&gt;A solução que alguns encontraram  foi a &lt;a href="http://forums.virtualbox.org/viewtopic.php?p=51237#p51237"&gt;criação de um arquivo .asound &lt;/a&gt;com alguns parâmetros para o ALSA e outras se contentaram em acessar a máquina virtual via RDP e usar os mecanismos de som do protocolo. Entretanto o FreeBSD não usa ALSA e no meu caso eu também não uso o Esound.&lt;/p&gt;
&lt;p&gt;Para fazer o som da máquina virtual funcionar de forma satisfatória com o OSS do FreeBSD simplesmente troquei o a emulação do dispositivo de áudio para o Realtek AC’97. O Windows 7 não possui drivers para esta placa, porém voce pode baixa-los direto do &lt;a href="http://www.realtek.com.tw/downloads/"&gt;site da Realtek&lt;/a&gt;. Os drivers não são assinados e a qualidade é menor do que teria com o dispositivo intel hda, mas se você quer apenas jogar Baldur’s Gate 2 o resultado é bem satisfatório.&lt;/p&gt;</description>
	<pubDate>Mon, 28 May 2012 05:23:34 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Python 3 support for SELinux userland, tests and policy rev 10</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=615</guid>
	<link>http://blog.siphos.be/2012/05/python-3-support-for-selinux-userland-tests-and-policy-rev-10/</link>

	<description>&lt;p&gt;
In the last few hours I pushed my local changes on the SELinux userland utilities towards the &lt;a href="http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=tree"&gt;hardened-development&lt;/a&gt; overlay. The utilities not only include some bugfixes, but have now also seen a first set of tests towards Python 3.2. In the past, I’ve made a few attempts at making the tools support Python 3, but I failed miserably. Although chances are still high that I failed, at least I got quite a bit further.
&lt;/p&gt;
&lt;p&gt;
To make testing a bit easier, I previously made quite a few scripts that did all sorts of things, in order to catch regressions. However, along the way, I’ve started noticing I had to put lots of effort in streamlining these tests (cleanups), introducing dependency information (test A before B, or cleanup before test, …) and parallellism (after all, if you have many, many tests, lots of cores but run in single-thread/process mode, it’ll take a while). So I started looking at a good way to handle this for me. I switched my tests into a Makefile-driven approach.
&lt;/p&gt;
&lt;p&gt;
Why Makefiles? Well, first of all, Makefiles support &lt;em&gt;dependencies&lt;/em&gt;. You can define a target and then say which other targets need to be ran first before this target can run. If you want to support these dependencies in a run-independent manner, you can use trigger files but I’m not going to do that yet. Another simple feature is that you can tell make to not show output (&lt;em&gt;silent mode&lt;/em&gt;) when not necessary. And of course, with make, you can execute targets &lt;em&gt;concurrently&lt;/em&gt;. By using a simple, yet manageable directory structure and traverse the Makefiles in them, I am able to easily add more tests and add them to the runqueue.
&lt;/p&gt;
&lt;p&gt;
But I’d like to hear from you what infrastructural testing tools you use because I can imagine Makefiles aren’t the best solution here.
&lt;/p&gt;
&lt;p&gt;
In the mean time, I also pushed the 10th revision of our SELinux policies to the hardened-dev overlay. The most notable fix in it is to improve support for those running ~arch systems (some fix on the kdevtmpfs support).&lt;/p&gt;</description>
	<pubDate>Sat, 26 May 2012 16:59:42 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Catching up, but stuff is piling…</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=608</guid>
	<link>http://blog.siphos.be/2012/05/catching-up-but-stuff-is-piling/</link>

	<description>&lt;p&gt;
Those that are frequent the #gentoo-hardened chat channel know that I’m currently trying to get the SELinux related utilities working under Python 3. This has progressed quite far, but I’m still not there yet. I’m now hitting a weird &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=416301"&gt;bug&lt;/a&gt; which seems to come down to an incorrect free() on some memory (well, I don’t know this, this is my current assumption) but which seems hard to catch. So I’m learning a lot (thanks to an active community) about debugging Python and memory issues.
&lt;/p&gt;
&lt;p&gt;
These past few weeks have been enlightening for me on the matter of Python 2 to 3 conversions. Enough that I can fully understand Diego’s pain when dealing with Ruby upgrades ;-) I hope that, if Perl 6 ever comes out (right now, Perl 6 is the future – now and in the future ;-), that they think about the children… err, package maintainers.
&lt;/p&gt;
&lt;p&gt;
Because it takes some time to work on these matters, other reported SELinux issues have been piling up; I hope I can close down this Python migration in the near future and work on the remainder of bugs…
&lt;/p&gt;
&lt;p&gt;
Next to all this, I’m slowly going through some documentation related bugs, but also mentoring &lt;a href="http://twitch153-awesomecode.blogspot.com/"&gt;Devan Franchini&lt;/a&gt; in his GSoC project on a SELinux policy originator. And now that I linked his blog, he’s going to feel obliged to blog on his progress! ;-)&lt;/p&gt;</description>
	<pubDate>Thu, 24 May 2012 16:46:12 +0000</pubDate>
</item>
<item>
	<title>Lars Strojny: Latest sprint at InterNations</title>
	<guid isPermalink="false">http://usrportage.de/archives/933-guid.html</guid>
	<link>http://usrportage.de/archives/933-Latest-sprint-at-InterNations.html</link>

	<description>&lt;p&gt;This will be my new series about what product and development does at &lt;a href="http://internations.org"&gt;InterNations&lt;/a&gt;. Of course I can’t tell you everything :)&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;Made phpredis behave with &lt;span class="caps"&gt;PHP&lt;/span&gt; 5.4: &lt;a href="https://github.com/nicolasff/phpredis/pull/189"&gt;float conversion issue&lt;/a&gt; and &lt;a href="https://github.com/nicolasff/phpredis/pull/191"&gt;serializer initialization/destruction&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Found a bug in &lt;span class="caps"&gt;PHP&lt;/span&gt; 5.4 and &lt;a href="https://bugs.php.net/bug.php?id=62112"&gt;did the right thing&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Got the majority of our systems appear in &lt;a href="http://www.opscode.com/chef/"&gt;Chef&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Learned a lot of things about &lt;a href="http://www.google.com/analytics/siteopt"&gt;Google Website Optimizer&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Learned how to write &lt;a href="http://twig.sensiolabs.org/doc/advanced.html"&gt;custom Twig tags&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Fixed an awful bug in our JS that made our activity group walls shiver&lt;/li&gt;
		&lt;li&gt;Finished something awesome we are going to grey-launch next week&lt;/li&gt;
		&lt;li&gt;Started using &lt;a href="https://github.com/antimattr/GoogleBundle"&gt;GoogleBundle&lt;/a&gt; for tracking and decided to use Symfony2 event listeners for conversion tracking&lt;/li&gt;
		&lt;li&gt;Fought a nasty timing bug in the &lt;a href="https://developers.google.com/maps/documentation/places/autocomplete?hl=en"&gt;Google Places Autocomplet API&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Started a design project that will &lt;a href="http://www.youtube.com/watch?v=SBz46xC5t7E"&gt;make everything better&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Calculated a lot of improvements and features. As every week&lt;/li&gt;
		&lt;li&gt;Reached the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/iewebdevelopment/thread/ad1b6e88-bbfa-4cc4-9e95-3889b82a7c1d"&gt;32 stylesheets limit in Internet Explorer&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Started using Twitter Bootstrap in our administrative backend&lt;/li&gt;
	&lt;/ul&gt;</description>
	<pubDate>Wed, 23 May 2012 23:29:07 +0000</pubDate>
	<author>nospam@example.com (Lars Strojny)</author>
</item>
<item>
	<title>Joachim Schiele: svn &amp; meld on nixos</title>
	<guid isPermalink="false">http://invalidmagic.wordpress.com/?p=1190</guid>
	<link>http://invalidmagic.wordpress.com/2012/05/21/svn-meld-on-nixos/</link>

	<description>&lt;p&gt;&lt;a href="http://invalidmagic.files.wordpress.com/2010/12/nixos-lores.png"&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2010/12/nixos-lores.png?w=150&amp;amp;h=46" title="nixos-lores" height="46" width="150" alt="" class="alignright size-thumbnail wp-image-704" /&gt;&lt;/a&gt;a short ‘guide’ on how to use &lt;strong&gt;meld for merges in svn.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;this has been discussed on many blogs but since i had this issue twice now and especially since svn changed the parameter list and therefore many pages describing this are thus wrong, here it is again. also nobody seems to implement the workflow i like, that is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;on the left side is the file to be edited&lt;/li&gt;
&lt;li&gt;on the right side is the new version (this file is only important while merging)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;a href="http://invalidmagic.files.wordpress.com/2012/05/meld_in_svn.png"&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2012/05/meld_in_svn.png?w=300&amp;amp;h=177" title="meld_in_svn" height="177" width="300" alt="" class="aligncenter size-medium wp-image-1197" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;workflow:&lt;/strong&gt; what ~/.meld does is to give you &lt;strong&gt;MINE&lt;/strong&gt; and &lt;strong&gt;THEIRS&lt;/strong&gt; for merging into MINE (MINE is the left side document). after the merge it would copy the modified &lt;strong&gt;MINE&lt;/strong&gt; over &lt;strong&gt;MERGED&lt;/strong&gt;. and once the conflict is marked ‘&lt;strong&gt;resolved&lt;/strong&gt;‘ all the different files will vanish and leave a working set of files.&lt;/div&gt;
&lt;h1&gt;.subversion/config&lt;/h1&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;merge-tool-cmd = /root/.meld
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;/root/.meld&lt;/h1&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;#!/bin/sh
### the specified command: base theirs mine merged wcfile
/nix/var/nix/profiles/default/bin/meld $3 $2
# this cp copies mine to merged
cp $3 $4
exit 0
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;afterwards don’t forget to make it executable &amp;amp; install meld of course:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;chmod u+x .meld
nix-env -i meld
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;the merge:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;svn up
Updating '.':
A pkgs/applications/misc/gnome_terminator
A pkgs/applications/misc/gnome_terminator/default.nix
U pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
A pkgs/applications/graphics/zgrviewer
A pkgs/applications/graphics/zgrviewer/default.nix
U pkgs/applications/audio/audacious/default.nix
U pkgs/applications/audio/yoshimi/default.nix
U pkgs/lib/platforms.nix
G pkgs/top-level/all-packages.nix
U pkgs/top-level/haskell-defaults.nix

Conflict discovered in '/etc/nixos/nixpkgs/pkgs/top-level/python-packages.nix'.
Select: (p) postpone, (df) diff-full, (e) edit,
 (mc) mine-conflict, (tc) theirs-conflict,
 (s) show all options: &amp;lt;strong&amp;gt;l&amp;lt;/strong&amp;gt;
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;type ‘&lt;strong&gt;l&lt;/strong&gt;‘ (like &lt;strong&gt;l&lt;/strong&gt;inux) on the keyboard&lt;/li&gt;
&lt;li&gt;on the left side is the file you want to patch, so make changes to the left side and save the document&lt;/li&gt;
&lt;li&gt;now close meld&lt;/li&gt;
&lt;li&gt;back on the shell, type ‘&lt;strong&gt;r&lt;/strong&gt;‘ (for &lt;strong&gt;r&lt;/strong&gt;esolved)&lt;/li&gt;
&lt;li&gt;continue with other conflicts&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/invalidmagic.wordpress.com/1190/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/invalidmagic.wordpress.com/1190/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/invalidmagic.wordpress.com/1190/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/invalidmagic.wordpress.com/1190/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/invalidmagic.wordpress.com/1190/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/invalidmagic.wordpress.com/1190/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/invalidmagic.wordpress.com/1190/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/invalidmagic.wordpress.com/1190/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/invalidmagic.wordpress.com/1190/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/invalidmagic.wordpress.com/1190/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/invalidmagic.wordpress.com/1190/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/invalidmagic.wordpress.com/1190/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/invalidmagic.wordpress.com/1190/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/invalidmagic.wordpress.com/1190/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=invalidmagic.wordpress.com&amp;amp;blog=7740335&amp;amp;post=1190&amp;amp;subd=invalidmagic&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Mon, 21 May 2012 23:14:13 +0000</pubDate>
</item>
<item>
	<title>Jürgen Geuter: Dark Side of Action Recording available</title>
	<guid isPermalink="false">http://the-gay-bar.com/?p=1202</guid>
	<link>http://the-gay-bar.com/2012/05/21/dark-side-of-action-recording-available/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/j_rgen_geuter.jpg" alt="" align="right" style="float: right;"&gt;&lt;p&gt;&lt;a href="http://the-gay-bar.com/2012/05/06/dark-side-of-action/" title="Dark Side of Action"&gt;The Dark side of action Session&lt;/a&gt; that Stephan, Anwen and me did at &lt;a href="http://re-publica.de/12/"&gt;re:publica&lt;/a&gt; was recorded and is available now:&lt;/p&gt;
&lt;p&gt;&amp;lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/Kp435_RzltE" width="560"&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;div id="vgwpixel"&gt;&lt;/div&gt; &lt;p&gt;&lt;a href="http://the-gay-bar.com/?flattrss_redirect&amp;amp;id=1202&amp;amp;md5=960b78230192837588ebaf9c0914f58c" target="_blank" title="Flattr"&gt;&lt;img src="http://the-gay-bar.com/wp-content/plugins/flattrss/img/flattr-badge-large.png" alt="flattr this!" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 21 May 2012 08:04:49 +0000</pubDate>
</item>
<item>
	<title>George Kargiotakis: Η πρώτη απόφαση λήψης τεχνολογικών μέτρων παρεμπόδισης της πρόσβασης χρηστών σε ιστοσελίδες</title>
	<guid isPermalink="false">http://www.void.gr/kargig/blog/?p=1373</guid>
	<link>http://www.void.gr/kargig/blog/2012/05/18/%ce%b7-%cf%80%cf%81%cf%8e%cf%84%ce%b7-%ce%b1%cf%80%cf%8c%cf%86%ce%b1%cf%83%ce%b7-%ce%bb%ce%ae%cf%88%ce%b7%cf%82-%cf%84%ce%b5%cf%87%ce%bd%ce%bf%ce%bb%ce%bf%ce%b3%ce%b9%ce%ba%cf%8e%ce%bd-%ce%bc%ce%ad/</link>

	<description>&lt;p&gt;Από δελτίο τύπου του &lt;a href="http://www.opi.gr" target="_blank"&gt;Οργανισμού Πνευματικής Ιδιοκτησίας&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;…στις 16 Μαΐου 2012 δημοσιεύθηκε η απόφαση 4658/2012 του Μονομελούς Πρωτοδικείου Αθηνών, η οποία έκανε δεκτό αίτημα οργανισμών συλλογικής διαχείρισης δικαιωμάτων επί μουσικών και οπτικοακουστικών έργων να υποχρεωθούν εκτός άλλων οι ελληνικές εταιρίες παροχής υπηρεσιών σύνδεσης στο διαδίκτυο να λάβουν τεχνολογικά μέτρα προκειμένου να καταστεί αδύνατη η πρόσβαση των συνδρομητών τους σε διαδικτυακές τοποθεσίες μέσω των οποίων πραγματοποιείται παράνομη παρουσίαση και ανταλλαγή έργων. Η απόφαση εφαρμόζει ουσιαστικά για πρώτη το άρθρο 64 Α του ν. 2121/1993 που ενσωματώνει πρόβλεψη Οδηγίας της Ευρωπαϊκής Ένωσης για τη δυνατότητα λήψης ασφαλιστικών μέτρων κατά των διαμεσολαβητών (παρόχων υπηρεσιών διαδικτύου), οι υπηρεσίες των οποίων χρησιμοποιούνται από τρίτο για την προσβολή του δικαιώματος του δημιουργού ή συγγενικού δικαιώματος. Παρόμοιες αποφάσεις έχουν ήδη εκδοθεί σε άλλα κράτη μέλη της Ευρωπαϊκής Ένωσης και αποσκοπούν στην προστασία της πνευματικής ιδιοκτησίας στο διαδίκτυο χωρίς να θίγονται τα δικαιώματα των χρηστών….&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Την πλήρη απόφαση μπορείτε να την διαβάσετε εδώ: &lt;a href="http://web.opi.gr/newzportletpdk/lawlib/get?uid=9h3c" target="_blank"&gt;4658/2012&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Γιατί είναι σημαντική αυτή η απόφαση για τους χρήστες&lt;/strong&gt;&lt;br /&gt;
Για πρώτη φορά στην Ελλάδα δικαστήριο επιβάλλει συγκεκριμένα τεχνικά/τεχνολογικά μέτρα παρεμπόδισης της πρόσβασης χρηστών σε ιστοσελίδες/servers. Σήμερα μπορεί να είναι μια ιστοσελίδα που παρέχει “πειρατικό” περιεχόμενο και ο ιδιοκτήτης της βγάζει χρήματα μέσω των διαφημίσεων, αύριο μπορεί να είναι ένα site που ο ιδιοκτήτης του δεν βγάζει χρήματα και μεθαύριο ένα πολιτικό site, ένα θρησκευτικό site, ένα blog που διαφωνεί με τις μεθόδους μιας εταιρίας, μιας κυβέρνησης, κτλ. Οπότε πρέπει ως χρήστες να ξέρουμε τι επιβάλλει το δικαστήριο και να δούμε πως εμείς, ως μέλη της κοινωνίας του Internet, μπορούμε να κάνουμε κάτι για να ακυρώσουμε στην πράξη μια τέτοια απόφαση αν πιστεύουμε πως αυτή είναι λανθασμένη.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Τι περιγράφει η απόφαση&lt;/strong&gt;&lt;br /&gt;
Η απόφαση περιέχει μια λεπτομερή τεχνική έκθεση που εξηγεί πως δουλεύει ένα site, ποια πρωτόκολλα χρησιμοποιούνται από τα μηχανήματα των χρηστών/πελατών για να αποκτήσουν πρόσβαση στο site και έπειτα περιγράφει τρόπους να διακοπεί η σύνδεση των χρηστών με ένα site. Οι τρόποι που παρουσιάζονται είναι οι εξής 2:&lt;br /&gt;
Ι) Εφαρμογή κατάλληλων φίλτρων στους δρομολογητές (routers) των ISPs ώστε να αποκλειστεί οποιαδήποτε κίνηση καταλήγει σε συγκεκριμένη IP.&lt;br /&gt;
ΙΙ) Εφαρμογή κατάλληλης ανακατεύθυνσης, μέσω τροποποίησης των DNS εγγραφών στους nameservers του κάθε ISP ώστε, ώστε τα αιτήματα προς συγκεκριμένα domains να καταλήγουν σε διαφορετικούς ιστοτόπους. Αυτοί οι ιστότοποι θα μπορούσαν να περιέχουν και ένα προειδοποιητικό μύνημα ώστε να καταλαβαίνουν οι χρήστες γιατί δεν έχουν πρόσβαση στο κανονικό site, όπως αναφέρει το η έκθεση.&lt;/p&gt;
&lt;p&gt;Από αυτούς τους 2 τρόπους, στην απόφαση επιβάλλεται η χρήση μόνο του τρόπου (I) ως τεχνολογικό μέτρο διακοπής της πρόσβασης στις “παραβατικές” ιστοσελίδες.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Τα προβλήματα της απόφασης&lt;/strong&gt;&lt;br /&gt;
Τα προβλήματα της απόφασης για μένα είναι αρκετά. Κάποια αναφέρονται και στην ίδια την τεχνική έκθεση που περιέχεται στην απόφαση.&lt;br /&gt;
Συγκεκριμένα αναφέρει:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Αν και υπάρχουν δυνατότητες παράκαμψης των συγκεκριμένων τεχνικών μέσων από την μεριά των χρηστών του διαδυκτύου, οι τεχνικές αυτές είναι άγνωστες στη μεγάλη πλειονότητα των πελατών (συνδρομητών) των ISP, που είναι οι δυνητικοί επισκέπτες των ιστοτόπων στους οποίους έχει διακοπεί η πρόσβαση.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Θα αναφερθώ μόνο στα πολύ βασικά όμως…&lt;br /&gt;
α) Καταρχήν τα sites έχουν αλλάξει IPs. Το www.ellinadiko.com πλέον δεν δείχνει στην IP που αναφέρεται στην απόφαση, για την ακρίβεια δεν δείχνει πουθενά αυτή τη στιγμή, ενώ το www.music-bazaar.com λειτουργεί αλλά δείχνει σε διαφορετική IP. Άρα η εφαρμογή της οδηγίας (Ι) είναι &lt;strong&gt;πρακτικά άχρηστη&lt;/strong&gt; ως προς τους σκοπούς της απόφασης χωρίς πολλά πολλά. Από την άλλη όμως μπορεί να δημιουργήσει προβλήματα πρόσβασης σε άλλα sites που μπορεί αυτή τη στιγμή να φιλοξενούνται σε εκείνες τις IP για τις οποίες πρέπει να μπουν φίλτρα. Άρα αν εφαρμοστεί η απόφαση ως έχει κινδυνεύει να διακοπεί η πρόσβαση στο site μιας ελληνικής ή ξένης εταιρίας ή προσώπου χωρίς να φταίει σε τίποτα! Ακόμα να μην είχαν αλλάξει IPs τα sites αυτά όμως, πάλι προκύπτει πρόβλημα. Η σύγχρονη τεχνολογία, των τελευταίων 15+ ετών, επιτρέπει την φιλοξενία πολλαπλών ιστοτόπων στην ίδια IP μέσω της τεχνολογίας virtual hosting, κάτι που εφαρμόζεται κατά κόρον ώστε να εξοικονομηθούν IPs. Αυτό έχει σαν αποτέλεσμα πως αν αποτραπεί η κίνηση προς μία συγκεκριμένη IP από ένα φίλτρο ενός ISP, τότε παρεμποδίζεται και η κίνηση προς όλα τα υπόλοιπα sites που φιλοξενούνται στην ίδια IP. Άρα υπάρχει πιθανότητα “τιμωρίας” αθώων ανθρώπων που δεν έχουν κάνει απολύτως τίποτα. &lt;/p&gt;
&lt;p&gt;β) Η τεχνική έκθεση και η απόφαση περιέχει συγκεκριμένα domains που θα πρέπει να εφαρμοστεί το (II). Αυτό όμως δεν εμποδίζει σε τίποτα τον διαχειριστή της “προβληματικής” ιστοσελίδας να αλλάξει αύριο domain κρατώντας ακριβώς το ίδιο περιεχόμενο. Οπότε εμποδίζοντας την πρόσβαση στους πελάτες πίσω από ένα ISP σε ένα συγκεκριμένο domain δεν καταφέρνεις και πολλά. Ακόμα όμως και να μην αλλάξει domain ο διαχειριστής μιας και υπάρχουν ελέυθεροι nameservers (Google Public DNS, OpenDNS, κ.α) στο Internet, το μόνο που θα είχε να κάνει ο χρήστης θα ήταν να χρησιμοποιήσει αυτούς έναντι των nameservers του ISP του. Άρα πάλι τα τεχνικά μέτρα είναι &lt;strong&gt;εντελώς ανεπαρκή&lt;/strong&gt; ως προς τον σκοπό της απόφασης. Πέραν αυτού και λόγω της προτεινόμενης ανακατεύθυνσης που προτείνει η τεχνική έκθεση τίθεται και ένα θέμα ιδιωτικότητας σε περίπτωση που εφαρμοζόταν το μέτρο (ΙΙ). Λόγω της ανακατεύθυνσης όλοι οι πελάτες θα “πήγαιναν” σε μία νέα ιστοσελίδα που θα ήταν υπό τη διαχείριση (μάλλον?) του ISP, άρα ο ISP αποκτάει πολύ εύκολα πρόσβαση στο ποιός θέλει να επισκεφτεί τον ιστότοπο αυτό. Τίθεται λοιπόν ζήτημα παρακολούθησης της κίνησης των πελατών. Προσωπικά το θεωρώ απαράδεκτο, όπως απαράδεκτο είναι να προσπαθείς να αλλάξεις τον τρόπο που λειτουργεί το internet. Άλλωστε όπως έχει πει ο &lt;a href="https://en.wikipedia.org/wiki/John_Gilmore_(activist)"&gt;John Gilmore&lt;/a&gt;:&lt;br /&gt;
&lt;/p&gt;&lt;blockquote&gt;The Net interprets censorship as damage and routes around it&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Μετάφραση:&lt;br /&gt;
&lt;/p&gt;&lt;blockquote&gt; Το Δίκτυο ερμηνέυει τη λογοκρισία ως ζημιά και δρομολογεί (την κίνηση) γύρω από αυτό (ξεπερνώντας την ζημιά)&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Τι θα μπορούσαν να κάνουν οι χρήστες για να παρακάμψουν το “πρόβλημα” αν τους επηρέαζε&lt;/strong&gt;&lt;br /&gt;
Σε περίπτωση εφαρμογής του (II), όπως αναφέρθηκε παραπάνω το μόνο που θα είχαν να κάνουν οι χρήστες θα ήταν να αλλάξουν nameservers στο PC/δίκτυο τους. Αυτό εξηγείται αναλύτικά στις σελίδες της &lt;a href="https://developers.google.com/speed/public-dns/docs/using"&gt;Google Public DNS&lt;/a&gt; αλλά και του &lt;a href="https://store.opendns.com/setup/computer/"&gt;OpenDNS&lt;/a&gt;. Τόσο απλά. Είναι υπόθεση 1 λεπτού αν έχει ο οποιοσδήποτε τις οδηγίες μπροστά του.&lt;/p&gt;
&lt;p&gt;Σε περίπτωση εφαρμογής της τεχνικής (Ι) και την στιγμή που το site δεν μπορεί για τους Χ λόγους να αλλάξει IP, αυτό που πρέπει να κάνουν οι χρήστες είναι να χρησιμοποιήσουν κάποιον &lt;a href="https://en.wikipedia.org/wiki/Proxy_server"&gt;proxy server&lt;/a&gt;, ένα &lt;a href="https://en.wikipedia.org/wiki/Vpn"&gt;VPN&lt;/a&gt; ή κάποιο άλλο δίκτυο που δρομολογεί διαφορετικά τις συνδέσεις τους, για παράδειγμα το &lt;a href="https://www.torproject.org/"&gt;Tor&lt;/a&gt;. Ο ευκολότερος τρόπος να βρει κάποιος δωρεάν proxies στο δίκτυο είναι να &lt;a href="http://lmgtfy.com/?q=free+proxy"&gt;ψάξει στο Google&lt;/a&gt;, ενώ η &lt;a href="http://lmgtfy.com/?q=buy+vpn"&gt;αγορά ενός VPN&lt;/a&gt; ξεκινά από τα 3€. Η χρήση του tor είναι πλεόν αρκετά απλή και το μόνο που απαιτείται είναι να κατεβάσει κανείς το &lt;a href="https://www.torproject.org/projects/torbrowser.html.en"&gt;Tor Browser Bundle&lt;/a&gt; και να τρέξει το &lt;a href="https://www.torproject.org/projects/vidalia.html.en"&gt;Vidalia&lt;/a&gt;. Όταν κάποιος τρέξει το Vidalia θα ανοίξει ένας νέος browser (Firefox) και έπειτα η δρομολόγηση των πακέτων προς το site που θέλει να επισκευτεί κανείς γίνεται μέσω του Tor δικτύου το οποίο είναι &lt;em&gt;αρκετά δύσκολο&lt;/em&gt; να το σταματήσουν οι ISPs. Σίγουρα πάντως η απόφαση ασφαλιστικών μέτρων 4658/2012 δεν είναι ικανή να σταματήσει το Tor ή οποιονδήποτε άλλο από τους παραπάνω τρόπους παράκαμψης του “προβλήματος”.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Τι πρέπει να γνωρίζουν οι χρήστες του Internet&lt;/strong&gt;&lt;br /&gt;
Οι χρήστες του internet πρέπει να γνωρίζουν πως ανά πάσα στιγμή μια τέτοια απόφαση μπορεί να τους αλλάξει τις συνήθειές τους αλλά και να τους κόψει την πρόσβαση από πηγές πληροφορίας που μέχρι τώρα είχαν ελεύθερη πρόσβαση. Για να μην βρεθούν τελευταία στιγμή να αναρωτιούνται τί και πώς πρέπει να φροντίζουν να ενημερώνονται για τους κινδύνους και τα προβλήματα. Είναι μάλιστα επιτακτικό ο ένας χρήστης να ενημερώνει τους άλλους. Γι αυτούς ακριβώς τους λόγους τους τελευταίους 2-3 μήνες έχει ξεκινήσει μια προσπάθεια ενημέρωσης των Ελλήνων χρηστών για τα ψηφιακά τους δικαιώματα, τους κινδύνους που υπάρχουν στο διαδίκτυο, πως προστατεύει κανείς τα προσωπικά του δεδομένα και πως αποφεύγει προσπάθειες εταιρικής ή κρατικής λογοκρισίας μέσω κάποιων &lt;a href="https://hackerspace.gr/wiki/Freedom_of_speech"&gt;παρουσιάσεων&lt;/a&gt; που γίνονται στο &lt;a href="https://hackerspace.gr"&gt;hackerspace της Αθήνας&lt;/a&gt;. Η επόμενη παρουσίαση γίνεται στις 30/05/2012 και αφορά την χρήση του δικτύου Tor. Όσοι ενδιαφέρονται είναι ευπρόσδεκτοι να &lt;a href="https://hackerspace.gr/wiki/Getting_Here"&gt;έρθουν&lt;/a&gt; να ακούσουν και φυσικά να ρωτήσουν για τυχόν απορίες που ίσως έχουν σχετικά με την ψηφιακή τους ζωή.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Οργανωθείτε!&lt;/strong&gt;&lt;br /&gt;
Αν σας ενδιαφέρει να παλέψετε και εσείς για τα &lt;a href="https://en.wikipedia.org/wiki/Digital_rights"&gt;ψηφιακά δικαιώματα και τις ελευθερίες&lt;/a&gt; στην Ελλάδα καλό θα ήταν να διαβάσετε το &lt;a href="http://dln.gr/manifesto/"&gt;κείμενο θέσεων&lt;/a&gt; του &lt;a href="http://dln.gr"&gt;Δικτύου για την Ψηφιακή Απελευθέρωση (Digital Liberation Network)&lt;/a&gt; και αν συμφωνείτε να εγγραφείτε στην &lt;a href="https://lists.espiv.net/cgi-bin/mailman/listinfo/information_society"&gt;mailing list του DLN&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 18 May 2012 18:06:00 +0000</pubDate>
</item>
<item>
	<title>Steven Oliver: Dick of the week</title>
	<guid isPermalink="false">http://steveno.wordpress.com/2012/05/16/dick-of-the-week/</guid>
	<link>http://steveno.wordpress.com/2012/05/16/dick-of-the-week/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/StevenOliver3.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;&lt;a href="https://lists.fedoraproject.org/pipermail/devel/2012-May/167057.html"&gt;https://lists.fedoraproject.org/pipermail/devel/2012-May/167057.html&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/steveno.wordpress.com/962/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/steveno.wordpress.com/962/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/steveno.wordpress.com/962/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/steveno.wordpress.com/962/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/steveno.wordpress.com/962/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/steveno.wordpress.com/962/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/steveno.wordpress.com/962/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/steveno.wordpress.com/962/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/steveno.wordpress.com/962/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/steveno.wordpress.com/962/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/steveno.wordpress.com/962/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/steveno.wordpress.com/962/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/steveno.wordpress.com/962/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/steveno.wordpress.com/962/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=steveno.wordpress.com&amp;amp;blog=1231018&amp;amp;post=962&amp;amp;subd=steveno&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Wed, 16 May 2012 20:01:03 +0000</pubDate>
</item>
<item>
	<title>Michael Mair-Keimberger: different runlevels in gentoo</title>
	<guid isPermalink="false">tag:blogger.com,1999:blog-2324207642645389640.post-7205220514636105648</guid>
	<link>http://michaelmk.blogspot.com/2012/05/different-runlevels-in-gentoo.html</link>

	<description>Different default runlevels isn't something which is quite popular because usually one default runlevel is enough. Nonetheless sometimes it's quite useful.&lt;br /&gt;Since i play around with xen it's very handy to have two different default runlevels. One where the xen services xenconsoled and xenstored get started and one without these services.&lt;br /&gt;The reason is, when starting gentoo without xen these services would crash and thus would slow down the boot process.&lt;br /&gt;&lt;br /&gt;To create a new runlevel called "xen" you have todo following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;# mkdir /etc/runlevels/xen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;# cd /etc/runlevels/default&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;# for service in *; do rc-update add $service xen; done&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;# rc-update add xenstored xen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;# rc-update add xenconsoled xen&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This would copy all services from the default runlevel into xen and would add both xen init scripts too. Next you need to configure the bootloader and add the &lt;b&gt;softlevel&lt;/b&gt; parameter to /boot/grub/grub.conf.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;title Gentoo Linux XEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;root (hd0,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;kernel /boot/xen.gz dom0_mem=8192M,max:8192M iommu=1 xsave=1 dom0_max_vcpus=4 dom0_vcpus_pin &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;module /boot/gentoo-3.4.0-rc6 root=/dev/md3 &lt;b&gt;softlevel=xen&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finish, that's all. Quite easy and really useful for xen. A more detailed howto about runlevels can be found at gentoo's offical documentation: &lt;a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;amp;chap=4#doc_chap5" target="_blank"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" alt="" src="https://blogger.googleusercontent.com/tracker/2324207642645389640-7205220514636105648?l=michaelmk.blogspot.com" height="1" /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 16 May 2012 06:28:58 +0000</pubDate>
	<author>noreply@blogger.com (Michael Mair-Keimberger)</author>
</item>
<item>
	<title>Michael Mair-Keimberger: new pc, new toy</title>
	<guid isPermalink="false">tag:blogger.com,1999:blog-2324207642645389640.post-5666330379238331160</guid>
	<link>http://michaelmk.blogspot.com/2012/05/new-pc-new-toy.html</link>

	<description>It's been already 5 years ago since i bought my last desktop PC. Now i bought a new one. A few months ago i've started to think about my new system. Basically i don't wanted anything special, there was just one thing which i definitely wanted to try out: &lt;a href="http://xen.org/" target="_blank"&gt;xen&lt;/a&gt; with &lt;a href="http://wiki.xen.org/xenwiki/XenVGAPassthrough" target="_blank"&gt;vga passthrough&lt;/a&gt;. Therefore i couldn't choose just anything because you need hardware support for vga passthrough and not every vendor does support it.&lt;br /&gt;&lt;a style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" href="http://3.bp.blogspot.com/-cmgcYM6Cib4/T65nkQcq5yI/AAAAAAAABGk/27BI-VjaKkk/s1600/IMG_20120416_202850.jpg"&gt;&lt;img width="200" src="http://3.bp.blogspot.com/-cmgcYM6Cib4/T65nkQcq5yI/AAAAAAAABGk/27BI-VjaKkk/s200/IMG_20120416_202850.jpg" border="0" height="150" /&gt;&lt;/a&gt;&lt;br /&gt;Anyway, last month i finally had everything i needed and thus bought my new system.&lt;br /&gt;&lt;br /&gt;A big change with the new system was to choose amd over intel. For years now i went with intel, but this time i decided to take amd. The main reason was because amd/ati started to release documentations about their graphic cards years ago. That's something i wanted to support.&lt;br /&gt;&lt;br /&gt;Well, this is now my new system:&lt;br /&gt;&lt;a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/-rbynwV3RqWg/T65nbNKUWFI/AAAAAAAABGc/wnX3wehLidY/s1600/IMG_20120416_202759.jpg"&gt;&lt;img width="200" src="http://2.bp.blogspot.com/-rbynwV3RqWg/T65nbNKUWFI/AAAAAAAABGc/wnX3wehLidY/s200/IMG_20120416_202759.jpg" border="0" height="150" /&gt;&lt;/a&gt;&lt;br /&gt;AMD FX 8150 8-core processor 3,6Ghz&lt;br /&gt;Gigabyte 990FXA-UD5&lt;br /&gt;2x OCZ Vertex 3 120GB&lt;br /&gt;Lian Li PC-6 Aluminium Case&lt;br /&gt;NEC PA301W 30" Display&lt;br /&gt;Scythe Grand Kama Gross CPU Cooler&lt;br /&gt;Seasonic Xseries 760W Power Supply&lt;br /&gt;PowerColor Radeon HD6850 (passiv)&lt;br /&gt;XFX R7970 Radeon H7970 Black Edition&lt;br /&gt;Corsair DDR3 1600MHZ 16GB DIMM&lt;br /&gt;&lt;br /&gt;The system runs on gentoo amd64 testing (of course). Since i have two gpu's and xen, there is a virtualized windows 7 64bit for gaming too.&lt;br /&gt;The HD7970 is for windows, while the HD6850 is for gentoo. I also additionally pluged in 2x 22" Lenovo l220x running on the HD6850 on linux (from the old pc). Mouse, keyboard and the audio system is still from the old pc.&lt;br /&gt;&lt;br /&gt;This is my desktop right now:&lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/-UPLdogl6lCI/T65i4DkFmXI/AAAAAAAABGQ/mDmCGQb0WJU/s1600/IMG_20120415_233650.jpg"&gt;&lt;img width="320" src="http://2.bp.blogspot.com/-UPLdogl6lCI/T65i4DkFmXI/AAAAAAAABGQ/mDmCGQb0WJU/s320/IMG_20120415_233650.jpg" border="0" height="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The motherboard supports iommu which is needed for vga passthrough in xen. Nonetheless i updated the bios to the latest version first. On the cpu it's called amd-vi (the cpu flag is called svm) which the amd 8-core also supports. &lt;a href="http://www.blogger.com/"&gt;&lt;span id="goog_145491425"&gt;&lt;/span&gt;GPU support&lt;span id="goog_145491426"&gt;&lt;/span&gt;&lt;/a&gt; isn't a hardware feature and has been already implemented for almost every gpu so i didn't had to look for a particular one.&lt;br /&gt;&lt;a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/-0bqoiSLzpAw/T65qotSMnPI/AAAAAAAABGw/0_-pfjc0oPQ/s1600/IMG_20120416_202816.jpg"&gt;&lt;img width="150" src="http://2.bp.blogspot.com/-0bqoiSLzpAw/T65qotSMnPI/AAAAAAAABGw/0_-pfjc0oPQ/s200/IMG_20120416_202816.jpg" border="0" height="200" /&gt;&lt;/a&gt;&lt;br /&gt;Setting up the system wasn't a big deal. Below are the most important changes while i set up the system.&lt;br /&gt;&lt;br /&gt;* i had to change the primary output in the bios so that the system would show the output on my hd6850.&lt;br /&gt;&lt;br /&gt;* i also had to enable iommu in the bios (for xen).&lt;br /&gt;&lt;br /&gt;* to get eyefinity working i had to download x11-drivers/radeon-ucode and enable the firmwire blobs in the kernel under Device Drivers --&amp;gt; Generic Driver Optinos (&lt;a href="http://wiki.gentoo.org/wiki/Radeon#Firmware" target="_blank"&gt;howto&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;The harddrives running in both raid1 (for the boot partion) and raid0 (for the system/home). Since all the important files are on my server file inconsistency is not  that important. Windows is virtualized and thus just a file on the hard disk.&lt;br /&gt;&lt;br /&gt;So far the system is pretty stable. I have a few minor problems with xen but nothing serious. I'll gonna blog about my xen setup anyway.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" alt="" src="https://blogger.googleusercontent.com/tracker/2324207642645389640-5666330379238331160?l=michaelmk.blogspot.com" height="1" /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 13 May 2012 15:02:26 +0000</pubDate>
	<author>noreply@blogger.com (Michael Mair-Keimberger)</author>
</item>
<item>
	<title>Michael Mair-Keimberger: ssh with different private keys</title>
	<guid isPermalink="false">tag:blogger.com,1999:blog-2324207642645389640.post-5532766794362970846</guid>
	<link>http://michaelmk.blogspot.com/2012/05/ssh-with-different-private-keys.html</link>

	<description>&lt;br /&gt;&lt;div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" href="http://t3.gstatic.com/images?q=tbn:ANd9GcR71K2YpycfuYTl3CNjnQDqu3WrgMSr6hOa5bCGt53gPN4mBsU_EO301FpoIA"&gt;&lt;img src="http://t3.gstatic.com/images?q=tbn:ANd9GcR71K2YpycfuYTl3CNjnQDqu3WrgMSr6hOa5bCGt53gPN4mBsU_EO301FpoIA" style="padding-bottom: 8px; padding-right: 8px; padding-top: 8px;" height="195" width="200" border="0" id="il_fi" /&gt;&lt;/a&gt;&lt;a href="http://www.openssh.org/" target="_blank"&gt;SSH&lt;/a&gt; is probably one of the most used command line tools on linux. If you want to connect to another linux host it's the best way to go. It's also very secure and since security is really important nowadays many hosts on the Internet choose a public key authentication. This method is really smart because it only let people connect if they know their password AND their public key is in the "authorized_keys" file on the host.&lt;br /&gt;&lt;br /&gt;For some time now i started a &lt;a href="https://github.com/sitaramc/gitolite" target="_blank"&gt;gitolite&lt;/a&gt; services at home. It's just for my own usage and thus not available over the Internet. Every script which i write is stored on the gitolite server.&lt;br /&gt;This is quite handy because i can easily switch back to an older version of a script in case i made a mistake. Besides that I'm also forced to learn git which i really want to learn. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Gitolite also have a public key authentication (on top of ssh), but since the service just runs on the local network and i don't wanted to enter my password every time, I've created a second key without a password.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well now my problem was, ssh doesn't choose the right key for the git service so i searched the web for solution of my problem. A few hour later i found what i needed. It's easy. You just need a configuration file for ssh, which looks something like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Host tunafix&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;        Hostname tunafix&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;        User git&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;        IdentityFile ~/.ssh/gitolite_rsa&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Host tunafix&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;        Hostname tunafix&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;        User michael&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;        IdentityFile ~/.ssh/id_dsa&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;The configuration is stored in file ~/.ssh/config. As you can see, depending on the username ssh choose different identity files. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" alt="" src="https://blogger.googleusercontent.com/tracker/2324207642645389640-5532766794362970846?l=michaelmk.blogspot.com" height="1" /&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 07 May 2012 16:52:22 +0000</pubDate>
	<author>noreply@blogger.com (Michael Mair-Keimberger)</author>
</item>
<item>
	<title>Jürgen Geuter: Dark Side of Action</title>
	<guid isPermalink="false">http://the-gay-bar.com/?p=1184</guid>
	<link>http://the-gay-bar.com/2012/05/06/dark-side-of-action/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/j_rgen_geuter.jpg" alt="" align="right" style="float: right;"&gt;&lt;p&gt;On Thursday May 3rd at &lt;a href="http://re-publica.de/12/"&gt;re:publica&lt;/a&gt; &lt;a href="https://twitter.com/herrurbach"&gt;Stephan Urbach&lt;/a&gt;, &lt;a href="https://twitter.com/eridisk"&gt;Anwen Roberts&lt;/a&gt; and &lt;a href="http://twitter.com/tante"&gt;me&lt;/a&gt; presented a session about depression/burnout in hacker and activist groups titled &lt;a href="http://re-publica.de/12/panel/dark-side-of-action/"&gt;“Dark Side of Action”&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Looking back we want to thank everyone who attended the talk and the open space discussion afterwards for an intense event. We are glad we could bring a few people together talking and we hope that we could motivate a few people to talk about their own problems as a first step to getting better. This talk can only be a start, one of the first sparks trying to trigger a wide-spread discussion of what we as communities do to prepare the ground for those sorts of problems and obviously which strategies and methods we can implement to keep each other safe.&lt;/p&gt;
&lt;p&gt;Our summary slides are available under &lt;a href="http://the-gay-bar.com/wp-content/uploads/2012/05/RePublicaTeil3.pdf"&gt;http://the-gay-bar.com/wp-content/uploads/2012/05/RePublicaTeil3.pdf&lt;/a&gt; for those of you who were not able to attend the session or who might want to re-use them for any intents and purposes (do so, we do not put any sort of restriction on your usage!).&lt;/p&gt;
&lt;p&gt;The talk was recorded and I’ll update this post with the Link to the recording as soon as it’s available, the German TAZ &lt;a href="https://www.taz.de/Netzaktivisten-in-Suizidgefahr/!92749/"&gt;wrote about the talk on their website&lt;/a&gt;. On this year’s SIGINT conference (where &lt;a href="http://the-gay-bar.com/2012/04/01/sigint-2012/" title="SIGINT 2012"&gt;I’ll be speaking about something else&lt;/a&gt;) Stephan will talk with &lt;a href="http://twitter.com/johl"&gt;Jens Ohlig&lt;/a&gt; about &lt;a href="https://program.sigint.ccc.de/fahrplan/events/28.html"&gt;the same topic&lt;/a&gt; but from a different angle, we’d be happy to see more of you there.&lt;/p&gt;
&lt;p&gt;Thanks again for all the positive feedback that we got for the talk, now it’s upon all of us to get the word out and try to fix our different environments. Just as a reminder our last slide:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://the-gay-bar.com/wp-content/uploads/2012/05/gethelp.png"&gt;&lt;img src="http://the-gay-bar.com/wp-content/uploads/2012/05/gethelp-300x187.png" title="gethelp" height="187" width="300" alt="gethelp 300x187 Dark Side of Action" class="aligncenter size-medium wp-image-1186" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div id="vgwpixel"&gt;&lt;/div&gt; &lt;p&gt;&lt;a href="http://the-gay-bar.com/?flattrss_redirect&amp;amp;id=1184&amp;amp;md5=bc83389433cc011d072946374227a90d" target="_blank" title="Flattr"&gt;&lt;img src="http://the-gay-bar.com/wp-content/plugins/flattrss/img/flattr-badge-large.png" alt="flattr this!" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 06 May 2012 12:30:54 +0000</pubDate>
</item>
<item>
	<title>George Kargiotakis: AthCon 2012 Review</title>
	<guid isPermalink="false">http://www.void.gr/kargig/blog/?p=1354</guid>
	<link>http://www.void.gr/kargig/blog/2012/05/06/athcon-2012-review/</link>

	<description>&lt;p&gt;Alternate title: “Being a lamb around a pack of wolves” … A venue full of hackers that are eager to attack your systems…&lt;/p&gt;
&lt;p&gt;On 3-4/05/2012 the third &lt;a href="http://athcon.org/"&gt;AthCon&lt;/a&gt; conference was held in Athens. AthCon is an international security conference whose motto is “The First HIGHLY TECHNICAL Security Conference in Greece”. &lt;/p&gt;
&lt;p&gt;Even though I am not a security professional, my daily job title is “&lt;a href="http://www.linkedin.com/in/kargig"&gt;Systems and Services Engineer&lt;/a&gt;” which of course includes various aspects of security but I am certainly not a security researcher, I had decided months ago that I would be attending this year’s AthCon. Since I like messing a lot with IPv6 for the past 2-3 years, I decided that I could try and submit an introductory talk about IPv6 security issues. My talk was accepted, so I was not only attending AthCon this year but I was going to give a presentation as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.void.gr/kargig/blog/2012/05/03/athcon-2012-are-you-ready-for-ipv6-insecurities/"&gt;My presentation – Are you ready for IPv6 insecurities ?&lt;/a&gt;&lt;/strong&gt; was during the first day of the conference. I am always worried when I give presentations on IPv6 that the people attending have probably no clue about this ‘not-so-new’ protocol. Most people think that IPv6 is like IPv4 with bigger addresses and ‘:’ instead of ‘.’ to separate the address groups, which is of course a HUGE mistake/misunderstanding. I was hopeful that this wouldn’t be the case in AthCon, so when I started my presentation and I asked the crowd ‘how many of you know what SLAAC is ?’ and I only saw 3-4 hands raised I kinda froze, I was expecting at least a double digit…I was going to give a presentation on IPv6 security concepts to people that have absolutely no idea what I’m talking about. Being prepared for the fact that some people would need some ‘refreshing’ on their IPv6 knowledge, I had prepared around 20 introductory slides explaining some IPv6 concepts before I entered the security details, but I doubt these were enough for most people there. I am hopeful though that some of the attendees might be motivated to read more about the protocol since I think my security slides contained enough details, references and links to get people started. If someone needs more details feel free to contact me.&lt;/p&gt;
&lt;p&gt;Enough with my presentation, &lt;strong&gt;what about other presentations ?&lt;/strong&gt;&lt;br /&gt;
My personal view is that this year’s AthCon had some great talks, some that were ok and some that I didn’t like. I won’t mention which ones I didn’t like, but I noticed that a LOT of people were gossiping about these in the hallways. I will only mention here the ones that I really liked.&lt;/p&gt;
&lt;p&gt;Day 1:&lt;br /&gt;
&lt;strong&gt;“Packing Heat!” by Dimitrios Glynos&lt;/strong&gt;&lt;br /&gt;
A presentation that every pentester should download/watch somehow. Techniques about packing your executables to avoid detection by anti-virus programs, need I say more ? Great content and very well presented. Congrats &lt;a href="https://twitter.com/#!/dfunc"&gt;Dimitris&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“PostScript: Danger Ahead” by Andrei Costin&lt;/strong&gt;&lt;br /&gt;
How to use PostScript programming language to take advantage of Printers, OS, etc. Very interesting concepts were presented and also the examples/demos shown were pretty cool and easy to understand.&lt;/p&gt;
&lt;p&gt;Day 2:&lt;br /&gt;
&lt;strong&gt;“Apple vs. Google Client Platforms” by Felix ‘FX’ Lindner&lt;/strong&gt;&lt;br /&gt;
I guess mostly everyone reading this blog knows FX and what a great speaker he is. If you don’t then start watching his previous presentations and start reading about his work. His presentation at AthCon, apart from being the best one in terms of “presenting it”, was also extremely interesting. He connected the security concepts behind Apple’s iOS and Google’s Chromebook with their business tactics and policies. Just wait for AthCon to publish the videos and watch it. Probably the best talk at AthCon 2012.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“Advances in BeEF: RESTful API, WebSockets, XssRays enhancements” by Michele Orru&lt;/strong&gt;&lt;br /&gt;
Jaw-dropping. That’s all I have to say about &lt;a href="http://beefproject.com/"&gt;BeEF&lt;/a&gt;. Scary. Watch it to see what browsers and IDS have to face and defend against…not in the future but right now.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“Exploitation and state machines” by Halvar Flake&lt;/strong&gt;&lt;br /&gt;
This presentation was about exploitation techniques and why automated exploitation engines don’t work that well. Even though reversing and exploitation is far from my interest topics I enjoyed the talk a lot. Very well structured and very clear points. Too bad this talk did not appear on the schedule and was there as “tbc”, I am sure many more people would come just to listen to this talk and speak to Halvar.&lt;/p&gt;
&lt;p&gt;If I were to suggest a couple of things for next year…&lt;br /&gt;
a) Please put the CTF in separate slots within the day, not at the same time with the presentations. In a conference of 150-200 people (just guessing here) having 30+ people leaving the presentation room and just attending the CTF all day long leaves the main room a bit empty. I am pretty sure there were people that wanted to attend both the presentations and the CTF, unfortunately they had to make a choice.&lt;br /&gt;
b) Send some details/info to the speakers about the conference a few days earlier. Maybe non-greek presenters were given but we weren’t, at least I wasn’t.&lt;br /&gt;
c) The venue is really nice, but maybe it would help if the next AthCon was organized somewhere downtown. Yeah I can understand that the cost would be higher but number of people attending would also raise (I think).&lt;br /&gt;
d) Give us even more highly technical presentations/speakers! People starve for these kind of talks!&lt;/p&gt;
&lt;p&gt;My congratulations fly to AthCon people for organizing the conference. See you next year!&lt;/p&gt;
&lt;p&gt;You can find some of the pics I took from the speakers at: &lt;a href="https://picasaweb.google.com/107692279482600798910/AthCon2012"&gt;AthCon 2012 speaker pics&lt;/a&gt; (if any of the speakers wants his pic removed please &lt;a href="http://www.void.gr/kargig/blog/contact/"&gt;contact&lt;/a&gt; me ASAP)&lt;/p&gt;</description>
	<pubDate>Sun, 06 May 2012 12:07:59 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Keeping /selinux</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=604</guid>
	<link>http://blog.siphos.be/2012/05/keeping-selinux/</link>

	<description>&lt;p&gt;
Just a very quick paragraph on a just-reported issue: if you upgrade your SELinux utilities to the latest version &lt;em&gt;and&lt;/em&gt; you switch from &lt;tt&gt;/selinux&lt;/tt&gt; to &lt;tt&gt;/sys/fs/selinux&lt;/tt&gt; as the mountpoint for the SELinux file system, you might get into issues. Apparently, &lt;strong&gt;init&lt;/strong&gt; (which is responsible for mounting the SELinux file system through a call to libselinux) is trying to mount it on – well yes – &lt;tt&gt;/sys/fs/selinux&lt;/tt&gt; but at that time, &lt;tt&gt;/sys&lt;/tt&gt; is not mounted yet.
&lt;/p&gt;
&lt;p&gt;
I haven’t been able to reproduce just yet, because I just recently had to move all my systems to use an initramfs (thank you you-need-an-initramfs-when-you-have-a-separate-usr-partition) which premounts /sys. But the current workaround should be to keep &lt;tt&gt;/selinux&lt;/tt&gt; for now. The utilities support it still, and that gives me some time to look and investigate the issue.&lt;/p&gt;</description>
	<pubDate>Fri, 04 May 2012 20:26:42 +0000</pubDate>
</item>
<item>
	<title>Brian Carper: Happy Day Against DRM</title>
	<guid isPermalink="false">http://briancarper.net/blog/591/happy-day-against-drm</guid>
	<link>http://briancarper.net/blog/591/happy-day-against-drm</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/brian_carper.gif" alt="" align="right" style="float: right;"&gt;&lt;p&gt;Books are &lt;a href="http://oreil.ly/Against-DRM"&gt;50% off at O'Reilly&lt;/a&gt; today, using code &lt;code&gt;DRMFREE&lt;/code&gt;.  (This includes my book, &lt;a href="http://shop.oreilly.com/product/0636920013754.do?code=DRMFREE"&gt;Clojure Programming&lt;/a&gt;, by the way...)  I'm a bit late with this, given the offer expires in 9 hours, but there's still time.&lt;/p&gt;

&lt;p&gt;Whether you want to buy books today or not, it's worth pointing out that today is &lt;a href="http://www.defectivebydesign.org/dayagainstdrm/"&gt;International Day Against DRM&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.defectivebydesign.org/dayagainstdrm/"&gt;&lt;img src="http://briancarper.net/random/day-against-drm.png" alt="Day Against DRM" title="" /&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h1&gt;Brand Loyalty.  Step 1: Make good stuff.&lt;/h1&gt;

&lt;p&gt;My anti-DRM article is quickly going to turn into a pro-O'Reilly Media infomercial, so you've been warned.&lt;/p&gt;

&lt;p&gt;I am not the kind of person to feel any kind of brand loyalty.  I'm the kind of person who deliberately buys a different brand of peanut butter every time I go to the grocery store, to try to screw with the store's customer-tracking database.&lt;/p&gt;

&lt;p&gt;O'Reilly is probably an exception.  I like O'Reilly.  Why is that?&lt;/p&gt;

&lt;p&gt;First, O'Reilly books tend to be pretty good.  At least, I have yet to buy one that wasn't pretty good.&lt;/p&gt;

&lt;p&gt;Allow me to digress.  My college's CS curriculum was based around C++.  Now, I'm the kind of person who thinks that programming is vaguely enjoyable no matter what I'm doing.  Computers are fun.  But for a new programmer, coding in C++ is like an hours-long shouting match with the compiler where your goal is to try to get the compiler errors to shut up.  Producing a working program is an occasional side-effect.  C++ doesn't exactly promote explorative, imaginative programming.&lt;/p&gt;

&lt;p&gt;The first class I had in college where I actually &lt;em&gt;enjoyed&lt;/em&gt; programming was a class that taught Perl.  My textbook was &lt;em&gt;Learning Perl&lt;/em&gt;, aka the Llama Book&lt;sup id="fnref:nicknames"&gt;&lt;a href="http://briancarper.net/feed/#fn:nicknames" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;.  What a good book.  I still have it.  I remember feeling like I learned more reading that book that I had in two years of slogging through C++ data structures.  And what fun Perl was.  &lt;em&gt;&amp;lt;insert analogy="analogy" and="and" between="between" here.="here." nerdy="nerdy" programming="programming" some="some" wizardry="wizardry"&amp;gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I remember immediately spending a bunch of money I should've saved for food, and getting &lt;em&gt;Programming Perl&lt;/em&gt;, aka the Camel Book&lt;sup id="fnref:nicknames"&gt;&lt;a href="http://briancarper.net/feed/#fn:nicknames" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;.  So good!  Who knew a book could be witty and fun, and teach you things at the same time.  You can tell when a book is written by someone who knows their stuff, and who enjoys talking about their craft.&lt;/p&gt;

&lt;p&gt;Not sure if it was Perl itself, or the great Perl books, or probably some combination.  But I've been cemented in dynamic, vaguely-Perly, powerful and fun languages since then.  First Ruby, then Clojure.&lt;/p&gt;

&lt;p&gt;I'm also likely to buy an O'Reilly book, given a choice between alternatives.&lt;/p&gt;

&lt;h1&gt;Step 2: Be Humans and give a crap.&lt;/h1&gt;

&lt;p&gt;A second thing that creates brand loyalty is when a company seems to be made of human beings that you can relate to.&lt;/p&gt;

&lt;p&gt;When I heard O'Reilly was writing a Lisp book, and what's more, it was a Clojure book, and what's more,  I could be involved in writing it... I was pretty excited.  &lt;/p&gt;

&lt;p&gt;Our book was written in ASCIIDOC, and lived in an SVN repo hosted at O'Reilly.&lt;sup id="fnref:gitisbetter"&gt;&lt;a href="http://briancarper.net/feed/#fn:gitisbetter" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;  We could upload code with a certain string in the SVN commit log, and that'd trigger a rebuild of the ASCIIDOC on O'Reilly's server, which was compiled into PDF, and then we could download the PDF from SVN to see how the final product would look.  Turnaround time was about 10 minutes.  It was a nice, programmer-friendly setup, to be sure.&lt;/p&gt;

&lt;p&gt;Whenever I dealt with people at O'Reilly, I generally got the feeling that I was working with programmers, or people who cared about programming.  There aren't a lot of Clojure gurus there, but there were people who knew why wrapping long lines of could needed to be handled &lt;em&gt;just right&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;It's a great feeling to work with people whose goal is advancing the craft, as opposed to some kind of Death-Star-like entity whose goal is wringing extra pennies out of customers' bones.&lt;/p&gt;

&lt;h1&gt;DRM sucks&lt;/h1&gt;

&lt;p&gt;So does O'Reilly actually give a crap?  Well, fiiiiiiiiinally getting to the point: O'Reilly's stance on DRM is pretty much spot-on.  O'Reilly books are sold without DRM.  DRM is not the way to make good stuff.  DRM is a good sign that you don't give a crap. DRM doesn't advance the craft, but rather does the opposite.&lt;/p&gt;

&lt;p&gt;I leant a guy my copy of K%R a while back.  Now there's one more person in the world with a bit more knowledge of C.  This is a really good thing.  If my copy of K&amp;amp;R was a DRMed ebook that I couldn't lend out, the world would be a tangibly worse place.&lt;/p&gt;

&lt;p&gt;I highly recommend &lt;a href="http://radar.oreilly.com/2012/05/drm-free-day-forever.html"&gt;this article&lt;/a&gt; by Mike Hendrickson at O'Reilly where he talks about piracy, DRM, and making books.  Also &lt;a href="http://radar.oreilly.com/2006/08/piracy-is-progressive-taxation.html"&gt;this one&lt;/a&gt; by Tim O'Reilly where he talks about the same.&lt;/p&gt;

&lt;p&gt;Now that my name is on a book, have my opinions about DRM changed?   Not really.  I'd obviously prefer that people pay for my book.  I pay for books.  It's only fair.&lt;/p&gt;

&lt;p&gt;At the same time, I would be really disappointed if my book was sold with DRM all over it, and I'm glad it isn't.&lt;/p&gt;

&lt;p&gt;Treating your customers like thieves &lt;em&gt;a priori&lt;/em&gt; is not the way to build brand loyalty.  Thinking that DRM is going to stop anyone from pirating a book is pretty much delusional.  Using DRM to maintain some kind of iron-fisted control over stuff you're selling to other people is morally sketchy.&lt;/p&gt;

&lt;p&gt;DRM is not the way to advance the craft.  Advancing the craft is the important thing.&lt;/p&gt;

&lt;p&gt;When you make smart decisions like not selling DRMed books, the result could be dorks like me spending an hour or two unprovoked, writing an article about how good your company is.  And yeah, this is surely a bit self-serving because I want to sell my book, but I'd have written this same article two years ago too.&lt;/p&gt;&lt;div class="footnotes"&gt;&lt;ol&gt;&lt;li id="fn:nicknames"&gt;&lt;p&gt;One way to tell a good book is if it's widely known by an affectionate nickname or acronym.  K&amp;amp;R?  TAOCP?  SICP?  The Camel Book?  You probably know what I mean right away. &lt;a href="http://briancarper.net/feed/#fnref:nicknames" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li id="fn:gitisbetter"&gt;&lt;p&gt;Obviously I'd have preferred Git, but I'll take what I can get. &lt;a href="http://briancarper.net/feed/#fnref:gitisbetter" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 04 May 2012 20:23:52 +0000</pubDate>
</item>
<item>
	<title>Joachim Schiele: newspages, quotability and wikis</title>
	<guid isPermalink="false">http://invalidmagic.wordpress.com/?p=1175</guid>
	<link>http://invalidmagic.wordpress.com/2012/05/04/newspages-quotability-and-wikis/</link>

	<description>&lt;div style="width: 145px;" class="wp-caption alignright" id="attachment_725"&gt;&lt;a href="http://invalidmagic.files.wordpress.com/2010/12/evopedia.png"&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2010/12/evopedia.png?w=135&amp;amp;h=135" title="evopedia" height="135" width="135" alt="" class=" wp-image-725 " /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Evopedia Icon&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;for quite some time &lt;strong&gt;i use a wiki at lastlog.de&lt;/strong&gt;, a mediawiki to be precise, and i wonder why there is no wide &lt;strong&gt;adaptation towards the wiki principle&lt;/strong&gt;. with that i don’t mean collaborative editing but, somehow in contrast, the principle to be quotable.&lt;/p&gt;
&lt;p&gt;lately, out of curiosity, i scrolled through my diploma thesis and checked the overall link stability. some were broken. &lt;strong&gt;however, all wikipedia links worked&lt;/strong&gt;. as stated in the document itself, i explicitly link to the wikipedia because of its link stability. if i would have liked i could have even linked to a certain revision. but i decided not to, as the reader always has the option to look at an older revision, based on date and time.&lt;/p&gt;
&lt;p&gt;the more interesting aspect, that is why i linked to wikipedia articles, is that i don’t want to waste time describing something when there is a different place doing so already. if someone is smart enough to follow my ideas in my diploma thesis i assume the same when it comes to judging about the quality of wikipedia articles. and before linking a keyword (like ‘package manager’) to a certain wikipedia article, which should describe it, i always read the article. the idea is twofold: first i like to see if my conception or understanding matches with what is in the article. second, if that is the case, i would simply link it and forget about the whole thing. but if my understanding does not match with the article i can evaluate my or their version as being better and pick what fits best.&lt;/p&gt;
&lt;p&gt;for some online articles i had to link, i wasn’t even able to provide a direct link and therefore added a google search link into the document.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;wiki editing has so many benefits, like being able to rollback to a previous version. do collaborative work. why is there no wiki like support, say when editing libre office/word documents?&lt;/strong&gt; maybe because back in time that was considered a waste of bits&amp;amp;bytes but using compression that can’t be an argument today.&lt;/p&gt;
&lt;p&gt;here is a use-case where that would be great: say you write a document and you pass it to someone else for review and corrections. often i would like the other person doing whatever change he wants to do and later be able to rollback this or that change. with a wiki like document structure this would be very easy.&lt;/p&gt;
&lt;p&gt;if you don’t follow, just have a look at this link:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/w/index.php?title=Linux&amp;amp;diff=490431450&amp;amp;oldid=489027763"&gt;http://en.wikipedia.org/w/index.php?title=Linux&amp;amp;diff=490431450&amp;amp;oldid=489027763&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;and about &lt;strong&gt;link stability&lt;/strong&gt;: &lt;strong&gt;this link might even work when this blog is long gone. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;i see so many benefits by using wikis and wiki like concepts but despite of the wiki-web principle and decentralized VCSs there seems to be no wide use of it.&lt;/p&gt;
&lt;p&gt;IMHO i think &lt;strong&gt;a webpage&lt;/strong&gt;, even this wordpress blog, &lt;strong&gt;which does not implement a wiki principle, is kind of stupid&lt;/strong&gt; as one can never be certain what is going on. &lt;strong&gt;one could say such a page is schizophrenic to some degree&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;hopefully this will change in the future.&lt;/p&gt;
&lt;p&gt;update: 11.5.2012 – it would be desirable if the mentioned link stability would be independent of a strict TLD (top level domain). for example: if i move this blog to a different location, say to invalidmagic.de then all the articles here stop working and the links from other pages into this article will fail.&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/invalidmagic.wordpress.com/1175/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/invalidmagic.wordpress.com/1175/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/invalidmagic.wordpress.com/1175/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/invalidmagic.wordpress.com/1175/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/invalidmagic.wordpress.com/1175/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/invalidmagic.wordpress.com/1175/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/invalidmagic.wordpress.com/1175/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/invalidmagic.wordpress.com/1175/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/invalidmagic.wordpress.com/1175/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/invalidmagic.wordpress.com/1175/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/invalidmagic.wordpress.com/1175/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/invalidmagic.wordpress.com/1175/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/invalidmagic.wordpress.com/1175/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/invalidmagic.wordpress.com/1175/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=invalidmagic.wordpress.com&amp;amp;blog=7740335&amp;amp;post=1175&amp;amp;subd=invalidmagic&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Fri, 04 May 2012 19:32:19 +0000</pubDate>
</item>
<item>
	<title>George Kargiotakis: AthCon 2012 – Are you ready for IPv6 insecurities ?</title>
	<guid isPermalink="false">http://www.void.gr/kargig/blog/?p=1350</guid>
	<link>http://www.void.gr/kargig/blog/2012/05/03/athcon-2012-are-you-ready-for-ipv6-insecurities/</link>

	<description>&lt;p&gt;My presentation for AthCon 2012 is now available online: &lt;a href="http://void.gr/kargig/presentations/athcon_2012_kargig.pdf" title="Are you ready for IPv6 insecurities ?"&gt;Are you ready for IPv6 insecurities ?&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 03 May 2012 20:41:17 +0000</pubDate>
</item>
<item>
	<title>Michael Mair-Keimberger: notify script for cmus</title>
	<guid isPermalink="false">tag:blogger.com,1999:blog-2324207642645389640.post-8092156521614772243</guid>
	<link>http://michaelmk.blogspot.com/2012/05/notify-script-for-cmus.html</link>

	<description>Recently i bought a new PC and therefore i wanted to switch to a new audio player. Usually i use &lt;a href="http://amarok.kde.org/" target="_blank"&gt;amarok&lt;/a&gt; which is still one of the best audio player out there. But it has a big disadvantage - it uses &lt;a href="http://www.mysql.com/" target="_blank"&gt;mysql&lt;/a&gt; for its database, and i simple don't wanted mysql.&lt;br /&gt;Though, to choose mysql for the database backend is still a good decision - if you have a really big collection.&lt;br /&gt;And that's amarok's audience - users with a huge audio collection.&lt;br /&gt;Well, actually i have a huge audio collection too, but since i actually just play around ~40 tracks all the time besides mostly listening to streams, i really don't wanted a audio player which depends on mysql.&lt;br /&gt;While lo&lt;span style="font-family: inherit;"&gt;oking for a new player i found &lt;a href="http://cmus.sourceforge.net/" target="_blank"&gt;cmus&lt;/a&gt;. A very simple console player. It's perfect. It has all the things which i need (playlists, mp3/flac support, stream support) and also has a really tiny memory footprint.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;To make the player really &lt;span style="background-color: white; white-space: nowrap;"&gt;comfortably&lt;/span&gt; in kde i wrote a small script which shows me some basic information about the actual track which i'm listening too.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And that's the script:&lt;br /&gt;&lt;pre style="background-color: white; color: #1f1c1b;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;i&gt;&lt;span style="color: #898887;"&gt;#!/bin/bash&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;KDIALOG=&lt;/span&gt;&lt;span style="color: #bf0303;"&gt;"/usr/bin/kdialog"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;GREP=&lt;/span&gt;&lt;span style="color: #bf0303;"&gt;"/bin/grep"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;AWK=&lt;/span&gt;&lt;span style="color: #bf0303;"&gt;"/bin/awk"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;CMUSREMOTE=&lt;/span&gt;&lt;span style="color: #bf0303;"&gt;"/usr/bin/cmus-remote"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #880088;"&gt;declare&lt;/span&gt;&lt;/b&gt; -i &lt;span style="color: #006e28;"&gt;duration=$($CMUSREMOTE&lt;/span&gt; -Q&lt;b&gt;|&lt;/b&gt;&lt;span style="color: #006e28;"&gt;$GREP&lt;/span&gt; &lt;span style="color: #bf0303;"&gt;"duration"&lt;/span&gt;&lt;b&gt;|&lt;/b&gt;&lt;span style="color: #006e28;"&gt;$AWK&lt;/span&gt; &lt;span style="color: #bf0303;"&gt;'{ print $2 }'&lt;/span&gt;&lt;span style="color: #006e28;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #880088;"&gt;declare&lt;/span&gt;&lt;/b&gt; -i &lt;span style="color: #006e28;"&gt;position=$($CMUSREMOTE&lt;/span&gt; -Q&lt;b&gt;|&lt;/b&gt;&lt;span style="color: #006e28;"&gt;$GREP&lt;/span&gt; &lt;span style="color: #bf0303;"&gt;"position"&lt;/span&gt;&lt;b&gt;|&lt;/b&gt;&lt;span style="color: #006e28;"&gt;$AWK&lt;/span&gt; &lt;span style="color: #bf0303;"&gt;'{ print $2 }'&lt;/span&gt;&lt;span style="color: #006e28;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;percent=&lt;/span&gt;$[100*position/duration]&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;artist=$($CMUSREMOTE&lt;/span&gt; -Q&lt;b&gt;|&lt;/b&gt;&lt;span style="color: #006e28;"&gt;$GREP&lt;/span&gt; &lt;span style="color: #bf0303;"&gt;"tag artist"&lt;/span&gt;&lt;span style="color: #006e28;"&gt;)&lt;/span&gt; &lt;i&gt;&lt;span style="color: #898887;"&gt;# ${artist:10}&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;title=$($CMUSREMOTE&lt;/span&gt; -Q&lt;b&gt;|&lt;/b&gt;&lt;span style="color: #006e28;"&gt;$GREP&lt;/span&gt; &lt;span style="color: #bf0303;"&gt;"tag title"&lt;/span&gt;&lt;span style="color: #006e28;"&gt;)&lt;/span&gt; &lt;i&gt;&lt;span style="color: #898887;"&gt;# ${title:9}&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006e28;"&gt;$KDIALOG&lt;/span&gt; --title &lt;span style="color: #bf0303;"&gt;"CMUS is playing... (&lt;/span&gt;&lt;span style="color: #006e28;"&gt;$percent&lt;/span&gt;&lt;span style="color: #bf0303;"&gt;%)"&lt;/span&gt; --passivepopup &lt;span style="color: #bf0303;"&gt;"&lt;/span&gt;&lt;span style="color: #006e28;"&gt;${artist:10}&lt;/span&gt;&lt;span style="color: #bf0303;"&gt; - &lt;/span&gt;&lt;span style="color: #006e28;"&gt;${title:9}&lt;/span&gt;&lt;span style="color: #bf0303;"&gt;"&lt;/span&gt; 3&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-color: white; color: #1f1c1b;"&gt;&lt;/pre&gt;&lt;pre style="background-color: white; color: #1f1c1b;"&gt;&lt;/pre&gt;&lt;pre style="background-color: white; color: #1f1c1b;"&gt;&lt;/pre&gt;&lt;span style="font-family: inherit;"&gt;It looks like this:&lt;/span&gt;&lt;br /&gt;&lt;div style="clear: both; text-align: center;" class="separator"&gt;&lt;a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/-JINeNkvz4H4/T5wf1-nD6GI/AAAAAAAABBI/YRGUUPp2_cI/s1600/snapshot2.png"&gt;&lt;img width="320" src="http://4.bp.blogspot.com/-JINeNkvz4H4/T5wf1-nD6GI/AAAAAAAABBI/YRGUUPp2_cI/s320/snapshot2.png" border="0" height="132" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;To make it even more comfortably i put some code into my .bashrc and initab.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;.bashrc:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;b&gt;if&lt;/b&gt; !&lt;b&gt;&lt;span style="color: #880088;"&gt; [&lt;/span&gt;&lt;/b&gt; &lt;span style="color: #bf0303;"&gt;"&lt;/span&gt;&lt;span style="color: #006e28;"&gt;$(&lt;/span&gt;&lt;b&gt;&lt;span style="color: #cc00cc;"&gt;pidof&lt;/span&gt;&lt;/b&gt; cmus&lt;span style="color: #006e28;"&gt;)&lt;/span&gt;&lt;span style="color: #bf0303;"&gt;"&lt;/span&gt;&lt;b&gt;&lt;span style="color: #880088;"&gt; ]&lt;/span&gt;&lt;/b&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;b&gt;  then&lt;/b&gt;        /usr/bin/cmus&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;fi&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;inittab:&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;c8:2345:respawn:/sbin/agetty -a michael 38400 tty8 linux&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;With that settings, cmus always get started on tty8. And with the alias &lt;/span&gt;p="cmus-remote -u" i just have to press "p" after login to play music (just a note: i don't use a login-manager, thats why i always login at the console and start kde/X with startx).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" alt="" src="https://blogger.googleusercontent.com/tracker/2324207642645389640-8092156521614772243?l=michaelmk.blogspot.com" height="1" /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 02 May 2012 19:59:05 +0000</pubDate>
	<author>noreply@blogger.com (Michael Mair-Keimberger)</author>
</item>
<item>
	<title>Martin Matusiak: il faut bien falloir de plus</title>
	<guid isPermalink="false">http://www.matusiak.eu/numerodix/blog/?p=3835</guid>
	<link>http://feedproxy.google.com/~r/numerodix/~3/RwPApNf7nLA/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/MartinMatusiak.jpg" alt="" align="right" style="float: right;"&gt;&lt;p&gt;C’est bizarre que “faut/faute” signifie soit avoir besoin de quelque chose soit commetre un acte injuste.&lt;/p&gt;
&lt;p&gt;- Il me faut un stylo.&lt;br /&gt;
- C’est ma faute.&lt;/p&gt;
&lt;p&gt;Ici encore:&lt;br /&gt;
- Falta de Morientes. (Morientes a commis une faute.)&lt;br /&gt;
- No me falta eso. (Je n’ai pas besoin de ça.)&lt;/p&gt;
&lt;p&gt;Qu’en pensez-vous?&lt;/p&gt;
&lt;img width="1" src="http://feeds.feedburner.com/~r/numerodix/~4/RwPApNf7nLA" height="1" /&gt;</description>
	<pubDate>Wed, 02 May 2012 19:22:31 +0000</pubDate>
</item>
<item>
	<title>Dieter Plaetinck: Dell crowbar openstack swift</title>
	<guid isPermalink="false">http://dieter.plaetinck.be/dell_crowbar_openstack_swift</guid>
	<link>http://dieter.plaetinck.be/dell_crowbar_openstack_swift.html</link>

	<description>&amp;lt;html&amp;gt;Learned about &lt;a href="https://github.com/dellcloudedge/crowbar"&gt;Dell Crowbar&lt;/a&gt; the other day.  It seems to be (becoming) a tool I've wanted for quite a while, because it takes automating physical infrastructure to a new level, and is also convenient on virtual.

&lt;br /&gt;&lt;br /&gt;::&lt;a href="http://dieter.plaetinck.be/dell_crowbar_openstack_swift.rss"&gt;Read more&lt;/a&gt;</description>
	<pubDate>Wed, 02 May 2012 09:50:00 +0000</pubDate>
</item>
<item>
	<title>Brian Carper: cursorcolumn / cursorline slowdown</title>
	<guid isPermalink="false">http://briancarper.net/blog/590/cursorcolumn--cursorline-slowdown</guid>
	<link>http://briancarper.net/blog/590/cursorcolumn--cursorline-slowdown</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/brian_carper.gif" alt="" align="right" style="float: right;"&gt;&lt;p&gt;The &lt;code&gt;cursorcol&lt;/code&gt; and &lt;code&gt;cursorline&lt;/code&gt; options in Vim are great.  Enabling them, and setting up your syntax highlighting correctly, will highlight the line and column that contains the cursor, drawing a sort of "crosshairs", to let you find the cursor easily.&lt;/p&gt;

&lt;p&gt;This is especially useful when editing non-sourcecode files, like giant fixed-with data files.  Or when you need to keep switching your attention back and forth from Vim to something else; the visual cue to draw your eyes back to the cursor can be useful to prevent a mental page fault.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://briancarper.net/vim/cursor-crosshairs.png" alt="Cursor crosshairs" title="" /&gt;&lt;/p&gt;

&lt;p&gt;Great.  However, the help info for &lt;code&gt;cursorcolumn&lt;/code&gt; says this, in part:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    Highlight the screen column of the cursor with CursorColumn
    |hl-CursorColumn|.  Useful to align text.  Will make screen redrawing
    slower.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;"Will make screen redrawing slower" is an understatement, unfortunately.  Over the past who-knows-how-long, I've noticed Vim slowing to a crawl when editing certain files, mostly big Ruby files.  Moving the cursor around or scrolling the window became pretty painful.  I could never quite figure out why, but today I got sick of it, and eventually found &lt;a href="http://vim.1045645.n5.nabble.com/Vim-7-slows-down-when-highlighting-cursor-line-td1148280.html"&gt;an old message on the Vim mailing list&lt;/a&gt; explaining the problem.  &lt;/p&gt;

&lt;p&gt;Apparently when you have &lt;code&gt;cursorcolumn&lt;/code&gt; or &lt;code&gt;cursorline&lt;/code&gt; enabled, the whole screen is redrawn every time you move the cursor.  That explains a lot.  When I disabled these options, editing complex Ruby files once again achieved notepad.exe-level speed.&lt;/p&gt;

&lt;p&gt;I guess there's this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function! CursorPing()
    set cursorline cursorcolumn
    redraw
    sleep 50m
    set nocursorline nocursorcolumn
endfunction

nmap &amp;lt;C-Space&amp;gt; :call CursorPing()&amp;lt;CR&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will flash the cursor crosshairs for 50 milliseconds when I hit &lt;code&gt;CTRL+Space&lt;/code&gt; in normal mode.  Better than nothing.&lt;/p&gt;</description>
	<pubDate>Mon, 30 Apr 2012 22:48:25 +0000</pubDate>
</item>
<item>
	<title>Alexander Rink: Britta Strauss</title>
	<guid isPermalink="false">http://behrendt.cc/?p=14</guid>
	<link>http://behrendt.cc/2012/04/neue-autorin/</link>

	<description>Wir freuen uns sehr, dass wir mit Britta Strauss eine talentierte Autorin für den Drachenmond Verlag gewinnen konnten und freuen uns sehr auf ihren neuen Roman Sturmherz, der voraussichtlich im Herbst bei uns erscheinen wird.</description>
	<pubDate>Mon, 30 Apr 2012 17:21:43 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: 20120215 policies now stable</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=598</guid>
	<link>http://blog.siphos.be/2012/04/20120215-policies-now-stable/</link>

	<description>&lt;p&gt;
Today I’ve stabilized the &lt;tt&gt;sec-policy/selinux-*&lt;/tt&gt; packages that provide the 20120215 “series” of SELinux policies. Together with the stabilization, the more recent userspace tools (like the policycoreutils as well as libraries like libsemanage and libselinux) have been pushed out as well. I will be dropping the older policies and userspace tools soon (as they are now deprecated). The documentation has been updated to reflect this too.
&lt;/p&gt;
&lt;ul&gt;Some of the enhancements include&lt;p&gt;&lt;/p&gt;
&lt;li&gt;support for permissive domains (allowing users to mark one specific SELinux domain, such as mplayer_t, as permissive (even though the rest of the system is running in enforcing mode)&lt;/li&gt;
&lt;li&gt;support for file context translations, so we can now say “/usr/lib64 (and below) should have the same contexts as /usr/lib”&lt;/li&gt;
&lt;li&gt;support for role attributes, which means for policy developers, we now have similar freedom as with type attributes&lt;/li&gt;
&lt;li&gt;support for named file transitions, so a policy rule can say that domain A, if creating a file in a directory labeled B, then that specific file should have label C. Same for directories, btw.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Although some of these enhancements were available as features individually, the policies we had were not aligned with it – and now, that has changed ;-)&lt;/p&gt;</description>
	<pubDate>Sun, 29 Apr 2012 14:43:39 +0000</pubDate>
</item>
<item>
	<title>Joachim Schiele: booting nixos from lvm on top of mdadm using GPT</title>
	<guid isPermalink="false">http://invalidmagic.wordpress.com/?p=1124</guid>
	<link>http://invalidmagic.wordpress.com/2012/04/28/booting-nixos-from-lvm-on-top-of-mdadm-using-gpt/</link>

	<description>&lt;h1&gt;&lt;a href="http://invalidmagic.files.wordpress.com/2010/12/nixos-lores.png"&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2010/12/nixos-lores.png?w=150&amp;amp;h=46" title="nixos-lores" height="46" width="150" alt="" class="alignright size-thumbnail wp-image-704" /&gt;&lt;/a&gt;what is this?&lt;/h1&gt;
&lt;p&gt;i recently &lt;strong&gt;upgraded my hetzner root server&lt;/strong&gt; and therefore had a system with &lt;strong&gt;2x3tb disks&lt;/strong&gt;. &lt;strong&gt;as fdisk can’t be used to partition disks &amp;gt; 2tb i had to use gpt instead&lt;/strong&gt; which was quite tricky until it was working. so here is my installation guide. parts of it applies also to other distributions.&lt;/p&gt;
&lt;p&gt;this guide uses concepts from the &lt;strong&gt;hetzner wiki OpenBSD installation guide&lt;/strong&gt; [1].&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;note:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;gpt is used&lt;/strong&gt; for both disks&lt;/li&gt;
&lt;li&gt;there is &lt;strong&gt;no extra /boot&lt;/strong&gt; partition (the system will &lt;strong&gt;directly boot from the lvm which is on top of the mdadm&lt;/strong&gt;); this works since grub2&lt;/li&gt;
&lt;li&gt;this setup is &lt;strong&gt;pretty similar to using fdisk (MBR) partitions&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;this &lt;strong&gt;guide still uses BIOS to boot&lt;/strong&gt; (no EFI/UEFI)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/dev/sda1 &lt;/strong&gt;and&lt;strong&gt; /dev/sdb1 &lt;/strong&gt;are&lt;strong&gt; very small partitions (2Mib); &lt;/strong&gt;they are used to &lt;strong&gt;store the grub2 boot stages&lt;/strong&gt;, see [5]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;disk layout&lt;/h2&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://invalidmagic.files.wordpress.com/2012/04/nix9000-disklayout3.jpg"&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2012/04/nix9000-disklayout3.jpg?w=404&amp;amp;h=614" title="nix9000-disklayout" height="614" width="404" alt="" class="aligncenter  wp-image-1211" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;update: 26.5.2012: updated the image according to the &lt;strong&gt;swap&lt;/strong&gt; comment from &lt;strong&gt;nbp. &lt;/strong&gt;swap should not be in the lvm as it might degrade the performance.&lt;/p&gt;
&lt;h2&gt;the installation&lt;/h2&gt;
&lt;h3&gt;first remove old partitions/mdadm setups&lt;/h3&gt;
&lt;h3&gt;uninstall:&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;lvremove /dev/myvolgrp/home
lvremove /dev/myvolgrp/system
lvremove /dev/myvolgrp/swap
vgremove myvolgrp
pvremote /dev/md0
mdadm --stop /dev/md0
# to remove the md0 permanently
mdadm --zero-superblock /dev/sda1
mdadm --zero-superblock /dev/sdb1
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;creating the partitions&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;update 26.5.2012: also add the swap partition here (not done below!).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;parted /dev/sda
mklabel gpt
mkpart non-fs 0 2
mkpart primary 2 3001G
p
Number Start End Size File system Name Flags
1 17.4kB 2000kB 1983kB non-fs
2 2097kB 3001GB 3001GB primary

set 1 bios_grub on
p
Number Start End Size File system Name Flags
1 17.4kB 2000kB 1983kB non-fs bios_grub
2 2097kB 3001GB 3001GB primary
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;creating the new mdadm softraid device&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;LVM+filesystems&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;pvcreate /dev/md0
Physical volume "/dev/md0" successfully created

vgcreate myVolGrp /dev/md0
Volume group "myVolGrp" successfully created

lvcreate -n system -L50G myVolGrp
lvcreate -n swap -L8G myVolGrp

mkfs.ext4 -O dir_index -j -L system /dev/myVolGrp/system
mkswap -L swap /dev/myVolGrp/swap
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;note: &lt;/strong&gt;the disk layout diagram mentiones a tmp partition which&lt;strong&gt; happended to be added later &lt;img src="http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;using a virtual machine + vnc to boot the iso image&lt;/h3&gt;
&lt;p&gt;preparing the host system:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;on the hostsystem&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;#download latest console only 64bit nixos installer
nixos-minimal-0.1pre33860-33874-x86_64-linux.iso
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;make sure /dev/myVolGrp/system and /dev/myVolGrp/swap are not in use:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;apt-get install sudo
qemu-system-x86_64 -enable-kvm -m 1024 -hda /dev/md0 -net nic -net tap -cdrom nixos-minimal-0.1pre33860-33874-x86_64-linux.iso -boot d -vnc localhost:0
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;note:&lt;/strong&gt; in contrast to original article [1] i use ‘-enable-kvm’ which speeds things up!&lt;/p&gt;
&lt;h3&gt;from your homecomputer&lt;/h3&gt;
&lt;p&gt;execute this two commands (in two different shells):&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;ssh -L 5900:localhost:5900 root@176.9.99.117
vncviewer localhost
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;inside the qemu/kvm system via vncviewer&lt;/h3&gt;
&lt;p&gt;how we have to prepare install the system on the devices we had preparted in the steps before:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;inside do:
login as root
mount -L system /mnt

cd /mnt
nixos-option --install
vi /etc/nixos/configuration.nix

stop dhcpcd
ip a add 172.2.0.2/16 dev eth0
ip r add via 172.2.0.1
echo "nameserver 8.8.8.8" &amp;gt; /etc/resolv.conf
# use ping www.google.de to verfy that the routing is working

# example url, configuration.nix is appended to this article
curl http://lastlog.de/configuration.nix
mv configuration.nix /mnt/etc/nixos/configuration.nix
# now the installation, make sure you read the nixos installation guide as well, but in short:
nixos-install
# only the grub2 installation should have failed (as there is no /dev/sda1 in the virtual machine!)
#finally we halt the system
halt
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;im hostsystem we need to install grub2:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;apt-get install grub2
grub-install --no-floppy --root-directory=/mnt --recheck /dev/sda
Installation finished. No error reported.

grub-install --no-floppy --root-directory=/mnt --recheck /dev/sdb
Installation finished. No error reported.

# now we add a ssh key so we can login into this system later on
cd /mnt
mkdir root
cd root
mkdir .ssh
chown 0700 .ssh/
cd .ssh
echo "ssh-rsa AAAAB3Nz.....aU79sGVhyOPRz joachim@ebooK" &amp;gt; authorized_keys
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;from your homecomputer login into the installed system (reboot the host) and then issue this command:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;ssh root@176.9.99.117 -i ~/.ssh/myprivatekey
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;after the first login, nixos-rebuild switch might fail with this error message:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;nixos-rebuild switch --fast
building the system configuration...
updating GRUB 2 menu...
installing the GRUB bootloader on /dev/sda...
/nix/store/iaypdz5mm1qk8izs9412cb28v9vwwcn4-grub-1.99/sbin/grub-probe: error: no such disk.
Auto-detection of a filesystem of /dev/mapper/myVolGrp-system failed.
Try with --recheck.
If the problem persists please report this together with the output of "/nix/store/iaypdz5mm1qk8izs9412cb28v9vwwcn4-grub-1.99/sbin/grub-probe --device-map="/boot/grub/device.map" --target=fs -v /boot/grub" to
grub-probe --device-map="/boot/grub/device.map" --target=fs -v /boot/grub
grub-probe: info: Cannot stat `/dev/disk/by-id/scsi-35000c5003f556643', skipping.
grub-probe: info: Cannot stat `/dev/disk/by-id/scsi-35000c5003f5363a6', skipping.
grub-probe: info: changing current directory to /dev.
grub-probe: info: changing current directory to pts.
grub-probe: info: changing current directory to shm.
grub-probe: info: changing current directory to myVolGrp.
grub-probe: info: changing current directory to md.
grub-probe: info: changing current directory to disk.
grub-probe: info: changing current directory to by-label.
grub-probe: info: changing current directory to by-uuid.
grub-probe: info: changing current directory to by-partlabel.
grub-probe: info: changing current directory to by-partuuid.
grub-probe: info: changing current directory to by-path.
grub-probe: info: changing current directory to by-id.
grub-probe: info: changing current directory to snd.
grub-probe: info: changing current directory to mapper.
grub-probe: info: opening myVolGrp-system.
grub-probe: error: no such disk.
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;so what is inside this device.map anyway?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;cd /boot/grub
cat device.map
(hd0) /dev/disk/by-id/scsi-35000c5003f556643
(hd1) /dev/disk/by-id/scsi-35000c5003f5363a6
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jordan_U#grub@irc.freenode.net&lt;/strong&gt; &lt;strong&gt;recommended&lt;/strong&gt; to &lt;strong&gt;remove the device.map.&lt;/strong&gt; that made it work:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;rm /boot/grub/device.map
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;summary&lt;/h2&gt;
&lt;p&gt;took quite some time to figure all this out so i guess someone else might have interested in this guide as well. i also tried to install, using EFI, but soon discovered that this might be a very complicated road to go and therefore skipped that.&lt;br /&gt;
it is cool to see that there is a &lt;strong&gt;very helpful community surrounding key projects&lt;/strong&gt; required to get this installation done. i would have had to spend much more time if i wouldn’t have had someone to ask from time to time.&lt;/p&gt;
&lt;h2&gt;links&lt;/h2&gt;
&lt;p&gt;[1] &lt;a href="http://wiki.hetzner.de/index.php/OpenBSD"&gt;http://wiki.hetzner.de/index.php/OpenBSD&lt;/a&gt;&lt;br /&gt;
[2] &lt;a href="https://wiki.archlinux.de/title/Gpt"&gt;https://wiki.archlinux.de/title/Gpt&lt;/a&gt;&lt;br /&gt;
[3] &lt;a href="https://wiki.archlinux.org/index.php/GRUB2#GPT_specific_instructions"&gt;https://wiki.archlinux.org/index.php/GRUB2#GPT_specific_instructions&lt;/a&gt;&lt;br /&gt;
[4] &lt;a href="http://www.wensley.org.uk/gpt"&gt;http://www.wensley.org.uk/gpt&lt;/a&gt;&lt;br /&gt;
[5] &lt;a href="http://en.wikipedia.org/wiki/GNU_GRUB#GRUB_version_2"&gt;http://en.wikipedia.org/wiki/GNU_GRUB#GRUB_version_2&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;configuration.nix&lt;/h2&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;# Edit this configuration file which defines what would be installed on the
# system. To Help while choosing option value, you can watch at the manual
# page of configuration.nix or at the last chapter of the manual available
# on the virtual console 8 (Alt+F8).

{config, pkgs, ...}:

{
require = [
# Include the configuration for part of your system which have been
# detected automatically.
./hardware-configuration.nix
];

boot.initrd.kernelModules = [
# Specify all kernel modules that are necessary for mounting the root
# file system.
#
# "ext4" "ata_piix"
"af_packet" "snd_pcm_oss" "snd_mixer_oss" "rtc_cmos" "rtc_core" "rtc_lib" "snd_hda_codec_via" "i915" "joydev" "drm_kms_helper" "snd_hda_intel" "rng_core" "drm" "snd_hda_codec" "thermal" "i2c_algo_bit" "button" "snd_hwdep" "intel_agp" "psmouse" "i2c_i801" "evdev" "snd_pcm" "video" "agpgart" "pcspkr" "serio_raw" "iTCO_wdt" "i2c_core" "snd_timer" "output" "e1000e" "snd" "soundcore" "snd_page_alloc" "sg" "loop" "ipv6" "kvm" "freq_table" "processor" "thermal_sys" "hwmon" "ext4" "mbcache" "jbd2" "crc16" "raid456" "async_pq" "async_xor" "xor" "async_memcpy" "async_raid6_recov" "raid6_pq" "async_tx" "md_mod" "sd_mod" "crc_t10dif" "sata_sil" "ata_piix" "dm_mod" "usb_storage" "usb_libusual" "usbhid" "hid" "ohci1394" "ieee1394" "ahci" "libata" "scsi_mod" "ehci_hcd" "uhci_hcd" "usbcore" "nls_base" "scsi_wait_scan" "unix"
];

boot.loader.grub = {
# Use grub 2 as boot loader.
enable = true;
version = 2;

# Define on which hard drive you want to install Grub.
devices = [ "/dev/sda" "/dev/sdb" ];
};
boot.extraKernelParams = [ "vga=normal" "nomodeset" ];

networking = {
hostName = "nix9000"; # Define your hostname.
# wireless.enable = true; # Enables Wireless.
};

# Add file system entries for each partition that you want to see mounted
# at boot time. You can add filesystems which are not mounted at boot by
# adding the noauto option.
fileSystems = [
# Mount the root file system
#
{ mountPoint = "/";
#device = "/dev/sda2";
label = "system";
}
#{ mountPoint = "/boot";
# label = "boot";
#}

# Copy &amp;amp; Paste &amp;amp; Uncomment &amp;amp; Modify to add any other file system.
#
# { mountPoint = "/data"; # where you want to mount the device
# device = "/dev/sdb"; # the device or the label of the device
# # label = "data";
# fsType = "ext3"; # the type of the partition.
# options = "data=journal";
# }
];

swapDevices = [
# List swap partitions that are mounted at boot time.
#
{ label = "swap"; }
];

# Select internationalisation properties.
# i18n = {
# consoleFont = "lat9w-16";
# consoleKeyMap = "us";
# defaultLocale = "en_US.UTF-8";
# };

# List services that you want to enable:

# Add an OpenSSH daemon.
services.openssh.enable = true;

# Add CUPS to print documents.
# services.printing.enable = true;

# Add XServer (default if you have used a graphical iso)
# services.xserver = {
# enable = true;
# layout = "us";
# xkbOptions = "eurosign:e";
# };

environment.systemPackages = with pkgs; [
zsh wget wgetpaste vimprobable2
];

# Add the NixOS Manual on virtual console 8
#services.nixosManual.showManual = true;
}

&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/invalidmagic.wordpress.com/1124/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/invalidmagic.wordpress.com/1124/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/invalidmagic.wordpress.com/1124/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/invalidmagic.wordpress.com/1124/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/invalidmagic.wordpress.com/1124/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/invalidmagic.wordpress.com/1124/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/invalidmagic.wordpress.com/1124/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/invalidmagic.wordpress.com/1124/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/invalidmagic.wordpress.com/1124/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/invalidmagic.wordpress.com/1124/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/invalidmagic.wordpress.com/1124/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/invalidmagic.wordpress.com/1124/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/invalidmagic.wordpress.com/1124/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/invalidmagic.wordpress.com/1124/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=invalidmagic.wordpress.com&amp;amp;blog=7740335&amp;amp;post=1124&amp;amp;subd=invalidmagic&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Sat, 28 Apr 2012 11:09:08 +0000</pubDate>
</item>
<item>
	<title>John Alberts: New KVM Ohai Plugin</title>
	<guid isPermalink="false">http://blog.mindlesstechie.net/?p=211</guid>
	<link>http://feedproxy.google.com/~r/MindlessTechie/~3/_AIxdH8fIY8/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/john.alberts.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;I wrote a &lt;a href="https://github.com/albertsj1/ohai-plugins" target="_blank"&gt;new KVM plugin for Ohai&lt;/a&gt; which gives a ton of important information about KVM guests, which is stored in the node attributes for the host.  This makes it easy to find out which guests are currently on a host and other information about the guest, such as: cpu allocation, memory usage, persistence, autostart, etc.&lt;/p&gt;
&lt;p&gt;One of the things you can do once you have this plugin installed and running on the host is have the guest perform a search to find it’s host and then save that information somewhere on the guest.  This is very convenient if you’re on a kvm guest and you want to know right away what it’s host is.&lt;/p&gt;
&lt;p&gt;In you Chef code, just use something like this to find the current guest’s host:&lt;/p&gt;

&lt;div class="wp_codebox_msgheader"&gt;&lt;span class="right"&gt;&lt;sup&gt;&lt;a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"&gt;&lt;span style="color: #99cc00;"&gt;?&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;&lt;/span&gt;&lt;span class="left"&gt;&lt;a&gt;View Code&lt;/a&gt; RUBY&lt;/span&gt;&lt;div class="codebox_clear"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="wp_codebox"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr id="p2113"&gt;&lt;td class="code" id="p211code3"&gt;&lt;pre style="font-family: monospace;" class="ruby"&gt;parent_host = search&lt;span style="color: #006600; font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: #ff3333; font-weight: bold;"&gt;:node&lt;/span&gt;, &lt;span style="color: #996600;"&gt;"virtualization_kvm_guests:#{node[:hostname]}"&lt;/span&gt;&lt;span style="color: #006600; font-weight: bold;"&gt;)&lt;/span&gt;.&lt;span style="color: #9900CC;"&gt;first&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This plugin uses the same naming scheme for listing guests as my Linux VServer Ohai plugin, so it’s easy to search for the host of a guest, regardless of virtualization type.  I often find myself using knife to search for the host of a guest using this:&lt;/p&gt;

&lt;div class="wp_codebox_msgheader"&gt;&lt;span class="right"&gt;&lt;sup&gt;&lt;a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"&gt;&lt;span style="color: #99cc00;"&gt;?&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;&lt;/span&gt;&lt;span class="left"&gt;&lt;a&gt;View Code&lt;/a&gt; RUBY&lt;/span&gt;&lt;div class="codebox_clear"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="wp_codebox"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr id="p2114"&gt;&lt;td class="code" id="p211code4"&gt;&lt;pre style="font-family: monospace;" class="ruby"&gt;knife search node &lt;span style="color: #996600;"&gt;"virtualization_*_guests:&amp;lt;myguestname&amp;gt;"&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I think of this as a poor man’s KVM management system. &lt;img src="http://blog.mindlesstechie.net/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /&gt; &lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MindlessTechie?a=_AIxdH8fIY8:sPTBBa0Qhhg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MindlessTechie?d=yIl2AUoC8zA" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MindlessTechie?a=_AIxdH8fIY8:sPTBBa0Qhhg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MindlessTechie?i=_AIxdH8fIY8:sPTBBa0Qhhg:V_sGLiPBpWU" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MindlessTechie?a=_AIxdH8fIY8:sPTBBa0Qhhg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MindlessTechie?d=dnMXMwOfBR0" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MindlessTechie?a=_AIxdH8fIY8:sPTBBa0Qhhg:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MindlessTechie?i=_AIxdH8fIY8:sPTBBa0Qhhg:D7DqB2pKExk" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MindlessTechie?a=_AIxdH8fIY8:sPTBBa0Qhhg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MindlessTechie?i=_AIxdH8fIY8:sPTBBa0Qhhg:F7zBnMyn0Lo" border="0" /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img width="1" src="http://feeds.feedburner.com/~r/MindlessTechie/~4/_AIxdH8fIY8" height="1" /&gt;</description>
	<pubDate>Fri, 27 Apr 2012 14:23:49 +0000</pubDate>
</item>
<item>
	<title>Joachim Schiele: quantium cracking</title>
	<guid isPermalink="false">http://invalidmagic.wordpress.com/?p=1136</guid>
	<link>http://invalidmagic.wordpress.com/2012/04/26/quantium-cracking/</link>

	<description>&lt;p&gt;&lt;a href="http://invalidmagic.files.wordpress.com/2012/02/purple_podcasts.png"&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2012/02/purple_podcasts.png?w=90&amp;amp;h=90" title="purple_podcasts from harenome razanajato" height="90" width="90" alt="" class=" wp-image-1068   alignright" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;i just finished listening to “&lt;strong&gt;Episode 176: Quantum Computing&lt;/strong&gt;” [1] and this is really a great podcast. like the whole SE-Radio btw!&lt;/p&gt;
&lt;p&gt;this podcast really inspired me and on the way back from work, i was thinking about the possibility to exploit software using quantum computing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;quantum cracking&lt;/strong&gt; that is. it would work like this: &lt;strong&gt;assume you have a program or function which gets input. the ultimate goal is to find some input which will crash the program.&lt;/strong&gt; using a quantum computer this is probably not that hard to compute.&lt;br /&gt;
i could imagine that &lt;strong&gt;quantum computing could also be used for software verification,&lt;/strong&gt; which is actually quite the opposite of what quantum cracking would be.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;so when quantum computers arrive we do not only lose AES/RSA but our computers will be open to everyone with such a system. hopefully such systems spread soon, which might compensate the negative effect, maybe with quantum cryptography.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;but as martin laforest says: &lt;strong&gt;at the end of the day&lt;/strong&gt; i still don’t know when this technique will arrive. but when it arrives it will turn security upside down.&lt;/p&gt;
&lt;p&gt;the most promising aspect of quantum computing, which is mentioned in the podcast, is that &lt;strong&gt;it will enable detailed quantum research&lt;/strong&gt; which i consider a very cool thing as it will help to understand what goes down there.&lt;/p&gt;
&lt;h2&gt;links&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.se-radio.net/2011/06/episode-176-quantum-computing-with-martin-laforest/"&gt;http://www.se-radio.net/2011/06/episode-176-quantum-computing-with-martin-laforest/&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/invalidmagic.wordpress.com/1136/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/invalidmagic.wordpress.com/1136/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/invalidmagic.wordpress.com/1136/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/invalidmagic.wordpress.com/1136/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/invalidmagic.wordpress.com/1136/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/invalidmagic.wordpress.com/1136/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/invalidmagic.wordpress.com/1136/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/invalidmagic.wordpress.com/1136/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/invalidmagic.wordpress.com/1136/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/invalidmagic.wordpress.com/1136/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/invalidmagic.wordpress.com/1136/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/invalidmagic.wordpress.com/1136/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/invalidmagic.wordpress.com/1136/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/invalidmagic.wordpress.com/1136/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=invalidmagic.wordpress.com&amp;amp;blog=7740335&amp;amp;post=1136&amp;amp;subd=invalidmagic&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Thu, 26 Apr 2012 21:38:54 +0000</pubDate>
</item>
<item>
	<title>George Kargiotakis: Greek AdblockPlus Filter on github</title>
	<guid isPermalink="false">http://www.void.gr/kargig/blog/?p=1342</guid>
	<link>http://www.void.gr/kargig/blog/2012/04/26/greek-adblockplus-filter-on-github/</link>

	<description>&lt;p&gt;For the past months &lt;a href="http://www.void.gr/kargig/blog/greek-adblock-plus-filter/"&gt;Greek AdblockPlus Filter&lt;/a&gt; has steadily been growing in subscribers. I recently did a change in the metadata so that clients fetch/check the list every 2 days instead of the default 7, and the daily subscriber count has surpassed 10.000 unique IPs.&lt;/p&gt;
&lt;p&gt;The following graph shows this increase over time:&lt;br /&gt;
&lt;a href="http://www.void.gr/kargig/blog/wp-content/greek_adblockplus_filter_subscribers_201204.png"&gt;&lt;img src="http://www.void.gr/kargig/blog/wp-content/greek_adblockplus_filter_subscribers_201204.png" title="greek_adblockplus_filter_subscribers_201204" height="190" width="500" alt="" class="aligncenter size-medium wp-image-1343" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In order to help people contribute to the project I’ve created a repo on github: &lt;a href="https://github.com/kargig/greek-adblockplus-filter"&gt;greek-adblockplus-filter&lt;/a&gt;. So now, if you want to help filter out ads from the greek web just get fork the project via git, make your changes and send me a pull request on github &lt;img src="http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /&gt; &lt;/p&gt;</description>
	<pubDate>Thu, 26 Apr 2012 17:32:34 +0000</pubDate>
</item>
<item>
	<title>Jürgen Geuter: reSource event 001</title>
	<guid isPermalink="false">http://the-gay-bar.com/?p=1181</guid>
	<link>http://the-gay-bar.com/2012/04/26/resource-event-001/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/j_rgen_geuter.jpg" alt="" align="right" style="float: right;"&gt;&lt;p&gt;On May 12th I’m gonna be at the &lt;a href="http://www.transmediale.de/content/resource-event-001-trial-crack"&gt;reSource event 001&lt;/a&gt; in Berlin talking about &lt;a href="http://the-gay-bar.com/2012/04/20/why-do-i-publish-to-much-of-myself/"&gt;Postprivacy&lt;/a&gt; with &lt;a href="http://www.phuturama.de/"&gt;Gregor Sedlag&lt;/a&gt; (&lt;a href="https://twitter.com/gregorsedlag/"&gt;@gregorsedlag&lt;/a&gt;) and &lt;a href="http://mspr0.de/"&gt;Michael Seemann&lt;/a&gt; (&lt;a href="http://twitter.com/mspro"&gt;@mspro&lt;/a&gt;). Session will be in English and I think it’s gonna be fun, smart (well I’ll try not to drag the level down too much &lt;img src="http://the-gay-bar.com/wp-includes/images/smilies/icon_wink.gif" alt="icon wink reSource event 001" class="wp-smiley" title="reSource event 001" /&gt; ) and inspiring. Looking forward to seeing you there!&lt;/p&gt;
&lt;div id="vgwpixel"&gt;&lt;/div&gt; &lt;p&gt;&lt;a href="http://the-gay-bar.com/?flattrss_redirect&amp;amp;id=1181&amp;amp;md5=9c6b5d195354008e0fb1b5893d97a9d8" target="_blank" title="Flattr"&gt;&lt;img src="http://the-gay-bar.com/wp-content/plugins/flattrss/img/flattr-badge-large.png" alt="flattr this!" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 26 Apr 2012 11:01:26 +0000</pubDate>
</item>
<item>
	<title>Ciaran McCreesh: Paludis 0.74.1 Released</title>
	<guid isPermalink="false">http://ciaranm.wordpress.com/?p=1162</guid>
	<link>http://ciaranm.wordpress.com/2012/04/25/paludis-0-74-1-released/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/ciaranm.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;&lt;a href="http://paludis.exherbo.org/"&gt;Paludis&lt;/a&gt; 0.74.1 has been released:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compilation fix for certain compilers.&lt;/li&gt;
&lt;li&gt;Fixed a segfault when encountering blockers inside || ( ) dependencies.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Filed under: &lt;a href="http://ciaranm.wordpress.com/category/paludis/paludis-releases/"&gt;paludis releases&lt;/a&gt; Tagged: &lt;a href="http://ciaranm.wordpress.com/tag/paludis/"&gt;paludis&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gocomments/ciaranm.wordpress.com/1162/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/ciaranm.wordpress.com/1162/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/ciaranm.wordpress.com/1162/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/ciaranm.wordpress.com/1162/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/ciaranm.wordpress.com/1162/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/ciaranm.wordpress.com/1162/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/ciaranm.wordpress.com/1162/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/ciaranm.wordpress.com/1162/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/ciaranm.wordpress.com/1162/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/ciaranm.wordpress.com/1162/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/ciaranm.wordpress.com/1162/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/ciaranm.wordpress.com/1162/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/ciaranm.wordpress.com/1162/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/ciaranm.wordpress.com/1162/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=ciaranm.wordpress.com&amp;amp;blog=3715284&amp;amp;post=1162&amp;amp;subd=ciaranm&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Wed, 25 Apr 2012 19:42:31 +0000</pubDate>
</item>
<item>
	<title>Brian Carper: Split page vertically in CSS (minus pixels)</title>
	<guid isPermalink="false">http://briancarper.net/blog/589/split-page-vertically-in-css-minus-pixels</guid>
	<link>http://briancarper.net/blog/589/split-page-vertically-in-css-minus-pixels</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/brian_carper.gif" alt="" align="right" style="float: right;"&gt;&lt;p&gt;I was designing an online database application recently.  The layout I wanted was, I thought, fairly simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;N pixel header at the top&lt;/li&gt;
&lt;li&gt;The rest of the page split vertically into two panes&lt;/li&gt;
&lt;li&gt;Each pane should scroll independently&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Super easy to do in CSS, right?  Of course not!  You can't do this:&lt;/p&gt;

&lt;pre&gt;&lt;code class="brush: css"&gt;#header {  height: 50px; }

#panels {  height: 100% - 50px; }

#top, #bottom { overflow: auto; }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is because (of course) you can't do simple arithmetic in CSS. &lt;/p&gt;

&lt;p&gt;I can't think of a reason why it's not supported.  My browser knows the height of the window at any given point in time.  The browser can surely subtract two numbers.  If someone knows of a solid reason why we can't do this in CSS, please clue me in.&lt;/p&gt;

&lt;p&gt;I can think of many reasons why I would want to do it though.  The above use case is just one of them.&lt;/p&gt;

&lt;p&gt;I really dislike resorting to this (which does work, as seen &lt;a href="http://briancarper.net/random/layout-good.html"&gt;here&lt;/a&gt;):&lt;/p&gt;

&lt;pre&gt;&lt;code class="brush: css"&gt;#header {  height: 50px; }

#panels {
    position: absolute;
    top: 50px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

#top, #bottom { overflow: auto; }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Whenever I start using absolute positioning, I know something went off the rails somewhere.&lt;/p&gt;

&lt;p&gt;The worst part isn't that CSS doesn't support this, it's that even if CSS did suddenly support it, I couldn't use it until sometime in 2023 when all the major browsers implemented it and everyone using the old browsers switched or died of old age.&lt;/p&gt;</description>
	<pubDate>Tue, 24 Apr 2012 04:43:06 +0000</pubDate>
</item>
<item>
	<title>Jürgen Geuter: Why do I publish so much of myself?</title>
	<guid isPermalink="false">http://the-gay-bar.com/?p=1175</guid>
	<link>http://the-gay-bar.com/2012/04/20/why-do-i-publish-to-much-of-myself/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/j_rgen_geuter.jpg" alt="" align="right" style="float: right;"&gt;&lt;p&gt;As some of you may know I am a somewhat outspoken critic of &lt;a href="http://the-gay-bar.com/2011/08/22/our-broken-idea-of-privacy/" title="Our broken idea of privacy"&gt;privacy in the way we handle it today&lt;/a&gt; and do even call myself somewhat of a &lt;a href="http://the-gay-bar.com/2012/02/22/the-datenschutzkritische-spackeria/" title="The “datenschutzkritische Spackeria”"&gt;post-privacy advocate&lt;/a&gt; (when I do call myself anything; self-descriptions are the hardest!).&lt;/p&gt;
&lt;p&gt;If you look to the right of this text you can see where I checked in last, &lt;a href="https://foursquare.com/tante"&gt;my Foursquare profile &lt;/a&gt;is public, looking at &lt;a href="http://twitter.com/tante"&gt;my twitter feed&lt;/a&gt; you know when I am awake and usually even what I do. On &lt;a href="http://the-gay-bar.com/imprintimpressum/" title="Legal/Impressum"&gt;this site&lt;/a&gt;  you can see me legal name and address as well as my phone number. If you invest a few minutes with your search engine of choice you can find out a lot about me, my family, my upbringing: I live in the open.&lt;/p&gt;
&lt;p&gt;Looking at how I advocate a very open lifestyle and try to lure people away from &lt;a href="http://the-gay-bar.com/2011/08/22/our-broken-idea-of-privacy/" title="Our broken idea of privacy"&gt;the false promises privacy offers&lt;/a&gt; you  could consider me being very open just “eating one’s own dogfood”. On the other hand I have gotten quite some criticism about how dangerous my position is and what a bad sort of advice it might be to people living under oppressive governments, people who are being discriminated against or people with little political or economical power. And that criticism is true. And also misses the point.&lt;/p&gt;
&lt;p&gt;I live an extremely privileged life. I am a white, healthy, heterosexual male in Europe. I have a good education and a well-paid and interesting job. It’s actually hard to find any aspects in my life that open me up for the sort of sexist, racist or otherwise-ist attacks and discrimination so many other people face every day even in the so-called “first world”. And if I compare my situation to people living in poorer parts of the world the difference becomes even more grotesque.&lt;/p&gt;
&lt;p&gt;But in my perspective, my privileged life commits me to this open lifestyle. Not because I know that it will never have negative consequences but because I see it as an experiment.&lt;/p&gt;
&lt;p&gt;Who if not me, a super privileged individual, can test these ideas in the real world? The dangers for me are marginal compared to most people on this planet, hell even in this rich country! I run my life as a test case for my theories, try to reflect upon why a certain aspect works for me and what the preconditions for that success were, try to explicitly trace dangers down to their causes.&lt;/p&gt;
&lt;p&gt;Post-privacy is not a utopia you just slap on our world today for everyone and it would work. Like every big social change it takes a lot of time (or probably a catastrophe which is nothing I want to see happen to anyone, anywhere for whatever good it may do) for a society to change in that fundamental way . But in order to even properly discuss it, we need to determine the terms and conditions for a post-private society. What economical or political environment is necessary? What new or changed rights does the individual need?&lt;/p&gt;
&lt;p&gt;I life my life in this extremely open way to determine said conditions. It’s not a way of living I can recommend for every individual &lt;em&gt;today&lt;/em&gt;. But with a lot of work maybe in a few (probably many, probably many more than I have left on this planet &lt;img src="http://the-gay-bar.com/wp-includes/images/smilies/icon_wink.gif" alt="icon wink Why do I publish so much of myself?" class="wp-smiley" title="Why do I publish so much of myself?" /&gt; ) years there will be a world, a society where everybody can live this open and this freely. And if I can just nudge mankind a little bit in that direction, the few risks I take are really nothing I can invest more than a shrug into. And move on.&lt;/p&gt;
&lt;div id="vgwpixel"&gt;&lt;/div&gt; &lt;p&gt;&lt;a href="http://the-gay-bar.com/?flattrss_redirect&amp;amp;id=1175&amp;amp;md5=8c6073e082257bb3edb4c5e5b5ca2c69" target="_blank" title="Flattr"&gt;&lt;img src="http://the-gay-bar.com/wp-content/plugins/flattrss/img/flattr-badge-large.png" alt="flattr this!" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 20 Apr 2012 19:59:23 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Linux Sea now in ePub</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=593</guid>
	<link>http://blog.siphos.be/2012/04/linux-sea-now-in-epub/</link>

	<description>&lt;p&gt;
On request of Matthew Marchese, I now automatically build an &lt;a href="http://swift.siphos.be/linux_sea/linux_sea.epub"&gt;ePub version&lt;/a&gt; of &lt;a href="http://swift.siphos.be/linux_sea"&gt;Linux Sea&lt;/a&gt; for those that like to read such resources on a digital reader. Thanks to the use of DocBook, this was simply a matter of using its xsl-stylesheets/epub/docbook.xsl stylesheet against the DocBook sources and zip the created directory structures (OEBPS and META-INF) to get to the ePub file.&lt;/p&gt;</description>
	<pubDate>Fri, 20 Apr 2012 15:31:11 +0000</pubDate>
</item>
<item>
	<title>Ciaran McCreesh: Paludis 0.74.0 Released</title>
	<guid isPermalink="false">http://ciaranm.wordpress.com/?p=1158</guid>
	<link>http://ciaranm.wordpress.com/2012/04/15/paludis-0-74-0-released/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/ciaranm.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;&lt;a href="http://paludis.exherbo.org/"&gt;Paludis&lt;/a&gt; 0.74.0 has been released:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The way || dependencies are handled has changed to allow upgrades in certain situations that would previously be blocked.&lt;/li&gt;
&lt;li&gt;Previously file descriptors would be leaked when adding certain types of files to a tar being created for a pbin. This is now fixed.&lt;/li&gt;
&lt;li&gt;We now strip certain kinds of trailing garbage from tar files, to deal with upstreams who insist upon distributing corrupted tarballs.&lt;/li&gt;
&lt;li&gt;We now define ${T} to something usable in pkg_pretend.&lt;/li&gt;
&lt;li&gt;The order of arguments passed to econf has been tweaked, to make it easier to override defaults.&lt;/li&gt;
&lt;li&gt;cave print-ids etc now have a ‘%u’ format, for a uniquely identifying spec.&lt;/li&gt;
&lt;li&gt;Added cave print-checksum, for convenience.&lt;/li&gt;
&lt;li&gt;We now use metadata/md5-cache if it exists.&lt;/li&gt;
&lt;li&gt;We now ignore self-blockers for Gentoo EAPIs, to avoid problems with developers screwing up package moves.&lt;/li&gt;
&lt;li&gt;Compilation with GCC 4.7 should now work.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Filed under: &lt;a href="http://ciaranm.wordpress.com/category/paludis/paludis-releases/"&gt;paludis releases&lt;/a&gt; Tagged: &lt;a href="http://ciaranm.wordpress.com/tag/paludis/"&gt;paludis&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gocomments/ciaranm.wordpress.com/1158/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/ciaranm.wordpress.com/1158/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/ciaranm.wordpress.com/1158/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/ciaranm.wordpress.com/1158/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/ciaranm.wordpress.com/1158/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/ciaranm.wordpress.com/1158/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/ciaranm.wordpress.com/1158/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/ciaranm.wordpress.com/1158/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/ciaranm.wordpress.com/1158/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/ciaranm.wordpress.com/1158/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/ciaranm.wordpress.com/1158/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/ciaranm.wordpress.com/1158/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/ciaranm.wordpress.com/1158/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/ciaranm.wordpress.com/1158/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=ciaranm.wordpress.com&amp;amp;blog=3715284&amp;amp;post=1158&amp;amp;subd=ciaranm&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Sun, 15 Apr 2012 15:57:16 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Why both chroot and SELinux?</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=588</guid>
	<link>http://blog.siphos.be/2012/04/why-both-chroot-and-selinux/</link>

	<description>&lt;p&gt;
In my &lt;a href="http://blog.siphos.be/2012/04/chrooted-bind-for-ipv6-with-selinux/"&gt;previous post&lt;/a&gt;, a very valid question was raised by Alexander E. Patrakov: why still use chroot if you have SELinux?
&lt;/p&gt;
&lt;p&gt;
Both chroot (especially with the additional restrictions that grSecurity enables on chroots that make it more difficult to break out of a chroot) and SELinux try to isolate an application so it only has access to those resources it needs. Chroot does this on file-level basis (and a bit more with grSecurity), SELinux on more general resources. However, things that make SELinux strong (flexible and detailed policy language, fine-grained authorizations) are also its weakness (consolidating files into groups having the same file label), and chroot does have an advantage on this.
&lt;/p&gt;
&lt;p&gt;
Suppose that a flaw exists in BIND through which an attacker can read files on the host (through BIND). With SELinux, the domain in which BIND runs is prohibited from accessing and reading files whose label is not one of the labels that the policy thinks BIND should be able to read. More specifically, the BIND policy in the reference policy (which is what both Gentoo and RedHat base their policies on, and generally policies are only enlarged, never really shrinked):
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
etc_runtime_t (read) means access to the files in /etc that are modified at runtime (like mtab, profile.env, gentoo’s /etc/env.d)
&lt;/li&gt;
&lt;li&gt;
named_var_run_t (read) is access to /var/run/bind and /var/run/named (and a few other related locations)
&lt;/li&gt;
&lt;li&gt;
named_checkconf_exec_t (read/execute) is access to read and execute /usr/sbin/named-checkconf
&lt;/li&gt;
&lt;li&gt;
named_conf_t (read) to read the BIND-related configuration files
&lt;/li&gt;
&lt;li&gt;
dnssec_t (read) to read the DNSSEC keyfiles
&lt;/li&gt;
&lt;li&gt;
locale_t (read) to access /etc/localtime, /usr/share/locale/*, /usr/share/zoneinfo/*
&lt;/li&gt;
&lt;li&gt;
etc_t (read) to read the general configuration files in /etc (including passwd, fstab, …)
&lt;/li&gt;
&lt;li&gt;
proc_t (read), proc_net_t (read) and sysfs_t (read) to access those pseudo filesystems
&lt;/li&gt;
&lt;li&gt;
udev_tbl_t (read) to access /dev/.udev and /var/run/udev (but I have no idea yet why this is in)
&lt;/li&gt;
&lt;li&gt;
named_log_t (read/write) for the log files of BIND
&lt;/li&gt;
&lt;li&gt;
net_conf_t (read) to access /etc/hosts (including deny/allow), resolv.conf, …
&lt;/li&gt;
&lt;li&gt;
named_exec_t (read/execute) the BIND executables
&lt;/li&gt;
&lt;li&gt;
named_zone_t (read) to access the zone files, also write access in case of slave system
&lt;/li&gt;
&lt;li&gt;
cert_t (read) to read certificate information
&lt;/li&gt;
&lt;li&gt;
named_cache_t (read/write) to access its cache
&lt;/li&gt;
&lt;li&gt;
named_tmp_t (read/write) to work with temporary files
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Isolation provided by SELinux is as powerful as the width of its labeling. For instance, by giving the named daemon read access to /etc files like passwd, fstab, group, hosts, resolv.conf and more, a malicious user who can exploit this hypothetical vulnerability can obtain information that might help him in his further attempts. By chrooting BIND, the files placed in the chroot itself should not offer the information he might be looking for (for instance, the passwd file, if needed at all, is limited to just the named and root accounts, etc.)
&lt;/p&gt;
&lt;p&gt;
Chrooting, but not enabling SELinux, could lead to escalation. A chroot cannot restrict what a process is allowed to do beyond the regular access privileges that are given on the user. If a user can upload an exploit through BIND and have BIND execute it, he can use this as an attack vector for further activities. SELinux here prohibits BIND to write stuff it can also execute (there is no write and execute privilege defined here). It also ensures that the BIND daemon never exists his security domain (transitioning towards another domain with perhaps other privileges) as there are no transition rules from named_t to any other domain.
&lt;/p&gt;
&lt;p&gt;
Another MAC system that would be better suited to fit both is grSecurity’s RBAC model. Iirc, it uses path definitions to say which files are allowed to access and which not. The weakness SELinux here has (aggregation into sets of files with the same label) doesn’t exist for grSecurity. This debate on path-based versus label-based access controls have been going on for very long time now – just google it ;-)
&lt;/p&gt;
&lt;p&gt;
So, Alexander, in short: chroot further limits the SELinux-allowed privileges to a more fine-grained set of file system resources (files/directories).&lt;/p&gt;</description>
	<pubDate>Sun, 15 Apr 2012 07:41:01 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Chrooted BIND for IPv6 with SELinux</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=585</guid>
	<link>http://blog.siphos.be/2012/04/chrooted-bind-for-ipv6-with-selinux/</link>

	<description>&lt;p&gt;
BIND, or Berkeley Internet Name Domain, is one of the Internet’s most popular domain name service software (DNS). It has seen its set of security flaws in the past, which is not that strange as it is such a frequently used service on the Internet. In this post, I’ll give a quick intro on how to use it in Gentoo Hardened (with PaX)… chrooted… for IPv6… with SELinux ;-)
&lt;/p&gt;
&lt;p&gt;
Installing is of course, as usual, dead easy on Gentoo (Hardened/SELinux). Make sure you have USE=”ipv6″ set, and then &lt;b&gt;emerge bind&lt;/b&gt;. Also install &lt;b&gt;bind-tools&lt;/b&gt; as they contain some great tools to help with DNS troubleshooting. Then we’re editing /etc/conf.d/named to set the CHROOT variable. I also set CHROOT_NOMOUNT so that Gentoo doesn’t bind-mount the information in the chroot but instead uses the files in the chroot.
&lt;/p&gt;
&lt;pre&gt;CHROOT="/var/named/chroot"
CHROOT_NOMOUNT="1"
&lt;/pre&gt;
&lt;p&gt;
Now we need to either temporarily add some privileges in SELinux, or run the portage_t domain in permissive mode. If you go for privileges, then add the following:
&lt;/p&gt;
&lt;pre&gt;allow portage_t var_t:chr_file { create getattr setattr };
&lt;/pre&gt;
&lt;p&gt;
If you however want to temporarily run the portage_t domain in permissive mode, do that as follows:
&lt;/p&gt;
&lt;pre&gt;~# semanage permissive -a portage_t
&lt;/pre&gt;
&lt;p&gt;
We are doing this because we are now going to ask the BIND ebuild to prepare the chroot for us. Doing so however requires portage to work on our live file system (and not in the regular “sandbox” mode). SELinux however forces portage in the portage_t domain and only gives it the privileges it needs for building and installing software.
&lt;/p&gt;
&lt;pre&gt;~# emerge --config bind
&lt;/pre&gt;
&lt;p&gt;
When done, remove the previous SELinux allow rules again (or set the portage_t domain back in enforcing mode, through &lt;b&gt;semanage permissive -d portage_t&lt;/b&gt;). Next we need to relabel the files in the chroot. By default, all files are labeled by SELinux as var_t in that location because it isn’t aware that it needs to see /var/named/chroot as a “root” location.
&lt;/p&gt;
&lt;pre&gt;~# setfiles -r /var/named/chroot /etc/selinux/strict/contexts/files/file_contexts /var/named/chroot
&lt;/pre&gt;
&lt;p&gt;
So far so good. Now let’s create a simple named.conf file (in /var/named/chroot/etc/bind):
&lt;/p&gt;
&lt;pre&gt;options {
  directory "/var/bind";
  pid-file "/var/run/named/named.pid";
  statistics-file "/var/run/named/named.stats";
  listen-on { 127.0.0.1; };
  listen-on-v6 { 2001:db8:81:21::ac:98ad:5fe1; };
  allow-query { any; };
  zone-statistics yes;
  allow-transfer { 2001:db8:81:22::ae:6b01:e3d8; };
  notify yes;
  recursion no;
  version "[nope]";
};

# Access to DNS for local addresses (i.e. genfic-owned)
view "local" {
  match-clients { 2001:db8:81::/48; };
  recursion yes;
  zone "genfic.com" { type master; file "pri/com.genfic"; };
  zone "1.8.0.0.8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "pri/inv.com.genfic"; };
};
&lt;/pre&gt;
&lt;p&gt;
The zone files referenced in the configuration file are located in /var/named/chroot/var/bind (in a subdirectory called pri – which I use for “primary”). The regular one would look similar to this:
&lt;/p&gt;
&lt;pre&gt;$TTL 1h ;
$ORIGIN genfic.com.
@       IN      SOA     ns.genfic.com. ns.genfic.com. (
                        2012041101
                        1d
                        2h
                        4w
                        1h )

        IN      NS      ns.genfic.com.
        IN      NS      ns2.genfic.com.
        IN      MX      10      mail.genfic.com.
        IN      MX      20      mail2.genfic.com.

genfic.com.     IN      AAAA    2001:db8:81:80::dd:13ed:c49e;
ns              IN      AAAA    2001:db8:81:21::ac:98ad:5fe1;
ns2             IN      AAAA    2001:db8:81:22::ae:6b01:e3d8;
www             IN      CNAME   genfic.com.;
mail            IN      AAAA    2001:db8:81:21::b0:0738:8ad5;
mail2           IN      AAAA    2001:db8:81:22::50:5e9f:e569;
; (...)
&lt;/pre&gt;
&lt;p&gt;
while the one for reverse lookups looks like so:
&lt;/p&gt;
&lt;pre&gt;$TTL 1h ;
@       IN      SOA     1.8.0.0.8.b.d.0.1.0.0.2.ip6.arpa ns.genfic.com. (
                        2012041101
                        1d
                        2h
                        4w
                        1h )

        IN      NS      ns.genfic.com.
        IN      NS      ns2.genfic.com.

$ORIGIN 1.8.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

1.e.f.5.d.a.8.9.c.a.0.0.0.0.0.0.1.2.0.0         IN      PTR     ns.genfic.com.
8.d.3.e.1.0.b.6.e.a.0.0.0.0.0.0.2.2.0.0         IN      PTR     ns2.genfic.com.
; (...)
&lt;/pre&gt;
&lt;p&gt;
We can now start the init script:
&lt;/p&gt;
&lt;pre&gt;~# rc-service named start
&lt;/pre&gt;
&lt;p&gt;
On the slave, don’t set the allow-transfer directive and set its type to “slave”. In each zone, you will need to tell where the master is:
&lt;/p&gt;
&lt;pre&gt;zone "genfic.com" {
  type slave;
  masters { 2001:db8:81:21::ac:98ad:5fe1; }
  file "sec/com.genfic";
};
&lt;/pre&gt;
&lt;p&gt;
By default, the SELinux policy for BIND does not allow BIND to write stuff in its directories. On the slave system, you will need to change this. A SELinux boolean here does the trick:
&lt;/p&gt;
&lt;pre&gt;~# setsebool -P named_write_master_zones on;
&lt;/pre&gt;
&lt;p&gt;
There ya go ;-) Okay, all very condensely written, but it should give some feedback on how to proceed. I’m adding this information to the new online resource I’m writing – &lt;a href="http://swift.siphos.be/aglara"&gt;A Gentoo Linux Advanced Reference Architecture&lt;/a&gt;. Nothing really ready yet, just writing as I go forward with exploring these technologies…&lt;/p&gt;</description>
	<pubDate>Sat, 14 Apr 2012 21:08:39 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Documentation updates for initramfs needed?</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=583</guid>
	<link>http://blog.siphos.be/2012/04/documentation-updates-for-initramfs-needed/</link>

	<description>&lt;p&gt;
A quick help request from the community: if you know of any Gentoo documents that need updates in order for end users to know when and how to use initramfs, please file &lt;a href="https://bugs.gentoo.org"&gt;bugreports&lt;/a&gt; and have them &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=407959"&gt;block bug #407959&lt;/a&gt;. Currently, we have updated the Gentoo Handbook, Gentoo Quickinstall guides and added an Initial ramfs Guide.
&lt;/p&gt;
&lt;p&gt;
The tracker bug is also used to check if and when the eventual roll-out of software can happen, and we want to make sure that we do not forget documentation (something we learned from the openrc migration). Not that the change is as large as was the case with openrc, but it is still nice to have updated documentation in time ;-)&lt;/p&gt;</description>
	<pubDate>Thu, 12 Apr 2012 15:40:54 +0000</pubDate>
</item>
<item>
	<title>Steven Oliver: VBA oddities</title>
	<guid isPermalink="false">http://steveno.wordpress.com/?p=956</guid>
	<link>http://steveno.wordpress.com/2012/04/11/vba-oddities/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/StevenOliver3.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;Riddle me this.&lt;/p&gt;
&lt;p&gt;If I create two strings in VBA (&lt;a href="http://en.wikipedia.org/wiki/Visual_Basic_for_Applications" title="Visual Basic for Applications"&gt;Visual Basic for Applications&lt;/a&gt;) like so&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: vb;"&gt;Dim string1 As String
Dim string2 As String
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;When I turn a watch on for them, both variables are listed as type “String.” If I were to use the following code though, which I understand to be the exact same thing just with different sytnax,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: vb;"&gt;Dim string1, string2 As String
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;string1 will be listed as type “Variant/Empty” but string2 will still be listed as type “String.”&lt;/p&gt;
&lt;p&gt;I’m using Excel 2007 is that makes a difference. Can anyone please explain to me what on earth is going on here?&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/steveno.wordpress.com/956/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/steveno.wordpress.com/956/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/steveno.wordpress.com/956/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/steveno.wordpress.com/956/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/steveno.wordpress.com/956/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/steveno.wordpress.com/956/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/steveno.wordpress.com/956/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/steveno.wordpress.com/956/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/steveno.wordpress.com/956/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/steveno.wordpress.com/956/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/steveno.wordpress.com/956/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/steveno.wordpress.com/956/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/steveno.wordpress.com/956/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/steveno.wordpress.com/956/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=steveno.wordpress.com&amp;amp;blog=1231018&amp;amp;post=956&amp;amp;subd=steveno&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Wed, 11 Apr 2012 17:21:25 +0000</pubDate>
</item>
<item>
	<title>Steven Oliver: Kitten</title>
	<guid isPermalink="false">http://steveno.wordpress.com/?p=943</guid>
	<link>http://steveno.wordpress.com/2012/04/11/943/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/StevenOliver3.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;&lt;img src="http://placekitten.com/680/300" /&gt;&lt;/p&gt;
&lt;p&gt;Image courtesy of &lt;a href="http://placekitten.com"&gt;Place Kitten&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/steveno.wordpress.com/943/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/steveno.wordpress.com/943/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/steveno.wordpress.com/943/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/steveno.wordpress.com/943/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/steveno.wordpress.com/943/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/steveno.wordpress.com/943/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/steveno.wordpress.com/943/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/steveno.wordpress.com/943/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/steveno.wordpress.com/943/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/steveno.wordpress.com/943/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/steveno.wordpress.com/943/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/steveno.wordpress.com/943/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/steveno.wordpress.com/943/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/steveno.wordpress.com/943/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=steveno.wordpress.com&amp;amp;blog=1231018&amp;amp;post=943&amp;amp;subd=steveno&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Wed, 11 Apr 2012 13:58:35 +0000</pubDate>
</item>
<item>
	<title>Patrick Nagel: Thoughts on HTML5′s &lt;time&gt; element and other semantic info on the web</title>
	<guid isPermalink="false">https://patrick-nagel.net/blog/?p=456</guid>
	<link>https://patrick-nagel.net/blog/archives/456</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/patrick_nagel.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;I just read about the &amp;lt;time&amp;gt; HTML5 element, and how it was &lt;a href="http://html5doctor.com/time-and-data-element/" target="_blank" title="html5doctor.com/time-and-data-element"&gt;introduced, then removed, and then re-introduced&lt;/a&gt;. While I think proper syntax, consistency, etc. are important, I am more concerned with what such new “semantic” elements will actually mean for the web and its users. This is not limited to &amp;lt;time&amp;gt;, but here it should be easy to explain my general concern, using an example:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;It’s March 2012&lt;/em&gt;&lt;br /&gt;
Joe from the U.S. writes on his blog: “I’ll be on vacation in Europe starting 5/4/12, looking forward to meeting you there!”&lt;br /&gt;
Pierre from France reads the blog, and, knowing Joe is from the U.S., he will have the following thoughts: “Cool, Joe will be around… what’s that date… ah, Americans with their month/day/year format… ok, I interpret this as 4th of May, i.e. 4/5/12 in proper French format”&lt;/p&gt;
&lt;p&gt;&lt;em&gt;It’s March 2015, HTML5 and &amp;lt;time&amp;gt; are starting to get used&lt;/em&gt;&lt;br /&gt;
Joe from the U.S. writes on his blog: “I’ll be on vacation in Europe starting &amp;lt;time&amp;gt;2015-05-04&amp;lt;/time&amp;gt;, looking forward to meeting you there!”&lt;br /&gt;
Pierre from France reads the blog, and having set his browser language to French, it shows “I’ll be on vacation in Europe starting 4/5/15, looking forward to meeting you there!”. Not knowing about is browser being clever, and showing him the date in the format he is used to, he thinks: “Cool, Joe will be around… what’s that date… ah, Americans with their month/day/year format… ok, I interpret this to 5th of April, i.e. 5/4/15 in proper French format”&lt;/p&gt;
&lt;p&gt;Of course, with proper highlighting of automatically localised dates this could be mitigated to some extent, but I can imagine lots of cases where our current assumptions, coupled with technology that is trying to help, will cause even more confusion than we have now. When communicating, lots of information is “out of band” or just assumed known context. Therefore we need to be very careful when programming our machines to help us communicate, otherwise we achieve the opposite.&lt;/p&gt;</description>
	<pubDate>Tue, 10 Apr 2012 14:56:59 +0000</pubDate>
</item>
<item>
	<title>Luca Gasperini: CellProfiler and Gentoo</title>
	<guid isPermalink="false">http://www.lucagasperini.com/blog/?p=801</guid>
	<link>http://www.lucagasperini.com/blog/2012-cellprofiler-and-gentoo/</link>

	<description>&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;CellProfiler&lt;/strong&gt; is free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure phenotypes from thousands of images automatically. See our papers on analyzing &lt;a href="http://genomebiology.com/2006/7/10/R100"&gt; cell images&lt;/a&gt; and &lt;a href="http://www.biotechniques.com/biotechniques/BiotechniquesJournal/2007/January/CellProfiler-free-versatile-software-for-automated-biological-image-analysis/biotechniques-40380.html"&gt;non-cell images&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;First we need to install the &lt;a href="https://github.com/CellProfiler/CellProfiler/wiki/CellProfiler-Developer%27s-version-installation-for-Linux#wiki-Option_2_Install_all_the_individual_libraries_and_dependencies"&gt;dependecies&lt;/a&gt; ( as root):&lt;br /&gt;
&lt;code&gt;dev-python/matplotlib wxwidgets&amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
echo "dev-python/h5py"&amp;gt;&amp;gt;/etc/portage/package.keywords&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;dev-python/numpy lapack &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
emerge -1 lapack-atlas scipy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;atlas will take long to merge but will not take up much space so there is not to worry if portage dir is on tmpfs&lt;/p&gt;
&lt;p&gt;&lt;span id="more-801"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;emerge -av cython numpy setuptools matplotlib decorator mysql-python nose h5py&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;now &lt;a href="http://blog.tremily.us/posts/SciPy_and_ATLAS/"&gt;we have to select the atlas libraries&lt;/a&gt; and reemerge some packages&lt;/p&gt;
&lt;p&gt;&lt;code&gt;for x in blas cblas lapack; do eselect $x set atlas; done&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;emerge -1 numpy scipy&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next , as user, we can create a directory (in my case /opt/CellProfiler) and clone the CellProfiler git repository in it&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git clone https://github.com/CellProfiler/CellProfiler.git /opt/CellProfiler/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now we need sun jdk, which is a resctriced package, just check the log at “var/tmp/portage/dev-java/sun-jdk-&lt;em&gt;version&lt;/em&gt;/temp/build.log” and follow the instructions.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;emerge sun-jdk&lt;br /&gt;
eselect java-vm list&lt;br /&gt;
select java-vm set user 3&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Substitute “3″ with the actual number corresponding to sun-jdk&lt;/p&gt;
&lt;p&gt;We can now run Cellprofiler&lt;/p&gt;
&lt;p&gt;&lt;code&gt; cd /opt/CellProfiler/&lt;br /&gt;
python CellProfiler.py&lt;/code&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 10 Apr 2012 07:52:36 +0000</pubDate>
</item>
<item>
	<title>Joachim Schiele: booting nixos from lvm on top of mdadm</title>
	<guid isPermalink="false">http://invalidmagic.wordpress.com/?p=1113</guid>
	<link>http://invalidmagic.wordpress.com/2012/04/09/booting-nixos-from-lvm-on-top-of-mdadm/</link>

	<description>&lt;h1&gt;&lt;a href="http://invalidmagic.files.wordpress.com/2010/12/nixos-lores.png"&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2010/12/nixos-lores.png?w=150&amp;amp;h=46" title="nixos-lores" height="46" width="150" alt="" class="alignright size-thumbnail wp-image-704" /&gt;&lt;/a&gt;what is this&lt;/h1&gt;
&lt;p&gt;since i might require such an setup more often i post it here, so i don’t forget it (see [1]).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;this guide works great for fdisk+mdadm+LVM&lt;/strong&gt; but it did not work for parted lately using ubuntu server. i don’t know why, maybe because of the raid controller?&lt;/p&gt;
&lt;p&gt;in case someone removes the commands from the nixos wiki, here are the commands again:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: bash;"&gt;  mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

  pvcreate /dev/md0
  vgcreate myvolgrp /dev/md0
  lvcreate -L 1G -n boot myvolgrp
  lvcreate -L 5G -n system myvolgrp

  mkfs.ext4 -n boot /dev/myvolgrp/boot
  mkfs.ext4 -n system /dev/myvolgrp/system

  mount -L system /mnt
  nixos-option --install

  cat /etc/nixos/configuration.nix
  ...
    { mountPoint = "/";
      label="system";
    }
    { mountPoint = "/boot";
      label="boot";
    }
  nixos-install
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;advantages of this setup&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;no special partition required&lt;/strong&gt; either something like /dev/sda1 or /dev/sdb1 &lt;strong&gt;where /boot would be placed on&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;LVM can be used for anything&lt;/li&gt;
&lt;li&gt;still mdadm is below, which is a good thing&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;reminds me though that i should check if /etc/nixos/configuration.nix is capable of installing grub in several partitions already. usually it is only installed in /dev/sda given by this example:&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: clojure;"&gt;   boot.loader.grub = {
    # Use grub 2 as boot loader.
    enable = true;
    version = 2;

    # Define on which hard drive you want to install Grub.
     device = "/dev/sda"; # here is only one partition given
  };
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;links&lt;/h2&gt;
&lt;p&gt;[1] &lt;a href="https://nixos.org/wiki/Soft-RAID_mdadm_(/dev/md0),_LVM_(PVs,VGs,LVs)"&gt;https://nixos.org/wiki/Soft-RAID_mdadm_(/dev/md0),_LVM_(PVs,VGs,LVs)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[2] &lt;a href="https://nixos.org/wiki/Encrypted_Root_on_NixOS"&gt;https://nixos.org/wiki/Encrypted_Root_on_NixOS&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/invalidmagic.wordpress.com/1113/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/invalidmagic.wordpress.com/1113/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/invalidmagic.wordpress.com/1113/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/invalidmagic.wordpress.com/1113/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/invalidmagic.wordpress.com/1113/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/invalidmagic.wordpress.com/1113/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/invalidmagic.wordpress.com/1113/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/invalidmagic.wordpress.com/1113/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/invalidmagic.wordpress.com/1113/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/invalidmagic.wordpress.com/1113/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/invalidmagic.wordpress.com/1113/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/invalidmagic.wordpress.com/1113/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/invalidmagic.wordpress.com/1113/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/invalidmagic.wordpress.com/1113/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=invalidmagic.wordpress.com&amp;amp;blog=7740335&amp;amp;post=1113&amp;amp;subd=invalidmagic&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Mon, 09 Apr 2012 22:50:33 +0000</pubDate>
</item>
<item>
	<title>Steven Oliver: Using Vala and GLib.Math</title>
	<guid isPermalink="false">http://steveno.wordpress.com/?p=934</guid>
	<link>http://steveno.wordpress.com/2012/04/08/using-vala-and-glib-math/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/StevenOliver3.png" alt="" align="right" style="float: right;"&gt;&lt;p&gt;This took me a while to figure out but for some annoying reason if you want to use the GLib.math library with Vala you’ll have to add the &lt;code&gt;-lm&lt;/code&gt; option to your GCC compile flags. If you happen to be using the Waf build system you can add it to your &lt;code&gt;wscript&lt;/code&gt; file like so:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="brush: python;"&gt;def build(bld):
	bld.add_post_fun(post_build)
	
	bld.env.append_value('CFLAGS', ['-O2', '-g'])
	bld.env.append_value('LINKFLAGS', ['-O2', '-g', '-lm'])
	bld.env.append_value('VALAFLAGS', ['-g', '--enable-checking', '--fatal-warnings'])
&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/steveno.wordpress.com/934/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/steveno.wordpress.com/934/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/steveno.wordpress.com/934/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/steveno.wordpress.com/934/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/steveno.wordpress.com/934/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/steveno.wordpress.com/934/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/steveno.wordpress.com/934/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/steveno.wordpress.com/934/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/steveno.wordpress.com/934/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/steveno.wordpress.com/934/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/steveno.wordpress.com/934/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/steveno.wordpress.com/934/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/steveno.wordpress.com/934/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/steveno.wordpress.com/934/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=steveno.wordpress.com&amp;amp;blog=1231018&amp;amp;post=934&amp;amp;subd=steveno&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Sun, 08 Apr 2012 22:10:50 +0000</pubDate>
</item>
<item>
	<title>Sven Vermeulen: Get your devtmpfs ready</title>
	<guid isPermalink="false">http://blog.siphos.be/?p=576</guid>
	<link>http://blog.siphos.be/2012/04/get-your-devtmpfs-ready/</link>

	<description>&lt;p&gt;
If you are using stable profiles, you might want to verify if you are already running a kernel with devtmpfs support enabled. Why? Well, currently you might not need it, but the upcoming openrc/udev packages require it and they currently do not fail at install time if you have it enabled or not. As a result, upgrading these packages might give you a system that might fail to boot (if you have no initramfs but separate /usr partition) or gives many errors (if you have an initramfs).
&lt;/p&gt;
&lt;p&gt;
To verify if it is enabled, check your kernel configuration:
&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
# zgrep DEVTMPFS /proc/config.gz&lt;br /&gt;
# CONFIG_DEVTMPFS is not set&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
If you get the output as described above, best update your kernel configuration to include it. The second devtmpfs-related option (to automatically mount it on /dev) is not needed afaik.
&lt;/p&gt;
&lt;p&gt;
And for those that have been with Gentoo for a while – devtmpfs is not devfs. Well, it is. But it isn’t. Somewhat. Oh well, there’s discussion on that which I’m not going to elaborate on. Safe to say that we’re getting older if we start feeling “Been there, done that, got the t-shirt” ;-)
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Edit:&lt;/em&gt; as Robin mentioned in the comments, the udev ebuild does check at it. However, it doesn’t fail an installation so you could miss the message. Apologies for the lies, Robin ;-) Post updated.&lt;/p&gt;</description>
	<pubDate>Sat, 07 Apr 2012 20:10:03 +0000</pubDate>
</item>
<item>
	<title>Dion Moult: GetKDE.org – the workspace, and what’s going on.</title>
	<guid isPermalink="false">http://thinkmoult.com/?p=1716</guid>
	<link>http://feedproxy.google.com/~r/thinkmoult/~3/bxw1-T2Nw_g/</link>

	<description>&lt;p&gt;Some updates. Both for newcomers to GetKDE.org and those who have seen this project before, see the &lt;a href="http://getkde.org/"&gt;homepage&lt;/a&gt;, the &lt;a href="http://getkde.org/explore.html"&gt;explore page&lt;/a&gt;, and then finally, the &lt;a href="http://getkde.org/begin_unix.html"&gt;page I’m writing about&lt;/a&gt;.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://getkde.org/begin_unix.html"&gt;&lt;img width="950" alt="" src="http://thinkmoult.com/wp-content/uploads/2012/04/localhost-2012-04-08-12h-50m-55s.png" height="1693" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Homepage has been updated too:&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://getkde.org/"&gt;&lt;img width="522" alt="" src="http://thinkmoult.com/wp-content/uploads/2012/04/localhost-2012-04-08-12h-51m-16s.png" height="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And explore page updated too.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://getkde.org/explore.html"&gt;&lt;img width="387" alt="" src="http://thinkmoult.com/wp-content/uploads/2012/04/localhost-2012-04-08-12h-51m-09s.png" height="550" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope you like it.&lt;/p&gt;
&lt;p&gt;I have to apologise for only having the time to work on this very sporadically. Next in the to-do list is the apps page.&lt;/p&gt;
&lt;p&gt;Related posts:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href="http://thinkmoult.com/2011/11/22/getkde-org-progress-discover-kde/" rel="bookmark" title="GetKDE.org progress – Discover KDE!"&gt;GetKDE.org progress – Discover KDE!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://thinkmoult.com/2011/11/08/whats-up-with-kde-org-hello-getkde-org/" rel="bookmark" title="What’s up with KDE.org &amp;amp; Hello GetKDE.org"&gt;What’s up with KDE.org &amp;amp; Hello GetKDE.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://thinkmoult.com/2011/11/24/server-hosting-thinkmoult-my-email-getkde-org-and-various-other-sites-is-now-back-up-sorry-for-the-downtime-and-please-resend-any-email/" rel="bookmark" title="Server hosting thinkMoult, my email, GetKDE.org, and various other sites is now back up – sorry for the downtime and please resend any email."&gt;Server hosting thinkMoult, my email, GetKDE.org, and various other sites is now back up – sorry for the downtime and please resend any email.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;img width="1" src="http://feeds.feedburner.com/~r/thinkmoult/~4/bxw1-T2Nw_g" height="1" /&gt;</description>
	<pubDate>Sat, 07 Apr 2012 19:16:40 +0000</pubDate>
</item>
<item>
	<title>Martin Matusiak: exit yes, but not too quickly</title>
	<guid isPermalink="false">http://www.matusiak.eu/numerodix/blog/?p=3828</guid>
	<link>http://feedproxy.google.com/~r/numerodix/~3/ZK31Curwktg/</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/MartinMatusiak.jpg" alt="" align="right" style="float: right;"&gt;&lt;p&gt;It’s a weekday. It’s morning. The train arrives at the destination full of commuters. The platform is mingling with commuters waiting to get on the train to go where we just came from. We disembark. A sea of people as these two streams conflate and confuse. As we head to the exits and they board the train we slowly disentangle. There are so many of us that a long line forms before the escalator down from the platform. Not even a line, more of a V-shaped traffic jam that extends to nearly the whole width of the platform. Slowly we converge on the escalator that shall deliver us from this overcrowded place. We could only wish the line were moving faster. Then, at last, we’ve made it, we step onto the escalator and… just stand there. All this waiting just to be able to stand in line some more? Yes, the escalator is moving, but why not walk down it? Especially since there are so many people, we’d be able to exit the platform quicker that way. But that isn’t the custom. Apparently, if something moves us we must not move ourselves, we must appreciate and make it last as long as possible.&lt;/p&gt;
&lt;img width="1" src="http://feeds.feedburner.com/~r/numerodix/~4/ZK31Curwktg" height="1" /&gt;</description>
	<pubDate>Sat, 07 Apr 2012 07:54:07 +0000</pubDate>
</item>
<item>
	<title>Dion Moult: I love whiteboards.</title>
	<guid isPermalink="false">http://thinkmoult.com/?p=1711</guid>
	<link>http://feedproxy.google.com/~r/thinkmoult/~3/UDlY6lpt8WU/</link>

	<description>&lt;p&gt;Although it might seem like an awkward title (perhaps even &lt;a href="http://shitmymouthsays.com/"&gt;shit-worthy&lt;/a&gt;), but I have felt the need to profess how amazing they are.&lt;/p&gt;
&lt;p&gt;A long time back when I was still in Malaysia, I owned a little corkboard panel which I used to pin up those important forms I would always lose, and occasionally use it to map out ideas for projects. After moving to Australia, where their customs wasn’t too happy about bringing over wood, it was a while until I used such a board again. When I did, however, it had taken up a newer purpose – as a pin-up of my half-finished, terrible works that were going to be binned. I called it the “motivation-board” – something I would look at and realise which projects had potential and which didn’t, and drive myself towards completing the ones that did. I added stuff quite frequently to that board – which shows a little bit about the easy come, easy go nature of some of my micro projects.&lt;/p&gt;
&lt;p&gt;After an academic year was over, I spent the winter in Shanghai where I again lost access to such a board. As I slowly found time to slip into my “work on my projects” groove, I picked up a slightly distorted square A4 book which served as a journal to jot down ideas and work out design problems. It was better than nothing, but lacked the “overview” quality that boards have.&lt;/p&gt;
&lt;p&gt;However after moving again early this year back in Australia, I decided to get my board back. I walked over to an Officeworks, right past the chipboards and into the whiteboards section. I bought a decently large one and took it home.&lt;/p&gt;
&lt;p&gt;That was when I realised the differences between these boards.&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;The pin-up board is good as a consumption device – a long-term overview of your work.&lt;/li&gt;
&lt;li&gt;The journal is an on-the-go device, but divides your ideas into very linear and isolated chunks.&lt;/li&gt;
&lt;li&gt;The whiteboard, at least when I use it, is a absolute gold device for short-term brain-dribble visualisation which makes it a dedicated creation device. There is no consume on a whiteboard. It’s a develop and iterate tool. It’s what I really needed from the very beginning.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So much for noteslate and courier.&lt;/p&gt;
&lt;p&gt;No related posts.&lt;/p&gt;&lt;img width="1" src="http://feeds.feedburner.com/~r/thinkmoult/~4/UDlY6lpt8WU" height="1" /&gt;</description>
	<pubDate>Sat, 07 Apr 2012 00:02:30 +0000</pubDate>
</item>
<item>
	<title>Joachim Schiele: programming with serial ports in linux</title>
	<guid isPermalink="false">http://invalidmagic.wordpress.com/?p=1100</guid>
	<link>http://invalidmagic.wordpress.com/2012/04/05/programming-with-serial-ports-in-linux/</link>

	<description>&lt;p&gt;&lt;img src="http://invalidmagic.files.wordpress.com/2012/04/nut-logo.png?w=500" alt="" class="alignright size-full wp-image-1108" title="nut logo from http://www.networkupstools.org/" /&gt;&lt;/p&gt;
&lt;h1&gt;what is this?&lt;/h1&gt;
&lt;p&gt;i bought an UPS with two ports: serial and usb. and because i did not know much about the UPS (&lt;strong&gt;AEG – PROTECT HOME VA 600&lt;/strong&gt;) i started to look at the communication protocol. turns out there are &lt;strong&gt;lots of good tools for serial line interception&lt;/strong&gt; but nearly none for the usb stuff. sadly the driver i wrote isn’t needed at all as an email to the nut-ML revealed that this UPS uses the Q1 protocol which is already supported pretty well using the &lt;strong&gt;blazer_usb and blazer_ser module&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;anyway it was pretty interesting to hack on NUT using &lt;strong&gt;debian&lt;/strong&gt; and &lt;strong&gt;later nixos&lt;/strong&gt;. so &lt;strong&gt;here is a guide how to log/analyze serial traffic and how to write a simulator for either side.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;and not to forget:&lt;strong&gt; thanks to Arnaud Quette for his ups/nut support. &lt;/strong&gt;there is also a &lt;strong&gt;brief nut setup introduction&lt;/strong&gt;, see [1].&lt;/p&gt;
&lt;h2&gt;sniff serial port data between UPS and PC&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;set serial settings to:&lt;br /&gt;
- &lt;strong&gt;enable serial port&lt;/strong&gt;&lt;br /&gt;
- port number &lt;strong&gt;com 1 irq 4 io port 0x3f8&lt;/strong&gt;&lt;br /&gt;
- port mode: &lt;strong&gt;host device&lt;/strong&gt;&lt;br /&gt;
- port/file path: &lt;strong&gt;/tmp/interceptty&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;maybe correct the permissions to /tmp/interceptty&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;interceptty -s ‘ispeed 2400 ospeed 2400′ -l /dev/ttyS0 | tee mylog | interceptty-nicedump&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;on the linux host:&lt;br /&gt;
&lt;strong&gt;tail -F mylog | grep “&amp;lt;”&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;start &lt;strong&gt;virtualbox vm with a windows xp&lt;/strong&gt; installed&lt;br /&gt;
note:&lt;/strong&gt; ignore this virtualbox warning: ”Ioctl failed for serial device ‘/tmp/interceptty’ (VERR_INVALID_PARAMETER). The device will not work properly.”. it works anyway, at least on my system (using ubuntu 10.10 with standard virtualbox).&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;using the virtual python UPS&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;on the server side open /dev/remserialVM&lt;br /&gt;
&lt;strong&gt;remserial -d -p 23000 -s “2400 raw” -l /dev/remserialVM /dev/ptmx &lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;on the client side (same host), do:&lt;br /&gt;
&lt;strong&gt;remserial -d -r 127.0.0.1 -p 23000 -s “2400 raw” -l /dev/remserialPY /dev/ptmx&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;chmod 0777 /dev/remser*&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;change the virtualbox serial settings:&lt;br /&gt;
&lt;strong&gt;- port mode: host device&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;- port/file path: /dev/remserialVM&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;then format a ‘message’ with a hexeditor also called “hexeditor”&lt;/li&gt;
&lt;li&gt;start the vm&lt;/li&gt;
&lt;li&gt;then send the formated message:&lt;br /&gt;
&lt;strong&gt;cat message &amp;gt; /dev/remserialPY&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;if the message was received by the windows ups monitoring software (it will think that the message it received originated from the UPS and not that it was crafted manually)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;strong&gt;note:&lt;/strong&gt; instead of manually sending messages, i also used the script: ./simulate-ups.py which does that automatically.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;note:&lt;/strong&gt; simulate-ups-monitor.py can be used in an analog way but simply using the ups with a real serial port. i should mention btw, that i was using both a &lt;strong&gt;usb2serial adapter&lt;/strong&gt; and an old computer which still contains one of those &lt;strong&gt;ancient serial ports&lt;/strong&gt;.&lt;/div&gt;
&lt;h2&gt;simulate-ups.py&lt;/h2&gt;
&lt;pre&gt;#!/usr/bin/python
import serial
ser = serial.Serial('/dev/remserialPY', 2400)

line = ''
count=0

def process_command(cmd):
        print " &amp;lt; incomming: " + cmd
        if cmd == "Q1":
                print "REQUEST FOR DATA FROM USV"
                n = ("20").decode("hex")
                d = ("0d").decode("hex")
                a = ("28").decode("hex") + \
                    "000.0" + n + \
                    "000.0" + n + \
                    "000.5" + n + \
                    "005" + n + \
                    "00.0" + n + \
                    "00.6" + n + \
                    "25.0" + n + \
                    "00000001" + d
                ser.write(a)

while True:
        ch = ser.read(1)
        if ch == "\x0d":
                process_command(line)
                line = ''
        else:
                line = line + ch&lt;/pre&gt;
&lt;h2&gt;simulate-ups-monitor.py&lt;/h2&gt;
&lt;pre&gt;#!/usr/bin/python
import serial
import re
import time
import sys

ser = serial.Serial('/dev/ttyS0', 2400)
#, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_ONE, 0)

line = ''
count=0
status="unknown"

def write(cmd):
        #print "sending " + cmd;
        ser.write(cmd)

def print_status(status):
                print "status is: Unknown|LostCom|Normal|ScheduledShutdown|60SecsShutdown|ActiveShutdown|CriticalPowerFail: " + status

def process_command(cmd):
        valid = re.compile(r"\([0-9][0-9][0-9].[0-9] [0-9][0-9][0-9].[0-9] [0-9][0-9][0-9].[0-9] [0-9][0-9][0-9] [0-9][0-9].[0-9] [0-9][0-9].[0-9] [0-9][0-9].[0-9] [01][01][01][01][01][01][01][01]")
        if valid.match(cmd):
                #print status + " : VALID REPLY FROM USV   -&amp;gt;    " + cmd
                #(239.5 239.5 235.6 000 49.9 13.6 25.0 00001001
                netz_eingang=cmd.split(' ')[0].lstrip('(')
                netz_unknown=cmd.split(' ')[1]
                netz_ausgang=cmd.split(' ')[2]
                percent=cmd.split(' ')[3]
                hz=cmd.split(' ')[4]
                bat_voltage=cmd.split(' ')[5]
                temperature=cmd.split(' ')[6]
                bits=cmd.split(' ')[7]
                bit1=bits[0]
                bit2=bits[1]
                bit3=bits[2]
                bit4=bits[3]
                bit5=bits[4]
                bit6=bits[5]
                bit7=bits[6]
                bit8=bits[7]
                print status + " " + cmd
        else:
                print "invalid reply detected: " + cmd
                sys.exit(1)

write( ("51310d").decode("hex"))

while True:
        ch = ser.read(1)
        if ch == "\x0d":
                process_command(line)
                time.sleep(1)
                write( ("51310d").decode("hex"))
                line = ''
        else:
                line = line + ch&lt;/pre&gt;
&lt;h2&gt;simulate the UPS monitor&lt;/h2&gt;
&lt;pre&gt;# ./simulate-ups-monitor.py
VALID REPLY FROM USV -&amp;gt; (241.5 241.4 237.5 000 49.9 13.5 25.0 00001001
VALID REPLY FROM USV -&amp;gt; (241.5 241.4 237.5 000 49.9 13.5 25.0 00001001
VALID REPLY FROM USV -&amp;gt; (241.4 241.4 237.5 000 49.9 13.5 25.0 00001001&lt;/pre&gt;
&lt;h2&gt;summary&lt;/h2&gt;
&lt;p&gt;so &lt;strong&gt;would i buy a AEG Protect Home VA 600 again&lt;/strong&gt;? currently there is no ‘time left’ estimation and therefore i shutdown the system either after 25 seconds or on LB (low battery) but after reloading the batteries the shutdown usually is triggered by the 25 seconds rule after a state change to OB (on battery). i think this is a decent setup and therefore &lt;strong&gt;i would probably buy that UPS again&lt;/strong&gt;. &lt;strong&gt;but i don’t really have a clue about UPS devices so there might be much better ones in the same price range&lt;/strong&gt;, maybe someone on the NUT/UPS ML can make a better recommendation.&lt;/p&gt;
&lt;p&gt;what i really dislike is that this product ships with linux support BUT not with NUT support. i later realized that they created their own linux software. what a waste of time, i would rather love to get the specification and then use NUT instead – probably this is the case for nearly all the users seeing that this devices has linux support. but my request to get the specification was simply ignored, so i think there are &lt;strong&gt;better vendors out there&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;another interesting aspect of nut is how complex the integration in the system is.&lt;/p&gt;
&lt;h2&gt;links&lt;/h2&gt;
&lt;p&gt;[1] &lt;a href="https://nixos.org/wiki/How_to_setup_UPS/NUT"&gt;https://nixos.org/wiki/How_to_setup_UPS/NUT&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a href="http://feeds.wordpress.com/1.0/gocomments/invalidmagic.wordpress.com/1100/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/invalidmagic.wordpress.com/1100/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godelicious/invalidmagic.wordpress.com/1100/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/delicious/invalidmagic.wordpress.com/1100/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gofacebook/invalidmagic.wordpress.com/1100/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/facebook/invalidmagic.wordpress.com/1100/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gotwitter/invalidmagic.wordpress.com/1100/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/twitter/invalidmagic.wordpress.com/1100/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/gostumble/invalidmagic.wordpress.com/1100/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/stumble/invalidmagic.wordpress.com/1100/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/godigg/invalidmagic.wordpress.com/1100/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/digg/invalidmagic.wordpress.com/1100/" alt="" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.wordpress.com/1.0/goreddit/invalidmagic.wordpress.com/1100/" rel="nofollow"&gt;&lt;img src="http://feeds.wordpress.com/1.0/reddit/invalidmagic.wordpress.com/1100/" alt="" border="0" /&gt;&lt;/a&gt; &lt;img width="1" alt="" src="http://stats.wordpress.com/b.gif?host=invalidmagic.wordpress.com&amp;amp;blog=7740335&amp;amp;post=1100&amp;amp;subd=invalidmagic&amp;amp;ref=&amp;amp;feed=1" border="0" height="1" /&gt;</description>
	<pubDate>Thu, 05 Apr 2012 07:27:30 +0000</pubDate>
</item>
<item>
	<title>Brian Carper: I don't have cancer</title>
	<guid isPermalink="false">http://briancarper.net/blog/587/i-dont-have-cancer</guid>
	<link>http://briancarper.net/blog/587/i-dont-have-cancer</link>

	<description>&lt;img src="http://planet.larrythecow.org/images/brian_carper.gif" alt="" align="right" style="float: right;"&gt;&lt;p&gt;2011 was an interesting year.  A year of firsts!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I worked on my first book, &lt;a href="http://www.clojurebook.com/"&gt;Clojure Programming&lt;/a&gt; (soon to be released, in fine bookstores near you).&lt;/li&gt;
&lt;li&gt;I bought my first house.&lt;/li&gt;
&lt;li&gt;The first of my maternal grandparents died.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hmm, kind of took a turn for the worst there.  Then, one fine sunny day in 2011, sitting at my favorite pub, enjoying my favorite beer, I started coughing up blood.  Another first!&lt;/p&gt;



&lt;p&gt;More firsts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First Emergency Room visit.&lt;/li&gt;
&lt;li&gt;First bronchoscopy.&lt;/li&gt;
&lt;li&gt;First CT scan.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Coughing up blood&lt;sup id="fnref:2"&gt;&lt;a href="http://briancarper.net/feed/#fn:2" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; is caused by a huge number of things, from nose bleeds to lung cancer to food going down the wrong pipe to cocaine use.  It turns out that 30-year-old non-smokers with no other symptoms tend not to have lung cancer.  That didn't stop me from fearing the worst.&lt;/p&gt;

&lt;h1&gt;Canadian Health Care&lt;/h1&gt;

&lt;p&gt;This was my first chance to experience the Canadian health care system first-hand after immigrating here.  "Free health care" is not entirely accurate, but is very close.  I pay some small amount of money monthly ($30-40 I think) to be included in the government-provided Medical Services Plan (MSP).  Many employers pay this fee for their employees, but mine doesn't.  No big deal.&lt;/p&gt;

&lt;p&gt;Once in this system, every "essential" form of health care is paid for completely by the government.  Emergency room visit, bronchoscopy, blood test, x-ray, visit with my family doctor, visit with my pulmonologist, all of it was 100% paid for.  Show them a government "Care Card" and you're set.&lt;/p&gt;

&lt;p&gt;Prescriptions are not covered.  Things like eyeglasses, non-emergency dentistry, and elective procedures are not covered.  I can get private health insurance to pay for some of those things, but I never bothered, because the cost of that stuff is so low.&lt;/p&gt;

&lt;p&gt;I'd hesitantly call this a step up from the US system of huge numbers of people being uninsured, and of insurance not actually covering all of your medical expenses even if you have it.&lt;/p&gt;

&lt;p&gt;The one bad thing about Canadian health care is the wait times.  It's often a month or longer to get an appointment to see my pulmonologist.  I'm currently scheduled for another medical test... in &lt;em&gt;June&lt;/em&gt;.  This was scheduled about 4 weeks ago.  Thank God I didn't have cancer, or I'd probably have been dead before I got to see a doctor.&lt;/p&gt;

&lt;p&gt;I never went through a similar experience in the US, so I'm not sure what the wait times are like in comparison.  I do remember my father waiting for over a month (in severe pain) to have a surgery performed because his insurance company dragged their feet in approving it, or something like that.  So yeah.  I probably can't complain much.&lt;/p&gt;

&lt;h1&gt;Now what?&lt;/h1&gt;

&lt;p&gt;After months of waiting and months of not knowing, and then having a few cameras shoved into my lungs, it turns out I probably don't have cancer.  So that's pretty good news.  I still don't know what's causing me to sporadically cough up blood, but as more and more "serious" things are ruled out by tests, I find myself in much better spirits.&lt;/p&gt;

&lt;p&gt;2011 will go down in my biography&lt;sup id="fnref:1"&gt;&lt;a href="http://briancarper.net/feed/#fn:1" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; in as the Year of Lost Productivity.  I didn't handle the stress very well, to put it very mildly.  It's unfortunate that the act of worrying about dying and not having time to do things I want to do ended up hindering me from doing many things I wanted to do.&lt;/p&gt;

&lt;p&gt;I sometimes hear about people who actually have terminal illness showing bravery in the face of their illness.  By contrast, it didn't even take terminal illness to essentially blow me out of the water.  Just the real threat of it.  I feel a lot of shame and regret at how poorly I handled myself.  I'm trying to use that regret as motivation.  I have a lot of things I need to accomplish, and who knows, maybe not as much time to accomplish them as I'd like to imagine.&lt;/p&gt;

&lt;p&gt;So I have a lot of plans for this year.  Old projects need to be dusted off and brought up to speed.  Step one is probably kicking some life back into this old blog.&lt;/p&gt;&lt;div class="footnotes"&gt;&lt;ol&gt;&lt;li id="fn:2"&gt;&lt;p&gt;Hemoptysis.  From Greek &lt;em&gt;hemo&lt;/em&gt; (blood) + &lt;em&gt;ptýsis&lt;/em&gt; (spitting).  A word I'm now intimately familiar with. &lt;a href="http://briancarper.net/feed/#fnref:2" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li id="fn:1"&gt;&lt;p&gt;I'm not actually writing a biography. &lt;a href="http://briancarper.net/feed/#fnref:1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 04 Apr 2012 21:29:58 +0000</pubDate>
</item>

</channel>
</rss>

