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 24, 2009, 23:06 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 24, 2009
Markos Chandras a.k.a. hwoarang (homepage, stats, bugs)
Moodle: Open-source e-learning platform (September 24, 2009, 18:43 UTC)

And yes, I am still here :)

Military service is really cool so far :) . Lets hope it will stay this way. Photos can be found here.

Anyway, recently I was assigned to a new project. I am supposed to setup an e-learning platform on a windows XP system.

Because I am really short of time I needed a quick and reliable solution.

So the first step was to download wampserver in order to have a fully operating hosting service on the current machine.

The most crusial issue was to choose the correct e-learning platform.  Having done my research for three days, I ended up using moodle .  It is really cool, with an extremely handy administrating panel, many many misc options about courses, categories, users etc. Pluse there is a huge users’ community all over the Inet.
I strongly suggested it if you need to setup up a similar platform in the future.

If you think that there is a better solution for my problem, please feel free to write it down :)

See you again soon!!

Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
Gentoo Codeswarm (September 24, 2009, 01:09 UTC)

When I saw people do codeswarms of amarok and banshee and other small projects I thought "Hey, I can do that too!"

Now, after some work, and lots of CPU-cycles used, I have some results to show. And they are quite ... nice? awesome? For you to decide.

It all begins with pulling the data from cvs. Since I was in a hurry I did a naughty thing - do a checkout from anoncvs.gentoo.org, run cvs log > logfile
That is naughty because it causes a huge load on the server. Polite persons will create a local copy of the repository and run their own cvs server.

After ca. 50 minutes I had a logfile of 456926138 bytes, or roughly 450MB. This gets transformed into a list of events for codeswarm. The transformation itself is quite fast, but takes lots of RAM. In this case just over a gigabyte. So there I was with a 220MB XML dump to feed into the renderer ...

The first attempt died nicely because the default of using 1GB RAM cripples the render speed. Well, actually, my first first attempt died a horrible death because some [censored] in the Java world don't check what dynamic objects they load. And this means I had to run it all in a 32bit chroot. Grate phun. Grrr :D

Processing that amount of data looked quite reasonable for the first hour or so. Then it slowed down quite a bit, then even more. Increasing the memory helped a lot - I just let the JVM have 3.5G (it's a crippled 32bit process after all) and it effectively used ~2.5G. I think this shows the limitations of the current approach quite well.

Still it was too slow and too dense. The amount of files overwhelmed the screen so that it was looking very ... crowded

And that's a bit bland. I did notice that you can colour things, so obviously I split by categories. The colours are mostly random, but seem to work well. And in testing things I realized that the drawing time is negligible compared to the physics / preprocessing, so obviously I increased the resolution a bit. Hey, we live in the modern times of Full HD ... why compromise with legacy formats!

real    2876m48.775s
user    2897m44.342s
sys     10m28.831s
That's what "time" had to say about my little experiment. Almost 2 days of CPU-time at 2.6Ghz ... and that's with a naughty tweak. I reduced the amount of items because I realized that it was going to take Too Long (tm). So instead of representing each file ... why not represent each directory as one "thing"?
                    filename = filename.replace('files/','')
                    filename = filename.replace('/var/cvsroot/gentoo-x86/','')
                    filename = filename.replace('Attic','')
                    filename = "/".join(filename.split('/')[:-1])
That's all the mods I needed - strip the repo location at the front, fold files/ and Attic/ away and cut off the filename. Ends up with "category/package" instead, which for the purposes of Gentoo is a much more useful identifier. And the rendering time went down from one frame every 30 minutes worst case to about one frame every 3 minutes worst case. Y'know, the "unmodified" version is still processing after over 118 hours CPU time ... not that nice :)

One positive effect is that it reduces the input from over 200MB to just around 100MB.
Now after 48h CPU I have 13367 single PNGs with a total size of pretty exactly 5GB. Feeding those into mencoder generates 557.8 seconds of video with an average bitrate of 1737.2kB. The encoding takes 22 minutes walltime or 40 minutes CPU-time - in other words mencoder uses two threads properly. Good to know!

So just to warn you, the result of my little experiment is a high-bitrate 1080p video. It is about 116MB in size ...
Get it here
(US mirror)

Enjoy!

September 23, 2009
Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
Smarter, greener hardware (September 23, 2009, 20:13 UTC)

I have to say sorry before all, because most likely you’ll find typos and grammar mistakes in this post. Unfortunately I have yet to receive my new glasses so I’m typing basically blind.

I hear lots of complains about the power management in Linux and in Free Software in general, and most of the times, this is related to complains about the time laptops can work on battery. While these complaints are usually well founded, I’d like to add to that the fact that both Linux, and a lot of modern hardware, fail at saving power for the sake of environment and, somewhat important as well, of my bank account.

Indeed, I’m afraid to say a lot of modern hardware fails at being smart to be green; and that does not limit to Linux-based systems (although I’d sill be happy to know what causes my LCD monitor to turn off and then on again when DPMS should start!). I can find quite a few examples that nothing have to do with Linux:

  • keeping in the field of operating systems, while Apple did a lot of good work with Mac OS X and power saving (indeed their laptops last a lot on battery), some things aren’t exactly terrific: my iMac sometimes does not stop when I’m not using it, rather the monitor shuts off but the rest of the system keeps running… and because the monitor is off, it happened more than once that I went away, or to bed, without turning the system off. Not really nice; for now I solved by not turning the monitor off, and just make sure I explicitly turn the system off when I’m not using it.
  • on the field of consoles, I got a Wii last week (I need to do some exercise to make sure my blood sugar level falls in place, and the best way to get a geek to do some physical activity is graphing it! – and the Wii Fit seems to work for my sugar); nice thing, the C64-style transformer in the power supply unit is a bit of a nuisance, but more importantly, the WiiConnect24 idea seems to me like a stupid thing: it keeps the console connected to the Internet even when it’s turned off, and what for? As far as I can see this is only useful to make sure you can have weather forecast immediately upon turning it on… I can get the marketing idea, but wouldn’t be more or less the same if it checked the forecast as it’s turned on, even though I’m not asking for it just yet? It takes time to load the games as well, it could take a little more time to load the weather.
  • on the same field, Sony has one absurd thing: there is no auto-off setting for the playstation 3, at all! Of course you can set it to run folding@home as soon as it’s unused for a period of time, but this also has some limitations; for once, it will not start if a DVD is kept in pause (which happened to me once); it willa lso not start if a dialog is opened (like a “Delete Completed” or such); at the same time, the “auto-turn off on download complete” option does not turn off the controller which means you can forget about it and have your controller still going for a period of time (until it’s use-based auto-turn off triggers);
  • more interestingly, Sony’s Bravia TV seems to be both smart and green: contrary to my previous Samsung TV, it has a “power off” button that shuts it down; it’s not a hard button, it’s still soft, but the TV doesn’t response to anything else (included the remote and the other buttons on the chassis) when it’s powered off that way; it also includes a special “auto turn-off” option, ot like the usual timer, but rather similar in concept to screensavers on computers: if you don’t press any button for a period of time, it’ll auto-turn off, assuming you’re not in front of it; even better: it has a special option to turn off the video and keep the audio going, perfect when using it as a sound system, with either the PS3 or the Apple TV, or when listening to news channels;
  • speaking about Sony, PS3 and Bravia, the BraviaLink function also look like a very smart and green technology: it allows for the TV to turn on and off additional peripherals, included the new PS3 Slim at least this is what I can see; this is pretty nice since you don’t risk to forget the DVD on when you turn the TV off (my father always did that); too bad I have the older model of PS3… the time I can finally get a reason to install Gentoo on my PS3, I’ll replace it for a new model (which cannot run Linux) and get a new one for my TV.

I know there are devices that are supposed to turn on and off a whole home theatre system with the TV, but I’m still uncertain on how they are supposed to be used; the obvious thing would be to put stuff like the DVD player, DVB receiver and consoles under the TV’s control… but this does not work too well with the PS3 for instance, since I often leave it on, with the TV off, when downloading demos, trailers, or simply leaving folding@home in execution (usually this is done while downloading); similarly the AppleTV is supposed to be auto-synced (but admittedly, I only use XBMC lately so it’s not really important). Certainly, the Skybox and the Wii will make sense to shut down always with the TV.

I wish PC hardware would also work similarly to this or even better to BraviaLink; for instance the HP all-in-one I’m using needs an explicit power on (a soft power on, and this is important) before I can use it with my computer; having a simple way to turn it on and off via software would work much better (since turning it always on and off is not really a nice option, having it turn on when asking for a scan or a print, and having an option to turn it off, and an auto turn-off feature, even if implemented PC-side).

But even smaller things could be done, for instance I have a bluetooth dongle on Yamato; I put it on when I need to send data to the cellphone and take it out when I don’t need it any more… it would be much easier if I could just click on the bluetooth icon in the system tray and ask the bluetooth software to turn it off for me (I know it’s likely feasible already given that OS X does it with the integrated bluetooth on Macs, but as far as I can see it does not work on Linux yet, or at least not with the gnome software I’m using).

Add all these small things together, and you can see that hardware is not really very smart yet nowadays…

Who Pays the Price of Pirated Programs (September 23, 2009, 18:19 UTC)

I have to say sorry before all, because most likely you’ll find typos and grammar mistakes in this post. Unfortunately I have yet to receive my new glasses so I’m typing basically blind.

Bad alliteration in the title, it should have been “pirated software“ but it didn’t sound as good.

I was thinking earlier today who is really paying the price of pirated software in the world of today; we all know that the main entity losing from pirated software is, of course, the software’s publisher and developer. And of course most of them, starting from Microsoft, try their best to reverse the game, saying that the cost is mostly on the user itself (remember Windows Genuine Advantage?). I know this is going to be a flamethrower, but I happen to agree with them nowadays.

Let me explain my point: when you use pirate software, you end up not updating the software at all (‘cause you either have no valid serial code, or you have a crack that would go away); and this include security vulnerabilities, that often enough, for Windows at least, lead to virus infecting the system. And of course, the same problem applies, recursively, to antivirus software. And this is without counting the way most of that software is procured (eMule, torrents, and so on… — note that I have ethical uses of torrent sites for which I’d like at least some sites to be kept alive), which is often the main highway for viruses to infect systems.

So there is already an use case for keep legit with all the software; there is one more reason why you, a Linux enthusiast, should also make sure that your friends and family don’t use pirate software: Windows (as well as Linux, but that’s another topic) botnets send spam to you as well!

Okay, so what’s the solution? Microsoft – obviously – wants everybody to spend money on their licenses (and in Italy they cost twice as much; I had to buy a Microsoft Office 2007 Professional license – don’t ask – in Italy it was at €622 plus VAT; from Amazon UK it was €314, with VAT reimbursed; and Office is multi-language enabled, so there is not even the problem of Italian vs. English). I don’t entirely agree with that; I think that those who really need to use proprietary software that costs, should probably be paying for it, this will give them one more reason to want a free alternative. All the rest, should be replaced with Free (or at least free) alternatives.

So for instance, when a friend/customer is using proprietary software, I tend to replace it along these lines: Nero can be replaced with InfraRecorder (I put this first because it’s the least known); Office with the well-known OpenOffice and Photoshop with Gimp (when there are no needs for professional editing at least).

The main issue here is that I find a lot of Free Software enthusiasts who seem to accept, and foster pirate software; sorry I’m not along those lines, at all. And this is because I loathe proprietary software, not because I like it! I just don’t like being taken for an hypocrite.

Remi Cardona a.k.a. remi (homepage, stats, bugs)

Here we go again. This time, we're going for the double sweepstakes as we're trying to stabilize both libxcb 1.4 and xorg-server 1.6!

For once, the server upgrade shouldn't be too hard and the server upgrade guide is remarkably slim. There's been no change in input, nor HAL, nor just about anything else for most users.

Only Intel users might have a few surprises with DRI2 and UXA. But at this point, they should be good surprises :)

However, the libxcb upgrade is going to cause more troubles for some users. If you are/were using x11-libs/libX11 with USE="xcb", then you might have to rebuild lots of packages. This is why we've taken such a long time to unmask and stabilize libxcb 1.4. But now, we've worked hard to write a proper libxcb upgrade guide, which users are definitely going to want to read.

I would say the libxcb guide is more important than the xorg-server upgrade guide.

