This tutorial explains how to use git, how to use the Funtoo Portage tree for development, and how to easily fork the tree for your own collaborative projects.
Enjoy! :)

I don’t know about anyone else, but everytime I want to go Planet Larry, I still type in planetlarry.org, even though I ditched the domain a few months ago.
Well, I got tired of it not working, so I re-registered it, and it redirects once again as normal.
Also, we can always use more bloggers — if you have a Gentoo blog, lemme know about it, and we’ll get you added. It’s a very informal process, just send me an email with your blog URL and stuff. Now that I think about it, I really need to catch up with all the new Gentoo devs and get them on Planet Gentoo as well. Slack…
Finally, I decided I’m going to create a feed specifically for ex-developers, but since I’m too lazy to go out and find their blogs (and I don’t think I still have an old copy), if you guys could send me your info, that would greatly help to speed things along. Update: It’s too much work to create a separate feed, so I just put them back in the main feeds. Now, behave.
And here’s an image just because this blog post is so boring, it needs one.

September 19, 2008 06:08 PM :: Utah, USA 
A) AutotuA 0.0.1 released! Try it out and report bugs (if you can't follow the instructions in the link given, your services will be required when 0.0.2 is released :)
B) IMO, the two best distros in this world are:
September 18, 2008 04:08 PM :: Uttar Pradesh, India 
When I started undvd I set out to solve one very specific, yet sizeable, problem: dvd ripping&encoding. I did that not because I really felt like diving head first into the problem would be fun, but because there was nothing “out there” that I could use with my set of skills (none). Meanwhile, I needed a dvd ripper from time to time, and since I didn’t need it often I would completely forget everything I had researched the last time I had used one. This was a big hassle, I felt like I had no control over the process, and I could never assure myself that the result would be good. Somehow, somewhere, there was a reason why all my outputs seemed distinctly mediocre. Visibly downgraded from the source material.
Writing undvd was a decent challenge in itself, because of all the complexity involved in the process. I had to find out all the stuff about video encoding that I didn’t really care about, but I thought if I put it into undvd, and make sure it works, then I can safely forget all about it and just use my encoder from that point on. When you start a project you really have no idea of where it’s going to end up. undvd has evolved far beyond anything I originally set out to build. That’s just what happens when you add a little piece here and another piece there. It adds up.
It’s been about 20 months. undvd is quite well tested and has been “stable” (meaning I don’t find bugs in it myself anymore) for over a year. One of the by products is a tool called vidstat for checking properties of videos. I wrote that one just so I could easily check the video files undvd was producing. But it turns out to be useful and I use it all the time now (way more than undvd). In the beginning I was overwhelmed by the number of variables that go into video encoding, and I wanted to keep as many of them as I could under tight control. I have since backtracked on a number of features I initially thought would be a really bad idea for encoding stability. But that’s just the way code matures, you start with something simple and when you’ve given it enough thought and enough tests, you can afford to build a little more complexity into the code.
Codec selection landed just recently. And once I was done scratching my head and trying to decide which ones to allow and/or suggest, I suddenly realized that with this last piece of the puzzle I was a stone’s throw away from opening up undvd to general video conversion. Urgently needed? Not really. But since it’s so easy to do at this point, why not empower?
The new tool is called encvid. It works just like undvd, stripped of everything dvd specific. It also doesn’t scale the video by default (generally in conversion you don’t want that). So if you’ve figured out how to use undvd, you already know how to use encvid, you dig?
Suppose you want to watch a talk from this year’s Fosdem (which incidentally, you can fetch with spiderfetch if you’re so inclined). You get the video and play it. But what’s this? Seeking doesn’t work, mplayer seems to think the video stream is 21 hours long, that’s obviously not correct (incidentally, I heard a rumor that ffmpeg svn finally fixed this venerable bug). It seems a little heavy handed, but if you want to fix a problem like this, one obvious option is to transcode. If the source video is good quality, at least from my observations so far, the conversion won’t noticeably degrade it.

