<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Gentoo Universe</title>
  <updated>2012-05-16T11:04:45Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Welcome to &lt;b&gt;Gentoo Universe&lt;/b&gt;, an aggregation of weblog articles on all topics written by Gentoo developers. For a more refined aggregation of Gentoo-related topics only, you might be interested in &lt;a href="http://planet.gentoo.org/"&gt;Planet Gentoo&lt;/a&gt;.</name>
    <email>planet@gentoo.org</email>
  </author>
  <id>http://planet.gentoo.org/universe/atom.xml</id>
  <link href="http://planet.gentoo.org/universe/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://planet.gentoo.org/universe/" rel="alternate"/>

  <entry xml:lang="en-US">
    <id>urn:uuid:af417af7-264f-4e97-916c-7d33d8825e2a</id>
    <link href="http://blog.flameeyes.eu/2012/05/bad-branching-or-a-quagga-call-for-help" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">Bad branching, or a Quagga call for help</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>You might remember that for a while I worked on getting <a href="http://blog.flameeyes.eu/tag/quagga">quagga in shape</a> in Gentoo. The reason why I was doing that is that I needed quagga for the <span class="caps">ADSL</span> <span class="caps">PCI</span> modem I was using at home to work. Since right now I’m on the other side of the world, and my router decided to die, I’m probably going to stop maintaining Quagga altogether.</p>
<p>There are other reasons to be, which is probably why for a while we had a Quagga ebuild with invalid copyright headers (it was a contribution of somebody working somewhere, but over time it has been rewritten to the point it didn’t really made sense not to use our standard copyright header). From one side it’s the bad state of the documentation, which makes it very difficult to understand how to set up even the most obvious of the situations, but the main issue is the problem with the way the Quagga project is branching around.</p>
<p>So let’s take a step back and see one thing about Quagga: when I picked it up, there were two or three external patches configured by <span class="caps">USE</span> flags; these are usually very old and they are not included in the main Quagga sources. It’s not minimal patches either but they introduce major new functionality, and they are very intrusive (which is why they are not simply always included). This is probably due to the fact that Quagga is designed to be <em>the</em> routing daemon for Linux, with a number of possible protocol frontends connecting to the same backend (<code>zebra</code>). Over time instead of self-contained, easily out-of-date patches to implement new protocols, we started having whole new repositories (or at least branches) with said functionalities, thanks to the move to <span class="caps">GIT</span>, which makes it <a href="http://lwn.net/Articles/282261">too easy to fork</a> even if that’s not always a bad thing.</p>
<p>So now you get all these repositories with extra implementations, not all of which are compatible with one another, and most of which are not supported by upstream. Is that enough trouble? Not really. As I said before, Paul Jakma who’s the main developer of the project is of the idea that he doesn’t need a “stable” release, so he only makes release when he cares, and maintained that it’s the vendors’ task to maintain backports. On that spirit, some people started the <a href="https://github.com/Quagga-RE/quagga-RE/wiki">Release Engineering</a> for Quagga, but ….</p>
<p>When you think about a “Release Engineering” branch, you think of something akin to Greg’s stable kernel releases, so you get the latest version, and then you patch over it to make sure that it works fine, backporting the new features and fixes that <em>hit master</em>. Instead what happens here is that Quagga-RE forked off version 0.99.17 (we’re now to 0.99.21 on main, although Gentoo is still on .20 since I <em>really</em> can’t be bothered), and they are applying patches over that.</p>
<p>Okay so that’s still something, you get the backports from master on a known good revision is a good idea, isn’t it? Yes it would be a good idea if it wasn’t that … it’s actually <em>new features applied over the old version!</em> If you check you see that they have implemented a number of features in the RE branch which are not in master… to the result that you have a master that is neither a super-set nor a sub-set of the RE branch!</p>
<p>Add to this that some of the contributors of new code seems to have not clear what a license is and they cause discussion on the mailing list on the interpretation of the code’s license, and you can probably see why I don’t care about keeping this running, given I’m not using it in production anywhere.</p>
<p>Beforehand I was still caring about this knowing that Alin was using it, and he was co-maintaining it … but now that Alin has been retired, I’d be the sole maintainer of a piece of software that rarely works correctly, and is schizophrenic in its development, so I really don’t have extra time to spend on this.</p>
<p>So to finish this post with a <em>very</em> clear message: <strong>if you use Gentoo and rely on Quagga working for production usage, please step up <em>now</em> or it might just break without notice, as nobody’s caring for it!</strong> And if a Quagga maintainer reads this, please, <em>please</em> start making sense on your releases, I beg you.</p></div>
    </content>
    <updated>2012-05-16T01:29:35Z</updated>
    <published>2012-05-16T01:29:35Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <category scheme="http://blog.flameeyes.eu/tag/gentoo" term="Gentoo"/>
    <category scheme="http://blog.flameeyes.eu/tag/quagga" term="Quagga"/>
    <category scheme="http://blog.flameeyes.eu/tag/routing" term="Routing"/>
    <category scheme="http://blog.flameeyes.eu/tag/branching" term="Branching"/>
    <category scheme="http://blog.flameeyes.eu/tag/git" term="git"/>
    <category scheme="http://blog.flameeyes.eu/tag/forking" term="Forking"/>
    <category scheme="http://blog.flameeyes.eu/tag/projectmanagement" term="ProjectManagement"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7803863447082200741.post-8293028384930202399</id>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/8293028384930202399" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/8293028384930202399" rel="self" type="application/atom+xml"/>
    <link href="http://phajdan-jr.blogspot.com/2012/05/another-reason-why-selinuxs-neverallow.html" rel="alternate" title="Another reason why SELinux's neverallow is very useful" type="text/html"/>
    <title>Another reason why SELinux's neverallow is very useful</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I'm only beginning my experiments with SELinux, and neverallow (which is basically an assertion that prevents inserting certain allow rules) seemed a bit weird to me.<br/><br/>While experimenting with some local policies though, after an update (selinux-base-policy and other sec-policy packages) my local policy triggered a neverallow rule about sys_module capability being unnecessarily granted.<br/><br/>In fact, re-compiling the local policy and loading the new version made the error disappear. Now this is indeed useful, because binary policy files are arguably harder to inspect, and if they get out of sync with the base policy, it's easy to introduce errors like in this case.<br/><br/>Another conclusion is that learning takes time: it was the update that triggered this situation. I wonder what else awaits me in the SELinux land. ;-)<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7803863447082200741-8293028384930202399?l=phajdan-jr.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-05-14T12:05:17Z</updated>
    <published>2012-05-04T14:52:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="selinux"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <author>
      <name>Paweł Hajdan, Jr.</name>
      <email>noreply@blogger.com</email>
      <uri>https://profiles.google.com/115952810462621118454</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7803863447082200741</id>
      <category term="chromium"/>
      <category term="selinux"/>
      <category term="gentoo"/>
      <author>
        <name>Paweł Hajdan, Jr.</name>
        <email>noreply@blogger.com</email>
        <uri>https://profiles.google.com/115952810462621118454</uri>
      </author>
      <link href="http://phajdan-jr.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://phajdan-jr.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Paweł Hajdan's Dev Blog</title>
      <updated>2012-05-16T06:07:40Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7803863447082200741.post-4846861242482033536</id>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/4846861242482033536" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/4846861242482033536" rel="self" type="application/atom+xml"/>
    <link href="http://phajdan-jr.blogspot.com/2012/04/experimenting-with-selinux.html" rel="alternate" title="Experimenting with SELinux" type="text/html"/>
    <title>Experimenting with SELinux</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Recently I started experimenting with SELinux and created a new VM for that. I've used the excellent <a href="http://www.gentoo.org/proj/en/hardened/selinux/selinux-handbook.xml">Gentoo SELinux Handbook</a> and mostly got things running. I also submitted <a href="https://bugs.gentoo.org/show_bug.cgi?id=411005">bug #411005</a>, <a href="https://bugs.gentoo.org/show_bug.cgi?id=411365">bug #411365</a>, and <a href="https://bugs.gentoo.org/show_bug.cgi?id=411377">bug #411377</a> to make it even better.<br/><br/>SELinux may seem scary or complicated at the first glance, but my experience so far was pretty good. I did encounter some AVC denials, but that was fine. Here are my general notes about running a SELinux system:<br/><br/><ol><li><b>UNIX permissions work normally. </b>If UNIX permissions deny access, SELinux rules are not checked. Access is just denied, as expected. SELinux rules can result in more denials, but can never allow more than UNIX permissions.<br/></li><li><b>Permissive mode is really useful.</b> In that mode the denials are only logged, not enforced. The system should work as usual, and you have chance to note and fix eventual problems. You can actually switch between permissive and enforcing on the fly (setenforce 1, setenforce 0), so you can experiment whether things would work in enforcing mode and quickly switch back otherwise.<br/></li><li><b>Targeted policy is recommended for desktop systems. </b>It's part of general advice to "start small", but desktop systems have many more available applications anyway. Usually servers are minimal installations, so it's easier to write complete strict policy for them. Targeted SELinux policy uses <i>unconfined_t</i> context by default, which has no restrictions at all. Only selected applications have a specific policy just for them.<br/></li><li><b>You don't need to worry about SELinux users with targeted policy.</b> Another part that makes SELinux more complicated is that normal Linux users are mapped to SELinux users. This is important when using strict policy, but with the targeted one everyone is just mapped to <i>unconfined_u</i>.<br/></li><li><b>Most access decisions are made based just on the type.</b> Usual SELinux context, e.g. <i>unconfined_u:object_r:user_home_t</i> may seem quite complicated. However, corresponding allow rule would most likely only need to mention the type, i.e. <i>user_home_t </i>(to be precise, two types: types of the object and type of the subject).<br/></li><li><b>Many confusions are just matter of vocabulary.</b> For example, there is no practical difference between domain and type (<a href="http://billauer.co.il/selinux-policy-module-howto.html">source</a>). My understanding is that domains are types used to confine processes, so every domain is a type, but not every type is a domain.<br/></li><li><b>Allow rules are actually pretty simple.</b> For example <i>"allow example_t self:process execmem;".</i> Ignore the syntax, the meaning of each rule is really straightforward, and I think it's no different with alternative MAC (Mandatory Access Control) implementations. And when writing a policy for specific domain (in this case <i>example_t</i>), all of the rules are going to start with <i>"allow example_t ...".</i></li></ol><div>For further reading, I recommend <a href="http://www.imperialviolet.org/2009/07/14/selinux.html">SELinux from the inside out</a> and <a href="http://billauer.co.il/selinux-policy-module-howto.html">Breaking the Ice with SELinux</a>.</div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7803863447082200741-4846861242482033536?l=phajdan-jr.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-05-14T12:05:17Z</updated>
    <published>2012-04-10T18:58:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="selinux"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <author>
      <name>Paweł Hajdan, Jr.</name>
      <email>noreply@blogger.com</email>
      <uri>https://profiles.google.com/115952810462621118454</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7803863447082200741</id>
      <category term="chromium"/>
      <category term="selinux"/>
      <category term="gentoo"/>
      <author>
        <name>Paweł Hajdan, Jr.</name>
        <email>noreply@blogger.com</email>
        <uri>https://profiles.google.com/115952810462621118454</uri>
      </author>
      <link href="http://phajdan-jr.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://phajdan-jr.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Paweł Hajdan's Dev Blog</title>
      <updated>2012-05-16T06:07:40Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blogs.gentoo.org/scarabeus/?p=586</id>
    <link href="http://blogs.gentoo.org/scarabeus/2012/05/14/media-videolibav-stable-on-most-important-archs/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" rel="alternate" type="text/html"/>
    <title>media-video/libav stable on most important archs</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As summary says in Gentoo you can finally decide which implementation of libav you want, good old ffmpeg named flavor or the new and shiny libav one. 14 months after I introduced it to main tree we finally got it … <a href="http://blogs.gentoo.org/scarabeus/2012/05/14/media-videolibav-stable-on-most-important-archs/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As summary says in Gentoo you can finally decide which implementation of libav you want, good old ffmpeg named flavor or the new and shiny libav one.</p>
<p>14 months after I introduced it to main tree we finally got it stable almost everywhere (just ppc missing yet as usual :P). We did *censored* of work in order to support both implementations, introducing virtual package, proper (non-conditional) patches everywhere, etc. etc.</p>
<h2>So why should you switch your package?</h2>
<p>Basically it does not matter for you. We can say it can be done as personal prefference.<br/>
We can say that ffmpeg merges from libav tree and throws some experimental patches over it. Thats why my personal prefference is with libav folks as I don’t trust any idea of merging anything. Otoh the ffmpeg is the “orginal” (well most devs moved under libav) upstream thus they should get our trust for what they are doing.</p>
<p>Today from the distro PoV there are some distributions using libav (Debian, Sabayon) and also ffmpeg (openSUSE [external repo called packman]).</p>
<p>As we in Gentoo really are pro-choice just pick yourself and let us know how happy are you with such decision :-P</p>
<h2>So how can I switch?</h2>
<p>Just edit /etc/portage/package.use* to keep same useflag from media-video/ffmpeg to media-video/libav and run:</p>
<pre>emerge -C ffmpeg &amp;&amp; emerge -1v libav</pre>
<p>After this move you need to recompile all the packages depending on ffmpeg. This can be done with little help of revdep_rebuild or by using portage-2.2 and its sets by running:</p>
<pre>emerge @preserved-rebuild</pre>
<h2>packages that hard require media-video/ffmpeg</h2>
<p>As reported in the first comment the mplayer1 does now strictly require ffmpeg. So I did a little check to see which packages hard-require the other implementation and here is the list:</p>
<pre>games-arcade/performous-0.6.1 (media-video/ffmpeg)
media-libs/ffmpegsource-2.16.2.1_pre587 (&gt;=media-video/ffmpeg-0.9)
media-libs/mediastreamer-2.3.0-r1 (video ? media-video/ffmpeg)
media-plugins/audacious-plugins-3.0.3 (ffmpeg ? &gt;=media-video/ffmpeg-0.7.3)
media-plugins/audacious-plugins-3.1 (ffmpeg ? &gt;=media-video/ffmpeg-0.7.3)
media-plugins/audacious-plugins-3.1.1 (ffmpeg ? &gt;=media-video/ffmpeg-0.7.3)
media-plugins/audacious-plugins-3.2 (ffmpeg ? &gt;=media-video/ffmpeg-0.7.3)
media-plugins/audacious-plugins-3.2.1 (ffmpeg ? &gt;=media-video/ffmpeg-0.7.3)
media-plugins/audacious-plugins-3.2.2-r1 (ffmpeg ? &gt;=media-video/ffmpeg-0.7.3)
media-plugins/mediastreamer-x264-1.1.7 (media-video/ffmpeg)
media-plugins/mediastreamer-x264-1.3.3 (media-video/ffmpeg)
media-video/dv2sub-0.3 (kino ? media-video/ffmpeg)
media-video/mplayer-1.0_rc4_p20120213 (&gt;=media-video/ffmpeg-0.10)
media-video/mplayer-1.0_rc4_p20120405 (&gt;=media-video/ffmpeg-0.10.2)
media-video/mplayer-9999 (&gt;media-video/ffmpeg-0.10.2)
media-video/transcode-1.1.5-r2 (postproc ? media-video/ffmpeg)
net-libs/opal-2.2.11 (&gt;=media-video/ffmpeg-0.4.7)
net-libs/opal-3.6.8 (ffmpeg ? &gt;=media-video/ffmpeg-0.5[encode])
                    (x264 ? &gt;=media-video/ffmpeg-0.4.7)
net-libs/opal-3.6.8-r1 (ffmpeg ? &gt;=media-video/ffmpeg-0.5[encode])
                       (x264 ? &gt;=media-video/ffmpeg-0.4.7)
net-libs/openh323-1.18.0 (&gt;=media-video/ffmpeg-0.4.7)</pre>
<p>I bet most of these could work with libav, so if you are user of such package and want to try libav just edit the dependency to be on virtual/ffmpeg instead of the media-video/ffmpeg and see if it works.</p></div>
    </content>
    <updated>2012-05-14T09:03:40Z</updated>
    <category term="Gentoo Stuff"/>
    <author>
      <name>scarabeus</name>
    </author>
    <source>
      <id>http://blogs.gentoo.org/scarabeus</id>
      <link href="http://blogs.gentoo.org/scarabeus/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blogs.gentoo.org/scarabeus" rel="alternate" type="text/html"/>
      <subtitle>Random stuff you probably never wanted to hear about</subtitle>
      <title>Scarabeus' blag</title>
      <updated>2012-05-14T11:05:03Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:1127e0b9-05bd-47ac-8320-1f4ca2c0c404</id>
    <link href="http://blog.flameeyes.eu/2012/05/for-a-parallel-world-again-on-directories" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">For A Parallel World: Again on directories</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>Parallel build, and parallel install, is not hard, in the sense that it usually doesn’t give you new, undocumented challenges; it actually seems to be repeating the same problems over and over again. Sometimes <a href="https://bugs.gentoo.org/show_bug.cgi?id=279825">the exact same problem</a> — as it seems Ruby upstream applied the stupid Funtoo patch instead of mine, and that made it fail <em>again</em> on a parallel install. Luckily I was able to fix it <em>again</em> for good, and now is sent to the ruby-core mailing list.</p>
<p>Another issue came up today, when I noticed <a href="https://bugs.gentoo.org/show_bug.cgi?id=412299">a bug for OpenSC</a> which turned out to be a parallel install failure. While Michelangelo’s quick fix is actually a smart way to deal with it quickly, I’ve preferred applying the correct fix, which I also sent to the opensc-devel mailing list.</p>
<p>So this is just a quick post to remember you all: if you see failures such as “file already exists”, remember you’re in front of a parallel install failure, and you can see <a href="http://blog.flameeyes.eu/2009/08/for-a-parallel-world-theory-lesson-n-3-directory-dependencies">my previous blog</a> to understand how to fix it properly.</p></div>
    </content>
    <updated>2012-05-13T22:13:03Z</updated>
    <published>2012-05-13T22:13:03Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <category scheme="http://blog.flameeyes.eu/tag/foraparallelworld" term="&#x201C;For A Parallel World&#x201D; series of articles"/>
    <category scheme="http://blog.flameeyes.eu/tag/make" term="Make"/>
    <category scheme="http://blog.flameeyes.eu/tag/ruby" term="Ruby"/>
    <category scheme="http://blog.flameeyes.eu/tag/opensc" term="OpenSC"/>
    <category scheme="http://blog.flameeyes.eu/tag/gentoo" term="Gentoo"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:f5ff256f-1a3e-4bcc-aba2-e4ecb13e2c5a</id>
    <link href="http://blog.flameeyes.eu/2012/05/ruby-pains-may-2012-edition" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">Ruby pains, May 2012 edition</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>While I’m still trying to figure out how to get the logs analysed for the tinderbox, I’ve been spending some time to work on Gentoo’s Ruby packaging again, which is something that happens from time to time as you know.</p>