Anyhow, right now, I calling out for help among our stable users. If you've always wanted to contribute to Gentoo but didn't know how, here's your chance.

  1. Grab the stabilization list from bug #282290
  2. Append it to your /etc/portage/package.keywords
  3. run : emerge -DuNa world like always to update

Again, don't forget to read both upgrade guides before running the update, just so you don't start panicking when portage is unable to continue the upgrade.

As always, you're more than welcome to CC yourself in the stabilization tracker, but please DO NOT COMMENT IN THE TRACKER if you have issues, you'll just annoy everyone there. Just file a new bug and we'll look at it.

Don't forget that most X maintainers lurk in #gentoo-desktop on FreeNode if you have any questions.

That's all for today

Steve Dibb a.k.a. beandog (homepage, stats, bugs)
new pear setup (September 23, 2009, 02:59 UTC)

I've just commited PEAR 1.8.1 to the tree (and will do 1.9.0 shortly to get us up to speed), but I wanted to let users know about a change in the way packages are installed.  Actually, it only affects the base packages.  Up until now, the PEAR-PEAR package in portage included all the necessary deps in one ebuild.  With this new version, I've split each package up into its own ebuild.

There's a couple of reasons for this, but the most important is that it will give us flexibility to deal with changes from upstream.  For example, with 1.8.1 and above, PEAR changed it's base XML dependency to XML_Util.  That one was already in the tree, and so the new pear base system relies on that.  If the other base ones change between versions, we can focus on that.

Another nice little change is that the base system ebuild now is just dev-php/pear.  So, "emerge pear" and you're done.

The new versions are all currently marked as unstable across the arches.  I would appreciate any and all feedback on the change.  I'm still a bit skeptical that this is the best approach, and a bit nervous at any fallout that may occur, so please file bug reports and let me know if you have any issues.  Thanks, all. :)

September 22, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
firefox “find as you type” steals window focus (September 22, 2009, 16:57 UTC)

I'm posting this one hoping that someone can help me out, because it's one of the few remaining reasons I don't use Firefox as my main browser. I still use Seamonkey as my default, but the Javascript parsing is soo much slower than everything else, it'd be nice to switch.

Firefox has this find as you type feature, where if you hit / and then type in some words, it'll search and highlight it on the page. Great. Lots of browsers have that. Spanky. But, the problem with firefox begins with this little toolbar at the bottom of the browser that pops up as you are typing the text. It has a little dialog box titled Quick Find which fills in with whatever you were searching for. The main issue is that that toolbar will close itself automatically, and when it does, it steals focus from X back to Firefox.

That's particularly annoying for me because, in many instances, what will happen is I will search for something in Firefox using quick find, get what I'm looking for, and then switch to another program or window before the default timer has expired. If I start typing in that other window, when Firefox's bar closes, X focuses back on Firefox and part of my text goes in there instead. Kind of frustrating.

I've tinkered around with the about:config page and haven't found anything, and every now and then I check Google to see if I can find anyone else who has discovered a workaround, but I haven't found anything, so now I'm just trying to see if anyone else knows a solution.

I'd be happy with either disabling the toolbar completely or not having it go away, or whatever. The only part that bothers me is it stealing focus again.

For what it's worth, I'm on XFCE 4.4. No idea if it's an issue with other WMs.

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
My health and my week off (September 22, 2009, 12:41 UTC)

I took a week off from everything this week, mostly. The reason for that is to be found in my recent health problems although it might not be easily categorised as such.

The problem is: my eyesight got a lot worse. Due to diabetes, I’m due to have eyesight problems for quite a while, and right now I’m at an historic low. I really cannot look at the monitor for more than twenty minutes, nor I can read anything at all; I cannot play with the PSP, I cannot do crosswords, I cannot read the SMS I receive (and I can only send them thanks to the qwerty keyboard in the E75).

Luckily, it’s not impairing my general movement (yet) so I’m still going around and doing the tasks that I have to, away from the keyboard. But for all that involves using a monitor, well, I’m just off for now. This all started when I stated to take meds, so hopefully it’ll get stabilised soon. I ordered a new pair of glasses, a temporary one though, that will arrive on Saturday. With that I’ll literally be back in business. I just hope I won’t start ordering €60 glasses every other month to cover for the eyesight change…

Anyway, thanks to Rcomian for the OpenMP book, it arrived today, I’ll be reading it and starting to apply it as soon as I’ll be able to see!

September 21, 2009
Robin Johnson a.k.a. robbat2 (homepage, stats, bugs)
Visualizing Gentoo profiles (September 21, 2009, 10:31 UTC)

To add a new USE flag, that's globally enabled for all Linux profiles, what's the minimum set of profiles that need to change? Deprecated profiles must be handled as well, for users that need to migrate still.

I ran into this today, while working on the USE=modules changes for linux-mod.eclass.

As an attempt to solve this, I munged up some GraphViz work to show profile inheritance, pictures as the end. Both sets have the trailing profiles "/desktop", "/developer", "/server" turned off for the 2008.0 and 10.0 releases, to cut down on the noise.

Graphs and script for download.

My answers as to which profiles:

  • default-linux
  • default/linux
  • base
  • embedded

Odd observations

  • Several Prefix profiles (linux/{amd64,ia64,x86} link to 2008.0 profiles explicitly instead of the generic architecture)
  • default/linux does not bring in base. Some profiles at a glance neglect this and might not have base brought in at all.
  • "embedded" is all alone in the tree.

Thumbnail of one graph

Question for any skilled GraphViz users:

If all nodes in a given subgroup/cluster have an edge going to a single destination node, is there any way to get graphviz to replace them with a single fat edge from cluster to destination node?

Kenneth Prugh a.k.a. ken69267 (homepage, stats, bugs)
Java with Opera 10 on Gentoo AMD64 (September 21, 2009, 05:35 UTC)

So I recently was messing around with Opera 64bit on Gentoo and trying to get Java to work. The process was actually a lot easier than I expected. First I made sure I had the latest sun-jdk installed, which was dev-java/sun-jdk-1.6.0.16 in this case. Now to make it work with Opera I did the following:

cd /opt/sun-jdk-1.6.0.16/jre/lib/amd64/

Opera doesn’t seem to work by default like this, probably because it ignores the plugin and uses java directly. Because of this, you need to symlink the libjvm.so so Opera can find it:

ln -s server/libjvm.so .

Set opera to use /opt/sun-jdk-1.6.0.16/jre/lib/amd64/ as the java path and restart opera. All should be working now, you can check by following this test page: http://www.opera.com/media/applets/clock/

If anyone knows a more proper way of doing this, be sure to let me know

September 19, 2009
Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
How not to write an app (September 19, 2009, 22:02 UTC)

So it seems that Ciaran is upset again. Which seems to be quite normal. But he has some good advice, and I thought I'd share some with you too.

Let's start with an easy one. Descriptive error messages. This is good:

$ bash -x foobar.sh
bash: foobar.sh: No such file or directory
This is not:
  ... In program paludis -ip portage:                                                                                                
  ... When performing install action from command line:                                                                              
  ... When adding install target 'portage':                                                                                          
  ... When parsing user package dep spec 'portage':                                                                                  
  ... When parsing generic package dep spec 'portage':                                                                               
  ... When disambiguating package name 'portage':                                                                                    
  ... When finding all versions in some arbitrary order from packages matching */portage with filter all matches filtered through supports action install:                                                                                                                
  ... When loading entries for virtuals repository:                                                                                  
  ... When finding all versions sorted from packages matching sys-kernel/gentoo-sources with filter all matches filtered through supports action install:                                                                                                                 
  ... When generating metadata for ID 'sys-kernel/gentoo-sources-2.6.28-r5::gentoo':                                                 
  ... When running an ebuild command on 'sys-kernel/gentoo-sources-2.6.28-r5::gentoo':                                               
  ... When running ebuild command to generate metadata for 'sys-kernel/gentoo-sources-2.6.28-r5::gentoo':                            
  ... When running command 'sandbox /usr/libexec/paludis/ebuild.bash '/usr/portage/sys-kernel/gentoo-sources/gentoo-sources-2.6.28-r5.ebuild' metadata':                                                                                                                  
  ... In ebuild pipe command handler for 'LOG0qaglobal scope tr':                                                                    
  ... global scope tr                                                                                                                
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] (same context) global scope tr                                                              
paludis@1253390790: [QA e.child.message] In thread ID '19463':
That's about 1/35th of the whole output ... which is just drowning out any reasonable information. Complete output is just under 750 lines, so good luck finding any error. But I guess there's a reason for that.

Now something really neat:
  ... In program paludis -ip portage:                                                                                                
  ... When performing install action from command line:                                                                              
  ... When adding install target 'portage':                                                                                          
  ... When parsing user package dep spec 'portage':                                                                                  
  ... When parsing generic package dep spec 'portage':                                                                               
  ... When disambiguating package name 'portage':                                                                                    
  ... Package name 'portage' is ambiguous, assuming you meant 'sys-apps/portage' (candidates were 'sys-apps/portage', 'virtual/portage')  
Let me say this as clearly as possible. Never assume. If you try to guess what I might have meant to say you may do something I explicitly do not want to happen or even something which breaks things. If your app is unable to unambiguously parse my input quit.
Failure to do so will reduce in lots of tears and you falling on sharp objects. Multiple times.

And of course ...
Fetch error:
  * In program paludis -ip portage:
  * When performing install action from command line:
  * When executing install task:
  * When performing pretend actions:
  * When fetching 'dev-db/sqlite-3.6.18:3::gentoo':
  * Fetch error: Fetch of 'dev-db/sqlite-3.6.18:3::gentoo' failed
I don't think that means what you think it does. A pretend action that doesn't only pretend, but claims to fetch things? That better be a small oopsie in the explanation that doesn't, in any way, describe what actually happens.

Now, Ciaran. You can try to ridicule me through your blog. You can relabel comments as my name if you don't like them (it's your blog after all - even though that's exquisitely rude) and then deny you did it (we call that lying).
But if you have to do so do it directly. Don't try to be funny (you saw what that did in the Funtoo-uses-Internet-Explorer Situation).
Don't label any criticism as FUD (see "Ten Ways PMS Raped your Baby").

And if you fork PMS then do so. You have your own hosting already. Now all you need is your own mailinglist and please leave those that work on the official version alone. And don't command us around, we're not your slaves.

Think you can do that? That would be awesome. Thanks!

Reality vs. PMS (September 19, 2009, 21:23 UTC)

If you ever get bored enough (which, on an epic scale from fighting with the Spartans at the Thermopylae to reading the telephone book should be just around counting the grains of rice in a 50kg-bag) and start reading PMS, you might get a few of those "Wait a minute ..." thoughts that happen when things aren't quite right.

One of those is around page 26, where PMS defines that bash 3.0 or higher is to be used. Which actually means "it has to be bash 3.0 compatible, but may be any higher version". Or to be even more precise: Ebuilds are not allowed to use any features not in bash 3.0, but the execution environment may be any higher version if it is compatible. How could we have a straightforward text that doesn't need interpretation! The lack of flamewars! The lack of circular reasoning!

Now if you look around on your installed machines you may notice that:

  • The oldest available ebuild is app-shells/bash-3.1_p17
  • Portage depends on >=app-shells/bash-3.2
  • Current stable on amd64 and x86 is bash4
Which means that you can't even use bash 3.0 anymore. And if you had an install that old you'd run into many upgrade issues - portage blocking bash, bash blocking portage, portage being unable to read EAPI1 ebuilds. A big mess with no clean upgrade path ... apart from injecting binpkgs and pretending that mess never happened.
From bash Changelog:
*bash-3.0-r12 (05 Jul 2005)
*bash-3.1 (10 Dec 2005)
*bash-3.2 (12 Oct 2006)
*bash-4.0 (21 Feb 2009)
So anyone not having bash 3.2 hasn't updated since May 2007. Seriously. That's when bash-3.2_p17 went stable. (October was just when the ebuild was added, the Changelogs are a bit tricky to parse)

So for all intensive purposes (and of course all intents and purposes) we can assume bash 3.2 installed anyway. Plus there's no older ebuild anyway, apart from the 3.1_p17 that is a leftover from a horrible upgrade path.
Even worse, for at least a year there has been a "contamination" of the tree in the form of bash 3.2 features like the "+=" assignment. Which means that some ebuilds won't work with 3.0 anyway. Extra bonus? Many eclasses use it, which means, in short, that you need 3.2 or higher. And it has been tolerated (maybe even encouraged) for such a long time that there's no way to undo that change now.

