Gentoo Logo
Gentoo Logo Side
Gentoo Spaceship

Contributors:
. Alec Warner
. Alex Alexander
. Alex Legler
. Alexis Ballier
. Andreas Proschofsky
. Andrew Gaffney
. Arun Raghavan
. Ben de Groot
. Bernard Cafarelli
. Bjarke Istrup Pedersen
. Brent Baude
. Caleb Tennis
. Christian Faulhammer
. Christian Zoffoli
. Damien Krotkine
. Daniel Drake
. Daniel Gryniewicz
. Daniel Ostrow
. David Abbott
. David Shakaryan
. Davide Italiano
. Denis Dupeyron
. Diego E. Pettenò
. Donnie Berkholz
. Doug Goldstein
. Gentoo Haskell Herd
. Gentoo News
. Gilles Dartiguelongue
. Greg KH
. Gunnar Wrobel
. Gustavo Felisberto
. Hanno Böck
. Hans de Graaff
. Ioannis Aslanidis
. Jan Kundrát
. Jeffrey Gardner
. Jeremy Olexa
. Joe Peterson
. Jonathan Smith
. Jorge Manuel B. S. Vicetto
. Joseph Jezak
. Josh Saddler
. José Alberto Suárez López
. Kenneth Prugh
. Krzysiek Pawlik
. Lance Albertson
. Luca Barbato
. Luis Francisco Araujo
. Marcus Hanwell
. Mark Kowarsky
. Mark Loeser
. Markos Chandras
. Markus Ullmann
. Mart Raudsepp
. Matthias Geerdsen
. Michael Marineau
. Michal Januszewski
. Mike Doty
. Mike Pagano
. Nathan Zachary
. Ned Ludd
. Nirbheek Chauhan
. Olivier Crête
. Patrick Kursawe
. Patrick Lauer
. Patrick McLean
. Paul de Vrieze
. Peter Weller
. Petteri Räty
. Pieter Van den Abeele
. Piotr Jaroszyński
. Remi Cardona
. Renat Lumpau
. Rob Cakebread
. Robert Buchholz
. Robin Johnson
. Romain Perier
. Ryan Hill
. Sebastian Pipping
. Serkan Kaba
. Shyam Mani
. Steev Klimaszewski
. Stefan Schweizer
. Steve Dibb
. Stuart Longland
. Sune Kloppenborg Jeppesen
. Sven Wegener
. Thilo Bangert
. Thomas Anderson
. Timothy Redaelli
. Tiziano Müller
. Tobias Klausmann
. Tobias Scherbaum
. Yuval Yaari
. Zack Medico
. Zhang Le

Last updated:
September 02, 2009, 23:04 UTC

Disclaimer:
Views expressed in the content published here do not necessarily represent the views of Gentoo Linux or the Gentoo Foundation.


Bugs? Comments? Suggestions? Contact us: planet@gentoo.org

Powered by:
Planet Venus

Welcome to Gentoo Universe, 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 Planet Gentoo.

September 02, 2009
g-CTAN has made...nearly (September 02, 2009, 16:47 UTC)

Now a live ebuild for g-CTAN has been added to the tree as I now want some real life testing: Please go and emerge app-portage/g-ctan. g-CTAN is similar to g-cpan which creates an ebuild for packages from the Comprehensive TeX Archive Network (CTAN). The usage is easy, just call the --help option to learn more after you emerged it. There are two posts by me, that explain some more details about it. There are still rough edges, but please don't hesitate to report bugs either over Gentoo Bugzilla, Launchpad or email. The one thing I still would like to solve is to filter out all packages from the listing that have not been updated since the release of TeXLive.

Steve Dibb a.k.a. beandog (homepage, stats, bugs)
gmail smtp + custom from email address (September 02, 2009, 13:03 UTC)

Oh, man, I just solved a problem that has been horribly hounding me *for a year now*, and I just had to write about it.

At work, we use Microsoft Exchange for our email, which doesn't really bother me that much.  I'm not the calendaring / scheduling / whatever fool that cares about all the advanced crap, I just want to be able to send and receive email.  I don't get a lot here at work, and I send less, but when I do it's always a painful experience.  The reason is because I haven't been able to get anything on my Linux desktop (I've been using Gentoo as my workstation OS for about 6 years now, all at different jobs, nyah!) to actually send mail out on the Exchange server, and I've tried everything.  I can get mail just fine using POP3 or IMAP, but no SMTP love.

Anyway, I won't go through what I tried to get working, because it didn't work, and who cares anyway.  What does work is using GMail to provide an external SMTP service.  Now, the problem I anticipated, and what it does, is it munges the From: email address to force it to your GMail account name.  I wanted it the email to look like me@workinghard.com though.  What I didn't know until today is you can set that up.

Just open up the GMail interface, click on the Settings link then the "Accounts and Import" tab.  There's a section labeled "Send mail as".  Just take it from there.  Add another account, and it will verify that you have access to the one you are wanting to send it from.  Then, when you setup your email client (Thunderbird, in my case) to send through gmail's SMTP server (smtp.gmail.com), and you send from me@workinghard.com, your From address will no longer be munged.  Success!

Oh man, I'm so glad I don't have to battle with Exchange any more.  Or the web interface.  Or my dedicated Windows box I use mostly for Outlook.  *wave of relief* :)

Alex Alexander a.k.a. wired (homepage, stats, bugs)
kde 4.3.1 released, in gentoo (September 02, 2009, 12:42 UTC)

UPDATE: 4.3.1 is now unmasked for amd64/x86 and the masking issue has been fixed by jmbsvicetto, so we won’t have this issue again in the future! The post below is updated to reflect on it.

The first bugfix release for KDE 4.3, 4.3.1, is now available.

You can read about the improvements it brings here.

Ebuilds for KDE 4.3.1 are already available in gentoo for architectures amd64 and x86.

To upgrade from 4.3.0 you simply need to

emerge --sync
emerge -avDuN world

This should be a straightforward update for most people.

If you’re upgrading from an older KDE 4 version (or clean-installing KDE 4 on a stable system) you should keyword-unmask KDE 4.3 by following this post’s instructions. You’ll also find some troubleshooting hints there.

The ebuilds are hard.masked for all other architectures due to bug 280312.

As usual, if you have any issues, feel free to leave a comment or visit us @ IRC: freenode/#gentoo-kde :)

share this post: Digg del.icio.us Google Bookmarks Identi.ca Slashdot Facebook Twitter

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
Why moderated comments can be a problem (September 02, 2009, 08:03 UTC)

You might know already that I don’t like moderating comments; I did for a long time because of spam, but nowadays I prefer filtering comments out with mod_security based on User-Agent and other diagnostics. One of the reasons why I don’t like moderated comments is that, often times, comments can correct a wrong blog post and make it not extremely bad.

I don’t pretend I’m extremely good at what I do and that I never make mistakes; I’m sure I do, but if I say something very stupid, usually somebody corrects me on the comments, and the post still keep a value. When I see posts about people reinventing the wheel, and making it hexagonal for some reason (like reinventing grep --include -r with a script using find and a for loop), and find out that the comments are moderated, then I’m usually appalled. First, because lots of users that don’t know better will read the post and apply what it says without thinking twice about it. Second, because in the comments, that appeared in a batch right away, beside a number of duplicate suggestions, there has been even more suggestions in a number of polygons, but just a couple of really round wheels. You probably know what I’m referring to if you follow some of the planets out there, I don’t really want to name names here.

Today, another example of moderated comments that hinder clearing up a blog post that isn’t really proper. When you rant about a software or a feature, especially when you explicitly say you don’t understand why it does what it does, leaving open comments allows for people to actually solve the mystery for you; if you moderate it, you’re probably wasting time of more than one person who has the answer, since they’ll probably try to explain it when they see no comments present already.

Sigh.

September 01, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
three ways to install alsa drivers (September 01, 2009, 16:18 UTC)

One thing I'm noticing a bit of confusion on in general online is what the docs or me mean when it says to install the ALSA sound card drivers as modules.  So, lemme clarify real quick. :)

There are two *places* to get the drivers from: either in the kernel, or from the alsa-driver package.  But, when using the kernel drivers, like many other drivers there, they can either be compiled in statically or loaded as modules as the computer is booting up.  So, there are actually two ways to install the drivers as modules, which could be a bit confusing.

So, a quick list:

1) In-kernel drivers (statically compiled)

2) In-kernel drivers (modules)

3) External drivers (alsa-driver package, modules)

The first two are the officially supported methods by the ALSA team, so I'll quickly focus on those two.  Now the, recommended way to do things is #2 -- select them as modules in the kernel and build them that way when you are setting up ALSA for the very first time.  Why?  Well, the answer is really that it gives you a lot more options.

Let's say, for instance, that you aren't sure which driver your card requires.  So, you flip on a few that look like it's the right one, and set them to be installed as modules.  Once they are there,  you can run alsaconf, which is a part of alsa-utils.  The alsaconf program will do the detective work for you by looking at the modules that are available on the system, and the cards that you have on your box, and then load the modules and update your module list so that they will load up the next time you boot your box as well.  Pretty simple, right?  It sure is a lot faster than compiling one driver in the kernel, rebooting, testing if that works, trying a separate one, rebooting, etc.

Another reason is that there may be some options you need to pass to your module.  This is rare, but it does happen.  If you are loading them as modules already, then it's just a simple tweak to do change the settings, again, without having to reboot and re-test everything.

So, that's the reason we recommend you load them as modules.  It's just gonna make life a bit easier the first time around, as you are trying to determine what you have.  Once you know what driver is required, you can always go back into the kernel and compile it in statically, and be done with it.  There's no reason to keep it as a module, unless you want to.

Finally, a quick note about the alsa-driver package.  It's often said that it is unmaintained, and the reason for that is because I, personally, am the only one who is keeping it on life support.  That is, I'm the maintainer, not the ALSA herd.  It's only in the tree as a convenience to people who need to use it for whatever reason.  Some of the reasons could be that you needed to see if the latest release from upstream is fixing some issues of yours, so you'd use the live ebuild.  Or, you may want to use an older kernel but still keep the newer version of ALSA.  Or whatever.  The problem, though, is that I don't have the technical skills to troubleshoot your issues if something goes wrong.  My solution every time is  pretty much going to shrug and say "Sorry, that sucks.  Try the live ebuild, or something else."  It's not that I don't want to help, it's that in this case, I can't.

Anyway, that's it ... I hope that clears up a few issues.  When I have time, I'll be revising the ALSA docs.  No idea when that'll be though.  Don't hold your breath.  In the meantime, if you have issues, my recommendation is to post on the Gentoo Forums in the Multimedia forum and ask for some help, or there's always bugzilla.  Chances are you'll get a response faster on the forums, though.  Good luck, and God speed. :)

alsa 1.0.21 released (September 01, 2009, 13:33 UTC)