So there you go, a conversion with the default options. You can also set the codecs and container to your heart’s content.
You can also use encvid (or undvd for that matter) to cut some segment of a video with the --start and --end options.
September 18, 2008 10:11 AM :: Utrecht, Netherlands 
aRts is the old KDE Sound daemon which appeared around Version 2.0 of the KDE. Its purpose was mixing multiple music channels in real time - in other words playing a beep sound while playing music and so on as the common soundcard wasn’t able to do this. Later on hardware and drivers moved on and the main developer retired from the project. In other words, the project went pretty dead and is depreciated by now.
Nevertheless I used aRts for quite a long time - honestly, I have used it since two days ago and it has caused too many problems. As aRts is depreciated, it was time to remove it from my system. As I am using Gentoo Linux, the KDE 3.5.10 update and the buggy kde-base/kdemultimedia-arts ebuild were the best time to do so.
Removing aRts is quite simple. First of all, we start by deactivating the Soundserver using the KDE Control center. But as we want to have some noise on our box, we can adjust the system sound settings to use an external player. As I want to keep it simple, I’m using the “play” binary from the media-sound/sox package.
As those changes were made, it’s a good thing to test the current setup to see if things are working. If the sound still works, it’s time to remove the arts USE-flag from the make.conf. The next step is emerging the packages depending on arts and arts itself. And that’s all.
September 18, 2008 07:31 AM :: Vorarlberg, Austria 
It's been a few years since I officially grasped Linux's (well, X Windows') weird concept of copying and pasting, with its multiple discrete copy/paste methods: the highlight + middle click version, and "clipboard" Edit->Copy" + "Edit->Paste version.
But once in a blue moon, copying and pasting in X still surprises me. Try this:
Can you guess what happens at the end? If you said "Some random text from another application and/or nothing at all is pasted rather than the stuff from Firefox", you're right!
But today I read this article on jwz.org and finally understood how copy/paste works in X. Highlighting text doesn't copy anything, it just announces to the world "If any applications want to middle-click paste something, come ask me for it". So if you close the application you wanted to paste text from before you actually do the pasting, the application isn't around to give you the text you wanted any more, so you can't get it. The Edit->Copy / Edit->Paste version of copy/paste behaves the same way. You can't "Copy", close app, "Paste".
Note, this is different from how MS Windows works. When you copy some text in Windows it really copies to another location. You can close the app and still paste away. But Windows has a different (inconsistent) behavior when copy/pasting files in Explorer. There, it behaves like X in Linux: if right click a file and "Copy", it doesn't actually do anything with the data until you paste. If you right-click, "Copy", delete the file, "Paste", you don't get an error until you try to Paste.
In Vim in Linux, the "* register lets you access the "primary selection" (highlight / middle click selection), and the "+ register lets you access the clipboard.
In Vim in Windows, "* and "+ do the same thing, and use the clipboard.
September 17, 2008 01:42 AM :: Pennsylvania, USA 
System Requirements
Hardware
* Processor - Modern x86 processor (800MHz or faster, 32-bit)
September 16, 2008 06:08 PM :: Germany 

September 16, 2008 09:45 AM :: Germany 
Distributed source control is really great, and among them, the tool I love the most is, by far, mercurial. I use it for all my free software projects, my own non-software projects (config files, mathematical articles and such) and also, dare I say it, for my CLOSE SOURCE projects. Yes, I also do this kind of things, how harsh a world this is, isn’t it ?
In the latter case, though, I often have some problems with permissions. In my (quite common) setup, I have a central repository and the whole tree belongs to a (unix-) group. File access is restricted to this group only (chmod -R o= mydir).
On lot of current linux distribution, each user has an associated group with the same name (john:john), at least that’s how it behaves on both debian and gentoo.
When a user does a push which creates some new directory/file, then those are created as belonging to this user and its main group (john:john here). As a result, other people can not access to it, and when you want to pull the repository, you got a big ugly crash:
pulling from ssh://foo@freehackers.org///usr/olocal/hg/topsecretproject searching for changes adding changesets transaction abort! rollback completed abort: received changelog group is empty remote: abort: Permission denied: .hg/store/data/myfile.i
Of course, i can create a big fixperms scripts in the repository, but then I need to start it each time the problem arises, which if each time someone creates a new file/di: this is far too often.
I thought about the set-group-ID (see man ls) and indeed it works. I dont know if this is the official way of solving this problem among the mercurial communauty, and I would love to know if some other people solve it differently. At least that’s how it is documented on the mercurial site.
Now, you might as well find out about this problem once your repository has been used for a while and is already full of useful stuff. Then it is a little bit less simple than what the mercurial documentation says. Namely, you need to put the set-group-ID in the whole .hg/store/data :
cd topsecretproject/
chown john:topsecretgroup -R .
chmod g=u,o= -R .
find .hg/store/data -type d | xargs chmod g+s
yet, I am still alive
, so here's a short notice t' prove it.
Real life is suckin' up most o' me time and motivation t' hang in front o' me computer recently. I have a new volunteer who keeps me from lurkin' on all th' webdottohoo™ sites all day long and I am also finally movin' in me very own flat
. Until I am moved (in two weeks from now) me signal t' silence ratio will prolly stay at its current level.
September 15, 2008 09:09 PM :: Germany 
dhcpcd now manages routing in a sane manner across multiple interfaces on BSD. It always has on Linux due to it's route metric support, but as BSD doesn't have this it's a little more tricky. We basically maintain a routing table built from all the DHCP options per interface and change it accordingly. As such, dhcpcd now prefers wired over wireless and changes back to wireless if the cable is removed (assuming both on the same subnet) and this works really well 
It's now starting to look quite stable and all the features in dhcpcd-4 appear to be working still so I've released an experimental version to get some feedback. BSD users can get a rc.d script here.
So, lets have it!
September 14, 2008 11:15 PM :: Utah, USA 
You’re going to think that I’m some kind of web shortcut maniac, but I really think I’m not.
I’m using http://packages.larrythecow.org a lot, and only today did I think about creating a konqueror web shortcut to get there faster. I’ve called it ‘gt’ (for gentoo, yes, i’m that lazy), and the magic url thinguy is
http://packages.larrythecow.org/?v=search&s=\{@}
Now I can type “gt:kdebase-meta” in konquy or alt-f2 and feel ashamed in front of my debian friends whom I’ve been laughing at so much in the past because debian is slow to catch up with kde releases.
Today, several weeks after KDE 4.1 has been released, and 10 days after KDE 4.1.1 has been released, there is still no official ebuilds for the kde 4.1 branch. I know there are overlays, there are some heated bug-reports, blogs and even some unofficial status page about it, but still, kde 4.1 is not in gentoo, and it makes me feel really sad.
Yes, I know, it’s free software and I can do it myself. And then?
The scenario: my RAID crashed because I’ve messed around with the partition table of one of the disks in there. This results in a RAID array not being able to assemble itself because the superblock of the messed up device is invalid. The trick is pretty easy: just recreate the whole RAID with mdadm. The existing metadata will not be overwritten, the current information is just replicated. I used to have a simple RAID1, but I’ve now recreated it as an incomplete RAID5 (--level=5, --raid-devices=2) as the missing disk is soon to be bought.
$ mdadm --create /dev/md0 --level=5 --raid-devices=2 /dev/<original> /dev/<crashed>
If you like to stick with a RAID1, and not doing the migration to RAID5 along the way, just use --level=1 instead. I’m not really sure if the order of the disks matter and I’m not brave enough to find it out.
Tomorrow I’m going to buy the next disk for the RAID to make sure the redundancy level is alright. Generally I’m pretty amazed that this kind of setup is so robust. Even me messing around with it can’t bring it down.
September 12, 2008 03:50 PM :: Germany 
September 12, 2008 01:26 PM :: Connecticut, USA 
September 11, 2008 01:54 AM :: Australia 
The great thing about standards is there are so many to choose from.
- Someone
undvd 0.5.0 introduced a new option to choose the codec and container for the rip. The only problem is that you have to know which ones to choose. mencoder supports a staggering number of codecs and containers, most of which are now exposed also in undvd. The resulting rip can also be remuxed to a couple of other popular containers with additional tools.
But I wasn’t content with solving a problem by introducing a new problem. Now, it’s not so easy to say exactly which combinations are good and bad, but if at least you knew which ones definitely do not work, that would be a start, wouldn’t it? Then at least you can rescue the user from phase one of the Monte Carlo method in getting something that actually works.
The methodology is like this:
This is what codectest does. The result is either a text file showing line by line whether or not the given combination successfully produced a rip, or a pretty matrix picture. This gives you an idea of what you can expect to use. If you run this on your system, it’s also a tip off if you see something that should work but doesn’t.
I must stress that if the given combination of codecs does produce a file, this is no guarantee that the file is to be considered a good rip. It may not play on other media players, it may not even play on mplayer (incidentally, this is something akin to a fuzzer, I’ve discovered that some combinations really aren’t expected
). So if codectest says it works, verify that you get a working video file out of it!
The standard set looks something like this:
It’s also possible to run it on the full combination of all codecs and containers that are now exposed in undvd. You’ll need a few hours to do it:
September 10, 2008 11:57 PM :: Utrecht, Netherlands 
September 10, 2008 10:47 PM :: Connecticut, USA 
many people are complaining about the memory footprint of all the well known browsers (including chrome). and of course they are right. i think that the situation would be far more bearable if we could ban flash from the web!
i have seen some great sites that depend their design on flash technology, but let's face it. adobe plugin sucks big time. i just installed a flash block add-on to my browser (again) and i'm not going to remove it until adobe decides to release a descent flash player plugin for all the browsers that will not need 100% cpu utilization every time i open a flash site on a tab.
depending on the browser you use, you can find an add-on with the same functionality to flashblock firefox add-on. after a quick search i find this for opera and this for safari. i don't care about internet explorer since it can't even pass the acid2 test, so you shouldn't use it anyway.
ps. i think that it's time for browser developers to consider the option of full svg support, as w3c suggests. maybe that would be a new "reclaim the web" action.
September 10, 2008 05:34 PM :: Athens, Greece
You tag something with a metric. The same somethings with a lower metric take precedence over the same somethings with a higher metric.
dhcpcd has been able to apply metrics to routes on Linux so that we can prefer to route packets over wired instead of wireless.
dhcpcd-git is now able to distinguish wired from wireless and can make a metric accordingly.
But how do we teach configuration files about this? Well, dhcpcd-git has an environment variable sent to each script telling it about the preferred order of interfaces (based on carrier, if we have a lease or not and metric). This works well, and we can now prefer wired nameservers over wireless ones in /etc/resolv.conf. Well, we can at least put them first in the list.
Whilst doing this, it struct me that resolvconf has no means of preferring configurations other than a static interface-order file. This is not good for automatic foo! So openresolv now understands the -m metric option and the IF_METRIC environment variable so it can tag resolv.confs by priority. If no metric is specified, it takes priority. If >1 interface on the same metric then we take lexical order.
That I am lazy if it comes to typing much shouldn’t be a secret by now, but mentioning it here might be wrong too - but it was the main cause for doing some research for an alternative login method. Fingerprints may sound fun, but if it comes to security or if you need to pass on the password to someone…
But as you might guess, I’m not the only one facing that problem - there’s even a nice packet waiting for us, called sys-auth/pam_usb. If you’re using gentoo linux, you can simply emerge it after unmasking a current version. A version number below 0.4.1 isn’t recommended at all.
# echo “sys-auth/pam_usb” >> /etc/portage/package.keywords
# emerge -av “>=sys-auth/pam_usb-0.4.1″
As the compile finishes, we want to go to the funny part - configuration. As a test USB device I have chosen to use my SanDisk Corp. Cruzer Titanium. But let’s start right in using the on-board tools delivered with the package:
# pamusb-conf –add-device MySecretDevice
Please select the device you wish to add.
* Using “SanDisk Corp. Cruzer Titanium (SNDKXXXXXXXXXXXXXXXX)” (only option)
Which volume would you like to use for storing data ?
* Using “/dev/sdb1 (UUID: <6F6B-42FC>)” (only option)
Name : MySecretDevice
Vendor : SanDisk Corp.
Model : Cruzer Titanium
Serial : SNDKXXXXXXXXXXXXXXXX
Volume UUID : 6F6B-42FC (/dev/sdb1)
Save to /etc/pamusb.conf ?
[Y/n] y
Done.
If things work the same way they do on my howto, the USB stick is now set up for authentication in general. Now let’s add users. I’d say using root is pretty cool - so let’s try.
# pamusb-conf –add-user root
Which device would you like to use for authentication ?
* Using “MyDevice” (only option)
User : root
Device : MySecretDevice
Save to /etc/pamusb.conf ?
[Y/n] y
Done.
Theoretically our user root is configured now for usb authentification. But as it’s an important system user, let’s make sure, things are working:
# pamusb-check root
* Authentication request for user “root” (pamusb-check)
* Device “MySecretDevice” is connected (good).
* Performing one time pad verification…
* Verification match, updating one time pads…
* Access granted.
Well - the basic stuff is done. Now let’s start with the difficult part: we’re dangling on PAM. As I want to make the changes system wide, I’m working with the file /etc/pam.d/system-auth where I am looking for the line saying
auth required pam_unix.so nullok_secure
which I’m changing to
auth sufficient pam_usb.so
auth required pam_unix.so nullok_secure
A test follows.
pavilion $ su
* pam_usb v.0.4.3
* Authentication request for user “root” (su)
* Device “MySecretDevice” is connected (good).
* Performing one time pad verification…
* Verification match, updating one time pads…
* Access granted.
And hooray, it works. Regarding the different pam-implementations, you may even get it to work with kdm, gdm and all that jazz using it. But there’s a funny thing I am still missing: automatic locking of the screen on removing the device.
Believe it or not - there’s even a solution for our problem. It’s called pamusb-agent. The config for it could look that way if you’re using KDE:
MySecretDevice
dcop kdesktop KScreensaverIface lock
dcop kdesktop KScreensaverIface quit
For making things roll, just ensure it’s started on KDE startup:
cd ~/.kde/Autostart
ln -s /usr/bin/pamusb-agent pamusb-agent
And that’s it.
September 10, 2008 12:58 PM :: Vorarlberg, Austria 
September 10, 2008 09:52 AM :: Germany 
I finally got not one, but two phone calls from Westinghouse today, inquiring as to the status of my Better Business Bureau complaint against their company. This is of course in connection with the big expensive L2410NM computer monitor I sent off for repairs in March and never got back.
I actually have three different people's names to get in contact with at Westinghouse now, two or more of which are apparently supervisors. After I returned one call and was told all the supervisors went home for the day, I then received an unprecedented second call back from a different supervisor, saying she was on her way out the door but that I should call her tomorrow, and she gave me a direct line to contact her.
Some supervisors must be rooting through old BBB complaints and responding to them all, would be my guess. A phone rep let slip that there's someone working on "all of these cases... er, I mean, your case". The LA BBB still lists 69 unanswered complaints against Westinghouse, so I'm sure there's plenty of work to go around.
After six months of bullcrap, I can't get my hopes up at this point that I'm going to actually have this resolved but hey, you never know. In spite of my 21 phone calls to Westinghouse (and counting) and many promises of a return call, this is the FIRST TIME I've ever heard from anyone at the company. I'll be posting the result of my phone call tomorrow.
(Previous posts: The beginning, Update 1, Update 2, Update 3, Update 4, Update 5, Update 6, Update 7.)
September 10, 2008 12:43 AM :: Pennsylvania, USA 
Via PerlMonks I found a couple of articles discussing in good detail some of the new features of Perl6.
Perl6 steals even more things from Common Lisp than Perl5 did: it has multimethods / multiple dispatch for example, which is a huge plus. Via this interview with Damian Conway we learn that Perl6 will also have named, optional, and "rest" parameters to subs, just like in CL. That's also a good thing; CL's parameter-passing styles are nice, and it's awesome how you can combine them. Certainly better than Perl5 (but everything is better than Perl5). There's also apparently special Perl6 syntax for applying functions to lists and currying functions, and weird Capture objects to explicitly deal with multiple-value returns from subs. Good stuff.
Perl6 is also apparently taking first-class functional objects to an extreme; blocks, subs, and methods are all objects and there are all kinds of metaprogramming hooks to screw around with them. This is one area where Ruby is just a little bit lacking: functions and methods aren't quite first-class enough in Ruby. Most people seem to pass around symbols / names of methods rather than pass around methods as objects themslves. Anonymous blocks are used liberally but mostly via yield, limiting you to one block per method and largely hiding away the block objects themselves.
I'm honestly a bit excited about Perl6, but largely as a curiosity or new toy to play with. It is kind of interesting how languages keep creeping more and more toward Common Lisp. If Perl is a nicer-looking Common Lisp which I can edit properly in Vim, it'll be almost a dream come true; I hate Emacs and Common Lisp tends to be butt-ugly. (Not talking about the parens, mostly about the verbosity and cruft and inconsistencies. Larry Wall famously said that Common Lisp looks like (paraphrased) "oatmeal with toenail clippings mixed in". Perl is certainly at the other extreme.)
http://rakudo.org/ is a good site for keeping up on Perl6 news. It's pretty active. Here's hoping we see a real release of Perl6 someyear.
September 09, 2008 11:28 PM :: Pennsylvania, USA 
Lots of buzz on adding scripting interfaces to applications on Planet GNOME recently, cool. Looks like Alexander Larsson hacked together a wrapper around SpiderMonkey (the Mozilla Engine) to get JavaScript integrated. Related to the jscore-python thing I blogged about before.
Not sure this is the best way to tackle this cool new opportunity though. JavaScript can be pretty hard to “get” for people not used to it, but more familiar with classical languages (wrt object oriented paradigms). I guess lots of current code contributors are not very familiar with JavaScript, but do have an in-depth knowledge of some other scripting language though (not listing any here, you certainly can name some).
So, wouldn’t it be nice if the GScript interface would be abstract for the application developer, who should just create a script context, put some objects in it, and launch a script, after which the GScript runtime figures out which interpreter to use for this script, so scripting languages become plugable?
Reminds me a little of my old OPluginManager work ![]()
September 09, 2008 07:48 PM :: Germany 

September 09, 2008 02:14 PM :: Utah, USA 
i uploaded three more articles on the foss section published at the greek edition of linux format.
the two parts of my "spreading linux" article and the 6 pages "introduction to gentoo" (co-writed with kargig)
happy reading :)
September 09, 2008 12:33 PM :: Athens, Greece
As per may last post, I’d been left in the Dark with my new Mozilla Firefox build. To summarize, lately I had updated my April build of Firefox (build 3.0-beta5) to Firefox-3.01. I expected a few bug fixes, but mainly didn’t feel safe running a beta version. Unfortunately, the Mozilla developers must have decided memory allocation wasn’t enough and the new 3.01 version (possibly before) got a good bump of memory resources to use. However, on my memory-maxed laptop (192 MB, if you can believe it) the new requirements brought the whole desktop to a hard-drive frictioning halt. Luckily for me Gentoo Developers are as through saving ebuilds as they are of writing them.
Old, abandoned, and aging ebuilds are saved in Gentoo CVS. I’ve heard about this before but when I looked into CVS, I couldn’t find them. It turns out that they are kept in the x86 trunk:
http://sources.gentoo.org/viewcvs.py/gentoo-x86/
Looks like all ebuilds are retired to this trunk! Yeeahh! If you can’t find an ebuild be sure to look into the link “show dead files” on the top of the list.
So this is good news for me in the future when one of my updates doesn’t hold up to what I hope. I wasn’t able to revert back to beta5 because the ebuild calls for a language file (mozilla-firefox-3.0b5-sq.xpi) in in gentoo experimental that is no longer there. Oh well. I have installed Epiphany once again, and though it relies on the same xulrunner backend, it uses considerable less resources and functions beautifully on my laptop. I’ll miss my NASA Night Laugh skin and the Awesome Bar, but mostly I’m pretty happy with Epiphany.
Enjoy your blogging!