The obvious thing to do (fix PMS) has been ignored for quite some time. So I thought I'd send an email to the gentoo-pms mailinglist to get it sorted out. Guess what?
The amazing one-character patch was denied.

That's the best way to make PMS irrelevant - refuse to let it document reality.

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
What the heck is up with hardware drivers download? (September 19, 2009, 20:25 UTC)

Today I’m fixing up yet another streamlined Windows XP CD for a friend of mine (it’s an original Windows as usual).

I have already wondered about some stuff with Windows drivers, but today it seems like stuff became even more hellish.

First, VIA stopped providing drives on Via Arena, now provide them on their site, and most importantly the download area does not work with Firefox; so I had to use Internet Explorer to download them. Way to go VIA!

Second, when I go to Asus website to download the driver for he motherboard, I’m given a captcha to complete. To download a frigging driver!

What the heck!

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

jorge
Today I am pleased to introduce to all of you, Jorge Manuel Vicetto, Gentoo Developer, KDE Lead, and also a member of, Forums, Sparc, UserRel, DevRel, and in his spare time helps run the elections. Jorge is from Terceira island in the Azores.

If you would prefer to read the interview;
http://www.gentoo.org/proj/en/pr/20090918-jmbsvicetto-interview.xml

LINKS:
Gentoo KDE Project
http://www.gentoo.org/proj/en/desktop/kde/index.xml
Jorge's Boxes
http://dev.gentoo.org/~jmbsvicetto/boxes/
Get Involved
http://dev.gentoo.org/~jmbsvicetto/recruiting/default-recruiters.txt
Bugzilla
https://bugs.gentoo.org/

irc network freenode channel #linuxcrazy

Download

ogg

mp3

September 18, 2009
Jeremy Olexa a.k.a. darkside (homepage, stats, bugs)

Searched high and low to find this silly little info. Finally found it here.


# define a pattern for the host url finding
# %% => % sign
# %0 => domain name + tld
# %1 => tld
# %2 => domain name without tld
# %3 => subdomain 1 name
# %4 => subdomain 2 name

# Set default vhost server location here
evhost.path-pattern = "/www/%0/htdocs"

# If we don't have a %3, default to htdocs
$HTTP["host"] =~ "^[^.]+\.[^.]+$" {
    evhost.path-pattern = "/www/%2.%1/htdocs/"
}

# If we don't have a %4, find the subdomain
$HTTP["host"] =~ "^[^.]+\.[^.]+\.[^.]+$" {
    evhost.path-pattern = "/www/%2.%1/subdomains/%3/"
}

# If we have a %4, find the subdomain2.subdomain1. If we have have %4+, use %4
# anyway. If you have 4+, write a explicit rule for doc-root.
$HTTP["host"] =~ "^.+\.[^.]+\.[^.]+\.[^.]+$" {
    evhost.path-pattern = "/www/%2.%1/subdomains/%4.%3/"
}

Now my only wishlist is to do something similar for var.logdir, but %[1-4] is only set up with evhost. So, do you do anything smarter than this for your server?

Daniel Drake a.k.a. dsd (homepage, stats, bugs)
A new OLPC deployment in Nigeria (September 18, 2009, 18:48 UTC)

Earlier this month, I found myself embarking on a last-minute journey to a One Laptop per Child workshop in Port Harcourt, Nigeria. They are preparing for a 6000 XO laptop deployment in that region of the country. I attended to support the 5-day event, which was coordinated by Michael Tempel and Claudia Urrea.

The laptops were donated by Rusal/Alscom, and the deployment will be primarily run by Schlumberger’s Excellence in Educational Development division. SEED already uses its local staff to run some education projects in Nigeria (and many other countries).

We covered a range of activities including Write, Record and Paint, then spent a decent amount of time on TurtleArt and Scratch. We also handed out 75 sensors and ran some activities around the measurement of humidity, temperature and light.
The abilities of the attendees (the vast majority of which were first-time users) grew very nicely during the workshop.

The group consisted of about 80 teachers and 20 children. Both the size of the group and the wide age range presented some challenges. Usually, such workshops would be run only with the core teams behind the deployments (a smaller group overall), but the way that things are developing in Nigeria meant that it made more sense for us to work with a larger group at this time.

One of the biggest stumbling blocks of the workshop was working with the Scratch activity – while a very valuable activity, its integration with the Sugar desktop environment is damagingly minimal. For example, instead of using Sugar’s simplistic “Journal” storage system, it presents regular-looking Load and Save dialogs which proved very challenging for the new users. Seeing people struggle with interfaces that we see all over the desktop computing world really reminds you just how ground-breaking and significant the simplicity of Sugar is.

We also ran into some problems with the Paint activity regularly freezing the systems, unreliable saving/loading with USB disks, and some confusion relating to Measure’s sensors interface. We were kept on our feet at all times, meaning that I didn’t really have time to sit down and diagnose the issues in detail, but they should not be hard to reproduce at a later date. The issues were not significant enough to cause any major disruption.

I ran a few technical sessions with a few people who will become the basis of the technical team, plus some interested volunteers and teachers. As I’ve seen in other places, this was challenging because prior experience with Linux is low and internet access is scarce, so “look up this topic on the OLPC wiki” is not an answer that everyone is able to work with, and “run this command at the terminal” requires a decent amount of explanation. Nevertheless, the enthusiasm is overwhelming (as always) and I went away feeling confident that the core team is now comfortably in a position to get things moving and pass on knowledge to a wider group.

Our hours were cut short by the high security around us, meaning that we didn’t have much non-workshop time to interact with the attendees (or really see the country at all), but overall it was a lovely group to work with and I’m confident that we’re going to see great things come out of their efforts. I’m now back in Nepal until November.

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
More router improvements (September 18, 2009, 15:57 UTC)

My router project is the idea of running Gentoo Linux as main home gateway, on an embedded-like system (not really embedded since it’s a Celeron 2.80GHz), without Portage installed in the runtime system, and without some part of the so-called system (that I still think should be reduced).

While there are still lots of minor details I haven’t even started looking into yet, there are a few things that already started being fixed up, for instance last week I cracked down on packages that don’t set RDEPEND/DEPEND properly (hostapd was in that list and I needed it).

Today one more little fix entered the tree that was required by my router: glibc no longer rutnime-depend on binutils; or rather it does no longer need to. Previously the nscd (name service cache daemon) init script used the strings command to find out the pid file to use for each start and stop request. Since the file does not change on disk after the build, at least 2.10.1 now checks for the pidfile at install time and then replace it in the init script. Dropping the dependency.

Now I got to say that the router is working mostly fine, so I don’t think I’ll be tinkering with it for a while, at least until I get the entropy key and I’ll start packaging the ekeyd daemon. This is also due to the fact that I have to reduce the time employed in that to return to work and other more important Gentoo things. This does not mean I’ll abandon the idea of fixing the system set so that it can be vastly reduced.

Hopefully I’ll be able to entangle enough between my normal Gentoo work and the router-specific work in the future. In the mean time, I’m happy to accept gifts (especially useful stuff like the testing strips — the Italian health service only pass me 50 strips every three months, which is less than one test a day) and kudos to prod me on continuing pursuing all free software work I have scheduled.

Kenneth Prugh a.k.a. ken69267 (homepage, stats, bugs)
The search for a suitable Calendar/Task Manager (September 18, 2009, 03:01 UTC)

Currently I use Evolution for my Calendar and Task management needs, but I sometimes seem heavily limited or annoyed at the lack of a feature. Sometimes I pondering writing my own suitable application but I’m lazy and would probably give up half way through. So instead, I’ll just blog about the things I wish Evolution did as it almost fits my entire requirement.

Evolution should show task due dates on the calendar – This is one problem that really annoys me. I think it would be great if I could visually see when a task is to be due on the calendar rather than staring at a list and figuring it out. Currently only ‘events’ can be shown on the calendar, and making an event for every task is a major pain and generally not worth it. Searching around reveals many people desire this feature, but it doesn’t look like any progress has been made in 7 years.

Powerful sorting abilities – I wish I could task a bunch of tasks and sort them by multiple attributes instead of just one. Currently I sort by date due, which works but isn’t that optimal. I mean, how important is that task? The ability to tag an important to a tag and sort by due date and important would be nifty. A quick glance shows that tasks can be given a priority and sorted strictly by that priority, but thats not quite what I would like. Right clicking a task I could be able to give it a priority quickly and have all the tasks ranked accordingly.

Subtasks – This is another feature I believe would be helpful. Subtasks would simplify my havoc of todo’s all over the place often related to a single project thats due or otherwise related. It seems this feature request is even older than the desire for tasks on the calendar appearing.

Colorization of tasks with start dates – This is a minor annoyance, but tasks that have a “start by” date do not have any visual indication that they are different from tasks without a start date. This would be alleviated some if sorting by priority actually worked but alas…

The above are some of the main quirks I have with Evolution currently, and I have yet to find a Calendar/task software that does better than Evolution. If I have missed anything obvious or someone has a recommendation I’d love to hear it. Some will probably say to separate my Calendar and Task needs, but I need that visual link to actually get stuff done on a reasonable time. Otherwise I start slacking off thinking I have time as a bunch of numbers don’t quite make the same link in my head as a graphic does.

September 17, 2009
Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)

New chapter of my router project if you don’t care to follow it you probably don’t want to read this at all.

Libero – or Infostrada, Wind, how the heck do you want to call it today – is my provider. Like other providers in Italy, who have probably noticed their users using OpenDNS instead of the standard DNS they provide, they started providing “captive redirects” on failed urls: when you mistype an URL or you try to access an hostname that does not exist, they redirect to their own servers, using their own “search engine” (nowadays just a Google frontend!).

This breaks quite a few assumption, included the fact that the .local domains won’t resolve in the standard DNS servers, which in turn makes nss-mdns almost unusable.

Up to a couple of months ago, Libero only provided this service in the primary nameserver, and if you switched around primary and secondary servers, you sidestepped the issue (that was the actual advertised procedure by the Libero staff, on the public page that was linked from within the search results). Unfortunately this had other side effects, for instance the time needed for the update of records more than doubled, which was quite boring with dynamic DNS and with newly-created domains.

Luckily, pdnsd supports blocking particular IP returned by the results to avoid the fake records created for captive redirects, and the example configuration file itself provides an example for using that with OpenDNS to avoid falling into their redirected Google host (quite evil of them in my opinion). And in particular, at the time, there was only one host used for captive redirect, so the rule was quite simple.

Fast forwards to today, the rule have changed; first of all it seems like Libero now uses redirects on both servers (or the secondary fails so often that it always responds from the primary), and most importantly they increased the number of IPs the redirects respond from. After counting four different IPs I decided to go with something more drastic, and ended up blacklisting the whole /24 network that they belong to (which is assigned, in RIPE, to Tiscali France… which is quite strange). I’m not sure if I ended up blacklisting more than I should have; for now it blacklists just enough for me to keep on browsing the net without adverse effects that I can see, and it also no longer stop me from enjoying .local domains… and Firefox auto-search with Google when the hostname does not exist.

For those interested, the configuration section is this one:

server {
label= “libero”;
ip = 193.70.152.15, 193.70.152.25;
proxy_only=on;
timeout=4;
reject = 195.210.87.131/32, 62.210.183.0/24;
}

The first IP (a single host) is the one that was used earlier, I keep it on the blacklist just to be on the safe side.

New network topology (September 17, 2009, 09:41 UTC)

During the work of my router project, I’ve re-done most of my logical network topology, changing the way subnets are assigned, and so on. This has actually helped me to have dual-homed computers (the iMac and the laptops) with different routing between Internet and local requests, as well as allowing me to have ACLs that work depending on whether a client is listed as known or not.

Topology preview

Together with that, I also decided to draw again my network’s topology , this time using Cisco’s icon library . A few notes on that icon library: while it’s available for free use, they provide the icons only in EPS format; which is fine for Adobe Illustrator users, but not for Inkscape users. Most of the eps-to-svg conversions that you can find around on the net make use of pstoedit with @plotutils@… for some reason the result of that conversion with the Cisco’s icons is tremendously bad so I went with an alternative approach: I converted them to xfig files, with pstodev (but no plotutils); in turn, inkscape can load xfig files just fine, so I just had to drag and drop the xfig file from Nautilus.