I caught the news yesterday via Phoronix that a new version of ALSA libraries and utilties came out.  I went to go bump them in the portage tree, but Tony (chainsaw) already beat me to it.  Thanks, man! :)

Looking at the detailed changelog, there are a lot of updates for the *hda cards, which is just what the world needed.  I haven't ever had any problems with them myself, but they are the de facto chipset on desktop motherboards right now, and it's awesome to see support getting improved.  Hopefully it'll fix some of the countless issues Gentoo users are experiencing.

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
Why autoconf updates are never really clean (September 01, 2009, 13:11 UTC)

I’m sure a lot of users have noticed that each time autoconf is updated, a helluva lot of packages fail to build for a while. This is probably one of the reasons why lots of people dislike autotools in the first place. I would like to let people know that it’s not entirely autoconf’s fault if that happens, and actually, it’s often not autoconf’s fault at all!

I have already written one post about phantom macros due to recent changes but that wasn’t really anybody’s fault in the sense that the semantic of the two macros changed, with warning, between autoconf versions. On the other hand, I also have ranted, mostly on identi.ca, about the way KDE 3, in its latest version, is badly broken by the update. Since the problem with KDE3 is far from being isolated, I’d rant a bit more about it here and try to explain why it’s a bad thing.

First of all let me describe the problem with KDE3 so that you understand I’m not coming up with stuff just to badmouth them. I have already written in the past, ranted and so on, about the fact that KDE3’s build system was not autotools, but it was rather autotools-based. Indeed, the admin/ subdirectory that is used by almost all the KDE3 packages is a KDE invention; the configure.in.in files as well. Unfortunately it doesn’t look like the KDE developers learnt anything about it before, and they seem to be doing something very similar with CMake as well. I feel sorry for our KDE team now.

Now, of course there has been reasons why KDE created such a build system that reminds me of Frankenstein: from one side, they needed to wire up support for Qt’s uic and moc tools; from the other, they wanted the sub-module monolithic setup that is sought after by a limited amount of binary distributions and hated to the guts by almost all the source-based distributions.

I started hating this idea for two separates reasons: the first is that we couldn’t update automake: only 1.9 works, and we’re now at 1.11, the new ones changed enough behaviour that there is no chance the custom code works; the second reason is that the generated configure files were overly long, checking the same things over and over, and in very slow ways (compiling rather than using pkg-config). One of the tests I always found braindead was the check, done by every KDE3-based package, on whether libqt-mt required libjpeg at link time: a workaround for a known broken libqt-mt library!

Now, with autoconf 2.64, the whole build system broke down. Why’s that? Very simple: if you try to rebuild the autotools for kdelibs, like Gentoo does, you end up with a failure because the macro AH_CHECK_HEADERS is not found. That macro has been renamed in 2.64 to _AH_CHECK_HEADERS since it’s an internal macro, not something that configure scripts should be using directly. Indeed this macro call is in the KDE-custom KDE_CHECK_HEADERS that seems to deal with C and C++ language differences in the checks for headers (funnily this wasn’t enough to avoid language mistakes ). This wouldn’t be bad, extending macros is what autoconf is all about; but using internal headers to do that, is really a mistake.

Now, if it was just KDE making this mistake, the problem would be solved already: KDE 4 migrated to CMake, so in the worst case it would fail when the next CMake change is done that breaks their CMake-based build system, and KDE 3 is going away, which will solve the autoconf 2.64 problem altogether. Unfortunately, KDE was not the only project making this mistake; even worse, projects with exactly one package made this mistake, and that’s quite a bit of a problem.

When you have to maintain a build system for a whole set of packages, like KDE has to, mistakes like the one of using internal macros are somewhat to be expected and shouldn’t be considered strange or out of place. When you do that for a single package, then you really should stop from writing build systems, since you’re definitely overcomplicating things without any good reason.

Some of the signs that your build system is overcomplicated:

  • it still looks like it was generated by autoscan; you have not removed any of the checks added by that, nor you have added conditionals in the code to act upon those checks;
  • you’re doing lots of special conditioning over the host and target definitions; you don’t even try to find the stuff in the system but decide it’s there or it’s not by checking the host; that’s not the autoconf way;
  • you replace all the standard autoconf macros with your own, having NIH_PROG_CC for instance; you are trying to be smarter than autoconf, but you most likely are not.

August 31, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
disney + marvel (August 31, 2009, 16:07 UTC)

Oh, man.  Sucktitude.

From the PR, "This transaction combines Marvel’s strong global brand and world-renowned library of characters ... with Disney’s creative skills ..."  That's what worries me.

Makes sense, though.  I was actually surprised that Marvel wasn't bought out sooner by a big studio, considering that DC was purchased by Warner Bros. a while ago, who have, IMO, done a marvelous job of putting out really good content.

I would have expected them to go with Fox though (who produced the X-Men movies) instead of Disney.  Oh well.  Another interesting legacy is going to be flushed down the toilet.

Although, I wouldn't mind seeing a Mickey Mouse vs. Magneto game.

Jeremy Olexa a.k.a. darkside (homepage, stats, bugs)
Gentoo Prefix/Windows (August 31, 2009, 16:03 UTC)

Markus Duft writes:

I'm preparing to conquer the world (again) ;) . To achieve my goal, I have
prepared a new Gentoo Prefix on Windows Setup, and the according
documentation.

Video demonstrating the installation of Gentoo Prefix/Windows: http://www.youtube.com/watch?v=az1RR60s5n4

Grab the latest iso's from: http://distfiles.gentoo.org/experimental/prefix/x86-interix/20090826/

Docs: http://dev.gentoo.org/~mduft/gpx-installation-20090820.pdf (also available on the DVD installer)

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
Stash your cache away (August 31, 2009, 14:30 UTC)

While I’m now spending a week out of my home (I’m at my sister’s family place, while she’s at the beach), I still be working, and writing blog posts, and maybe taking care of some smaller issues in Gentoo. I’m just a bit hindered becaues while I type on the keyboard I often click something away with the trackpad; I didn’t think about getting a standalone keyboard. I guess if somebody would want to send my way an Apple bluetooth keyboard I wouldn’t be saying no.

While finally setting up a weekly backup of my /home directory, yesterday, I noticed quite a few issues with the way software makes use of it. The first thing of course was to find the right software to do the job; I opted for a simple rsync in cron, after all I don’t care much about having incremental multiple backups a-la Time Machine, having a single weekly copy of my basic data is good enough.

The second problem was that, some time ago, I found that having a 4GB USB flash drive was enough if I wanted to copy the home, but when I looked at it yesterday, I found it being well over 5GB. How did that happen? Some baobab later, I find the problems. From one side, my medical records, (over 500 pages) scanned with a hi-grade all-in-one laser printer (no, not by me at home), are too big. They might have been scanned as colour documents (they are photocopies, so that’s not really right) or they might be at huge resolution, I have to check that, since having over half a gig of just printed records is a bit too much for me (I also have another full CD of CT scan data).

The second problem is that a lot of software misuses my home by writing down cache and temporary files in it rather than in the proper locations. Let me explain: if you need to create a temporary file or socket to communicate between different software in the same host, rather than writing it to my home, you should probably use TMPDIR (like a lot of software, fortunately, does). The same goes if you write cache data, and yes I’m referring to you, Evolution and Firefox, but also to Adobe Flash, Sun JDK and IcedTea.

Indeed, the FreeDesktop specifications already provide an XDG_CACHE_DIR variable that can be used to change the place where cache data should be saved, defaulting to ~/.cache, and in my system set to /var/cache/users/flame. This way, all the (greedy) cache systems would be able to write as much data as they want, without either wasting my space on the backup flash, or forcing me to write them to two disks (/var/cache is in a sort-of throwaway disk).

For now I resolved by making some symlinks, hoping they keep stable, and creating a ~/.backup-ignore file, akin to .gitignore with the paths to the stuff that I don’t want backed up. The only problem I really have is with evolution because that one has so many subdirectories and I can’t really understand what I should backup and what not.

Oh and there are a few more problems there: the first is that a lot of software over the past two years migrated from just the home to ~/.config but the old files were kept around (nautilus is an example) and a few directories contained very very old and dusty session data that wasn’t cleared up properly.

Providing too many configuration options to tell where the stuff is, can definitely lead to bad problems, but using the right environment variable to decide where stuff should go and where it should be looked up at, can definitely solve lots of your problems!

Jan Kundrát a.k.a. jkt (homepage, stats, bugs)
Introducing Trojitá, a Qt IMAP e-mail client (August 31, 2009, 13:03 UTC)

History

When I looked at the state of graphical IMAP e-mail clients several years ago, I was not really impressed. KMail from then-current KDE3 did not do a proper job for me (numerous IMAP bugs like its inability to work as about every other IMAP client when deleting messages, bug 26986 -- there were more issues than that, but years have left my memories washed out a bit), Thunderbird would crash for me every once a week, at least, and I just happened to like KDE applications more than Gnome stuff, so I did not spend much time looking at Evolution. Many MUAs looked like a classic generic e-mail clients designed with POP3 in mind with IMAP added late in the development cycle, while others supported wide range of IMAP features, yet lacked in the GUI part of the problem. In short, using none of these applications made me feel happy.

A programmer not feeling happy is a receipt for disaster. I was about to finish my high school, so I had plenty of time at hand. I was experimenting with Python, so that seemed like a natural implementation language, too. In the end, I started a project called trojita whose remnants could still be seen in an abandoned SVN repo.

Coding in Python was fun. I tried several different approaches to the design of my pet program, I was playing with technologies I had no experience with, I even showed my "IMAP library" at my final exam as an example of a project I made. It did not have much functionality, in fact, only the IMAP parser had been completed, but it was an educative experience nonetheless and I passed the exam.

After some time, however, I discovered Qt and C++ and felt in love. I joyfully returned to the realm of statically-typed languages and suddenly felt a lot better. I began porting my Python library to Qt/C++. It was not really a port, rather a first complete rewrite of my project. Anyway, it did not take long and the C++ version suddenly offered more functions than the old Python branch, with unit tests as a nice added bonus.

Qt's Interview architecture, the Model/View classes, seemed like a decent implementation of the MVC patter I was poking around to use. Several months have passed, and suddenly trojita was able to show a tree of mailboxes stored on a remote IMAP server, listing messages contained therein and showing message bodies. I choose to finish the program as a part of my bachelor's thesis, and ultimately, I succeeded.

The Code

So, in a few blogposts starting with this one I'm going to introduce a new Qt IMAP e-mail client to the world. I hope I will get some attention and folks looking at the code and trying to run the application. I'd love to get some feedback on program design, code quality and general usability as well.

The code is hosted at Gitorious, and a bachelor thesis about Trojitá (PDF) (mirror) which explains its design and compares it against several alternatives is available, too. Perhaps the most interesting part is Chapter 3 which describes the architecture of the application, and Chapter 4 in which I compare Trojitá to several other MUAs on the market. All information about Trojitá are also aggregated on Trojitá's homepage (any web designer listening? :) ). Here is the obligatory screenshot: A screenshot of Trojitá, a Qt IMAP e-mail client