September 08, 2008 10:49 PM :: WI, USA 
I have been very skeptical about adding options for other codecs in undvd, purely because of the test burden. With a single combination of container and pair of audio/video codecs I can be reasonably confident that I’ve done enough manual testing (and judging video quality doesn’t trivially lend itself to automated testing, sadly) to account for most potential problems.
But at the end of the day it’s a question of priorities, and having scratched all the important technical itches by now, if anything this is the right time for it. I got some user feedback recently that set me onto this path. The user was having trouble playing the files encoded in the classical avi+h264+mp3 format on other platforms, and that’s when I asked myself how important is it really to have a single format? As long as the default still works well, what’s the harm in offering a little customization?
Testing is a huge problem, which is why this new feature is considered to be experimental. The most common seems to be bad a/v sync. There is just no way to account for all the possible combinations of codecs and containers, and to maintain an up-to-date document for this as things evolve. So the burden of testing is squarely on the user here (which is quite unfortunate).
The new functionality is available in undvd 0.5 and up. Here’s a shot of the new goodness. All these files were encoded from the same dvd title. A 22 minute title was ripped with different containers (represented with different filenames). The audio codec is mostly the same in all cases (mad = mp3), except for 1.mp4 (faad = aac). The video codec is also mostly the same (h264 = avc1), except for 1.flv. The only variation here is the container being set to different values, all the other settings are defaults. You can also witness that some containers are more wasteful than others (given the same a/v streams), but not by a huge amount. (The audio bitrates shown are actually misleading, mplayer seems to give the lowest bitrate in a vbr setting.)