As you can see the physical topology in itself is not really simple: I got at least three fixed rooms, and a handful of handheld devices (sorry for the pun). In my office I got Yamato (that routes all the wired traffic), the iMac, the good old Enterprise, and usually at least one laptop; in my bedroom I got the AppleTV, the PlayStation 3, the Bravia LCD TV (yeah that one connects to the net as well… it also supports DLNA but until I package Rygel it’s unlikely I’m going to have it working), and since yesterday, the Wii (more on this in a moment). The laser printer is, out of convenience, in the living room, connected with an Airport Express AP (I am considering moving this to the hall where the router is, then I can just set up CUPS on the router and be done with it).

Speaking about the Wii, it turns out that, while out of the box it connected to my unprotected network fine, it failed to work after the system update. It worked fine, though, with the neighbour’s protected network. Luckily, the Zyxel AP I’m using is high end enough to support MESSID mode (Multiple-ESSID), with different security configurations, so I simply created a new (hidden) wlan with WPA2-PSK to get it to work.

I’ll write more about the logical topology (subnets and so on) in the next few days, showing how I actually configured the stuff for the router; unfortunately I’m not really completely set myself so I don’t want to write about half-setups just yet.

September 16, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
star wars games (September 16, 2009, 17:19 UTC)

I could not sleep last night (taking a 3 hour nap in the afternoon was probably a bad idea, in hindsight), and so I was up real late just bumming around on the internets looking for something to do. I eventually got the idea to go play around on my PS3 and see what I could find. I remembered that there was a new demo for a Star Wars game coming out pretty soon called Republic Heroes that I had gotten on the playstation store, so I checked it out.

61viPf0i9FL._AA280_

The demo has two types of game play you can do -- either as a Clone Trooper or as a Jedi. The controls are different for each one, as well as the goals and, well, game play ... so it's kind of a two-in-one thing, which is original (to me, at least, I'm not a huge gamer) and makes it pretty fun.

I fired up the Clone Trooper one first and at first it just seemed like a run-of-the-mill FPS. What struck me as interesting though is that the controls were really, really simple. I quickly surmised that this games must be for younger kids, because of how easy it is to do stuff.

The demo level was fun, though I was more criticizing it and analyzing it as a potential purchase more than enjoying it, I'd say. Took a few minutes, and I was done, fine. That was interesting, next.

The Jedi route was more fun. Again, the controls are really simple -- you basically have block, jump, attack and force push as your options. Nothing hard to manage at all. And, you fight droids and just bust them up. Oh, one other thing I forgot to mention was that you have an AI character following you around -- in this case, Anakin's padawan whose name I forget right now. Asoka, I think. It's always nice to have a little help, in some games.

Anyway, the first run was pretty annoying as I was trying to figure out how to do things. I didn't think it was that impressive, until I clued in that this game was dumbed down a bit to make things easy for little kids, and once I realized that I stopped trying to do master force pushes and instead just relaxed a bit and started getting into it. Jumping, for example, from one spot to another is practically automated. You just have to kind of position your character in the right direction to go, and then nudge them that way when jumping up and forward. Not hard at all, thank goodness -- if there's one thing I hate about games, it's when you have to perform, what I call, Super Mario jumps. I absolutely suck at timed leaps, and if you've ever seen me play Super Mario Bros., you'd quickly see why -- I get really flustered and upset and crazy and mad and angry and totally, absolutely possessed with the game. I'm sure as an observer it must be pretty entertaining.

So, yah, I think I'll probably get the game when it comes out, which is Oct. 6th. That's gonna make me a bit backlogged on games I'm planning to get -- I still haven't picked up a copy of Overlord II. I can't wait for that one, either.

Along with the good, there's always gotta be some bad. The other week, I finally got a copy of the Star Wars game Clone Wars: Lightsaber Duels. I don't think I've ever seen a game so poorly done, which, for a Star Wars theme, is pretty incredible to see anything this crappy.

51kIiQDuCZL._SL500_AA280_

I had read plenty of reviews about it online, wondering if I wanted to get it or not ... and then I pretty much ignored them all and got it anyway, since it was only $20 (after it'd only been out a short time, which should have been a huge red flag in itself), and besides ... it was Star Wars! How bad could it be? Ugh.

I really only have two gripes with it, and I can honestly live with them just fine. The first is that the audio sync for the characters is way off. And I don't mean Steve-with-his-psycho-timing-OCD off, but like, a good two or three seconds out of sync with their lips. It's just embarassingly bad.

The game is really hard to control, too. It uses the Nunchuck for the Wii, which immediately makes me realize that it's going to be difficult to start with. I bought this so me and my little brother could play it (who is *really* into Star Wars ... as in, savant level), and he liked it. Well, we played something like six rounds and I won *once* (and I was really trying, too), so yah, he liked it.

I could not figure out the controls for the life of me, so we both just kind of sat there randomly swinging and contorting our bodies in an attempt to move our characters and beat the crap out of each other. I think I was more successful in almost knocking him in the head with the controller than I was with my in-game lightsaber.

Other than it being impossible to control and hard to follow who's talking at what point, the game is pretty cool. The graphics are nice. The game is a lot simpler than I thought it'd be -- it's just a dueling scenario, one on one. I was hoping there'd be a chance there was a bit more to it. Ah, well.

If the controls were a bit more refined, I think it'd be an awesome game to use the Wii to actually control a lightsaber and run around doing some damage. From my point of view though, anything using the Nunchuck controller is notoriously clumsy -- you punch with it and the game responds by just randomly moving in some other direction compared to the one you made. So, I'm not a big fan.

Last, but not least, and probably the third best Star Wars game I've ever played (Knights of the Old Republic 1 and 2 winning top spots), is The Force Unleashed. Man, I love this game.

Dinking around on Amazon last night, I familiarized myself with what other PS3 games are out there. I must be reading all the wrong site feeds, because I never have a freaking *clue* of all the stuff that is out there, or is coming out. Oh well, it makes for some nice surprises. What I didn't realize is coming out though, is a new version of the game (in November) called the Ultimate Sith Edition (you can barely see that in red at the top of the image).

51AGv46H5nL._AA280_

It's the same game, obviously, as the standard edition, but it also has all the downloadable extra content that's been available on the playstation store, plus some other something or other I saw mentioned briefly on the Amazon site. Being the sucker that I am for marketing, Star Wars, and exclusive content, I'll be buying this one. I'll probably give my old one to my little brother to play, who happened to get a PS3 Slim for his 11th birthday. The punk. Nobody ever gave me a console for *my* birthday. Not that I'm bitter or anything. In fact, the only console I ever got as a gift was an Atari when I was like 6 years old for Christmas, and that was "for the family." Yah. The family learned quick that Steve is sucked into such consoles for better or for worse, so I never really had one as a permanent fixture in my life until the PS3. That should give away my age. Yay, generation gaps.

Anyway, I bought about half of the extra content online, and since the other half (about $20 worth at this point) is already included in the new game, it kinda makes sense to me to just buy a new one.

I love this game, though, it is so much fun. I fired it up last night so I could kick some booty. Oh, I might also mention, that this is one of the extremely few console games that I have managed to solve *all the way*. That is really rare for me, since I have a notoriously hard time with bosses, and usually give up when I can't win. Because the way the game is setup, though, it lets you revisit old levels and cumulatively gain more power each time, so that totally helped me. Anyway. I've written about the game before.

When I went to fire it up last night, it said there was an update for it (can I just interject for a moment, how awesome I think it is that consoles have Internet access? And can download updates for games, and content? The PS3 is how I thought a console should have been 15 years ago. Just saying.), and asked if I wanted to download it. Boo-yah! Of course. It was small (26 megs) for the 2.0 update.

While it was downloading, I went back to the intrawebs to try to figure out what was in there, but I wasn't having much luck, so I just waited for it to suck it down and then install (the agony!). Turns out it added support for trophies -- something I'm vaguely becoming interested in / aware of. I don't really care about showing them off to friends (in fact, recently, I cleared out my friends list completely for the PS3, only because I don't really care to chat online or play online games much ... so, no offense if you were on there, it's not you ... it's me), but I think the trophies are cool just to measure your list of accomplishments in-game and stuff.

It wouldn't let me earn the trophies though unless I started with a new set of save games (rant: why are there only four save game slots?), so I just made a new profile and moved them over there in case I ever wanted to load up my old game where I have all but like 5 of the holocrons in the whole game (including the black lightsaber, woo hoo!).

So I got to start over, and I immediately noticed there were some more changes to the game. For one, Darth Vader actually *moves* in that opening sequence. Wow. Thank goodness. In the old one, it was quite annoying as he would ... slowly .... move .... around ...... and .... yet ... be ... really .... powerful ... with ... the ... force. It just made starting a new game a real drag.

It could be my imagination -- I doubt it -- but I think I'm noticing a few other small tweaks and changes to the game as well. I haven't been playing it regularly in a while, but it sure seems a little different. Can't quite put my finger on it though. It seems to be moving at a slightly more clipped pace, and the Apprentice level seems a lot easier. I know the first boss (I forgot his name again ... General Kota?) was much, much easier than before. That, or I'm getting better at the game. Who knows. Either way, it's still an awesome game. And now I wanna go play it some more, dang it.

Hoo momma, I wasn't planning such a long post. Good times. There's a lot more Star Wars games I could write about, too. I have this strange goal of buying every single one that comes out. I'm not really passionate about that one, but I'm not too far away, either ... I can think of maybe two or three I don't have for the PS2 and two for the PC I don't have. I guess that's a lot. Like I said, they are usually a great hit, with a few random misses. Man, what I wouldn't give for a reboot of Tie Fighter. Best. Game. Evar.

September 15, 2009
Kenneth Prugh a.k.a. ken69267 (homepage, stats, bugs)
X11 forwarding a chroot (September 15, 2009, 19:11 UTC)

I figured I’d blog this so I wouldn’t stop forgetting how to do this and possibly learn a “better” way to do this. I’m going to assume that vanilla x11 forwarding works outside the chroot as a starting point.

The process is relatively simple that I use. First I ssh into my server as a user using the -Y option like so:

ssh -Y ken@fooserver

Then I su to root:

su

Now comes the part that makes the forwarding work. We need to export the magic cookie that our current session is using so that the chroot can import it and use it. We do this like so:

xauth list > /tmp/X

This saves the magic cookie info into a file under /tmp so that we may access it later. Now its time to chroot in:

chroot /mnt/devchroot/ /bin/zsh

and I generally like to set my PS1 to remind me that it’s a chroot but is not necessary:

PS1="dev $PS1"

Now we need to import the magic cookie after chrooting in:

xauth add $(cat /tmp/X)

At this point x11 forwarding should now be working in the chroot. An easy way to test is to simply launch an xterm inside the chroot. xterm&

If the xterm appears everything is in working condition. At this point you should probably delete the /tmp/X file for security.

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
First startup of the router (September 15, 2009, 01:36 UTC)

Tonight I tried for the first time the router in its official capacity as my main home gateway. It wasn’t really a good start to be honest.