Trojitá's Features

Some highlights of Trojitá are:

  • A pure Qt4 application with no additional dependencies
  • Robust IMAP core implemented using Qt's Model-View framework
  • Standards compliance is a design goal
  • Support for bandwidth-saving mode aimed at mobile users with expensive connection
  • IMAP over SSH -- instead of going over an SSL socket, the server could be accessed via SSH
  • On-demand body part loading
  • Offline IMAP support (you can access data you already have; there's no complete "offline mail access" yet, though)
  • Safe dealing with HTML mail (actually more robust than Thunderbird's)

The thesis was completed several months ago. Since that time, I've removed the dependency on std::tr1::shared_ptr and switched to Qt's QSharedPointer which in turn requires Qt-4.5 or newer. There wasn't much more changes since then, as I enjoyed quite a long vacation, but I guess I can tell the development is getting faster again.

How to Use it

It's a fairly standard CMake setup:

git clone git://gitorious.org/trojita/trojita.git
cd trojita
mkdir _build
cd _build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j4
./trojita

Please do join the #trojita channel on Freenode and tell me how you like this application. I'm open to any suggestions and would love to hear any feedback, too.


As you can see, this blog is a static HTML page, so you can't post any comments here. However, I'm eager to answer any questions sent to my mail, both via e-mail and in subsequent blog posts.

Peter Weller a.k.a. welp (homepage, stats, bugs)
eBooks vs. Real Books (August 31, 2009, 12:03 UTC)

As I mentioned in my last blog post, I do enjoy my reading, even though it does come at a cost (which I do tend to complain about…). A number of my friends have suggested getting an eBook reader and getting my books in a digital format, which is quite often cheaper. There are a number of benefits to eBooks:

  • Portability – Ever wanted to take your entire book collection on holiday with you? eBooks make it possible! (Okay, perhaps not quite depending on memory restrictions, but eBooks are definitely more portable than their paper counterparts).
  • Searching – Obviously, with academic texts this can be a great boon, but I find it very rare that I attempt to search for a particular word or phrase in a novel of some form.
  • Backlighting – To the best of my knowledge, modern e-Ink eBook readers do not have backlighting available, and so are only readable in the same conditions as regular paper. I could be wrong here, so please feel free to correct me!
  • Price – If you’re going to quote monetary savings as a reason to get an eBook reader, I’m probably going to ignore you. eBooks are generally only £1-2 cheaper than their paper counterparts (in the UK, at least), and Amazon often offer bigger discounts on their real books.
  • DRM – If you’re a publisher, this might be a good thing. But I think a lot of people would quite like to be able to lend books to their friends and family without having to worry about DRM restrictions and so on… Paper books are so easy to lend, you just hand the book on to someone else. How do you lend someone an eBook?

I can see why eBook readers would definitely be an ideal solution for reading and distributing academic texts, but I really can’t see the benefits (at this moment in time) over “real” books. I also quite like to be able to flick through books, jump back and forth, quickly refer to something on the previous page (without having to wait for the lengthy “refresh” on e-Ink eBook readers) and various other things like that…

Oh! One more thing! I love good cover art. I know I’m not supposed to, but I often do judge a book by its cover…

Nathan Zachary a.k.a. kalos (homepage, stats, bugs)
Kindle...the future of book burning (August 31, 2009, 00:03 UTC)

Amazon's Kindle is appropriately named, as to kindle means to "catch fire" or to "cause to start burning" (Wordnet 3.0, n.d.). The newest generation of Kindle products support the downloading of books without even having a computer connection, allowing the consumer to get a new book "anytime, anywhere" (Amazon.com: Kindle, 2009). At first glance, this type of technology seems to offer the consumer amazing freedom, flexibility, and opportunity. Coupled with this convenience, however, is the ability of Amazon to control what one reads, censor materials, violate a user's privacy, and even attempt to circumvent their own Terms of Service and renege on the customer's "non-exclusive right to keep a permanent copy of the applicable Digital Content and to view, use, and display such Digital Content an unlimited number of times, solely on the Device or as authorized by Amazon as part of the Service and solely for your personal, non-commercial use" (Amazon Kindle: License Agreement and Terms of Use, 2009).

In June and July of 2009, Amazon.com removed a few titles (including Rand's The Fountainhead, and Orwell's 1984) from their Kindle Store, citing a seemingly noble cause of attempting to protect the intellectual property of the publishers (Manjoo, 2009). Though this action may be a disappointment to consumers wishing to purchase the respective eBooks, the removal of these titles is not, in itself, unethical, illegal, or cause for any type of alarm. However, Amazon.com took their supposed pursuit of nobility a step further and wirelessly connected to their customers' Kindle devices and removed their already-purchased copies of said titles. Not only did this action break their Terms of Service mentioned above, but it also brought digital censorship to a daunting new level.

Before digital copies of books, physical copies could be sold without any method of recovery. To clarify, when one purchases a book from a store (assuming cash is used instead of a cheque or credit card), there is no method for the vendor to attain information about that individual's identity, including his or her whereabouts. This means that if the book is recalled, banned by a government, or goes out of print the publishers, vendors, and law enforcement authorities have no hope in retrieving previously-sold copies of the book without the individual's consent. Thus, the individual would have complete ownership of the copy, and could do with it what he or she wills. Further, this lack of circulation tracking means that it is very likely that a printed copy of a work will exist somewhere in the world, even after publication has ceased. With Amazon's ability to track, modify, and even remove titles from Kindle devices, this 'complete removal from circulation' security is no longer present. In theory, a book that is distributed solely in electronic form could be tracked and completely eradicated from existence! What seemed at first to be a lovely convenience can also be seen as a surveillance tactic and, worse yet, a totalitarian approach to censorship.

Fortunately, one has other choices than just Amazon's Kindle for an eReader, including the Sony PRS-600BC Touch Edition. This reader does not offer the user wireless downloads of books, and does require a computer to transfer the eBooks to the device. While at first this may seem like an inconvenience, it also promotes more security for the consumer's purchased property. To ensure that Sony cannot remove a purchased title requires a couple steps that might not be readily apparent. Firstly, one downloads the desired title from the internet, whether from Sony's official store, or from another vendor. Secondly, one disconnects the internet connection (either by putting the wired or wireless interface down, or by physically disconnecting the ethernet cable, router, or modem). Thirdly, one then transfers the title to the eBook reader device. In this fashion, the reader device is never connected to a medium (like the internet) which will allow for the manufacturer to modify or remove the previously-purchased content.

If one runs an operating system (e.g. Windows) on which the manufacturer can install proprietary software, then there is always the possibility that said software can run when the user connects the reader device to the computer. To circumvent such possibilities, one can either connect the reader device to a computer with an operating system that does not support the manufacturer's proprietary software (usually Linux will do the trick here), or better yet, one can boot into a live environment on CD, completely eliminating the chance of the software loading and subsequently running. Tutorials on using LiveCDs can be found all over the internet, and the process is quite simple.

Should Amazon be allowed to modify or delete a customer's content, or even have access to a listing of what one purchases? Is it their right as the distributor of the electronic titles, or are they violating the users' privacy, and encouraging a digital reenactment of the censorship that was book-burning in Hitler's Germany?

--N. Zachary

__________________
REFERENCES:

Amazon.com: Kindle: Amazon's Wireless Reading Device (Latest Generation): Kindle Store (2009). Retrieved August 30, 2009, from http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI/ref=amb_link_85181491_2?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-1&pf_rd_r=1SRH81QG6XRTP3PPX092&pf_rd_t=101&pf_rd_p=489513211&pf_rd_i=507846.

Amazon Kindle: License Agreement and Terms of Use (2009). Retrieved August 30, 2009 from http://www.amazon.com/gp/help/customer/display.html?nodeId=200144530.

Manjoo, F. (2009, July 20). Why 2024 will be like nineteen eighty-four: How Amazon's remote deletion of e-books from the Kindle paves the way for book-banning's digital future. Slate. Retrieved August 30, 2009, from http://www.slate.com/id/2223214/.

Wordnet 3.0 (n.d.). Retrieved August 30, 2009, from http://wordnetweb.princeton.edu/perl/webwn?s=kindle.

August 30, 2009
Nathan Zachary a.k.a. kalos (homepage, stats, bugs)
Arch Linux server maintenance page (August 30, 2009, 01:35 UTC)

You may look at the title and wonder why I didn't post this topic under "Computers" or even the "Linux" subtopic. My reasoning is that this isn't really any type of discussion relating to computers, but rather just an image that I found to be priceless. Instead of just making their "server down for maintenance" page bland, they chose to use this image to sum it up. When I saw it, I thought that I was at Denny's getting ready to order by the "point-to-the-image" method. :-D

Click for full size:
Arch Linux maintenance page

|:| Zach |:|

August 29, 2009
Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
PDFs and Metadata (August 29, 2009, 16:07 UTC)

You might remember I was thinking about archiving data a few months ago. Up to now, I only stopped at scanning out the docs in PDF (trying to keep quite current with the inbound flow of paper) so that I could have easier access to the documents, and also getting rid of the high amount of useless paper around home.

The experiment up to now seems to be working out decently well. In the sense that the amount of paper around the house started to fall down, and at the same time I’ve been able to archive most of my stuff in a decent way by just using proper paths. Unfortunately, now stuff starts to get complex as well.

What I’d be needing now is some method to arbitrarily tag PDF files (the archive is all in PDF; while Stuart noted that TIFF would also be a decent way to store the data, there is one problem there in the sense that sometimes TIFF files don’t appear correctly on OS X. And since I mix operating systems I needed something that worked on both). And obviously an easy way to get the data out searching for those tags is also needed.

I have been told that XMP from Adobe should do what I need, I remembered the technology name and I’m pretty sure that yes, the way it was designed allows for what I’m looking for; obviously the problem is whether there’s a software that allows me to write down the type of metadata that I need; I’m not really too keen on writing my own, right now.

There is also the other problem of finding the data; I remember from some years ago Beagle could be used to do some on-disk search for documents. I also remember, though, that it was tremendously heavy, eating up lots of CPU and RAM, and just partly because of Mono, the rest was Beagle itself quite easily. Does anybody know whether it has improved? Or can suggest an alternative software to do something similar? I tried merging Tracker, but it doesn’t seem like it’s interested in indexing anything on my system, I have no idea why…

In theory, I’d like something that, searching for “H3G July 2009” would find me the correct PDF with the cellphone bill for the month of July 2009, and searching for “Amazon Office 2007” would find me the invoice for Office 2007 from Amazon UK. I’m fine with writing my own description to the files to get the right one.

If somebody has suggestions, they are definitely welcome. Thanks!

Mixing free software and proprietaryware (August 29, 2009, 12:20 UTC)

You probably know already, if you follow my blog, that I have some quite pragmatic views when it comes to software, and while I despise proprietary stuff, I also do use quite a bit of proprietary software and, most importantly, I pay for that.

For good or for bad, mot of my paid work also involves working in proprietary software, may it be supporting QuickTime RTSP extensions in feng or developing software that runs on Windows (and OSX and Linux). For this reason, as I said before I also use Mono since that allows me to reduce the amount of proprietary software I have to deal with.

But because working on proprietary software, for somebody used to the sharing and improving of free software, is quite difficult, I also apply one extra rule: when the customer wants a closed-source proprietary software for what concerns the core business logic, I try to write asmuch code as possible generic, so that it can be split in LGPL-licensed libraries. This way I can release part of the code I write as free software without going against my customers’ requests, and not costing them anything more.

And thanks to the fact that there already are LGPL-licensed libraries to do some of the work out there, this also simplifies my life. Well, at least when they work and I don’t need to spend a lot of time to make them work. Unfortunately this is the case sometimes, especially when I have to package for Linux something that was probably never tested or intended to be used on Linux. So I wish to thank Jo Shields for helping me out the other night about packaging libraries that don’t provide, by themselves, a strongname.

So, at the end, I still think there is space for different license in different contexts; especially, while LGPL is a compromise from pure free software philosophies, it often allows you to free code that wouldn’t be freed when given a single choice (between GPL and proprietary).

On the other hand, I have to rant a bit about the price of proprietaryware in Italy at least. For work I needed a license of Microsoft Office 2007 Professional (don’t ask, it’s a long story). In Italy, the price was €622 plus VAT; on Amazon UK, the same product (I don’t care about language, but the code seems to work fine with multi-language Office by the way) was up for an equivalent €314 plus VAT (in the former case, VAT needs to go through the tax system, in the latter, it’s directly reimbursed by Amazon, so it’s also faster to deal with). Now I’m curious to see if the same will hold true for Windows 7 licenses (yes I’m afraid I’m going to have to deal with that as well for my jobs) in the next months. Kudos to Apple at least, the update to Snow Leopard was pretty cheap, was sent right away (thanks to my passing through the business store), and really doesn’t seem to break anything on my systems at least.

But still, I love working on Free Software, at least there, I can fix the stuff that fails myself, or at least prod somebody to, most of the times!

N900 (August 29, 2009, 09:03 UTC)

There's been a lot of chatter on the planets about the N900.  I have to admit, I've been very blah about Maemo for the past 6 months or so, despite having a 770 and a n810.   And it's related to why I'm not exceptionally exited about the n900.  I'll get to that.

You see, I was hugely excited about the 770.  It was a great little device, and I bought it as soon as it was available.  I skipped the n800, because it wasn't any improvement for my uses, and because I was pissed that Nokia had EOL'd my 770 after about a year.  But, I was seduced by the hardware keyboard, daylight-visible screen, and extreme prettiness of the n810 to ignore my misgiving about Nokia, and get one.  Again, early adopter.  And the n810 is a fabulous device: well made, very useful, etc.

However, I noticed trend.  Bugs for Maemo on the n810 got ignore, or closed "fixed in freemantle".   Features and development for the n810 (and n800) stopped. Everything added was not backwards compatible.  Barely a year into my n810 ownership, and Nokia was already quietly EOLing it.  Now, it sits in my car and acts as a GPS.

So, on to the n900.  The hardware looks awesome.  The software, ditto.  I'm extremely excited about it as a device.  But I can't bring myself to actually care about it, because twice now, Nokia has screwed me.  Come on guys:  for a $400 - $500 device, you have to support it longer than a year!  3-4 minimum!

So, I'm not excited about the n900.  I can't afford to be burned again.   I'll stick with my Android phones for now.

August 28, 2009
Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
autoconf-2.64: the phantom macro menace (August 28, 2009, 19:00 UTC)

While I should write it down on autotools mythbuster in a most generic fashion, since I found this today, I wanted to write down these notes for other developers. With autoconf-2.64 there can be a problem with “phantom macros” as in macros that are called, but seem not to produce any code.

In particular, I noticed a configure failure in recode today. The reported error out is the following:

checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for flex... (cached) flex
./configure: line 10866: syntax error near unexpected token `fi'
./configure: line 10866: `fi'

Looking at the actual configure code, you can easily see what the problem is around line 10866:

if test "$LEX" = missing; then
  LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
  LEX_OUTPUT_ROOT=lex.yy
  else


fi

In sh, you probably know already, “else fi” is invalid syntax; but what is the code that produces this? Well, looking at configure.in is not enough, you need to also check an m4 file for the package:

# in configure.in:
ad_AC_PROG_FLEX

# in m4/flex.m4
## Replacement for AC_PROG_LEX and AC_DECL_YYTEXT
## by Alexandre Oliva <oliva@dcc.unicamp.br>
## Modified by Akim Demaille so that only flex is legal

# serial 2

dnl ad_AC_PROG_FLEX
dnl Look for flex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
AC_DEFUN(ad_AC_PROG_FLEX,
[AC_CHECK_PROGS(LEX, flex, missing)
if test "$LEX" = missing; then
  LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
  LEX_OUTPUT_ROOT=lex.yy
  AC_SUBST(LEX_OUTPUT_ROOT)dnl
else
  AC_PROG_LEX
  AC_DECL_YYTEXT
fi])

So there are calls to AC_PROG_LEX and AC_DECL_YYTEXT macros, so there should be code in there. What’s happening? Well, maybe you remember a previous post where I listed some user-advantages in autoconf-2.64 :

Another interesting change in the 2.64 release which makes it particularly sweet to autotools fanatics like me is the change in AC_DEFUN_ONCE semantics that makes possible for macros to be defined that are executed exactly once. The usefulness of this is that often times you get people to write bad autoconf code, that instead of using AC_REQUIRE to make sure a particular macro has been expanded (which is usually the case for macros using $host and thus needing AC_CANONICAL_HOST), simply call it, which would mean the same check is repeated over and over (with obvious waste of time and increase in size of the generated configure file).

Thanks to the AC_DEFUN_ONCE macro, not only it’s possible to finally define macros that never gets executed more than once, but also most of the default macros that are supposed to work that way, like AC_CANONICAL_HOST and its siblings, are now defined with that, which means that hopefully even untouched configure files will be slimmed down.

Of course, this also means there are more catches with it, so I’ll have to write about them in the future. Sigh I wish I could find more time to write on the blog since there are so many important things I have to write about, but I have not enough time to expand them to a proper size since I’m currently working all day long.

Indeed the two macros above are both once-expanded macros, which means that autoconf expand them before the rest of the now-defined macro. Now, the solution for this is using M4sh properly (because autoconf scripts are not pure sh, they are M4sh, which is a language in the middle between sh and m4). Instead of using if/then/else, you should use AS_IF; indeed changing the above macro to this:

AC_DEFUN(ad_AC_PROG_FLEX,
[AC_CHECK_PROGS(LEX, flex, missing)
AS_IF([test "$LEX" = missing], [
  LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
  LEX_OUTPUT_ROOT=lex.yy
  AC_SUBST(LEX_OUTPUT_ROOT)dnl
], [
  AC_PROG_LEX
  AC_DECL_YYTEXT
]])

allows autoconf to understand the flow of the code and produces the proper sh code (this is true sh code) in the final configure file:

checking for flex... flex
checking for flex... (cached) flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes

(see how the two checks for flex are both up the list of checks?).

Unfortunately there are more problems with recode, but at least this documents the first problem, which I’m afraid is going to be a common one.

Nathan Zachary a.k.a. kalos (homepage, stats, bugs)
My podcast on LinuxCrazy (August 28, 2009, 17:28 UTC)

Hello all,

Yesterday (Thursday, 27 August 2009), David Abbott from LinuxCrazy, and Gentoo-PR interviewed me for his 62nd podcast. We discussed many aspects of Gentoo, including my involvement with the fora, documentation, project strengths, areas of concern, Openbox and LXDE, and more. This is a two-part podcast, and the first portion is an interview with Zachary (son of Gentoo user weirdedout) about one of his favourite Linux games, Warzone 2100. Thank you Zachary for your review of WZ2100! :-)

If you would like to listen to the podcast, it is available in Ogg format (preferred), or in MP3. The Ogg format is available here on the Z-Issue, while the Ogg and MP3 versions are both available on LinuxCrazy.

OGG format of the podcast (please right-click and hit "save as" to download a copy)

If you don't want to listen to the podcast, there is a transcription of most of it (not verbatim, but hits many of the key points) on the Gentoo Fora.

Thanks for the interview David!

|:| Zach |:|

Tech support (August 28, 2009, 03:41 UTC)

Hello all,

A friend of mine sent me this really funny video yesterday. For all of us "computer nerds," this should put some things in perspective.

Monk Tech Support:


If for some reason the embedded player above doesn't work for you, here's a link to it on YouTube:
http://www.youtube.com/watch?v=0z84F1fHABw

|:| Zach |:|

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
I fell in love with London (August 28, 2009, 00:44 UTC)

As I said earlier I wanted to write a bit about my vacation in London, so here it comes, if I can write this and make sense before I also fell asleep.

I really really enjoyed my vacation; maybe it was because it was my first vacation ever, maybe because it was my first time out of Italy, or maybe because I overcame my fear of planes once and hopefully for all. I also fell in love with London and with the say stuff there seems to work, in a way that, here in Italy, is hard even to imagine. Unfortunately, one week wasn’t really enough to see half the stuff I wanted to see, starting with Broadcasting House, which is why I hope to come back to London before end of the year.

Now that I can finally fly, I guess I’ll finally be dropping by on conferences; I just need to start looking at the calendars so I can set up my schedule for that. If somebody has a quick way to do that, or has some links for conferences to check the schedules from now on, I’d be happy of the help.

To be honest, I also fell in love with the weather up there, and when I came back I was hit tremendously by the heat here. Given I don’t have A/C at home, and I have been always against the idea of wasting power in stuff like that (it’s waste), I start to have a yet undecided, uncertain idea, about spending next summer in London (or around). Really for now it’s just a random thought, some vague idea. But at least it would be a cool place, and I wouldn’t have problems with language (mostly).

Indeed, the week I spent there didn’t feel extremely out of place for me, since I was a bit in the loop either way thanks to following general news and BBC as well. And I really would love to spend some more time there, with enough time and space to go around visiting Broadcasting House, and maybe some other England areas.

After all, thankfully, my job does not force me to any particular location: I rarely have to go to my customer’s workplace, and especially during the summer this is pretty limited. Just having a laptop, like the one I’m writing on right now, and access to my main box at home (Yamato) allows me to do most of my work without any limitation. This would mean that I wouldn’t be taking three months of vacation, but rather half out-of-office time.

Also, before I forget, after ensuring this was supposed to be the case with the local customer service of 3 Italy, I went out daring to use the 3G connection with my phone while I was in London, under 3 UK coverage. It was, indeed, included in my monthly 10GB limit, and I didn’t spend any money to use it. At the end, the only euro I “wasted” were 2.5 in SMS (because the hotel I was staying at wasn’t covered by 3 UK and I used SMS to sync with my friends on what time to wake up) and 2 for a connection on the Orange network when I didn’t note the out-of-network and thus didn’t kill it soon enough. Not bad considering a lot of people end up paying lots for using their phones outside of Italy (and I did use it quite a bit, both to call Italy and UK itself — some friends had an UK cellphone already).

August 27, 2009

All,

Many of you have, no doubt, learned of the recent loss to the Gentoo community. Known fondly as fmccor, Mr. Ferris E. McCormick's death was tragic and unexpected. His many contributions to the greater open source community will always be remembered as well as his generous friendship. It is in due honor to his life and good name that the Gentoo Foundation has donated a sum of $500 to the Electronic Frontier Foundation (EFF). The board of trustees believe that our donation is reflective of his wishes, given fmccor's professional life as a lawyer, and that this gift will further the movements he cared a great deal about, open source software and protecting our freedom.

The board would like to take this opportunity to encourage any and all individuals that personally knew fmccor or were benefiting from his life long contributions to donate, in kind and to the best of your ability, either to the EFF, the Gentoo Foundation, or another organization that you feel expresses these ideas.

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
Why I'm upset by Mininova possible shutdown (August 27, 2009, 16:29 UTC)

I’ve been reading some worrisome news about Mininova being requested to filter down the torrent links (to the point that it’ll have no more sense to exist in the first place, I guess). This actually upsets me, even though not in the way most people seem to be upset.

First of all I have to say I don’t like copyright infringement (even though I dislike calling it piracy in the first place): Free Software licenses are based on the idea of respecting copyright and thus I don’t like being the kind of hypocrite who asks to abide to licenses and at the same time infringe on others’ copyright. On the other hand, I find myself thinking about double-standards pretty often. Mostly, when there is no real other option from doing something illicitly.

For instance, anime and, even more, Japanese drama are sometimes impossible to find without having to wait for years, or often have bad translation or some kind of “localization” that ruins the pretty much (usually watering them down with political-correctness, censuring and cutting down anything that might make them unsuitable for children — even when the original version was simply not aimed at children but rather at young adults, but I’m going down a different road now).

Now I don’t want to play saint, it happened to me, and sometime happens still, that I went to watch something that was illegally downloaded; on the other hand, I don’t do this systematically, and I spend a few hundreds euro each year in original content (DVDs, BluRay, games for PS3 and PSP, software — if I do count this year I guess I’m well over €1K thanks to software: between Microsoft Visual Studio 2008 and Microsoft Office 2007 I already reach €600), and these usually include more than a few things that I previously watched downloaded (The Melancholy of Haruhi Suzumiya I had seen fansubbed, but I bought the Italian original box set earlier this year, for instance).

But there is one thing I absolutely rely on Mininova for, nowadays, and I’d be pretty upset if it was shut down: Real Time with Bill Maher ! Yes I do like this show, I have seen a piece of this some time ago in relation to an article by Richard Dawkins and then went on to listen to it (in podcast form) and then watch it (when the audio podcast was obscured for a while, and had to work around the US-only limitation, and found the full-fledged video podcast), up to now that I actually watch it downloaded from torrents each weekend.

Now, I know this is illegal, but HBO does not really provide me any other mean to watch it. And mind you, I’d be happy to spend €5/month to subscribe to it; I could even live with downloading it with iTunes, and having it DRM’d (which would upset me a bit but would be bearable). It’s a friggin’ late night show, not a movie, and not some general show like Mythbusters, which actually gets translated, dubbed and aired in other places, like Italy, although an year after the original American airing (on a related note: finding DVDs in Italy is still impossible; and region 2 DVDs from Amazon UK are limited to the first season…).

So if this for some reason arrive on the screen of some HBO guy: please, think about us, Bill Maher fans on the other side of the pond, and give us the chance of legally follow the video episodes. I’m sure that I’m not the only one who’s going to pay for the subscription, if given the chance. Then we can stop illegally downloading this through Mininova…

So I went on vacation and… (August 27, 2009, 14:18 UTC)

And now I got to work 18 hours a day. I wanted to write a bit about my one week in London but the time, since the start of the week, have been more than entirely spent on two main work projects. I even had to give up one project entirely because I didn’t have much time after an urgent consultancy started this week.

I have also very limited time for Gentoo as you might have noticed; I’m trying to do some of the standard maintenance operation on my packages and on Gentoo as a whole, but it really doesn’t have the same speed as I used to have. So please bear with me if the next weeks will be very slow on my Gentoo side.

On the bright note, I’ve been able to update PulseAudio to the latest test version, so you might want to try that out. And I’ll be working on a few more notes here and there, included autotools mythbuster .

David Abbott a.k.a. dabbott (homepage, stats, bugs)

In this podcast we have the two Zach's. The first Zach is one of weirdedout's twin boys, Zachary, and he will tell us about one of his favorite games, Warzone2100. The second Zach is Nathan Zachary, Gentoo Developer. Zach talks about ways users can get involved and the steps to become a Gentoo Staff member, full Gentoo Developer, and much more.

If you would prefer to read the interview;
http://forums.gentoo.org/viewtopic-p-5948487.html#5948487

LINKS:
Warzone2100
About Warzone2100
http://en.wikipedia.org/wiki/Warzone_2100
Warzone 2100 Open Source Project
http://wz2100.net/

Nathan Zachary
Gentoo Forums
http://forums.gentoo.org/profile.php?mode=viewprofile&u=158400
Gentoo Developer Web Space
http://dev.gentoo.org/~nathanzachary/
The OpenBox Configuration HOWTO
http://www.gentoo.org/doc/en/openbox.xml
The LXDE Configuration HOWTO Beta
http://dev.gentoo.org/~nathanzachary/documentation/lxde_1.0.xml
Bugzilla
https://bugs.gentoo.org/show_bug.cgi?id=230279

irc network freenode channel #linuxcrazy

Download

ogg

mp3

Nathan Zachary a.k.a. kalos (homepage, stats, bugs)
Quotes update (August 27, 2009, 03:54 UTC)

I just wanted to make a quick note (nothing urgent at all) that I have updated my random quotes database with about 20 new quotations. I hope you enjoy them, and come back to visit often to see new ones. :-)

|:| Zach |:|

August 26, 2009
RIP, nemesis (August 26, 2009, 23:48 UTC)

Nemesis, my main fileserver/webserver/dhcp/etc. just bit the big one.  Bad, too: no response to the power button.  The power supply is probably okay, because several LEDs on the motherboard light up, but no fan spin, no HD spin up.

Yay.

So, I get to try to replace it.  Temporarily, I'm going to try to put the drives in my desktop (thanatos), and re-purpose it.  But that's not a long term solution, since I need thanatos to be my desktop.

One possibility is to buy a new desktop.  I'm planning on getting a new gaming machine when Diablo 3 comes out anyway, so maybe I should buy it early.  However, with no ETA for Diablo 3, I can get much more machine by waiting.  Then, too, I'm not done with Fallout 3, and the DLC isn't even out yet for the PS3, and I have to go back and finish InFamous at some point, so I probably won't have time for Diablo 3 any time soon anyway.  So buying a new desktop is probably out.

Another possibility is to just replace nemesis with the cheapest setup I can find.   That's certainly quick, and easy.  Another possibility, which I've been considering for a while, is to get a NAS.  Some of them are quite nice, and I'm too old to enjoy administering a box anymore.  I've also read some good things about some of them.  I guess some serious pricing of options is in order...

Of course, my decision may be made for me if something happened to the drives in the crash of nemesis.  There may be no point in trying to build a quick-and-easy replacement.  Time to find out I guess.

Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
Funtoo Halucinations (August 26, 2009, 11:03 UTC)

So I'm reading through my RSS feeds and stumble across this gem:

Ciaranm quoting something from the funtoo.org FAQ about how funtoo.org only works with Internet Explorer or something

So, like, I look at the Funtoo FAQ that is linked from that blog.
Read it.
Don't find any mention of Firefox
Do a fulltext search just in case

So now I'm wondering, wtf is happening?
Is this a fast edit from the funtoo people in under 30 minutes? I find that unlikely. Or is Ciaran hallucinating badly (as seen with PMS and other works of fiction) and needs to have his medication adjusted?

I'd guess it's the usual FUD, and most likely ignoring it would be the "right" thing to do, but if you catch a kid urinating in the pool you usually spank it in the hope of teaching it not to do it again.

August 25, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
common alsa issues (August 25, 2009, 17:18 UTC)

I started a thread on the Gentoo Forums the other week, trying to get users to post what are common issues that they run into collectively. I'm hoping to see if I can find some patterns and either update the documentation or write a FAQ. If you have anything to share, please do.

And for the record, here is my first line of defense that I will tell anyone when they have no sound / wrong driver issues:

- Use latest ALSA (and kernel) in the tree. In this case, it's 1.0.20, and we've cleaned up a lot of crap that was causing issues.

- Compile everything sound-related in the kernel as a module. Yes, everything. No, not just the stuff that you *think* you can statically compile in --- *ev-e-ry-thing.* Once you've done that, run alsaconf. If your card doesn't show up, it's either completely unsupported (unlikely) or you didn't pick the right drivers. Go back in and flip on more stuff. As modules.

- If the correct drivers are loaded (aplay -L works), and you have no sound, then your mixer levels are probably wrong.

Apologies for coming across so heavy-handed, but that's the approach that has always worked for me, and works for most everyone when I tell them to do that: latest kernel, latest ALSA, everything as modules, alsaconf, then mixer.

Edit: Just as a postscript, the reason for the bluntness is that I recently started taking a more active role in the ALSA herd. Normally, I would just do version bumps and leave it at that. But, I'm trying to get practical issues resolved, and the one common thread I see over and over and over again on the forums and IRC is people just going off on their own little path and stabbing in the dark to see if they can get their sound to work, and then acting surprised that some random configuration didn't work.

I want to very much find both the source of this disinformation and correct it, and make sure that setting up sound is a really simple process. The *problem* though, is that it's always been pretty extremely easy for me, and so I am having a really difficult time understanding *why* people are hitting these issues -- hence, the reason for the forum post asking people why they are running into problems, and what thoughts and conclusions lead to that direction. Once I figure that out, then I can go back and tweak the docs to clarify situations and attack the common confusion.

I keep getting the idea that we could use a really simplified version of the ALSA doc, one that is a quick basic howto get setup for people with one soundcard, and then include examples using the most popular hardware out there right now (intel-hda). Then, have a separate doc for more advanced issues, for people who need help and information on alsa plugins, or have multiple sound cards and things like that. I think that lumping them together into one, as it is now, makes it hard for people who just want to get up and running.

So, apologies if it feels like I'm browbeating here, but the reality is that I'm really motivated to streamline the process of getting sound in Linux. Nothing but love, yo.

Linux Mint, logos and wallpapers (August 25, 2009, 07:03 UTC)

I think I stumbled upon Linux Mint on DistroWatch, upon this screnshot:

Somehow I wanted to see that wallpaper on my desk. Finally I found the image and put it up my desk:

It didn’t take long to where I wanted a version without the mint logo on it. The logo is nice but I don’t like to look at logos all day long. So I contacted the wallpaper’s author Zwopper who sent me a no-logo version in both green and blue in no time also allowed me to share it with you under a CC-BY-SA-3.0 license here. As far as I understand they have not been published like that elsewhere before. Here they are.


Click the thumbnails for PNG downloads with 2560×1600 pixels size.

August 24, 2009
Hanno Böck a.k.a. hanno (homepage, stats, bugs)
Trip to the UK (August 24, 2009, 13:45 UTC)

I'm currently in Scottland on a trip through the UK. I'm trying to get some contacts to the much more active environmental movement here. For those who don't know, the UK has probably the most active climate movement in the world. I just came from a gathering in the Lake District and now I want to visit a protest site against open cast coal mining in Mainshill.

Afterwards I'll visit the Climate Camp.

It's quite interesting to see discussions here. The main topics at the moment are the third runway at the heathrow airport (see e. g. Plane Stupid) and the building of a new coal plant in Kingsnorth (done by the german company e-on). I heared quotes like »we shouldn't wait till they build the new plant, they're burning coal every day in the existing ones«, which is a large difference compared to the discussion in germany.

August 23, 2009
Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)

