<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Gentoo Universe</title>
	<link>http://planet.gentoo.org/universe/</link>
	<language>en</language>
	<description>Gentoo Universe - http://planet.gentoo.org/universe/</description>

<item>
	<title>Sven Vermeulen: Commandline SELinux policy helper functions</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1147</guid>
	<link>http://blog.siphos.be/2013/05/commandline-selinux-policy-helper-functions/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
To work on SELinux policies, I use a couple of functions that I can call on the shell (command line): &lt;b&gt;seshowif&lt;/b&gt;, &lt;b&gt;sefindif&lt;/b&gt;, &lt;b&gt;seshowdef&lt;/b&gt; and &lt;b&gt;sefinddef&lt;/b&gt;. The idea behind the methods is that I want to search (&lt;em&gt;find&lt;/em&gt;) for an interface (&lt;em&gt;if&lt;/em&gt;) or definition (&lt;em&gt;def&lt;/em&gt;) that contains a particular method or call. Or, if I know what the interface or definition is, I want to see it (&lt;em&gt;show&lt;/em&gt;).
&lt;/p&gt;
&lt;p&gt;
For instance, to find the name of the interface that allows us to define file transitions from the &lt;tt&gt;postfix_etc_t&lt;/tt&gt; label:
&lt;/p&gt;
&lt;pre&gt;$ sefindif filetrans.*postfix_etc
contrib/postfix.if: interface(`postfix_config_filetrans',`
contrib/postfix.if:     filetrans_pattern($1, postfix_etc_t, $2, $3, $4)
&lt;/pre&gt;
&lt;p&gt;
Or to show the content of the &lt;em&gt;corenet_tcp_bind_http_port&lt;/em&gt; interface:
&lt;/p&gt;
&lt;pre&gt;$ seshowif corenet_tcp_bind_http_port
interface(`corenet_tcp_bind_http_port',`
        gen_require(`
                type http_port_t;
        ')

        allow $1 http_port_t:tcp_socket name_bind;
        allow $1 self:capability net_bind_service;
')
&lt;/pre&gt;
&lt;p&gt;
For the definitions, this is quite similar:
&lt;/p&gt;
&lt;pre&gt;$ sefinddef socket.*create
obj_perm_sets.spt:define(`create_socket_perms', `{ create rw_socket_perms }')
obj_perm_sets.spt:define(`create_stream_socket_perms', `{ create_socket_perms listen accept }')
obj_perm_sets.spt:define(`connected_socket_perms', `{ create ioctl read getattr write setattr append bind getopt setopt shutdown }')
obj_perm_sets.spt:define(`create_netlink_socket_perms', `{ create_socket_perms nlmsg_read nlmsg_write }')
obj_perm_sets.spt:define(`rw_netlink_socket_perms', `{ create_socket_perms nlmsg_read nlmsg_write }')
obj_perm_sets.spt:define(`r_netlink_socket_perms', `{ create_socket_perms nlmsg_read }')
obj_perm_sets.spt:define(`client_stream_socket_perms', `{ create ioctl read getattr write setattr append bind getopt setopt shutdown }')

$ seshowdef manage_files_pattern
define(`manage_files_pattern',`
        allow $1 $2:dir rw_dir_perms;
        allow $1 $3:file manage_file_perms;
')
&lt;/pre&gt;
&lt;p&gt;
I have these defined in my &lt;tt&gt;~/.bashrc&lt;/tt&gt; (they are simple &lt;a href=&quot;http://dev.gentoo.org/~swift/blog/01/selinux-funcs.txt&quot;&gt;functions&lt;/a&gt;) and are used on a daily basis here ;-) If you want to learn a bit more on developing SELinux policies for Gentoo, make sure you read the &lt;a href=&quot;http://www.gentoo.org/proj/en/hardened/selinux-development.xml&quot;&gt;Gentoo Hardened SELinux Development&lt;/a&gt; guide.&lt;/p&gt;</description>
	<pubDate>Sat, 18 May 2013 01:50:39 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: Squid proxy : blocking download of some file extensions</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=773</guid>
	<link>http://www.ultrabug.fr/squid-proxy-blocking-download-of-some-file-extensions/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;It is a common request in squid to have it &lt;strong&gt;block downloading certain files based on their extension&lt;/strong&gt; in the url path. A quick look at google’s results on the subject &lt;strong&gt;apparently&lt;/strong&gt; gives us the solution to get this done easily by squid.&lt;/p&gt;
&lt;p&gt;The common solution is to create an ACL file listing regular expressions of the extensions you want to block and then apply this to your &lt;strong&gt;http_access&lt;/strong&gt; rules.&lt;/p&gt;
&lt;h2&gt;blockExtensions.acl&lt;/h2&gt;
&lt;pre class=&quot;brush:shell&quot;&gt;\.exe$&lt;/pre&gt;
&lt;h2&gt;squid.conf&lt;/h2&gt;
&lt;pre class=&quot;brush:shell&quot;&gt;acl blockExtensions urlpath_regex -i &quot;/etc/squid/blockExtensions.acl&quot;

[...]

http_access allow localnet !download&lt;/pre&gt;
&lt;p&gt;Unfortunately &lt;strong&gt;this is not enough to prevent users from downloading .exe files.&lt;/strong&gt; The mistake here is that we assume that the URL will strictly finish by the extension we want to block, consider the two examples below :&lt;/p&gt;
&lt;pre class=&quot;brush:shell&quot;&gt;http://download.com/badass.exe     // will be DENIED as expected

http://download.com/badass.exe?    // WON'T be denied as it does not match the regex !&lt;/pre&gt;
&lt;p&gt;Squid uses the &lt;em&gt;extended regex&lt;/em&gt; processor which is the same as egrep. So we need to change our blockExtensions.acl file to handle the possible &lt;em&gt;?whatever&lt;/em&gt; string which may be trailing our &lt;strong&gt;url_path&lt;/strong&gt;. Here’s the solution to handle all the cases :&lt;/p&gt;
&lt;h2&gt;blockExtensions.acl&lt;/h2&gt;
&lt;pre class=&quot;brush:shell&quot;&gt;\.exe(\?.*)?$
\.msi(\?.*)?$
\.msu(\?.*)?$
\.torrent(\?.*)?$&lt;/pre&gt;
&lt;p&gt;You will still be hated for limiting people’s need to download and install shit on their Windows but you implemented it the right way and no script kiddie can brag about bypassing you &lt;img alt=&quot;;)&quot; class=&quot;wp-smiley&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-includes/images/smilies/icon_wink.gif&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Fri, 17 May 2013 22:22:05 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Greg KH: Updated history of the 2.6.16-stable kernel</title>
	<guid isPermaLink="false">http://www.kroah.com/log/linux/stable-history-update.html</guid>
	<link>http://www.kroah.com/log/linux/stable-history-update.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/6e1b471928a9ec7561404af2c1e9a801.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;A few years ago, I gave a &lt;a href=&quot;http://www.kroah.com/log/linux/2.6.32-stable.html&quot;&gt;history of the 2.6.32 stable kernel&lt;/a&gt;, and
mentioned the previous stable kernels as well.  I'd like to apologize for not
acknowledging the work of Adrian Bunk in maintaining the 2.6.16 stable kernel
for 2 years after I gave up on it, allowing it to be used by many people for a
very long time.&lt;/p&gt;

&lt;p&gt;I've updated the previous post with this information in it at the bottom, for
the archives.  Again, many apologies, I never meant to ignore the work of this
developer.&lt;/p&gt;</description>
	<pubDate>Fri, 17 May 2013 16:34:00 +0000</pubDate>
	<dc:creator>Greg KH (gregkh)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: Looking at the local Linux kernel privilege escalation</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1169</guid>
	<link>http://blog.siphos.be/2013/05/looking-at-the-local-linux-kernel-privilege-escalation/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
There has been a few posts already on the local Linux kernel privilege escalation, which has received the &lt;a href=&quot;https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-2094&quot;&gt;CVE-2013-2094&lt;/a&gt; ID. &lt;a href=&quot;http://arstechnica.com/security/2013/05/critical-linux-vulnerability-imperils-users-even-after-silent-fix/&quot;&gt;arstechnica&lt;/a&gt; has a write-up with links to good resources on the Internet, but I definitely want to point readers to the &lt;a href=&quot;http://www.reddit.com/r/netsec/comments/1eb9iw/sdfucksheeporgs_semtexc_local_linux_root_exploit/c9ykrck&quot;&gt;explanation&lt;/a&gt; that Brad Spengler made on the vulnerability.
&lt;/p&gt;
&lt;p&gt;
In short, the vulnerability is an &lt;em&gt;out-of-bound&lt;/em&gt; access to an array within the Linux perf code (which is a performance measuring subsystem enabled when &lt;tt&gt;CONFIG_PERF_EVENTS&lt;/tt&gt; is enabled). This subsystem is often enabled as it offers a wide range of performance measurement techniques (see &lt;a href=&quot;https://perf.wiki.kernel.org/index.php/Main_Page&quot;&gt;its wiki&lt;/a&gt; for more information). You can check on your own system through the kernel configuration (&lt;b&gt;zgrep CONFIG_PERF_EVENTS /proc/config.gz&lt;/b&gt; if you have the latter pseudo-file available – it is made available through &lt;tt&gt;CONFIG_IKCONFIG_PROC&lt;/tt&gt;).
&lt;/p&gt;
&lt;p&gt;
The public exploit maps memory in userland, fills it with known data, then triggers an out-of-bound decrement that tricks the kernel into decrementing this data (mapped in userland). By looking at where the decrement occurred, the exploit now knows the base address of the array. Next, it targets (through the same vulnerability) the IDT base (Interrupt Descriptor Table) and targets the overflow interrupt vector. It increments the top part of the address that the vector points to (which is 0xffffffff, becoming 0×00000000 thus pointing to the userland), maps this memory region itself with shellcode, and then triggers the overflow. The shell code used in the public exploit modifies the credentials of the current task, sets uid/gid with root and gives full capabilities, and then executes a shell.
&lt;/p&gt;
&lt;p&gt;
As Brad mentions, &lt;a href=&quot;https://grsecurity.net/~spender/uderef.txt&quot;&gt;UDEREF&lt;/a&gt; (an option in a grSecurity enabled kernel) should mitigate the attempt to get to the userland. On my system, the exploit fails with the following (start of) oops (without affecting the system further) when it tries to close the file descriptor returned from the syscall that invokes the decrement:
&lt;/p&gt;
&lt;pre&gt;[ 1926.226678] PAX: please report this to pageexec@freemail.hu
[ 1926.227019] BUG: unable to handle kernel paging request at 0000000381f5815c
[ 1926.227019] IP: [] sw_perf_event_destroy+0x1a/0xa0
[ 1926.227019] PGD 58a7c000 
[ 1926.227019] Thread overran stack, or stack corrupted
[ 1926.227019] Oops: 0002 [#4] PREEMPT SMP 
[ 1926.227019] Modules linked in: libcrc32c
[ 1926.227019] CPU 0 
[ 1926.227019] Pid: 4267, comm: test Tainted: G      D      3.8.7-hardened #1 Bochs Bochs
[ 1926.227019] RIP: 0010:[]  [] sw_perf_event_destroy+0x1a/0xa0
[ 1926.227019] RSP: 0018:ffff880058a03e08  EFLAGS: 00010246
...
&lt;/pre&gt;
&lt;p&gt;
The exploit also finds that the decrement didn’t succeed:
&lt;/p&gt;
&lt;pre&gt;test: semtex.c:76: main: Assertion 'i&amp;lt;0x0100000000/4' failed.
&lt;/pre&gt;
&lt;p&gt;
A second mitigation is that &lt;a href=&quot;http://pax.grsecurity.net/docs/PaXTeam-H2HC12-PaX-kernel-self-protection.pdf&quot;&gt;KERNEXEC&lt;/a&gt; (also offered through grSecurity) which prevents the kernel from executing data that is writable (including userland data). So modifying the IDT would be mitigated as well.
&lt;/p&gt;
&lt;p&gt;
Another important mitigation is TPE – &lt;em&gt;Trusted Path Execution&lt;/em&gt;. This feature prevents the execution of binaries that are not located in a root-owned directory and owned by a trusted group (which on my system is 10 = wheel). So users attempting to execute such code will fail with a &lt;em&gt;Permission denied&lt;/em&gt; error, and the following is shown in the logs:
&lt;/p&gt;
&lt;pre&gt;[ 3152.165780] grsec: denied untrusted exec (due to not being in trusted group and file in non-root-owned directory) of /home/user/test by /home/user/test[bash:4382] uid/euid:1000/1000 gid/egid:100/100, parent /bin/bash[bash:4352] uid/euid:1000/1000 gid/egid:100/100
&lt;/pre&gt;
&lt;p&gt;
However, even though a nicely hardened system should be fairly immune against the currently circling public exploit, it should be noted that it is not immune against the vulnerability itself. The methods above mentioned make it so that that particular way of gaining root access is not possible, but it still allows an attacker to decrement and increment memory in specific locations so other exploits might be found to modify the system.
&lt;/p&gt;
&lt;p&gt;
Now out-of-bound vulnerabilities are not new. Recently (february this year), a &lt;a href=&quot;http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTMxMTg&quot;&gt;vulnerability&lt;/a&gt; in the networking code also provided an attack vector to get a local privilege escalation. A mandatory access control system like SELinux has little impact on such vulnerabilities if you allow users to execute their own code. Even confined users can modify the exploit to disable SELinux (since the shell code is ran with ring0 privileges it can access and modify the SELinux state information in the kernel).
&lt;/p&gt;
&lt;p&gt;
Many thanks to Brad for the excellent write-up, and to the &lt;a href=&quot;http://www.gentoo.org/proj/en/hardened&quot;&gt;Gentoo Hardened&lt;/a&gt; team for providing the grSecurity PaX/TPE protections in its &lt;tt&gt;hardened-sources&lt;/tt&gt; kernel.&lt;/p&gt;</description>
	<pubDate>Fri, 17 May 2013 01:50:12 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: Gentoo Hardened spring notes</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1220</guid>
	<link>http://blog.siphos.be/2013/05/gentoo-hardened-spring-notes/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
We got back together on the &lt;tt&gt;#gentoo-hardened&lt;/tt&gt; chat channel to discuss the progress of &lt;a href=&quot;http://www.gentoo.org/proj/en/hardened&quot;&gt;Gentoo Hardened&lt;/a&gt;, so it’s time for another write-up of what was said.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Toolchain&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
GCC 4.8.1 will be out soon, although nothing major has occurred with it since the last meeting. There is a plugin header install problem in 4.8 and its not certain that the (trivial) fix is in 4.8.1, but it certainly is inside Gentoo’s release.
&lt;/p&gt;
&lt;p&gt;
Blueness is also (still, and hopefully for a long time ;-) maintaining the uclibc hardened related toolchain aspects.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Kernel and grSecurity/PaX&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
The further progress on the XATTR_PAX migration was put on a lower level the past few weeks due to busy, busy… very busy weeks (but this was announced and known in advance). We still need to do XATTR copying in &lt;em&gt;install&lt;/em&gt; for packages that do pax markings before &lt;em&gt;src_install()&lt;/em&gt; and include the &lt;tt&gt;user.pax&lt;/tt&gt; XATTR patch in the gentoo-sources kernel. This will silence the errors for non-hardened users and fix the loss of XATTR markings for those packages that do pax-mark before install.
&lt;/p&gt;
&lt;p&gt;
The set then needs to be documented further and tested on vanilla and hardened systems.
&lt;/p&gt;
&lt;p&gt;
Zorry asked if a separate script can be provided for those ebuilds that directly call &lt;b&gt;paxctl&lt;/b&gt;. These ebuilds might want to switch to the eclass, but if they need to call &lt;b&gt;paxctl&lt;/b&gt; or similar directly (for instance because the result is immediately used for further building), a separate script or tool should be made available. Blueness will look into this.
&lt;/p&gt;
&lt;p&gt;
On &lt;tt&gt;hardened-sources&lt;/tt&gt;, we are now with stable  2.6.32-r160, 3.2.42-r1 and 3.8.6 due to some vulnerabilities in earlier versions (in networking code). There is still some bug (nfs-related) that is fixed in 3.2.44 so that part might need a bump as well soon.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;SELinux&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
The &lt;a href=&quot;http://blog.siphos.be/2013/04/introducing-selocal-for-small-selinux-policy-enhancements/&quot;&gt;selocal&lt;/a&gt; command is now available for Gentoo SELinux users, allowing them to easily enhance the policy without having to maintain their own SELinux policy modules (the script is a wrapper that does all that).
&lt;/p&gt;
&lt;p&gt;
The setools package now also uses the &lt;a href=&quot;http://blog.siphos.be/2013/04/sloting-the-old-swig-1/&quot;&gt;SLOT’ed swig&lt;/a&gt;, so no more dependency breakage.
&lt;/p&gt;
&lt;p&gt;
On SELinux userspace and policy, both have seen a new release last month, and both are already in the Gentoo portage tree.
&lt;/p&gt;
&lt;p&gt;
Finally, the SELinux policy ebuilds now also call &lt;a href=&quot;http://blog.siphos.be/2013/05/overriding-the-default-selinux-policies/&quot;&gt;epatch_user&lt;/a&gt; so users can customize the policies even further without having to copy ebuilds to their overlay.
&lt;/p&gt;
&lt;p&gt;
Now that &lt;b&gt;tar&lt;/b&gt; supports XATTR well, we might want to look into SELinux stages again. Jmbsvicetto did some work on that, but the builds failed during stage1. We’ll look into that later.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Integrity&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
Nothing much to say, we’re waiting a bit until the patches proposed by the IMA team are merged in the main kernel.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Profiles&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
Two no-multilib fixes have been applied to the &lt;tt&gt;hardened/amd64/no-multilib&lt;/tt&gt; profiles. One was a QA issue and quickly resolved, the other is due to the profile stacking within Gentoo profiles, where we missed a profile and thus were missing a few masks defined in that (missed) profile. But including the profile creates a lot of duplicates again, so we are going to copy the masks across until the duplicates are resolved in the other profiles.
&lt;/p&gt;
&lt;p&gt;
Blueness will also clean up the experimental &lt;tt&gt;13.0&lt;/tt&gt; directory since all hardened profiles now follow 13.0.
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Docs&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
The latest changes on SELinux have been added to the Gentoo SELinux handbook. Also, I’ve been slowly (but surely) adding topics to the &lt;a href=&quot;https://wiki.gentoo.org/wiki/SELinux/Tutorials&quot;&gt;SELinux tutorials listing&lt;/a&gt; on the Gentoo wiki.
&lt;/p&gt;
&lt;p&gt;
The grSecurity 2 document is very much out of date, blueness hopes to put some time in fixing that soon.
&lt;/p&gt;
&lt;p&gt;
So that’s about it for the short write-up. Zorry will surely post the log later on the appropriate channels. Good work done (again) by all team members!&lt;/p&gt;</description>
	<pubDate>Thu, 16 May 2013 20:54:08 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: Fujifilm GF670W</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=685</guid>
	<link>http://www.ultrabug.fr/fujifilm-gf670w/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;It’s been so long since I switched to film-only photography that I decided a few months ago to sell all my digital equipment. I already own a Nikon FM2 camera which I love but I’ve to admit that I was and still am totally amazed by the pictures taken by my girlfriend’s Rolleiflex 3.5F. The medium format is the kind of rendering I was craving to get and that sooner or later I’d step into the medium format world. Well, I didn’t have to wait as when we were in Tokyo to celebrate new year 2013 I fell in love with what was the perfect match between my love for wide angles and medium format film photography : the &lt;strong&gt;Fujifilm GF670W&lt;/strong&gt; !&lt;/p&gt;
&lt;p&gt;For my soon to come birthday, I got myself my new toy in advance so I could use it in my upcoming roadtrip around France (I’ll talk about it soon, it was awesome). Oddly, the only places in the world where you can get this camera is in the UK and in Japan so I bought it from the very nice guys at &lt;a href=&quot;http://www.dalephotographic.co.uk/&quot; target=&quot;_blank&quot;&gt;Dale photographic&lt;/a&gt;. Here is the beast (literally) :&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/05/IMG_20130412_215344.jpg&quot;&gt;&lt;img alt=&quot;IMG_20130412_215344&quot; class=&quot;alignleft size-large wp-image-753&quot; height=&quot;312&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/05/IMG_20130412_215344-1024x416.jpg&quot; width=&quot;770&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Yes, this is a big camera and it comes with a very nice leather case and a lens hood. This is a telemetric camera with a comfortable visor, it accepts 120 and 220 films and is capable of shooting in standard 6×6 and 6×7 !&lt;/p&gt;
&lt;p&gt;In the medium format world, the 55mm lens is actually a wide angle one as it is comparable to a 28mm in the usual 24×36 world. Its performances are not crazy on paper with a 4.5 aperture and a shutter speed going from 4s to 1/500s (as fast as a 1956 Rolleiflex) but the quality is just stunning as it’s sharp and offers a somewhat inexistant chromatic abberation.&lt;/p&gt;
&lt;p&gt;Want proof ? These are some of my first roll’s shoots uploaded at full resolution :&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/05/07760003.jpg&quot;&gt;&lt;img alt=&quot;07760003&quot; class=&quot;alignleft size-large wp-image-756&quot; height=&quot;770&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/05/07760003-1024x1024.jpg&quot; width=&quot;770&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/05/07760006.jpg&quot;&gt;&lt;img alt=&quot;07760006&quot; class=&quot;alignleft size-large wp-image-758&quot; height=&quot;770&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/05/07760006-1024x1024.jpg&quot; width=&quot;770&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 16 May 2013 20:12:44 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: Public support channels: irc</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1141</guid>
	<link>http://blog.siphos.be/2013/05/public-support-channels-irc/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
I’ve &lt;a href=&quot;http://blog.siphos.be/2012/12/why-would-paid-for-support-be-better/&quot;&gt;said it&lt;/a&gt; before – support channels for free software are often (imo) superior to the commercial support that you might get with vendors. And although those vendors often try to use “modern” techniques, I fail to see why the old, but proven/stable methods would be wrong.
&lt;/p&gt;
&lt;p&gt;
Consider the “Chat with Support” feature that many vendors have on their site. Often, these services use a webbrowser, AJAX-driven method for talking with support engineers. The problem with this that I see is that it is difficult to keep track of the feedback you got over time (unless you manually copy/paste the information), and again that it isn’t public. With free software communities, we still often redirect such “online” support requests to IRC.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Internet Relay Chat&lt;/em&gt; has been around for ages (&lt;a href=&quot;https://en.wikipedia.org/wiki/IRC&quot;&gt;1988&lt;/a&gt; according to wikipedia) and still quite active. Gentoo has all of its support channels on the &lt;a href=&quot;http://www.freenode.net&quot;&gt;freenode&lt;/a&gt; IRC network: a community-driven, active &lt;tt&gt;#gentoo&lt;/tt&gt; channel with often crosses the 1000 users, a &lt;tt&gt;#gentoo-dev&lt;/tt&gt; development-related channel where many developers communicate, the &lt;tt&gt;#gentoo-hardened&lt;/tt&gt; channel for all questions and support regarding Gentoo Hardened specifics, etc.
&lt;/p&gt;
&lt;p&gt;
Using IRC has many advantages. One is that logs can be kept (either individually or by the project itself) that can be queried later by the people who want to provide support (to see if questions have already been popping up, see what the common questions are for the last few days, etc.) or get support (to see if their question was already answered in the past). Of course, these logs can be made public through web interfaces quite easily. For users, such log functionality is offered through the IRC client. Another very simple, yet interesting feature is &lt;em&gt;highlighting&lt;/em&gt;: give the set of terms for which you want to be notified (usually through a highlight and a specific notification in the client), making it easier to be on multiple channels without having to constantly follow-up on all discussions.
&lt;/p&gt;
&lt;p&gt;
Another advantage is that there is such a thing like “bots”. Most Gentoo related channels do not allow active bots on the channels except for the project-approved ones (such as &lt;em&gt;willikens&lt;/em&gt;). These bots can provide project-specific help to users and developers alike:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Give one-line information about bugs reported on bugzilla (id, assignee, status, but also the URL where the user/developer can view the bug etc.) &lt;/li&gt;
&lt;li&gt;Give meta information about a package (maintainer, herd, etc.), herd (members), GLSA details, dependency information, etc.
&lt;/li&gt;&lt;li&gt;
&lt;/li&gt;&lt;li&gt;Allow users to query if a developer is &lt;a href=&quot;https://dev.gentoo.org/devaway/&quot;&gt;away&lt;/a&gt; or not&lt;/li&gt;
&lt;li&gt;Create notes (messages) for users that are not online yet but for which you know they come online later (and know their nickname or registered username)&lt;/li&gt;
&lt;li&gt;Notify when commits are made, or when tweets are sent that match a particular expression, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Furthermore, the IRC protocol has many features that are very interesting to use in free software communities as well. You can still do private chats (when potentially confidential data is exchanged) for instance, or even exchange files (although that is less common to use in free software communities). There is also still some hierarchy in case of abuse (channel operators can remove users from the chat or even ban them for a while) and one can even quiet a channel when for instance online team meetings are held (although using a different channel for that might be an alternative).
&lt;/p&gt;
&lt;p&gt;
IRC also has the advantage that connecting to the IRC channels has a very low requirement (software-wise): one can use console-only chat clients (in case users cannot get their graphical environment to work – example is irssi) or even &lt;a href=&quot;http://webchat.freenode.net/&quot;&gt;webbrowser&lt;/a&gt; based ones (if one wants to chat from other systems). Even smartphones have good IRC applications, like &lt;a href=&quot;http://www.andchat.net/&quot;&gt;AndChat&lt;/a&gt; for Android.
&lt;/p&gt;
&lt;p&gt;
IRC is also distributed: an IRC network consists of many interconnected servers who pass on all IRC traffic. If one node goes down, users can access a different node and continue. That makes IRC quite high-available. IRC network operators do need to try and keep the network from splitting (“netsplit”) which occurs when one part of the distributed network gets segregated from the other part and thus two “independent” IRC networks are formed. When that occurs, IRC operators will try to join them back as fast as possible. I’m not going to explain the details on this – it suffices to understand that IRC is a distributed manner and thus often much more available than the “support chat” sites that vendors provide.
&lt;/p&gt;
&lt;p&gt;
So although IRC looks archaic, it is a very good match for support channel requirements.&lt;/p&gt;</description>
	<pubDate>Thu, 16 May 2013 01:50:49 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: Overriding the default SELinux policies</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1134</guid>
	<link>http://blog.siphos.be/2013/05/overriding-the-default-selinux-policies/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
Extending SELinux policies with additional rules is easy. As SELinux uses a &lt;em&gt;deny by default&lt;/em&gt; approach, all you need to do is to &lt;a href=&quot;https://wiki.gentoo.org/wiki/SELinux/Tutorials/Creating_your_own_policy_module_file&quot;&gt;create a policy module&lt;/a&gt; that contains the additional (allow) rules, load that and you’re all set. But what if you want to remove some rules?
&lt;/p&gt;
&lt;p&gt;
Well, sadly, SELinux does not support deny rules. Once an allow rule is loaded in memory, it cannot be overturned anymore. Yes, you can disable the module itself that provides the rules, but you cannot selectively disable rules. So what to do?
&lt;/p&gt;
&lt;p&gt;
Generally, you can disable the module that contains the rules you want to disable, and load a custom module that defines everything the original module did, except for those rules you don’t like. For instance, if you do not want the &lt;tt&gt;skype_t&lt;/tt&gt; domain to be able to read/write to the video device, create your own skype-providing module (&lt;em&gt;myskype&lt;/em&gt;) with the exact same content (except for the module name at the first line) as the original skype module, except for the video device:
&lt;/p&gt;
&lt;pre&gt;dev_read_sound(skype_t)
# dev_read_video_dev(skype_t)
dev_write_sound(skype_t)
# dev_write_video_dev(skype_t)
&lt;/pre&gt;
&lt;p&gt;
Load in this policy, and you now have the &lt;tt&gt;skype_t&lt;/tt&gt; domain without the video access. You will get post-install failures when Gentoo pushes out an update to the policy though, since it will attempt to reload the &lt;tt&gt;skype.pp&lt;/tt&gt; file (through the &lt;tt&gt;selinux-skype&lt;/tt&gt; package) and fail because it declares types and attributes already provided (by &lt;em&gt;myskype&lt;/em&gt;). You can &lt;a href=&quot;http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&amp;amp;chap=5#doc_chap1&quot;&gt;exclude the package&lt;/a&gt; from being updated, which works as long as no packages depend on it. Or live with the post-install failure ;-) But there might be a simpler approach: &lt;em&gt;epatch_user&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Recently, I added in support for &lt;em&gt;epatch_user&lt;/em&gt; in the policy ebuilds. This allows users to create patches against the policy source code that we use and put them in &lt;tt&gt;/etc/portage/patches&lt;/tt&gt; in the directory of the right category/package. For module patches, the working directory used is within the &lt;tt&gt;policy/modules&lt;/tt&gt; directory of the policy checkout. For base, it is below the policy checkout (in other words, the patch will need to use the &lt;tt&gt;refpolicy/&lt;/tt&gt; directory base). But because of how &lt;em&gt;epatch_user&lt;/em&gt; works, any patch taken from the base will work as it will start stripping directories up to the fourth one.
&lt;/p&gt;
&lt;p&gt;
This approach is also needed if you want to exclude rules from interfaces rather than from the &lt;tt&gt;.te&lt;/tt&gt; file: create a small patch and put it in &lt;tt&gt;/etc/portage/patches&lt;/tt&gt; for the &lt;tt&gt;sec-policy/selinux-base&lt;/tt&gt; package (as this provides the interfaces).&lt;/p&gt;</description>
	<pubDate>Wed, 15 May 2013 01:50:42 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Michal Hrusecky: Spring Europen 2013</title>
	<guid isPermaLink="false">http://michal.hrusecky.net/?p=1307</guid>
	<link>http://michal.hrusecky.net/2013/05/spring-europen-2013/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/9acabfe9f6c84f3d64ba166fba9ded2e.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://michal.hrusecky.net/wp-content/uploads/talk.jpg&quot; rel=&quot;lightbox[europen]&quot;&gt;&lt;img alt=&quot;Europen talk&quot; class=&quot;alignright size-medium wp-image-1323&quot; height=&quot;168&quot; src=&quot;http://michal.hrusecky.net/wp-content/uploads/talk-300x168.jpg&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;This Monday I was the first time guest and speaker at (contrary to it’s name) local Czech conference &lt;a href=&quot;http://europen.cz&quot; target=&quot;_blank&quot; title=&quot;Europen&quot;&gt;Europen&lt;/a&gt;. It was interesting experience. And I would like to share a bit of what I experienced. What made it different from conferences I usually speak at was the audience. Not many Linux guys and quite some Windows guys. I was told that this conference is for various IT professionals and people from academia interested in Open Source.&lt;/p&gt;
&lt;p&gt;I was asked to speak there about something techy, low-levelly, genericy, and not SUSE only stuff. I offered &lt;a href=&quot;http://buildservice.org&quot; target=&quot;_blank&quot; title=&quot;Open Build Service&quot;&gt;OBS&lt;/a&gt; and &lt;a href=&quot;http://www.susestudio.com&quot; target=&quot;_blank&quot; title=&quot;SUSE Studio&quot;&gt;Studio&lt;/a&gt; introduction as these are crown jewels of &lt;a href=&quot;http://www.opensuse.org&quot; target=&quot;_blank&quot; title=&quot;openSUSE&quot;&gt;openSUSE&lt;/a&gt; environment, but I was told that they would prefer something more generic and little bit more hardcore. So in the end I decided to speak about packaging as that is something I do that since a long time ago. And to make it nor a workshop nor SUSE specific talk, I put in two more packaging systems that I worked with apart from rpm – &lt;a href=&quot;http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;amp;chap=1&quot; target=&quot;_blank&quot; title=&quot;Portage&quot;&gt;Portage&lt;/a&gt; (from &lt;a href=&quot;http://www.gentoo.org&quot; target=&quot;_blank&quot; title=&quot;Gentoo&quot;&gt;Gentoo&lt;/a&gt;) and &lt;a href=&quot;http://bitbake.berlios.de/manual/&quot; target=&quot;_blank&quot; title=&quot;BitBake&quot;&gt;BitBake&lt;/a&gt; (from &lt;a href=&quot;http://www.openembedded.org/wiki/Main_Page&quot; target=&quot;_blank&quot; title=&quot;Open Embedded&quot;&gt;Open Embedded&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Whenever I visit open source event in Czech Republic, I always know quite some people there already. I know the most prominent people from Linux magazines, other distributions and some other people who are big open source enthusiasts. On this conference, I knew something like six attendees in total (and all of them were there to give a talk and not sure what to expect from audience). Almost everybody was running MS Windows with few MacOS exceptions. Really quite different world.&lt;/p&gt;
&lt;p&gt;As I said, in the end I spoke about why do we do software packages in Linux and how do we do it. I spoke about rpm and spec files, about Portage and BitBake showing how nice it is to have inheritance. And in the end I put in part about how great OBS is anyway.&lt;/p&gt;
&lt;p&gt;From the almost a day I was at the conference, most questions and feedback got &lt;a href=&quot;http://www.ucw.cz/libucw/&quot; target=&quot;_blank&quot; title=&quot;LibUCW&quot;&gt;LibUCW&lt;/a&gt; library, but &lt;a href=&quot;http://mj.ucw.cz&quot; target=&quot;_blank&quot; title=&quot;Martin Mareš&quot;&gt;Martin Mareš&lt;/a&gt; gave amazing presentation and he had a really interesting topic. LibUCW is cool. If I’ll find a free time, I’ll write something about it separately. Otherwise audience was quite calm and quiet. For my presentation, I got question about cross-compilation of rpms, so in the end after the talk I could recommend OBS once more &lt;img alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; src=&quot;http://michal.hrusecky.net/wp-includes/images/smilies/icon_wink.gif&quot; /&gt; &lt;/p&gt;
&lt;p&gt;It was definitely interesting experience as these people were mostly out of our usual scope. If you are interested in browsing the slides, you &lt;a href=&quot;http://michal.hrusecky.net/wp-content/uploads/sw-packages.pdf&quot; rel=&quot;attachment wp-att-1312&quot; target=&quot;_blank&quot; title=&quot;Presentation about Software Packages&quot;&gt;can&lt;/a&gt;, sources are on my &lt;a href=&quot;https://github.com/miska/my-opensuse-presentations/tree/master/sw-packages&quot; target=&quot;_blank&quot; title=&quot;Link to Software Packages presentation sources&quot;&gt;github&lt;/a&gt;, but they contain quite some pages of example recipes that I was commenting on the spot.&lt;/p&gt;</description>
	<pubDate>Tue, 14 May 2013 17:00:22 +0000</pubDate>
	<dc:creator>Michal Hrusecky (miska)</dc:creator>
</item>
<item>
	<title>Agostino Sarubbo: Avoid the spam on the gentoo.org mail with procmail</title>
	<guid isPermaLink="false">http://blogs.gentoo.org/ago/?p=193</guid>
	<link>http://blogs.gentoo.org/ago/2013/05/14/avoid-the-spam-on-the-gentoo-org-mail-with-procmail/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/65812af8273d1c848acd97da072fd9db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;I use it since a long time, so since it works pretty good for me, I want to share how to handle the spam for your @gentoo.org address with procmail.&lt;/p&gt;
&lt;p&gt;First, you need to say that procmail will filter your email(s):&lt;br /&gt;
&lt;code&gt;echo &quot;| /usr/bin/procmail&quot; &amp;gt; /home/${USER}/.forward&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Then create a simple /home/${USER}/.procmailrc with this content:&lt;br /&gt;
&lt;code&gt;:0:&lt;br /&gt;
* ^X-Spam-Status: Yes&lt;br /&gt;
/dev/null&lt;/code&gt;&lt;/p&gt;&lt;code&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^X-Spam-Level: \*\*\*&lt;br /&gt;
/dev/null/&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ! ^List-Id&lt;br /&gt;
* ^X-Spam-Level: \*\*&lt;br /&gt;
/dev/null/&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*viagra*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*cialis*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*money*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*rolex*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*scount*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*Viagra*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*Cialis*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*Marketing*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*marketing*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*Money*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*Rolex*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*Scount*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*glxgug*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*offizielle sieger*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0:&lt;br /&gt;
* ^Subject:.*educational*&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0 B:&lt;br /&gt;
* $ content-[^:]+:${WS}*.+(\&amp;lt;)*(file)?name${WS}*=${WS}*\/.+\.(pif|scr|com|cpl|vbs|mim|hqx|bhx|uue|uu|b64)\&quot;?$&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;p&gt;:0 B:&lt;br /&gt;
* ^Content-Type: .*;$[  ]*(file)?name=\&quot;?.*\.(pif|scr|com|cpl|vbs)\&quot;?$&lt;br /&gt;
/dev/null&lt;/p&gt;
&lt;/code&gt;&lt;p&gt;&lt;code&gt;:0 B:&lt;br /&gt;
* ^Content-Type: .*; [  ]*(file)?name=\&quot;?.*\.(pif|scr|com|cpl|vbs)\&quot;?$&lt;br /&gt;
/dev/null&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;With the filter for &lt;em&gt;X-Spam-Status&lt;/em&gt; and &lt;em&gt;X-Spam-Level&lt;/em&gt; you will avoid the majority of the incoming spam.&lt;br /&gt;
Some mails that does not have any Spam flag, contains subject like viagra, cialis ( which I absolutely don’t need &lt;img alt=&quot;:D&quot; class=&quot;wp-smiley&quot; src=&quot;http://blogs.gentoo.org/ago/wp-includes/images/smilies/icon_biggrin.gif&quot; /&gt;  ), rolex and scount.&lt;br /&gt;
Yes, I could you the &lt;em&gt;(c|C)ase&lt;/em&gt; syntax, but I had problems, so I prefer to write twice the rules instead of have any sort of troubles.&lt;br /&gt;
Note: with this email address I’m not subscribed to any newsletter or any sort of offers/catalogs so I filtered &lt;em&gt;scount, markerting, money&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Sometimes I receive mails from people that are not spammer, with the X-Spam-Level flag with one star, so I decided to move these email into a folder, they will be double-checked with naked eye:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;:0:&lt;br /&gt;
* ^X-Spam-Level: \*&lt;br /&gt;
/home/ago/.maildir/.INBOX.pspam/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To avoid confusion I always prefer to use a complete path here.&lt;/p&gt;
&lt;p&gt;After a stabilization you will always see the annoying mail from the bugzilla which contains ${arch} stable, so if you want to drop them:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;:0 B&lt;br /&gt;
* ^*(alpha|amd64|arm|hppa|ia64|m68k|ppc|ppc64|s390|sh|sparc|x86) stable*&lt;br /&gt;
/dev/null&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now, if you are using more email clients, on more computers, you may need to set the filters here instead of on all clients you are using, so for example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;:0&lt;br /&gt;
* ^From.*bugzilla-daemon@gentoo.org&lt;br /&gt;
* ^TO.*amd64@gentoo.org&lt;br /&gt;
/home/ago/.maildir/.INBOX.amd64/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And so on….&lt;br /&gt;
These, hints obviously are valid on all postfix-based mailserver; if you are using e.g. qmail, you need to move the .procmailrc, but this is still valid.&lt;br /&gt;
I hope this will help &lt;img alt=&quot;:)&quot; class=&quot;wp-smiley&quot; src=&quot;http://blogs.gentoo.org/ago/wp-includes/images/smilies/icon_smile.gif&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Tue, 14 May 2013 12:37:18 +0000</pubDate>
	<dc:creator>Agostino Sarubbo (ago)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: Highlevel assessment of Cdorked and Gentoo Hardened/SELinux</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1152</guid>
	<link>http://blog.siphos.be/2013/05/highlevel-assessment-of-cdorked-and-gentoo-hardenedselinux/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
With all the &lt;a href=&quot;http://www.welivesecurity.com/2013/05/07/linuxcdorked-malware-lighttpd-and-nginx-web-servers-also-affected/&quot;&gt;reports&lt;/a&gt; surrounding &lt;a href=&quot;https://threatpost.com/attack-using-backdoored-apache-binaries-to-lead-to-blackhole-kit/&quot;&gt;Cdorked&lt;/a&gt;, I took a look at if SELinux and/or other Gentoo Hardened technologies could reduce the likelihood that this infection occurs on your system.
&lt;/p&gt;
&lt;p&gt;
First of all, we don’t know yet how the malware gets installed on the server. We do know that the Apache binaries themselves are modified, so the first thing to look at is to see if this risk can be reduced. Of course, using an intrusion detection system like &lt;a href=&quot;https://wiki.gentoo.org/wiki/AIDE&quot;&gt;AIDE&lt;/a&gt; helps, but even with Gentoo’s &lt;b&gt;qcheck&lt;/b&gt; command you can test the integrity of the files:
&lt;/p&gt;
&lt;pre&gt;# qcheck www-servers/apache
Checking www-servers/apache-2.2.24 ...
  * 424 out of 424 files are good
&lt;/pre&gt;
&lt;p&gt;
If the binary is modified, this would result in something equivalent to:
&lt;/p&gt;
&lt;pre&gt;Checking www-servers/apache-2.2.24 ...
 MD5-DIGEST: /usr/sbin/apache2
  * 423 out of 424 files are good
&lt;/pre&gt;
&lt;p&gt;
I don’t know if the modified binary would otherwise work just fine, I have not been able to find exact details on the infected binary to (in a sandbox environment of course) analyze this further. Also, because we don’t know how they are installed, it is not easy to know if binaries that you built yourself are equally likely to be modified/substituted or if the attack checks checksums of the binaries against a known list.
&lt;/p&gt;
&lt;p&gt;
Assuming that it would run, then the infecting malware would need to set the proper SELinux context on the file (if it overwrites the existing binary, then the context is retained, otherwise it gets the default context of &lt;tt&gt;bin_t&lt;/tt&gt;). If the context is wrong, then starting Apache results in:
&lt;/p&gt;
&lt;pre&gt;apache2: Syntax error on line 61 of /etc/apache2/httpd.conf: Cannot load /usr/lib64/apache2/modules/mod_actions.so into server: /usr/lib64/apache2/modules/mod_actions.so: cannot open shared object file: Permission denied
&lt;/pre&gt;
&lt;p&gt;
This is because the modified binary stays in the calling domain context (&lt;tt&gt;initrc_t&lt;/tt&gt;). If you use a targeted policy, then this will not present itself as &lt;tt&gt;initrc_t&lt;/tt&gt; is an unconfined domain. But with strict policies, &lt;tt&gt;initrc_t&lt;/tt&gt; is not allowed to read &lt;tt&gt;httpd_modules_t&lt;/tt&gt;. Even worse, the remainder of SELinux protections don’t apply anymore, since with unconfined domains, all bets are off. That is why Gentoo focuses this hard on using a strict policy.
&lt;/p&gt;
&lt;p&gt;
So, what if the binary runs in the proper domain? Well then, from the articles I read, the malware can do a reverse connect. That means that the domain will attempt to connect to an IP address provided by the attacker (in a specifically crafted URL). For SELinux, this means that the &lt;em&gt;name_connect&lt;/em&gt; permission is checked:
&lt;/p&gt;
&lt;pre&gt;# sesearch -s httpd_t -c tcp_socket -p name_connect -ACTS
Found 20 semantic av rules:
   allow nsswitch_domain dns_port_t : tcp_socket { name_connect } ; 
DT allow httpd_t port_type : tcp_socket { name_connect } ; [ httpd_can_network_connect ]
DT allow httpd_t ftp_port_t : tcp_socket { name_connect } ; [ httpd_can_network_relay ]
DT allow httpd_t smtp_port_t : tcp_socket { name_connect } ; [ httpd_can_sendmail ]
DT allow httpd_t postgresql_port_t : tcp_socket { name_connect } ; [ httpd_can_network_connect_db ]
DT allow httpd_t oracledb_port_t : tcp_socket { name_connect } ; [ httpd_can_network_connect_db ]
DT allow httpd_t squid_port_t : tcp_socket { name_connect } ; [ httpd_can_network_relay ]
DT allow httpd_t mssql_port_t : tcp_socket { name_connect } ; [ httpd_can_network_connect_db ]
DT allow httpd_t kerberos_port_t : tcp_socket { name_connect } ; [ allow_kerberos ]
DT allow nsswitch_domain ldap_port_t : tcp_socket { name_connect } ; [ authlogin_nsswitch_use_ldap ]
DT allow httpd_t http_cache_port_t : tcp_socket { name_connect } ; [ httpd_can_network_relay ]
DT allow httpd_t http_port_t : tcp_socket { name_connect } ; [ httpd_can_network_relay ]
DT allow httpd_t http_port_t : tcp_socket { name_connect } ; [ httpd_graceful_shutdown ]
DT allow httpd_t mysqld_port_t : tcp_socket { name_connect } ; [ httpd_can_network_connect_db ]
DT allow httpd_t ocsp_port_t : tcp_socket { name_connect } ; [ allow_kerberos ]
DT allow nsswitch_domain kerberos_port_t : tcp_socket { name_connect } ; [ allow_kerberos ]
DT allow httpd_t pop_port_t : tcp_socket { name_connect } ; [ httpd_can_sendmail ]
DT allow nsswitch_domain ocsp_port_t : tcp_socket { name_connect } ; [ allow_kerberos ]
DT allow httpd_t gds_db_port_t : tcp_socket { name_connect } ; [ httpd_can_network_connect_db ]
DT allow httpd_t gopher_port_t : tcp_socket { name_connect } ; [ httpd_can_network_relay ]
&lt;/pre&gt;
&lt;p&gt;
So by default, the Apache (&lt;tt&gt;httpd_t&lt;/tt&gt;) domain is allowed to connect to DNS port (to resolve hostnames). All other &lt;em&gt;name_connect&lt;/em&gt; calls depend on SELinux booleans (mentioned after it) that are by default disabled (at least on Gentoo). Disabling hostname resolving is not really feasible, so if the attacker uses a DNS port as port that the malware needs to connect to, SELinux will not deny it (unless you use additional networking constraints).
&lt;/p&gt;
&lt;p&gt;
Now, the reverse connect is an interesting feature of the malware, but not the main one. The main focus of the malware is to redirect customers to particular sites that can trick the user in downloading additional (client) malware. Because this is done internally within Apache, SELinux cannot deal with this. As a user, make sure you configure your browser not to trust non-local iframes and such (always do this, not just because there is a possible threat right now). The configuration of Cdorked is a shared memory segment of Apache itself. Of course, since Apache uses shared memory, the malware embedded within will also have access to the shared memory. However, if this shared memory would need to be accessed by third party applications (the malware seems to grant read/write rights on everybody to this segment) SELinux will prevent this:
&lt;/p&gt;
&lt;pre&gt;# sesearch -t httpd_t -c shm -ACTS
Found 2 semantic av rules:
   allow unconfined_domain_type domain : shm { create destroy getattr setattr read write associate unix_read unix_write lock } ; 
   allow httpd_t httpd_t : shm { create destroy getattr setattr read write associate unix_read unix_write lock } ; 
&lt;/pre&gt;
&lt;p&gt;
Only unconfined domains and the &lt;tt&gt;httpd_t&lt;/tt&gt; domain itself have access to &lt;tt&gt;httpd_t&lt;/tt&gt; labeled shared memory.
&lt;/p&gt;
&lt;p&gt;
So what about IMA/EVM? Well, those will not help here since IMA checks for integrity of files that were modified &lt;em&gt;offline&lt;/em&gt;. As the modification of the Apache binaries is most likely done online, IMA would just accept this.
&lt;/p&gt;
&lt;p&gt;
For now, it seems that a good system integrity approach is the most effective until we know more about how the malware-infected binary is written to the system in the first place (as this is better protected by MAC controls like SELinux).&lt;/p&gt;</description>
	<pubDate>Tue, 14 May 2013 01:50:01 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: SECMARK and SELinux</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1113</guid>
	<link>http://blog.siphos.be/2013/05/secmark-and-selinux/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
When using SECMARK, the administrator configures the &lt;b&gt;iptables&lt;/b&gt; or &lt;b&gt;netfilter&lt;/b&gt; rules to add a label to the packet data structure (on the host itself) that can be governed through SELinux policies. Unlike peer labeling, here the labels assigned to the network traffic is completely locally defined. Consider the following command:
&lt;/p&gt;
&lt;pre&gt;# iptables -t mangle -A INPUT -p tcp --src 192.168.1.2 --dport 443
  -j SECMARK --selctx system_u:object_r:myauth_packet_t
&lt;/pre&gt;
&lt;p&gt;
With this command, packets that originate from the &lt;em&gt;192.168.1.2&lt;/em&gt; host and arrive on port 443 (typically used for HTTPS traffic) are marked as &lt;tt&gt;myauth_packet_t&lt;/tt&gt;. SELinux policy writers can then allow domains to receive this type of packets (or send) through the &lt;em&gt;packet&lt;/em&gt; class:
&lt;/p&gt;
&lt;pre&gt;# Allow sockets with mydomain_t context to receive packets labeled myauth_packet_t
allow mydomain_t myauth_packet_t:packet recv;
&lt;/pre&gt;
&lt;p&gt;
The SELinux policy modules enable this through the &lt;em&gt;corenet_sendrecv_&amp;lt;type&amp;gt;_{client,server}_packets&lt;/em&gt; interfaces:
&lt;/p&gt;
&lt;pre&gt;corenet_sendrecv_http_client_packets(mybrowser_t)
# allow mybrowser_t http_client_packet_t:packet { send recv };
&lt;/pre&gt;
&lt;p&gt;
As a common rule, packets are marked as client packets or server packets, depending on the role of the &lt;em&gt;domain&lt;/em&gt;. In the above example, the domain is a browser, so acts as a web client. So, it needs to send and receive &lt;tt&gt;http_client_packet_t&lt;/tt&gt;. A web server on the other hand would need to send and receive &lt;tt&gt;http_server_packet_t&lt;/tt&gt;. Note that the packets that are sent over the wire do not have any labels assigned to them – this is all local to the system. So even when the source and destination use SELinux with SECMARK, on the source server the packets might be labeled as &lt;tt&gt;http_client_packet_t&lt;/tt&gt; whereas on the target they are seen as &lt;tt&gt;http_server_packet_t&lt;/tt&gt;.
&lt;/p&gt;
&lt;p&gt;
As far as I know, when you want to use SECMARK, you will need to set the contexts with &lt;b&gt;iptables&lt;/b&gt; yourself (there is no default labeling), so knowing about the above convention is important.
&lt;/p&gt;
&lt;p&gt;
Again, Paul Moore has &lt;a href=&quot;http://paulmoore.livejournal.com/4281.html&quot;&gt;more information&lt;/a&gt; about this.&lt;/p&gt;</description>
	<pubDate>Mon, 13 May 2013 01:50:19 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Andreas K. Hüttel: Lab::Measurement 3.11 released</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-7849507270164967036.post-2226057471547205792</guid>
	<link>http://dilfridge.blogspot.com/2013/05/labmeasurement-311-released.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/36167de7e11e3b358446823d51e69792.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;Lab::Measurement 3.11 has been uploaded to CPAN. This is a minor maintenance release, with small bug fixes in the voltage source handling (gate protect and sweep functionality) and the Yokogawa drivers (output voltage range settings).</description>
	<pubDate>Sun, 12 May 2013 10:34:28 +0000</pubDate>
	<dc:creator>Andreas K. Hüttel (dilfridge)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: Peer labeling in SELinux policy</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1107</guid>
	<link>http://blog.siphos.be/2013/05/peer-labeling-in-selinux-policy/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
Allow me to start with an important warning: I don’t have much hands-on experience with the remainder of this post. Its based on the few resources I found on the Internet and a few tests done locally which I’ve investigated in my attempt to understand SELinux policy writing for networking stuff.
&lt;/p&gt;
&lt;p&gt;
So, with that out of the way, let’s look into &lt;em&gt;peer labeling&lt;/em&gt;. As mentioned in my &lt;a href=&quot;http://blog.siphos.be/2013/05/selinux-policy-and-network-controls/&quot;&gt;previous post&lt;/a&gt;, SELinux supports some more advanced networking security features than the default socket restrictions. I mentioned SECMARK and NetLabel before, but NetLabel is actually part of the family of &lt;em&gt;peer&lt;/em&gt; labeling technologies.
&lt;/p&gt;
&lt;p&gt;
With this technology approach, all participating systems in the network must support the same labeling method. NetLabel supports CIPSO (&lt;a href=&quot;https://tools.ietf.org/html/draft-ietf-cipso-ipsecurity-01&quot;&gt;Commerial IP Security Option&lt;/a&gt;) where hosts label their network traffic to be part of a particular “Domain of Interpretation”. The labels are used by the hosts to identify where a packet should be for. NetLabel, within Linux, is then used to translate those CIPSO labels. SELinux itself labels the incoming sockets based on the NetLabel information and the context of the listening socket, resulting in a context that is governed policy-wise through the &lt;em&gt;peer&lt;/em&gt; class. Since this is based on the information in the packet instead of defined on the system itself, this allows remote systems to have a say in how the packets are labeled.
&lt;/p&gt;
&lt;p&gt;
Another peer technology is the &lt;em&gt;Labeled IPSec&lt;/em&gt; one. In this case the labels are fully provided by the remote system. I think they are based on the security association within the IPSec setup.
&lt;/p&gt;
&lt;p&gt;
In both cases, in the SELinux policies, three definitions are important to keep an eye out on: &lt;em&gt;interface&lt;/em&gt; definitions, &lt;em&gt;node&lt;/em&gt; definitions and &lt;em&gt;peer&lt;/em&gt; definitions.
&lt;/p&gt;
&lt;p&gt;
Interface definitions allow users to (mainly) set the sensitivity that is allowed to pass the interface. Using &lt;b&gt;semanage interface&lt;/b&gt; this can be controlled by the user. One can also assign a different context to the interface – by default, this is &lt;tt&gt;netif_t&lt;/tt&gt;. The permissions that are checked on the traffic is &lt;em&gt;ingress&lt;/em&gt; (incoming) and &lt;em&gt;egress&lt;/em&gt; (outgoing) traffic, and most policies set this through the following call (comment shows the underlying SELinux rules, where &lt;em&gt;tcp_send&lt;/em&gt; and &lt;em&gt;tcp_recv&lt;/em&gt; are – I think – obsolete):
&lt;/p&gt;
&lt;pre&gt;corenet_tcp_sendrecv_generic_if(something_t)
# allow something_t netif_t:netif { tcp_send tcp_recv egress ingress };
&lt;/pre&gt;
&lt;p&gt;
Node definitions define which targets (nodes, which can be IP addresses or subnets) traffic meant for a particular socket is allow to originate from (&lt;em&gt;recvfrom&lt;/em&gt;) or sent to (&lt;em&gt;sendto&lt;/em&gt;). Again, users can define their own node types and manage them using &lt;b&gt;semanage node&lt;/b&gt;. The default node I already covered in the previous post (&lt;tt&gt;node_t&lt;/tt&gt;) and is allowed by most policies by default through the following call (where the &lt;em&gt;tcp_send&lt;/em&gt; and &lt;em&gt;tcp_recv&lt;/em&gt; are probably deprecated as well):
&lt;/p&gt;
&lt;pre&gt;corenet_tcp_sendrecv_generic_node(something_t)
# allow something_t node_t:node { tcp_send tcp_recv sendto recvfrom };
&lt;/pre&gt;
&lt;p&gt;
Finally, peer definitions are based on the labels from the traffic. If the system uses NetLabel, then the target label will always be &lt;tt&gt;netlabel_peer_t&lt;/tt&gt; since the workings of CIPSO are mainly (only?) mapped towards sensitivity labels (in MLS policy). As a result, SELinux always displays the peer as being &lt;tt&gt;netlabel_peer_t&lt;/tt&gt;. In case of Labeled IPSec, this isn’t the case as the peer label is transmitted by the peer itself.
&lt;/p&gt;
&lt;p&gt;
For NetLabel support, policies generally include two methods – one is to support unlabeled traffic (only needed the moment you have support for labeled traffic) and one is to allow the NetLabel’ed traffic:
&lt;/p&gt;
&lt;pre&gt;corenet_all_recvfrom_unlabeled(something_t)
# allow something_t unlabeled_t:peer recv;
corenet_all_recvfrom_netlabel(something_t)
# allow something_t netlabel_peer_t:peer recv;
&lt;/pre&gt;
&lt;p&gt;
In case of IPSec for instance, the peer will have a provided label, as is shown by the call for accepting hadoop traffic:
&lt;/p&gt;
&lt;pre&gt;hadoop_recvfrom(something_t)
# allow something_t hadoop_t:peer recv;
&lt;/pre&gt;
&lt;p&gt;
However, this alone is not sufficient for labeled IPSec. We also need to allow the domain to be allowed to send anything towards an IPSec security association. There is an interface called &lt;em&gt;corenet_tcp_recvfrom_labeled&lt;/em&gt; that takes two arguments which, amongst other things, enables &lt;em&gt;sendto&lt;/em&gt; towards its association.
&lt;/p&gt;
&lt;pre&gt;corenet_tcp_recvfrom_labeled(some_t, thing_t)
# allow { some_t thing_t} self:association sendto;
# allow some_t thing_t:peer recv;
# allow thing_t some_t:peer recv;
# corenet_tcp_recvfrom_netlabel(some_t)
# corenet_tcp_recvfrom_netlabel(thing_t)
&lt;/pre&gt;
&lt;p&gt;
This interface is usually called within a &lt;em&gt;*_tcp_connect()&lt;/em&gt; interface for a particular domain, like with the &lt;em&gt;mysql_tcp_connect&lt;/em&gt; example:
&lt;/p&gt;
&lt;pre&gt;interface(`mysql_tcp_connect',`
        gen_require(`
                type mysqld_t;
        ')

        corenet_tcp_recvfrom_labeled($1, mysqld_t)
        corenet_tcp_sendrecv_mysqld_port($1) # deprecated
        corenet_tcp_connect_mysqld_port($1)
        corenet_sendrecv_mysqld_client_packets($1)
')
&lt;/pre&gt;
&lt;p&gt;
When using peer labeling, the domain that is allowed something is based on the socket context of the application. Also, the rules when using peer labeling are &lt;em&gt;in addition to&lt;/em&gt; the rules mentioned before (“standard” networking control): &lt;em&gt;name_bind&lt;/em&gt; and &lt;em&gt;name_connect&lt;/em&gt; are always checked.
&lt;/p&gt;
&lt;p&gt;
For more information, make sure you check &lt;a href=&quot;http://paulmoore.livejournal.com&quot;&gt;Paul Moore’s blog&lt;/a&gt;, such as the &lt;a href=&quot;http://paulmoore.livejournal.com/2128.html?nojs=1&quot;&gt;egress/ingress&lt;/a&gt; information. And if you know of resources that show this in a more practical setting (above is mainly to work with the SELinux policy) I’m all ears.&lt;/p&gt;</description>
	<pubDate>Sun, 12 May 2013 01:50:42 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: SELinux policy and network controls</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1096</guid>
	<link>http://blog.siphos.be/2013/05/selinux-policy-and-network-controls/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
Let’s talk about how SELinux governs network streams (and how it reflects this into the policy).
&lt;/p&gt;
&lt;p&gt;
When you don’t do fancy stuff like SECMARK or netlabeling, then the classes that you should keep an eye on are &lt;em&gt;tcp_socket&lt;/em&gt; and &lt;em&gt;udp_socket&lt;/em&gt; (depending on the protocol). There used to be &lt;em&gt;node&lt;/em&gt; and &lt;em&gt;netif&lt;/em&gt; as well, but the support (enforcement) for these have been &lt;a href=&quot;http://lists.openwall.net/netdev/2009/03/27/144&quot;&gt;removed a while ago&lt;/a&gt; for the “old style” network control enforcement. The concepts are still available though, and I believe they take effect when netlabeling is used. But let’s first look at the regular networking aspects.
&lt;/p&gt;
&lt;p&gt;
The idea behind the regular network related permissions are that you define either daemon-like behavior (which “binds” to a port) or client-like behavior (which “connects” to a port). Consider an FTP daemon (domain &lt;tt&gt;ftpd_t&lt;/tt&gt;) versus FTP client (example domain &lt;tt&gt;ncftp_t&lt;/tt&gt;).
&lt;/p&gt;
&lt;p&gt;
In case of a daemon, the policy would contain the following (necessary) rules:
&lt;/p&gt;
&lt;pre&gt;corenet_tcp_bind_generic_node(ftpd_t) # Somewhat legacy but still needed
corenet_tcp_bind_ftp_port(ftpd_t)
corenet_tcp_bind_ftp_data_port(ftpd_t)
corenet_tcp_bind_all_unreserved_ports(ftpd_t) # In case of passive mode
&lt;/pre&gt;
&lt;p&gt;
This gets translated to the following “real” SELinux statements:
&lt;/p&gt;
&lt;pre&gt;allow ftpd_t node_t:tcp_socket node_bind;
allow ftpd_t ftp_port_t:tcp_socket name_bind;
allow ftpd_t ftp_data_port_t:tcp_socket name_bind;
allow ftpd_t unreserved_port_type:tcp_socket name_bind;
&lt;/pre&gt;
&lt;p&gt;
I mention that &lt;em&gt;corenet_tcp_bind_generic_node&lt;/em&gt; as being somewhat legacy. When you use netlabeling, you can define different nodes (a “node” in that case is a label assigned to an IP address or IP subnet) and as such define policy-wise where daemons can bind on (or clients can connect to). However, without netlabel, the only node that you get to work with is &lt;tt&gt;node_t&lt;/tt&gt; which represents any possible node. Also, the use of passive mode within the ftp policy is governed through the &lt;em&gt;ftpd_use_passive_mode&lt;/em&gt; boolean.
&lt;/p&gt;
&lt;p&gt;
For a client, the following policy line would suffice:
&lt;/p&gt;
&lt;pre&gt;corenet_tcp_connect_ftp_port(ncftp_t)
# allow ncftp_t ftp_port_t:tcp_socket name_connect;
&lt;/pre&gt;
&lt;p&gt;
Well, I lied. Because of how FTP works, if you use active connections, you need to allow the client to bind on an unreserved port, and allow the server to connect to unreserved ports (cfr code snippet below), but you get the idea.
&lt;/p&gt;
&lt;pre&gt;corenet_tcp_connect_all_unreserved_ports(ftpd_t)

corenet_tcp_bind_generic_node(ncftp_t)
corenet_tcp_bind_all_unreserved_ports(ncftp_t)
&lt;/pre&gt;
&lt;p&gt;
In the past, policy developers also had to include other lines, but these have by time become obsolete (&lt;em&gt;corenet_tcp_sendrecv_ftp_port&lt;/em&gt; for instance). These methods defined the ability to send and receive messages on the port, but this is no longer controlled this way. If you need such controls, you will need to look at SELinux and SECMARK (which uses packets with the &lt;em&gt;packet&lt;/em&gt; class) or netlabel (which uses the &lt;em&gt;peer&lt;/em&gt; class and peer types to send or receive messages from).
&lt;/p&gt;
&lt;p&gt;
And that’ll be for a different post.&lt;/p&gt;</description>
	<pubDate>Sat, 11 May 2013 01:50:08 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Sebastian Pipping: svneverever 1.2.2 released + UTF-8 bug in svn2git 1.0.8</title>
	<guid isPermaLink="false">http://blog.hartwork.org/?p=1928</guid>
	<link>http://blog.hartwork.org/?p=1928</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/432c87ffa36454c734af554bb450189e.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;When working on (the still on-going) &lt;a href=&quot;https://bugs.gentoo.org/show_bug.cgi?id=457818&quot;&gt;migration of the Gentoo java project repositories from SVN to Git&lt;/a&gt; I ran into bugs with &lt;a href=&quot;https://www.gitorious.org/svn2git/svn2git/&quot;&gt;svn2git&lt;/a&gt; 1.0.8 and my own &lt;a href=&quot;http://git.goodpoint.de/?p=svneverever.git;a=summary&quot;&gt;svneverever&lt;/a&gt; 1.2.1.&lt;/p&gt;
&lt;p&gt;The bug with svn2git 1.0.8 was a regression that broke support for (non-ASCII) UTF-8 author names in identity maps. That’s &lt;a href=&quot;http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-vcs/svn2git/files/svn2git-1.0.8-utf8-author-names.patch?view=markup&quot;&gt;fixed&lt;/a&gt; in &lt;tt&gt;dev-vcs/svn2git-1.0.8-r1&lt;/tt&gt; in Gentoo. I sent the patch upstream and to the Debian package maintainer, too.&lt;/p&gt;
&lt;p&gt;For svneverever, a directory that re-appeared after deletion was reported to only live once, e.g. the output was&lt;/p&gt;
&lt;pre&gt;(2488; 9253)  /projects
(2490; 9253)      /java-config-2
(2490; 2586)          /trunk&lt;/pre&gt;
&lt;p&gt;if directory &lt;tt&gt;/projects/java-config-2/trunk/&lt;/tt&gt; got deleted at revision 2586, no matter if was re-created later. With 9253 revisions in total, the correct output (with svneverever 1.2.2) is:&lt;/p&gt;
&lt;pre&gt;(2488; 9253)  /projects
(2490; 9253)      /java-config-2
(2490; &lt;em&gt;9253&lt;/em&gt;)          /trunk&lt;/pre&gt;
&lt;p&gt;That’s fixed in &lt;a href=&quot;http://hartwork.org/public/svneverever-1.2.2.tar.gz&quot;&gt;svneverever 1.2.2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If &lt;a href=&quot;http://git.goodpoint.de/?p=svneverever.git;a=summary&quot;&gt;svneverever&lt;/a&gt; is of help to you, please &lt;a href=&quot;https://flattr.com/thing/45617/svneverever&quot;&gt;support me on Flattr&lt;/a&gt;. Thanks!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 11 May 2013 01:15:41 +0000</pubDate>
	<dc:creator>Sebastian Pipping (sping)</dc:creator>
</item>
<item>
	<title>Sven Vermeulen: Gentoo metadata support for CPE</title>
	<guid isPermaLink="false">http://blog.siphos.be/?p=1126</guid>
	<link>http://blog.siphos.be/2013/05/gentoo-metadata-support-for-cpe/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a163d8bce08d529a0419c8765766c3b6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
Recently, the &lt;tt&gt;metadata.xml&lt;/tt&gt; file syntax definition (the DTD for those that know a bit of XML) has been updated to support CPE definitions. A &lt;a href=&quot;https://nvd.nist.gov/cpe.cfm&quot;&gt;CPE&lt;/a&gt; (Common Platform Enumeration) is an identifier that &lt;a href=&quot;http://cpe.mitre.org/specification/index.html&quot;&gt;describes&lt;/a&gt; an application, operating system or hardware device using its vendor, product name, version, update, edition and language. This CPE information is used in the CVE releases (Common Vulnerabilities and Exposures) – announcements about vulnerabilities in applications, operating systems or hardware. Not all security vulnerabilities are assigned a CVE number, but this is as close as you get towards a (public) elaborate dictionary of vulnerabilities.
&lt;/p&gt;
&lt;p&gt;
By allowing Gentoo package maintainers to enter (part of) the CPE information in the &lt;tt&gt;metadata.xml&lt;/tt&gt; file, applications that parse the CVE information can now more easily match if software installed on Gentoo is related to a CVE. I had a &lt;a href=&quot;http://blog.siphos.be/2013/04/matching-packages-with-cves/&quot;&gt;related post&lt;/a&gt; to this not that long ago on my blog and I’m glad this change has been made. With this information at hand, we can start feeding CPE information to the packages and then easily match this with CVEs.
&lt;/p&gt;
&lt;p&gt;
I had a request to “provide” the scripts I used for the previous post. Mind you, these are taking too many assumptions (and probably wrong ones) for now (and I’m not really planning on updating them as I have different methods for getting information related to CVEs), but I’m planning on integrating CPE data in Gentoo’s packages more and then create a small script that generates a “watchlist” that I can feed to &lt;a href=&quot;http://cvechecker.sourceforge.net&quot;&gt;cvechecker&lt;/a&gt;. But anyway, here are the scripts.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://dev.gentoo.org/~swift/blog/01/0_createcve.txt&quot;&gt;First&lt;/a&gt;, I took all CVE information and put it in a simple CSV file. The CSV is the same one used by cvechecker, so check out the application to see where it fetches the data from (there is a CVE RSS feed and a simple XSL transformation). &lt;a href=&quot;http://dev.gentoo.org/~swift/blog/01/1_createhitlist.txt&quot;&gt;Second&lt;/a&gt;, I create a “hitlist” which generates the CPEs. With the recent change to &lt;tt&gt;metadata.xml&lt;/tt&gt; this step can be simplified a lot. &lt;a href=&quot;http://dev.gentoo.org/~swift/blog/01/2_matchcve.txt&quot;&gt;Third&lt;/a&gt;, I try to match the CPE data with the CVE data, depending on a given time delay of commits. In other words, you can ask possible CVE fixes for commits made in the last few XXX days.&lt;/p&gt;</description>
	<pubDate>Fri, 10 May 2013 01:50:51 +0000</pubDate>
	<dc:creator>Sven Vermeulen (swift)</dc:creator>
</item>
<item>
	<title>Gentoo News: Gentoo at LinuxTag 2013 in Berlin</title>
	<guid isPermaLink="false">http://www.gentoo.org/news/20130522-linuxtag.xml</guid>
	<link>http://www.gentoo.org/news/20130522-linuxtag.xml</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.linuxtag.org/2013/&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.gentoo.org/images/pr/Thumbnail_LinuxTag-Logo-plain-yellow_03.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;LinuxTag 2013 &lt;/b&gt;runs from May 22nd to May 25th in Berlin, Germany. With more
    than 10,000 visitors last year, it is one of the biggest Linux and open
    source events in Europe. 
&lt;/p&gt;&lt;p&gt;
You will find the Gentoo booth at &lt;b&gt;Hall 7.1c, Booth 179&lt;/b&gt;. Come and visit
us! You will meet many of our developers and users, talk with us, plus get some
of the Gentoo merchandise you have always wanted.
&lt;/p&gt;</description>
	<pubDate>Fri, 10 May 2013 01:03:54 +0000</pubDate>
	<dc:creator>Gentoo News ()</dc:creator>
</item>
<item>
	<title>Jan Kundrát: On Innovation, NIH, Trojita and KDE PIM</title>
	<guid isPermaLink="false">http://jkt.flaska.net/blog/On_Innovation__NIH__Trojita_and_KDE_PIM.html</guid>
	<link>http://jkt.flaska.net/blog/On_Innovation__NIH__Trojita_and_KDE_PIM.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/3dffc2033d4b1c535f50cbc42e01e71d.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Jos wrote a &lt;a href=&quot;http://blog.jospoortvliet.com/2013/05/on-innovation-free-software-nih-geary.html&quot;&gt;blog
post&lt;/a&gt; yesterday commenting on the complexity of the PIM problem. He &lt;a href=&quot;http://www.phdcomics.com/comics/archive.php?comicid=581&quot;&gt;raises an
interesting concern&lt;/a&gt; about whether we would be all better if there was no &lt;a href=&quot;http://trojita.flaska.net/&quot;&gt;Trojitá&lt;/a&gt; and I just improved KMail instead.
As usual, the matter is more complicated than it might seem on a first sight.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Executive Summary:&lt;/b&gt; I tried working with KDEPIM. The KDEPIM IMAP stack
required a total rewrite in order to be useful. At the time I started, Akonadi
did not exist. The rewrite has been done, and Trojitá is the result. It is up
to the Akonadi developers to use Trojitá's IMAP implementation if they are
interested; it is modular enough.&lt;/p&gt;

&lt;p&gt;People might wonder why Trojitá exists at all. I started working on it
because I wasn't happy with how the mail clients performed back in 2006. The
supported features were severely limited, the speed was horrible.  After
studying the IMAP protocol, it became obvious that the reason for this slowness
is the rather stupid way in which the contemporary clients treated the remote
mail store. Yes, it's really a very dumb idea to load &lt;em&gt;tens of thousands&lt;/em&gt;
of messages when opening a mailbox for the first time. Nope, it does not make
sense to block the GUI until you fetch that 15MB mail over a slow and capped
cell phone connection.  Yes, you can do better with IMAP, and the possibility
has been there for &lt;em&gt;years&lt;/em&gt;. The problem is that the clients were not
using the IMAP protocol in an efficient manner.&lt;/p&gt;

&lt;p&gt;It is not easy to retrofit a decent IMAP support into an existing client.
There could be numerous code paths which just assume that everything happens
synchronously and block the GUI when the data are stuck on the wire for some
reason. Doing this properly, fetching just the required data and doing all
that in an asynchronous manner is not easy -- but it's doable nonetheless. It
requires huge changes to the overall architecture of the legacy applications,
however.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://trojita.flaska.net/download.html&quot;&gt;Give Trojitá a try&lt;/a&gt; now
and see how fast it is. I'm serious here -- Trojitá opens a mailbox with tens of
thousands of messages in a fraction of second. Try to open a big e-mail with
vacation pictures from your relatives over a slow link -- you will see the
important textual part pop up immediately with the images being loaded in the
background, not disturbing your work. Now try to do the same in your favorite
e-mail client -- if it's as fast as Trojitá, congratulations. If not, perhaps
you should switch.&lt;/p&gt;

&lt;p&gt;Right now, the IMAP support in Trojitá is way more advanced than what is
shipped in Geary or KDE PIM -- and it is this solid foundation which leads to
Trojitá's performance. What needs work now is polishing the GUI and making it
play well with the rest of a users' system. &lt;b&gt;I don't care whether this
polishing means improving Trojitá's GUI iteratively or whether its IMAP
support gets used as a library in, say, KMail -- both would be very succesfull
outcomes.&lt;/b&gt; It would be terrific to somehow combine the nice, polished UI of
the more established e-mail clients with the IMAP engine from Trojitá. There
is a GSoC proposal for integrating Trojitá into KDE's Kontact -- but for it to
succeed, people from other projects must get involved as well. I have put
seven years of my time into making the IMAP support rock; I would not be able
to achieve the same if I was improving KMail instead. I don't &lt;em&gt;need&lt;/em&gt; a
fast KMail, I need a &lt;em&gt;great e-mail client&lt;/em&gt;.  Trojitá works well enough
for me.&lt;/p&gt;

&lt;p&gt;Oh, and there's also a currently running &lt;a href=&quot;https://www.catincan.com/proposal/trojita/integrate-address-book-trojit%C3%A1-fast-imap-e-mail-client&quot;&gt;fundraiser
for better address book integration in Trojitá&lt;/a&gt;. We are not asking for
$ 100k, we are asking for $ 199. Let's see how many people are willing
to put the money where their mouth is and actually &lt;em&gt;do&lt;/em&gt; something to help
the PIM on a free desktop. Patches and donations are both equally welcome.
Actually, not really -- great patches are much more appreciated. Because Jos
is right -- it takes a lot of work to produce great software, and things get
better when there are more poeple working towards their common goal
together.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; it looks like my choice of kickstarter platform was rather
poor, catincan apparently doesn't accept PayPal :(. There's the possiblity of
&lt;a href=&quot;http://sourceforge.net/donate/index.php?group_id=339456&quot;&gt;direct donations over
SourceForge/PayPal&lt;/a&gt; -- please keep in mind that these will be charged even
if less donors pledge to the idea.&lt;/p&gt;</description>
	<pubDate>Tue, 07 May 2013 08:03:53 +0000</pubDate>
	<dc:creator>Jan Kundrát (jkt)</dc:creator>
</item>
<item>
	<title>Agostino Sarubbo: New repoman option “–include-arches”: the benefit for an arch team member</title>
	<guid isPermaLink="false">http://blogs.gentoo.org/ago/?p=184</guid>
	<link>http://blogs.gentoo.org/ago/2013/05/05/new-repoman-option-include-arches-the-benefit-for-an-arch-team-member/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/65812af8273d1c848acd97da072fd9db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Since a long time I realized that is a pita every time that I keyword, receive a repoman failure for dependency.bad(mostly) that does not regard the arch that I’m changing.&lt;br /&gt;
So, checking in the repoman manual, I realized that –ignore-arches looks bad for my case and I decided to request a new &lt;a href=&quot;https://bugs.gentoo.org/show_bug.cgi?id=466116&quot;&gt;feature&lt;/a&gt;: –include-arches.&lt;br /&gt;
This feature, as explained in the bug, checks only for the arches that you write as argument and should be used only when you are keywording/stabilizing.&lt;/p&gt;
&lt;p&gt;Some examples/usage:&lt;/p&gt;
&lt;p&gt;First, it saves time, the following example will try to run repoman full in the kdelibs directory:&lt;br /&gt;
&lt;code&gt;$ time repoman full &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
real    0m12.434s&lt;/code&gt;&lt;/p&gt;&lt;code&gt;
&lt;/code&gt;&lt;p&gt;&lt;code&gt;$ time repoman full --include-arches &quot;amd64&quot; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
real    0m3.880s&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Second, kdelibs suffers for a dependency.bad on amd64-fbsd, so:&lt;br /&gt;
&lt;code&gt;$ repoman full&lt;br /&gt;
RepoMan scours the neighborhood...&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; Creating Manifest for /home/ago/gentoo-x86/kde-base/kdelibs&lt;br /&gt;
  dependency.bad                2&lt;br /&gt;
   kde-base/kdelibs/kdelibs-4.10.2.ebuild: PDEPEND: ~amd64-fbsd(default/bsd/fbsd/amd64/9.0) ['&amp;gt;=kde-base/nepomuk-widgets-4.10.2:4[aqua=]']&lt;/code&gt;&lt;/p&gt;&lt;code&gt;
&lt;/code&gt;&lt;p&gt;&lt;code&gt;$ repoman full --include-arches &quot;amd64&quot;&lt;br /&gt;
RepoMan scours the neighborhood...&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; Creating Manifest for /home/ago/gentoo-x86/kde-base/kdelibs&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now when I will keyword the packages I can check for specific arches and skip the unuseful checks since they causes, in this case, only a waste of time.&lt;br /&gt;
Thanks to Zac for the work on it.&lt;/p&gt;</description>
	<pubDate>Sun, 05 May 2013 14:43:48 +0000</pubDate>
	<dc:creator>Agostino Sarubbo (ago)</dc:creator>
</item>
<item>
	<title>Sebastian Pipping: May 3rd = Day Against DRM</title>
	<guid isPermaLink="false">http://blog.hartwork.org/?p=1923</guid>
	<link>http://blog.hartwork.org/?p=1923</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/432c87ffa36454c734af554bb450189e.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Learn more at &lt;a href=&quot;http://dayagainstdrm.org/&quot;&gt;dayagainstdrm.org&lt;/a&gt; (and &lt;a href=&quot;http://drm.info/&quot;&gt;drm.info&lt;/a&gt;).&lt;/p&gt;</description>
	<pubDate>Fri, 03 May 2013 14:23:13 +0000</pubDate>
	<dc:creator>Sebastian Pipping (sping)</dc:creator>
</item>
<item>
	<title>Nirbheek Chauhan: A FOSS Devanagari to Bharati Braille Converter</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-701969077517001201.post-8763018362768537446</guid>
	<link>http://blog.nirbheek.in/2013/05/a-foss-devanagari-to-bharati-braille.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/0051c8658568b2d6150abb54ecd5b0d0.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;Almost a year ago, I worked with &lt;a href=&quot;http://poojasaxena.in/&quot;&gt;Pooja&lt;/a&gt; on transliterating a Hindi poem to &lt;a href=&quot;http://en.wikipedia.org/wiki/Bharati_Braille&quot;&gt;Bharati Braille&lt;/a&gt; for a Type installation &lt;a href=&quot;http://typerventions.com/&quot;&gt;&lt;/a&gt;at Amar Jyoti School; an institute for the visually-impaired in Delhi. You can read more about that &lt;a href=&quot;http://poojasaxena.wordpress.com/2013/05/01/devanagari-to-bharati-braille-converter/&quot;&gt;on her blog post about it&lt;/a&gt;. While working on that, we were surprised to discover that there were no free (or open source) tools to do the conversion! All we could find were expensive proprietary software, or horribly wrong websites. We had to sit down and manually transliterate each character while keeping in mind the &lt;a href=&quot;http://bharati-braille.pareidolic.in/about.html#bb_limitations&quot;&gt;idiosyncrasies&lt;/a&gt; of the conversion.&lt;br /&gt;&lt;br /&gt;Now, like all programmers who love what they do, I have an urge to reduce the amount of drudgery and repetitive work in my life with automation ;). In addition, we both felt that a free tool to do such a transliteration would be useful for those who work in this field. And so, we decided to work on a website to convert from &lt;a href=&quot;http://en.wikipedia.org/wiki/Devanagari&quot;&gt;Devanagari&lt;/a&gt; (Hindi &amp;amp; Marathi) to Bharati Braille.&lt;br /&gt;&lt;br /&gt;Now, after tons of research and design/coding work, we are proud to announce the first release of our &lt;a href=&quot;http://bharati-braille.pareidolic.in/&quot;&gt;Devanagari to Bharati Braille converter&lt;/a&gt;! You can read more about the converter &lt;a href=&quot;http://bharati-braille.pareidolic.in/about.html&quot;&gt;here&lt;/a&gt;, and download the source code on &lt;a href=&quot;https://github.com/pareidolic/bharati-braille&quot;&gt;Github&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you know anyone who might find this useful, please tell them about it!&lt;/div&gt;</description>
	<pubDate>Fri, 03 May 2013 09:28:54 +0000</pubDate>
	<dc:creator>Nirbheek Chauhan (nirbheek)</dc:creator>
</item>
<item>
	<title>Donnie Berkholz: Get paid to write open-source software this summer</title>
	<guid isPermaLink="false">http://dberkholz.com/?p=834</guid>
	<link>http://dberkholz.com/2013/05/01/get-paid-to-write-open-source-software-this-summer/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/4bd89909a88b229552b227135b672b2e.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;If you’re a university student, time is running out! You could get paid to hack on Gentoo or other open-source software this summer, but you’ve gotta act now. The deadline to apply for the &lt;a href=&quot;http://www.google-melange.com/gsoc/events/google/gsoc2013&quot;&gt;Google Summer of Code&lt;/a&gt; is this Friday.&lt;/p&gt;
&lt;p&gt;If this sounds like your dream come true, you can find some Gentoo project ideas &lt;a href=&quot;http://wiki.gentoo.org/wiki/Google_Summer_of_Code/2013/Ideas&quot;&gt;here&lt;/a&gt; and Gentoo’s GSoC homepage &lt;a href=&quot;http://www.google-melange.com/gsoc/org/google/gsoc2013/gentoo&quot;&gt;here&lt;/a&gt;. For non-Gentoo projects, you can scan through the GSoC &lt;a href=&quot;http://www.google-melange.com/gsoc/homepage/google/gsoc2013&quot;&gt;website&lt;/a&gt; to find the details.&lt;/p&gt;
&lt;br /&gt; Tagged: &lt;a href=&quot;http://dberkholz.com/tag/gentoo/&quot;&gt;gentoo&lt;/a&gt;, &lt;a href=&quot;http://dberkholz.com/tag/gsoc/&quot;&gt;gsoc&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/dberkholz.wordpress.com/834/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/dberkholz.wordpress.com/834/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=dberkholz.com&amp;amp;blog=2962469&amp;amp;post=834&amp;amp;subd=dberkholz&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 01 May 2013 07:20:56 +0000</pubDate>
	<dc:creator>Donnie Berkholz (dberkholz)</dc:creator>
</item>
<item>
	<title>Raúl Porcel: The new BeagleBone Black and Gentoo</title>
	<guid isPermaLink="false">http://armin762.wordpress.com/?p=232</guid>
	<link>http://armin762.wordpress.com/2013/04/28/the-new-beaglebone-black-and-gentoo/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/a1a82d53995f72178b8b31d3d236bf91.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Hi all, long time no see.&lt;/p&gt;
&lt;p&gt;Some weeks ago I got an early version of the &lt;a href=&quot;http://beagleboard.org/Products/BeagleBone%20Black&quot; title=&quot;BeagleBone Black&quot;&gt;BeagleBone Black&lt;/a&gt; from the people at &lt;a href=&quot;http://beagleboard.org&quot;&gt;Beagleboard.org&lt;/a&gt; to create the documentation I always create with every device I get.&lt;/p&gt;
&lt;p&gt;Like always i’d like to announce the guide for installing Gentoo in the BeagleBone Black. Have a look at: &lt;a href=&quot;http://dev.gentoo.org/~armin76/arm/beagleboneblack/install.xml&quot;&gt;http://dev.gentoo.org/~armin76/arm/beagleboneblack/install.xml&lt;/a&gt; . Feel free to send any corrections my way.&lt;/p&gt;
&lt;p&gt;This board is a new version of the original BeagleBone, known in the community as BeagleBone white, for which I wrote a post for it: &lt;a href=&quot;http://armin762.wordpress.com/2012/01/01/beaglebone-and-gentoo/&quot; title=&quot;BeagleBone and Gentoo&quot;&gt;http://armin762.wordpress.com/2012/01/01/beaglebone-and-gentoo/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This new version differs in some aspects with the previous version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cheaper: 45$ vs 89$ of the BeagleBone white&lt;/li&gt;
&lt;li&gt;512MB DDR3L RAM vs 256MB DDR2 RAM of the BeagleBone white&lt;/li&gt;
&lt;li&gt;1GHz of processor speed vs 720MHz of the BeagleBone white, both when using an external PSU for power&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also it has more features which the old BeagleBone didn’t had&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;miniHDMI output&lt;/li&gt;
&lt;li&gt;2GB eMMC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However the new version has missing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Serial port and JTAG through the miniUSB interface&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The reason for missing this feature is cost cutting measures, as can be read in the Reference manual.&lt;/p&gt;
&lt;p&gt;The full specs of the BeagleBone Black are:&lt;br /&gt;
# ARMv7-A 1GHz TI AM3358/9 ARM Cortex-A8 processor&lt;br /&gt;
# 512MB DDR3L RAM&lt;br /&gt;
# SMSC LAN8710 Ethernet card&lt;br /&gt;
#&lt;br /&gt;
# 1x microSDHC slot&lt;br /&gt;
# 1x USB 2.0 Type-A port&lt;br /&gt;
# 1x mini-USB 2.0 OTG port&lt;br /&gt;
# 1x RJ45&lt;br /&gt;
# 1x 6 pin 3.3V TTL Header for serial&lt;br /&gt;
#&lt;br /&gt;
# Reset, power and user-defined button&lt;/p&gt;
&lt;p&gt;More info about the specs in BeagleBone Black’s webpage.&lt;/p&gt;
&lt;p&gt;For those curious as me, here’s the &lt;a href=&quot;http://dev.gentoo.org/~armin76/arm/beagleboneblack/boot.log&quot;&gt;bootlog&lt;/a&gt; and the &lt;a href=&quot;http://dev.gentoo.org/~armin76/arm/beagleboneblack/cpuinfo.txt&quot;&gt;cpuinfo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I’ve found two issues while working on it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The USB port doesn’t have a working hotplug detection. That means that if you plug an USB device in the USB port, it will be only detected once, if you remove the USB device, the USB port will stop working. I’ve been told that they are working on it. I haven’t been able to find a workaround for it.&lt;/li&gt;
&lt;li&gt;The BeagleBone Black doesn’t detect an microSD card when plugged in when its been booted from the eMMC. If you want to use a microSD card for additional storage, it must be inserted before it boots.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I’d like to thank the people at Beagleboard.org for providing me a Beaglebone Black to document this.&lt;/p&gt;
&lt;p&gt;Have fun!&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/armin762.wordpress.com/232/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/armin762.wordpress.com/232/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=armin762.wordpress.com&amp;amp;blog=10640460&amp;amp;post=232&amp;amp;subd=armin762&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 28 Apr 2013 18:02:31 +0000</pubDate>
	<dc:creator>Raúl Porcel (armin76)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: mongoDB and Pacemaker recent bumps</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=730</guid>
	<link>http://www.ultrabug.fr/mongodb-and-pacemaker-recent-bumps/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;h2&gt;mongoDB 2.4.3&lt;/h2&gt;
&lt;p&gt;Yet another &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER/fixforversion/12426&quot; target=&quot;_blank&quot;&gt;bugfix release&lt;/a&gt;, this new stable branch is surely one of the most quickly iterated I’ve ever seen. I guess we’ll wait a bit longer at work before migrating to 2.4.x.&lt;/p&gt;
&lt;h2&gt;pacemaker 1.1.10_rc1&lt;/h2&gt;
&lt;p&gt;This is the release of pacemaker we’ve been waiting for, fixing among other things, the ACL problem which &lt;a href=&quot;http://www.ultrabug.fr/follow-up-on-pacemaker-v1-1-9-and-updated-pacemaker-gui/&quot; target=&quot;_blank&quot;&gt;was introduced in 1.1.9&lt;/a&gt;. Andrew and others are working hard to get a proper 1.1.10 out soon, thanks guys.&lt;/p&gt;
&lt;p&gt;Meanwhile, we (gentoo cluster herd) have been contacted by &lt;strong&gt;@Psi-Jack&lt;/strong&gt; who has offered his help to follow and keep some of our precious clustering packages up to date, I wish our work together will benefit everyone !&lt;/p&gt;
&lt;p&gt;All of this is live on portage, enjoy.&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;</description>
	<pubDate>Fri, 26 Apr 2013 14:23:55 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Diego E. Pettenò: My time abroad: loyalty cards</title>
	<guid isPermaLink="false">urn:uuid:76f6faaf-2998-4672-9417-67a741cc0e15</guid>
	<link>http://blog.flameeyes.eu/2013/05/my-time-abroad-loyalty-cards</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Compared to most people around me now, and probably most of the people who read my blog, my life is not that extraordinary, in the terms of travel and moving around. I’ve been, after all, scared of planes for years, and it wasn’t until last year that I got out of the continent — in an year, though, I more than doubled the number of flights I’ve been on, with 18 last year, and more than doubled the number of countries I’ve been to, counting Luxembourg even though I only landed there and got on a bus to get back to Brussels after Alitalia screwed up.&lt;/p&gt;
&lt;p&gt;On the other hand, compared to most of the people I know in Italy, I’ve been going around quite a bit, as I spent a considerable amount of time last year in Los Angeles, and I’ve now moved to Dublin, Ireland. And there are quite a few differences between these places and Italy. I’ve already written a bit about the differences I found during &lt;a href=&quot;http://blog.flameeyes.eu/tag/usa&quot;&gt;my time in the &lt;span class=&quot;caps&quot;&gt;USA&lt;/span&gt;&lt;/a&gt; but this time I want to focus on something which is quite a triviality, but still is a remarkable difference between the three countries I got to know up to now. As the title suggest I’m referring to stores’ loyalty cards.&lt;/p&gt;
&lt;p&gt;Interestingly enough, there was just this week an article on the Irish Times about the “privacy invasion” of loyalty cards.. I honestly don’t see it as big a deal as many others. Yes, they do profile your shopping habits. Yes, if you do not keep private the kind of offers they sent you, they might tell others something about you as well — the newspaper actually brought up the example of a father who discovered the pregnancy of the daughter because of the kind of coupons the supermarket was sending, based on her change of spending habits; I’m sorry but I cannot really feel bad about it. After all, absolute privacy and relevant offers are kinda at the opposite sides of a range.. and I’m usually happy enough when companies are relevant to me.&lt;/p&gt;
&lt;p&gt;So of course stores want to know the habits of a single person, or of a single household, and for that they give you loyalty cards… but for you to use them, they have to give you something in return, don’t they? This is where the big difference on this topic appears clearly, if you look at the three countries:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;in both Italy and Ireland, you get “points” with your shopping; in the &lt;span class=&quot;caps&quot;&gt;USA&lt;/span&gt;, instead, the card gives you immediate discounts; I’m pretty sure that this gives not-really-regular-shoppers a good reason to get the card as well: you can easily save a few dollars on a single grocery run by getting the loyalty card at the till;&lt;/li&gt;
	&lt;li&gt;in Italy you redeem the points to get prizes – this works not so differently than with airlines after all – sometimes by adding a contribution, sometimes for free; in my experience the contribution is &lt;strong&gt;never&lt;/strong&gt; worth it, so either you get something for free or just forget about it;&lt;/li&gt;
	&lt;li&gt;in Ireland I still haven’t seen a single prize system; instead they work with coupons: you get a certain amount of points each euro you spend (usually, one point per euro), and then when you get to a certain amount of points, they get a value (usually, one cent per point), and a coupon redeemable for the value is sent you.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Of course, the “European” method (only by contrast with American, since I don’t know what other countries do), is a real loyalty scheme: you need a critical mass of points for them to be useful, which means that you’ll try to get on the same store as much as you can. This is true for airlines as well, after all. On the other hand, people who shop occasionally are less likely to request the card at all, so even if there &lt;em&gt;is&lt;/em&gt; some kind of data to be found in their shopping trends, they will be completely ignored by this kind of scheme.&lt;/p&gt;
&lt;p&gt;I’m honestly not sure which method I prefer, at this point I still have one or two loyalty cards from my time in Los Angeles, and I’m now collecting a number of loyalty cards here in Dublin. Some are definitely a good choice for me, like the Insomnia card (I love getting coffee at a decent place where I can spend time to read, in the weekends), others, like Dunnes, make me wonder.. the distance from the supermarket to where I’m going to live is most likely offsetting the usefulness of their coupons compared to the (otherwise quite more expensive) Spar at the corner.&lt;/p&gt;
&lt;p&gt;At any rate, I just want to write my take on the topic, which is definitely not of interest to most of you…&lt;/p&gt;</description>
	<pubDate>Fri, 26 Apr 2013 12:56:18 +0000</pubDate>
	<dc:creator>Diego E. Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Bernard Cafarelli: Backporting Apache support for websockets reverse proxy (aka getting GateOne to work behind Apache)</title>
	<guid isPermaLink="false">urn:md5:46996846fb028d8760ab37750fa70c95</guid>
	<link>http://blog.cafarelli.fr/post/2013/04/26/Backporting-Apache-support-for-websockets-reverse-proxy-%28aka-getting-GateOne-to-work-behind-Apache%29</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/23b7c03bc5b805fe6fa90e8cf2f1d5c6.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Recently, I have been toying around with &lt;a href=&quot;http://liftoffsoftware.com/Products/GateOne&quot;&gt;GateOne&lt;/a&gt;, a web-based SSH
client/terminal emulator. However, installing it on my server proved to be a
bit challenging: it requires tornado as a webserver, and uses websockets, while
I have an Apache 2.2 instance already running with a few sites on it (and my
authentication system configured for my tastes)&lt;br /&gt;
&lt;br /&gt;
So, I looked how to configure a reverse proxy for GateOne, but websockets were
not officially supported by Apache... until recently! Jim Jagielski added the
proxy_wstunnel module in trunk a few weeks ago. From what I have seen on the
mailing list, backporting to 2.4 is easy to do (and was suggested as an
official backport), but 2.2 required a few additional changes to the &lt;a href=&quot;http://people.apache.org/~jim/patches/wstunnel.patch&quot;&gt;original patch&lt;/a&gt; (and
current &lt;a href=&quot;http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/&quot;&gt;upstream
trunk&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
A few fixes later, I got a working patch (based on Apache 2.2.24), available
here: &lt;a href=&quot;http://cafarelli.fr/gentoo/apache-2.2.24-wstunnel.patch&quot; title=&quot;http://cafarelli.fr/gentoo/apache-2.2.24-wstunnel.patch&quot;&gt;http://cafarelli.fr/gentoo/apache-2...&lt;/a&gt;&lt;br /&gt;

&lt;br /&gt;
Recompile with this patch, and you will get a nice and shiny
mod_proxy_wstunnel.so module file!&lt;br /&gt;
&lt;br /&gt;
Now just load it (in /etc/apache2/httpd.conf in Gentoo):&lt;br /&gt;
&lt;code&gt;&amp;lt;IfDefine PROXY&amp;gt;&lt;br /&gt;
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so&lt;br /&gt;
&amp;lt;/IfDefine&amp;gt;&lt;br /&gt;
&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and add a location pointing to your GateOne installation:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;Location /gateone/ws&amp;gt;&lt;br /&gt;
    ProxyPass wss://127.0.0.1:1234/gateone/ws&lt;br /&gt;
    ProxyPassReverse wss://127.0.0.1:1234/gateone/ws&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Location /gateone&amp;gt;&lt;br /&gt;
    Order deny,allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
    Allow from #your favorite rule&lt;br /&gt;
&lt;br /&gt;
    ProxyPass http://127.0.0.1:1234/gateone&lt;br /&gt;
    ProxyPassReverse http://127.0.0.1:1234/gateone&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
Reload Apache, and you now have Gateone running behind your Apache server &lt;img alt=&quot;:)&quot; class=&quot;smiley&quot; src=&quot;http://blog.cafarelli.fr/themes/default/smilies/smile.png&quot; /&gt; If
it does not work, first check GateOne log and configuration, especially the
&quot;origins&quot; variable&lt;br /&gt;
&lt;br /&gt;
For other websocket applications, Jim Jagielski comments &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/httpd-dev/201303.mbox/%3CDA1B7825-90BC-41C5-9F42-66C4E154D6E2@jaguNET.com%3E&quot;&gt;
here&lt;/a&gt; :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ProxyPass /whatever ws://websocket-srvr.example/com/&lt;/p&gt;
&lt;p&gt;Basically, the new submodule adds the 'ws' and 'wss' scheme to the allowed
protocols between the client and the backend, so you tell Apache that you'll be
talking 'ws' with the backend (same as ajp://whatever sez that httpd will be
talking ajp to the backend).&lt;/p&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Thu, 25 Apr 2013 23:04:00 +0000</pubDate>
	<dc:creator>Bernard Cafarelli (voyageur)</dc:creator>
</item>
<item>
	<title>Diego E. Pettenò: Tarsnap and backup strategies</title>
	<guid isPermaLink="false">urn:uuid:108f8187-7244-4b2c-9386-b581a0cee8e4</guid>
	<link>http://blog.flameeyes.eu/2013/04/tarsnap-and-backup-strategies</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;After having had a quite traumatic experience with a customer’s service running on one of the virtual servers I run last November, I made sure to have a very thorough backup for all my systems. Unfortunately, it turns out to be a bit too thorough, so let me explore with you what was going on.&lt;/p&gt;
&lt;p&gt;First of all, the software I use to run the backup is &lt;a href=&quot;http://tarsnap.com/&quot;&gt;tarsnap&lt;/a&gt; — you might have heard of it or not, but it’s basically a very smart service, that uses an open-source client, based upon libarchive, and then a server system that stores content (de-duplicated, compressed and encrypted with a very flexible key system). The author is a FreeBSD developer, and he’s charging an insanely small amount of money.&lt;/p&gt;
&lt;p&gt;But the most important part to know when you use &lt;code&gt;tarsnap&lt;/code&gt; is that you just always create a new archive: it doesn’t really matter what you changed, just get everything together, and it will automatically de-duplicate the content that didn’t change, so why bother? My first dumb method of backups, which is still running as of this time, is to simply, every two hours, dump a copy of the databases (one server runs PostgreSQL, the other MySQL — I no longer run MongoDB but I start to wonder about it, honestly), and then use tarsnap to generate an archive of the whole &lt;code&gt;/etc&lt;/code&gt;, &lt;code&gt;/var&lt;/code&gt; and a few more places where important stuff is. The archive is named after date and time of the snapshot. And I haven’t deleted any snapshot since I started, for most servers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It was a mistake.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The moment when I went to recover the data out of earhart (the host that still hosts this blog, a customer’s app, and a couple more sites, like the assets for the blog and even &lt;a href=&quot;http://www.flameeyes.eu/autotools-mythbuster/&quot;&gt;Autotools Mythbuster&lt;/a&gt; — but all the static content, as it’s managed by git, is now also mirrored and served active-active from another server called pasteur), the time it took to extract the backup was unsustainable. The reason was obvious when I thought about it: since it has been de-duplicating for almost an year, it would have to scan hundreds if not thousands of archives to get all the small bits and pieces.&lt;/p&gt;
&lt;p&gt;I still haven’t replaced this backup system, which is very bad for me, especially since it takes a long time to delete the older archives even after extracting them. On the other hand it’s probably a lot of a matter of tradeoff in the expenses as well, as going through all the older archives to remove the old crap drained my credits with tarsnap quickly. Since the data is de-duplicated and encrypted, the archives’ data needs to be downloaded to be decrypted, before it can be deleted.&lt;/p&gt;
&lt;p&gt;My next preference is going to be to set it up so that the script is executed in different modes: 24 times in 48 hours (every two hours), 14 times in 14 days (daily), and 8 times in two months (weekly). The problem is actually doing the rotation properly with a script, but I’ll probably publish a Puppet module to take care of that, since it’s the easiest thing for me to do, to make sure it executes as intended.&lt;/p&gt;
&lt;p&gt;The essence of this post is basically to warn you all that, no matter whether it’s cheap to keep around the whole set of backups since the start of time, it’s still a good idea to just rotate them.. especially for content that does not change that often! Think about it even when you set up any kind of backup strategy…&lt;/p&gt;</description>
	<pubDate>Thu, 25 Apr 2013 13:52:43 +0000</pubDate>
	<dc:creator>Diego E. Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: Hello Gentoo Planet</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=724</guid>
	<link>http://www.ultrabug.fr/hello-gentoo-planet/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Hey &lt;strong&gt;Gentoo&lt;/strong&gt; folks !&lt;/p&gt;
&lt;p&gt;I finally followed a friend’s advice and stepped into the &lt;a href=&quot;http://www.gentoo.org/proj/en/userrel/planet/&quot; target=&quot;_blank&quot;&gt;Gentoo Planet and Universe&lt;/a&gt; feeds. I hope my modest contributions will help and be of interest to some of you readers.&lt;/p&gt;
&lt;p&gt;As you’ll see, I don’t talk only about Gentoo but also about photography and technology more generally. I also often post about the packages I maintain or I have an interest in to highlight their key features or bug fixes.&lt;/p&gt;</description>
	<pubDate>Wed, 24 Apr 2013 08:51:07 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Chí-Thanh Christopher Nguyễn: New mesa features for the adventurous: Radeon UVD and Gallium3D HUD</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-6948343.post-3819516978852101109</guid>
	<link>http://chithanh.blogspot.com/2013/04/new-mesa-features-for-adventurous.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/5a91a3cfe28732970165d95af4120b02.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;Those of you who don't live under a rock will have learned by now that AMD has published VDPAU code to use the Radeon UVD engine for accelerated video decode with the free/open source drivers.&lt;br /&gt;&lt;br /&gt;In case you want to give it a try, mesa-9.2_pre20130404 has been added (under package.mask) to the portage tree for your convenience. Additionally you will need a patched kernel and new firmware.&lt;br /&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Kernel&lt;/h3&gt;For kernel 3.9, &lt;strike&gt;grab the 10 patches from the &lt;a href=&quot;http://lists.freedesktop.org/archives/dri-devel/2013-April/036766.html&quot;&gt;dri-devel mailing list thread&lt;/a&gt; (recommended)&lt;/strike&gt; &lt;b&gt;[UPDATE]&lt;/b&gt;I put the patches into a tarball and attached to Gentoo &lt;a href=&quot;https://bugs.gentoo.org/show_bug.cgi?id=466042&quot;&gt;bug 466042&lt;/a&gt;&lt;b&gt;[/UPDATE]&lt;/b&gt;. For kernel 3.8 I have collected the necessary patches &lt;a href=&quot;http://dev.gentoo.org/~chithanh/radeon-uvd/&quot;&gt;here&lt;/a&gt;, but be warned that kernel 3.8 is not officially supported. It works on my Radeon 6870, YMMV.&lt;br /&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Firmware&lt;/h3&gt;The firmware is part of radeon-ucode-20130402, but has not yet reached the linux-firmware tree. If you require other firmware from the linux-firmware package, remove the radeon files from the savedconfig file and build the package with USE=&quot;savedconfig&quot; to allow installation together with radeon-ucode. &lt;b&gt;[UPDATE]&lt;/b&gt;linux-firmware-20130421 now contains the UVD firmware, too.&lt;b&gt;[/UPDATE]&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The new firmware files are&lt;br /&gt;radeon/RV710_uvd.bin: Radeon 4350-4670, 4770.&lt;br /&gt;radeon/RV770_uvd.bin: &lt;a href=&quot;http://lists.freedesktop.org/archives/dri-devel/2013-April/036875.html&quot;&gt;Not useful&lt;/a&gt; at this time. Maybe later for 4200, 4730, 4830-4890.&lt;br /&gt;radeon/CYPRESS_uvd.bin: Evergreen cards.&lt;br /&gt;radeon/SUMO_uvd.bin: Northern Islands cards and Zacate/Llano APUs.&lt;br /&gt;radeon/TAHITI_uvd.bin: Southern Islands cards and Trinity APUs.&lt;br /&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Testing it&lt;/h3&gt;&lt;div style=&quot;text-align: left;&quot;&gt;If your kernel is properly patched and finds the correct firmware, you will see this message at boot:&lt;/div&gt;&lt;pre&gt;[drm] UVD initialized successfully.&lt;/pre&gt;If mesa was correctly built with VDPAU support, vdpauinfo will list the following codecs:&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre&gt;Decoder capabilities:&lt;br /&gt;&lt;br /&gt;name               level macbs width height&lt;br /&gt;-------------------------------------------&lt;br /&gt;MPEG1                16 1048576 16384 16384&lt;br /&gt;MPEG2_SIMPLE         16 1048576 16384 16384&lt;br /&gt;MPEG2_MAIN           16 1048576 16384 16384&lt;br /&gt;H264_BASELINE        16  9216  2048  1152&lt;br /&gt;H264_MAIN            16  9216  2048  1152&lt;br /&gt;H264_HIGH            16  9216  2048  1152&lt;br /&gt;VC1_SIMPLE           16  9216  2048  1152&lt;br /&gt;VC1_MAIN             16  9216  2048  1152&lt;br /&gt;VC1_ADVANCED         16  9216  2048  1152&lt;br /&gt;MPEG4_PART2_SP       16  9216  2048  1152&lt;br /&gt;MPEG4_PART2_ASP      16  9216  2048  1152&lt;br /&gt;&lt;/pre&gt;If mplayer and its dependencies were correctly built with VDPAU support, running it with &quot;-vc ffh264vdpau,&quot; parameter will output something like the following when playing back a H.264 file:&lt;br /&gt;&lt;pre&gt;VO: [vdpau] 1280x720 =&amp;gt; 1280x720 H.264 VDPAU acceleration&lt;/pre&gt;To make mplayer use acceleration by default, uncomment the [vo.vdpau] section in /etc/mplayer/mplayer.conf&lt;br /&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Gallium3D Head-up display&lt;/h3&gt;Another cool new feature is the &lt;a href=&quot;http://lists.freedesktop.org/archives/mesa-dev/2013-March/036586.html&quot;&gt;Gallium3D HUD&lt;/a&gt; (link via &lt;a href=&quot;http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTMzNTI&quot;&gt;Phoronix&lt;/a&gt;), which can be enabled with the GALLIUM_HUD environment variable. This supposedly works with all the Gallium drivers (i915g, radeon, nouveau, llvmpipe).&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-M0UeK7QYXwA/UV-N6NOATMI/AAAAAAAABEw/pENVlx07sko/s1600/supertuxkart+olivermath+2013.03.06+04.44.02.png&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;http://3.bp.blogspot.com/-M0UeK7QYXwA/UV-N6NOATMI/AAAAAAAABEw/pENVlx07sko/s400/supertuxkart+olivermath+2013.03.06+04.44.02.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;An example screenshot of Supertuxkart using GALLIUM_HUD=&quot;cpu0+cpu1+cpu2:100,cpu:100,fps;draw-calls,requested-VRAM+requested-GTT,pixels-rendered&quot;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;If you have any questions or problems setting up UVD on Gentoo, stop by #gentoo-desktop on freenode IRC.&lt;/div&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 21 Apr 2013 23:57:02 +0000</pubDate>
	<dc:creator>Chí-Thanh Christopher Nguyễn (chithanh)</dc:creator>
</item>
<item>
	<title>Diego E. Pettenò: Autotools Mythbuster: who's afraid of libtool?</title>
	<guid isPermaLink="false">urn:uuid:a397c684-4da6-44e6-8fa1-d73ff32316dc</guid>
	<link>http://blog.flameeyes.eu/2013/04/autotools-mythbuster-who-s-afraid-of-libtool</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;This is a follow-up on my &lt;a href=&quot;http://blog.flameeyes.eu/2013/04/autotools-mythbuster-who-s-afraid-of-autotools&quot;&gt;last post&lt;/a&gt; for autotools introduction. I’m trying to keep these posts bite sized both because it seems to work nicely, and because this way I can avoid leaving the posts rotting in the drafts set.&lt;/p&gt;
&lt;p&gt;So after creating a simple autotools build system in the previous now you might want to know how to build a library — this is where the first part of complexity kicks in. The complexity is not, though, into using libtool, but into making a proper library. So the question is “do you really want to use libtool?”&lt;/p&gt;
&lt;p&gt;Let’s start from a fundamental rule: if you’re not going to install a library, you don’t want to use libtool. Some projects that only ever deal with programs still use libtool because that way they can rely on &lt;code&gt;.la&lt;/code&gt; files for static linking. My suggestion is (very simply) not to rely on them as much as you can. Doing it this way means that you no longer have to care about using libtool for non-library-providing projects.&lt;/p&gt;
&lt;p&gt;But in the case you &lt;strong&gt;are&lt;/strong&gt; building said library, using libtool is important. Even if the library is internal only, trying to build it without libtool is just going to be a big headache for the packager that looks into your project (trust me I’ve seen said projects). Before entering the details on how you use libtool, though, let’s look into something else: what you need to make sure you think about, in your library.&lt;/p&gt;
&lt;p&gt;First of all, make sure to have an unique prefix to your public symbols, be them constants, variables or functions. You might also want to have one for symbols that you use within your library on different translation units — my suggestion in this example is going to be that symbols starting with &lt;code&gt;foo_&lt;/code&gt; are public, while symbols starting with &lt;code&gt;foo__&lt;/code&gt; are private to the library. You’ll soon see why this is important.&lt;/p&gt;
&lt;p&gt;Reducing the amount of symbols that you expose is not only a good performance consideration, but it also means that you avoid the off-chance to have &lt;a href=&quot;http://blog.flameeyes.eu/tag/collisions&quot;&gt;symbol collisions&lt;/a&gt; which is a big problem to debug. So do pay attention.&lt;/p&gt;
&lt;p&gt;There is another thing that you should consider when building a shared library and that’s the way the library’s &lt;a href=&quot;http://www.flameeyes.eu/autotools-mythbuster/libtool/version.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;ABI&lt;/span&gt; is versioned&lt;/a&gt; but it’s a topic that, in and by itself, takes more time to discuss than I want to spend in this post. I’ll leave that up to my full guide.&lt;/p&gt;
&lt;p&gt;Once you got these details sorted out, you should start by slightly change the &lt;code&gt;configure.ac&lt;/code&gt; file from the previous post so that it initializes libtool as well:&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;&lt;pre&gt;AC_INIT([myproject], [123], [flameeyes@flameeyes.eu], [http://blog.flameeyes.eu/tag/autotoolsmythbuster])
AM_INIT_AUTOMAKE([foreign no-dist-gz dist-xz])
LT_INIT

AC_PROG_CC

AC_OUTPUT([Makefile])&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Now it is possible to provide a few options to &lt;code&gt;LT_INIT&lt;/code&gt; for instance to disable by default the generation of static archives. My personal recommendation is not to touch those options in most cases. Packagers will disable static linking when it makes sense, and if the user does not know much about static and dynamic linking, they are better off getting everything by default on a manual install.&lt;/p&gt;
&lt;p&gt;On the &lt;code&gt;Makefile.am&lt;/code&gt; side, the changes are very simple. Libraries built with libtool have a different class than programs and static archives, so you declare them as &lt;code&gt;lib_LTLIBRARIES&lt;/code&gt; with a &lt;code&gt;.la&lt;/code&gt; extension (at build time this is unavoidable). The only real difference between &lt;code&gt;_LTLIBRARIES&lt;/code&gt; and &lt;code&gt;_PROGRAMS&lt;/code&gt; is that the former gets its additional links from &lt;code&gt;_LIBADD&lt;/code&gt; rather than &lt;code&gt;_LDADD&lt;/code&gt; like the latter.&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;&lt;pre&gt;bin_PROGRAMS = fooutil1 fooutil2 fooutil3
lib_LTLIBRARIES = libfoo.la

libfoo_la_SOURCES = lib/foo1.c lib/foo2.c lib/foo3.c
libfoo_la_LIBADD = -lz
libfoo_la_LDFLAGS = -export-symbols-regex &amp;amp;apos^foo_[^_]&amp;amp;apos

fooutil1_LDADD = libfoo.la
fooutil2_LDADD = libfoo.la
fooutil3_LDADD = libfoo.la -ldl

pkginclude_HEADERS = lib/foo1.h lib/foo2.h lib/foo3.h&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;_HEADERS&lt;/code&gt; variable is used to define which header files to install and where. In this case, it goes into &lt;code&gt;${prefix}/include/${PACKAGE}&lt;/code&gt;, as I declared it a &lt;code&gt;pkginclude&lt;/code&gt; install.&lt;/p&gt;
&lt;p&gt;The use of &lt;code&gt;-export-symbols-regex&lt;/code&gt; ­– further documented &lt;a href=&quot;http://www.flameeyes.eu/autotools-mythbuster/libtool/symbols.html&quot;&gt;in the guide&lt;/a&gt; – ensures that only the symbols that we want to have publicly available are exported and does so in an easy way.&lt;/p&gt;
&lt;p&gt;This is about it for now — one thing that I haven’t added in the previous post, but which I’ll expand in the next iteration or the one after, is that the only command you need to regenerate autotools is &lt;code&gt;autoreconf -fis&lt;/code&gt; and that still applies after introducing libtool support.&lt;/p&gt;</description>
	<pubDate>Sun, 21 Apr 2013 13:41:08 +0000</pubDate>
	<dc:creator>Diego E. Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Andreas K. Hüttel: kdepim-4.4 (kmail1) in Gentoo - unsupported, dying, dead</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-7849507270164967036.post-4369824407840615709</guid>
	<link>http://dilfridge.blogspot.com/2013/04/kdepim-44-kmail1-in-gentoo-unsupported.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/36167de7e11e3b358446823d51e69792.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;Bitrot is accumulating, and while we've tried to keep kdpim-4.4 running in Gentoo as long as possible, the time is slowly coming to say goodbye. In effect this is triggered by annoying problems like these:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://bugs.gentoo.org/show_bug.cgi?id=464956&quot; target=&quot;_blank&quot;&gt;kleopatra-4.4 segfaults immediately on start&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://forums.gentoo.org/viewtopic-t-950322.html&quot; target=&quot;_blank&quot;&gt;kmail-4.4 does not respect &quot;Sent mail&quot; folder of identity&lt;/a&gt; &lt;/li&gt;&lt;li&gt;session restore always complains that another kontact-4.4 instance is running&lt;/li&gt;&lt;li&gt;on each login, a dialog box about (unfounded) problems with gnupg pops up&lt;/li&gt;&lt;/ul&gt;There are probably many more such bugs around, where incompatibilities between kdepim-4.4 and kdepimlibs of more recent releases occur or other software updates have led to problems. Slowly it's getting painful, and definitely more painful than running a recent kdepim-4.10 (which has in my opinion improved quite a lot over the last major releases).&lt;br /&gt;Please be prepared for the following steps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;end of april 2013, all kdepim-4.4 packages in the Gentoo portage tree will be package.masked &lt;/li&gt;&lt;li&gt;end of may 2013, all kdepim-4.4 packages in the Gentoo portage tree will be removed&lt;/li&gt;&lt;li&gt;afterwards, we will finally be able to simplify the eclasses a lot by removing the special handling&lt;/li&gt;&lt;/ul&gt;We still have the &lt;a href=&quot;http://wiki.gentoo.org/wiki/KDE/KDEPIM-4.7_upgrade&quot; target=&quot;_blank&quot;&gt;kdepim-4.7 upgrade guide&lt;/a&gt; around, and it also applies to the upgrade from kdepim-4.4 to any later version. Feel free to improve it or suggest improvements.&lt;br /&gt;&lt;br /&gt;R.I.P. kmail1.</description>
	<pubDate>Thu, 18 Apr 2013 19:40:30 +0000</pubDate>
	<dc:creator>Andreas K. Hüttel (dilfridge)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: py3status v0.9</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=712</guid>
	<link>http://www.ultrabug.fr/py3status-v0-9/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;First of all &lt;strong&gt;py3status&lt;/strong&gt; &lt;a href=&quot;https://pypi.python.org/pypi/py3status/0.9&quot; target=&quot;_blank&quot;&gt;is on pypi&lt;/a&gt; ! You can now install it with the simple and usual :&lt;/p&gt;
&lt;pre class=&quot;brush:shell&quot;&gt;$ pip install py3status&lt;/pre&gt;
&lt;p&gt;This new version features my first pull request from @&lt;strong&gt;Fandekasp&lt;/strong&gt; who kindly wrote a pomodoro module which helps this &lt;a href=&quot;http://www.pomodorotechnique.com&quot; target=&quot;_blank&quot;&gt;technique’s&lt;/a&gt; adepts by having a counter on their bar. I also fixed a few glitches on module injection and some documentation.&lt;/p&gt;</description>
	<pubDate>Thu, 18 Apr 2013 17:41:53 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Diego E. Pettenò: Autotools Mythbuster: who's afraid of autotools?</title>
	<guid isPermaLink="false">urn:uuid:5b5d472a-ecf1-47e4-9ba1-9bbde27bfe2b</guid>
	<link>http://blog.flameeyes.eu/2013/04/autotools-mythbuster-who-s-afraid-of-autotools</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;I’ve been asked over on Twitter if I had any particular tutorial for an easy one-stop-shop tutorial for Autotools newbies… the answer was no, but I will try to make up for it by writing this post.&lt;/p&gt;
&lt;p&gt;First of all, with the name autotools, we include quite a bit of different tools. If you have a very simple program (not hellow-simple, but still simple), you definitely want to use at the very least two: &lt;code&gt;autoconf&lt;/code&gt; and &lt;code&gt;automake&lt;/code&gt;. While you could use the former without the latter, you really don’t want to. This means that you need two files: &lt;code&gt;configure.ac&lt;/code&gt; and &lt;code&gt;Makefile.am&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The first of the two files (&lt;code&gt;configure.ac&lt;/code&gt;) is processed to produce a &lt;code&gt;configure&lt;/code&gt; script which the user will be executing at build time. It is also the bane of most people because, if you look at one for a complex project, you’ll see &lt;strong&gt;lots&lt;/strong&gt; of content (and logic) and next to no comments on what things do. Lots of it is cargo-culting and I’m afraid I cannot help but just show you a possible basic &lt;code&gt;configure.ac&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;&lt;pre&gt;AC_INIT([myproject], [123], [flameeyes@flameeyes.eu], [http://blog.flameeyes.eu/tag/autotoolsmythbuster])
AM_INIT_AUTOMAKE([foreign no-dist-gz dist-xz])

AC_PROG_CC

AC_OUTPUT([Makefile])&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Let me explain. The first two lines are used to initialize &lt;code&gt;autoconf&lt;/code&gt; and &lt;code&gt;automake&lt;/code&gt; respectively. The former is being told the name and version of the project, the place to report bugs, and an &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; for the package to use in documentation. The latter is told that we’re not a &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt; project (seriously, this is important — you wouldn’t believe how many tarballs I find with 0-sized files just because they are mandatory in the default &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt; layout; even though I found at least one crazy package lately that &lt;strong&gt;wanted&lt;/strong&gt; to have a 0-sized &lt;span class=&quot;caps&quot;&gt;NEWS&lt;/span&gt; file), and that we want a &lt;code&gt;.tar.xz&lt;/code&gt; tarball and not a &lt;code&gt;.tar.gz&lt;/code&gt; one (which is the default).&lt;/p&gt;
&lt;p&gt;After initializing the tools, you need to, at the very least, ask for a C compiler. You could have asked for a C++ compiler as well, but I’ll leave that as an exercise to the reader. Finally, you got to tell it to output &lt;code&gt;Makefile&lt;/code&gt; (it’ll use &lt;code&gt;Makefile.in&lt;/code&gt; but we’ll create &lt;code&gt;Makefile.am&lt;/code&gt; instead soon).&lt;/p&gt;
&lt;p&gt;To build a program, you need then to create a &lt;code&gt;Makefile.am&lt;/code&gt; similar to this:&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;&lt;pre&gt;bin_PROGRAMS = hellow

dist_doc_DATA = README&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Here we’re telling &lt;code&gt;automake&lt;/code&gt; that we have a program called &lt;code&gt;hellow&lt;/code&gt; (which sources are by default &lt;code&gt;hellow.c&lt;/code&gt;) which has to be installed in the binary directory, and a &lt;code&gt;README&lt;/code&gt; file that has to be distributed in the tarball and installed as a documentation piece. Yes this is really enough as a very basic &lt;code&gt;Makefile.am&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you were to have two programs, &lt;code&gt;hellow&lt;/code&gt; and &lt;code&gt;hellou&lt;/code&gt;, and a &lt;em&gt;convenience&lt;/em&gt; library between the two you could do it this way:&lt;/p&gt;
&lt;div class=&quot;CodeRay&quot;&gt;&lt;pre&gt;bin_PROGRAMS = hellow hellou

hellow_SOURCES = src/hellow.c
hellow_LDADD = libhello.a

hellou_SOURCES = src/hellou.c
hellow_LDADD = libhello.a

noinst_LIBRARIES = libhello.a
libhello_a_SOURCES = lib/libhello.c lib/libhello.h

dist_doc_DATA = README&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;But then you’d have to add &lt;code&gt;AC_PROG_RANLIB&lt;/code&gt; to the &lt;code&gt;configure.ac&lt;/code&gt; calls. My suggestion is that if you want to link things statically and it’s just one or two files, just go for building it twice… it can actually makes it faster to build (one less serialization step) and with the new &lt;span class=&quot;caps&quot;&gt;LTO&lt;/span&gt; options it should very well improve the optimization as well.&lt;/p&gt;
&lt;p&gt;As you can see, this is really easy when done on the basis… I’ll keep writing a few more posts with easy solutions, and probably next week I’ll integrate all of this in &lt;a href=&quot;http://www.flameeyes.eu/autotools-mythbuster/&quot;&gt;Autotools Mythbuster&lt;/a&gt; and update &lt;a href=&quot;https://www.amazon.com/gp/product/B00BC2HTHM/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B00BC2HTHM&amp;amp;linkCode=as2&amp;amp;tag=flamswebl-20&quot;&gt;the ebook&lt;/a&gt; with an “easy how to” as an appendix.&lt;/p&gt;</description>
	<pubDate>Thu, 18 Apr 2013 10:56:38 +0000</pubDate>
	<dc:creator>Diego E. Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: mongoDB v2.4.2 released</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=716</guid>
	<link>http://www.ultrabug.fr/mongodb-v2-4-2-released/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;After the security issue related bumps of the previous releases which happened last weeks it was about time 10gen released a 2.4.x fixing the following issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fix for upgrading sharded clusters&lt;/li&gt;
&lt;li&gt;TTL assertion on replica set secondaries&lt;/li&gt;
&lt;li&gt;Several V8 memory leak and performance fixes&lt;/li&gt;
&lt;li&gt;High volume connection crash&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I guess everything listed above would have affected our cluster at work so I’m glad we’ve been patient on following-up this release &lt;img alt=&quot;:)&quot; class=&quot;wp-smiley&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-includes/images/smilies/icon_smile.gif&quot; /&gt;  See the &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER/fixforversion/12405&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; for details.&lt;/p&gt;</description>
	<pubDate>Thu, 18 Apr 2013 10:53:40 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Jeremy Olexa: I’ve been in Australia for two months</title>
	<guid isPermaLink="false">http://blog.jolexa.net/?p=1346</guid>
	<link>http://blog.jolexa.net/2013/04/ive-been-in-australia-for-two-months/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/22713e0462fafba6ae835898ad3aded9.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Well, the title says it. I’ve now been here for two months. I’m working at &lt;a href=&quot;http://www.skydivemaitland.com.au/&quot;&gt;Skydive Maitland&lt;/a&gt;, which is 40 minutes from the coast and 2+ hours from Sydney. So far, I’ve broke even on my Australian travel/living expenses AND I’m skydiving 3-4 days a week, what could be better? I did 99 jumps in March, normally I do 400 per year. Australia is pretty nice, it is easy to live here and there is plenty to see but it is hard to get places since the country is so big and I need a few days break to go someplace.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;How did I end up here?&lt;/em&gt; I knew I would goto Australia at some point during my trip since I would be passing by and it is a long way from home. (Sidenote: Of all the travelers at hostels in Europe, about 40-50% that I met were Aussie). In December, I bought my right to work in Australia by getting a working holiday visa. That required $270 and 10 minutes to fill out a form on the &lt;em&gt;internet&lt;/em&gt;, &lt;strong&gt;overnight&lt;/strong&gt; I had my approval. So, that was settled, I could now work for 12 months in Australia and show up there within a year. I knew I would be working in Australia because it is a rather expensive country to live/travel in. I thought about picking fruit in an orchard since they always hire backpackers, but skydiving sounded more fun in the end (of course!). So, in January, I emailed a few dropzones stating that I would be in Australia in the near future and looking for work. &lt;em&gt;Crickets…&lt;/em&gt; I didn’t hear back from anyone. Fair enough, most businesses will have adequate staffing in the middle of the busy season. &lt;strong&gt;But&lt;/strong&gt;, one place did get back to me some weeks later. Then, it took one Skype convo to come to a friendly agreement and I was looking for flights after. Due to some insane price scheming, there was one flight in two days that was 1/2 price of the others (thank you skyscanner.net). That sealed my decision, and I was off…&lt;/p&gt;
&lt;p&gt;Onward looking, full time instructor for March and April then become part time in May and June so I can see more of Australia. I have a few road trips in the works, I just need my own vehicle to make that happen. Working on it. After Australia, I’m probably going to Japan or SE Asia like I planned.&lt;/p&gt;
&lt;p&gt;Since my &lt;em&gt;sister&lt;/em&gt; already asked, Yes, I do see kangaroos nearly everyday..&lt;/p&gt;</description>
	<pubDate>Thu, 18 Apr 2013 08:05:46 +0000</pubDate>
	<dc:creator>Jeremy Olexa (darkside)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: San Francisco : streets</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=699</guid>
	<link>http://www.ultrabug.fr/san-francisco-streets/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440019.jpg&quot;&gt;&lt;img alt=&quot;05440019&quot; class=&quot;aligncenter size-large wp-image-701&quot; height=&quot;518&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440019-1024x690.jpg&quot; width=&quot;770&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440016.jpg&quot;&gt;&lt;img alt=&quot;05440016&quot; class=&quot;aligncenter size-large wp-image-700&quot; height=&quot;1024&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440016-678x1024.jpg&quot; width=&quot;678&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440020.jpg&quot;&gt;&lt;img alt=&quot;05440020&quot; class=&quot;aligncenter size-large wp-image-702&quot; height=&quot;542&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440020-1024x722.jpg&quot; width=&quot;770&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/000018.jpg&quot;&gt;&lt;img alt=&quot;000018&quot; class=&quot;aligncenter size-large wp-image-707&quot; height=&quot;1024&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/000018-678x1024.jpg&quot; width=&quot;678&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 18 Apr 2013 06:02:08 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Diego E. Pettenò: Bundling libraries for trouble</title>
	<guid isPermaLink="false">urn:uuid:d5b50a66-af30-4b8c-866f-28feb6d90f5b</guid>
	<link>http://blog.flameeyes.eu/2013/04/bundling-libraries-for-trouble</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;You might remember that I’ve been very opinionated against bundling libraries and, to a point, static linking of libraries for Gentoo. My reasons have been mostly &lt;a href=&quot;http://blog.flameeyes.eu/2009/01/bundling-libraries-for-despair-and-insecurity&quot;&gt;geared toward security&lt;/a&gt; but there has been a few more instances I wrote about of problems with bundled libraries and stability, for instance the moment when you get symbol collisions between a bundled library and a different version of said library used by one of the dependencies, like &lt;a href=&quot;http://blog.flameeyes.eu/2006/04/still-problems-with-aac-and-xine-lib-almost-fixed&quot;&gt;that one time in xine.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But there are other reasons why bundling is bad in most cases, especially distributions, and it’s much worse than just statically linking everything. Unfortunately, while all the major distribution have, as far as I know, a policy against bundled (or even statically linked) libraries, there are very few people speaking against them outside your average distribution speaker.&lt;/p&gt;
&lt;p&gt;One such a rare gem comes out of &lt;a href=&quot;http://blog.einval.com/2013/03/30&quot;&gt;Steve McIntyre&lt;/a&gt; a few weeks ago, and actually makes two different topics I wrote about meet in a quite interesting way. Steve &lt;a href=&quot;https://wiki.linaro.org/LEG/Engineering/OPTIM/Assembly&quot;&gt;worked&lt;/a&gt; on finding which software packages make use of &lt;span class=&quot;caps&quot;&gt;CPU&lt;/span&gt;-specific assembly code for performance-critical code, which would have to be ported for the new 64-bit &lt;span class=&quot;caps&quot;&gt;ARM&lt;/span&gt; architecture (Aarch64). And this has mostly reminded me of x32.&lt;/p&gt;
&lt;p&gt;In many ways, there are so many problems in common between Aarch64 and x32, and they mostly gear toward the fact that in both cases you have an architecture (or &lt;span class=&quot;caps&quot;&gt;ABI&lt;/span&gt;) that is very similar to a known, well-understood architecture but is not identical. The biggest difference, a part from the implementations themselves, is in the way the two have been conceived: as I said before, Intel’s public documentation for the ABI’s inception noted explicitly the way that it was designed for closed systems, rather than open ones (the definition of open or closed system has nothing to do with open- or closed-source software, and has to be found more into the expectancies on what the users will be able to add to the system). The recent stretching of x32 on the open system environments is, in my opinion, not really a positive thing, but if that’s what people want …&lt;/p&gt;
&lt;p&gt;I think Steve’s reports is worth a read, both for those who are interested to see what it takes to introduce a new architecture (or &lt;span class=&quot;caps&quot;&gt;ABI&lt;/span&gt;). In particular, for those who maintained before that my complaining of x32 breaking assembly code all over the place was a moot point — people with a clue on how &lt;span class=&quot;caps&quot;&gt;GCC&lt;/span&gt; works know that sometimes you cannot get away with its optimizations, and you actually need to handwrite code; at the same time, as Steve noted, sometimes the handwritten code is so bad that you should drop it and move back to plain compiled C.&lt;/p&gt;
&lt;p&gt;There is also a visible amount of software where the handwritten assembly gets imported due to bundling and direct inclusion… this tends to be relatively common because handwritten assembly is usually tied to performance-critical code… which for many is the same code you bundle because a dynamic link is “not fast enough” — I disagree.&lt;/p&gt;
&lt;p&gt;So anyway, give a read to Steve’s report, and then compare with some of the points made in &lt;a href=&quot;http://blog.flameeyes.eu/tag/x32&quot;&gt;my series of x32-related articles&lt;/a&gt; and tell me if I was completely wrong.&lt;/p&gt;</description>
	<pubDate>Wed, 17 Apr 2013 12:01:02 +0000</pubDate>
	<dc:creator>Diego E. Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Alexys Jacob: San Francisco : chinatown</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=687</guid>
	<link>http://www.ultrabug.fr/san-francisco-chinatown/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440005.jpg&quot;&gt;&lt;img alt=&quot;05440005&quot; class=&quot;aligncenter size-large wp-image-690&quot; height=&quot;509&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440005-1024x678.jpg&quot; width=&quot;770&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440002.jpg&quot;&gt;&lt;img alt=&quot;05440002&quot; class=&quot;aligncenter size-large wp-image-688&quot; height=&quot;1024&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/05440002-682x1024.jpg&quot; width=&quot;682&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 16 Apr 2013 20:41:28 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Jeremy Olexa: Sri Lanka in February</title>
	<guid isPermaLink="false">http://blog.jolexa.net/?p=1347</guid>
	<link>http://blog.jolexa.net/2013/04/sri-lanka-in-february/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/22713e0462fafba6ae835898ad3aded9.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;I wrote about how I ended up in Sri Lanka in my last post, &lt;a href=&quot;http://blog.jolexa.net/2013/02/january-in-review-istanbul-dubai/&quot;&gt;here&lt;/a&gt;. I ended up with a GI sickness during my second week, from the a bad meal or water and it spoiled the last week that I was there, but I had my own room, bathroom, a good book, and a resort on the beach. Overall, the first week was fun, teaching English, living in a small village and being immersed in the culture staying with a host family. Hats off to volunteers that can live there long term. I was craving “western culture” after a short time. I didn’t see as much as a wanted to, like the wild elephants, Buddhist temples or surf lessons. There will be other places or times to do that stuff though.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/jolexa/sets/72157633259071704/&quot;&gt;Sri Lanka pics&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 16 Apr 2013 06:16:53 +0000</pubDate>
	<dc:creator>Jeremy Olexa (darkside)</dc:creator>
</item>
<item>
	<title>Paweł Hajdan, Jr.: Best articles about Blink rendering engine according to me</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-7803863447082200741.post-3740774370605797268</guid>
	<link>http://phajdan-jr.blogspot.com/2013/04/best-articles-about-blink-rendering.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/c0b3d658791eacfc3f8897753ff3caea.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;It is now over a week since &lt;a href=&quot;http://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html&quot;&gt;announcement of Blink&lt;/a&gt;, a rendering engine for the Chromium project.&lt;br /&gt;&lt;br /&gt;I hope it could be useful to provide links to the best articles about it, which have good, technical contents.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://blog.html5test.com/post/47128015347/thoughts-on-blink&quot;&gt;Thoughts on Blink&lt;/a&gt; from HTML5 Test is a good summary about history of Chrome, WebKit, and puts this recent announcement in context. For even more context (nothing about Blink) you can read Paul Irish's excellent &lt;a href=&quot;http://paulirish.com/2013/webkit-for-developers/&quot;&gt;WebKit for Developers&lt;/a&gt; post.&lt;br /&gt;&lt;br /&gt;Peter-Paul Koch (probably best known for quirksmode.org) has good articles about Blink: &lt;a href=&quot;http://www.quirksmode.org/blog/archives/2013/04/blink.html&quot;&gt;Blink&lt;/a&gt; and &lt;a href=&quot;http://www.quirksmode.org/blog/archives/2013/04/blinkbait.html&quot;&gt;Blinkbait&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I also found it interesting to ready Krzysztof Kowalczyk's &lt;a href=&quot;https://medium.com/my-ideas/25a947158087&quot;&gt;Thoughts on Blink&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Highly recommended Google+ posts by Chromium developers:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Justin Schuh talks about &lt;a href=&quot;https://plus.google.com/u/0/116560594978217291380/posts/AeCnq76cAXb&quot;&gt;security improvements&lt;/a&gt; made possible by Blink&lt;/li&gt;&lt;li&gt;Ben Goodger explains &lt;a href=&quot;https://plus.google.com/u/0/105636695715347097518/posts/Ubrgmz3LpaR&quot;&gt;layering and embedding&lt;/a&gt; of the new engine&lt;/li&gt;&lt;li&gt;Charlie Reis is excited about &lt;a href=&quot;https://plus.google.com/u/0/105497998876878526147/posts/etnTiaXZEGM&quot;&gt;out-of-process iframes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;If you're interested in the technical details or want to participate in the discussions, why not follow &lt;a href=&quot;https://groups.google.com/a/chromium.org/forum/?fromgroups#!forum/blink-dev&quot;&gt;blink-dev&lt;/a&gt;, the mailing list of the project?&lt;/div&gt;</description>
	<pubDate>Mon, 15 Apr 2013 19:25:10 +0000</pubDate>
	<dc:creator>Paweł Hajdan, Jr. (phajdan.jr)</dc:creator>
</item>
<item>
	<title>Gentoo News: Gentoo at FOSSCOMM 2013</title>
	<guid isPermaLink="false">http://www.gentoo.org/news/20130414-FOSSCOMM-2013.xml</guid>
	<link>http://www.gentoo.org/news/20130414-FOSSCOMM-2013.xml</link>
	<description>&lt;p&gt;&lt;b&gt;What?&lt;/b&gt; FOSSCOMM 2013
&lt;/p&gt;&lt;p&gt;&lt;span&gt;Free and Open Source Software COMmunities Meeting(FOSSCOMM) 2013&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;When?&lt;/b&gt; 20th, April 2013 - 21st, April 2013&lt;/p&gt;&lt;p&gt;&lt;b&gt;Where?&lt;/b&gt; Harokopio University, Athens, Greece 
&lt;/p&gt;&lt;p&gt;&lt;b&gt;Website?&lt;/b&gt;&lt;a href=&quot;http://hua.fosscomm.gr&quot;&gt;http://hua.fosscomm.gr&lt;/a&gt;&lt;/p&gt;&lt;p&gt;
FOSSCOMM 2013 is almost here, and Gentoo will be there!
&lt;/p&gt;&lt;p&gt;
We will have a booth with Gentoo promo stuff, stickers, flyers, badges, live
DVD's and much more! Whether you're a developer, user, or simply curious, be
sure and stop by. We are also going to represent Gentoo in a round table with
other foss communities. See you there!
&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;a href=&quot;mailto:dastergon@gentoo.org&quot;&gt;Pavlos Ratis&lt;/a&gt; contributed the draft for this announcement.&lt;/span&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 15 Apr 2013 19:03:59 +0000</pubDate>
	<dc:creator>Gentoo News ()</dc:creator>
</item>
<item>
	<title>Fabio Erculiani: Rolling out systemd</title>
	<guid isPermaLink="false">http://lxnay.wordpress.com/?p=595</guid>
	<link>http://lxnay.wordpress.com/2013/04/15/rolling-out-systemd/</link>
	<description>&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;28283482&quot; class=&quot;aligncenter size-medium wp-image-596&quot; height=&quot;300&quot; src=&quot;http://lxnay.files.wordpress.com/2013/04/28283482.jpg?w=300&amp;amp;h=300&quot; width=&quot;300&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We started to roll out systemd &lt;strong&gt;today&lt;/strong&gt;.&lt;br /&gt;
But &lt;strong&gt;don’t panic&lt;/strong&gt;! Your system will still boot with &lt;strong&gt;openrc&lt;/strong&gt; and everything is expected to be working without troubles.&lt;br /&gt;
We are aiming to support both init systems, at least for some time (long time I believe) and having systemd replacing &lt;strong&gt;udev &lt;/strong&gt;(note: systemd is a superset of udev) is a good way to make systemd users happy in Sabayon land. From my testing, the slowest part of the boot is now the genkernel initramfs, in particular the modules autoload code which, as you may expect, I’m going to try to improve.&lt;/p&gt;
&lt;p&gt;Please note that we are not willing to accept systemd bugs yet, because we’re still fixing up service units and adding the missing ones, the &lt;strong&gt;live media scripts&lt;/strong&gt; haven’t been migrated and the &lt;strong&gt;installer&lt;/strong&gt; is not systemd aware. So, please be patient &lt;img alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; src=&quot;http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Having said this, if you are brave enough to test systemd out, you’re lucky and in Sabayon, it’s just 2 commands away, thanks to &lt;strong&gt;eselect-sysvinit&lt;/strong&gt; and &lt;strong&gt;eselect-settingsd&lt;/strong&gt;. And since I expect those brave people to know how to use eselect, I won’t waste more time on them now.&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/lxnay.wordpress.com/595/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lxnay.wordpress.com/595/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lxnay.wordpress.com&amp;amp;blog=14999083&amp;amp;post=595&amp;amp;subd=lxnay&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 15 Apr 2013 10:43:58 +0000</pubDate>
	<dc:creator>Fabio Erculiani ()</dc:creator>
</item>
<item>
	<title>Alexys Jacob: py3status v0.8</title>
	<guid isPermaLink="false">http://www.ultrabug.fr/?p=670</guid>
	<link>http://www.ultrabug.fr/py3status-v0-8/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8a02ec9d317b82419e8c0adf533f92db.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;I went on a coding frenzy to implement most of the stuff I was not happy with py3status so far. Here comes &lt;a href=&quot;https://github.com/ultrabug/py3status/tree/0.8&quot; target=&quot;_blank&quot;&gt;py3status code name : San Francisco&lt;/a&gt; (more photos to come).&lt;br /&gt;
&lt;a class=&quot;thumbnail&quot; href=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/SF_1.jpg&quot;&gt;&lt;img alt=&quot;San Francisco&quot; class=&quot;aligncenter size-large wp-image-676&quot; height=&quot;510&quot; src=&quot;http://www.ultrabug.fr/wordpress/wp-content/uploads/2013/04/SF_1-1024x679.jpg&quot; width=&quot;770&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;PEP8&lt;/h2&gt;
&lt;p&gt;I always had the habit of using tabulators to indent my code. @&lt;a href=&quot;http://www.thebault.co/&quot; target=&quot;_blank&quot;&gt;Lujeni&lt;/a&gt; pointed out that &lt;a href=&quot;http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#pep-8-style-guide-for-python-code&quot; target=&quot;_blank&quot;&gt;this is not a PEP8 recommended&lt;/a&gt; method and that we should start respecting more of it in the near future. Well, he’s right and I guess it was time to move on so I switched to &lt;strong&gt;using spaces&lt;/strong&gt; and &lt;strong&gt;corrected&lt;/strong&gt; a lot of other coding style stuff which got my code a score going from around -1/10 to around 9.5/10 on &lt;strong&gt;pylint&lt;/strong&gt; !&lt;/p&gt;
&lt;h2&gt;Threaded modules’ execution&lt;/h2&gt;
&lt;p&gt;This was the major thing I was not happy with : when a user-written module was executed for injection, the time it took to get its response would cause py3status to stop updating the bar. This means that if you had a database call to make to get some stuff you need displayed on the bar and it took 10 seconds, py3status was sleeping for those 10 seconds to update the bar ! This behavior could cause some delays in the clock ticking for example.&lt;/p&gt;
&lt;p&gt;I decided to offload all of the modules’ detection and execution to a &lt;strong&gt;thread&lt;/strong&gt; to solve this problem. To be frank, this also helped to rationalize the code better as well. No more delays and a cleaner handling is what you get, stuff will start appending themselves whatever the time they take to execute !&lt;/p&gt;
&lt;h2&gt;Python3&lt;/h2&gt;
&lt;p&gt;It was about time the &lt;strong&gt;examples&lt;/strong&gt; available on py3status would also work using python3.&lt;/p&gt;</description>
	<pubDate>Sun, 14 Apr 2013 20:33:51 +0000</pubDate>
	<dc:creator>Alexys Jacob (ultrabug)</dc:creator>
</item>
<item>
	<title>Andreas K. Hüttel: NVIDIA 300 series Linux drivers - worst functionality regression ever</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-7849507270164967036.post-5562740186873464873</guid>
	<link>http://dilfridge.blogspot.com/2013/04/nvidia-300-series-linux-drivers-worst.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/36167de7e11e3b358446823d51e69792.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;For a long time, I've been extraordinarily happy with both NVIDIA graphics hardware and the vendor-supplied binary drivers. Functionality, stability, speed. However, things are changing and I'm frustrated. Let me tell you why.&lt;br /&gt;&lt;br /&gt;Part of my job is to do teaching and presentations. I have a trusty thinkpad with a VGA output which can in principle supply about every projector with a decent signal. Most of these projectors do not display the native 1920x1200 resolution of the built-in display. This means, if you configure the second display to clone the first, you will end up seeing only part of the screen. In the past, I solved this by using nvidia-settings and setting the display to a lower resolution supported by the projector (nvidia-settings told me which ones I could use) and then let it clone things. Not so elegant, but everything worked fine- and this amount of fiddling is still something that can be done in the front of a seminar room while someone is introducing you and the audience gets impatient.&lt;br /&gt;&lt;br /&gt;Now consider my surprise when suddenly after a driver upgrade the built-in display was completely glued to the native resolution. Only setting possible - 1920x1200. The first time I saw that I was completely clueless what to do; starting the talk took a bit longer than expected. A simple, but completely crazy solution exists; disable the built-in display and only enable the projector output. Then your X session is displayed there and resized accordingly. You'll have to look at the silver screen while talking, but that's not such a problem. A bigger pain actually is that you may have to leave the podium in a hurry and then have no video output at all...&lt;br /&gt;&lt;br /&gt;Now, googling. Obviously a lot of other people have the same problem as well. Hacks &lt;a href=&quot;http://brainwreckedtech.wordpress.com/2012/08/19/howto-get-nvidia-on-linux-to-use-custom-resolutions-over-dvi/&quot; target=&quot;_blank&quot;&gt;like this one&lt;/a&gt; just don't work, I've ended up with nice random screen distortions. Here's a &lt;a href=&quot;https://devtalk.nvidia.com/default/topic/525287/linux/non-native-resolutions-not-available-in-3xx-drivers-on-8700m-gt/&quot; target=&quot;_blank&quot;&gt;thread on the nvidia devtalk forum&lt;/a&gt; from where I can quote, &quot;The way it works now is more &quot;correct&quot; than the old behavior, but what  the user sees is that the old way worked and the new does not.&quot; It seems like now nVidia expects that each application handles any mode switching internally. My usecase does not even exist from their point of view. &lt;a href=&quot;https://devtalk.nvidia.com/default/topic/528822/linux/i-have-one-resolution-only/&quot; target=&quot;_blank&quot;&gt;Here's another thread&lt;/a&gt;, and in general users are not happy about it. &lt;br /&gt;&lt;br /&gt;Finally, I found &lt;a href=&quot;https://devtalk.nvidia.com/default/topic/533968/support-of-non-native-resolutions/&quot; target=&quot;_blank&quot;&gt;this link&lt;/a&gt; where the following reply is given: &quot;The driver supports all of the scaling features that older drivers did,  it's just that nvidia-settings hasn't yet been updated to make it easy  to configure those scaling modes from the GUI.&quot; Just great.&lt;br /&gt;&lt;br /&gt;Gentlemen, this is a serious annoyance. Please fix it. Soon. Not everyone is willing to read up on xrandr command line options and fiddle with ViewPortIn, ViewPortOut, MetaModes and other technical stuff. Especially while the audience is waiting.</description>
	<pubDate>Sun, 14 Apr 2013 20:19:09 +0000</pubDate>
	<dc:creator>Andreas K. Hüttel (dilfridge)</dc:creator>
</item>
<item>
	<title>Diego E. Pettenò: So it stats my time in Ireland</title>
	<guid isPermaLink="false">urn:uuid:be4f95a2-b005-4375-89a2-de54a97b3541</guid>
	<link>http://blog.flameeyes.eu/2013/04/so-it-stats-my-time-in-ireland</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;With today it makes a full week I survived my move to Dublin. Word’s out on who my new employer is (but as usual, since this blog is personal and should not be tied to my employer, I’m not even going to name it), and I started the introductory courses. One thing I can be sure of: I will be eating healthily and compatibly with my taste — thankfully, chicken, especially spicy chicken, seems to be available &lt;em&gt;everywhere&lt;/em&gt; in Ireland, yai!&lt;/p&gt;
&lt;p&gt;I have spent almost all my life in Venice, never stayed for long periods of time away from it, with the exception of last year, which I spent for the most time, as you probably know, in Los Angeles — 2012 was a funny year like that: I never partied for the new year, but at 31st December 2011 I was at a friend’s place with friends, after which some of us ended up leaving at around 3am… for the first time in my life I ended up sleeping on a friend’s couch. Then it was time for my first week-long vacation since &lt;em&gt;ever&lt;/em&gt; with the same group of friends in the Venetian Alps.&lt;/p&gt;
&lt;p&gt;With this premise, it’s obvious that Dublin is looking a bit alien to me. It helps I’ve spent a few weeks over the past years in London, so that at least a few customs that are shared between the British and the Irish I already was used to — they probably don’t like to be remembered that they share some customs with the British, but there it goes. But it’s definitely more similar to Italy than Los Angeles.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Funny episode of the day was me going to Boots, and after searching the aisle for a while asking one of the workers if they kept hydrogen peroxide, which I used almost daily both in Italy and the US as a disinfectant – I cut or scrape very easily – and after being looked at in a very strange way I was informed that is not possible to sell it anymore in Ireland…. I’d guess it has something to do with the use of it in the London bombings of ‘05. Luckily they didn’t call the police.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I have to confess though that I like the restaurants better on the touristy, commercial areas than those in the upscale modern new districts — I love Nando’s for instance, which is nowhere Irish, but I love its spiciness (and this time around I could &lt;em&gt;buy&lt;/em&gt; the freaking salt!). But also most pubs have very good chicken.&lt;/p&gt;
&lt;p&gt;I still don’t have a permanent place though. I need to look into one soonish I suppose, but the job introduction took the priority for the moment. Even though, if the guests in the next apartment are going to throw another party at 4.30am I might decide to find something sooner, rather than later.&lt;/p&gt;</description>
	<pubDate>Sat, 13 Apr 2013 19:58:32 +0000</pubDate>
	<dc:creator>Diego E. Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Andreas K. Hüttel: OpenPGP smartcards and Gentoo - part 1: hardware</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-7849507270164967036.post-1957162676650655052</guid>
	<link>http://dilfridge.blogspot.com/2013/04/openpgp-smartcards-and-gentoo-part-1.html</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/36167de7e11e3b358446823d51e69792.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;Gnupg is an excellent tool for encryption and signing, however, while breaking encryption or forging signatures of large key size is likely somewhere between painful and impossible even for agencies on significant budget, all this is always only as safe as your private key. Let's insert the &lt;a href=&quot;http://xkcd.com/538/&quot; target=&quot;_blank&quot;&gt;obvious semi-relevant xkcd reference&lt;/a&gt; here, but someone hacking your computer, installing a keylogger and grabbing the key file is more likely. While there are no preventive measures that work for all conceivable attacks, you can at least make things as hard as possible. Be smart, use a smartcard. You'll get a number of additional bonuses on the way. I'm writing up here my personal experiences, as a kind of guide. &lt;i&gt;Also, I am picking a compromise between ultra-security and convenience. Please do not complain if you find guides on the web on how to do things &quot;better&quot;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;The smart cards&lt;/h4&gt;Obviously, you will need one or more OpenPGP-compatible smart cards and a reader device. I ordered my cards from &lt;a href=&quot;http://shop.kernelconcepts.de/product_info.php?cPath=1_26&amp;amp;products_id=42&amp;amp;language=en&quot; target=&quot;_blank&quot;&gt;kernel concepts&lt;/a&gt; since that shop is referred in the GnuPG smartcard howto. These are the cards developed by &lt;a href=&quot;http://www.g10code.de/p-card.html&quot; target=&quot;_blank&quot;&gt;g10code&lt;/a&gt;, which is Werner Koch's company (he is the principal author of GnuPG). The website says &quot;2048bit RSA capable&quot;, the text printed on the card says &quot;3072bit RSA capable&quot;, but at least the currently sold cards &lt;a href=&quot;http://marc.info/?l=gnupg-users&amp;amp;m=131477338132206&quot; target=&quot;_blank&quot;&gt;support 4096bit RSA keys&lt;/a&gt; just fine. (You will need at least app-crypt/gnupg-2.0.19-r2 for encryption keys bigger than 3072bit, see &lt;a href=&quot;http://gnupg.10057.n7.nabble.com/Re-Card-fails-to-decrypt-using-4096-bit-key-td15173.html&quot; target=&quot;_blank&quot;&gt;this link&lt;/a&gt; and &lt;a href=&quot;http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-crypt/gnupg/ChangeLog?r1=1.458&amp;amp;r2=1.459&quot; target=&quot;_blank&quot;&gt;this portage commit&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;The readers&lt;/h4&gt;While the &lt;a href=&quot;http://www.gnupg.org/howtos/card-howto/en/smartcard-howto.html&quot; target=&quot;_blank&quot;&gt;GnuPG smartcard howto&lt;/a&gt; provides a &lt;a href=&quot;http://www.gnupg.org/howtos/card-howto/en/ch02s02.html&quot; target=&quot;_blank&quot;&gt;list of supported reader devices&lt;/a&gt;, that list (and indeed the whole document) is a bit stale. The best source of information that I found was the &lt;a href=&quot;http://wiki.debian.org/Smartcards&quot; target=&quot;_blank&quot;&gt;page on the Debian Wiki&lt;/a&gt;; &lt;a href=&quot;http://wiki.debian.org/YutakaNiibe&quot; target=&quot;_blank&quot;&gt;Yutaka Niibe&lt;/a&gt;, who edits that page regularly, is also one of the code contributors to the smartcard part of GnuPG. In general there are two types of readers, those with a stand-alone pinpad and those without. The extra pinpad takes care that for normal operations like signing and encryption the pin for unlocking the keys is never entering the computer itself- so without tampering with the reader hardware it is &lt;strike&gt;impossible&lt;/strike&gt; pretty hard to sniff it. I bought a &lt;a href=&quot;http://www.scm-pc-card.de/index.php?lang=en&amp;amp;page=product&amp;amp;function=show_product&amp;amp;product_id=221&quot; target=&quot;_blank&quot;&gt;SCM SPG532 reader&lt;/a&gt;, one of the devices supported ever first by GnuPG, however it's not produced anymore and you may have to resort to newer models soon.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Drivers and software&lt;/h4&gt;Now, you'll want to activate the USE flag &quot;smartcard&quot; and maybe &quot;pkcs11&quot;, and rebuild app-crypt/gnupg. Afterwards, you may want to log out and back in again, since you may need the gpg-agent from the new emerge.&lt;br /&gt;Several different standards for card reader access exist. One particular is the USB standard for integrated circuit card interface devices, short CCID; the driver for that one is directly built into GnuPG, and the SCM SPG532 is such a device. Another set of drivers is provided by sys-apps/pcsc-lite; that will be used by GnuPG if the built-in stuff fails, but requires a daemon to be running (pcscd, just add it to the default runlevel and start it). The &lt;a href=&quot;http://wiki.debian.org/Smartcards&quot; target=&quot;_blank&quot;&gt;page on the Debian Wiki&lt;/a&gt; also lists the required drivers.&lt;br /&gt;These drivers do not need much (or any) configuration, but should work in principle out of the box. Testing is easy, plug in the reader, insert a card, and issue the command&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span&gt;gpg --card-status&lt;/span&gt;&lt;/blockquote&gt;If it works, you should see a message about (among other things) manufacturer and serial number of your card. Otherwise, you'll just get an uninformative error. The first thing to check is then (especially for CCID) if the device permissions are OK; just repeat above test as root. If you can now see your card, you know you have permission trouble.&lt;br /&gt;Fiddling with the device file permissions was a serious pain, since all online docs are hopelessly outdated. &lt;i&gt;Please forget about the files linked in the GnuPG smartcard howto. &lt;/i&gt;(One cannot be found anymore, the other does not work alone and tries to do things in unnecessarily complicated ways.) At some point in time I just gave up on things like user groups and told udev to hardwire the device to my user account: I created the following file into /etc/udev/rules.d/gnupg-ccid.rules:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span&gt;ACTION==&quot;add&quot;, SUBSYSTEM==&quot;usb&quot;, ENV{PRODUCT}==&quot;4e6/e003/*&quot;, OWNER:=&quot;huettel&quot;, MODE:=&quot;600&quot;&lt;br /&gt;ACTION==&quot;add&quot;, SUBSYSTEM==&quot;usb&quot;, ENV{PRODUCT}==&quot;4e6/5115/*&quot;, OWNER:=&quot;huettel&quot;, MODE:=&quot;600&quot;&lt;/span&gt;&lt;/blockquote&gt;With similar settings it should in principle be possible to solve all the permission problems. (You may want to change the USB id's and the OWNER for your needs.) Then, a quick &lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span&gt;udevadm control --reload-rules&lt;/span&gt;&lt;/blockquote&gt;followed by unplugging and re-plugging the reader. Now you should be able to check the contents of your card.&lt;br /&gt;If you still have problems, check the following: for accessing the cards, GnuPG starts a background process, the smart card daemon (scdaemon). scdaemon tends to hang every now and then after removing a card. Just kill it (you need SIGKILL)&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span&gt;killall -9 scdaemon&lt;/span&gt;&lt;/blockquote&gt;and try again accessing the card afterwards; the daemon is re-started by gnupg. A lot of improvements in smart card handling are scheduled for gnupg-2.0.20; I hope this will be fixed as well.&lt;br /&gt;Here's how a successful card status command looks like on a blank card: &lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span&gt;huettel@pinacolada ~ $ gpg --card-status&lt;br /&gt;Application ID ...: D276000124010200000500000AFA0000&lt;br /&gt;Version ..........: 2.0&lt;br /&gt;Manufacturer .....: ZeitControl&lt;br /&gt;Serial number ....: 00000AFA&lt;br /&gt;Name of cardholder: [not set]&lt;br /&gt;Language prefs ...: de&lt;br /&gt;Sex ..............: unspecified&lt;br /&gt;URL of public key : [not set]&lt;br /&gt;Login data .......: [not set]&lt;br /&gt;Signature PIN ....: forced&lt;br /&gt;Key attributes ...: 2048R 2048R 2048R&lt;br /&gt;Max. PIN lengths .: 32 32 32&lt;br /&gt;PIN retry counter : 3 0 3&lt;br /&gt;Signature counter : 0&lt;br /&gt;Signature key ....: [none]&lt;br /&gt;Encryption key....: [none]&lt;br /&gt;Authentication key: [none]&lt;br /&gt;General key info..: [none]&lt;br /&gt;huettel@pinacolada ~ $ &lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;That's it for now, part 2 will be about setting up the basic card data and gnupg functions, then we'll eventually proceed to ssh and pam...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
	<pubDate>Sat, 13 Apr 2013 18:22:16 +0000</pubDate>
	<dc:creator>Andreas K. Hüttel (dilfridge)</dc:creator>
</item>
<item>
	<title>Arun Raghavan: PulseAudio in GSoC 2013</title>
	<guid isPermaLink="false">http://arunraghavan.net/?p=1426</guid>
	<link>http://arunraghavan.net/2013/04/pulseaudio-in-gsoc-2013/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/3363059bc3358c080f3d11822f91b8e8.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;That’s right — PulseAudio will be participating in the Google Summer of Code again this year! We had a great set of students and projects last year, and you’ve already seen some their work in the last release.&lt;/p&gt;

&lt;p&gt;There are some more details on &lt;a href=&quot;http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-April/016899.html&quot;&gt;how to get involved&lt;/a&gt; on the mailing list. We’re looking forward to having another set of smart and enthusiastic new contributors this year!&lt;/p&gt;

&lt;p&gt;p.s.: Mentors and students from organisations (GStreamer and BlueZ, for example), do feel free to get in touch with us if you have ideas for projects related to PulseAudio that overlap with those other projects.&lt;/p&gt;</description>
	<pubDate>Thu, 11 Apr 2013 11:34:48 +0000</pubDate>
	<dc:creator>Arun Raghavan (ford_prefect)</dc:creator>
</item>
<item>
	<title>Patrick Lauer: GCC 4.8 - building everything?</title>
	<guid isPermaLink="false">http://gentooexperimental.org/~patrick/weblog/archives/2013-04.html#e2013-04-10T15_49_22.txt</guid>
	<link>http://gentooexperimental.org/~patrick/weblog/archives/2013-04.html#e2013-04-10T15_49_22.txt</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/9a7dd4df424714072d54afbd75799103.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;The last few days I've spent a few hundred CPU-hours building things with gcc 4.8. So far, alphabetically up to app-office/, it's been really boring.
&lt;br /&gt;
The amount of failing packages is definitely lower than with 4.6 or 4.7. And most of the current troubles are unrelated - for example the whole info page generation madness.
&lt;br /&gt;
At the current rate of filing and fixing bugs we should be able to unleash this new version on the masses really soon - maybe in about a month? (Or am I just too optimistic?)</description>
	<pubDate>Wed, 10 Apr 2013 13:49:22 +0000</pubDate>
	<dc:creator>Patrick Lauer (bonsaikitten)</dc:creator>
</item>
<item>
	<title>Denis Dupeyron: Forking ebuilds</title>
	<guid isPermaLink="false">http://blogs.gentoo.org/calchan/?p=126</guid>
	<link>http://blogs.gentoo.org/calchan/2013/04/09/forking-ebuilds/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/e63822cc4cd982efe55ef2b380522d06.jpg?s=100&amp;r=pg&amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Flarrythecow.gif&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Here’s a response to an email thread I sent recently. This was on a private alias but I’m not exposing the context or quoting anybody, so I’m not leaking anything but my own opinion which has no reason to be secret. &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
GLEP39 explicitly states that projects can be competing. I don’t see how you can exclude competing ebuilds from that since nothing prevents anybody from starting a project dedicated to maintaining an ebuild.&lt;/p&gt;
&lt;p&gt;So, if you want to prevent devs from pushing competing ebuilds to the tree you have to change GLEP 39 first. No arguing or “hey all, hear my opinion” emails on whatever list will be able to change that.&lt;/p&gt;
&lt;p&gt;Some are against forking ebuilds and object duplicating effort and lack of manpower. I will bluntly declare those people shortsighted. Territoriality is exactly what prevents us from getting more manpower. I’m interested in improving package X but developer A who maintains it is an ass and won’t yield on anything. At best I’ll just fork it in an overlay (with all the issues that having a package in an overlay entail, i.e. no QA, it’ll die pretty quickly, etc…), at worst I’m moving to Arch, or Exherbo, or else… What have we gained by not duplicating effort? We have gained negative manpower.&lt;/p&gt;
&lt;p&gt;As long as forked ebuilds can cohabit peacefully in the tree using say a virtual (note: not talking about the devs here but about the packages) we should see them as progress. Gentoo is about choice. Let consumers, i.e. users and devs depending on the ebuild in various ways, have that choice. They’ll quickly make it known which one is best, at which point the failing ebuild will just die by itself. Let me say it again: Gentoo is about choice.&lt;/p&gt;
&lt;p&gt;If it ever happened that devs of forked ebuilds could not cohabit peacefully on our lists or channels, then I would consider that a deliberate intention of not cooperating. As with any deliberate transgression of our rules if I were devrel lead right now I would simply retire all involved developers on the spot without warning. Note the use of the word “deliberate” here. It is important we allow devs to make mistakes, even encourage it. But we are adults. If one of us knowingly chooses to not play by the rules he or she should not be allowed to play. “Do not be an ass” is one of those rules. We’ve been there before with great success and it looks like we are going to have to go there again soon.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;There you have it. You can start sending me your hate mail in 3… 2… 1…&lt;/p&gt;</description>
	<pubDate>Wed, 10 Apr 2013 00:14:47 +0000</pubDate>
	<dc:creator>Denis Dupeyron (calchan)</dc:creator>
</item>

</channel>
</rss>