This demo is by no means exhaustive of the full collection of codecs that can be used, for that see the user guide. There is also an option to use the copy codec, which just copies the audio/video stream as is.
September 08, 2008 09:52 PM :: Utrecht, Netherlands 
September 08, 2008 05:19 PM :: Connecticut, USA 
No, this is not a mistake: Microsoft offers a small tool for changing the product key of windows xp or vista. Ok, they call it ‘updating the product key’, but that’s just a different word for it. In general, I like the idea.
The impact:
More and more computers come preinstalled, having a recovery cd which is more or less just a disc image or an automated installer. But sometimes CDs break and/or you’re forced to use another installation medium.
As I’m trying to keep things legal, I need to activate windows for getting all the required updates. So I need to insert the right key. A small recherche took me to the following Link
This is the Microsoft Product Key-Updater which even activates your windows using the newly inserted key. Full service to get things right.
September 08, 2008 11:59 AM :: Vorarlberg, Austria 
September 07, 2008 04:31 AM :: Utah, USA 
September 06, 2008 09:32 PM :: Utah, USA 
I bought an old DOS game, the Realms Of Arkania Trilogy, off of eBay recently, only to discover when I gleefully shredded the packaging that CD #2 had a bad scratch, and couldn’t be installed or copied due to read errors. When I verbally abused contacted the seller, he offered me the option of a price reduction or a return. I didn’t want to bother with a return, and at least one game in the trilogy was playable, so I went for a refund.
Now at the back of my mind, I was musing on several options. I could download an ISO of the second disc from Bittorrent, burn it to a CD-R, and forget the whole thing. Hrm. Well, ethically I see no problem with that, since I bought the game. Or, I could sent it to a professional refinishing company. These are reasonably priced, but more of a last ditch effort. Thirdly, I could try using one of the home remedies that abound. You know, everything from toothpaste to covering the disc with syrup and microwaving it. Most of these sounded like a crock, with wildly varying success rates, but one method seemed to stand out as being pretty consistently helpful, and with a handful of tests that showed pretty good results.
Using random info from the Internet like this has a vague stench of idiocy, of course, but the premise behind the trick sounded logical enough, and there were enough agreeing accounts to lend some credence to the process. Also, the trick seemed to have been around for a while, and not something some kid dreamed up to fix his trashed XBox discs. I didn’t really expect it to work, but I figured I could always send it to a refinisher if I goofed.
Anyway, Brasso is a polishing compound for a metal that I’ll leave you to guess at. Readily available at your local WalMart or Ace Hardware, and selling for the laughably low price of $19.99, er, sorry $3.
Following the instructions from this YouTube video, I set to work. After one application, the problem still persisted. I tried a second time, though, and concentrated specifically on the big problem scratch.
Cleaned the disc, stuck it in, and voyla!, it worked. I was quite surprised. Obviously not as neat a job as a pro, but I just want a usable disc, not a perfect disc.