<p>In this case the spark is the fact that I want to make sure that my systems work with Ruby 1.9. Mostly, this is because the blog engine I’m using (Typo) is no longer supported on Ruby 1.8, and while I did spend some time to get it to work, I’m not interested in keeping it that way forever.</p>
<p>I started by converting my <a href="http://blog.flameeyes.eu/2012/01/patching-up-a-monster-of-frankeinsteinian-proportions">box database</a> so that it would run on Ruby 1.9. This was also particularly important because Mongoid 3 is also not going to support Ruby 1.8. This was helped by the fact that finally bson-1.6 and mongo-1.6 are working correctly with Ruby 1.9 (the previous minor, 1.5, was failing tests). Next step of course will be to get them working on JRuby.</p>
<p>Unfortunately, while now my application is working fine with Ruby 1.9, Typo is still a no-go… reason? It still relies on Rails 3.0, which is not supported on 1.9 in Gentoo, mostly due to its dependencies. For instance it still wants i18n-0.5, which doesn’t work on 1.9, and it tries to get ruby-debug in (which is handled in different gems altogether for Ruby 1.9, don’t ask). The end result is that I’ve still not migrated my blog to the server running 1.9, and I’m not sure when and if that will happen, at this point.. but things seem to fall into place, at least a bit.</p>
<p>Hopefully, before end of the summer, Ruby 1.9 will be the default Ruby interpreter for Gentoo, and next year we’ll probably move off Ruby 1.8 altogether. At some later point, I’d also like to try using JRuby for Rails, since that seems to have its own advantages — my only main problem is that I have to use <span class="caps">JDBC</span> to reach PostgreSQL, as the pg gem does not work (and that’s upsetting as that is what my symbol collision analysis script is using).</p>
<p>So, these are my Ruby 1.9 pains for now, I hope to have better news in a while.</p></div>
    </content>
    <updated>2012-05-12T18:26:19Z</updated>
    <published>2012-05-12T18:26:19Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <category scheme="http://blog.flameeyes.eu/tag/ruby" term="Ruby"/>
    <category scheme="http://blog.flameeyes.eu/tag/gentoo" term="Gentoo"/>
    <category scheme="http://blog.flameeyes.eu/tag/rails" term="Rails"/>
    <category scheme="http://blog.flameeyes.eu/tag/typo" term="Typo"/>
    <category scheme="http://blog.flameeyes.eu/tag/mongoid" term="Mongoid"/>
    <category scheme="http://blog.flameeyes.eu/tag/mongodb" term="MongoDB"/>
    <category scheme="http://blog.flameeyes.eu/tag/rubygems" term="RubyGems"/>
    <category scheme="http://blog.flameeyes.eu/tag/rubyng" term="RubyNG"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7803863447082200741.post-4849914680289293256</id>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/4849914680289293256" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/4849914680289293256" rel="self" type="application/atom+xml"/>
    <link href="http://phajdan-jr.blogspot.com/2012/05/ffmpeg-saves-day-mts-files.html" rel="alternate" title="ffmpeg saves the day (.mts files)" type="text/html"/>
    <title>ffmpeg saves the day (.mts files)</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you need to convert .mts files to .mov (so that e.g. iMovie can import them), I found ffmpeg to be the best tool for the task (I don't want to install and run "free format converters" that are usually Windows-only and come from untrusted sources). This post is inspired by <a href="http://blog.laaz.org/tech/2010/03/18/imovie-and-mts/">iMovie and MTS</a> blog post, but I think my final bash one-liner is better and simpler:<br/><br/><span style="font-family: 'Courier New', Courier, monospace;">for x in *.MTS; do ffmpeg -i ${x} -vcodec mpeg1video -acodec mp2 -ac 2 -sameq ${x/.MTS/.mov}; done</span><br/><br/>Note the useful bash substitution of extension, ${x/.MTS/.mov}. Enjoy!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7803863447082200741-4849914680289293256?l=phajdan-jr.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-05-12T11:47:36Z</updated>
    <published>2012-05-12T11:47:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <author>
      <name>Paweł Hajdan, Jr.</name>
      <email>noreply@blogger.com</email>
      <uri>https://profiles.google.com/115952810462621118454</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7803863447082200741</id>
      <category term="chromium"/>
      <category term="selinux"/>
      <category term="gentoo"/>
      <author>
        <name>Paweł Hajdan, Jr.</name>
        <email>noreply@blogger.com</email>
        <uri>https://profiles.google.com/115952810462621118454</uri>
      </author>
      <link href="http://phajdan-jr.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://phajdan-jr.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Paweł Hajdan's Dev Blog</title>
      <updated>2012-05-16T06:07:40Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://arunraghavan.net/?p=1333</id>
    <link href="http://arunraghavan.net/2012/05/pulseaudio-2-0-twice-the-goodness/" rel="alternate" type="text/html"/>
    <title>PulseAudio 2.0: Twice The Goodness!</title>
    <summary>That’s right, it’s finally out! Thanks go out to all our contributors for the great work (there’s too many — see the shortlog!). The highlights of the release follow. Head over to the announcement or release notes for more details. Dynamic sample rate switching by Pierre-Louis Bossart: This makes PulseAudio even more power efficient. Jack [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>That’s right, it’s finally out! Thanks go out to all our contributors for the great work (there’s too many — see the shortlog!). The highlights of the release follow. Head over to the <a href="http://lists.freedesktop.org/archives/pulseaudio-discuss/2012-May/013538.html">announcement</a> or <a href="http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/2.0">release notes</a> for more details.</p>

<ul>
<li><p>Dynamic sample rate switching by Pierre-Louis Bossart: This makes PulseAudio even more power efficient.</p></li>
<li><p>Jack detection by David Henningsson: Separate volumes for your laptop speakers and headphones, and more stuff coming soon.</p></li>
<li><p>Major echo canceller improvements by me: Based on the <tt>WebRTC.org</tt> audio processing library, we now do better echo cancellation, remove the need to fiddle with the mic volume knob and have fixed <acronym title="Acoustic Echo Cancellation">AEC</acronym> between laptop speakers and a USB webcam mic.</p></li>
<li><p>A virtual surround module by Niels Ole Salscheider: Try it out for some virtual surround sound shininess!</p></li>
<li><p>Support for Xen guests by Giorgos Boutsiouki: Should make audio virtualisation in guests more efficient.</p></li>
</ul>

<p><a href="http://arunraghavan.net/wp-content/uploads/pa-releases.jpg"><img alt="We don't always make a release, but when we do, it's awesome" class="aligncenter size-medium wp-image-1334" height="300" src="http://arunraghavan.net/wp-content/uploads/pa-releases-239x300.jpg" title="pa-releases" width="239"/></a></p>

<p>Special thanks from me to <a href="http://www.collabora.com/projects/pulseaudio/">Collabora</a> for giving me some time for upstream work.</p>

<p>Packages are available on Gentoo, Arch, and probably soon on other distributions if they’re not already there.</p></div>
    </content>
    <updated>2012-05-12T10:50:34Z</updated>
    <category term="Blog"/>
    <category term="collabora"/>
    <category term="f/oss"/>
    <category term="gentoo"/>
    <category term="gnome"/>
    <category term="pulseaudio"/>
    <author>
      <name>Arun</name>
    </author>
    <source>
      <id>http://arunraghavan.net</id>
      <link href="http://arunraghavan.net/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://arunraghavan.net" rel="alternate" type="text/html"/>
      <subtitle>Extremely pithy tagline here</subtitle>
      <title>Arun Raghavan</title>
      <updated>2012-05-12T11:04:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:d2438b28-9206-4025-b4ca-bf11d19a2ead</id>
    <link href="http://blog.flameeyes.eu/2012/05/artificial-regions-redux" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">Artificial Regions Redux</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>It’s now over two months ago that I landed in the US with the idea of doing my job, do it well, and then consider moving here if the job was right. And two months ago I wrote about <a href="http://blog.flameeyes.eu/2012/03/artificial-regions">some stupid limitations</a> of services based on where you were when you registered.</p>
<p>Now, even though I’m not here stable yet, I’m getting there: I have a bank account and a check card, and I have some billing address that I can use. So finally for instance I got access to Amazon’s App Store, which is not enabled even if you’re paying for Amazon Prime, as long as you don’t set your primary form of payment to a credit card (and address) <em>in the US</em>.</p>
<p>This should be easy, shouldn’t it? Not really; as it turns out, once I switched that around, Amazon stopped letting me buy Italian Kindle books…. which sounds silly given that they let me buy them before, and I haven’t <em>removed</em> my Italian credit cards, just not set them as default! Furthermore I’m not stopped from accessing them if I had them before.</p>
<p>The absurdities don’t stop here though; since I now have a check card in the US, I moved my iTunes Store account over… this actually enabled a few more functionalities, such as the “iTunes in the Cloud” and the fact that I can now re-download my purchased music as well as Books and Apps (which is the only two items that can be re-downloaded in Italy), but on the other hand, it threw off the previous purchases, showing all my purchased Apps as not available. While I was neither expecting nor hoping that my previous music purchases were available, I was pissed by the fact that it asked me to purchase again the software, especially things like TeamViewer, which is quite expensive. Luckily Apple’s tech support solved the issue relatively quickly.</p>
<p>So there you move to <del>Android Market</del> Google Play, that actually enabled me access to the US software simply by popping in the AT&amp;T <span class="caps">SIM</span> card… well, while they <em>did</em> enable access to the US software, they still thought better to keep me off the Google Play Music store, as I was still registered in Italy. And while at it, when I actually purchased an App there… it ended up being charged in euros instead of dollars — this might sound strange, but it means that you pay <em>more</em> for it simply because the bank is going to ask you extra money for the currency exchange. Technically, the <a href="http://en.wikipedia.org/wiki/Credit_card_number"><span class="caps">MII</span></a> should tell them which currency the card is using by default, but instead of relying on that, they rely on your billing address… which they also don’t validate against the bank (as Newegg does instead).</p>
<p>Oh well… at least things seem to be more or less sane by now: most of the Italian books I had in my Amazon wishlist are available <a href="http://ebook.illibraio.it/servizi/ecommerce/edigita/indice.aspx">through the publishers’ group webshop</a> which also provide most of them <strong>without <span class="caps">DRM</span></strong>. Looks like Amazon is making it much nicer for everybody to buy eBooks now. Not all of them of course, but it’s still a step in the right direction.. and at the same time I’m very happy with buying them on the Kindle if I’m on the go, as I’m sure they are not going to <a href="http://blog.flameeyes.eu/2010/05/cooling-down-about-ebooks-excitement">kick me in my balls</a> like Kobo did with The Salmon of Doubt (which I’m currently reading, after <em>buying it again</em>).</p></div>
    </content>
    <updated>2012-05-11T18:37:58Z</updated>
    <published>2012-05-11T18:37:58Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Personal" scheme="http://blog.flameeyes.eu/category/personal" term="personal"/>
    <category scheme="http://blog.flameeyes.eu/tag/amazon" term="Amazon"/>
    <category scheme="http://blog.flameeyes.eu/tag/android" term="Android"/>
    <category scheme="http://blog.flameeyes.eu/tag/creditcards" term="CreditCards"/>
    <category scheme="http://blog.flameeyes.eu/tag/google" term="Google"/>
    <category scheme="http://blog.flameeyes.eu/tag/kindle" term="Kindle"/>
    <category scheme="http://blog.flameeyes.eu/tag/play" term="Play"/>
    <category scheme="http://blog.flameeyes.eu/tag/apple" term="apple"/>
    <category scheme="http://blog.flameeyes.eu/tag/ebook" term="eBook"/>
    <category scheme="http://blog.flameeyes.eu/tag/itunes" term="iTunes"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1734</id>
    <link href="http://blog.hartwork.org/?p=1734" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Setting user name and email in Mercurial</title>
    <summary>As I am rather new to the use of Mercurial it took me a bit of time to find an equivalent to Git’s # git config --global user.name ..... # git config --global user.email ..... earlier today. The answer is editing ~/.hgrc like [ui] username = First Last &lt;mail@example.org&gt; as I learned here eventually. I [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As I am rather new to the use of Mercurial it took me a bit of time to find an equivalent to Git’s</p>
<pre># git config --global user.name .....
# git config --global user.email .....</pre>
<p>earlier today. The answer is editing <tt>~/.hgrc</tt> like</p>
<pre>[ui]
username = First Last &lt;mail@example.org&gt;</pre>
<p>as I <a href="https://confluence.atlassian.com/display/BITBUCKET/Setting+your+username+for+bitbucket+actions">learned here</a> eventually.</p>
<p>I should have learned it from the <a href="http://mercurial.selenic.com/wiki/GitConcepts#Command_equivalence_table">Command equivalence table</a>, though.<br/>
So I have added an entry myself now to speed up whoever runs into that problem next.</p></div>
    </content>
    <updated>2012-05-11T09:49:43Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog</title>
      <updated>2012-05-11T10:05:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>http://www.gentoo.org/news/20120508-FOSSCOMM-2012.xml</id>
    <link href="http://www.gentoo.org/news/20120508-FOSSCOMM-2012.xml" rel="alternate" type="text/html"/>
    <title>Gentoo at FOSSCOMM 2012</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><b>What?</b> FOSSCOMM 2012
</p><p><b>When?</b> 12th, May 2012 - 13th, May 2012</p><p><b>Where?</b> Technological Educational Institute of Serres, Greece 
</p><p><a href="http://serres.fosscomm.gr/">FOSSCOMM 2012</a> is almost here, and
Gentoo will be there!
</p><p>
Check out our Gentoo presentation and workshop on DistCC/CrossDev. We will have
a booth with Gentoo promo stuff, flyers, stickers, badges, live CD's, DVD's
and much more! Whether you're a developer, user, or simply curious, be sure and
stop by. See you there!
</p><p><span>Dimitris Papapoulios and Pavlos Ratis contributed the draft for this announcement.</span></p></div>
    </summary>
    <updated>2012-05-10T15:04:59Z</updated>
    <category term="gentoo"/>
    <author>
      <name>David Abbott</name>
    </author>
    <source>
      <id>http://www.gentoo.org/</id>
      <author>
        <name/>
        <email>www@gentoo.org</email>
      </author>
      <link href="http://www.gentoo.org/" rel="alternate" type="text/html"/>
      <link href="http://www.gentoo.org/rdf/en/gentoo-news.rdf" rel="self" type="application/rdf+xml"/>
      <subtitle>Gentoo Linux News</subtitle>
      <title>Gentoo Linux News</title>
      <updated>2012-05-10T15:04:59Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blogs.gentoo.org/scarabeus/?p=570</id>
    <link href="http://blogs.gentoo.org/scarabeus/2012/05/09/plugins-foundations-laid-down/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" rel="alternate" type="text/html"/>
    <title>Plugins foundations laid down</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As from today we have new app-officeext category that will be holding various office extensions. You all for sure know that when I say office I mean libreoffice/openoffice extensions. This means that we can now easily add new and shiny … <a href="http://blogs.gentoo.org/scarabeus/2012/05/09/plugins-foundations-laid-down/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As from today we have new app-officeext category that will be holding various office extensions. You all for sure know that when I say office I mean libreoffice/openoffice extensions. This means that we can now easily add new and shiny ones if you desire so. Please open bugs for your favorite extensions and we will ship them ASAP (also prefferably open stable requests for the current ones so I don’t have to remember to do it :P).</p>
<p>You might be able to find some fancy extensions there already that might help you improve your workflow with libreoffice.</p>
<p>Here is the list I will do this afternoon as they are part of the libreoffice core we never bothered to provide yet:<br/>
google-docs ; barcode ; diagram ; hunart ; numbertext ; oooblogger ; typo ; validator ; watch-window ; ct2n (requres two patches from lo tree -&gt; repack).</p>
<h2>Apache Office 3.4 released</h2>
<p>From other news there is now <a href="http://www.openoffice.org/news/aoo34.html">openoffice 3.4 release made by folks from Apache Foundation</a>. Gentoo will not package this release as it is basically equal to what we would call libreoffice-3.4.1 with some missing features and lacking all the build fixes that were put in lo-3.4.</p>
<p>But by the Gentoo here I just mean that I am epically lazy to solve again all the build issues 3.3 had. So if anyone is willing to maintain and package it we will gladly add it to the main tree (with the named person as maitnainer). You don’t even have to be a developer, there is a nice proxy-maintainer project so poke me mail if you are interested.</p>
<p>What we could also do is to add hardmasked binary version.That stuff contains security issues and is basically the same like old libreoffice/openoffice binaries which tried to contain everything from python to icu. Also for this someone interested is required. So mail me/comment here.</p>
<h2>Dictionaries</h2>
<p>There will be progress when I find some more time. New simpler eclass for myspell (actually hunspell) dictionaries is in place and I just need to check and verify all the releases. For this I got nice script from Caolan McNamara (LO guy working for Redhat) that contains upstreams and versioning schemes for most of the languages.</p>
<p>This will also be used with utilizing the euscan tool writen by Corentin Chary to watch for newer versions. Where I will also try to bump those with compatible licensing directly in dictionaries repo of libreoffice so you will be able to enjoy the spellchecking  even on fancy platforms that none sane would use (riiiight? :-P).</p>
<h2>cups dependency</h2>
<p>Lots of you lads whined^Wcomplained about the fact cups is actual hard dependency now in libreoffice. With help of one brave lad (Dave Flogeras) we managed to bake configure switch for cups again. It is currently under review on libreoffice mailinglist (not really it already passed and I was just lazy to commit it in which I will do this afternoon). After it is included our live ebuild will again have switch to disable printing completely.</p>
<h2>Internal lo extensions</h2>
<p>Libreoffice itself has some internal extensions that are built as part of the build process. In history those were never built, or always built, depending on the complexity of their deps.</p>
<p>This now changes. There is new LIBREOFICE_EXTENSIONS use expand variable that can be used same way like VIDEO_CARDS in make.conf.</p>
<p>All of the extensions are already in except reportbuilder, because I was unable to find some java packages (I mailed java team for help here so those hopefully will be identified soon).</p>
<p>If you are interested in contributing to libreoffice consult various comments I put in the live ebuild as I am too sexy^Wlazy to open easy hacks on freedesktop bugzilla. Any help wrt unbundling stuff is welcome. Currently there is even problem with building javascript engine interface because bundled rhino uses too patched debug interfaces (one can either remove it or make work on the currently provided one) so if you like javascript and java you can have fun.</p></div>
    </content>
    <updated>2012-05-09T09:55:08Z</updated>
    <category term="Gentoo Stuff"/>
    <author>
      <name>scarabeus</name>
    </author>
    <source>
      <id>http://blogs.gentoo.org/scarabeus</id>
      <link href="http://blogs.gentoo.org/scarabeus/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blogs.gentoo.org/scarabeus" rel="alternate" type="text/html"/>
      <subtitle>Random stuff you probably never wanted to hear about</subtitle>
      <title>Scarabeus' blag</title>
      <updated>2012-05-14T11:05:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7849507270164967036.post-6390001245050195667</id>
    <link href="http://dilfridge.blogspot.com/feeds/6390001245050195667/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/>
    <link href="http://dilfridge.blogspot.com/2012/05/cmake-is-getting-verbose.html#comment-form" rel="replies" title="0 Comments" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default/6390001245050195667" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default/6390001245050195667" rel="self" type="application/atom+xml"/>
    <link href="http://dilfridge.blogspot.com/2012/05/cmake-is-getting-verbose.html" rel="alternate" title="CMake is getting verbose" type="text/html"/>
    <title>CMake is getting verbose</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Public announcement: we've just changed the default settings in cmake-utils.eclass, and as a result now cmake-based builds will display a verbose build log instead of the terse "one line per file" version. In the same way as with autotools, the entire compiler / linker / whatever command line is printed, which should simplify bug hunting a lot...<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7849507270164967036-6390001245050195667?l=dilfridge.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-05-08T23:12:02Z</updated>
    <published>2012-05-08T23:11:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <author>
      <name>Andreas</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12314847423280010909</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7849507270164967036</id>
      <category term="arm"/>
      <category term="graphene"/>
      <category term="astronomy"/>
      <category term="gpib"/>
      <category term="sysadmin"/>
      <category term="books"/>
      <category term="gentoo"/>
      <category term="ostpforte"/>
      <category term="maths"/>
      <category term="scifi"/>
      <category term="humour"/>
      <category term="france"/>
      <category term="art"/>
      <category term="cups"/>
      <category term="digikam"/>
      <category term="photos"/>
      <category term="spain"/>
      <category term="romanesque"/>
      <category term="nobelprize"/>
      <category term="stupidity"/>
      <category term="kde"/>
      <category term="err-what?"/>
      <category term="meta"/>
      <category term="archaeology"/>
      <category term="phdcomics"/>
      <category term="italy"/>
      <category term="food"/>
      <category term="comp-sci"/>
      <category term="regensburg"/>
      <category term="physics"/>
      <category term="nanotubes"/>
      <category term="architecture"/>
      <category term="work"/>
      <category term="travelling"/>
      <category term="research-group"/>
      <category term="hardened"/>
      <author>
        <name>Andreas</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12314847423280010909</uri>
      </author>
      <link href="http://dilfridge.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://dilfridge.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>the dilfridge blog</title>
      <updated>2012-05-11T18:24:05Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://gentooexperimental.org/~patrick/weblog/archives/2012-05.html#e2012-05-07T07_15_20.txt</id>
    <link href="http://gentooexperimental.org/~patrick/weblog/archives/2012-05.html#e2012-05-07T07_15_20.txt" rel="alternate" type="text/html"/>
    <title>How not to treat your customers</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Here's a funny game - let's try to use a LSI controller from the command line in Linux.
<br/><br/>
First difficulty: Since a short while ago all downloads are behind a registration wall. 
Ok, no biggie, let's register then (grumble, grumble, moan.)
<br/><br/>
The registration demands a password containing at least seven characters, including at least one non-alphanumeric. Yey!
<br/><br/>
Then there's the Captcha, which looks quite amusing, but ... erf. After three or four guesses you might even get it right.
<br/><br/>
Fast forward to the driver download page. The specific model (according to lspci) doesn't even exist. Oh, haha, u so funny! 
But no worry, all the MegaRAID models share the same driver.
<br/><br/>
Now, here it gets a bit esoteric:
<pre>$ file 8.02.21_MegaCLI.zip 
8.02.21_MegaCLI.zip: Zip archive data, at least v2.0 to extract
$ unzip 8.02.21_MegaCLI.zip 
Archive:  8.02.21_MegaCLI.zip
  inflating: 8.02.21_MegaCLI.txt     
  inflating: 8.02.21_Windows_MegaCLI/MegaCli.exe  
  inflating: 8.02.21_Windows_MegaCLI/MegaCli64.exe  
  inflating: 8.02.21_Windows_MegaCLI/Readme.txt  
  inflating: 8.02.21_VMware_MegaCLI/MegaCli  
 extracting: 8.02.21_VMware_MegaCLI/MegaCli.zip  
  inflating: 8.02.21_Solaris_MegaCLI/MegaCli  
  inflating: 8.02.21_Solaris_MegaCLI/MegaCli.pkg  
  inflating: 8.02.21_Solaris_MegaCLI/readme.txt  
 extracting: 8.02.21_Linux_MegaCLI/MegaCliLin.zip  
  inflating: 8.02.21_Linux_MegaCLI/readme.txt  
  inflating: 8.02.21_FreeBSD_MegaCLI/MegaCli  
  inflating: 8.02.21_FreeBSD_MegaCLI/MegaCli64  
  inflating: 8.02.21_DOS_MegaCLI/LICENSE_DOS32A.txt  
  inflating: 8.02.21_DOS_MegaCLI/MegaCli.exe
</pre>
... wow, we got a Solaris driver for free, and a linux ... zipfile? eh whut?
<pre>$ unzip 8.02.21_Linux_MegaCLI/MegaCliLin.zip
Archive:  8.02.21_Linux_MegaCLI/MegaCliLin.zip
  inflating: MegaCli-8.02.21-1.noarch.rpm  
  inflating: Lib_Utils-1.00-09.noarch.rpm 
</pre>
Oh, right, not really a zipfile but an rpm. My bad! haha! oh ... uhm ... :(
<pre>$ rpm2tar MegaCli-8.02.21-1.noarch.rpm
$ tar --list -f MegaCli-8.02.21-1.noarch.tar 
./
./opt/
./opt/MegaRAID/
./opt/MegaRAID/MegaCli/
./opt/MegaRAID/MegaCli/MegaCli                                                                                                                                                                                                               
./opt/MegaRAID/MegaCli/MegaCli64
$ file ./opt/MegaRAID/MegaCli/MegaCli64 
./opt/MegaRAID/MegaCli/MegaCli64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.0, stripped
</pre>
zipception! it's a single binary, in an rpm, in a zip, in a zip, on a protected website!
And look, "for GNU/Linux 2.4.0" - it's built to run everywhere. Even on Really Ancient Computers.
<br/><br/>
So, uhm, taddah:
<pre>$ ./opt/MegaRAID/MegaCli/MegaCli64 
Fatal error - Command Tool invoked with wrong parameters
Exit Code: 0x01
</pre>
<br/><br/>
And now you know why so many sysadmins are alcoholics.
<br/><br/>
(Bonus feature: We're not allowed to mirror any of these highly proprietary files, so every single person trying to interact with a LSI "Raid" controller on Linux gets to experience that)</div>
    </summary>
    <updated>2012-05-07T05:15:20Z</updated>
    <author>
      <name>Patrick</name>
    </author>
    <source>
      <id>http://gentooexperimental.org/~patrick/weblog</id>
      <author>
        <name>Patrick</name>
      </author>
      <link href="http://gentooexperimental.org/~patrick/weblog" rel="alternate" type="text/html"/>
      <link href="http://gentooexperimental.org/~patrick/weblog/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>assorted horseparts with topping</subtitle>
      <title>Patrick's playground</title>
      <updated>2012-05-07T05:15:34Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1728</id>
    <link href="http://blog.hartwork.org/?p=1728" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Fwd: Frans de Waal: Moral behavior in animals</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p/><center/><p/></div>
    </content>
    <updated>2012-05-06T21:15:10Z</updated>
    <category term="Talks"/>
    <category term="TED talks"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog</title>
      <updated>2012-05-11T10:05:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://armin762.wordpress.com/?p=219</id>
    <link href="http://armin762.wordpress.com/2012/05/05/pandaboard-documentation-and-overlay-updated/" rel="alternate" type="text/html"/>
    <title>Pandaboard documentation and overlay updated</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Hi all, After some months of people asking me to update the documentation of the pandaboard, i’ve finally done it. The previous documentation was a bit outdated since the Pandaboard ES came into scene. The problem was on the bootloader part, which didn’t work because they stopped developing X-Loader and integrated it to U-Boot. With [...]<img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=armin762.wordpress.com&amp;blog=10640460&amp;post=219&amp;subd=armin762&amp;ref=&amp;feed=1" width="1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Hi all,</p>
<p>After some months of people asking me to update the documentation of the pandaboard, i’ve finally done it. The previous documentation was a bit outdated since the <a href="http://pandaboard.org/content/pandaboard-es">Pandaboard ES</a> came into scene. </p>
<p>The problem was on the bootloader part, which didn’t work because they stopped developing X-Loader and integrated it to U-Boot. With an updated U-Boot this problem is solved.</p>
<p>Also on the drivers part, ubuntu released ubuntu 12.04, precise pangolin, with updated packages for the graphics part and a new kernel version. I follow whats stable on ubuntu, so if there’s some problem one could reproduce it with ubuntu and then complain to ubuntu developers <img alt=":P" class="wp-smiley" src="http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif"/>  After all, TI developers don’t get paid to support Gentoo but to support Ubuntu…</p>
<p>Anyway, ubuntu 12.04 switched from softfp toolchain to hardfloat toolchain(which Debian and Ubuntu call armhf), this means that the graphics drivers which are closed-source must have their binary blobs+libraries built as hardfloat. This means that if you want to use the new versions, you must reinstall your system with a hardfloat stage3…</p>
<p>More on the graphics part…until now since some libraries provided by the package collided with the ones from mesa, i had to remove them. Thanks to lu_zero, eselect-opengl now supports dynamic switching of those libraries, however i still have to fix the ebuild to use this new function.</p>
<p>The new guide is here: <a href="http://dev.gentoo.org/~armin76/arm/pandaboard/install.xml">http://dev.gentoo.org/~armin76/arm/pandaboard/install.xml</a> … its the same link as the older one <img alt=":)" class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif"/> </p>
<p>I’d like to thank to the different people that reported me what they had to do to make it work with the Pandaboard ES, since i don’t have one. Thanks!</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/armin762.wordpress.com/219/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/armin762.wordpress.com/219/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/armin762.wordpress.com/219/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/armin762.wordpress.com/219/"/></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/armin762.wordpress.com/219/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/armin762.wordpress.com/219/"/></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/armin762.wordpress.com/219/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/armin762.wordpress.com/219/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/armin762.wordpress.com/219/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/armin762.wordpress.com/219/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/armin762.wordpress.com/219/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/armin762.wordpress.com/219/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/armin762.wordpress.com/219/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/armin762.wordpress.com/219/"/></a> <img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=armin762.wordpress.com&amp;blog=10640460&amp;post=219&amp;subd=armin762&amp;ref=&amp;feed=1" width="1"/></div>
    </content>
    <updated>2012-05-05T16:26:09Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Raúl Porcel</name>
    </author>
    <source>
      <id>http://armin762.wordpress.com</id>
      <logo>http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://armin762.wordpress.com/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://armin762.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://armin762.wordpress.com/osd.xml" rel="search" title="Armin76's Blog" type="application/opensearchdescription+xml"/>
      <link href="http://armin762.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Gentoo</subtitle>
      <title>Armin76's Blog</title>
      <updated>2012-05-07T19:04:41Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.siphos.be/?p=604</id>
    <link href="http://blog.siphos.be/2012/05/keeping-selinux/" rel="alternate" type="text/html"/>
    <title>Keeping /selinux</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Just a very quick paragraph on a just-reported issue: if you upgrade your SELinux utilities to the latest version and you switch from /selinux to /sys/fs/selinux as the mountpoint for the SELinux file system, you might get into issues. Apparently, … <a href="http://blog.siphos.be/2012/05/keeping-selinux/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Just a very quick paragraph on a just-reported issue: if you upgrade your SELinux utilities to the latest version <em>and</em> you switch from <tt>/selinux</tt> to <tt>/sys/fs/selinux</tt> as the mountpoint for the SELinux file system, you might get into issues. Apparently, <strong>init</strong> (which is responsible for mounting the SELinux file system through a call to libselinux) is trying to mount it on – well yes – <tt>/sys/fs/selinux</tt> but at that time, <tt>/sys</tt> is not mounted yet.
</p>
<p>
I haven’t been able to reproduce just yet, because I just recently had to move all my systems to use an initramfs (thank you you-need-an-initramfs-when-you-have-a-separate-usr-partition) which premounts /sys. But the current workaround should be to keep <tt>/selinux</tt> for now. The utilities support it still, and that gives me some time to look and investigate the issue.</p></div>
    </content>
    <updated>2012-05-04T20:26:42Z</updated>
    <category term="Hardened"/>
    <category term="SELinux"/>
    <author>
      <name>swift</name>
    </author>
    <source>
      <id>http://blog.siphos.be</id>
      <link href="http://blog.siphos.be/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blog.siphos.be" rel="alternate" type="text/html"/>
      <subtitle>Sven Vermeulen's web log</subtitle>
      <title>Simplicity is a form of art...</title>
      <updated>2012-05-04T21:05:24Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://arunraghavan.net/?p=1329</id>
    <link href="http://arunraghavan.net/2012/05/androidifying-your-autotools-build-the-easy-way/" rel="alternate" type="text/html"/>
    <title>Androidifying your autotools build the easy way</title>
    <summary>Derek Foreman has finally written up a nice blog post about his Androgenizer tool, which we’ve used for porting PulseAudio, GStreamer, Wayland, Telepathy and most of their dependencies to Android. If you’ve got an autotools-based project that you’d like to build on Android, whether on the NDK or system-wide this is really useful.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://derekforeman.blogspot.ca/">Derek Foreman</a> has finally written up a nice blog post about his <a href="http://cgit.collabora.com/git/android/androgenizer.git/tree/README.txt">Androgenizer</a> tool, which we’ve used for porting PulseAudio, GStreamer, Wayland, Telepathy and most of their dependencies to Android.</p>

<p>If you’ve got an autotools-based project that you’d like to build on Android, whether on the NDK or system-wide this is <em>really</em> useful.</p></div>
    </content>
    <updated>2012-05-01T19:48:15Z</updated>
    <category term="Blog"/>
    <category term="android"/>
    <category term="collabora"/>
    <category term="f/oss"/>
    <category term="pulseaudio"/>
    <category term="work"/>
    <author>
      <name>Arun</name>
    </author>
    <source>
      <id>http://arunraghavan.net</id>
      <link href="http://arunraghavan.net/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://arunraghavan.net" rel="alternate" type="text/html"/>
      <subtitle>Extremely pithy tagline here</subtitle>
      <title>Arun Raghavan</title>
      <updated>2012-05-12T11:04:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:5fae1341-ebad-42d5-b9b9-5c0a43cff744</id>
    <link href="http://blog.flameeyes.eu/2012/05/for-a-parallel-world-parallel-building-is-not-passe" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">For A Parallel World: Parallel building is not passé</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>It’s been a while since I last wrote about parallel building. This has only to do with the fact that the tinderbox hasn’t been running for a long time (I’m almost set up with the new one!), and not with the many people who complained to me that spending time in getting parallel build systems to work is a waste of time.</p>
<p>This argument has been helped by the presence of a <code>--jobs</code> option to Portage, with them insisting that the future will have Portage building packages in parallel, so that the whole process will take less time, rather than shortening the single build time. I said before that I didn’t feel like it was going to help much, and now I definitely have some first hand experience to tell you that it doesn’t help <em>at all</em>.</p>
<p>The <a href="http://www.flameeyes.eu/tinderbox">new tinderbox</a> is a 32-way system; it has two 16-core CPUs, and enough <span class="caps">RAM</span> for each of them; you can easily build with 64 process at once, but I’m actually trying to push it further by using the unbound <code>-j</code> option (this is not proper, I know, but still). While this works nicely, we still have too many packages that force serial-building due to broken build systems; and a few that break in these conditions that would very rarely break on systems with just four or eight cores, such as <a href="https://bugs.gentoo.org/show_bug.cgi?id=403905">lynx</a> .</p>
<p>I then tried, during the first two rebuilds of world (one to set my choices in <span class="caps">USE</span> flags and packages, the other to build it hardened), running with five jobs in parallel… between the issue of the <a href="http://blog.flameeyes.eu/2008/01/proposal-reduce-the-size-of-system-packages-set">huge system set</a> (yes that’s 4.24 years old article), and the fact that it’s much more likely to have many packages depending on one, rather than one depending on many, this still does not saturate the CPUs, if you’re still building serially.</p>
<p>Honestly seeing such a monstrous system take as much as my laptop, which is 1/4 in cores and 1/4 in <span class="caps">RAM</span>, to build the basic system was a bit… appalling.</p>
<p>The huge trouble seem to be for packages that don’t use make, but that could, under certain circumstances, be able to perform parallel building. The main problem with that is that we still don’t have a variable that tells us exactly how many build jobs we have to start, instead relying on the <code>MAKEOPTS</code> variable. Some ebuilds actually try to parse it to extract the number of jobs, but that would fail with configurations such as mine. I guess I should propose that addition for the next <span class="caps">EAPI</span> version… then we might actually be able to make use of it in the Ruby eclasses to run tests in parallel, which would make testing so much faster.</p>
<p>Speaking about parallel testing, the next automake major release (1.13 — 1.12 was released but it’s not in tree yet, as far as I can tell) will execute tests in parallel by default; this was optional starting 1.11 and now it’s going to be the default (you can still opt-out of course). That’s going to be very nice, but we’ll also have to change our <code>src_test</code> defaults, which still uses <code>emake -j1</code> which forces serialisation.</p>
<p>Speaking about which, even if your package does not support parallel testing, you <em>should</em> use parallel make, at least with automake, to call <code>make check</code>; the reason is that the <code>check</code> target should also build the tests’ utilities and units, and the build can be sped up a lot by building them in parallel, especially for test frameworks that rely on a number of small units instead of one big executable.</p>
<p>Thankfully, for the day there are two more packages fixed to build in parallel: Lynx (which goes down from 110 to 46 seconds to build!) and Avahi (which I fixed so that it will install in parallel fine).</p></div>
    </content>
    <updated>2012-05-01T00:49:38Z</updated>
    <published>2012-05-01T00:49:38Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <category scheme="http://blog.flameeyes.eu/tag/foraparallelworld" term="&#x201C;For A Parallel World&#x201D; series of articles"/>
    <category scheme="http://blog.flameeyes.eu/tag/buildsystems" term="buildsystems"/>
    <category scheme="http://blog.flameeyes.eu/tag/make" term="Make"/>
    <category scheme="http://blog.flameeyes.eu/tag/parallel" term="Parallel"/>
    <category scheme="http://blog.flameeyes.eu/tag/automake" term="automake"/>
    <category scheme="http://blog.flameeyes.eu/tag/ebuilds" term="Ebuilds"/>
    <category scheme="http://blog.flameeyes.eu/tag/gentoo" term="Gentoo"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://arunraghavan.net/?p=1300</id>
    <link href="http://arunraghavan.net/2012/04/pulseaudio-on-android-part-2/" rel="alternate" type="text/html"/>
    <title>PulseAudio on Android: Part 2</title>
    <summary>Some of you might’ve noticed that there has been a bunch of work happening here at Collabora on making cool open source technologies such as GStreamer, Telepathy, Wayland and of course, PulseAudio available on Android. Since my last blog post on this subject, I got some time to start looking at replacing AudioFlinger (recap: that’s [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Some of you might’ve noticed that there has been a bunch of work happening here at <a href="http://www.collabora.com/services/android/">Collabora</a> on making cool open source technologies such as <a href="http://gstreamer.freedesktop.org/modules/gst-android.html">GStreamer</a>, Telepathy, <a href="http://ppaalanen.blogspot.in/2012/04/first-light-from-weston-on-android.html">Wayland</a> and of course, <a href="http://arunraghavan.net/2012/01/pulseaudio-vs-audioflinger-fight/">PulseAudio</a> available on Android.</p>

<p>Since my last blog post on this subject, I got some time to start looking at replacing AudioFlinger (recap: that’s Android’s native audio subsystem) with PulseAudio (recap: that’s the awesome Linux audio subsystem). This work can be broken up into 3 parts: playback, capture, and policy. The roles of playback and capture are obvious. For those who aren’t aware of system internals, the policy bits take care of audio routing, volumes, and other such things. For example, audio should play out of your headphones if they’re plugged in, off Bluetooth if you’ve got a headset paired, or the speakers if nothing’s plugged in. Also, depending on the device, the output volume might change based on the current output path.</p>

<p>I started by looking at solving the playback problem first. I’ve got the first 80% of this done (as we all know, the second 80% takes at least as long ;) ). This is done by replacing the native <tt>AudioTrack</tt> playback API with a simple wrapper that translates into the <tt>libpulse</tt> PulseAudio client API. There’s bits of the API that seem to be rarely used(loops and markers, primarily), and I’ve not gotten around to those yet. Basic playback works quite well, and here’s a video showing this. (<em>Note: this and the next video will be served with yummy HTML5 goodness if you enabled the <a href="http://youtube.com/html5">YouTube HTML5 beta</a></em>).</p>



<p>(if the video doesn’t appear, you can <a href="http://www.youtube.com/watch?v=h9fxmOaW2Bw">watch it on YouTube</a>)</p>

<p>Users of PulseAudio might have spotted that this now frees us up to do some fairly nifty things. One such thing is getting remote playback for free. For a long time now, there has been support for streaming audio between devices running PulseAudio. I wrote up a quick app to show this working on the Galaxy Nexus as well. Again, seeing this working is a lot more impressive than me describing it here, so here’s another video:</p>



<p>(if the video doesn’t appear, you can <a href="http://www.youtube.com/watch?v=o5-phFVfZnQ">watch it on YouTube</a>)</p>

<p>This is all clearly work in progress, but you can find the code for the AudioTrack wrapper as <a href="http://people.collabora.com/~arun/android/frameworks-base-0001-First-stab-at-a-libpulse-based-AudioTrack-API.patch">a patch</a> for now. This will be a properly integrated tree that you can just pull and easily integrate into your Android build when it’s done. The PA Output Switcher app code is also available in <a href="http://cgit.collabora.com/git/user/arun/pa-output-switcher.git">a git repository</a>.</p>

<p>I’m hoping to be able to continue hacking on the capture and policy bits. The latter, especially, promises to be involved, since there isn’t always a 1:1 mapping between AudioFlinger and PulseAudio concepts. Nothing insurmountable, though. :) Watch this space for more updates as I wade through the next bit.</p></div>
    </content>
    <updated>2012-04-30T10:35:27Z</updated>
    <category term="Blog"/>
    <category term="android"/>
    <category term="collabora"/>
    <category term="f/oss"/>
    <category term="pulseaudio"/>
    <category term="work"/>
    <author>
      <name>Arun</name>
    </author>
    <source>
      <id>http://arunraghavan.net</id>
      <link href="http://arunraghavan.net/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://arunraghavan.net" rel="alternate" type="text/html"/>
      <subtitle>Extremely pithy tagline here</subtitle>
      <title>Arun Raghavan</title>
      <updated>2012-05-12T11:04:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:63e0f41d-ed5e-42de-91df-8c37425fdc45</id>
    <link href="http://blog.flameeyes.eu/2012/04/securing-tinderbox-network-access" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">Securing Tinderbox network access</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>For those who wonder why Excelsior is now built for a week and it’s still not running in full capacity, the reason is relatively simple: I’m still trying to figure out how to handle network security so that I can give other developers access to it, and not risk that we have a security breach in other places.</p>
<p>The first problem is that the current setup I need to use and the final one will be very different: right now the system is connected to the internal network of my employer, while in production it will be DMZ’d, with a public IP available straight to it. The latter setup will let me set up an IPv6 tunnel, which means all the internal containers will be available by themselves, while the current one prevents me to set it up at all.</p>
<p>Previously this was much easier to deal with simply because I had control over an external firewall myself, which took care of most of the filtering, which combined with <a href="http://blog.flameeyes.eu/2010/09/linux-containers-and-networking"><span class="caps">LXC</span> networking options</a> made it decently easy to deal with. Unfortunately this time I have to do without this.</p>
<p>One of the things that might not be obvious from the post above, nor from the documentation, is that the three setups I have drawn are the ones that require the least amount of configuration on the host-side: if you use the standard bridge, you just need to start <code>net.br0</code> (or equivalent), and <span class="caps">LXC</span> will connect the host-side virtual Ethernet pair to the bridge by itself. If you’re using the <span class="caps">MACVLAN</span> modes instead, the containers will piggy-back the interface of the host, and then rely on the external router/firewall/switch to deal with the configuration — by the way I’m glad that <code>man lxc.conf</code> now actually says that you’re supposed to have a reflective switch to use those modes. You can probably guess it’s not that great an idea if you expect lots of internal communication.</p>
<p>What I’m going to do for now is setting up a system that is defended as much as possible by depth, with iptables carrying out enough filtering that I should be realistically safe. Unfortunately just iptables is not enough and what you need is iptables <em>and</em> ebtables (for Ethernet Bridging filtering), to make sure that the containers’ don’t dupe your IPs or something.</p>
<p>The idea is that one IPv6 is enabled, you can jump straight into the tinderboxes, which is required to control it, but until then, the host system acts as a jump host through a custom <code>scponly</code> setup, which only allows forwarding, as ProxyCommand, port 22 of others boxes <em>within that same system</em>.</p>
<p>I’d like to show more documentation of what I’m trying to do, and what I achieved already, but to do so, I’m afraid I’ll be needing some more … visual examples, as it’s very hard to explain it in words, while it should be much more clearer with a series of drawings. I guess I’ll start working on them soonish, maybe if Luca can package <a href="http://www.synfig.org/cms/">Synfig</a> for me…</p>
<p>For now, this is enough, I guess.</p></div>
    </content>
    <updated>2012-04-29T18:38:05Z</updated>
    <published>2012-04-29T18:38:05Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <category scheme="http://blog.flameeyes.eu/tag/lxc" term="lxc"/>
    <category scheme="http://blog.flameeyes.eu/tag/tinderbox" term="Tinderbox"/>
    <category scheme="http://blog.flameeyes.eu/tag/excelsior" term="Excelsior"/>
    <category scheme="http://blog.flameeyes.eu/tag/gentoo" term="Gentoo"/>
    <category scheme="http://blog.flameeyes.eu/tag/synfig" term="Synfig"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.siphos.be/?p=598</id>
    <link href="http://blog.siphos.be/2012/04/20120215-policies-now-stable/" rel="alternate" type="text/html"/>
    <title>20120215 policies now stable</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Today I’ve stabilized the sec-policy/selinux-* packages that provide the 20120215 “series” of SELinux policies. Together with the stabilization, the more recent userspace tools (like the policycoreutils as well as libraries like libsemanage and libselinux) have been pushed out as well. … <a href="http://blog.siphos.be/2012/04/20120215-policies-now-stable/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Today I’ve stabilized the <tt>sec-policy/selinux-*</tt> packages that provide the 20120215 “series” of SELinux policies. Together with the stabilization, the more recent userspace tools (like the policycoreutils as well as libraries like libsemanage and libselinux) have been pushed out as well. I will be dropping the older policies and userspace tools soon (as they are now deprecated). The documentation has been updated to reflect this too.
</p>
<ul>Some of the enhancements include<p/>
<li>support for permissive domains (allowing users to mark one specific SELinux domain, such as mplayer_t, as permissive (even though the rest of the system is running in enforcing mode)</li>
<li>support for file context translations, so we can now say “/usr/lib64 (and below) should have the same contexts as /usr/lib”</li>
<li>support for role attributes, which means for policy developers, we now have similar freedom as with type attributes</li>
<li>support for named file transitions, so a policy rule can say that domain A, if creating a file in a directory labeled B, then that specific file should have label C. Same for directories, btw.</li>
</ul>
<p>
Although some of these enhancements were available as features individually, the policies we had were not aligned with it – and now, that has changed ;-)</p></div>
    </content>
    <updated>2012-04-29T14:43:39Z</updated>
    <category term="Hardened"/>
    <category term="SELinux"/>
    <author>
      <name>swift</name>
    </author>
    <source>
      <id>http://blog.siphos.be</id>
      <link href="http://blog.siphos.be/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blog.siphos.be" rel="alternate" type="text/html"/>
      <subtitle>Sven Vermeulen's web log</subtitle>
      <title>Simplicity is a form of art...</title>
      <updated>2012-05-04T21:05:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:640f1f9a-52ce-4dc7-b64a-dfc3abac91fa</id>
    <link href="http://blog.flameeyes.eu/2012/04/hard-containers" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">Hard Containers — LXC and GrSecurity</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>Okay so Excelsior is here, and it’s installed, and here starts the new list of troubles, which seems to start, as usual, with my favourite system ever: <a href="http://blog.flameeyes.eu/tag/lxc"><span class="caps">LXC</span></a> which is the basis the Tinderbox work upon.</p>
<p>The first problem is not strictly tied to <span class="caps">LXC</span>, but one of the dependencies required: the <a href="https://bugs.gentoo.org/show_bug.cgi?id=403905">lynx browser fails to build in parallel</a> <em>if</em> there are enough cores available (which there certainly are here!). This bug should be relatively easy to fix but I haven’t had time to look into it just yet.</p>
<p>A second issue came up due to the way I was proceeding to do the install, outside of office hours, and is that the ebuild is using the kernel sources, I think to identify which capabilities are available on the system. This should be fixed as well, so that it checks the capabilities on the installed linux-headers instead of the sources, which might not be the same.</p>
<p>The third issue is funny: Excelsior is going to use an hardened kernel. The reason is relatively simple to understand: it’s going to run a lot of code of unknown origins, it’ll allow other people in, one wants to be as as possible… unfortunately it seems like this is not, by default, a good configuration to use with <span class="caps">LXC</span>.</p>
<p>In particular, grsecurity is designed by default to limit what you can do within a chroot, by applying a long list of restrictions. This is fine, if not for the fact that <span class="caps">LXC</span> <em>also chroots</em> to start its own set up process. I’m now fixing the ebuild to warn about those options that you have to (or might) want to disable in your GrSec setup to use <span class="caps">LXC</span>.</p>
<p>Interestingly, it’s not a good idea to disable <em>all</em> of them, since a few are actually <em>very good</em> if you want to use <span class="caps">LXC</span>, such as the <code>mknod</code> restriction, which is very good in particular if you want to make sure that only a subset of the devices are accessible (even when counting in the allowed/non-allowed access of the devices cgroup).</p>
<p>In particular, these <em>have to</em> be disabled:</p>
<ul>
	<li>Deny mounts (CONFIG_GRKERNSEC_CHROOT_MOUNT)</li>
	<li>Deny pivot_root in chroot (CONFIG_GRKERNSEC_CHROOT_PIVOT)</li>
	<li>Capability restrictions (CONFIG_GRKERNSEC_CHROOT_CAPS)</li>
</ul>
<p>while the double-chroot would be counter-synergistic as it would disallow services within the container to further chroot to allow a defense-in-depth approach.</p>
<p>Then there is another issue. Before starting to set up the actual tinderbox, I wanted to prepare another container, which is the one I’ll be using for my own purposes, including bumping of Ruby packages and stuff like that. Since the system is supposed to stay very locked down, this time I want to mount the block device straight into the container, which is a supported configuration…. but it turns out that the configuration parser, trying to <a href="http://blog.flameeyes.eu/2010/11/more-about-linux-resource-containers-and-gentoo">workaround old issues</a> (yes that’s a one and a half years’ old post) will ignore any mount request that doesn’t have the destination rootfs prefixed.</p>
<p>Unfortunately when you mount a block device, it means that you’ll end up with something along the lines of <code>/dev/sdb1/usr/portage</code>. This also collides with the documentation in <code>man lxc.conf</code>:</p>
<blockquote><p><br/>
If the rootfs is an image file or a device block and the fstab is used to mount a point somewhere in  this  rootfs,  the path of the rootfs mount point should be prefixed with the /usr/lib/lxc/rootfs default path or the value of lxc.rootfs.mount if specified.</p></blockquote>
<p>Anyway this <em>should</em> be fixed in <code>0.8.0_rc2-r2</code> which is now in tree, I’ve not been able to test it thoroughly yet, so holler at me if something doesn’t work.</p></div>
    </content>
    <updated>2012-04-27T23:06:05Z</updated>
    <published>2012-04-27T23:06:05Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <category scheme="http://blog.flameeyes.eu/tag/gentoo" term="Gentoo"/>
    <category scheme="http://blog.flameeyes.eu/tag/hardened" term="Hardened"/>
    <category scheme="http://blog.flameeyes.eu/tag/grsecurity" term="grsecurity"/>
    <category scheme="http://blog.flameeyes.eu/tag/lxc" term="lxc"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://qiaomuf.wordpress.com/?p=385</id>
    <link href="http://qiaomuf.wordpress.com/2012/04/27/current-status-of-libbash/" rel="alternate" type="text/html"/>
    <title>Current Status of Libbash</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Glad to see that libbash is accepted by Google Summer of Code this year. Congratulations to André Aparício! Petteri and I will both mentor this project during the summer. Before GSoC begins, I’d like to explain the current status of this project. I worked on this project in GSoC 2011. After the summer ended, I spent [...]<img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=qiaomuf.wordpress.com&amp;blog=13754809&amp;post=385&amp;subd=qiaomuf&amp;ref=&amp;feed=1" width="1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Glad to see that libbash is accepted by Google Summer of Code this year. Congratulations to André Aparício! Petteri and I will both mentor this project during the summer. Before GSoC begins, I’d like to explain the current status of this project.</p>
<p>I worked on this project in GSoC 2011. After the summer ended, I spent months seeking a job so I didn’t pay much attention to the project at that time. And later, I made several commits to the project and it’s looking better.</p>
<p>So far, we can generate correct metadata for 13849 ebuilds (5435 more than before). Nearly <strong>half of the ebuilds</strong> in the main tree can be handled by libbash now. So the goal of this year’s GSoC is to make libbash be able to handle the rest of the ebuilds.</p>
<p>What’s stopping us from handling more ebuilds? There are several eclasses that our grammar file can not parse. That means any ebuild that inherits from these eclasses can not be handled by libbash. On the other hand, the runtime part is not fully implemented, which is due to lack of grammar support or low priority. I have to say it’s hard to tell all the problems we are facing at once. I have been working in this pattern for quite some time:<br/>
1. Use our implementation of instruo to generate metadata for the ebuilds in the main tree.<br/>
2. Sort the error output to see which errors are the biggest enemies.<br/>
3. Solve the problems that are figured out from the error output<br/>
Generating ebuild metadata will take about 10 minutes so this process is not fast. I need to solve as many problems as I can at one pass. Typically new errors will occur after I fix the old ones. And the new errors are not introduced by the new commits. They were just hidden by the old ones. That’s why it’s hard to move forward and handle more ebuilds in a short time.</p>
<p>In future, the error output should be improved so it would be easy for us to figure out more problems. After constantly working on the error output for some time, I’m sure we will get fewer errors and handle more ebuilds. Looking forward to seeing a working libbash for all the ebuilds at the end of this summer.</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/qiaomuf.wordpress.com/385/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/qiaomuf.wordpress.com/385/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/qiaomuf.wordpress.com/385/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/qiaomuf.wordpress.com/385/"/></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/qiaomuf.wordpress.com/385/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/qiaomuf.wordpress.com/385/"/></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/qiaomuf.wordpress.com/385/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/qiaomuf.wordpress.com/385/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/qiaomuf.wordpress.com/385/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/qiaomuf.wordpress.com/385/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/qiaomuf.wordpress.com/385/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/qiaomuf.wordpress.com/385/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/qiaomuf.wordpress.com/385/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/qiaomuf.wordpress.com/385/"/></a> <img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=qiaomuf.wordpress.com&amp;blog=13754809&amp;post=385&amp;subd=qiaomuf&amp;ref=&amp;feed=1" width="1"/></div>
    </content>
    <updated>2012-04-27T05:20:18Z</updated>
    <category term="gentoo"/>
    <category term="GSoC"/>
    <category term="libbash"/>
    <author>
      <name>qiaomuf</name>
    </author>
    <source>
      <id>http://qiaomuf.wordpress.com</id>
      <logo>http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://qiaomuf.wordpress.com/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://qiaomuf.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://qiaomuf.wordpress.com/osd.xml" rel="search" title="Another Gentoo Dev" type="application/opensearchdescription+xml"/>
      <link href="http://qiaomuf.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>My opensource life</subtitle>
      <title>Another Gentoo Dev</title>
      <updated>2012-05-04T07:05:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://wonkabar.org/?p=1503</id>
    <link href="http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/" rel="alternate" type="text/html"/>
    <link href="http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/#comments" rel="replies" type="text/html"/>
    <link href="http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">rebooting my mini-itx</title>
    <summary type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml">It’s been a long time since I’ve worked on much anything computer-related as a hobby.  Things have changed quite a lot in the past year.  I moved to a much smaller apartment in Salt Lake, which is about a third … <a href="http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/">Continue reading <span class="meta-nav">→</span></a><img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&amp;blog=19113962&amp;post=1503&amp;subd=sdibb&amp;ref=&amp;feed=1" width="1"/></div>
    </summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>It’s been a long time since I’ve worked on much anything computer-related as a hobby.  Things have changed quite a lot in the past year.  I moved to a much smaller apartment in Salt Lake, which is about a third the size of my old place.  The idea was to trim the fat and focus on going back to school, which is my major direction in life these days.  When I moved in, I didn’t have room for setting up a desktop computer anywhere, so it’s been just my netbook and me.  That suits me plenty fine, though, I wasn’t really using it that much either.  I had just upgraded to a six-core so I could rip DVDs much faster, and now it was sitting headless wherever I could find room, and even then, only used occasionally.</p>
<p>It’s not just at home that things have been changing.  At work I got to make the transition from programmer to full-time sysadmin, and I’m absolutely loving it.  I knew I was getting tired of coding, and I had always enjoyed just taking care of servers, and now I get to do that all day long. When I initially started as a sysadmin, I didn’t think our small company would have enough work for me to do after a few months.  In actuality, I’m kept busy all the time.  The part I like the most is that part of my job is doing research, how to do things better, more efficiently, anything to make the workload easier.  It’s fun.</p>
<p>On top of all that, my school attendance is starting to ramp up more, and I’ve been consistently drifting to adding more classes to my workload.  All this stuff has basically booted Linux out of my life as a hobby, and so now I need things to “just work” without hassle, so I leave my installations alone.</p>
<p>One thing I’d been neglecting a little bit was my entire HTPC setup.  I hadn’t been using it much lately just because I would mostly stream some Netflix (yay, Doctor Who!).  My setup has been a beast though, normally running for months on end without the slightest hiccup.  What started to happen though is that I would come back to using it, switching my HDMI input over, and the box would be powered off for some reason.  Most of the time, I would either power it back on and go on with life or just ignore it.  Until one day it wouldn’t power on at all, and I just shrugged it off and determined to look at it later.</p>
<p>Well, later turned out to be finals week, when my brain has been working overtime, and I seriously needed a hobby.  I pulled out my main frontend and started looking at it to see what was going on.  It was plugged in properly and everything looked legit, but when I hit the power, the CPU fan would start up for a second and then everything would stop.  After fiddling with it for a bit, I started to notice that something was smelling burnt.  Once that happened, I abandoned my diagnosis.  Even if I did manage to get it working, I didn’t want it to catch everything on fire.</p>
<p>At the same time, my external USB drive enclosure died on me.  So even if I could have gotten it working, I still wouldn’t have had a way to watch my shows.  Them giving out on me hasn’t bothered me in the least — the entire setup has been running flawlessly for years, and I’d managed to get a lot of mileage out of them.</p>
<p>Now I had to decide what I was going to do.  I have a lot of hardware, but in pieces.  I have four mini-ITX boards altogether, two of them are VIA C7 chipsets, and the other two are Zotac boards both running low-powered Celeron CPUs (around 35W if I remember correctly).  The power supplies for the VIA boards use 20-pin connectors and only run at about 80W, and aren’t enough to handle the Zotac boards which use 24-pin connectors.  So I have this mix of hardware, and nothing powerful enough to act as a frontend.</p>
<p>There are some great packaged systems out there now where for between $200 to $300 you can get an entire package in one go that does exactly what I’m putting together myself. I considered the idea of just starting over, but I decided that it’d be cheaper to just salvage what I could.</p>
<p>So this week I ordered a new USB HDD enclosure, and I also ordered a new power supply for the main Zotac board.  I found a site that sells really small power supplies for mini-ITX boards, called <a href="http://www.mini-box.com">picoPSU</a>.  The design eliminates a lot of the hardware that I would normally need to get all the power to my box.  I was really skeptical about them when I first heard of it, but did some looking around and it looks like it’s exactly what I need.</p>
<p>In the meantime, I ripped out my motherboard out of my desktop, and put both Zotac boards in there to make sure they still work, and thankfully they do.  I got the old setup pieced together using my desktop case, and fired up the old system to play around with it.</p>
<p>I had started to forget how much time I put into this thing.  I forgot that I had put countless hours stitching this thing together, running a custom build of Gentoo suited to run on small environments.  On top of that I made hacks to mythvideo and got those working to polish off some rough edges.  It just started to come back to me how much I’d worked on this … and how much fun it was. <img alt=":)" class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif"/> </p>
<p>I played around with my frontend a little bit, and fired up a few movies just to try out the surround sound.  It was awesome.  I’d forgotten how nice it was to have that huge library on demand, too.</p>
<p>So I’m excited now to get things up and running.  It’s been a good little while.</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1503/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1503/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1503/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1503/"/></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1503/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1503/"/></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1503/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1503/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1503/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1503/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1503/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1503/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1503/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1503/"/></a> <img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&amp;blog=19113962&amp;post=1503&amp;subd=sdibb&amp;ref=&amp;feed=1" width="1"/></div>
    </content>
    <updated>2012-04-26T00:26:42Z</updated>
    <published>2012-04-25T02:43:33Z</published>
    <category scheme="http://wonkabar.org" term="Hardware"/>
    <category scheme="http://wonkabar.org" term="Multimedia"/>
    <author>
      <name>beandog</name>
      <uri>http://wonkabar.org/</uri>
    </author>
    <source>
      <id>http://wonkabar.org/feed/atom/</id>
      <link href="http://wonkabar.org" rel="alternate" type="text/html"/>
      <link href="http://wonkabar.org/feed/atom/" rel="self" type="application/atom+xml"/>
      <link href="http://wonkabar.org/osd.xml" rel="search" title="wonkablog" type="application/opensearchdescription+xml"/>
      <link href="http://wordpress.com/opensearch.xml" rel="search" title="WordPress.com" type="application/opensearchdescription+xml"/>
      <link href="http://wonkabar.org/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle xml:lang="en">cornflakes, cartoons, dragons, linux, multimedia, psychology, teenagers</subtitle>
      <title xml:lang="en">wonkablog</title>
      <updated>2012-04-26T00:26:43Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>https://blogs.gentoo.org/mgorny/?p=121</id>
    <link href="http://blogs.gentoo.org/mgorny/2012/04/25/a-five-commandments-for-xml-format-designers/" rel="alternate" type="text/html"/>
    <title>A five commandments for XML format designers</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you’re designing an XML-based data format, then I beg you, please read the few following rules and obey them. XML may look easy, and even is easy but that doesn’t mean that writing a good one is. And if you’re going to invent second HTML, … <a href="http://blogs.gentoo.org/mgorny/2012/04/25/a-five-commandments-for-xml-format-designers/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>If you’re designing an XML-based data format, then I beg you, please read the few following rules and obey them. XML may look easy, and even <em>is</em> easy but that doesn’t mean that writing <em>a good</em> one is. And if you’re going to invent second HTML, then please, just use JSON or any other random container. That will be easier for you, and easier for us.</p>
<h2>1. Thou shalt always write a schema</h2>
<p>Every XML format should be well described. And no, your ten-stanza poem is not enough. Complete, dedicated Wiki neither. These usually describe nicely (or less nicely) how to <em>write</em> your XML. That could be great if that’s all you’re interested in. But if that’s supposed to be some public format, there is one more important thing…</p>
<p>It’s called reading. Or parsing. Or just transforming. If you need to handle random XML files, coming from various sources, written by random people, you have to know what you can expect and what can you assume. It’s not enough to say what <code>&lt;x/&gt;</code> does — I need to know where it can appear and what I can find inside.</p>
<p>There are already well-deployed XML description formats such as DTD, Relax-NG or XML Schema. Please use one of them, I will be grateful. Not only they describe the format strictly and accurately but they also provide a very simple means to validate XML files. It’s helpful both to us, who parse it, and to people who actually write such XML.</p>
<p>An XML without spec is an XML where every element can appear anywhere in the document. In other words, it’s not even XML but an ugly <q>tag soup</q>.</p>
<h2>2. Thy XML shalt be structured, not flat</h2>
<p>XML provides means to create neat, hierarchical structures. <em>Use them.</em> If your documents consists of logical parts like sections or chapters, put their complete content in a single <code>&lt;section/&gt;</code> or <code>&lt;chapter&gt;</code>, or any other thing that may come into your head. That’s the correct way of doing that in XML.</p>
<p>Random headings and separators are not enough. Even if your spec says they always and definitely start a new section, that’s <em>not enough</em>. If you don’t believe us, try splitting that thing into parts yourself. Especially when you have sub-headings, sub-sub-headings and so on.</p>
<p>A flat-structured XML is no real XML. It’s just a text file with a few unnecessary elements.</p>
<h2>3. Thou shalt split text into blocks using XML, not text delimeters</h2>
<p>Even if you think that’ll make writing much easier, <em>do not</em> ever try to use simple character delimiters to split text into blocks. If you need a list, create a list of XML elements. Like the following:</p>
<pre><code>&lt;l&gt;elem1&lt;/l&gt;
&lt;l&gt;elem2&lt;/l&gt;
&lt;l&gt;elem3&lt;/l&gt;</code></pre>
<p>And yes, I know <code>elem1,elem2,elem3</code> is shorter and easier to type. But guess what — it’s hell to parse. It isn’t even XML — you either have to handle it externally or create a complex recursive template which will split it and handle each token separately. That’s very bad.</p>
<p>An XML which uses random delimeters to create lists is no XML. It’s called <abbr title="Comma-separated values">CSV</abbr>.</p>
<h2>4. Thou shalt not allow insane structures</h2>
<p>Even if you think noone will create an insane structure in your document, it’s not enough. Saying it’s disallowed on your awesome Wiki is not enough either. <em>Forbid it</em> if it’s supposed to be forbidden.</p>
<p>Otherwise, someone finally will use it. He or she will deliberately ignore your warning because <q>it works</q>. And even if they don’t, we will have to support it anyway in a compliant parser.</p>
<p>If you expect your data to be interchangeable with widely used formats, take a look at them. Don’t allow insane things which none of these formats do — or we’ll have to either refuse to convert some files, convert them incorrectly or waste our time writing complex blocks converting them to sane ones.</p>
<p>Simply, <em>don’t do it</em>. Even HTML doesn’t do that… well, that much.</p>
<h2>5. Thou shalt write readable XML, not bytecode</h2>
<p>The major point of using XML is that the data is both readable to machines and humans. Leave it that way. You have the whole human language at your disposal, so don’t write zeros, ones and other random numbers which are explained on your great Wiki.</p>
<p>Say, an attribute called <code>type</code> should actually name some type. Say, <code>article</code> can be some type. <code>1</code> usually ain’t. And if that <q>type</q> only describes width of indent, then name it so! Calling it a <q>type</q> is as useful as calling it a <q>thing</q>. Or <code>some-other-thing</code> and <code>a-third-thing</code>.</p>
<p>XML without human-readable text is no XML. Hell, even byte-compiled XML should have readable element names! That’s the whole point with it. Otherwise, you just end up developing another custom, useless format.</p></div>
    </content>
    <updated>2012-04-25T18:32:00Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Michał Górny</name>
    </author>
    <source>
      <id>http://blogs.gentoo.org/mgorny</id>
      <link href="http://blogs.gentoo.org/mgorny/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blogs.gentoo.org/mgorny" rel="alternate" type="text/html"/>
      <subtitle>Retroactively fixing the world</subtitle>
      <title>Michał Górny</title>
      <updated>2012-04-25T21:04:14Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:019c0fcc-055b-4c24-aa07-861e4ee4af51</id>
    <link href="http://blog.flameeyes.eu/2012/04/hardware-identification-version-bumps-excelsior" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">Hardware identification, version bumps, Excelsior</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>Let’s start with the good news: most of <a href="http://blog.flameeyes.eu/2012/04/news-of-the-tinderbox-or-excelsior-inbound">Excelsior</a> has arrived and it’s already set up. The only thing that is missing is … the CPUs, which are coming in from Philadelphia, and should arrive here tomorrow, standing to Amazon’s tracking. As I said, the server will be co-located by my current employer, so that’s one issue not to worry about.</p>
<p>Without Yamato, it turns out that my ability to bump the version of my own packages is vastly reduced, mostly because I don’t want to install packages such as MongoDB on this laptop just to test out Ruby Gems, and at the same time I don’t want to have too many extraneous packages installed. Luckily this means that starting tomorrow we should be all ready to start the install phase.</p>
<p>One of the things I’ve been keeping busy with was the <a href="http://blog.flameeyes.eu/2012/04/who-said-that-ids-wouldn-t-have-license-issues">split hardware IDs</a> package — <code>sys-apps/hwids</code>, which I’m bumping weekly. This from one side makes it much less important to use the (now gone) network cron scripts to update the IDs files, and on the other allows people who don’t want their systems to access the network directly to be kept up-to-date with the files themselves. This is the first week I’m skipping over the bump, simply because … there is no new content!</p>
<p>I’ve added a new device today to the <a href="https://usb-ids.gowdy.us/index.html"><span class="caps">USB</span> IDs database</a> though so that should mean that next week we might have an update. And tomorrow I’ll probably update it with the possibly missing subsystem IDs for the devices on Excelsior, which will go to the <a href="http://pci-ids.ucw.cz/"><span class="caps">PCI</span> IDs database</a> where I already sent my laptop’s and one of the local server’s subsystems.</p>
<p>Speaking about device identification I can understand why Kay thinks that it might be better to have a general database of everything, instead of multiple small databases… for instance it would be nice if I could just update one database with the IDs of my new external <span class="caps">HDD</span> (WD My Passport), and let <code>smartctl</code> know that it has to connect to it with the <span class="caps">SAT</span> method, instead of having to write it on a page and then remember about it myself. Speaking about which, WD still is my favourite <span class="caps">HDD</span> vendor.</p>
<p>Anyway, thanks once more to all the people who helped the new Excelsior to be built; tomorrow I’ll post a few more details about it, including some photos hopefully, as I’ve got my camera with me as well. There has actually been some trouble with the SSDs and the mounting bays, which I think would be a valuable lesson not only for me.</p></div>
    </content>
    <updated>2012-04-24T21:27:15Z</updated>
    <published>2012-04-24T21:27:15Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <category scheme="http://blog.flameeyes.eu/tag/gentoo" term="Gentoo"/>
    <category scheme="http://blog.flameeyes.eu/tag/hwids" term="hwids"/>
    <category scheme="http://blog.flameeyes.eu/tag/usb" term="USB"/>
    <category scheme="http://blog.flameeyes.eu/tag/pci" term="PCI"/>
    <category scheme="http://blog.flameeyes.eu/tag/ids" term="IDS"/>
    <category scheme="http://blog.flameeyes.eu/tag/wd" term="WD"/>
    <category scheme="http://blog.flameeyes.eu/tag/excelsior" term="Excelsior"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7803863447082200741.post-5742405100227216273</id>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/5742405100227216273" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/5742405100227216273" rel="self" type="application/atom+xml"/>
    <link href="http://phajdan-jr.blogspot.com/2012/04/watch-out-for-shadow-415-r1-and-pambase.html" rel="alternate" title="Watch out for shadow-4.1.5-r1 and pambase-20120417" type="text/html"/>
    <title>Watch out for shadow-4.1.5-r1 and pambase-20120417</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I recently bumped shadow-4.1.5-r1 and pambase-20120417. <a href="https://bugs.gentoo.org/show_bug.cgi?id=412721">bug #412721</a> has been filed about people being locked out after the update.<br/><br/>The fix is to run dispatch-conf. The reports are unclear, but you might not get any message from emerge that it is necessary. If dispatch-conf doesn't update anything, make sure to manually re-emerge pambase.<br/><br/>What's going on? /etc/pam.d/{login,passwd,su} are being moved from shadow package to pambase, so they can be shared with hardened-shadow. They are not really shadow-specific, but Gentoo-specific, so it makes sense to make pambase own those files.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7803863447082200741-5742405100227216273?l=phajdan-jr.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-04-23T12:57:01Z</updated>
    <published>2012-04-21T20:44:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <author>
      <name>Paweł Hajdan, Jr.</name>
      <email>noreply@blogger.com</email>
      <uri>https://profiles.google.com/115952810462621118454</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7803863447082200741</id>
      <category term="chromium"/>
      <category term="selinux"/>
      <category term="gentoo"/>
      <author>
        <name>Paweł Hajdan, Jr.</name>
        <email>noreply@blogger.com</email>
        <uri>https://profiles.google.com/115952810462621118454</uri>
      </author>
      <link href="http://phajdan-jr.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://phajdan-jr.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Paweł Hajdan's Dev Blog</title>
      <updated>2012-05-16T06:07:40Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.cryos.net/archives/258-guid.html</id>
    <link href="http://blog.cryos.net/archives/258-Open-Science,-Open-Access-and-Open-Source.html" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by/3.0/" rel="license"/>
    <title>Open Science, Open Access and Open Source</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span><p>I have been thinking this over for quite a while, and have written this post several times over in my mind. As an undergraduate student I remember admiring scientists and imagining how amazing it must be to have a job where you got to discover new things, think of better solutions to problems facing our society and making the world a better place. As my studies continued I aspired to become one of those researchers, and made the decision to take my studies further and applied to do a PhD.</p>

<p>As a PhD student I enjoyed learning more about materials, and was excited to be working with gold nanoparticles and research into how we might make real devices out of this novel new material in the <a href="http://www.nmeg.group.shef.ac.uk/">Nanomaterial Engineering Group</a>. It was exciting, challenging and fascinating using techniques such as X-ray and neutron reflectometry, electron and atomic force microscopy and Langmuir-Blodgett troughs. As I learned more through my work I became frustrated with the quality of the software I used, and had always imagined that "real scientists" had better tools available to them. It became even more frustrating when I realized how bad some of the instrument control software was, and how so many of the file formats could only be used in one or two expensive and hard to use programs that only worked on one or two platforms.</p>

<p>Towards the end of my PhD I decided I would like to take some action. I had been trying to draw and render images of molecular structures, and wanted a way to do simple geometry optimizations for posters, papers and web pages. At first I tried to do some of this using an existing commercial package, but it only worked on Windows and we only had one license for the department. The training provided to me as a researcher in areas such as programming and analysis were disappointing and all too often generic tools such as Word, Powerpoint and Excel were the most viable choice for preparing, analyzing and presenting our work. I began writing more software, but much of it was written from scratch with little guidance. As I searched for a better way I came across some open source libraries and tools.</p>

<p>I found a program run by Google called "<a href="http://code.google.com/soc/">Summer of Code</a>" where they offered me the opportunity to "flip bits not burgers". I was extremely lucky to find an idea on KDE's idea page for a molecule editor in <a href="http://edu.kde.org/kalzium/">Kalzium</a>. I was very excited, and had been using <a href="http://www.kde.org/">KDE</a> for many years. This was a pivotal moment for me, where my life and career took a twist I never expected into the world of open science - and I have loved every minute of it.</p>

<p>It was through that work that I became involved in the <a href="http://avogadro.openmolecules.net/">Avogadro project</a>, and later <a href="http://www.openbabel.org/">Open Babel</a> and met Geoff who later that year offered me a position in <a href="http://hutchison.chem.pitt.edu/">his new research group</a>. This was an exciting opportunity as not only did we share a passion for correlating experimental and computational techniques, Geoff was also very active in open chemistry. After I moved out to Pittsburgh Geoff introduced me to the <a href="http://www.blueobelisk.org/">Blue Obelisk</a>, and I now proudly count myself as one of their un-members. We published an open access paper on the <a href="http://www.jcheminf.com/content/3/1/37">Blue Obelisk five years on</a> last year.</p>

<p>After a two year postdoctoral position with Geoff, who was extremely supportive of my work in open chemistry, I met <a href="http://www.kitware.com/company/team/hoffman.html">Bill Hoffman</a> from <a href="http://www.kitware.com/">Kitware</a>. I knew that Kitware developed <a href="http://www.cmake.org/">CMake</a>, but beyond that was not really aware of what they did. It turned out that they were involved in much more than just CMake, with open source tools and frameworks such as <a href="http://www.vtk.org/">VTK</a>, <a href="http://www.paraview.org/">ParaView</a>, <a href="http://www.itk.org/">ITK</a>, <a href="http://www.cdash.org/">CDash</a> and more. They had been working on open scientific software for over a decade, and they were hiring! They weren't just making applications either, they were tackling the whole problem including development, testing and validation of open-source, cross-platform applications and frameworks.</p>

<p>After accepting a position with Kitware in 2009 one thing I never really appreciated was just how poor access is to publicly funded research. I can no longer access scientific papers I and others wrote, that were funded with tax payer money from both the UK and the US! I think that is terrible, and later realized I had become part of the <a href="http://blogs.ch.cam.ac.uk/pmr/2011/10/05/pay-per-view-science-for-the-scholarly-poor-is-unacceptable-immoral-unethical-and-encourages-bad-science/">scholarly poor</a>, Peter wrote a follow up <a href="http://blogs.ch.cam.ac.uk/pmr/2011/10/06/the-scholarly-poor-industry/">detailing the plight of those of us in industry</a>. There is currently raging debate on open access, and campaigns such as <a href="http://thecostofknowledge.com/">The Cost of Knowledge</a> need our support. The products of publicly funded research should be available to all, whether they are in academia, industry, government or anywhere else.</p>

<p>There are too many black boxes in science today, too much published work that is not available to all or reproduced by others. Mathematics used to be the language of science, but more and more it is computer software that is needed to learn more, and too much of this code is closed, unpublished and poorly shared. Papers must include mathematical proofs, or refer to proofs already published, but it is common to see work published that used closed, proprietary package X to conduct a simulation. This is changing, and Scientific American recently published an article on how "<a href="http://www.scientificamerican.com/article.cfm?id=secret-computer-code-threatens-science">Secret Computer Code Threatens Science</a>". Science also published an article about "<a href="http://www.sciencemag.org/content/336/6078/159">Shining Light into Black Boxes</a>", detailing the growing problem of witheld source code preventing meaningful peer review and reproducibility of research.</p>

<p>Michael Nielsen published a book called "<a href="http://michaelnielsen.org/blog/reinventing-discovery/">Reinventing Discovery</a>" that talks about the value of networked science, and is well worth a read if you have not yet had a chance. The <a href="http://pantonprinciples.org/">Panton Principles</a> outline the need to make scientific data open, and the <a href="http://sciencecodemanifesto.org/">Science Code Manifesto</a> calls for openly available code in science. The core goals of the <a href="http://www.blueobelisk.org/">Blue Obelisk</a> are open data, open standards and open source. I think for science to progress we must embrace openness, and sharing and resist the urge to hoard data building up small empires on proprietary code and data.</p>

<p>One thing I hope to see come from all of the controversy of the Research Works Act is a clarification that publicly funded research should be available to all, whether you think they will understand it or not. Scientists need to get better at communicating with the general public, and being more transparent about how research is done. I think open science will give us a chance to <a href="http://www.guardian.co.uk/science/blog/2012/apr/20/open-access-crucial-public-confidence-science">increase public engagement in science</a>, which seems to be a growing problem in an age where we can all access the internet and a wealth of knowledge available on it.</p>

<p>I think that we need to figure out sustainable ways to fund the development of open software platforms to enable the next generation of researchers to push back the frontiers of science. We need to remember that we are publishing to share the results of (often publicly funded) research, and so we should be using liberal licenses such as <a href="http://creativecommons.org/licenses/by/3.0/us/">CC-BY</a>, <a href="http://creativecommons.org/choose/zero/">CC0</a> that allow reuse and further analysis. We also need liberally licensed software that allow those same things, with simple licenses such as <a href="http://www.opensource.org/licenses/bsd-license.php">BSD</a> and <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0</a>. These libraries should contain well-tested implementations of data structures, algorithms and best structures, along with training for researchers to help them take advantage of these resources. If there is a better way to do something, contributions and integration should be encouraged as is the case in most open source communities.</p><p>

</p><p>Our <a href="http://www.openchemistry.org/">Open Chemistry project</a> recently got <a href="http://www.kitware.com/news/home/browse/OpenChemistry?2012_01_24&amp;Kitware+Receives+Phase+II+Funding+for+the+Development+of+a+Computational+Chemistry+Workbench">Phase II SBIR funding</a>, and I am very excited to be leading that work at Kitware. It is part of a collaborative, open effort to improve the tools and frameworks available in the area leveraging <a href="http://www.kitware.com/source/home/post/62">new software processes</a> to enable wider community involvement.</p></span></div>
    </content>
    <updated>2012-04-22T22:59:09Z</updated>
    <category term="Academia"/>
    <category term="Avogadro"/>
    <category term="Chemistry"/>
    <category term="FOSS"/>
    <category term="GSoC"/>
    <category term="Kitware"/>
    <category term="PhD"/>
    <author>
      <name>Marcus D. Hanwell</name>
      <email>marcus@cryos.net</email>
    </author>
    <source>
      <id>http://blog.cryos.net/</id>
      <logo>http://blog.cryos.net/templates/default/img/s9y_banner_small.png</logo>
      <link href="http://blog.cryos.net/" rel="alternate" type="text/html"/>
      <link href="http://blog.cryos.net/index.php?/feeds/index.rss2" rel="self" type="application/rss+xml"/>
      <subtitle>Random thoughts, life, work, open source, open science, diving...</subtitle>
      <title>Marcus D. Hanwell's Blog</title>
      <updated>2012-04-24T14:04:16Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:9d30190b-6c91-4752-8d7f-634338179855</id>
    <link href="http://blog.flameeyes.eu/2012/04/news-of-the-tinderbox-or-excelsior-inbound" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">News of the Tinderbox or, Excelsior Inbound</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>I know I’ve been tremendously silent in the past week or so, but I’ve been working my ass off — after all of I want to move here I have to work enough to show that I’m worth the investment, and that I l like the job enough. Of course, this means I also have to accept working with Adobe Flash and ActionScript 3, which I easily started to hate (sorry Mike).</p>
<p>At any rate, even though the <a href="https://pledgie.com/campaigns/17120">Pledgie</a> instance is not yet complete (just misses a little over $200!) I’ve ordered all the components for the new Tinderbox host, for which I also found a name: <a href="http://en.memory-alpha.org/wiki/USS_Excelsior">Excelsior</a> following my usual Trekkie naming scheme. While the original plan called for ordering all the components from NewEgg, I’ve had to switch the plan.</p>
<p>The reason is multi-folded. From one side, while NewEgg do support paying through PayPal, they only ship to a verified address, and while I can add bank accounts and credit cards from over here to my account, they do not allow me to add a second, verifiable address outside of Italy to the same account. This is not just a matter of not being able to add an American address, any other country beside Italy is forbidden to Italian account, and I assume that the same applies to all the other countries.</p>
<p>Another issue is that NewEgg does not let me pay through a credit card without verifying the billing address to the number (which is excruciating when you consider that <em>their</em> website by default replace the 5-digits <span class="caps">ZIP</span> code with the new, extended 9-digits one), and it does not allow me to add an Italian billing address. Finally, while I <em>do</em> have an US check card… the bank’s daily limit is set at two thousands dollars.</p>
<p>What it ended up to be, well, I ordered the barebone from NewEgg, and the rest of the components I ordered in multiple batches from Amazon (making sure that all the components I’m buying straight from Amazon, to make eventual returns easy). Turns out that this also allowed me to make a couple of changes to the original plan: the memory went from 32GB to 64GB, and the single <span class="caps">SSD</span> became two, although I’m now not sure if I should use them to build on when the tmpfs is too small or not.</p>
<p>By Wednesday, all the final components should be in; by end of next week I should have a basic working system, even though it won’t be publicly accessible at that point yet. My employer is going to sponsor the work offering space at the co-lo, assuming they have enough amps available, at which point this will be available to the public. If that’s not going to work due to power drain, I have alternatives in place so the system will be put somewhere pretty soon once it’s complete.</p>
<p>I want to thank all the people who’ve contributed already: without you this wouldn’t have been possible in so short a notice. I’ll make sure to get every single least power drop out of it used for Gentoo.</p></div>
    </content>
    <updated>2012-04-22T01:55:16Z</updated>
    <published>2012-04-22T01:55:16Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Linux-Planet" scheme="http://blog.flameeyes.eu/category/linux-planet" term="linux-planet"/>
    <category label="Personal" scheme="http://blog.flameeyes.eu/category/personal" term="personal"/>
    <category label="Technical" scheme="http://blog.flameeyes.eu/category/technical" term="technical"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://hexxeh.net/?p=328117855</id>
    <link href="http://hexxeh.net/?p=328117855" rel="alternate" type="text/html"/>
    <title>Raspberry Pi firmware updating</title>
    <summary>Whilst I’m hacking on Raspberry Pi images, I have to reinstall the firmware onto a blank image quite a lot. I thought it’d be easier if there was a tool that did this for me. Such a tool would also be useful for normal Raspberry Pi users who want to keep their kernel/firmware up to [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><img alt="" class="aligncenter" height="450" src="http://cl.ly/G19R/rpi.png" title="Raspberry Pi" width="900"/></p>
<p>Whilst I’m hacking on Raspberry Pi images, I have to reinstall the firmware onto a blank image quite a lot. I thought it’d be easier if there was a tool that did this for me. Such a tool would also be useful for normal Raspberry Pi users who want to keep their kernel/firmware up to date to try the latest and greatest new features out.</p>
<p>So I wrote a tool that does just that. It’s called rpi-updater. If you want to give it a shot, then simply follow the instructions linked below. Be warned, however, that it’s rather experimental and could break your image, causing it not to boot. You can’t do any permanent damage to your Pi, though, so as long as you’re not afraid to recreate your SD card, give it a shot.</p>
<p>Instructions on how to install and use the tool are available over at my GitHub account, which you can find <a href="https://github.com/Hexxeh/rpi-update" title="rpi-update">here</a>.</p></div>
    </content>
    <updated>2012-04-21T15:02:38Z</updated>
    <category term="Other"/>
    <author>
      <name>Hexxeh</name>
    </author>
    <source>
      <id>http://hexxeh.net</id>
      <link href="http://hexxeh.net/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://hexxeh.net" rel="alternate" type="text/html"/>
      <subtitle>Home of...um, well, Hexxeh...</subtitle>
      <title>Hexxeh's Blog</title>
      <updated>2012-04-21T15:04:16Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://hexxeh.net/?p=328117847</id>
    <link href="http://hexxeh.net/?p=328117847" rel="alternate" type="text/html"/>
    <title>despotify for Raspberry Pi</title>
    <summary>Unless you’ve been living under a rock for the past year, you’ve probably heard of the Raspberry Pi. I was lucky enough to get my hands on one of these around a week ago, and I must say, it’s a truly fantastic device. Of course, I got straight to work making it do weird and [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><img alt="" class="aligncenter" height="450" src="http://cl.ly/G19R/rpi.png" title="Raspberry Pi" width="900"/></p>
<p>Unless you’ve been living under a rock for the past year, you’ve probably heard of the Raspberry Pi. I was lucky enough to get my hands on one of these around a week ago, and I must say, it’s a truly fantastic device. Of course, I got straight to work making it do weird and wonderful things, but you’ll hear more from me on that subject in the coming weeks I hope!</p>
<p>To learn a little about how it’s media APIs work (and to get some music playing courtesy of a Pi whilst I work), I decided to get despotify working on the Pi. It turns out it wasn’t very difficult to do at all, and it runs decently (the library itself works well, but the clients still kinda suck sadly, so it does sometimes hang when you change song).</p>
<p>Since I figure fellow Raspberry Pi owners might want to use this, I’m publishing the changes required and some simple instructions on how to get it working. Do note that you MUST have a Spotify Premium account for this to work. Unlimited/Free accounts will NOT work and never will. With that said, here are the instructions:</p>
<ul>
<li>If you’re running Debian, run the following command: sudo apt-get install libtool git libssl-dev libmpg123-dev libvorbis-dev libncursesw5-dev</li>
<li>If you’re running Arch, then run the following command: pacman -Sy libtool git openssl mpg123 libvorbis ncurses</li>
<li>Now download the despotify code by running this command: git clone git://github.com/Hexxeh/despotify.git -b raspberrypi</li>
<li>Now build the despotify code by running this command: cd despotify/src &amp;&amp; make</li>
<li>It’ll then take a minute or two to compile the code. Assuming the compile finishes successfully, you can start listening to music by running one of the two following commands (each one launches a different client, personally I prefer simple)</li>
<li>./clients/simple &lt;username&gt; &lt;password&gt; OR ./clients/despotify</li>
</ul>
<p>Have fun! Feel free to submit pull requests if you can improve the code.</p></div>
    </content>
    <updated>2012-04-21T00:07:25Z</updated>
    <category term="Other"/>
    <author>
      <name>Hexxeh</name>
    </author>
    <source>
      <id>http://hexxeh.net</id>
      <link href="http://hexxeh.net/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://hexxeh.net" rel="alternate" type="text/html"/>
      <subtitle>Home of...um, well, Hexxeh...</subtitle>
      <title>Hexxeh's Blog</title>
      <updated>2012-04-21T15:04:16Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1712</id>
    <link href="http://blog.hartwork.org/?p=1712" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>Masking bad RAM with Grub2</title>
    <summary>I recently ran into the situation that during installation of some packages in Debian the display started showing graphic errors and the root file system reported to be read only (as it was configure to switch to read-only on errors through its mount options). memtest86+ first complete pass showed no errors at all but later [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I recently ran into the situation that during installation of some packages in Debian the display started showing graphic errors and the root file system reported to be read only (as it was configure to switch to read-only on errors through its mount options). <a href="http://www.memtest.org/">memtest86+</a> first complete pass showed no errors at all but later runs indicated errors at at least three addresses:</p>
<ul>
<li>00010c1d370</li>
<li>00010c1dab0</li>
<li>00004c1da90</li>
</ul>
<p>Interestingly, grub2 supports masking sections of RAM out of the box, a feature I recently spotted in /etc/grub/grub.cfg by chance. The example and documentation of parameter GRUB_BADRAM in grub.cfg looked like it was just a list of sectors to ignore so I started with “0x10c1d370,0x10c1dab0,0x04c1da90″ for it… to find a frozen Grub after reboot. After a bit of investigation I learned that every second entry is a mask on its predecessor and found a <a href="https://help.ubuntu.com/community/BadRAM#BADRAM_setting_in_Grub2">good howto</a> and on how to construct these. The bad RAM mask gave me a few hours of no noticeable errors… and then it came back, from another unmasked section I suppose. That made me order new RAM of a different brand.</p></div>
    </content>
    <updated>2012-04-20T22:33:51Z</updated>
    <category term="Frustration"/>
    <category term="Fun"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog</title>
      <updated>2012-05-11T10:05:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.siphos.be/?p=593</id>
    <link href="http://blog.siphos.be/2012/04/linux-sea-now-in-epub/" rel="alternate" type="text/html"/>
    <title>Linux Sea now in ePub</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">On request of Matthew Marchese, I now automatically build an ePub version of Linux Sea for those that like to read such resources on a digital reader. Thanks to the use of DocBook, this was simply a matter of using … <a href="http://blog.siphos.be/2012/04/linux-sea-now-in-epub/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
On request of Matthew Marchese, I now automatically build an <a href="http://swift.siphos.be/linux_sea/linux_sea.epub">ePub version</a> of <a href="http://swift.siphos.be/linux_sea">Linux Sea</a> for those that like to read such resources on a digital reader. Thanks to the use of DocBook, this was simply a matter of using its xsl-stylesheets/epub/docbook.xsl stylesheet against the DocBook sources and zip the created directory structures (OEBPS and META-INF) to get to the ePub file.</p></div>
    </content>
    <updated>2012-04-20T15:31:11Z</updated>
    <category term="Linux Sea"/>
    <author>
      <name>swift</name>
    </author>
    <source>
      <id>http://blog.siphos.be</id>
      <link href="http://blog.siphos.be/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blog.siphos.be" rel="alternate" type="text/html"/>
      <subtitle>Sven Vermeulen's web log</subtitle>
      <title>Simplicity is a form of art...</title>
      <updated>2012-05-04T21:05:24Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://stuartl.longlandclan.yi.org/blog/?p=898</id>
    <link href="http://stuartl.longlandclan.yi.org/blog/2012/04/21/fullduplex-gstreame/" rel="alternate" type="text/html"/>
    <title>Full-duplex streaming between sound cards with GStreamer</title>
    <summary>Some may recall my old set up I used to record the AWNOI net. A bit fiddly, but it worked, and worked well. However the machine I used was short-lived. Basically, I wanted to stream in both directions between a sound device connected to a HF radio transceiver, and a USB wireless headset, with a [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Some may recall <a href="http://stuartl.longlandclan.yi.org/blog/2008/10/31/wireless-h/">my old set up</a> I used to record the AWNOI net.  A bit fiddly, but it worked, and worked well.  However the machine I used was short-lived.  Basically, I wanted to stream in both directions between a sound device connected to a HF radio transceiver, and a USB wireless headset, with a feed being recorded to disk.</p>
<p>The problem with newer sound devices is the rather limited sync range possible with the modern audio CODECs.  Many will not do sample rates that aren’t a multiple of 44.1kHz or 48kHz, and I have a headset that won’t record any other sample rate other than 16kHz.  ALSA’s plug: doesn’t play nice with JACK, and I shelved the whole project for later.</p>
<p>Well, tonight I did some tinkering with gstreamer to see if it could do the routing I needed.  Certainly all the building blocks were there, I just had to get the pipeline right.  A bit of jiggling of parameters, and I managed to get audio going in both directions, and to a RIFF wave file to boot.  I’ve put it in a shell script for readability/maintainability:</p>
<pre>#!/bin/sh
# GStreamer bi-directional full-duplex audio routing script
# Stuart Longland VK4MSL

CAPT_BUFTIME=50000
CAPT_LATTIME=25000
PLAY_BUFTIME=20000
PLAY_LATTIME=1000

STREAM_FMT=audio/x-raw-int,channels=1,width=16,depth=16,rate=16000
OUTPUT_FMT=audio/x-raw-int,channels=2,width=16,depth=16,rate=16000
OUTPUT="${1:-out.wav}"

HEADSET_DEV=hw:Headset
HEADSET_CAPT_FMT=audio/x-raw-int,channels=1,width=16,depth=16,rate=16000
HEADSET_CAPT_BUFTIME=${CAPT_BUFTIME}
HEADSET_CAPT_LATTIME=${CAPT_LATTIME}
HEADSET_PLAY_FMT=audio/x-raw-int,channels=2,width=16,depth=16,rate=48000
HEADSET_PLAY_BUFTIME=${PLAY_BUFTIME}
HEADSET_PLAY_LATTIME=${PLAY_LATTIME}

SNDCARD_DEV=hw:NVidia
SNDCARD_CAPT_FMT=audio/x-raw-int,channels=2,width=16,depth=16,rate=48000
SNDCARD_CAPT_BUFTIME=${CAPT_BUFTIME}
SNDCARD_CAPT_LATTIME=${CAPT_LATTIME}
SNDCARD_PLAY_FMT=audio/x-raw-int,channels=2,width=16,depth=16,rate=48000
SNDCARD_PLAY_BUFTIME=${PLAY_BUFTIME}
SNDCARD_PLAY_LATTIME=${PLAY_LATTIME}

exec    gst-launch-0.10 \
    alsasrc device=${HEADSET_DEV} \
            name=headset-capt \
            slave-method=resample \
            buffer-time=${HEADSET_CAPT_BUFTIME} \
            latency-time=${HEADSET_CAPT_LATTIME} \
        ! ${HEADSET_CAPT_FMT} \
        ! audioresample \
        ! audioconvert \
        ! ${STREAM_FMT} \
        ! queue \
        ! tee name=headset \
        ! audioresample \
        ! audioconvert \
        ! ${SNDCARD_PLAY_FMT} \
        ! alsasink device=${SNDCARD_DEV} \
            name=sndcard-play \
            buffer-time=${SNDCARD_PLAY_BUFTIME} \
            latency-time=${SNDCARD_PLAY_LATTIME} \
    alsasrc device=${SNDCARD_DEV} \
            name=sndcard-capt \
            slave-method=resample \
            buffer-time=${SNDCARD_CAPT_BUFTIME} \
            latency-time=${SNDCARD_CAPT_LATTIME} \
        ! ${SNDCARD_CAPT_FMT} \
        ! audioresample \
        ! audioconvert \
        ! ${STREAM_FMT} \
        ! queue \
        ! tee name=soundcard \
        ! audioresample \
        ! audioconvert \
        ! ${HEADSET_PLAY_FMT} \
        ! alsasink device=${HEADSET_DEV} \
            name=headset-play \
            buffer-time=${HEADSET_PLAY_BUFTIME} \
            latency-time=${HEADSET_PLAY_LATTIME} \
    interleave name=recorder-in \
        ! audioconvert \
        ! audioresample \
        ! ${OUTPUT_FMT} \
        ! wavenc \
        ! filesink location="${OUTPUT}" \
    headset. \
        ! queue \
        ! recorder-in.sink1 \
    soundcard. \
        ! queue \
        ! recorder-in.sink0
</pre>
<p>Now the fun begins ironing out the kinks in my data cable for the FT-897.  At present, it works for receive, and seems to work for transmit.  I use VOX on the radio itself and keep the headset’s microphone on mute when I don’t want to transmit.</p>
<p>At present, I was getting a bit of distorted audio coming back through the headset when I transmitted, almost certainly RF-pickup in the cable and line-in circuitry of the computer’s sound card.  I’ll have to see if I can filter it out, but the real test will be seeing if such distortion is present on the outgoing signal — or rather, if it’s significantly audible to be a problem.</p></div>
    </content>
    <updated>2012-04-20T15:18:05Z</updated>
    <category term="Amateur Radio"/>
    <category term="Public Syndication"/>
    <category term="Thinktank"/>
    <author>
      <name>Redhatter (VK4MSL)</name>
    </author>
    <source>
      <id>http://stuartl.longlandclan.yi.org/blog</id>
      <logo>http://stuartl.longlandclan.yi.org/blog/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg</logo>
      <category scheme="http://www.itunes.com/" term="Society &amp; Culture"/>
      <author>
        <name>Blogospheric Refraction</name>
        <email>me@vk4msl.yi.org</email>
      </author>
      <link href="http://stuartl.longlandclan.yi.org/blog/category/public/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://stuartl.longlandclan.yi.org/blog" rel="alternate" type="text/html"/>
      <rights>2006-2007</rights>
      <title>Blogospheric Refraction » Public Syndication</title>
      <updated>2012-04-20T16:05:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://lxnay.wordpress.com/?p=490</id>
    <link href="http://lxnay.wordpress.com/2012/04/20/going-to-the-tizen-developer-conference/" rel="alternate" type="text/html"/>
    <title>Going to the Tizen Developer Conference</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I am really happy to announce that I’ve been invited to the Tizen Developer Conference, in San Francisco, CA next month (May 7-9). I’m going with a friend of mine, Michele Tameni, who seems to have won the Intel consolation prize (damn you!). I really need to thank Giovanni Martinelli and Mauro Fantechi for sponsoring my [...]<img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=lxnay.wordpress.com&amp;blog=14999083&amp;post=490&amp;subd=lxnay&amp;ref=&amp;feed=1" width="1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I am really happy to announce that I’ve been invited to the <a href="https://www.tizen.org/conference">Tizen Developer Conference</a>, in San Francisco, CA next month (May 7-9). I’m going with a friend of mine, Michele Tameni, who seems to have won the Intel consolation prize (damn you!).<br/>
I really need to thank <a href="http://about.me/giomarti">Giovanni Martinelli</a> and <a href="http://www.lightstreamer.com/aboutUs"><strong>Mauro</strong> </a><strong><a href="http://www.lightstreamer.com/aboutUs">Fantechi</a></strong> for sponsoring my trip there and across the whole San Francisco Bay Area (I’ve been told that it’s full of Gentooers, gonna catch you!).</p>
<p>This is a great opportunity for me to meet a good deal of hardcore FLOSS devs and have a beer together (just one?). There are also several exciting talks I couldn’t really miss.</p>
<p>Feel free to contact me if you want to meet up for a drink. A post to the gentoo-core ML will follow next week.</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/lxnay.wordpress.com/490/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lxnay.wordpress.com/490/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/lxnay.wordpress.com/490/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lxnay.wordpress.com/490/"/></a> <a href="http://feeds.wordpress.com/1.0/gofacebook/lxnay.wordpress.com/490/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lxnay.wordpress.com/490/"/></a> <a href="http://feeds.wordpress.com/1.0/gotwitter/lxnay.wordpress.com/490/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lxnay.wordpress.com/490/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/lxnay.wordpress.com/490/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lxnay.wordpress.com/490/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/lxnay.wordpress.com/490/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lxnay.wordpress.com/490/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/lxnay.wordpress.com/490/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lxnay.wordpress.com/490/"/></a> <img alt="" border="0" height="1" src="http://stats.wordpress.com/b.gif?host=lxnay.wordpress.com&amp;blog=14999083&amp;post=490&amp;subd=lxnay&amp;ref=&amp;feed=1" width="1"/></div>
    </content>
    <updated>2012-04-20T15:17:40Z</updated>
    <category term="Gentoo"/>
    <category term="Me"/>
    <category term="Sabayon"/>
    <author>
      <name>lxnay</name>
    </author>
    <source>
      <id>http://lxnay.wordpress.com</id>
      <logo>http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://lxnay.wordpress.com/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://lxnay.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://lxnay.wordpress.com/osd.xml" rel="search" title="On The Other Hand" type="application/opensearchdescription+xml"/>
      <link href="http://lxnay.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Becauze the otehr-hand mattres zZz</subtitle>
      <title>On The Other Hand</title>
      <updated>2012-05-04T22:04:53Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blogs.gentoo.org/scarabeus/?p=561</id>
    <link href="http://blogs.gentoo.org/scarabeus/2012/04/16/app-dicts-stuff-needs-your-love/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" rel="alternate" type="text/html"/>
    <title>app-dicts stuff needs your love</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you speak some fancy language other than english, then this post is exactly for you. While I was working on updating some of the lingua packages in the cvs based on euscan reports I checked their websites to ensure … <a href="http://blogs.gentoo.org/scarabeus/2012/04/16/app-dicts-stuff-needs-your-love/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>If you speak some fancy language other than english, then this post is exactly for you. While I was working on updating some of the lingua packages in the cvs based on euscan reports I checked their websites to ensure the euscan reports to be correct (in some cases it might miss a bump, or report some beta files). And I hit huge problem, all of those damn pages are writen in native language (eg hungarian spell is in hungarian, dutch in dutch…) which effectively means I can’t read s**t. It might be briliant to get more contributors, but most packagers for the software are developers which just try to make the users happy and do not speak your language at all (google translate is not much help in some cases).</p>
<p>To the point. If you can could you look up dictionaries for your language and check for new versions (ispell/aspell/myspell/…)? If there are some just drop me mail, open new bug and CC me on it, or whatever suits your plan.</p>
<p>Another problem with our app-dicts team is that it is not existing. Currently it is just pva (doing his best) and nobody else did any relevant work on dictionaries since 2k8. We have old support code for openoffice-1/2 and so on. Luckily it does not break anything much, but still it is quite cruft. So if you ever considered being Gentoo contributor this might be easy area how to get involved.</p>
<p>And for the end we need to rework all the myspell-* language packages as they still use <a href="http://wiki.services.openoffice.org/wiki/Dictionaries">old openoffice infrastructure</a>. This was shot down when oracle given all the stuff to apache foundation so all the links are dead. Job here is to search up dict/thes/whatever and set up proper homepage and download locations, maybe asking on irc channels of both projects ( libreoffice and openoffice) to see where they moved it up.</p>
<p>So anyone up for any of the tasks (no, I don’t want to do it because I am lazy, but I have quite lot of stuff within the libreo stuff itself)?</p></div>
    </content>
    <updated>2012-04-16T11:31:40Z</updated>
    <category term="Gentoo Stuff"/>
    <author>
      <name>scarabeus</name>
    </author>
    <source>
      <id>http://blogs.gentoo.org/scarabeus</id>
      <link href="http://blogs.gentoo.org/scarabeus/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blogs.gentoo.org/scarabeus" rel="alternate" type="text/html"/>
      <subtitle>Random stuff you probably never wanted to hear about</subtitle>
      <title>Scarabeus' blag</title>
      <updated>2012-05-14T11:05:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7803863447082200741.post-2460714537373724193</id>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/2460714537373724193" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default/2460714537373724193" rel="self" type="application/atom+xml"/>
    <link href="http://phajdan-jr.blogspot.com/2012/04/www-clientchromium-and-libjpeg-turbo.html" rel="alternate" title="www-client/chromium and libjpeg-turbo" type="text/html"/>
    <title>www-client/chromium and libjpeg-turbo</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Recently <a href="https://bugs.gentoo.org/show_bug.cgi?id=412031">Gentoo bug #412031</a> ("&gt;=www-client/chromium-18.0 should not force the media-libs/libjpeg-turbo dependency") has been filed. Samuli did the right thing and closed it, but I'd like to use this as an opportunity to explain the issue in more detail.<br/><br/>The original bug is <a href="https://bugs.gentoo.org/show_bug.cgi?id=393471">#393471</a>, filed by Gentoo Chromium team member Mike Gilbert four months ago and fixed in February. An <a href="http://trac.webkit.org/changeset/101286">optimization</a> done in WebKit JPEG decoding code (which speeds up JPEG decoding by up to 2x) assumed that the code will run against the same version of JPEG library it has been compiled with. In general such assumptions do not hold (with the note of SONAMEs, i.e. same library SONAME should mean it's binary-compatible; more on that later), but Google Chrome bundles all of those third-party libraries anyway, so for Google it's true.<br/><br/>I started a <a href="https://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/571bc73228177c63?pli=1">discussion</a> on chromium-dev mailing list, and also had direct e-mail exchange with developers doing the WebKit and libjpeg-turbo changes. The end result is we'd either have to keep a local patch in Gentoo to revert the optimization, or just always depend on libjpeg-turbo.<br/><br/>Of course the most cool would be to do the optimization The Right Way, by doing runtime detection of JPEG extensions, as made possible by DRC, libjpeg-turbo developer and explained in <a href="https://bugs.gentoo.org/show_bug.cgi?id=393471#c23">bug #393471 comment 23</a>. jcstest.c in libjpeg-turbo source tree indeed shows how to do that. The only reason I haven't done that yet in WebKit is lack of time (it's not just producing the patch; compiling WebKit and running its layout tests takes a lot of it; and then dealing with any possible breakages), but I plan to do that in the future (help is welcome).<br/><br/>Speaking about The Right Way, another broken thing is that libraries that have the same SONAME (in this case libjpeg and libjpeg-turbo) behave differently when using JPEG extensions. You may recognize the libpng "breakages", but it seems to me libpng upstream actively cleans up the interface of the library, and it obviously updates SONAME accordingly. That's a good thing.<br/><br/>Hopefully it's now more clear why the Gentoo package www-client/chromium depends on libjpeg-turbo and not virtual/jpeg.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7803863447082200741-2460714537373724193?l=phajdan-jr.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-04-16T06:23:12Z</updated>
    <published>2012-04-16T06:23:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="chromium"/>
    <author>
      <name>Paweł Hajdan, Jr.</name>
      <email>noreply@blogger.com</email>
      <uri>https://profiles.google.com/115952810462621118454</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7803863447082200741</id>
      <category term="chromium"/>
      <category term="selinux"/>
      <category term="gentoo"/>
      <author>
        <name>Paweł Hajdan, Jr.</name>
        <email>noreply@blogger.com</email>
        <uri>https://profiles.google.com/115952810462621118454</uri>
      </author>
      <link href="http://phajdan-jr.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://phajdan-jr.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7803863447082200741/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Paweł Hajdan's Dev Blog</title>
      <updated>2012-05-16T06:07:40Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.siphos.be/?p=588</id>
    <link href="http://blog.siphos.be/2012/04/why-both-chroot-and-selinux/" rel="alternate" type="text/html"/>
    <title>Why both chroot and SELinux?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In my previous post, a very valid question was raised by Alexander E. Patrakov: why still use chroot if you have SELinux? Both chroot (especially with the additional restrictions that grSecurity enables on chroots that make it more difficult to … <a href="http://blog.siphos.be/2012/04/why-both-chroot-and-selinux/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
In my <a href="http://blog.siphos.be/2012/04/chrooted-bind-for-ipv6-with-selinux/">previous post</a>, a very valid question was raised by Alexander E. Patrakov: why still use chroot if you have SELinux?
</p>
<p>
Both chroot (especially with the additional restrictions that grSecurity enables on chroots that make it more difficult to break out of a chroot) and SELinux try to isolate an application so it only has access to those resources it needs. Chroot does this on file-level basis (and a bit more with grSecurity), SELinux on more general resources. However, things that make SELinux strong (flexible and detailed policy language, fine-grained authorizations) are also its weakness (consolidating files into groups having the same file label), and chroot does have an advantage on this.
</p>
<p>
Suppose that a flaw exists in BIND through which an attacker can read files on the host (through BIND). With SELinux, the domain in which BIND runs is prohibited from accessing and reading files whose label is not one of the labels that the policy thinks BIND should be able to read. More specifically, the BIND policy in the reference policy (which is what both Gentoo and RedHat base their policies on, and generally policies are only enlarged, never really shrinked):
</p>
<ul>
<li>
etc_runtime_t (read) means access to the files in /etc that are modified at runtime (like mtab, profile.env, gentoo’s /etc/env.d)
</li>
<li>
named_var_run_t (read) is access to /var/run/bind and /var/run/named (and a few other related locations)
</li>
<li>
named_checkconf_exec_t (read/execute) is access to read and execute /usr/sbin/named-checkconf
</li>
<li>
named_conf_t (read) to read the BIND-related configuration files
</li>
<li>
dnssec_t (read) to read the DNSSEC keyfiles
</li>
<li>
locale_t (read) to access /etc/localtime, /usr/share/locale/*, /usr/share/zoneinfo/*
</li>
<li>
etc_t (read) to read the general configuration files in /etc (including passwd, fstab, …)
</li>
<li>
proc_t (read), proc_net_t (read) and sysfs_t (read) to access those pseudo filesystems
</li>
<li>
udev_tbl_t (read) to access /dev/.udev and /var/run/udev (but I have no idea yet why this is in)
</li>
<li>
named_log_t (read/write) for the log files of BIND
</li>
<li>
net_conf_t (read) to access /etc/hosts (including deny/allow), resolv.conf, …
</li>
<li>
named_exec_t (read/execute) the BIND executables
</li>
<li>
named_zone_t (read) to access the zone files, also write access in case of slave system
</li>
<li>
cert_t (read) to read certificate information
</li>
<li>
named_cache_t (read/write) to access its cache
</li>
<li>
named_tmp_t (read/write) to work with temporary files
</li>
</ul>
<p>
Isolation provided by SELinux is as powerful as the width of its labeling. For instance, by giving the named daemon read access to /etc files like passwd, fstab, group, hosts, resolv.conf and more, a malicious user who can exploit this hypothetical vulnerability can obtain information that might help him in his further attempts. By chrooting BIND, the files placed in the chroot itself should not offer the information he might be looking for (for instance, the passwd file, if needed at all, is limited to just the named and root accounts, etc.)
</p>
<p>
Chrooting, but not enabling SELinux, could lead to escalation. A chroot cannot restrict what a process is allowed to do beyond the regular access privileges that are given on the user. If a user can upload an exploit through BIND and have BIND execute it, he can use this as an attack vector for further activities. SELinux here prohibits BIND to write stuff it can also execute (there is no write and execute privilege defined here). It also ensures that the BIND daemon never exists his security domain (transitioning towards another domain with perhaps other privileges) as there are no transition rules from named_t to any other domain.
</p>
<p>
Another MAC system that would be better suited to fit both is grSecurity’s RBAC model. Iirc, it uses path definitions to say which files are allowed to access and which not. The weakness SELinux here has (aggregation into sets of files with the same label) doesn’t exist for grSecurity. This debate on path-based versus label-based access controls have been going on for very long time now – just google it ;-)
</p>
<p>
So, Alexander, in short: chroot further limits the SELinux-allowed privileges to a more fine-grained set of file system resources (files/directories).</p></div>
    </content>
    <updated>2012-04-15T07:41:01Z</updated>
    <category term="Gentoo"/>
    <category term="Hardened"/>
    <category term="SELinux"/>
    <author>
      <name>swift</name>
    </author>
    <source>
      <id>http://blog.siphos.be</id>
      <link href="http://blog.siphos.be/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blog.siphos.be" rel="alternate" type="text/html"/>
      <subtitle>Sven Vermeulen's web log</subtitle>
      <title>Simplicity is a form of art...</title>
      <updated>2012-05-04T21:05:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.siphos.be/?p=585</id>
    <link href="http://blog.siphos.be/2012/04/chrooted-bind-for-ipv6-with-selinux/" rel="alternate" type="text/html"/>
    <title>Chrooted BIND for IPv6 with SELinux</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">BIND, or Berkeley Internet Name Domain, is one of the Internet’s most popular domain name service software (DNS). It has seen its set of security flaws in the past, which is not that strange as it is such a frequently … <a href="http://blog.siphos.be/2012/04/chrooted-bind-for-ipv6-with-selinux/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
BIND, or Berkeley Internet Name Domain, is one of the Internet’s most popular domain name service software (DNS). It has seen its set of security flaws in the past, which is not that strange as it is such a frequently used service on the Internet. In this post, I’ll give a quick intro on how to use it in Gentoo Hardened (with PaX)… chrooted… for IPv6… with SELinux ;-)
</p>
<p>
Installing is of course, as usual, dead easy on Gentoo (Hardened/SELinux). Make sure you have USE=”ipv6″ set, and then <b>emerge bind</b>. Also install <b>bind-tools</b> as they contain some great tools to help with DNS troubleshooting. Then we’re editing /etc/conf.d/named to set the CHROOT variable. I also set CHROOT_NOMOUNT so that Gentoo doesn’t bind-mount the information in the chroot but instead uses the files in the chroot.
</p>
<pre>CHROOT="/var/named/chroot"
CHROOT_NOMOUNT="1"
</pre>
<p>
Now we need to either temporarily add some privileges in SELinux, or run the portage_t domain in permissive mode. If you go for privileges, then add the following:
</p>
<pre>allow portage_t var_t:chr_file { create getattr setattr };
</pre>
<p>
If you however want to temporarily run the portage_t domain in permissive mode, do that as follows:
</p>
<pre>~# semanage permissive -a portage_t
</pre>
<p>
We are doing this because we are now going to ask the BIND ebuild to prepare the chroot for us. Doing so however requires portage to work on our live file system (and not in the regular “sandbox” mode). SELinux however forces portage in the portage_t domain and only gives it the privileges it needs for building and installing software.
</p>
<pre>~# emerge --config bind
</pre>
<p>
When done, remove the previous SELinux allow rules again (or set the portage_t domain back in enforcing mode, through <b>semanage permissive -d portage_t</b>). Next we need to relabel the files in the chroot. By default, all files are labeled by SELinux as var_t in that location because it isn’t aware that it needs to see /var/named/chroot as a “root” location.
</p>
<pre>~# setfiles -r /var/named/chroot /etc/selinux/strict/contexts/files/file_contexts /var/named/chroot
</pre>
<p>
So far so good. Now let’s create a simple named.conf file (in /var/named/chroot/etc/bind):
</p>
<pre>options {
  directory "/var/bind";
  pid-file "/var/run/named/named.pid";
  statistics-file "/var/run/named/named.stats";
  listen-on { 127.0.0.1; };
  listen-on-v6 { 2001:db8:81:21::ac:98ad:5fe1; };
  allow-query { any; };
  zone-statistics yes;
  allow-transfer { 2001:db8:81:22::ae:6b01:e3d8; };
  notify yes;
  recursion no;
  version "[nope]";
};

# Access to DNS for local addresses (i.e. genfic-owned)
view "local" {
  match-clients { 2001:db8:81::/48; };
  recursion yes;
  zone "genfic.com" { type master; file "pri/com.genfic"; };
  zone "1.8.0.0.8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "pri/inv.com.genfic"; };
};
</pre>
<p>
The zone files referenced in the configuration file are located in /var/named/chroot/var/bind (in a subdirectory called pri – which I use for “primary”). The regular one would look similar to this:
</p>
<pre>$TTL 1h ;
$ORIGIN genfic.com.
@       IN      SOA     ns.genfic.com. ns.genfic.com. (
                        2012041101
                        1d
                        2h
                        4w
                        1h )

        IN      NS      ns.genfic.com.
        IN      NS      ns2.genfic.com.
        IN      MX      10      mail.genfic.com.
        IN      MX      20      mail2.genfic.com.

genfic.com.     IN      AAAA    2001:db8:81:80::dd:13ed:c49e;
ns              IN      AAAA    2001:db8:81:21::ac:98ad:5fe1;
ns2             IN      AAAA    2001:db8:81:22::ae:6b01:e3d8;
www             IN      CNAME   genfic.com.;
mail            IN      AAAA    2001:db8:81:21::b0:0738:8ad5;
mail2           IN      AAAA    2001:db8:81:22::50:5e9f:e569;
; (...)
</pre>
<p>
while the one for reverse lookups looks like so:
</p>
<pre>$TTL 1h ;
@       IN      SOA     1.8.0.0.8.b.d.0.1.0.0.2.ip6.arpa ns.genfic.com. (
                        2012041101
                        1d
                        2h
                        4w
                        1h )

        IN      NS      ns.genfic.com.
        IN      NS      ns2.genfic.com.

$ORIGIN 1.8.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

1.e.f.5.d.a.8.9.c.a.0.0.0.0.0.0.1.2.0.0         IN      PTR     ns.genfic.com.
8.d.3.e.1.0.b.6.e.a.0.0.0.0.0.0.2.2.0.0         IN      PTR     ns2.genfic.com.
; (...)
</pre>
<p>
We can now start the init script:
</p>
<pre>~# rc-service named start
</pre>
<p>
On the slave, don’t set the allow-transfer directive and set its type to “slave”. In each zone, you will need to tell where the master is:
</p>
<pre>zone "genfic.com" {
  type slave;
  masters { 2001:db8:81:21::ac:98ad:5fe1; }
  file "sec/com.genfic";
};
</pre>
<p>
By default, the SELinux policy for BIND does not allow BIND to write stuff in its directories. On the slave system, you will need to change this. A SELinux boolean here does the trick:
</p>
<pre>~# setsebool -P named_write_master_zones on;
</pre>
<p>
There ya go ;-) Okay, all very condensely written, but it should give some feedback on how to proceed. I’m adding this information to the new online resource I’m writing – <a href="http://swift.siphos.be/aglara">A Gentoo Linux Advanced Reference Architecture</a>. Nothing really ready yet, just writing as I go forward with exploring these technologies…</p></div>
    </content>
    <updated>2012-04-14T21:08:39Z</updated>
    <category term="Gentoo"/>
    <category term="Hardened"/>
    <category term="SELinux"/>
    <author>
      <name>swift</name>
    </author>
    <source>
      <id>http://blog.siphos.be</id>
      <link href="http://blog.siphos.be/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blog.siphos.be" rel="alternate" type="text/html"/>
      <subtitle>Sven Vermeulen's web log</subtitle>
      <title>Simplicity is a form of art...</title>
      <updated>2012-05-04T21:05:24Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:fc75c283-b7d4-46a9-90c2-9f9be9272e89</id>
    <link href="http://blog.flameeyes.eu/2012/04/windows-7-and-uefi" rel="alternate" type="text/html"/>
    <title xml:lang="en-US">Having an use for UEFI: Windows 7 as a second OS</title>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>This is not your average Linux-focused post, I’ m sorry if you were expecting one.</p>
<p>As I said lately, I’m now in Los Angeles, and while my dayjob involves working with a Gentoo-based firmware (and a Flash-written interface), I also have to complete a few tasks for customers at home, one of which requires me to use Windows 7 and Visual Studio 2008, both of which I own a license of … but in Italy.</p>
<p>While my original plan was to use TeamViewer (of which I also have a license — no kidding I know the value of Free Software, given how much I must spend on proprietary software to perform the task that <span class="caps">FLOSS</span> is unable to), but unfortunately the same router crash that <a href="http://blog.flameeyes.eu/2012/04/readying-a-new-tinderbox-i-could-use-your-help">caused Yamato’s unavailability</a> has caused me to lose access to the laptop I used for this task.</p>
<p>This became even more troublesome considering that while my Dell laptop came with a Windows 7 Professional license, I decided to not install it back last time I decided to repartition it, and even more importantly, when I came here to the US I replaced the 250GB <span class="caps">SATA</span> hard drive with a 64GB <span class="caps">SSD</span> which is entirely dedicated to my Gentoo installation.</p>
<p>How to solve this situation? Well, seems like I did set me up with the single component to handle this properly: an eSATAp-to-<span class="caps">SATA</span> cable, a passive adapter, which can be used in combined eSATA/<span class="caps">USB</span> ports, which my laptop has (incidentally, that works just fine if you boot the system with it connected; it also works fine if you resume with it connected… but Linux seems not to have a way to rescan the bus properly, making it unsuitable for hotplug), The other part to this task is of course having the product keys (the Windows 7 one is under my battery, the Visual Studio one is on my <span class="caps">NAS</span>, which means a friend of mine can access it), and the discs… luckily, Microsoft’s official <span class="caps">ISO</span> files are available, even though you have to hunt for the Windows 7 ones, as they are not public. Visual Studio 2008 and the SP1 are available as downloads, the first as a 90 days convertible trial, which is fine.</p>
<p>My idea was to hope for the best, install Windows on the secondary disk, and then re-install grub2, through SysRescue, to be able to boot from the external drive. Well, it turns out it was much more easy than that. For whatever reason, my laptop can keep booting <span class="caps">UEFI</span> and non-<span class="caps">UEFI</span> modes without having to reconfigure the firmware every time, just by using F12 to choose the different boot device. So I started the Windows installation in <span class="caps">UEFI</span> mode, and watched it progress (I already knew that the firmware can easily boot from the external harddrive, as the eSATA interface only shows it on a different <span class="caps">AHCI</span> host, but it’s initialized the same way as the internal one).</p>
<p>After the first installation step was completed, I was honestly surprised to find out that… Windows didn’t even <em>touch</em> grub2! Instead, what it did was create its own <span class="caps">EFI</span> boot partition on the secondary harddrive, leaving the main harddrive totally clean… I just have to select “Windows Boot Manager” from the F12 menu, and Windows 7 boots and doesn’t give anything about being on a physically external drive. Even their performance score system is not showing any difference from having it internal (although I’m sure it would show the difference if it was Windows on the <span class="caps">SSD</span>).</p>
<p>Of course this is not to say that Microsoft’s software is not the usual stinking stuff… but at least they can leverage <span class="caps">UEFI</span>, with all its faults, to make for something… and luckily, they no longer want to be the sole owners of my laptop to just let me use their stuff for <em>one</em> job.</p></div>
    </content>
    <updated>2012-04-14T16:44:23Z</updated>
    <published>2012-04-14T16:44:23Z</published>
    <category label="English" scheme="http://blog.flameeyes.eu/category/english" term="english"/>
    <category label="Personal" scheme="http://blog.flameeyes.eu/category/personal" term="personal"/>
    <category scheme="http://blog.flameeyes.eu/tag/dell" term="Dell"/>
    <category scheme="http://blog.flameeyes.eu/tag/uefi" term="UEFI"/>
    <category scheme="http://blog.flameeyes.eu/tag/windows" term="Windows"/>
    <category scheme="http://blog.flameeyes.eu/tag/esata" term="eSATA"/>
    <author>
      <name>Flameeyes</name>
      <email>flameeyes@flameeyes.eu</email>
    </author>
    <source>
      <id>tag:blog.flameeyes.eu,2005:/category/english</id>
      <link href="http://blog.flameeyes.eu" rel="alternate" type="text/html"/>
      <link href="http://blog.flameeyes.eu/category/english.atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en-US">The weblog of Diego Elio Pettenò</subtitle>
      <title xml:lang="en-US">Flameeyes's Weblog : Category: English | Flameeyes's Weblog</title>
      <updated>2012-05-16T01:55:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://michal.hrusecky.net/?p=1126</id>
    <link href="http://michal.hrusecky.net/2012/04/help-me-polish-mysql-in-opensuse-12-2/" rel="alternate" type="text/html"/>
    <title>Help me polish MySQL in openSUSE 12.2</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you are following news regarding openSUSE and MySQL, you probably already know, that we have both MySQL and MariaDB in openSUSE to allow users to choose what they want to use. And if these two options are not enough, we’ve got server:database repository with newest and greatest development versions of both and MySQL Cluster … <p/><p><a class="more-link block-button" href="http://michal.hrusecky.net/2012/04/help-me-polish-mysql-in-opensuse-12-2/">Continue reading »</a></p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://michal.hrusecky.net/wp-content/uploads/we_can_do_it.png"><img alt="&quot;We can do it!&quot; by worker" class="alignleft size-medium wp-image-1070" height="300" src="http://michal.hrusecky.net/wp-content/uploads/we_can_do_it-229x300.png" title="We can do it!" width="229"/></a>If you are following news regarding openSUSE and MySQL, you probably already know, that we have both MySQL and MariaDB in openSUSE to allow users to choose what they want to use. And if these two options are not enough, we’ve got <a href="http://download.opensuse.org/repositories/server:/database/" target="_blank" title="server:database repository">server:database</a> repository with newest and greatest development versions of both and MySQL Cluster on to of that. I think all this is great and awesome, that we have all of that.</p>
<p>Now to the not so great part. Unfortunately I’m bare human, I have to eat, sleep and I have some work, some bugs that takes a lot more time that I expected, some school duties to take care of and of course openSUSE Conference to organize! So as a result of all that, I can’t polish MySQL and MariaDB as much I would love to. And on top of that, I’m not expert in MySQL configuration. Part of that is that it just works and I never had any server where MySQL was slowing things down. But there is plenty of skilled MySQL administrators out there in community! So I’m calling out for help. You skilled MySQL admins probably have a lot of interesting tweaks you are applying to default configuration file. So take a look at them and think what could be useful for everybody, not just in your specific use-case. And either send me snippet with short explanation in the comments, or create .cnf file add it to the flavor directory and send me pull request on <a href="http://michal.hrusecky.net/2011/10/how-do-i-handle-all-those-mysqls/" target="_blank" title="How do I handle all those MySQLs">github</a>! I’ll keep credits and your explanation of the snippet inside, so people will know, who came with this cool option and what does it do <img alt=";-)" class="wp-smiley" src="http://michal.hrusecky.net/wp-includes/images/smilies/icon_wink.gif"/> </p>
<p>Oh, and don’t get discouraged if I don’t include it right away, it may take me some time to get to it, but I’ll appreciate every suggestion <img alt=";-)" class="wp-smiley" src="http://michal.hrusecky.net/wp-includes/images/smilies/icon_wink.gif"/> </p></div>
    </content>
    <updated>2012-04-14T16:00:00Z</updated>
    <category term="English"/>
    <category term="MySQL"/>
    <category term="openSUSE"/>
    <category term="community"/>
    <category term="configuration"/>
    <category term="MariaDB"/>
    <category term="packages"/>
    <author>
      <name>Michal Hrušecký</name>
    </author>
    <source>
      <id>http://michal.hrusecky.net</id>
      <link href="http://michal.hrusecky.net/category/english/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://michal.hrusecky.net" rel="alternate" type="text/html"/>
      <subtitle>...about me, Linux and OpenSource</subtitle>
      <title>Michal Hrušecký » English</title>
      <updated>2012-04-14T16:04:49Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>https://blogs.gentoo.org/mgorny/?p=116</id>
    <link href="http://blogs.gentoo.org/mgorny/2012/04/13/the-suggested-dependencies-problem/" rel="alternate" type="text/html"/>
    <title>The suggested dependencies problem</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Optional runtime dependencies (or «suggested dependencies») are one of the late problems we’re facing in Gentoo. There’s definitely a need for some standard solution, and it’d be great to put it in the next EAPI. Sadly, there’s no consensus how to solve it. The optional dependencies problem Gentoo has a very neat solution … <a href="http://blogs.gentoo.org/mgorny/2012/04/13/the-suggested-dependencies-problem/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Optional runtime dependencies (or «suggested dependencies») are one of the late problems we’re facing in Gentoo. There’s definitely a need for some standard solution, and it’d be great to put it in the next EAPI. Sadly, there’s no consensus how to solve it.</p>
<h2>The optional dependencies problem</h2>
<p>Gentoo has a very neat solution for handling optional dependencies and optional features, probably ever since the beginning. It is called «USE flags» and they work very well with the «traditional» optional dependencies. By that, I mean optional dependencies which are both build- and run-time.</p>
<p>Such a dependencies have to be pulled in before the build process starts, and usually require passing specific options in the configure phase. What’s important, both enabling and disabling features requires rebuilding the program in question because of code branches being switched. Thus, it’s perfectly fine if changing USE flags implies rebuilding the package.</p>
<p>Sadly, when it comes to optional runtime dependencies, USE flags are not a perfect solution. «Switching» such a dependency doesn’t require rebuilding the program anymore. It’s usually not even switching — the program can determine in runtime whether a particular dependency is available, and either enable or disable respective features. Simple like that.</p>
<p>If one decides to use USE flags for that, they become partially meaningless. Unless flags start stripping off the code (which is a bad idea), feature availability is dependency- rather than flag-based. So, <code>USE=-ssl</code> is irrelevant if, say, <code>pyopenssl</code> is installed. What’s even worse, flag imply needless rebuilding of such packages just to pull in an additional dependency.</p>
<h2>The simple hack — pkg_postinst() messages</h2>
<p>The simplest solution right now is just listing the suggested dependencies in <code>pkg_postinst()</code> messages. Combined with <code>has_version</code> helper, those messages can give a pretty nice output, pointing out already installed packages — just take a look at <code>sys-apps/systemd</code> ebuild.</p>
<p>Of course, it’s not a real solution, rather relying on user doing the hard work. The biggest disadvantage is that the dependencies are often going to end up in <em>@world</em>. And then, if user decides to unmerge our package, portage is unable to find and unmerge them as well.</p>
<h2>The SDEPEND solution</h2>
<p>A pretty common idea is to establish a new variable called <code>SDEPEND</code> (for «suggested»). Such a variable would simply list relevant dependencies, and let portage handle the UI part somehow. It is a minimalistic solution, quite consistent with other parts of PMS. Sadly, it has a few big shortcomings.</p>
<p>First, using our current dependency syntax, you can’t specify that a particular feature requires more than one package; in other words, that two or more suggested dependencies are supposed to be pulled in together. Of course, solving this one would be pretty easy — e.g. by allowing grouping them with parantheses.</p>
<p>A much more important issue is describing what particular dependencies do. Although sometimes this could be guessed by package descriptions pretty well, usually a more friendly text would be great. So, we end up having to implement that somehow.</p>
<p>And that’s usually when Ciaran comes in with ugly exherbism <code>DEPENDENCIES</code>. Sure, it solves most of the issues pointed out here but, hell, do we really want such a thing? Isn’t dependency syntax obscure enough already?</p>
<p>And it’s all rather dependency-oriented. In other words, package comes first, then goes the feature description. «Pass <code>dev-python/pyopenssl</code> or <code>dev-python/python-gnutls</code> to enable secure connections support». I don’t think that’s the most user friendly solution.</p>
<h2>The USE flag solution</h2>
<p>Another solution is brining a new category of USE flags. It’s not important whether they would be specified using a special variable, common <code>USE_EXPAND</code> or another magical features. In fact, that could be a thing totally separate from USE flags. The point is that some of the package flags would be runtime-switchable.</p>
<p>Unlike traditional USE flags, such flags wouldn’t be stored in vdb. They would be evaluated in place instead, using <code>package.use</code> or similar files, and the dependency tree would use current state of such flags. Of course, they would be allowed for <code>RDEPEND</code> (<code>PDEPEND</code>) use only.</p>
<p>Why reuse USE flags for that? Because it’s the most user-friendly solution. User doesn’t have to learn anything new. He/she enables a flag, does <code>emerge -vDtN @world</code> and notices that new dependencies are pulled in but the package doesn’t have to be rebuilt for that.</p>
<p>If we just add some additional magic for regular USE flags, enabling run-time dependant SSL support could be exactly the same as enabling build-time one — even using the same <code>USE=ssl</code>.</p>
<p>And we could basically even give «backwards» support for older EAPIs. Package managers not supporting the new feature would simply treat runtime-switchable USE flags as regular USE flags, requiring rebuilds of the package.</p></div>
    </content>
    <updated>2012-04-13T16:46:22Z</updated>
    <category term="Gentoo"/>
    <author>
      <name>Michał Górny</name>
    </author>
    <source>
      <id>http://blogs.gentoo.org/mgorny</id>
      <link href="http://blogs.gentoo.org/mgorny/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blogs.gentoo.org/mgorny" rel="alternate" type="text/html"/>
      <subtitle>Retroactively fixing the world</subtitle>
      <title>Michał Górny</title>
      <updated>2012-04-25T21:04:15Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.siphos.be/?p=583</id>
    <link href="http://blog.siphos.be/2012/04/documentation-updates-for-initramfs-needed/" rel="alternate" type="text/html"/>
    <title>Documentation updates for initramfs needed?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A quick help request from the community: if you know of any Gentoo documents that need updates in order for end users to know when and how to use initramfs, please file bugreports and have them block bug #407959. Currently, … <a href="http://blog.siphos.be/2012/04/documentation-updates-for-initramfs-needed/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
A quick help request from the community: if you know of any Gentoo documents that need updates in order for end users to know when and how to use initramfs, please file <a href="https://bugs.gentoo.org">bugreports</a> and have them <a href="https://bugs.gentoo.org/show_bug.cgi?id=407959">block bug #407959</a>. Currently, we have updated the Gentoo Handbook, Gentoo Quickinstall guides and added an Initial ramfs Guide.
</p>
<p>
The tracker bug is also used to check if and when the eventual roll-out of software can happen, and we want to make sure that we do not forget documentation (something we learned from the openrc migration). Not that the change is as large as was the case with openrc, but it is still nice to have updated documentation in time ;-)</p></div>
    </content>
    <updated>2012-04-12T15:40:54Z</updated>
    <category term="Gentoo"/>
    <author>
      <name>swift</name>
    </author>
    <source>
      <id>http://blog.siphos.be</id>
      <link href="http://blog.siphos.be/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blog.siphos.be" rel="alternate" type="text/html"/>
      <subtitle>Sven Vermeulen's web log</subtitle>
      <title>Simplicity is a form of art...</title>
      <updated>2012-05-04T21:05:24Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7849507270164967036.post-3354834100297961002</id>
    <link href="http://dilfridge.blogspot.com/feeds/3354834100297961002/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/>
    <link href="http://dilfridge.blogspot.com/2012/04/calligra-240-is-out.html#comment-form" rel="replies" title="0 Comments" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default/3354834100297961002" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default/3354834100297961002" rel="self" type="application/atom+xml"/>
    <link href="http://dilfridge.blogspot.com/2012/04/calligra-240-is-out.html" rel="alternate" title="Calligra 2.4.0 is out!" type="text/html"/>
    <title>Calligra 2.4.0 is out!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Let's all congratulate the Calligra team for <a href="http://www.calligra.org/news/calligra-2-4-released/" target="_blank">releasing Calligra 2.4.0</a>, the first version of their integrated application suite for KDE. It has really gone a long way from the old KOffice codebase. Of course, Gentoo already has ebuilds <span style="font-family: inherit;">as <span>app-office/calligra</span><span style="font-family: inherit;">. Gi</span>ve it a try! Cheers!</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7849507270164967036-3354834100297961002?l=dilfridge.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-04-11T22:10:17Z</updated>
    <published>2012-04-11T22:10:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="kde"/>
    <author>
      <name>Andreas</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12314847423280010909</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7849507270164967036</id>
      <category term="arm"/>
      <category term="graphene"/>
      <category term="astronomy"/>
      <category term="gpib"/>
      <category term="sysadmin"/>
      <category term="books"/>
      <category term="gentoo"/>
      <category term="ostpforte"/>
      <category term="maths"/>
      <category term="scifi"/>
      <category term="humour"/>
      <category term="france"/>
      <category term="art"/>
      <category term="cups"/>
      <category term="digikam"/>
      <category term="photos"/>
      <category term="spain"/>
      <category term="romanesque"/>
      <category term="nobelprize"/>
      <category term="stupidity"/>
      <category term="kde"/>
      <category term="err-what?"/>
      <category term="meta"/>
      <category term="archaeology"/>
      <category term="phdcomics"/>
      <category term="italy"/>
      <category term="food"/>
      <category term="comp-sci"/>
      <category term="regensburg"/>
      <category term="physics"/>
      <category term="nanotubes"/>
      <category term="architecture"/>
      <category term="work"/>
      <category term="travelling"/>
      <category term="research-group"/>
      <category term="hardened"/>
      <author>
        <name>Andreas</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12314847423280010909</uri>
      </author>
      <link href="http://dilfridge.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://dilfridge.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>the dilfridge blog</title>
      <updated>2012-05-11T18:24:05Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7849507270164967036.post-7358202610733264147</id>
    <link href="http://dilfridge.blogspot.com/feeds/7358202610733264147/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/>
    <link href="http://dilfridge.blogspot.com/2012/04/neat-trick-for-testing-patches-in.html#comment-form" rel="replies" title="12 Comments" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default/7358202610733264147" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default/7358202610733264147" rel="self" type="application/atom+xml"/>
    <link href="http://dilfridge.blogspot.com/2012/04/neat-trick-for-testing-patches-in.html" rel="alternate" title="A neat trick for testing patches in Gentoo (source-based distros are great!)" type="text/html"/>
    <title>A neat trick for testing patches in Gentoo (source-based distros are great!)</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Imagine you are running... say... Kubuntu, OpenSuSE, or Fedora, or any other of these famous and fantastic binary Linux distributions. You find a bug, report it to the authors of the package, and they come up with a possible solution. "Hey, here's a small patch to the source, could you please try if applying that helps?" Well... Either now you compile manually, which may or may not give the same packages as your distribution. Or you start setting up the full build system of your distro, which will take a while...<br/>With Gentoo as a source-based distribution, however, this is very easy. Let's assume you want to apply a patch for more debug output to some kde plasma applets. The patch file is called debug.patch, the package name for the plasma applets is <span class="quote">kde-base/plasma-apps. All you have to do is</span><br/><blockquote class="tr_bq">mkdir -p /etc/portage/patches/kde-base/plasma-apps<br/>cp debug.patch /etc/portage/patches/kde-base/plasma-apps/<br/>emerge -a1 kde-base/plasma-apps</blockquote>Finished. The patch is automatically applied during the emerge command: <br/><blockquote class="tr_bq"> &gt;&gt;&gt; Preparing source in /var/tmp/portage/kde-base/plasma-apps-4.8.2/work/plasma-apps-4.8.2 ...<br/> * Applying user patches from /etc/portage/patches//kde-base/plasma-apps ...<br/> *   debug.patch ...                      [ ok ]<br/> * Done with patching<br/>&gt;&gt;&gt; Source prepared.</blockquote>Isn't that a nice trick? :)<br/>Just one small warning... this does not work for all ebuilds in the portage tree yet, in case of doubt better check the build log if your patch was really applied. It does work for all ebuilds using base.eclass, which effectively includes all of KDE and all KDE applications.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7849507270164967036-7358202610733264147?l=dilfridge.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2012-04-10T21:02:24Z</updated>
    <published>2012-04-10T20:51:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="gentoo"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="kde"/>
    <author>
      <name>Andreas</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12314847423280010909</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7849507270164967036</id>
      <category term="arm"/>
      <category term="graphene"/>
      <category term="astronomy"/>
      <category term="gpib"/>
      <category term="sysadmin"/>
      <category term="books"/>
      <category term="gentoo"/>
      <category term="ostpforte"/>
      <category term="maths"/>
      <category term="scifi"/>
      <category term="humour"/>
      <category term="france"/>
      <category term="art"/>
      <category term="cups"/>
      <category term="digikam"/>
      <category term="photos"/>
      <category term="spain"/>
      <category term="romanesque"/>
      <category term="nobelprize"/>
      <category term="stupidity"/>
      <category term="kde"/>
      <category term="err-what?"/>
      <category term="meta"/>
      <category term="archaeology"/>
      <category term="phdcomics"/>
      <category term="italy"/>
      <category term="food"/>
      <category term="comp-sci"/>
      <category term="regensburg"/>
      <category term="physics"/>
      <category term="nanotubes"/>
      <category term="architecture"/>
      <category term="work"/>
      <category term="travelling"/>
      <category term="research-group"/>
      <category term="hardened"/>
      <author>
        <name>Andreas</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12314847423280010909</uri>
      </author>
      <link href="http://dilfridge.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://dilfridge.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7849507270164967036/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>the dilfridge blog</title>
      <updated>2012-05-11T18:24:05Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1700</id>
    <link href="http://blog.hartwork.org/?p=1700" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>New shoes? New shoes!</title>
    <summary>I have never blogged about shoes before. So let’s see what it’s like. After all for being shoes these make me quite happy right now. Shoes! My old sneaker’s started to die so with a single pair of shoes only I had to do something. I liked the fresh look of the red ones so [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I have never blogged about shoes before. So let’s see what it’s like. After all for being shoes these make me quite happy right now. Shoes! My old sneaker’s started to die so with a single pair of shoes only I had to do something.  I liked the fresh look of the red ones so I ended up with both of these.  Very comfortable to wear so far.  So Pictures!</p>
<p/><center><a href="http://www.shop.puma.de/Men/Schuhe/Iconic-Styles/Suede-Classic/350734,de,pd.html&amp;q=suede%20styles#!i%3D22%26color%3D53_limestone_gray-new_navy-white-team_gold%26size%3DUK_6"><img src="http://blog.hartwork.org/__images/puma-suede-grau.jpg"/></a><a href="http://www.shop.puma.de/Herren-Archive-Suede-Classic-Eco-Sneaker/352634,de,pd.html&amp;q=suede%20styles#!i%3D16%26color%3D24_chili_pepper-forever_blue%26size%3DUK_6"><img src="http://blog.hartwork.org/__images/puma-suede-rot.jpg"/></a></center><p/>
<p>Apropos new shoes: Paolo Nutini knows what new shoes can do, join his tune:</p>
<p/><center/><p/>
<p>PS: The links go to the PUMA online shop but there is no affiliation with me so I do not earn money from your clicks or buys up there.<br/>
PPS: The shoe pictures are all rights reversed by PUMA, they are sadly <em>not</em> licensed under Creative Commons. Neither is the video starring Mr. Nutini.</p></div>
    </content>
    <updated>2012-04-10T04:24:26Z</updated>
    <category term="Fun"/>
    <category term="Life"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog</title>
      <updated>2012-05-11T10:05:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1683</id>
    <link href="http://blog.hartwork.org/?p=1683" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>My best tool with package bumps: Meld</title>
    <summary>For quite some time I have been using Meld to detect relevant changes between two releases when I update a package in Gentoo. I run # ebuild foobar-1.2.ebuild manifest prepare # ebuild foobar-1.3.ebuild manifest prepare and throw Meld at both outputs # meld /var/tmp/portage/[..]/foobar-1.2/work/foobar-1.2/ \ /var/tmp/portage/[..]/foobar-1.3/work/foobar-1.3/ &amp; Meld makes it easy to see what has [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>For quite some time I have been using <a href="http://meldmerge.org/">Meld</a> to detect relevant changes between two releases when I update a package in Gentoo. I run</p>
<pre># ebuild <em>foobar-1.2</em>.ebuild manifest prepare
# ebuild <em>foobar-1.3</em>.ebuild manifest prepare</pre>
<p>and throw Meld at both outputs</p>
<pre># meld /var/tmp/portage/[..]/<em>foobar-1.2</em>/work/<em>foobar-1.2</em>/ \
       /var/tmp/portage/[..]/<em>foobar-1.3</em>/work/<em>foobar-1.3</em>/ &amp;</pre>
<p/><center><a href="http://blog.hartwork.org/__images/meld-gegl-bump-tree.png"><img src="http://blog.hartwork.org/__images/meld-gegl-bump-tree-40.png"/></a></center><p/>
<p>Meld makes it easy to see what has changed and (especially) what has <em>not</em> changed.  With sole <tt>diff -r</tt> that would be difficult.</p>
<p>I usually start by inspecting changes to <tt>configure.ac</tt>. If upstream did a good job that diff tells what dependencies to touch, already.  Near the left and right margin you can see where else the file has been modified.  No need to scroll-search down for more: you already know what you get.</p>
<p/><center><a href="http://blog.hartwork.org/__images/meld-gegl-bump-configure.png"><img src="http://blog.hartwork.org/__images/meld-gegl-bump-configure-40.png"/></a></center><p/>
<p>The <tt>NEWS</tt> and <tt>ChangeLog</tt> files usually offer pointers of interest, too.</p>
<p/><center><a href="http://blog.hartwork.org/__images/meld-gegl-bump-news.png"><img src="http://blog.hartwork.org/__images/meld-gegl-bump-news-40.png"/></a></center><p/>
<p>If my hint on Meld made a single Gentoo packager juggler’s life easier or more efficient, I have achieved what I was aiming for.  Sorry for the noise to everyone else.</p>
<p>PS: The second preview image up there has been losslessly reduced by 40% in size just by running it through <tt>optipng -o7</tt>.</p></div>
    </content>
    <updated>2012-04-09T21:03:31Z</updated>
    <category term="Gentoo"/>
    <category term="Planet Gentoo"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog</title>
      <updated>2012-05-11T10:05:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.siphos.be/?p=576</id>
    <link href="http://blog.siphos.be/2012/04/get-your-devtmpfs-ready/" rel="alternate" type="text/html"/>
    <title>Get your devtmpfs ready</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you are using stable profiles, you might want to verify if you are already running a kernel with devtmpfs support enabled. Why? Well, currently you might not need it, but the upcoming openrc/udev packages require it and they currently … <a href="http://blog.siphos.be/2012/04/get-your-devtmpfs-ready/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
If you are using stable profiles, you might want to verify if you are already running a kernel with devtmpfs support enabled. Why? Well, currently you might not need it, but the upcoming openrc/udev packages require it and they currently do not fail at install time if you have it enabled or not. As a result, upgrading these packages might give you a system that might fail to boot (if you have no initramfs but separate /usr partition) or gives many errors (if you have an initramfs).
</p>
<p>
To verify if it is enabled, check your kernel configuration:
</p>
<p><code><br/>
# zgrep DEVTMPFS /proc/config.gz<br/>
# CONFIG_DEVTMPFS is not set<br/>
</code></p>
<p>
If you get the output as described above, best update your kernel configuration to include it. The second devtmpfs-related option (to automatically mount it on /dev) is not needed afaik.
</p>
<p>
And for those that have been with Gentoo for a while – devtmpfs is not devfs. Well, it is. But it isn’t. Somewhat. Oh well, there’s discussion on that which I’m not going to elaborate on. Safe to say that we’re getting older if we start feeling “Been there, done that, got the t-shirt” ;-)
</p>
<p>
<em>Edit:</em> as Robin mentioned in the comments, the udev ebuild does check at it. However, it doesn’t fail an installation so you could miss the message. Apologies for the lies, Robin ;-) Post updated.</p></div>
    </content>
    <updated>2012-04-07T20:10:03Z</updated>
    <category term="Gentoo"/>
    <author>
      <name>swift</name>
    </author>
    <source>
      <id>http://blog.siphos.be</id>
      <link href="http://blog.siphos.be/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://blog.siphos.be" rel="alternate" type="text/html"/>
      <subtitle>Sven Vermeulen's web log</subtitle>
      <title>Simplicity is a form of art...</title>
      <updated>2012-05-04T21:05:24Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hartwork.org/?p=1667</id>
    <link href="http://blog.hartwork.org/?p=1667" rel="alternate" type="text/html"/>
    <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
    <title>overlint: Static analysis for your Gentoo overlay</title>
    <summary>While repoman does a good job of finding smells in ebuilds, a tool to evaluate an overlay with respect to the state of the Gentoo main tree has to my knowledge been missing so far. overlint is a simple command line tool. From a technical view point it reports which version bumps from the overlay [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>While repoman does a good job of finding smells in ebuilds, a tool to evaluate an overlay with respect to the state of the Gentoo main tree has to my knowledge been missing so far.</p>
<p>overlint is a simple command line tool. From a technical view point it reports</p>
<ul>
<li>which version bumps from the overlay are missing from the main tree (e.g. the overlay has 7.1 but the main tree has 7.0, only),</li>
<li>which <em>revision</em> bumps are missing from the main tree (e.g. the overlay has 3.0-r1 but the main tree has 3.0, only), and</li>
<li>which exact same revisions exist in both trees with differing ebuilds.</li>
</ul>
<p>On a higher level these findings often indicate that</p>
<ul>
<li>certain changes are still to be integrated with the Gentoo main tree to benefit a wider audience and/or that</li>
<li>an ebuild appeared in an overlay first but can be removed now as the Gentoo main tree has grown an equivalent (or identical) copy.</li>
</ul>
<p>As a consequence overlint has two main use cases, each with a different user audience:</p>
<ul>
<li>Overlay maintainers can use overlint to better keep their overlay in shape.</li>
<li>Gentoo developers and proxy maintainers can use overlint to detect valuable patches missing from the main tree.</li>
</ul>
<p>Here is example output of overlint 0.4.1 for the calculate overlay:</p>
<pre># overlint-cli /var/lib/layman/calculate/
===============================================================
Version bumps missing from Gentoo main tree
===============================================================
net-misc/
  italc :: 1.0.13, 2.0.0
net-print/
  foo2zjs :: 20081129, 20110512
net-wireless/
  madwifi-ng :: 0.9.4.4178.20120131
  madwifi-ng-tools :: 0.9.4.4178.20120131

===============================================================
Revision bumps missing from Gentoo main tree
===============================================================
app-arch/
  unzip :: 6.0-r9
app-text/
  wgetpaste :: 2.18-r1

===============================================================
Ebuils that differ at same revision
===============================================================
app-forensics/
  unhide :: 20110113
dev-util/
  bin_replace_string :: 0.2
  qt-creator :: 2.4.1
sys-auth/
  pam_keystore :: 0.1.3
sys-block/
  tw_cli :: 9.5.3
sys-boot/
  grub :: 1.99-r2
sys-libs/
  talloc :: 2.0.7
virtual/
  linux-sources :: 0</pre>
<p>To get it run:</p>
<pre># sudo emerge -av app-portage/overlint</pre>
<p>The source code is up on <a href="http://git.overlays.gentoo.org/gitweb/?p=proj/overlint.git;a=summary">http://git.overlays.gentoo.org/gitweb/?p=proj/overlint.git;a=summary</a>. For small patches just send them along, for bigger ones get in touch before the work, please. Thanks!</p></div>
    </content>
    <updated>2012-04-06T22:42:05Z</updated>
    <category term="Gentoo"/>
    <category term="Planet Gentoo"/>
    <author>
      <name>sping</name>
    </author>
    <source>
      <id>http://blog.hartwork.org</id>
      <link href="http://blog.hartwork.org/?feed=rss2" rel="self" type="application/rss+xml"/>
      <link href="http://blog.hartwork.org" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nd/3.0/de/" rel="license"/>
      <subtitle>Free Software and Music</subtitle>
      <title>Hartwork Blog</title>
      <updated>2012-05-11T10:05:39Z</updated>
    </source>
  </entry>
</feed>