The first problem has been the noise: my mother complained that the fans were too loud, so I wanted to go with my backup plan (replacing the main CPU fan with a fanless heatsink. Unfortunately it didn’t work out at all: there’s a capacitor in the way where the heatsink should go. Minus my intervention in form of a powerdrill over the (quite expensive) copper heatsink, it will never fit; my intervention is cheduled for tomorrow.

Sidestepped that for a moment (“Sure mom, I’ll fix it, just give me tonight to test it out!”), the next problem waiting in line was with the startup: I made a mistake in the hurry of fixing up the init scripts to actually start, and I had to take the nullmodem cable again and fix up the boot with the serial console; unfortunately I wanted to do that with my newly fixed MacBook Pro running the newly updated Snow Leopard, but the nullmodem cable had the WCH314 serial converter rather than the PL2303 (the only one I have at home that works with OS X – note to self: order some more PL2303 converters), so I had to pick up the right one again.

_Queued up to fix tomorrow I got: a very custom init script to convert the ethers file into a dhcpd-compatible list of known clients, and a fix to the pdnsd init script so that it will create the cache directory if it doesn’t exist (otherwise, the daemon will silently fail to work which is definitely not what you want!)._

The final problem is with the DHCP protocol and the modem itself. The modem is actually a so-called modem/router, running Linux itself, as well. Unfortunately, it seems like the way it handles the DHCP requests is not fully compatible with either dhcpcd or dhclient; the former will try to validate the provided address and then times out (failing back to ipv4ll addresses, zeroconf), and the latter tries to renew the lease every 30 seconds, without actually setting up the routes for the Internet connections.

On the other hand, hostapd seems to work fine and seems to handle multiple clients just fine; thanks to the fact that I finally can handle this stuff just like I want it to, I created a single, open, wireless network (I live in the middle of nowhere, whoever comes near my wifi enough to connect would be in my garden!), where the authorized clients will sit in one subnet, and are allowed to talk to each other, and the unauthorized clients are left in a different subnet, able to talk between them but not to the authorized ones, and can still connect to the internet (but only passively). The latter is quite helpful so that I don’t have to register all the laptops I get to fix, or all the PSPs that connect at my home.

For all those who thought that the whole idea was moot and that using Gentoo in such a system is too difficult: the only ebuild I had to locally overlay was file, which is now fixed in Portage and even in the stable systems; the rest worked fine with some tweaks; of course there are a few more issues (for instance a lot of packages install Perl-based scripts that are absolutely not mandatory, and I’d like for those to have a perl USE flag in the future), but the whole idea is not bogus and it woks fine. Using simply emerge --configroot and some custom configuration files, the resulting system is 164MB big, and with the due fixes to device.map even setting up grub was quite painless.

I guess the absolute final step would be to create a Rails application to manage the router, akin to the web interface of most commercial solutions. Yes I know that dd-wrt and other opensource firmware for “classic” routers have interfaces already, but if I have to write something, I’m most certainly going for implementing it in Ruby, as silly as that might sound. And to make stuff worse, if I do, I’ll be using sudo to launch the commands, getting the password via net… okay I’m definitely overthinking something I’m most likely never going to do.

And for those of you who know me and my mania with Star Trek names (even my cellphones are called Danube and Delta Flyer ), this one got a quite famous name: Deep Space 9. After all, it is somewhat of a base station to another quadrant of the net!

P.S.: Here I might as well ask some help to the lazyweb; I am planning on two things that I haven’t started even implementing yet: IPv6 support for my network and QoS for the VoIP connections (I got two in this network usually, my cellphone and the DECT phone). For the former, I did request registration with SIXXS but I missed the “no free mail providers” bit and registered with the GMail address, and was thus rejected, now waiting in the queue to see if the staff can rescue my request or not; in the mean time I have no idea how to set up IPv6 properly to avoid making myself open to the world; ideas?

For what concern QoS does anybody have some easy link that explains how to set it up? All the stuff I found skimming through seem to be trying to explain how it work more than how to make it work; and I really don’t care how it works as much as making sure that all the VoIP traffic can trump the P2P and HTTP traffic (so that if I’m downloading a new ISO of FreeBSD I can still make calls properly). Ideas?

September 14, 2009
Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
Javaaaaaaargh. (September 14, 2009, 22:54 UTC)

I presume my liking of Java is known well enough ;)

So I tried a Java app today just to see how well it works. And suddenly ... this:

*** glibc detected *** /usr/lib/jvm/sun-jdk-1.6/bin/java: free():
invalid pointer: 0x00000000420eef40 ***                                        
    
======= Backtrace: ========= 
/lib/libc.so.6[0x3002271e46]
/opt/sun-jdk-1.6.0.16/jre/lib/amd64/libdcpr.so[0x7f8c503d2b52]             
/opt/sun-jdk-1.6.0.16/jre/lib/amd64/libdcpr.so[0x7f8c503dbe05]             
/opt/sun-jdk-1.6.0.16/jre/lib/amd64/libdcpr.so(Java_sun_dc_pr_PathFiller_reset+
0x43)[0x7f8c503d51c3]                                                      
[0x7f8cf52a4f50]                                                                
                                                                          
======= Memory map: ========                                                    
                                                                           
40000000-40009000 r-xp 00000000 09:00 85671701 /opt/sun-jdk-1.6.0.16/bin/java  
40108000-4010b000 rwxp 00008000 09:00 85671701 /opt/sun-jdk-1.6.0.16/bin/java   
41716000-42288000 rwxp 00000000 00:00 0        [heap]
So I think "well, sun-jdk is teh shizzle, I'll try ... err ... no, that one is fetch restricted. So is this one. Err, yeah, icedtea-bin!
Guess what. Same result. Not good.
Now I'm thinking "A crash _in the Java core_? No wai!".
/opt/sun-jdk-1.6.0.16/jre/lib/amd64/libzip.so(
Java_java_util_zip_Deflater_deflateBytes+0x305)[0x7fe671a33e95]
[0x7fe66eb3d4a2]
What, a crash in libzip? That smells bad. Random code execution bad. I find that very unlikely! How on earth does this happen?
Now, let's go bleeding edge and try to build icedtea from source. That only takes ... sigh. About one hour on a quadcore. Grumble grumble yell moan grumble.

And? Can you guess it? Implodes the same way. This is getting really interesting!

Hmm. Looks like all the code this app uses is pure Java. Hmm, this makes no sense. But ... wait ... what's that? "core.jar" - guessing from imports this is the Processing library. That looks like a candidate. Let's have a look at the homepage ... yes, this seems to be C++ code with a Java interface. Ok, this could mess with things. But how?
Just injecting the .jar with the newest version doesn't change a thing. Crummy. And I do notice that their LINUX tarball has files with the .dll ending. File says:
PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
Uhm. Yah. No good.
But I can try to build it from source, yes?
Yes. These nice people have a svn repository I can pull from. And as a Gentoo user I'm used to playing with such things.

If you have a weak stomach you should stop reading now!
Now, svn checkout. unzip, make, c++, I have all of those (Gentoo sei Dank!). Let's have a look at the build syste... the build... what the ...
Ok, there's a build/ directory with linux/ and windows/ and other directories. And in those directories are, uhm, scripts. And the eclipse editor preferences? What the ... but I digress. Scripts. There's one called "make.sh". Good! Let's have a look.

#!/bin/sh
Ok, so they aren't using any bash features I hope!
  ARCH=`uname -m`
  if [ $ARCH = "i686" ]
  then
    echo Extracting JRE...
    tar --extract --file=jre.tgz --ungzip --directory=work
  else
#    echo This is not my beautiful house.
#    if [ $ARCH = "x86_64" ]
#    then
#      echo You gots the 64.
#    fi
Wat. SRSLY. I lack words to describe this. So the whole 64bit part is commented out. Why do I think that that's not a good idea? And what is "Extracting JRE..." supposed to mean? Noone sane would ... but ... omg. MAH BRAINZ. There's a FULL JRE in the svn checkout.
    echo "
The Java bundle that is included with Processing supports only i686 by default.
To build the code, you will need to install the Java 1.5.0_15 JDK (not a JRE,
and not any other version), and create a symlink to the directory where it is
installed. Create the symlink in the \"work\" directory, and named it \"java\":
ln -s /path/to/jdk1.5.0_15 `pwd`/work/java"
    exit
Some things are not meant to be seen. Like this message, which throws up many questions (and the rest of my lunch). At this point my motivation approached zero (or rather, my motivation to do useful things. I had a strong motivation to hurt some people).

And I try to run that crashy code in my i686 chroot. Guess what. Yes!

Now I do wonder. Who is to blame here?
The clueless upstream that doesn't even know how to cut a release without including their editor config?
The Java runtime that loads any crap without doing sanity checks? (Seriously ... how can you load a 32bit .so or even a .dll into your adress space without immediately exploding?)
Or me, who still thinks there are Java apps out there that don't make you go insane?

So, after a few hours of tracking it down I'm again reminded why I usually don't touch Java at all. The amount of stupid I've found today is enough to last a small african country for a year ...
Oh, one small final note. I can't really blame people for not knowing platform-specific things. But there's a fine line between being a bit ignorant and being purposefully incompetent. If you don't know how to package for a platform find someone who does. Ask on IRC, or if you don't like that on mailinglists. But please, don't release broken stuff like that. It's very rude and can be devastating for the mental state of people that might use your software!

I just ran into “No space left on device” from Portage again. In such a situation previously I ran

# df -H

just to find that there was space left on all mounted devices! Confused I deleted a few distfiles through

# rm -vf /usr/portage/distfiles/*

and found Portage to work again magically. This time I remembered a chat with rbu: Inodes can run out, too. Checking the number of free inodes I was in trouble indeed:

# df -i -H
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
..
/dev/sda7               1.3M    1.3M       1  100% /var
..

That’s all I wanted to share.

(PS: With /var on a different partition now deleting distfiles no longer helps…)

Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
After some time with Snow Leopard (September 14, 2009, 20:08 UTC)

You probably know that, as much as I am a Linux user, I’m an OS X user as well. I don’t usually develop for OS X, but I do use it quite a bit, even though my laptop broke last March, I bought an iMac to replace it (and now I also have my MacBook Pro back, although with the optical unit not working still; I’m now tempted to get a second harddrive instead of an optical unit, I can use the iMac’s DVD sharing for that instead).

And since I’m both a developer and an user, when the new release of OS X, Snow Leopard, was finally published, I ordered it right away. Two weeks into using the new version of OS X, I have some comments to say. And I’m going to say them here because this is something that various Free Software projects should probably learn from too.

The first point is nothing new, Apple already said that Snow Leopard is nothing totally new, but it’s rather a polished version of Leopard… with 64-bit under the hood. The 64-bit idea is not new to Linux and a lot of distributions already support it, and when it’s available, almost all system software uses it; there are still a few proprietary pieces that are not ported to 64-bit, especially for what concern games, and software like Skype, but most of the stuff is good for us so we really have nothing new to learn from OS X in that field.

I was expecting the Grand Central Dispatch thing to be a rebranded OpenMP sincerely (by the way, thanks to whoever sent me the book, it hasn’t arrived yet but I’ll make sure to put it to good use in Free Software once I have it!), instead it seems to be a totally different implementation, which Apple partly made available as open source free software (see this LWN article ); I’m not sure if I’m happy about it or not, given it’s already another implementation of an already-present idea. On the other hand, it’s certainly an area were Free Software could really learn; I don’t think OpenMP is that much used outside of CPU-intensive tasks, but as the Apple guys shown in their WWDC presentation, it’s something that even something like a mail client could make good use of.

I still have no idea what technique QuickTime X is using for the HTTP-based streaming, I’ll find out one day though, for now I’m still working on the new implementation of the lscube RTSP parser that should also support the already-present HTTP proxy passthrough; if it uses the same technique, that’s even better!

In the list of less-advertised changes, there are also things like better Google support in the iCal and Address Book: now for instance you can edit the Google calendars from inside the iCal application, which is kinda cool (all the changes are automatically available both locally and on Google Calendar itself), and you can sync your Address Book with Google Contacts. The former is something that supposedly should work with Evolution as well, although I think they really really have a long way to go before it works as well, and that’s not to say that iCal integration works perfectly… at all!

The latter instead is a bit strange, I already had the impression that Google Contacts is some very bad shit (it doesn’t store all information, the web interface is nearly unusable, and so on), but when I decided to enable the “Sync with Google” option in Address Book I probably made a big mistake: first the thing created lots of duplicates in my book, since I uploaded a copy of all them with the cellphone some time ago, and some entries were seen as duplicated rather than being the same thing (mostly for people with an associated honorific like “Dott.” for my doctors).; this is quite strange because the vCard files should have an Unique ID just for that reason, to make sure that they are not duplicated if moved between different services. In addition, the phone numbers went messed up since they added up (in Apple’s Address Book I keep them well edited – +39 041 09 80 841 – the Nokia removes the spaces, and it seems like Google Contacts sometimes drops the country code for no good reason at all).

Interestingly enough, though, while Leopard was known for the Mobile Me support, Snow Leopard adds quite a few more options for syncing data, probably because Mobile Me itself wasn’t really that much of a good deal for most people; it still didn’t support my Nokia E75 natively (but “my” plugin worked — a copy of the E71 plugin by Nokia with the phone name edited), and it doesn’t seem to support a generic SyncML provider (like Nokia’s Ovi service), but there is for instance a new “CardDAV” entry in the Address Book for instance; I wonder if it’s compatible with Evolution’s CalDAV-based address book), if so I might want to use that, I guess.