September 06, 2008 06:59 PM :: Georgia, USA 
Via the Clojure wiki I found a great page describing how you can use GNU screen and some Vim magic to let Vim play nicely with an interactive commandline program like a Common Lisp REPL, Ruby's irb, or Python's, well, python.
That page is a very stripped-down and simpler version of what Limp does for Vim+Lisp. But Jonathan Palardy's version has the benefit of being so simple that you can set it up yourself manually in a second or two. I still have never gotten Limp to work quite right and I don't have the time to debug a big mess of Vim script.
The idea is to start up a named screen session via e.g. screen -S foo -t bar, then start an irb session (or whatever) in there, and then in Vim you can simply yank some text into a named register and send it off to screen via a system call. Download Jonathan's code and see.
It's not a full-blown SLIME; it doesn't have tab-completion or weird interactive debugging windows or such bullcrap. It doesn't capture the output of your command and feed it back into your Vim buffer. But hey, it's pretty good for something you can throw together in 2 minutes, and it works.
So there goes my last reason to ever use Emacs. Good riddance, I must say.
Honestly, Emacs just frustrates the living hell out of me. Oh how I tried to like it. I really did. I've used it on and off constantly over the past year. I have Emacs shortcuts written all over the whiteboard in my office. But its braindead window management, its terrible broken undo/redo system, its finger-crippling key-chord combos, its lack of features I need (like line numbering), its reliance on broken 3rd-party elisp hack scripts for things Vim has built in (like line numbering!), its ugly fonts and GUI elements, and so on and so forth. Vim is such a joy in comparison.
September 06, 2008 08:36 AM :: Pennsylvania, USA 
After my last post I attempted to go through my vimrc and move as much as I felt I really could (for now) to my gvimrc. I supposed it does make sense to have it both ways (see my previous post). I mean it would obviously be easier to only have to transfer one file to every computer you work on instead of two. But then on the other hand it does make a lot of sense to divide up your rc file; one for each program.
Given that I realized I had not updated my vimrc, or my gvimrc, in for ever. I didn’t even know my gvimrc link was dead. Thanks for heads up</sarcasm>. Anyway, my vim page is up to date now so you gleefully enjoy all the vim goodness that resides there.
As note, before you click all the wonderful links, I post all of my rc files and such through Google Docs. While this isn’t the ideal solution its free. So thats why I’m the only guy on the internet who tells you what kind of line endings his files have. There are free tools on the internet to convert them if you need too.
Enjoy the Penguins!