Long title, hopefully catchy enough so that both users and fellow developers can get to read this, since it’s half a rant, half an explanation on why the QA team can be quite anal when it comes to bugs that, for most developers, and especially for the maintainers of the packages involved, might look minor or not causing problems to the general population of users.

Today’s problem for instance was with packages that, for non-live (thus, snapshot or release) versions used the SCM eclasses, fetching directly from CVS, Subversion, GIT, Mercurial and so on. QA already have stated that the ebuilds using SCM eclasses should be masked (it’s in the devmanual if you wish to look at it), and that by extension should tell that using them for relesed code is bad. Among the various reasons for not using SCM eclasses for proper versions of the software, no matter whether upstream has or hasn’t made any serious release, there are safety involvements (you sidestep the Manifest in portage) and problems with proxy (not all SCMs use HTTP for fetching), but what creates quite a bit of a problem to me with the tinderbox: those ebuilds don’t abide the fetch command! When I run the tinderbox, I launch in parallel both a build sequence and a fetch sequence (I cannot use the parallel fetch feature because I launch each package one by one); when the packages using SCM hit, they spend time not building, which is bad for the tinderbox. And it gets even worse when you add stuff like the old, removed rubinius that spent time timing out because the server went away.

But the same class of problems involve using too big files in the tree: when you add a 100K patch for a package that just a few users are going to merge, you’re wasting bandwidth and disk space for a huge amount of people who just don’t care. That’s why we stress the need for making filesdir as lightweight as possible without messing with the development process, of course. Again, this is just another little task for the developer: package the patches and send them on the mirrors, then add them to the ebuild so that they are only downloaded by those who do need them.