While the Apple showcase of Snow Leopard was aimed at criticising Microsoft’s release of Windows Vista with all the related changes in the interface, I wouldn’t be surprised if, when deciding how to proceed with the new version, they also counted in the critiques against KDE 4’s release. I hope that Gnome 3 won’t be anything like that, and would rather follow Apple’s approach of subtle, gentle changes, although I won’t count on it.

At any rate, the experience up to now was quite nice, nothing broke heavily, even Parallels Desktop worked fine after the update, which was actually surprising to me since I expected the kernel-level stuff to break a part with the update. I wish Linux would be as stable sometimes. But bottom-line, although with a few problems I still love Free Software better.

September 13, 2009
Diego E. Pettenò a.k.a. flameeyes (homepage, stats, bugs)
Fixing libtool (September 13, 2009, 20:46 UTC)

You might have noticed that Gentoo has been lacking libtool 2.2 support for quite a while; this has been quite a problem because libtool 2.2 among other things shorten the time needed for the execution of ./configure as it doesn’t unconditionally check for C++ and Fortran, and at the same time, quite a bit of packages have been using the new libtool now.

While a lot of packages using libtools were easily worked around by removing the libtool macro files and regenerating the autotools using whatever libtool the system cam with (so that they could be marked stable even with libtool 1.5), this only worked as long as upstream didn’t decide to update the calls to libtool as they should have been doing. And more importantly, the LTDL-based packages, like PulseAudio, almost always failed to support both libtool 1.5 and 2.2, so lots moved to simply supporting 2.2. PulseAudio, well, being one of them.

So to have new versions of PulseAudio stable, we needed the new libtool stable. Piece of cake, no? Well, no, beside the packages failing with libtool-2.2 there were a few test failures reported in the stable request bug, that went lingering for a while; as much as I like autotools, I’m not the maintainer in Gentoo for any of them, since I’m not in the base system team. But since people started complaining (somewhat rightfully) about PulseAudio 0.9.9 being ancient, and asked for a stable of a newer version, on Sunday I went to look at the test failures.

The results, have been much simpler than I expected; especially counting in that nobody else looked at them in the time before, with the exception of a few users playing with the vanilla USE flag:

  • one test was caused by the elibtoolize patches — we don’t want those applied to libtool itself!
  • one test failed when the system lacked German locale (it tests localised messages, and uses the German locale to do that); this was already worked around upstream by skipping it whenever the German locale is unavailable, backported to the Gentoo ebuild;
  • one more test fails because… the other failed; the test that ensures that libtool works even when the maximum size of parameters is very short simply re-executes the testsuite recursively; this gives the test two error-out cases: when libtool is broken with short max parameters, and when something else is broken, not nice!
  • finally, there was another test failure, that I couldn’t reproduce, but that seemed tied to --as-needed; after some headbanging around, I noticed the way the test failed (indirect link), and indeed, this seems to be a problem with the older, stricter --as-needed behaviour; I already wrote about the softer --as-needed back in February, if you don’t know what I’m talking about;

As it turns out, getting the testsuite proper so that it can be trusted wasn’t especially cumbersome or painful; it only took half an afternoon of mine to fix most of the evident problems, and the last one is not a stable showstopper (as much as I like --as-needed, a failure in a testsuite because of it is not a stable showstopper, although I’d like to get the test fixed).

What can be noticed here is that once again we’re lacking people who actually go check the problems and fix them up. We need more people who can look at this kind of stuff, we need more users to insightfully note the bugs; if it wasn’t for Pacho Ramos and Dustin Polke who, in the bug looked up possible points of failures (icecream and the vanilla USE flag — the latter made a bell ring on my head about elibtoolize), then libtool 2.2 would probably be still far, far away for Gentoo stable. Thanks guys!

Die wollen doch nur spielen! (September 13, 2009, 10:32 UTC)

Polizeigewalt bei Demos, die unprovoziert auftritt, gibt es in Deutschland nicht. Oder?

September 12, 2009
Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
Building Stuff, the Gentoo way (September 12, 2009, 18:40 UTC)

Today's blog post shall be focussed on how to efficiently build packages. So here's the boring part: Hardware specs.

Processor: AMD Phenom(tm) 9950 Quad-Core Processor @ 2.6Ghz
RAM: 8GB
/var/tmp/portage: 8GB SSD (2x4GB Compact Flash / RAID0 )
Storage: 4-disk SATA RAID-5 (mdadm)

Now that's quite powerful, but still you easily end up waiting some time for things to be compiled. And of course you usually don't want to test in your livesystem environment. So chroots to the rescue!
Currently I have 4 chroots I regularly use: i686 and amd64, stable and testing. That makes testing things quite a bit easier, especially when you run into some bugs that only happen on stable systems. The setup is quite simple, and because I'm lazy I've added some small scripts that mount everything I need.
All chroots share /usr/portage and /usr/portage/distfiles. That's a bindmount - saves lots of space and keeps them all in sync. One "special" thing is /usr/portage/packages, that's a bindmount per chroot. So I have a packages dir with amd64-stable, amd64-unstable etc. subdirectories, which makes searching quite a bit easier if I ever need a binpkg.

The make.conf is as default as possible, but if you build lots 'o stuff you end up with a few interesting mods:

FEATURES="buildpkg"
NOCOLOR="true"
PORT_LOGDIR="/var/log/portage"
PORTAGE_ELOG_SYSTEM="save"
PORTAGE_ELOG_CLASSES="info warn error log qa"
USE="X gcj objc"
VIDEO_CARDS="vga"

Why would I do that? Well, first of all buildpkg. That saves a binpkg of everything built, which saves quite a bit of time. The whole logging thing is very convenient if you build things with a script like this:
for i in `pquery --max -a 'x11-drivers/*'`; do emerge $i; done
Why would I do such a thing? Well, maybe someone asks me if all x11-drivers work with the new mesa or xorg-server. And like this I just kick it off and grep the logfiles later. Obvious, eh?
Lastly the useflags are optimized to make the toolchain capable of building exotic stuff like gnustep or java packages out of the box. Otherwise you'd soon be rebuilding gcc, which takes time and effort ... so let's add it as early as possible. And VIDEO_CARDS to make xorg "thinner" - less drivers installed, and we don't actually use the drivers anyway!

Now if I want to test a package I usually use:
FEATURES="test" emerge -1avk somepackage
which has the advantage that it uses binpkgs if available (k), shows me what will happen and (a)sks. And -1 / --oneshot so it doesn't end up in world file, so I can get rid of everything with a simple emerge --depclean.
Since there are so many packages where tests fail I often short-circuit and use --onlydeps to get everything installed without having to run and fail tests and only run the tests of the package I actually want to test. As you can see that's quite streamlined to get as many things compiled with as little effort as possible. To work on things I usually group one console tab in the shared PORTDIR (which in my case is a cvs checkout) with one console tab in the chroot. That way I can easily toggle between ebuild editing and compiling. Usually I only have two such tab groups open because otherwise I tend to forget things. Whenever possible I try to avoid doing two things at once in one chroot because that can cause some headaches, it is easier for me to use a different chroot for it. And setting up a new one is quite easy :)

A short while ago I deleted ~12000 binary packages because I was getting a few inconsistencies - the gcc 4.3 to 4.4 migration cost me quite a lot in terms of build time. But now I've mostly caught up, the common packages exist as binaries for fast install and everything else would need to be compiled anyway.
So much for the "how to compile things" part. Next week on BBC: How to make an omelette without eggs!

September 11, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
it’s the great pumpkin (September 11, 2009, 21:38 UTC)

As usual, I feel a little awkward after posting something spiritual, so here's something not at all. :) I found this last night at Barnes and Noble for $5. If there's one thing I love more than Halloween ... it's Christmas. But aside from that, nothing speaks volumes about Halloween other than The Great Pumpkin! I love Peanuts. :)

Greg KH a.k.a. gregkh (homepage, stats, bugs)
LinuxCon 2009 tutorial (September 11, 2009, 20:48 UTC)

Somehow I got convinced to give a tutorial at LinuxCon this year, and it was originally scheduled to be my normal "Write a Real, Working, Linux Driver" tutorial I've been giving for the past 4 years or so (which happens to be online here, if you are bored and need something to fall asleep to.)

But that's old-hat, as people on 4 major continents have seen it before. So, to try to break up the boredom, I'm please to announce a change:


Write and Submit Your First Kernel Patch

This tutorial will cover the steps necessary to properly compose, describe, and submit a Linux kernel patch. It will cover the basic usage of git, and how that works with the Linux kernel development cycle. As part of the tutorial, every attendee will compose and submit a patch to the Linux kernel that will be included in the main kernel tree.

Every attendee should have a solid grasp of the C language, and know how to build and install, a Linux kernel from scratch (if not, reading the book, Linux Kernel in a Nutshell, free online, ahead of time would be a very good idea.) The latest source tree, from the git repository, of the Linux kernel should be installed on every attendees laptop before they arrive.


Sign up on the tutorial web site if you are going to attend so I get a clue how many people to expect. Right now I have unique material for 100 people to write new patches for, but can come up with more if needed.

See you all at LinuxCon, should be a fun time. I'm also giving a few other talks there as well, so come and heckle.

In 2006 Jo Vermeulen compared Bazaar and Git performance-wise. Up to today Bazaar has a bad reputation regarding speed and from the results of Jo you see at least that Git is incredibly fast, Bazaar is usable but a bit slow on the uptake in some scenarios. Jo strictly did not use any remote operations which are hard to compare, but from some own tests I do know that Git is incredibly fast there, too, while Bazaar can be really slow on the initial clone operations. The latter fact may be history now, as the new 2a repository format has been introduced with Bazaar 1.17 and enabled by default in 2.0 (both are in Portage). It gives improved speed and flexibility while using up a bit more disk space than the old formats.

Back to what we are really looking at: The scenario. Operations chosen by Jo were:

  • Repository initialisation
  • Adding of a Linux kernel tree
  • Diffing (not possible with current Git)
  • Commit of many files (whole kernel tree)
  • Diff on empty changeset
  • Output of status information
  • Small commit

The results were clearly in favour of Git, especially the empty diff was quite awkard for Bazaar. The same operations were done by Jordan Mantha in 2008, also including Mercurial in a follow-up.

A clever idea by Jordan was to provide time ratios, as test environments and settings were a bit different (other kernel version, different computer system). He concluded that Bazaar got faster, so did Git, but in the end Bazaar gained more ground. So now is the time to repeat the tests with current versions of both SCM systems, the following table only has the ratios of the other two guys.

You will note that Git is mostly faster than Bazaar (apart from the add operation), but the absolute time of Bazaar is more than sufficient (got faster since 2006 and 2008) and outweighed by its better user interface in my eyes. Ranked by used space Git (471MB) wins, followed by Bazaar (482MB) and Mercurial (554MB); the numbers are for the whole tree including working tree.

The used versions are given in the table, all times in seconds. For the sake of completeness, Mercurial is also listed in the table and compared to the ratios Jordan reached.

Edit: I corrected the repository sizes because Git's gc command gives a good improvement in repository size. Additionally I should add that no custom options were used, just the straight commands.

Task

Git 1.6.4.2

Bazaar 2.0 RC1

Ratio

Ratio Git 1.5.4.3/Bzr 1.3.1

Ratio Git 0.99.9c/Bzr 0.7pre

Mercurial 1.3.1

Ratio

Ratio Git 1.5.4.3/Bzr 1.3.1/Hg 0.9.5

Initialization

0.008

0.783

0.010

0.257

0.100

0.265

1 : 97.88 : 33.13

1: 3.88 : 1.59

Adding files

14.612

6.556

2.229

2.930

1.320

1.867

7.83 : 3.51 : 1

5.65 : 1.92 : 1

Committing large changes

5.270

52.685

0.100

0.410

0.440

41.836

1 : 10 : 7.94

1 : 2.41 : 1.68

Diffing no changes

0.110

0.182

0.604

0.007

0.00025

0.731

1 : 1.66 : 6.65

1 : 138 : 3.91

Getting repo status

0.313

0.818

0.383

0.305

0.022