September 05, 2008 08:09 PM :: West Virginia, USA 
Of course by now Chrome, Google’s latest we-did-it-just-because tangent, has been splashed over the net’s headlines like so much eggshell white paint. Nice to look at for a while, but you get tired of the sameness of it. Is it really quite as world class as the press thinks? After convincing Google’s download site to let me download it even though I was running Win2k and not the arbitrarily-blessed XP or Vista, I started to give this doohickey a whirl. And then I realized that the new kid on the block whose features everybody’s spasticating over borrowed most of those features from Opera.
Now, I’ve used Epiphany for years, I’m not an Opera user, but a good chunk of Chrome’s advertised features have been in Puccini’s favorite browser for a while. Speed Dial thingy? Opera. Address/Search bar mechanics? Opera. History Content Search? Opera. Minimalist look with tabs above the address bar? Opera. Not to bash Chrome too much, but credit where credit’s due, a lot of this stuff ain’t new, people. So stop acting like Chrome is the greatest thing since sliced mushrooms.
The major features we’re left with are (1) Tab sandboxing, (2) New JS engine, and (3) Web app enhancement
Alright, so tab sandboxing is kinda nice, but not enough to make me want to switch browsers at the drop of a hat.
The JS engine, by all accounts so far, is indeed blazingly fast, beating Opera, Webkit/Safari, and Firefox by large margins in pure JS operations. Apparently Opera can meet or exceed Chrome’s performance in DOM operations, however. But about the most intensive (and only) JS application I use is GMail, and here the other contenders are plenty fast enough for me.
“Web app enhancement” so far as I can tell, means you can create a desktop shortcut to open the page in a dedicated window. Okay. I’m not detecting any tectonic anomalies here. Supposedly you will be able to use certain webapps offline, but doesn’t that kinda defeat the whole purpose of a webapp?
Now, the pluses. The UI, as you know by now, is pleasantly streamlined. They carry this a bit too far in the options menu though. It is fast however, and, it gets good marks for being unobtrusive, the GUI app’s prime requisite.
I don’t totally dislike it, but realistically what we have here is an open-source Opera clone with some tweaks to make it tie in with Google’s products. No more, no less. Depending on whether the Linux port turns out well, and whether any WebKit changes get pushed back upstream, I might actually use it more. But it’s not going to change browsing as we know it.
EDIT: Today (9/5/2008) there’s a post on the Chrome Blog stating that work is being done to send WebKit improvements back upstream. Good, Google. Step 1 complete. Now for the Linux port.

September 05, 2008 03:21 AM :: Georgia, USA 
September 04, 2008 07:47 PM :: Connecticut, USA 
top which shows you a list of the running processes and how much CPU they are using. It's a simple way to find out which of your programs should be killed to give your processor time to breathe (though I do prefer htop [homepage] which just looks nicer).
September 04, 2008 11:13 AM :: Germany 
September 04, 2008 09:06 AM :: Germany 
September 04, 2008 02:46 AM :: Utah, USA 
Paludis 0.30.0 is out!
Well, make that multiple thoughts actually. Despite this post following a Q&A format, there aren’t really many answers following.
Q1.) What kind of security risks can you potentially have because of your vimrc?
Q2.) What goes in your gvimrc as opposed to your vimrc and does it matter?
A1.) Now. I do not claim to any sort of expertise what so ever in security of any kind. To perfectly honest with you 99% of the time its the least of my concern. As long as my wireless router is encrypted and other trivial (yet potentially life (finacanlly speaking) saving measures) matters are dealt with I forget security is ever even an issue and continue life as usal. Which is probably very similar to how your average Joe runs his computer world too. “I have my Windows Updates, I’m secure enough.”
What brings this is on is a series of scripts I found today for Vim. One of which asks you to put your logon names and passwords to servers in your vimrc. The point of which is so that vim can login to your database, and then download the list of tables which is then used for autocomplete. It actually works really well, but after I implemented it, it occured to me vunerable I felt. I never reallly considered my vimrc secure, much less the rest of my harddrive. Even I know one of the first rules of computer security is you shouldn’t really be writing down your user name and passwords. So keeping a huge list of database usernames and passwords in my vimrc doesn’t sound safe. What do you think?
A2.) I’ve never really seen and documentation regarding what excatly goes in what. A lot of times you can stick everything in both or either and achevie the same effect. On rare occassions I have found myself stumped though. Pouring over documentation and checking my code again and again and again only to find out that it needed to go in the other. Hence my current two line gvimrc. So while I was working on my gvimrc for my Mac tonight I had to go to the net to remind myself how to set the window size when I stumbled upon a sample gvimrc that had all kinds of stuff in it. Things like no toolbars, no scrollbars, gui font. Stuff that everyone I know puts in their vimrc. So the question begs really, why have both if you only need one? And if you need both, why does a majority of stuff work in both instead of one or the other? Something doesn’t feel right to me there.
Enjoy the Penguins!