And again it’s the same problem with packages ignoring compilers, compiler flags, linker flags, or prestripping when they shouldn’t. These are a problem because one of the selling points of Gentoo is the customisability of it all, at all different levels. So while they might be seen as minor points, these are all the little details that the QA team has to answer for. And it goes on and beyond this, making sure software builds, that it builds in parallel if it’s possible, that it doesn’t fail with new version of dependencies, that it builds with the correct kernel.

So please help us helping everybody, and don’t just ignore our requests, or start a pissing contest on why your package should be special, and not abide to the common rules and directions of the rest of Gentoo. Sorry, but unless it is really special, and that’s pretty rare, your software will have one way or another to abide to those rules, and if I have to piss you off by forcing the decision as QA, then I will. I hope I won’t have to, though.

Stuart Longland a.k.a. redhatter (homepage, stats, bugs)
Progress Update (August 23, 2009, 09:39 UTC)

Well… I’ve been busy getting the boxes into shape ready for new stagebuilds and a heap of other activities.

I have Firefox 3.5 going on mipsel… albeit a little shakey. I’ve got 99% of KDE 4.3 going also, again, a few glitches. I have turned my attention for the time being to the SGI machines here, since the kernels on all of them are out of date… and the userland is in a bit of a mess. Particularly on the Indy… which hasn’t been touched in a couple of years (e2fsck complained the disk wasn’t checked in over 1000 days).