0.630

1 : 2.61 : 2.01

1.14 : 3.74 : 1

Small commit

0.338

1.282

0.264

0.044

0.058

1.278

1 : 3.79 : 3.78

1 : 22.7 : 4.82

Steve Dibb a.k.a. beandog (homepage, stats, bugs)
the imperfect relationship (September 11, 2009, 04:15 UTC)

I had a really interesting thought tonight, and I thought I should write about it, despite it being something pretty personal, so here goes.  I'll actually quote almost verbatim an excerpt from my journal:

I was saying a prayer tonight, and just suddenly the thought occurs to me that it is so amazing that in our raw, imperfect, mortal form here on earth, that it's possible to even create a relationship with Heavenly Father.  That is just so cool.  It really takes some work, but even with just a little bit, you can recognize how He feels about you and your current condition and path that you are on.

That's so amazing to me that its possible, because of *all* the things we have yet to learn and do in the eternities for our progression, it's possible to create a real, recognizable connection with God right now; that we have the capacity to do that is, again, amazing.

I'm sure that, compared to how things can be in a more perfect form it's probably not much that we achieve here, but you can still create a relationship that is as real and fulfilling as anything else here on Earth, and moreso, I imagine (mine isn't *that* strong, but I certainly can't deny it's there).  Amazing stuff, I'm really thankful for that. :)

gentoo-dev for Gentoo users (September 11, 2009, 00:56 UTC)

Maybe I’m the last to stumble upon this… anyway: Nabble is monitoring gentoo-dev offering a search and browse interface and two feeds for it: “new message” and “new threads”. I was thinking the “new threads” one could be a great tool to Gentoo users that are not interested in every single mail (I currently am) but still would like to keep on track of the big picture of gentoo-dev.   I would have needed just that for the Google Summer of Code mailing list.

Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
"/usr/portage is my overlay" (September 11, 2009, 00:33 UTC)

... and I wish more devs would focus on getting things in the tree. The proliferation of overlays is really nice because some have quite exotic stuff, but I find it frustrating to have to use 12 overlays to get all the apps I want/need. So please, if you can, consolidate. Push things to sunrise instead of your private overlay. And if it works (even it a bit ugly) push it to our main tree. Mask it if you don't like it. But please try to avoid handing users this nice puzzle game with 12 incompatible overlays that break random other stuff ...

September 10, 2009
Patrick Lauer a.k.a. bonsaikitten (homepage, stats, bugs)
Small status update (September 10, 2009, 20:31 UTC)

I've been trying to fix stuff as good as I can. Still there are tons of trivial bugs, so if something doesn't compile I usually just leave a note on the corresponding bug and continue with something else. It's kinda rude, but that way I get more fixes per timeunit done.

Y'all might have noticed me bumping postgresql and samba. Those were lagging behind so much, and many people use them - so I spent some time getting us up to speed there. Still lots of minor issues, but at least we have something from this decade now. Amusing thing: Just as I started bumping postgresql to 8.4 upstream reported a few security issues and bumped it. So I spent quite some time compiling postgresql 8.0 8.1 8.2 8.3 and 8.4 - 7.4 needs some more attention, but then who uses something that old ;)

I'm getting quite frustrated with test failures. In my chroots I use FEATURES="test buildpkg" so during the initial compile the tests are run, then reuse the binpkg to save time. With gcc 4.4.1 I had so many linking inconsistencies I decided to drop my binpkgs and start "from scratch". That has slowed me down a bit because I compile more, but it also makes me find lots of seriously messed up tests. Don't even think about suggesting that for future EAPIs as default. It's a retarded idea that does not work.
The amd64 chroot has close to 1k packages already after the gcc 4.4.1 upgrade, so I seem to build a bit of everything now. Lots of bumps, especially in dev-python. The quadcore definitely pays off for that. If anyone wants to motivate me ... I could use some more harddisks. Never enough of those ;)

I just bumped virtualbox to 3.0.6, a day after the announcement. I wouldn't be able to do that without helpers like Alessio who feed me things. They allow me to reduce my role to pure integration testing, so I can cover more ground, they get their favourite packages fixed and everyone profits. If you want to get involved feel free to bother me, that usually has a non-null chance of getting bugs fixed. We still have about 10k open bugs, so there's always something to do. And I can only fix what I'm aware of (same goes for everyone else. File bugs. Write patches. Make it easy for us to fix stuff.)

While I'm spending most of my time at the tip of bleeding edge these days I am aware of the lag with getting things marked stable. That's mostly a manpower issue, so if you have some spare time and want to improve things that might have the largest payoff at the moment. And don't think you're not qualified - they let n00bs like me have access to the tree, so you're qualified for stable testing.

So what's next? Things are getting into a better shape, but there's always room for improvement. Upstreams release a constant trickle of new stuff which we have to integrate. That takes time and we need to be aware of it, so if it hasn't been bumped after a week or so feel free to file us a bug. If you have ideas how to make things better don't hold back - maybe it's an awesome and helps a lot. Help us help you!

A worthy goal?
One bug a day. I challenge you to either open or fix one a day - doesn't take much time, but if we get 30 people doing it for a year that'd be the amount of open bugs we have. Or 300 people for one month ... Imagine what that'd do to your Gentoo! And now stop dreaming and go fix stuff.

Mike Pagano a.k.a. mpagano (homepage, stats, bugs)
gentoo-sources-2.6.31 released (September 10, 2009, 01:22 UTC)

I just committed gentoo-sources-2.6.31 to the portage tree.

Check out Kernel Newbies for the ChangeLog.

September 09, 2009
Greg KH a.k.a. gregkh (homepage, stats, bugs)
Staging tree status for the .32 kernel merge (September 09, 2009, 21:48 UTC)

This was originally sent to the linux-kernel and driver-devel mailing lists. Based on some of the feedback I got, I figured I should post it here as well.


Here's a summary of the state of the drivers/staging/ tree, basically what will be coming in the 2.6.32 merge, and what the status of the different drivers are so far.

First off, drivers/staging/ is NOT a dumping ground for dead code. If no one steps up to maintain and work to get the code merged into the main portion of the kernel, the drivers will be removed.

As proof of that, the epl (Ethernet Power Link) driver will be removed in the .32 kernel, as no one is working on it, the upstream developers never respond to my emails, and no one seems to care about it.

The pata_rdc driver is also going to be removed, as there is a "better" one being merged through the libata tree for this hardware.

So, taking the drivers in chunks, here's some that have had active development on for the .32 release:

  • rt* wireless drivers. Bart has done amazing work merging all of these together into something much better than they originally were. And even better, they still work! Great job Bart!

  • rtl* wireless drivers. Again, Bart has been doing great work here.

  • wlan-ng driver: a bit of work here, but this seems to be dropping off, with the loss of a test platform for the driver. Hopefully someone has a device around and can help out here.

  • comedi drivers had only a bit of work done, lots more is needed here, let's not loose the fact that this is getting closer to a mergable shape.

  • android drivers have had a bit of work done, but upstream seems to not care at all about what is going on here, as they are working to forward port their code to the 2.6.29! kernel. {sigh}. If this keeps up, the drivers will be dropped in the 2.6.32 kernel release. Note, Pavel has been adding some of the Dream hardware drivers, which are separate from the core Android drivers. I have no objection to those, but they should work to get merged to their "correct" places in the tree in another release or so.

  • w35und driver. It's slowly being worked on.

  • echo driver. This one is now in good enough shape to merge into the main kernel tree. I'll send out review patches soon for this.

  • eth131x driver. Alan Cox is working on fixing up the issues in this driver. Hopefully it will get into mergable shape soon.

New drivers that will show up in the .32 kernel release:

  • vt66* wireless drivers. These VIA drivers are being actively worked on to get into a much better shape. Nice job.

  • new rt3090, and rtl8192e wireless drivers have been added and worked on cleaning up issues involved in them.

  • hv (Microsoft Hyper-V) drivers. Over 200 patches make up the massive cleanup effort needed to just get this code into a semi-sane kernel coding style (someone owes me a bit bottle of rum for that work!) Unfortunately the Microsoft developers seem to have disappeared, and no one is answering my emails. If they do not show back up to claim this driver soon, it will be removed in the 2.6.33 release. So sad...

  • quatech_usb2 driver. I don't know if it quite works, but someone is developing it, so I'm not complaining :)

  • VME bus drivers. Yeah! They are progressing nicely.

  • SEP and RAR drivers. Alan Cox has been working on cleaning these up a lot.

  • IIO (Industrial I/O), these are new drivers that are being actively worked on.

  • pohmelfs and dst. It seems that DST is dead, so I think I will remove it in .33. pohmelfs is under active development outside of the tree, and hopefully patches start moving in here to help out with keeping it up to date.

  • cowloop. Yes, another COW driver! :) Seriously, this does things that DM can't do, so it might be useful. The upstream developer is interested in getting this merged properly, and is working on cleaning it up.

Drivers not being actively worked on:

  • otus This is sitting here until a "real" wireless driver will be merged through the wireless tree. Hopefully that happens soon.

  • agnx wireless driver. No one seems to care about it. If no one steps up soon, it will be removed in .33.

  • altpciechdma Upstream developers seem to have disappeared. Again, if no one steps up, it will be removed in .33

  • asus_oled This only needs minor cleanups to get merged properly into the main tree. If someone wants an easy project, this would be it.

  • at76_usb wireless driver. Again, no one working on it, it will be dropped in .33.

  • b3dfg I really do not think anyone cares about this. again, will be dropped if this is true in .33.

  • cpc-usb After the initial flurry of development, everyone seems to have run away. Was it the fact that I hadn't showered in a few days? Again, will be removed if no one comes back. And I am wearing deodorant now...

  • frontier A nice driver, again, should not be hard to get merged into the main tree, if someone wants an easy project...

  • go7007 Ugh. Unless someone steps up now to take this over, it's going to be removed in .33. There is no hardware made with this anymore, and no specs around that I know of, and the code isn't the nicest in the world.

  • heci A wonderful example of a company throwing code over the wall, watching it get rejected, and then running away as fast as possible, all the while yelling over their shoulder, "it's required on all new systems, you will love it!" We don't, it sucks, either fix it up, or I am removing it.

  • line6 Another nice driver that should be simple to get merged. Please, if you are looking for something to do, this is it.

  • me4000 and meilhaus They work on the same hardware, and they duplicate the existing COMEDI drivers. Someone thinks that custom userspace interfaces are fun and required. Turns out that being special and unique is not what to do here, use the COMEDI drivers instead. These will be removed. Heck, I'll go remove them for .32, there is no reason these should still be around, except to watch the RT guys squirm as they try to figure out the byzantine locking and build logic here (which certainly does count for something, cheap entertainment is always good.)

  • mimio Another driver that should be simple to get merged. Someone just step up to do this please, there are users of this hardware out there.

  • p9auth While it seemed like a good idea, I don't think that anyone actually uses this. It will be removed in .33 unless someone comes forward.

  • panel Another one that should be simple to merge. Anyone?

  • phison What? I thought I asked for this to be merged a while ago, sorry about that, no reason it should still be in staging anymore, it's just so small it slipped through the cracks...

  • poch A long-suffering company is enduring the slowest developers in the world here. Hopefully the code will be replaced with a UIO driver, but testing the userspace side seems to be difficult and slow. I have to give Redrapids major credit for being patient here, they are being amazing.

  • rspiusb A weird, very expensive camera, from a company that does not want to release the specs, and wants custom userspace interfaces. The code hasn't built since the 2.6.20 days. I'll go delete it now from .32, it doesn't deserve to live as no one cares about it, least of all, the original authors of the code :(

  • slicoss and sxg These are being developed by a consulting company for the main producer of the chips. Yet they seem to have disappeared half-way through the job. Odd. Hopefully they come back soon.

  • stlc45xx Another wireless driver that no one seems to care about. So sad. I guess no one will miss it when it goes away in .33.

  • udlfb Video over USB, it doesn't get anymore whacked than that. This is still being developed but the developer doesn't like to do incremental updates for some odd reason. Hopefully he pops up again with an update. But for now, it is quite workable for a number of developers.

  • usbip USB over IP. I guess if you ran video over IP to your USB device, that would be more whacked than just video over USB. This did get one big update during the .32 development cycle, hopefully the developer can come back again when they get some free time to continue working on it. Rumor has it that some major distros are starting to rely on this code, so it would be nice to get their help to get it working better...