September 04, 2008 02:35 AM :: West Virginia, USA 
Paludis 0.30.0 has been released:
<command> --version if in doubt.)
Recently, I updated my system and some other applications on my laptop and I found that some program on my system began gobbling up huge amounts of disk-activity. I looked at Gnome’s system-monitor and found that extremely unhelpful. Yeah, I could discovered what was taking the CPU and Nice readings but neither of these told me what was causing all the spin up activity of the hard-disk. This may not be a big deal for modern disks but for old computers it brought it to a halt and kept it that way minute(s) at a time. An easy way to monitor programs use of disk-activity is to use block dump.
First set block dump active in /proc:
sudo sh -c "echo 1 > /proc/sys/vm/block_dump"
Looking at the syslog now will tell where resources are going:
tail -f /var/log/syslog
Looking at this I discovered that Firefox-3.01 was taking all the disk resources:
Sep 3 12:18:23 partridge-ibook kernel: kjournald(2443): WRITE block 7152 on hda11 Sep 3 12:18:23 partridge-ibook kernel: kjournald(2443): WRITE block 7160 on hda11 Sep 3 12:18:25 partridge-ibook kernel: firefox(3655): READ block 2234472 on hda9 Sep 3 12:18:29 partridge-ibook kernel: firefox(3655): READ block 649144 on hda9
For some unknown reason Firefox-3.01 was reading and writing to the disk far more than Firefox-3.0-beta5 was. What an incredible disappointment. Firefox-3.01 literally made my laptop come to a complete halt. This is incredibly disappointing because the beta version performed alot better with very little I/O activity.
I looked this up a bit but never really found the answer. Firefox uses fsync to save data (history, bookmarks) during a session, sometimes excessively. Because of inherent problems with fsyncing and the ext3 filesystem not much can be done with it. Fsyncing can be disabled by entering a Preference Name “toolkit.storage.synchronous” in “about:config” and inputting a value of 0, but this didn’t fix the problem. It turns out that Firefox-3.01 just uses alot more memory and re-allocates memory a good deal more often, so swap is being used and paged about every 2 minutes and can take minutes to finish. Unfortunately, a Firefox-3.0-beta5 ebuild is no longer in portage.
Turning block dumping off is the opposite of turning it on:
sudo sh -c "echo 0 > /proc/sys/vm/block_dump"
Looks like back to Epiphany for me, or heck, who knows, maybe Google Chrome will be stable soon!
Thanks to vor for the tip.
Enjoy the Day!

September 03, 2008 05:54 PM :: WI, USA 
just a small tip (again). this one came out of a hellug forum thread. its only use is to find out my current internet ip (especially when i host a diablo2 multiplayer game :P) in a graphical way.
#!/bin/bash IP=$(curl -s http://checkip.dyndns.org/ | sed 's/[^[:digit:]\.]//g') zenity --info --text="IP: $IP" &
it also demonstrates how beautiful zenity is :)

with not so much dependencies:
qdepends zenity gnome-extra/zenity-2.22.1: >=x11-libs/gtk+-2.10 >=dev-libs/glib-2.8 >=gnome-base/libglade-2 >=gnome-base/libgnomecanvas-2 >=dev-lang/perl-5 app-text/scrollkeeper >=dev-util/intltool-0.35 >=sys-devel/gettext-0.14 >=dev-util/pkgconfig-0.9 >=app-text/gnome-doc-utils-0.10.1 >=gnome-base/gnome-common-2.12.0 >=sys-apps/sed-4
September 03, 2008 05:47 PM :: Athens, Greece
Yesterday, while I was working on a Linux server, setting some services up properly, someone came in. It was kinda lunchtime and I had started a few longer running processes so we started talking about this and that. September 03, 2008 11:54 AM :: Germany 
Because I’m not as hardcore open source as Stallman that I only use hardware and software that is open source I have an Apple laptop and I use OS X on it. I, to be frank, I have no qualms with my Mac. It is light weight, feels like it is of good build quality, and to be honest OS X does what I want it to do. Nothing more, nothing less really. Hell, the kernel is open source (some of it anyway), and there is plenty of open source software for it that I like better than they’re Linux alternatives in many cases. Something I never really thought I’d say, but oh well…
Chat Client
Adium - Its like Gaim, in fact it uses Gaim’s back end, the only thing is though, its better than Gaim in my opinion. Its prettier, runs quicker than Gaim does on my Linux box, and that pretty much sums it up.
IRC
Colloquy - I can’t pronounce it, but I like it. Its pretty (notice a trend?). And it functions exactly the way I want it too. Mac software, for all the reasons you might hate it, much akin to its closed source cousin Windows, all tends to follow the same usage and ui patterns. Something I’ve been wishing Linux would do since I started using it.
Text Editor
MacVim - Its like Vim, only native Mac. Can’t go wrong there. I keep running into things that won’t work out my vimrc (which I need to update badly, sorry) but other than that, you can’t really go wrong here. And as far as I can tell the guy doing the brunt of the work here is super nice and willing to at least discuss your suggestions if not attempt to implement them.
Office
OpenOffice.org - For now anyway. There are more open source alternatives that use the truly open source parts of OO.org and rewrite the rest from scratch, under an open source license of course, but I haven’t tried any of them yet and can’t, in good faith, recommend them to someone else. If you not a die hard though, MS Office is the still the best thing going for your term paper. Sorry, but its true.
Thunderbird - Yeah, Apple parades their mail program around like its the greatest thing since sliced bread, and it is okay, but its okay at best.
Web Browser
Firefox - No surprise. I’ve tried a lot of browsers in my day. From the CLI only to the latest and greatest. You name it, odds are I’ve tried it. That includes the new Chrome browser from Google. Despite it all though Firefox still reigns king my book, regardless of platform.
That pretty much sums it up. I don’t think I really use any other software on my Mac on regular basis. Sometimes I fire up Xcode (close source) but even it relies on GCC (open source). So if you count that than so be it. Other than that, enjoy the whatever Mac’s little mascots are.
Enjoy the Penguins!