The Indy (R4600SC) needs a new kernel, as its current one is too unstable to do anything useful. I remember kernel 2.6 being a royal bitch on this machine, hopefully things have improved. The IP28 is up and running… old kernel and userland, but it’s not quite as bad as the Indy… at least it’s stable. The O2 is similarly suffering an old kernel, but at least parts of its userland are in reasonable shape.

The two Fulongs are also getting an overhaul which is badly needed. The Yeeloong too, is undergoing further work to get things running.

Tonight, I managed to figure out battery monitoring within KDE 4.3… the trick was to unmask the apm USE-flag and re-merge hal with this feature enabled. Now the system displays the battery status as it should… if only I could get NetworkManager working properly, then everything would be sweet there.

I have a couple of tracker bugs relating to this work… bug 282264 is a tracking bug for KDE 4.x related tasks, and bug 282265 pertains to the changes needed for in-tree Lemote system support.

I intend to do a bit of work on both as I run between Brisbane and Laidley using the Yeeloong as a test platform, so hopefully we will have something for public release soon. In addition, I’ll be doing stagebuilds for the Gentoo/MIPS port generally, once my systems are back online.

August 21, 2009
Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
FROSCON (August 21, 2009, 09:48 UTC)

Hi y'all,

If you're unsure what to do this (22. and 23. of August) weekend and you're accidentally near Bonn or Cologne in Germania ...

FROSCON is happening again. And Gentoo will have a presence there. So if you find the time, feel free to visit (and the 5Eur entrance fee are really worth it!) and meet us. This year we have a booth and a dev room where we can demonstrate out superior slacking skills (and, of course, the most awesome metadistribution ever!)

Experience from last years suggests a very nice, filled-with-fun, meeting of geeks, nerds and people that just like meeting other people. There's a nice program filled with interesting speeches and discussion rounds, lots 'o beer and quite likely some nice grilling or other kinds of food.
At the moment it looks like the weather will be good, so that'll make it even more fun. And if all that still doesn't convince you that you have to be there ... well ... then you don't deserve it anyway!

Hope to see y'all there,

Patrick the bonsaikitten

August 20, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
tromping around mythvideo code again (August 20, 2009, 17:11 UTC)

I'm still trying to decide where I wanna go with my media browser/frontend solution -- if I'm going to write my own or keep hacking on MythVideo. I only have one really nagging issue left now, and that is that the file structure presented is static once you enter the "Watch Videos" menu. I'd like it to be dynamic (that is, upon entering a new folder, check the contents again) so that I can add stuff like symlinks to series that I'm currently watching, or whatever. Doing that is pretty tricky.