That should cover all of the 600+ patches in the staging tree for the .32 kernel merge, and the existing drivers/staging/ tree. If I missed anything, please let me know.

Bernard Cafarelli a.k.a. voyageur (homepage, stats, bugs)
neatx and chromium in portage status updates (September 09, 2009, 12:05 UTC)

Yesterday, I finally found the bug which prevented neatx from working on my system (thanks upstream for the debugging), so in your next portage sync, you'll find net-misc/neatx-0.3.1_p43 ready for your testing! If you don't need vnc/sound/printer tunneling or load-balancing, neatx is easier to set up than freenx and works great out-of-the-box. Thanks again to Mike Auty (ikelos) for his work on the ebuild.

Another work-in-progress for me these days is a source ebuild for chromium (open-source version of Google Chrome). A binary version (chromium-bin) has been available in portage for some time now (with amd64 support added recently), but source version ebuild had some problems. Now my current version (available in my overlay for the curious) has fixed most of them, including use of system libraries, makefiles use instead of scons, --as-needed support, ... So why is it not yet in portage? Well, for now the tarballs from upstream are not yet available, so you won't go past the fetch phase ;) These should be available soon, once available you can expect chromium to quickly land in a portage tree near you.

By the way, if chromium crashes at startup for you (either binary or source version), they finally found the cause: you are probably using nvidia-drivers and nvidia opengl (via eselect opengl). However the libGL.so from nvidia overrides dlsym/dlopen (dynamic linker functions) with broken replacements, breaking applications relying on these functions! Chromium devs implemented a workaround, available for -bin in versions >=4.0.208.0_p25708, but expect some breakage in time-related functions. All the gory details are here: http://code.google.com/p/chromium/issues/detail?id=16800

And now to change a bit from technical talks, I wanted to say a big "thank you" to all of you Gentoo users who spend time filing bugreports, fixing, writing or rewriting ebuilds, debugging and finding the cause for all sorts of bugs (finding that some dynamic linkers break with specific video cards for example...), in short to all of you who work to make your distro a better one! And recently, a special thanks to Bernd Lommerzheim, who helps me a lot in proftpd maintenance, up to providing an entirely new ebuild for latest version, with lots of fixes and new features.

Dante e.V. mit neuer Homepage (September 09, 2009, 10:32 UTC)

Nach so vielen Jahren mit dem alten Desing, gibt es jetzt endlich ein schönes Layout, dass den modernen Zeiten besser steht. Dante ist die Deutschsprachige Anwendervereinigung TeX und widmet sich der Förderung rund um das Textsatzsystem TeX

texmfind, finally updated (September 09, 2009, 08:12 UTC)

Originally texmfind has been written by a Gentoo user to find out which TeX file (LaTeX, too) is available in which package so you can emerge the correct one. Unfortunately it has not been updated for TeXLive 2008 and so looses some functionality, although some entries are still valid. Now I forked the project and updated it. The ebuild 2008.1 is already available in testing. Check it out, a stabilisation should happen soon.

September 08, 2009
Alex Alexander a.k.a. wired (homepage, stats, bugs)

Nokia switched their Qt git master to version 4.7 recently, creating a new branch for 4.6.

They also created two new branches, master-stable and 4.6-stable. Commits pushed to those branches are tested in Nokia’s testing farms, ensuring that they’ll always build.

The Gentoo Qt team provides various live Qt ebuilds in our official overlay, qting-edge [1]. These ebuilds now include x11-libs/qt-*-4.6.9999, building code from the 4.6 Qt branch, as well as a new USE flag called stable-branch, available (and enabled by default) in 4.6.9999 and 4.9999. This USE flag enables/disables the use of the stable branches, allowing you to choose between last-minute code VS tested, known to compile code.

Either way, its bleeding edge!

If you need help, leave a comment or visit us @ Freenode IRC, #gentoo-kde

[1] to install qting-edge, make sure you have layman installed and configured, then run layman -a qting-edge.

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

Nathan Zachary a.k.a. nathanzachary (homepage, stats, bugs)
I wish (September 08, 2009, 19:55 UTC)

I wish...

the justice system would actually promote, foster, and protect virtue instead of corruption; that the systems and safeguards the nation has in place would function based on the spirit of the law instead of the bureaucratic letter of the law; that our lives were not governed by the myth of meritocracy, but rather that those most deserving would obtain, instead of being shunned by a modus operandi desperately trying to placate the proprietors of wealth and subsequent power that they do not readily deserve; that we would eradicate not only the lexeme of "tolerance," but also the surrounding mentality, and instead replace it with a disposition of love and understanding; that we as members of humanity could unanimously realise the tyranny of the "compete and conquer" mindset, replacing it with a "collaborate and coalesce" worldview; that we would sustain Carpenter's "Bless the Beasts and Children" notion, helping those incapable of promoting their own eudaemonia, and that when doing so, we were not falsely accused of wicked, despicable, and self-serving motives, especially by the hypocrites engaging in such deploration;

I wish...

...that this dreadfully painful contention which I'm currently enduring would result in, if nothing else, this beautiful child's recognition that somebody loves him above all else.

|:| Zach |:|



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You will always be a son to me, no matter what. I love you more than anything buddy, and that will never change.


"I will never let you fall
I'll stand up with you forever
I'll be there for you through it all
Even if saving you sends me to heaven"
--The Red Jumpsuit Apparatus - "Guardian Angel"

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


If you would like to help, please Digg this article here:

http://digg.com/d314IpH

and comment and +fav on deviantART at:

http://nathanzachary.deviantart.com/art/I-wish-137082964


Microsoft and Best Buy work together to spread FUD (September 08, 2009, 03:43 UTC)

I found this very interesting article about Best Buy's training program. The RetailAccess program (sponsored by Intel) and the ExpertZone training program (sponsored by Microsoft) provide readings about the newly-released and upcoming technologies. Every employee at the tech bench (now called the Geek Squad) had to read these articles and take quizzes over their content in order to keep their jobs. Interestingly, a new article in ExpertZone compared Windows with Linux. However, instead of an objective comparison, Microsoft continued their trend of spreading fear, uncertainty, and doubt (FUD) in a desperate attempt to maintain their market share. Some of the flat-out lies that they mentioned were 1) that Linux doesn't support cameras, or portable media devices very well, 2) that we don't have any way to play Windows-based games, and 3) that video chat isn't possible. There were many more, including my personal favourite that Linux is too difficult to learn.

Don't take my word for it though, check out the full article by Steven Vaugh-Nichols of Computer World, complete with screenshots of the "quizzes."

|:| Zach |:|

September 07, 2009
Knitting and Gentoo (September 07, 2009, 19:00 UTC)

Ravelry is a knit and crochet community. In an interview with Tim Bray of ongoing,  their site engineer Casey Forbes says: “We have 7 servers running Gentoo Linux and virtualized into a total of 13 virtual servers with Xen.” On these servers they use nginx, HAProxy, Apache, MySQL, and of course Ruby on Rails (with Passenger). And how they use it!

We’ve got 430,000 registered users, in a month we’ll see 200,000 of those, about 135,000 in a week and about 70,000 in a day.
We peak at 3.6 million pageviews per day. That’s registered users only (doesn’t include the very few pages that are Google accessible) and does not include the usual API calls, RSS feeds, AJAX.
Actual requests that hit Rails per day is 10 million.
900 new users sign up per day.
The forums are very active with about 50,000 new posts being written each day.

Thanks for sharing the details, it’s what keeps us developers running. At least those as vain as me.

September 06, 2009
Marcus Hanwell a.k.a. cryos (homepage, stats, bugs)
What a Crazy August (September 06, 2009, 18:36 UTC)

August was without doubt one of the craziest months in the last few years. It started off with the normal "getting used to being a new Dad" type of stuff. Then as we were thinking about our upcoming trip to find a new house our car started acting funny. Long story short it was not good, and we made the decision to get a new one. We should have probably done that in the first place, hindsight is always a great thing...

So we had some fun and games as we picked out a new car, checked our already stretched summer finances and finally took delivery of a shiny Subaru Forester on Wednesday 5 August. It immediately produced some awful, loud static noise as we drove it home from the showroom. By Friday they had given us a courtesy car while they figured out what was wrong. Friday night they had it back to us with a new audio system installed.

Subaru ForesterAir and Space Smithsonian

Then we figured it would be great to catch up with Adam in Washington DC, and to iron out any further car bugs before our house hunting trip. So 8-9 August we stayed with Adam and checked out the Air and Space Museum. We also took William to the White House, and a few other touristy spots. He won't remember it, but he got to see the capital, along with lots of rockets, planes and satellites.

Family outside the WhitehouseWilliam in hospital

On Monday I went back into work, left a little early and William was making some strange noises. When we got home I felt his head, and it was really hot. As Louise was getting the thermometer William was sick for the first time ever - all over me. When I checked his temperature it was up at 39.8C, in excess of 103F (checked with two thermometers). This scared us so we rushed him to the children's hospital, as any nervous first time parent would.

As they were looking at him we started to realise that it might be quite serious. They ran a battery of tests, including urine and blood tests, cultures, X-rays, spinal fluid and constant vitals. They found a bacterial infection, I have never been so scared and stressed before. I found out that I am a very protective father, and was disheartened as more and more tests came in and we were admitted for an extended stay.

All of our friends were out of town at the time too, which made things more difficult. It turned out he had an E. Coli infection in his blood. We were lucky in some senses, the antibiotic they started him on as we were admitted was one of the best for the strain of E. Coli he had been infected with. His blood only showed bacteria in the first culture they took. Still, they were talking about 14 days on IV antibiotics using a central line as an inpatient.

Thankfully after talking with them they found an alternative oral antibiotic therapy that recent studies showed were just as effective. So he could come home on the Thursday evening. It was great to be home again, although very stressful to have William get so ill so quickly. I had never imagined he could get so ill so quickly, it reminded me off the waiting for them to tell us he was OK after he was born.

After that we tried to get back to life as normal. Until the end of the month when we had our big trip up to Clifton Park, NY to look for houses. Friday went very badly, we saw one house which was terrible and everything else we had lined up had been rented before we got into town. Saturday we saw another house before leaving for Boston - it was OK, but not really what we were looking for.

William's first wedding

Saturday afternoon we drove over to Boston, MA to go to Jeff's wedding. It was great to have a break from looking at houses. We had a great time looking around Cambridge and Boston, the wedding was really nice and William managed to get lots of attention. Thanks for inviting us Jeff - it was a really nice day. William's first formal event. Before leaving on Sunday we visited the Harpoon brewery to sample some of their beers.

We found several new places listed on Sunday before leaving Boston, so we set up appointments for Monday. Monday was something of a three bears type of day. The first house we saw was close to work, but too small. The second house we saw was about the right size, good state of repair but a little expensive and too far from work. The third place we saw advertised as we were thinking about how to compromise, saw it at 6:30pm and it was just right.

William relaxing in the hotelNew house

So in the end we didn't have to extend our stay, found a nice place that is close to where I will work and Louise really likes it. We just had a 500 mile drive back home. That was pretty much August, I did manage to squeeze some time in for hacking on code, taking care of the cluster at work, and general work stuff. September we just need to do our first 500 mile interstate move. It should be relatively simple after an intercontinental move surely ;-)

September 03, 2009
Nokia doesn’t get it (September 03, 2009, 14:03 UTC)

Okay, I'm no longer cautiously optimistic about the N900.  I've officially crossed it off my list, and any claims that Nokians make about the N900 being an actual open source platform are patently false.

This reminded me of bug #176  opened in 2005 (yes, 4 years and 4.5 hardware iterations ago): The N900 still does not have native ogg support.  This means to me that Nokia deliberately removed that support.  They must have; all the underlying software (gstreamer, etc) has it by default.

If the N900 was, in fact, an open source project, ogg support would have been added by the community.  Heck, I looked at adding it myself back in the day.  But it's not there, therefore the N900 is not open source.   Oh well.  There's always the N910, that's sure to come out in 6 months.  Maybe Nokia will have gotten their act together by then.

September 02, 2009
Steve Dibb a.k.a. beandog (homepage, stats, bugs)
gmail smtp + custom from email address (September 02, 2009, 17:54 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* :)

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.

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