September 03, 2008 02:43 AM :: West Virginia, USA 
September 02, 2008 08:49 PM :: Missouri, USA 
Windows always got a bag of fun stuff to keep us busy with. But sometimes the fun is over and you need to reinstall it from scratch. As my Laptop was running with the original install since quite some time now, I guess it’s time to clean up.
So let’s get to work by inserting the windows cd which boots fine until the disc selection shows up. No discs detected. Huh? What the hell happened? - The laptop got SATA discs and those were invented way after the initial release date of Windows XP.
But a peek into the bios eases the situation: there is a compatibility mode for the hdd controller which makes it possible to access the hdd with the default ide drivers.
Now the setup runs fine and everything is installed. But we are not ready yet as we still need to getBi rid of the compatibility mode for the hdd for a nice speed gain. Reboot, Changing the bios settings and…? Right, a bluescreen. Windows dislikes it if it’s loosing its hdd which forces us to use plan B:
The drivers for our SATA Controller is in the Intel Matrix Storage Manager, available from the intel website. Unpacking it is quite easy: setip -a -P”c:\intelstuff”. But that’s not all we’ve got to do. The package got a drivers folder that contains a file named iaahci.inf which we’ll be using as the driver descriptor for feeding it the device manager. From there we update the IDE controller’s driver. Using ‘Have Disk’ and pointing the assistant to the iaahci.inf file will present us a list of ‘possible’ drivers.
Don’t be scared of windows complaining about that the driver isn’t made for the device - remember: we’re still using the compat mode - so windows doesn’t know better. If you pick the right driver, windows will boot fine after the requested restart. If you have chosen the wrong one, you’ll be presented a fine bluescreen.
September 02, 2008 12:54 PM :: Vorarlberg, Austria 
I've been using this theme forever and I'm thinking of changing it, so I wanted to grab some screenshots before I did. I have bandwidth to kill anyways, so enjoy my 3.5 MB PNGs.
My KDE color scheme is here, my QTCurve config is here, my Konsole theme is here, my Vim colors are here, the icons are Buuf, and I uploaded those wallpapers.
I really need to re-upload all the screenshots I took over the past 5 years. That was always one of the more popular sections of the site, for whatever reason.
September 01, 2008 09:00 PM :: Pennsylvania, USA 
So I did that thing I mentioned in my last post, with the aggregation. The front page now combines RSS feeds from my blog, gallery, and wiki, and my page on Delicious in addition. More to come, likely.
Also, hooray for others making an edit or two to the wiki. Friend codes (thanks, Nintendo, for the most annoying online experience, by the way), but more interestingly, Dan has touched the CthulhuTech section a little bit, which I’ve been negligent in updating. But thanks for that, and stuff. There are CthulhuTech things I’ve been meaning to put up that I have yet to.
Also, the front page has reminded me of how much MoinMoin’s RSS feed sucks. I wonder if I can replace that…
September 01, 2008 05:19 PM :: Wisconsin, USA 
September 01, 2008 03:15 PM :: Germany 
Well, support for multiple instances in dhcpcd is coming along nicely, but I've had to pretty much re-write the entire state handling code. The existing code was wait for data or timeout. Then drop into case statements depending on if we timed out and what our current state is.
The new code is now based around an event loop, where we register functions to call when we get data or a time has passed. We pass all functions an interface structure, which now holds the state and options (previously the state held the interface and options). This handling lease expiry times a lot easier - we simply set 3 timeout per interface (renew, rebind, expire) and let the event loop do its job.
This new structure should also make it easier to add DHCPv6 support - it should just be a matter of registering new functions to listen on IPv6 connected sockets and then selecting a DHCPv6 server over a DHCPv4 one. As this new code is quite a big change and I think I'm making life easier for DHCPv6 later on we'll probably skip 4.1 and move straight onto 5.0, adding DHCPv6 support in 5.1.
Hopefully I'll commit this to git over the next few days - I just need to ensure that cable link events correctly move to the right state. The only thing that will be known to be broken in the first commit to git will probably be rebinding the interface on the command line as I'll probably need to move to using a control socket. We'll need one for dynamically adding and removing interfaces anyway.
I have decided to finally make a serious go at trying to learn the Finnish language properly. The eventual aim is to be able to read (sing?) the poem Kalevala in its original Finnish.
Finnish has three more letters than the English alphabet: ä and ö are used in Finnish words, while å is hardly ever used, i.e. in Swedish loan words or names, such the Åland island in the Finnish Archipelago Sea which is perhaps not the best example as it is called Ahvenanmaa by Finnish speakers.
My laptop has an English keyboard, so I need a way of typing these extra letters in. Going through the graphical menu 'Accessories' and then to 'Character Map' is a bit of a chore and slows town typing and the spontaneity of it.
So there are keybindings to type in foreign (unicode) letters. They are outlined in an Ubuntu wiki page called GtkComposeTable. That page explains two approaches. The first way is to type the unicode values.
To do this you type Ctrl+Shift+U then while keeping hold of the Ctrl+Shift, type the following code for each letter:
| ä | e4 |
| ö | f6 |
| å | e5 |
| Ä | c4 |
| Ö | d6 |
| Å | c5 |
Typing in random codes is as unintuitive and distracting as using the character map. So there is a second approach. This I have not yet got my head around.
So there is a key called diaeresis (¨), which on the British keyboard is got by using Alt Gr and the left square bracket, so: AltGr+[
Now there is a key called 'compose', which by default is the right control key (RightCtrl). So we should be able to get an 'ä' using some combination of the following keys:
RightCtrl a AltGr+[
By bashing these keys randomly, I managed to occasionally get an ä, the same with ö also. However, I don't really get it.
Something I might explore is whether I can bind some easier and more rational key combination to ä and ö. E.g. AltGr-a and AltGr-o,
This is far as I have got so far. If anyone has any tips or has a better idea, please let me know.
Discuss this post - Leave a commentAugust 31, 2008 11:48 PM :: West Midlands, England 




August 31, 2008 09:16 PM :: Connecticut, USA 