I spent a few hours last night digging through the code, trying to find out exactly how the code is operating and what it's doing. What I learned was that, well Myth was doing exactly what I thought it was -- it builds a file list upon first entering, and then it doesn't examine it at all until you re-enter the video browser through the main myth menu. (I wish I had a decent screenshot about now, it's a bit confusing if you don't know what I'm talking about.)

There's a couple of problems with this approach, in my mind. First of all, the time it takes to actually load the mythvideo plugin grows in relation to how much media you have that it needs to parse. That is, it iterates over *every* single file that is in your media storage, and adds it to one variable. It's essentially like running find on your filesystem, saving it into one variable, and then when browsing, just using that snapshot that you took.

The simpler way, in my opinion, would be to just refresh the directory structure and metadata for the directory you are in. While I was poking at it, one thing I tried was to get the directory scan to not go more than one level deep. That reduced the startup time from about 8 seconds to less than one. Nice.

Ideally, I'd like to change it so it just updates the directory scan as it enters a new one, progressively growing the variable as you jump around the directory tree, but I couldn't figure out how to do that in the code (and if someone wants to help, that'd be awesome). MythVideo calls fetchVideos() only when first entering, and not anytime after that. The real problem is that it in turn calls about eight other levels of functions that eventually get to scanning the directory tree. I could probably hack it together to pass the current directory I'm in and update the directory scan from there, but again, I'm so limited in my C++ skills, at this point it's just code and guess. So, I can find and explain the problem, but not fix it myself.

Fortunately, it's a minor wish list item of mine, and so it's not a show stopper. I can live with not being able to do it, and it's probably just a matter of me learning how to code a bit more that I could figure it out. On the plus side, I'm learning more about the internals of the code, and each time I go in there, I find a few small inefficiencies that I can cleanup myself, which is fun. Making progress, I suppose. :)

More on the Yeeloong including kernel config (August 20, 2009, 13:41 UTC)

Just a short comparison after the initial report: The shipped Debian takes 60 seconds till the Gnome desktop appears, while the LXDE of my Gentoo installation needs 40 seconds. Of course less features (or cruft) is available with the latter, so no real benchmark. Also Ubuntu has formed a team to do a port to the Loongson CPU.

The kernel provided by Lemote is 2.6.31-rc5 and I used the attached configuration to succcessfully built and run the kernel on my Loongson 2F-based Yeeloong netbook.

CONFIG_MIPS=y
CONFIG_MACH_LOONGSON=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_LEMOTE_YEELOONG2F=y
CONFIG_CS5536=y
CONFIG_SYS_HAS_MACH_PROM_INIT_CMDLINE=y
CONFIG_CS5536_MFGPT=y
CONFIG_UCA_SIZE=0x400000
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_ARCH_SUPPORTS_OPROFILE=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_EARLY_PRINTK=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y
CONFIG_I8259=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_BOOT_ELF32=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
CONFIG_CPU_LOONGSON2F=y
CONFIG_CPU_LOONGSON2=y
CONFIG_SYS_HAS_CPU_LOONGSON2F=y
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
CONFIG_64BIT=y
CONFIG_PAGE_SIZE_16KB=y
CONFIG_BOARD_SCACHE=y
CONFIG_MIPS_MT_DISABLED=y
CONFIG_CPU_HAS_WB=y
CONFIG_CPU_HAS_SYNC=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_SYS_SUPPORTS_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
CONFIG_HAVE_MLOCK=y
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_HZ_1024=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_HZ=1024
CONFIG_PREEMPT=y
CONFIG_SECCOMP=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-fauli"
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_KERNEL_LZMA=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TREE_RCU=y
CONFIG_RCU_FANOUT=64
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_USER_SCHED=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_MM_OWNER=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_COMPAT_BRK=y
CONFIG_SLUB=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_SYSCALL_WRAPPERS=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_BLOCK=y
CONFIG_BLOCK_COMPAT=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_CFQ=y
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_FREEZER=y
CONFIG_HW_HAS_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_ISA=y
CONFIG_MMU=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_MIPS32_O32=y
CONFIG_MIPS32_N32=y
CONFIG_BINFMT_ELF32=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_PM=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATION_NVS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION="/dev/sda2"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_LOONGSON2F_CPU_FREQ=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=y
CONFIG_MAC80211=y
CONFIG_MAC80211_DEFAULT_PS=y
CONFIG_MAC80211_DEFAULT_PS_VALUE=1
CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_PID=y
CONFIG_MAC80211_RC_DEFAULT="pid"
CONFIG_MAC80211_LEDS=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_PNP=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_EEPROM_93CX6=y
CONFIG_HAVE_IDE=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_WAIT_SCAN=m
CONFIG_ATA=y
CONFIG_ATA_SFF=y
CONFIG_PATA_AMD=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_NET_PCI=y
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_WLAN_80211=y
CONFIG_RTL8187B=y
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_DEVKMEM=y
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=16
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_FOURPORT=m
CONFIG_SERIAL_8250_ACCENT=m
CONFIG_SERIAL_8250_BOCA=m
CONFIG_SERIAL_8250_EXAR_ST16C554=m
CONFIG_SERIAL_8250_HUB6=m
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_HW_RANDOM=y
CONFIG_RTC=y
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_HWMON=y
CONFIG_SENSORS_PCF8591=y
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_SSB_POSSIBLE=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_SM7XX=y
CONFIG_FB_SM7XX_ACCEL=y
CONFIG_FB_SM7XX_DUALHEAD=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VMASTER=y
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_DRIVERS=y
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=10
CONFIG_SND_PCI=y
CONFIG_SND_CS5535AUDIO=y
CONFIG_AC97_BUS=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_USB_HID=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_SUSPEND=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_STORAGE=y
CONFIG_MMC=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LOONGSON_PLATFORM_DEVICES=y
CONFIG_EC_KB3310B=y
CONFIG_EXT2_FS=m
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_JBD=y
CONFIG_JBD2=y
CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FAT_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS_FS=m
CONFIG_NTFS_RW=y
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_CONFIGFS_FS=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_CIFS=m
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_UTF8=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_FRAME_WARN=1024
CONFIG_TRACING_SUPPORT=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_CMDLINE=""
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_DECOMPRESS_GZIP=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y

Architecture work the way I do it (August 20, 2009, 11:00 UTC)

Every one of us dumb workhorses called architecture developers has its own way of scripting all the commands necessary to stabilise/test a package on its architecture, but I would like to describe how I do it, for the curious. The bug list of the architecture (x86 in my case) with all keywording and stabilisation requests is the starting point here.

Normally I install the packages in a chroot and I follow the never-uninstall-a-package policy to catch file collisions, while others keep the system lean to find missing dependencies (they probably use the buildpkg feature of Portage to keep compile times for dependencies down). To put all needed packages in the package.keywords file, I use the Gentoo Arch Testing Tool (app-portage/gatt) which does that automatically. Compile test includes up to three runs: With all USE flags enabled, then all disabled and then finally what make.conf and the profile defines. The last iteration is then tested, either by starting the program and using it for some time (games usually get a longer testing period) or by building packages that depend upon the package to be stabilised. I have a little script that extracts that information from the tinderbox' rindex and determines which package is in stable and needs to be rebuilt. Manual work includes a short glance if USE flags are needed to activate the support for that package. Installing as most depending packages as possible makes sure all reverse dependencies still build, this sometimes leads to other stabilisation requests or bug reports blocking the stabilisation of the initial package.

After everything went successfully I tell Gatt to create a script in the /tmp/ directory which is shared with my main system. From there I call that script which is quite capable and there is an extensive manual for it.

That's how your package hits stable on x86 usually. Big things like KDE or Gnome are handled differently, the script is shorter:

  • Install it with the package list provided by the team (normally that's the case)
  • Test it
  • Keyword all packages and add ChangeLog entries (without commit)
  • Run QA checks with repoman over the whole category
  • Run commit with --force to disable QA checks to speed up process (it still takes hours for KDE)

August 19, 2009
Writer’s Community and Store (August 19, 2009, 22:41 UTC)

My friend the reporter (who still has a job this week...) was visiting today, and we were talking about the newspaper industry, and how reporters everywhere are getting laid off.  In fact, my "home town" newspaper (the Ann Arbor News)  recently folded, fired their reporters, and became some kind of online monstrosity (named after my city with "dot com" on the end; I won't give them Google Juice by listing the name) that does nothing interesting with news, and dumps printed ads (not news or content, mind you, just ads) on my lawn all the time.  They're basically paper spammers... Anyway, we were talking, and it occurred to me that there is probably a fairly large set of out-of-work writers at the moment.  People with lots of skill, and love of writing.  What we need is a business model to take advantage of that to make everyone involved a bit of money.  What model should this be,  I wonder?Here's my idea: iTunes for ebooks, but done right.

See, ebook readers are becoming good right about now, and Kindle has shown that they can even become popular.  And people are buying iPhone and Android apps for a buck or two right and left.  What if we could come up with a way to get these writers to be able to write good content, and get that content to consumers, all at low enough overhead that you could charge a buck?  What I want is two things:  A community and a ratings system.  It works like this.

There's a community for writers, where they can collaborate on, edit, comment on, rate, and so on each other's work.  The community provides appropriate licenses (in collaboration with Creative Commons, probably), and hosting, and forums, and mailing lists, and all the snazzy web 2.0 things that fan-fic sites have.   The community also provides, and here's the important part, a store.

The store would support Kindle, Sony's reader, Plastic Logic's reader, at least one decent iPhone app, at least one decent Android app, at least one decent Pre app, and at least one decent blackberry app.  Probably a Windows Mobile app too, but that's a pain.  Buyers would be able to rate things, tag things, and link things.  Each book would link to the authors community page, so that people could follow and interact with their favorite authors.  Authors, subjects, tags, and so on, should have feeds that you can follow: blog-like, twitter like, and so on.  Integration with other services (such as twitter, facebook, myspace, and so on) would be a plus.Prices should be low; $.50 - $1.

The idea is to encourage people to buy.  Overhead should be low: 5-10%, maybe.  Some works could (and probably would) be given away, as teasers or other incentives.  There should be no DRM; it wouldn't help, and isn't really necessary.The point of the store/community should be convenience: get things for your device easily and cheaply, support people providing your content, and get good content our the deal.

The point of this whole thing is to make an opportunity out of the failure of the newspaper industry: we have a surplus of talented, professional, skilled writers, who need money.  We also have the beginnings of devices that make reading ebooks a good experience.  Let's put them together, and allow the fans to help pay for the works of the writers.

Kenneth Prugh a.k.a. ken69267 (homepage, stats, bugs)
The terminal based email client clobbering (August 19, 2009, 01:11 UTC)

So I recently have been trying out the various different terminal based emails clients to see if any of them were suitable to my needs. Sadly I have to report that I have yet to find one that does everything I need of it.

The first client I tried was alpine. I have to say setting up the program and using it was really easy. Adding accounts was a snap and it was decently performing. Sorting into threads was a bit slow but I suspect that was gmails fault. However, alpine falls short in showing me if I have new emails in folders other than the main Inbox or the folder I have open. I didn’t find a quick at a glance type view listing all the folders and an unread count next to them. Bummer, I really need this. I can’t simply open every folder to check if there’s new mail as some of them are very large and take a long time to open. Alpine gets brownie points for being able to use vim as an editor by default, but looks like I need to keep looking.

The next client I tried was cone. Cone seemed very familiar to alpine and was slightly easier to set up and get going, but lacked as many configuration options that alpine had. I also have to say the colorscheme it chose on my urxvt terminal wasn’t exactly pleasing to the eye, but bearable. I was extremely pleased that cone’s folder list did list unread message counts and did almost everything I asked of it. I could even use vim in the place of leaf if I wanted. The wall I hit, however, is deal breaking. It’s not even particularly cone’s fault but from google’s refusal to follow IMAP standards. As such, I cannot mark emails as read when using cone on my gmail IMAP account. Shame, this is all that I found on the net about it. I figured if I could just get cone to fire off \Send when it should have been marked read by gmail anyway would work but I just can’t quite grasp the internals of cone. Sigh. I tried to hack cone’s sourcecode to implement sending UID STORE +FLAGS \Seen but couldn’t get it working. The functions weren’t documented and my knowledge of C was lacking so I was just clobbering things together. I gave up after it would open a message and simply segfault.

Next I attempted to try mutt. Mutt seems overly complicated for my needs and I don’t think it would play very nice with over 5 IMAP accounts. It’s configuration is a nightmare and I gave up after barely just getting one account functioning.

So for now I’m still using Claws-Mail which is the best graphical client I’ve tried so far. There are times when I don’t have access to a graphical display , however, and wanted a nice email client in a terminal which is why I started this search. Would also be handy as I could ssh in from anywhere and read email with a terminal email client.

Now that I’ve wasted half a day stabbing email clients I suppose I should start reading my unread email :/

August 18, 2009
New toy...the Lemote Yeeloong netbook (August 18, 2009, 20:39 UTC)

Before the netbook-boom called 'mini notebook', Lemote now promotes it as netbook (what it really is). The specialty of that little thing is the hardware: Not an Intel Atom or some AMD CPU, but a 900Mhz Mips chip. Honestly, after my disaster with something ARM-based (NSLU2, it still is bricked and will never be revived I think), I wanted something more end-user friendly and the Lemote is just that. Equipped with a full-fledged desktop installation (the Debian mipsel variant) it allows installing Gentoo with few problems. Chrooting and installing the stage tarball from Zhang Le gets you off quite fast. The provided kernel did not boot, but Le gave me a newer one, which worked just fine after creating some missing device files (console, tty* and pty*, see man mknod). Meanwhile I have compiled my own kernel and the system just runs with LXDE...so finally a possibility to have the third Gtk-based destop installed. Gnome on sol (the big iron desktop), Xfce on the main lappy (called terra) and LXDE now on mars. Performance is good, for surfing and mailing it is more than sufficient, compile times are ok (even GNU Emacs runs), but the battery is way too small (1.5 hours only, but a peak of 14W consumption, while having 12W during normal surf sessions).

The Loongson processor seems to me as the future of the Gentoo Mips port. Supporting the old SGI machines is nice but they will eventually die out, while Lemote actively works on new machines and supports Linux as its main platform (they don't have any other choice apart from the BSDs anyway). Ordering is really simple: Either use Lemote directly (and handle all customs yourself), use KD85 (what I did, really pleasing experience, shipped from Belgium) or Tekmote from the Netherlands.

Zhang Le (r0bertz) and Stuart Longland (redhatter) wrote enough about the Loongson processor and the Gentoo support in various entries on their blogs, so I won't go into more details.

Romain Perier a.k.a. mrpouet (homepage, stats, bugs)
Introducing to Gentoo-Quebec (August 18, 2009, 10:09 UTC)

Gentoo-quebec is a project which aims to meet people around gentoo stuffs.
At the origin it was created on 1st December 2007 per 5 guys

-Laurent Duchesne
-Sylvain Alain
-Patrick Blanchard
-Éric Langlois
-Mathieu Bouchard

Providing great documentations as PDF format (generated using LaTeX :D) and excellents wiki howtos pages, this is the right place to share and learn experiences.

There is also an useful and powerful forum for our community, to get feedbacks and ask all your questions, don't worry admins didn't forget an english section ;).

Actually I help them when I've time enough, my areas of responsability are mostly fix or write articles in the wiki, and share my experiences (and learn too) on the forum.

Gentoo-quebec always search great users with good gentoo skills, or developer who want to share their knowledges (like zmedico with portage, thanks to him).

so because you finished to read this entry don't wait and join gentoo-quebec ! :)

Jeremy Olexa a.k.a. darkside (homepage, stats, bugs)
Wisconsin State Canopy Formation Record (August 18, 2009, 02:50 UTC)

Over the past weekend, I was at Sky Knights skydiving drop zone near Milwaukee, WI. The main event was the canopy relative work (CRW) state record attempts. I had only participated in approximately 25 CRW jumps before this, but I was able to add another 13 jumps this weekend. The previous state record for CRW in Wisconsin was 14 and this year we completed a 25 way diamond on our second attempt to set the new record. I was able to jump with eight CRW world record holders which was awesome and really helped me improve.

25way CRW formation

25way CRW formation

I am in the third row from the bottom on the left side. (Photo Credit goes to: Eric Bernetzke)

August 16, 2009
Stuart Longland a.k.a. redhatter (homepage, stats, bugs)
Gentoo + KDE 4.3.0 now going on the Yeeloong (August 16, 2009, 11:39 UTC)

Well… after much building by one of the older Lemote systems, I finally have a Gentoo desktop with KDE 4.3.0 on the Lemote Yeeloong.

I’m still working on the rest of the KDE suite… and will have to track down the necessary bits and pieces for battery monitoring and other goodies… but it seems everything is working. It also is slightly more responsive on Gentoo than Debian (which I still have in a chroot).

This post is being written in Konqueror 4.3.0 on the said installation… it passes the Acid 2 test, but has a few stability glitches here and there… so far both the Acid 3 test, and Google Groups crashes it. I’ll sort this out later.

In short, this does mean I’ll be coaxing my O2 into making the same journey and making the necessary tree modifications in order to allow KDE 4.3 on Gentoo/MIPS.

Markos Chandras a.k.a. hwoarang (homepage, stats, bugs)
Remember: Documentation is top priority (August 16, 2009, 10:29 UTC)

I always thought that writting documentation is much more difficult than coding. This is because, writting documenation and guides, is kinda boring(?), requires a lot of our free time and it is not as fun as coding. All of these arguments IMHO are true but is documentation really needed?

During my six month Gentoo journey I faced a common problem: “I want to write a python/gnome/qt ebuild. How on earth am I suppose to do it??”

Looking through Gentoo docs I ‘ve found some guides about writting games and python ebuilds. Maybe there are more, I haven’t checked. Those guides are quite handy for anybody who wants to write a quick ebuild without making serious mistakes.

Eclasses usage is another tricky thing. Based on my experiense, I believe that the most difficult part is to understand how they work and when they should be used on an ebuild. E.g., a Qt4 ebuild doesn’t always require to inherit qt4 eclass because it might wants cmake functions to build and install. In this case, despite the fact that it is a pure Qt4 package, you need to inherit the cmake-utils eclass. That was a simple example but I believe you got the point :)

This blog post is a kind request to all fellow developers,  to make some time and write proper ebuild guides ( and keep them updated based according to eclasses’ latest changes ) for the sake of developers and users. People tend to believe that ebuild writting is quite hard because of all the e-* functions ( wrappers ) and ebuild  phases. Prove them wrong :)

ps: A Qt4 ebuild guide, can be found here

August 15, 2009
Makers vs. Managers Schedule (August 15, 2009, 14:35 UTC)

Mental note to self:

 http://www.paulgraham.com/makersschedule.html

August 14, 2009
David Abbott a.k.a. dabbott (homepage, stats, bugs)
Podcast 61 Pulseaudio | Gentoo PR (August 14, 2009, 22:08 UTC)

gentoo
Nothing fancy in this podcast just an update about what has been going on in my Linux World. I am now a member of the Gentoo PR Project as a staff member. What this means is that I am not a developer for Gentoo, just a staff member to help out with Gentoo. The first thing I did was put together a page for the Gentoo 10 year anniversary, yes Gentoo is celebrating a birthday. I am going to be talking about a lot of different links, so instead of saying all of them during this podcast, if there are any topics you would like more info or a clearer explanation, please visit linuxcrazy.com for all the links

LINKS:
My Gentoo PR site
http://gentoo-pr.org/
Gentoo Anniversary page
http://www.gentoo.org/news/20090722-anniversary.xml
Screenshot contest
http://www.gentoo.org/proj/en/pr/2009-screenshot-contest.xml
Screenshot Contestants
http://gentoo-pr.org/node/6
http://gentoo-pr.org/node/7
http://gentoo-pr.org/node/9
Contest Forum Post
http://forums.gentoo.org/viewtopic-t-780092-highlight-.html
Gentoo GuideXML
http://www.gentoo.org/doc/en/xml-guide.xml
Robin H. Johnson (robbat2) interview
http://www.gentoo.org/proj/en/pr/20090724-robbat2-interview.xml
Perl 5.10 testing
http://pythontoo.com/?q=node/22
Bash
Advanced Bash-Scripting Guide
http://tldp.org/LDP/abs/html/
Gentoo Development Guide
Tools Reference
http://devmanual.gentoo.org/tools-reference/index.html
Linux Command Line and Shell Scripting Bible
http://www.amazon.com/Linux-Command-Shell-Scripting-Bible/dp/047025128X/...
Touch Typing
GNU Typist
http://www.gnu.org/software/gtypist/#TOCdocumentation
Klavaro
http://klavaro.sourceforge.net/en/index.html
Three typing tutors and a boy
http://www.linux.com/archive/feature/146602
PulseAudio
http://forums.gentoo.org/viewtopic-t-789181-highlight-.html

irc network freenode channel #linuxcrazy

Download

ogg

mp3

August 13, 2009
Nathan Zachary a.k.a. kalos (homepage, stats, bugs)
LXDE configuration HOWTO draft completed (August 13, 2009, 15:30 UTC)

After talking with Ben (yngwin), I found that there really wasn't anyone working on documentation related to LXDE inside of Gentoo. So, I decided that I would write a HOWTO for getting it installed and configured. I finished the document this morning, and uploaded it to my Developer webspace. You may see a working copy of the document there, and if you want to see the xml, you have two options. Firstly, when looking at the finished copy, you append the following to the end of the URL:

?passthru=1

making the full URL:

http://dev.gentoo.org/~nathanzachary/documentation/lxde_1.0.xml?passthru=1

and that will show you the XML. Secondly, you can view Bug 281345, and click on the attachment. Hopefully the documentation team will pick up the guide in the near future, and commit it. The only holdup that I can foresee is that LXDE is still available only through the testing (~arch) branch.

|:| Zach |:|

Updates made to the Openbox HOWTO (August 13, 2009, 03:25 UTC)

I have made several changes to the Openbox HOWTO. There were many typographical errors that I didn't catch the first time around, and package links that weren't added. Here's a full list of the updates for version 1.4:

  • In code listing 2.5, changed the $ to # as the operation requires root actions.
  • Added a note to the 2.5 listing about becoming root before the command.
  • In code listing 2.6, fixed the typographical error (7gt; instead of gt;).
  • In code listing 2.6, made the
  • In code listing 2.8, fixed the typographical error (extra > in closing tag).
  • In code listing 2.8, fixed the typographical error (missing closing ").
  • Added a link to the package information for conky before code listing 2.10.
  • Added a link to the package information for feh after code listing 2.10.
  • Added a link to the package information for nitrogen after code listing 2.10.
  • Removed the library dependency bug reference for nitrogen.
  • In terminals section, changed "customized" to "customised" for consistency.
  • In file managers, fixed typographical error for Nautilus (a "bit" heavy).

If you would like to see the new document revisions before it gets committed to the official documentation repository, it is available on my Developer webspace. You may also view the XML for version 1.4 via Gentoo Bug 256693.

|:| Zach |:|

August 12, 2009

It is with sadness that we as Trustees bring forward this news that we have recently received. Ferris Ellsworth McCormick, better known as fmccor, has passed away unexpectedly on the 5th of August. His family does not wish to be contacted. We have expressed our gratitude for his contributions on behalf of the Community.

Ferris studied mathematics in college at Indiana University, graduating in 1968 with a Bachelor of Arts. Later he entered into the Law school at the University of Michigan, earning his Juris Doctor degree in 1991.

He passed the bar in Michigan that same year and has continued to be an actively certified Lawyer with the State of Michigan since then. He was also a member of the Association for Computing Machinery (ACM).

Ferris joined Gentoo on April 16th 2004 as part of the sparc team and improved sparc support for the entire open source community. Within a year he also joined the Developer Relations team to help with mediation of any issues that might come up between people. As time went on Ferris continued to expand and assist Gentoo in many ways including assisting with the User Relations team and growing to become the Strategic Manager of the sparc project. Finally, he became a trustee and the Vice President of the Foundation assisting in getting the foundation back into good standing.

While it is too late to say in person, the Foundation would like to thank Ferris once again for all that he did for both Gentoo and the Open source community. He will be missed.

Please join the community in eulogizing Ferris in our forums here.

August 11, 2009
compiz KDE support and libcompizconfig (August 11, 2009, 19:32 UTC)

This is a quick note for anyone using compiz, that x11-wm/compiz-0.7.8-r3 will allow KDE-4.3.0 and that the KDE use flags were updated now that KDE-4 has become the "default" KDE version and that 3.5 is approaching its final days.
As such, the kde use flag will add support for KDE-4.X and the kde3 use flag will add support for KDE-3.5. So be sure to check your use flags for compiz.
I plan to move compiz-0.7.8-r3 from the overlay to the tree in a few hours.

Following my attempts to deal with bug 259715, I broke libcompizconfig again - bug 278146. Although I've masked libcompizconfig-0.8.2-r2 sometime ago, it was unmasked long enough to break the config files for enough users. If you still have ccsm / compiz failing for you, you need to downgrade to libcompizconfig-0.8.2 and to remove the contents of ~/.config/compiz/compizconfig/. I'm still working on removing the bundled iniparser from libcompizconfig.