Planet Larry

September 19, 2008

Daniel Robbins

New Git Funtoo Tutorial

For those of you interested to learn more about the Funtoo Portage tree, I have written a nice tutorial which you can view at http://github.com/funtoo/portage/wikis/home.

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! :)

September 19, 2008 07:25 PM

Bryan Østergaard

Software Freedom Day + Planet Larry

Tomorrow is Software Freedom Day - a yearly event where people all over the world get together to celebrate free software, enjoy talks related to free software and just as importantly get to meet lots of people.

If you happen to be in Copenhagen tomorrow you can meet myself and several other people from SSLUG at Copenhagen Business school. SSLUG's SFD program includes talks on Free Software, Linux, Open Office and GIMP. Everybody else can look up their local Software Freedom Day events - there's more than 500 teams registered all over the world so there's probably going to be an event nearby.

And regarding Planet Larry.. Steve Dibb just announced that he's setting up a feed for retired Gentoo developers which is very good news in my opinion. Lots of retired developers blog and they often have interesting comments on things related to Gentoo or tips that other people can benefit from. And this way people can know whether the blog posts they're reading comes from a normal user or a retired developer. I would probably have prefered marking retired developers another way instead of having multiple feeds but I can see why some people wants to know who's who and I'd much rather have a seperate feed than nothing at all. Oops, I was a bit too quick - Exdevs are now going in the main feed instead and will be marked using colour or some other way instead of a seperate feed.

And since I've been having this discussion with Steve on and off for quite some time: Thank you Steve :)

September 19, 2008 07:06 PM

Steve Dibb

planetlarry.org

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  

Daniel Robbins

Funtoo on GitHub

I now have the official Gentoo Portage tree as well as my slightly tweaked Funtoo Portage tree hosted at GitHub. The "portage" repository is the Funtoo one, whereas the "portage-gentoo.org" tree is the canonical Gentoo tree.

To use the Gentoo version of the tree, do:

# git clone git://github.com/funtoo/portage-gentoo.org.git

This will create a directory called portage-gentoo.org. To use this directory as your portage tree, edit /etc/make.conf and set PORTDIR to the path to this directory. This isn't an overlay, it is a full tree (which I prefer.)

To use the Funtoo version of the tree, do:

# git clone git://github.com/funtoo/portage.git

Edit make.conf and set PORTDIR to point to the new portage directory that was created. Also, for Funtoo, you should also set the unstable keyword by setting ACCEPT_KEYWORDS to "~x86" or "~amd64".

The Gentoo tree is updated every few days as is the Funtoo tree. This is mainly a service for developers who want to use git for development, or who want to merge in ebuilds and send me changesets for integrating into the Funtoo tree.

Enjoy!

September 19, 2008 03:53 PM

September 18, 2008

Nirbheek Chauhan

An important announcement

We interrupt your regular lazy-webbing to make this two important announcements:

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:

  1. Foresight Linux
  2. Gentoo
    • The GNOME Team
    • Brent Baude (ranger): master-of-the-PPC-arch
    • Donnie Berkholz (dberkholz): X11, Council, and Desktop Team Emperor
    • Raúl Porcel (armin76): generic bitch; maintains half the arches and Firefox
    • Robin H. Johnson (robbat2): Infra demi-god
    • Zac Medico (zmedico): Portage demi-god
All these people are just too awesome (and too overworked) for words. If I hadn't got myself deep into Gentoo (which led to SoC too), I would've gone to Foresight :)


~Nirbheek,
Who has high hopes for AutotuA, and also hopes the best of Foresight and conary can be brought to Gentoo.

PS: Donnie, congrats once again! ;)

September 18, 2008 04:08 PM :: Uttar Pradesh, India  

Martin Matusiak

general purpose video conversion has arrived!

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? :cap:

Demo time

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. :)

I’m sold, where can I buy it?

September 18, 2008 10:11 AM :: Utrecht, Netherlands  

Christoph Bauer

Living without aRtsd isn’t bad at all

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.


Copyright © 2007
Please note that this feed is for private use only. All other usage, including the distribution or reproduction of multiple copies, performance or otherwise use in a public way of the images or text require the authorization of the author.
(digitalfingerprint: 0f46ca51d0fa4e6588e24f0bf2b80fed)

September 18, 2008 07:31 AM :: Vorarlberg, Austria  

September 17, 2008

Patrick Lauer

Local File-to-ebuild Database

Hai everyone,
I've been a bit quiet the last few $timeunits. Life is good.

Here is a little toy I've been working on since yesterday. It is still very embryonic, but what it does is simple: Map files to packages and packages to files, using a local sqlite DB I generated out of binary packages. The index is not complete, it has been generated with ~5500 packages. I will try to update it when I have more packages built.

If you have any great queries just throw them at me and I'll try to update the query script. Also I intend to totally rewrite the database structure because I've already noticed a few issues with the current design. But for now have fun with it!

September 17, 2008 10:07 PM

Brian Carper

Copy/paste in Linux: Eureka

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:

  1. Open Firefox and a text editor. I'm trying with Vim.
  2. Highlight some text in Firefox.
  3. Middle-click paste it into the editor. The highlighted text is pasted, as expected.
  4. Close Firefox.
  5. Middle-click into the editor again.

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  

September 16, 2008

Jürgen Geuter

Last century's technology fail@Adobe

So Adobe has released a Beta of their AIR platform for linux which is nice if they had not once again failed to include support for modern machines.

From the release notes:

System Requirements
Hardware
* Processor - Modern x86 processor (800MHz or faster, 32-bit)


Guess what Adobe, my Core2Duo here is kinda modern but since I prefer to run a 64bit operating system on my 64bit machine, your fancy "new" and "modern" software won't run. Same crap as we have with Flash which does not run properly on 64bit.

Just tell me Adobe, why the hell do you hate 64bit so much?

September 16, 2008 06:08 PM :: Germany  

Tagcloud fail@Stack Overflow

So Stack Overflow, the new site of Joel Spolsky and Jeff Atwood, launched public beta. It's supposed to be a place to ask technical questions and get answers from the other people around there (I checked it out for 5 Minutes and it was very Windows-centric so kinda boring to me).

Now both of the designers are big names when it comes to developing software, both are often quoted when it comes to best practices and whatnot, so how does this happen?



How can they not be able to implement a simple tagcloud?

I'm writing about tags and tagclouds as we speak and the first thing that comes to my mind is that the tags are not ordered alphabetically, which does make the whole tagcloud worthless. Tags are for finding things easier, if I cannot look for a certain tag quickly you can just drop the whole tagging thing. Yeah I could find the few big tags easily but the rest completely drowns in the data mud.

If you implement a tag cloud, do it right: Tags have to be ordered alphabetically which more important tags printed bigger. There's the half-assed concept of ordering tags by importance (the biggest on first) but that one doesn't do a lot right either.

How serious can you take those guys if they can't get those simple things right?

September 16, 2008 09:45 AM :: Germany  

September 15, 2008

Thomas Capricelli

About mercurial and permissions

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

September 15, 2008 10:20 PM

Michael Klier

Long Time No Blog ...

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.


Read or add comments to this article

September 15, 2008 09:09 PM :: Germany  

Roy Marples

Experimental dhcpcd-4.99.1 available

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 Laughing out loud

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 15, 2008 07:36 PM

September 14, 2008

Jason Jones

Quicktip: Kdenlive Text

I'm probably going to re-write this later, but I just wanted to jot down quickly how to do text with Kdenlive.

It's really quite easy to set it up.  You just click on "Project->Create Text Clip", and proceed to create your clip.

My problem was this:  What if I don't want the text on its own page, but rather have it show on top of the video? How do I create a text clip and blend it with the video?

It took me a bit, but that's really easy, too.  You just add a transition and select "Push".  This will give you all sorts of options on blending two videos together, and since Kdenlive makes the text clip its own video (with the option of having a tranparent background), this is both very easy, and quite customizable.

Simply add the text clip on the extra video track, add the transition, and play with the settings.  There ya have it.

Hopefully I'll add some screenshots here soon to make this how-to a bit easier to read.

I've gotta get to sleep.

September 14, 2008 11:15 PM :: Utah, USA  

September 13, 2008

Thomas Capricelli

konqueror web shortcut for gentoo packages

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?

September 13, 2008 01:22 AM

Lars Strojny

Recovering a software RAID

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 13, 2008 01:17 AM

September 12, 2008

Jürgen Geuter

Explaining words: Copyright, trademarks and patents

In many discussions, especially in a free software context the words copyright, patent and trademark are often used either synonymously or at least as if the were similar things. That's wrong so here's a short text to clear up what word stands for what concept. (I am not a lawyer so you'll have to take my words with a grain of salt but still, I am right of course ;-)).

Copyright



Copyright is the legal concept that gives the author, the creator of something the right to determine what people can do with his work. In commercial contexts you often see "all rights reserved" (meaning that author does not give you any rights to adapt, change or do whatever with the content). Nowadays there are things like the GPL or creative commons licenses that are often used by authors to give extra rights to their users. In some countries there's also the concept of "public domain" which means that no single person can claim any special rights on the content: It belongs to everybody equally so to speak.

The important thing is to realize that the GPL or whatever free license is not in opposition to copyright, but is actually based on the legal concept: You as an author can only make the GPL the license for your content because you have the copyright giving you exactly that right. When people claim "copyright infringement" it means that someone violated the rights that they chose for their content, breaking the GPL is copyright infringement, too.

Trademark



A trademark is pretty much just a unique identifier for a source of stuff. When you or your company gets a trademark registered it means that you are the only entity allowed to brand the objects it creates with that identifier (Only one company can brand their stuff with Coca Cola for example). Having a trademark does give the holder somewhat of the monopoly on the trademarked phrase (at least in certain contexts): Some advertising slogans have been trademarked for example so you can of course use them while speaking and talking but not to advertise for your product or service.

You might have heard about the drama that led to the fact that debian does not ship "Firefox" but "Iceweasel": Debian wanted to patch their Firefox distribution but Mozilla claimed that you may only call your product Firefox if it's exactly the product they release and though Firefox's code is free software it does make legal sense: They have a trademark on a set of certain binaries they release, those can be called Firefox. If you change the source and create other binaries you are providing something different, something that is from a different source. Now people said that Mozilla should just have led it slide cause Debian is nice and free software and all, the problem is: If you have a trademark, you have to enforce it or you lose it. If they had led Debian modify things and still call it Firefox it would have meant that someone who would build his own Firefox full of adware and spyware could legally call his product Firefox, too, with the same justification.

So, trademarks do not have anything to do with free software or unfree content, it's just the identifier of a source.

Patent



A patent is a monopoly. Well for a certain time. The state grants the inventor the monopoly for some technology that guy invented in exchange for the inventor documenting how it works.

Patents come from a time when people were making inventions but not telling how they worked: They relied on the fact that most people would just not be capable to reverse engineer their stuff. The problem was: Nobody could understand things and build on top of them. Nobody could find flaws in the design, problems or even find out if something was legal. When the inventor died you had the danger that the knowledge could die with him which would leave all of mankind with less knowledge. Patents were a way to pay people for adding to the common pool of knowledge of mankind.

You can obviously only patent things that you have the copyright to (we just pretend that the patent system works here for the sake of the argument) but that is pretty much all that relates those two concepts.

All three things are legal terms but cover completely different areas and problems so make sure to use the right term when you talk about some problem, mixing things up makes talking about the issues, that are already almost too complex for the sane mind to comprehend, even harder.

September 12, 2008 03:50 PM :: Germany  

Christopher Smith

Xorg 7.4 Review

Xorg 7.4 was released recently although the biggest features touted for this version, namely DRI2 and randr 1.3 were dropped from this release. Despite this there have been significant improvements. This is the first release for me that actually displays acceptable performance using the EXA acceleration extension with the Intel driver. This means I can use XV to for accelerated video rendering with Compiz. Before this was only possible using a patch for mplayer and a special plugin for Compiz. This was not a great solution though because no other players worked with this plugin, which meant no Totem, Xine, or even Gnome-Mplayer which also did not work correctly. I've also noticed that Blender works much better now with Compiz. It no longer flickers uncontrollably.

So for the only regressions I have experienced is a slower recovery from suspend and some minor artifacting on my Gnome Panel applets. The artifacts seem to go away when mousing over. Despite these minor regressions I think it is a good upgrade for anyone using the Intel driver. If you're anything like me you've been waiting a long time for a proper Intel EXA implementation to accelerate video while using Compiz or another compositing window manager.

Meanwhile Intel has announced that they want a release of xorg server 1.6 before the year is out. This release should include DRI2 using GEM and randr 1.3. Knowing the history of Xorg release schedules I have my doubts about getting 1.6 out that quickly but the latest Xorg has pacified me for now.

September 12, 2008 01:26 PM :: Connecticut, USA  

September 11, 2008

Iain Buchanan

You know you're using the computer too much when

Last Sunday morning, I was actually trying to sleep in longer by dreaming something like --extend-sleep=1h. I am not joking *sigh*.

It didn't work - but for a good reason - my family was waking me up with a breakfast in bed for Fathers day :)

September 11, 2008 01:54 AM :: Australia  

September 10, 2008

Martin Matusiak

how to pick a codec

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:

  1. Rip 5 seconds of the dvd using undvd with a given container/video codec/audio codec combination.
  2. Attempt playback with mplayer.

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 :D ). 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  

Christopher Smith

Evolution-RSS SVN Ebuild

Ok so I haven't been able to get it to build yet but I am working on an evolution-rss svn ebuild. My main impetus for this ebuild has been the fact that I filed a bug a week or two ago about the appearance of feeds when using a dark theme and it is now apparently resolved in svn. This and the lack of a dbus connection are my two biggest gripes with evolution-rss. The theme bug is the classic "light text on white background" issue that seems to plague dark themes. I'm looking forward to GNOME 2.24 because they have been working on dark theme integration. Hopefully this will create a much more usable dark theme environment. Maybe I'll be lucky and a new version of evolution-rss will be released for the new evolution and I won't have to fiddle with this ebuild any more. If I do get it to work before a new version is released I will be sure to share it here.

September 10, 2008 10:47 PM :: Connecticut, USA  

Nikos Roussos

flash: thanks, but no thanks

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

Roy Marples

Metrics

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.

September 10, 2008 01:34 PM

Christoph Bauer

Login with the USB stick

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.


Copyright © 2007
Please note that this feed is for private use only. All other usage, including the distribution or reproduction of multiple copies, performance or otherwise use in a public way of the images or text require the authorization of the author.
(digitalfingerprint: 0f46ca51d0fa4e6588e24f0bf2b80fed)

September 10, 2008 12:58 PM :: Vorarlberg, Austria  

Jürgen Geuter

Calvin and Hobbes, once a day

I love Calvin and Hobbes comics so I was really happy to find a site that gives me one Calvin and Hobbes strip each day. Head over to http://www.gocomics.com/calvinandhobbes and subscribe to the RSS feed.

September 10, 2008 09:52 AM :: Germany  

Brian Carper

Westinghouse: Finally getting somewhere?

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  

September 09, 2008

Brian Carper

Perl6 features borrowed from Lisp

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  

Nicolas Trangez

Scripting your app

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 09:12 PM

Jürgen Geuter

Cory Doctorow's "Content"

Content is a collection of "essays on technology, creativity, copyright and the future of the future". Basically it's Cory Doctorow writing about DRM, intellectual property and topics like that. Each essay is short enough to be read in your lunchbreak but (admittedly I love his style so I'm not objective) still worth every second. Insightful, smart, a must-read. The best thing: You can get the full thing from his website free and CC licensed. No excuse not to read it left :-)

September 09, 2008 07:48 PM :: Germany  

Jason Jones

Evolution / Exchange Howto

I just spent the last 5 hours trying to get Evolution to connect to our corporate Exchange server.  I finally figured it out, and I can now interoperate 100% with calendars, contacts, meetings, and email from our Exchange server.

Due to the wide array of configuration options in Exchange, doing a step-by-step how-to would be, for the most part, fruitless.  So here are some pointers.

MAKE SURE YOUR EXCHANGE ACCOUNT HAS WEB ACCESS ENABLED!  IF IT ISN'T ENABLED, YOU WON'T BE ABLE TO AUTHENTICATE AT ALL - PERIOD.

After I figured this out, it took less than 10 minutes to get evolution connected to exchange.

At the office they're using Exchange 2000, so this article will reference things pertaining to that version.

I'm using Evolution 2.22.3.1

You will need to have the ebuild evolution-exchange emerged.  It won't work without it.

After that, there are only a few things you need to get connected.  Here's a screenshot of the login details I used.



In the username space,  I tried every conceivable concoction of domain / username combinations.  Believe me, you only need your username there.  Not DOMAIN/username, not username@domain.fqdn, just your username.

The OWA URL should be provided to you by your system administrator.

When you put in a valid OWA URL, the Authenticate button will become activated.  Click it, and it should auto-generate the Mailbox for you.  It did for me.

Make sure the authentication type is right.  The "authenticate" button seems to authenticate successfully whether the type is plain, or encrypted.  But, if it's the wrong type, and you go to get your email, it will complain that your password might be wrong.   Just use both types and you should get it right.

After that, you should be able to have access to just about everything Exchange provides.

Disclaimer: This article is only a couple of tips, and is by no means a comprehensive tutorial.  There's a good chance none of this will work for you.

Good luck!

UPDATE - The day after I got this working, I updated my world and magically, without having updated anything related to evolution, my connection wouldn't authenticate again.  After trying for 2 days to get it to work, I changed the IP address in the OWA URL to the domain name of the server.   So, instead of  http://111.3.1.21/exchange, it was http://uth-mail011/exchange.  Then it started working again.  Hopefully it'll keep working this time.

September 09, 2008 02:14 PM :: Utah, USA  

Nikos Roussos

linux format articles

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

September 08, 2008

Dirk R. Gently

Old, Abandoned, Aging Ebuilds


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  

Martin Matusiak

of codecs and containers

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  

Christopher Smith

Buffer Overflow in Gnome-Panel?

I upgraded to Gnome 2.22 recently as it has gone stable in Gentoo's portage. One issue I encountered was that the panel would crash whenever I clicked on the clock applet. Investigating futher I checked my logs and found that it was crashing due to SSP. I never had this problem with previous versions of Gnome Panel. Anyhow I disabled SSP and it works fine now but I worry that a bug has been introduced into the latest stable release of the panel.

September 08, 2008 05:19 PM :: Connecticut, USA  

Christoph Bauer

Microsoft Key-Changer

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.


Copyright © 2007
Please note that this feed is for private use only. All other usage, including the distribution or reproduction of multiple copies, performance or otherwise use in a public way of the images or text require the authorization of the author.
(digitalfingerprint: 0f46ca51d0fa4e6588e24f0bf2b80fed)

September 08, 2008 11:59 AM :: Vorarlberg, Austria  

September 07, 2008

Kyle Brantley

IPv6 and... software!

A protocol is nothing if never used. Well, okay, maybe it can be a joke. Maybe. Okay, so that's not really a protocol. Evil Bit jokes are still positive net karma, right?

Likewise, IPv6 is pretty much useless if it is never used. I can assign the addresses all I please but ultimately if all I do is ping my desktop that sits "behind NAT" with it then for the most part the effort was wasted.

My server runs CentOS 5.2, my desktop runs Gentoo, my laptop Debian, my router Debian, my windows desktop Vista (dual boot Server 2008), and the Vista box also has three instances of OpenBSD running within VMWare.

I've got a pretty good testbed to see just what does/doesn't support IPv6, in terms of everything general web browsing to random system daemons to whatever end user programs you have a desire to run. So, I put together a small bit of info concerning what handles IPv6 perfectly, what is kind of broken, and what just looks at it with a mystified look on its face.

So to start:

Operating Systems

Windows
As far as I know, the first IPv6 stack was available for Windows 2000 via a separate download. XP bundled it by default, but left it uninstalled. Vista has the IPv6 stack enabled by default.

Linux
Got a pretty new IPv6 stack with 2.6. Had a working stack in 2.4. I'm pretty sure 2.2 had a functional stack too, as did 2.0. Don't quote me on that.

OpenBSD
Has supported IPv6 since 2.7.


Services/Servers

Apache
Apache has support IPv6 ever since the 2.0 release. Every component of apache that I tested supported IPv6 just fine, from general web page serving to SSL to proxies. Considering how much of the web is still on 1.3, all of those hosts will have to be upgraded to 2.0+ before a much wider IPv6 web base is available.

IIS
IIS (the Microsoft webserver) has supported IPv6 from their 6.0 release, also known as Server 2003. Most places use at least 2003 on their servers, the era of Win2k webservers kind of died out with Code Red and all of those other worms.

MySQL
Just kind of sits and looks at IPv6 like it has no clue what it is. Which is actually entirely true. Boo.

PostgreSQL
Talks happily with IPv6. At least I think. I'm too lazy to start my local copy and check. Their page on the matter isn't what one would call descriptive. No clue when this support was added.

MSSQL
Supported since their 2005 release.

Oracle
Offically supported as of 2006.

Samba
Supported as of the 3.2 release, which was actually just on June 1st of this year.

Windows SMB/CIFS
Supported with XP and onward. Probably Win2000 too.


So the servers are looking pretty good. Unless you run MySQL, which is pretty much everyone. Boo.

At a minimum, we can serve any content over HTTP just fine, and we can access most database just fine too, unless your name starts with a "My" and ends with a "SQL."



End-user programs

Mozilla Suite (and Firefox, Thunderbird, Seamonkey and friends)
Native IPv6 support, ever since the year 2000. Still has some work to be done according to the meta bug, but pretty much all of those bugs are on random operating systems that don't adversely change your ability to connect to IPv6 enabled sites.

Internet Explorer
Supported IPv6 ever since 4.0, once you applied a patch from their research division. Likewise real native support was probably with 5.0, if not it was by 6.0.

Outlook
Supported as of Outlook 2007.

Kopete
Supported. The KDE project has traces of IPv6 development starting around 1999. As far as I can tell, IPv6 is natively supported in every program in 3.5.

Pidgin
Supported. Not clue as of when due to the GAIM --> Pidgin name change, and I'm far too lazy to figure that out.

MSN Messenger, AIM, ICQ and friends
Who cares? (Likely not supported, though I doubt the client is the blocker in these cases.)

PuTTY
Supported since '04.

OpenSSH(d)
Supported. Probably since forever. Go OpenSSH.

irssi
Supported!

mIRC
Not supported without loading a third-party DLL. mIRC sucks anyway.

X-Chat
Supported.... on Windows since '03, *nix and friends likely even earlier.



I could go on and on and on. I won't, because I have no desire to list hundreds of thousands of software packages and their relative IPv6 states. Plus I'm getting tired and this entire post was spontaneous. Not too bad for 30 minutes of google.

But for the most part, we've got a great picture. Every operating system, browser, and web server supports IPv6 and supports it fantastically well. Nearly every program on *nix supports IPv6 and has for quite some time, and most of the big name Windows programs support IPv6 as well.

Not mentioned here was DNS, but the protocol has had support for it since (just about) forever and now that we have AAAA records for the root servers in the public DNS, DNS is good to go with IPv6 from start to finish.

Now we just have to work on the ISPs and home grade routers...

Footnote: one of the comments I got on my initial IPv6 entry was someone reporting success in integrating their LAN with IPv6. While I'm glad to hear it, I'm even more glad that when I got the "unapproved comment has been posted" notification e-mail, the corresponding IP address was a v6 address. The second I had IPv6 up and running on my server, I threw in AAAA records for pretty much everything. If I had to guess, they didn't even know they were using IPv6 to view this blog and post the comment - which is exactly the goal.

September 07, 2008 04:31 AM :: Utah, USA  

September 06, 2008

Jason Jones

Project : LDS-Quotes.com

Although I use the Internet and Linux to make a living, there's still a bunch I have to learn.  One of those things happens to be the most popular ad affiliate program in the world.

Last week, I was doing a bit of research, and found that I could be making a bit of money using google adsense.  Enough to get rich?  Heavens no, but every little bit counts, right?

So, I took the layout for this little journaling site I did, and in about 3 days, I built the all new www.lds-quotes.com.

I built it with ease of use first and foremost, with the ability to easily search, and organize by topic or author.

Hopefully I hit my mark.

Let me know what you think.  As soon as I get approved for adsense, you should see an ad-bar appear somewhere on the site.

Let's see if we can spread the good word, and make a little money on the side, too. :)

(I promised myself I wouldn't put ads on www.ilovemyjournal.com , nor www.ldscompanion.org, so you'll likely never see any ads on those sites.

Let me know what you think!

Click here to go to www.lds-quotes.com!

September 06, 2008 09:32 PM :: Utah, USA  

Ben Leggett

Disc Resurrection: The Brasso Trick Works


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  

Brian Carper

Vim + screen + REPL = win

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  

September 05, 2008

Steven Oliver

Vim Updates


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  

Ben Leggett

Google Chrome: So why is it better than Opera again?


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

Christopher Smith

Google Chrome

Of course just as I post about Web 2.0 browsers Google releases their own take on a Web 2.0 capable browser, Chrome, based on the Webkit rendering engine but with a whole new JS engine called V8. Too bad It isn't available for Linux. I would love to test its apparent speed. From reports posted online it is about twice as fast as the current Gecko JS engine. I wonder how well it performs vs Squirrelfish and how well it will perfrom vs Tracemonkey.

This announcement only confirms my belief that Webkit and Gecko will be the future of Web 2.0. With Chrome Webkit will be firmly entrenched in the Web 2.0 discussion if it fairs as well as most Google technologies. Gecko will also continue to be a part of the discussion because of their Tracemonkey JS engine and because Firefox extensions and technologies like Mozilla Prism have the ability to replicate and build on what Chrome achieves.

September 04, 2008 07:47 PM :: Connecticut, USA  

Jürgen Geuter

iotop, see what makes your computer crawl

If you have used a unix-y operating system for a while, you probably know the command 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).

Now it's not always CPU usage that makes your computer crawl, it can also be too much IO (Input and Output mostly to the harddisk): When your processes want to write a lot of data to the harddrive and the drive just isn't fast enough all have to wait (if you have to rely on your harddrive for swap you instantly see why this is very problematic). Of course you can always guess who's responsible, but sometimes you hear the harddrive work without knowing what is responsible and here iotop comes to the rescue.



You can see which process uses how much of your harddrive capabilities so in case one goes berzerk you can just kill it. It's a really useful tool to debug problems with your machine so that next time you hear your harddrive spin up you don't have to guess who's responsible.

September 04, 2008 11:13 AM :: Germany  

Django 1.0

For those always hesitating to dive into Django because "things were always changing" or "there is no 1.0 release it's not mature" can now knock themselves out with this awesome web framework for "perfectionists with deadlines": Django 1.0 is released.

The new docs are even better than the old docs where, so start reading the tutorial already ;-)

September 04, 2008 09:06 AM :: Germany  

Matt Harrison

Of tomatoes and programming languages

When we purchased our house, there was a semi-neglected little garden in the back yard. It had been planted in the spring but pushed down in importance as the house was put up for sale during the summer. Having grown up with a three quarter acre gar

September 04, 2008 02:46 AM :: Utah, USA  

Steven Oliver

A thought about vimrc’s


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  

September 03, 2008

Ciaran McCreesh

Paludis 0.30.0 Released


Paludis 0.30.0 has been released:

  • Paludis no longer includes wrappers for GNU awk, make, patch, and sed. Users of systems where the default versions are not the GNU versions must use PATH manipulation or aliases in /etc/paludis/bashrc to ensure that the GNU versions are used. (This is not necessary on typical Linux systems; check <command> --version if in doubt.)
  • Support for from- and in- repository deps.
  • Wildcards are now allowed for paludis –query, –uninstall, –install.
  • Unavailable format repositories are now documented and built by default.

September 03, 2008 06:27 PM

Dirk R. Gently

Constant Disk I/O - What’s Taking All Disk Resources?


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  

Nikos Roussos

my ip with zenity

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 :)

zenity

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

Jürgen Geuter

Perception of the unknown

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.

Since I was "semi-working" I kept one eye one my open terminal window to see if things were OK or if I'd have to fix something (you know the drill) when the other guy, who's not a computer person, asked: "And all that stuff does really make any sense to you at all?"

It's a great example for how people often perceive the unknown: When we look at something we have absolutely no clue about, we often don't break it down into its parts to understand it, we see it as one solid thing that makes no sense.

Experts completely grok some thing. Someone trained understands most of it and someone with a little experience in a similar area will probably be able to make some kind of educated guesses what means what or will be able to derive a few things. All those cases show how people can properly partition that huge bulk of information in front of them to follow the divide and conquer strategy: You don't get the complete thing at once but as soon as you partition the problem you understand the parts which leads to finally understanding the whole thing.

The untrained mind often cannot properly divide things so they stay big, incomprehensible and in the end somewhat scary. The impulse is not to try to find parts to understand but to run away from it: "I just don't get math.", "I never understood any of the computer stuff", "I just can't write."

Those are all the same issues: A problem in front of the speaker is not being properly compartmentalized and therefore stays completely opaque with no simple part that would allow a first approach.

It's important to realize that, when you want to explain something, you first have to make sure the person you are talking to can properly compartmentalize the topic at hand. Somebody who has never really done anything useful in a terminal will not understand what you do, he'll just keep copy'n'pasting crappy lines from the Ubuntu Wiki (yes that was a cliche ;-) ).

What did I do? I showed the other guy how to look at a terminal and after a while he realized that one thing was kinda like a progress bar, that another thing told me which object the machine was working on.

I destroyed the magic that only big and scary blackboxes can have but next time he won't look at me like I was a crazy person typing secret spells into the keyboard.

September 03, 2008 11:54 AM :: Germany  

Steven Oliver

Good Free Open Source Software for your Mac


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.

Mail

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

Ian Monroe

Not Holding Breath for Chrome

I read the Chrome comic on Monday. It goes into technical detail in describing what their justification was for creating Chrome. By and large I think they succeeded: on the whole, Chrome doesn't appear to be a case of not-invented-hereism. They really do have some different ideas of how to do the browser, both technically and in the UI.

So yesterday I knew two things: Chrome was going to be crossplatform and the 30pg+ comic that went into some detail didn't say how they were planning to do that or anything about their UI toolkit.

So after poking at the code for a bit, it comes to no great surprise that crossplatform wasn't a big concern from the start. Currently the Linux version doesn't actually run, according to its website. And their UI toolkit choices might indeed have been based on some NIHism and are certainly not the most Linux or OS X friendly. Given how easy it is to create a crossplatform app if you make the correct early decisions, this is a bit frustrating.

They use Skia, a graphics library for Android for basic image display. And they have "Chromium Views" which mostly seem to be used to abstract between XP and Vista. It could theoretically be extended and used for crossplatform abstraction (just what the world needs - another xplatform api).

And why not Qt? "Existing UI toolkits for Windows are similarly unsatisfying, with limited widget sets, unnatural aesthetics, or awkward programming models. " Doesn't jive with my experience of Qt. But I guess I'm a bit partisan.

I do think that promising cross-platform support might have been a bit disingenuous of them, time will tell for sure. I suspect that if Linux desktop users do see Chrome, it will most likely be in the form of existing browsers incorporating some of their technology or ideas.

September 02, 2008 08:49 PM :: Missouri, USA  

Christoph Bauer

SATA after the install

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.


Copyright © 2007
Please note that this feed is for private use only. All other usage, including the distribution or reproduction of multiple copies, performance or otherwise use in a public way of the images or text require the authorization of the author.
(digitalfingerprint: 0f46ca51d0fa4e6588e24f0bf2b80fed)

September 02, 2008 12:54 PM :: Vorarlberg, Austria  

September 01, 2008

Brian Carper

Desktop screenshots

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.

2008-09-01

2008-09-01_2

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  

Brian S. Stephan

Feed the beast

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  

Jürgen Geuter

Money does not equal money

We live in globalized times with the internet bringing people closer together each day. Italians shop in the US, Mexicans have some guy from Japan send them stuff and Australian contractors work for German companies.

All this looks like great opportunities all over the place: More jobs for contractors and more offers for people wanting to buy services or products. But as usual it ain't that simple.

I live in Germany which is in the EURO-zone: Many European states replaced their own local currency with one currency for all of Europe (except a few party poopers obviously ;-)) which is actually really cool. When I drive to the Netherlands I can just shop with my money and the one European currency has a much bigger relevance internationally that the single currencies we used to have had.

The problem is: With the Euro being strong and the Dollar losing value it's actually making it harder for Europeans to work internationally. I could get buttloads of jobs but since they pay in Dollars it's actually not worth it most of the time (of I end up being way too expensive). As we can see here: For people trying to hire contractors it's a great thing, they'll always find someone who will do it for very little money (and usually after a few months someone like me has to come in and clean up the mess). It's a buyer's market and a market for people that live in a place where life is cheap.

The second aspect we live with is again a matter of exchange rates: It's obvious that when I buy stuff from the US I'll have to pay more for shipping that someone who lives in the US or maybe even Mexico or Canada. I'm fine with that. What I'm not fine with is companies treating Europeans (and other people, the issue is similar in other non-US-Dollar zones, as far as I heard) like dumbasses: Take one culprit, (Cr)Apple.

The 13-inch, 1.6GHz MacBook Air is available to US customers for $1,799.00. In the German shop I'd have to pay 1,699.00 Euro. A fair price would be (google calculation) 1,236.76 Euro. The German customers pay 460 Euro extra; that's 669.11$! I mean how the hell do they transport those things? Do they hire a single jet for each thing? (Yeah I know the US version is without added taxes, and I was to lazy to add those few bucks on top of it, but it wouldn't really change anything.)

(Cr)Apple is not the only company doing this, you'll see it all over the place: Just replace $ with Euro and make that the price. Often it's actually cheaper to have some US store send you stuff to Germany than to buy it here.

Now I see that some things are being localized or whatever but is a German Keyboard (in the case of laptops) really that expensive?

I'm getting more and more annoyed by this when I see how hardware in some places is being kept artificially expensive. I guess (as much as I hate it because it is obviously not the best of the ecology) I'll just start buying more and more stuff in shops in the US, even after taxes and whatever I'm being charged extra I'll end up with cheaper items in the end.

It's one of those typical things when it comes to "globalization" (I hate the word): Everybody claims they want fair competition and whatnot but everyone just thinks it's reasonable to overcharge somewhere since everybody's doing it. Welcome to the cartel.

This post has been brought to you by the "incomprehensible-rant-about-things-that-won't-change-by-ranting" department.

September 01, 2008 03:15 PM :: Germany  

Roy Marples

Event Loops

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.

September 01, 2008 12:01 PM

August 31, 2008

Zeth

Sisu and typing unicode in GNOME

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 comment

August 31, 2008 11:48 PM :: West Midlands, England  

Christopher Smith

Web 2.0 Browser shootout

When I hear "Web 2.0" I think about the next generation of interactive, networked interfaces. Some of these new interfaces will not be attached to a browser at all but many will remain browser-centric, or will at least will be rendered using W3C standards. There are a lot of technologies like Flash and Silverlight that are helping to drive Web 2.0 forward but ultimately the oldest form of client side automation, javascript, is and will continue to be the preferred solution because of its entrenched usage and frameworks like AJAX and JSON. Adding to this is the recent javascript improvements from the Webkit team and the Gecko team. Soon we will be processing javascript at near native code speed.

As you can see from my previous javascript benchmarks the current leader is Gecko when it comes to performance of a stable release rendering engine. Webkit does very well in the SVN version and will be an excellent javascript performer when the current Squirrelfish implementation is stabilized. From the benchmarks released for tracemonkey we will see even greater improvement in javascript when xulrunner 1.9.1 is released. That is estimated to be about 3 months out at this point. Currently 64 bit is not supported as I figured out in an attempt to test tracemonkey performance. Opera seems a long way from Gecko and Webkit when it comes to javascript performance but the browser itself is featureful and Opera produces an excellent mobile browser which will only become increasingly important in years to come.

The next important piece to the Web 2.0 puzzle is standards compliance. This has become increasinly important as more browsers have shown up on the average users' radar. Mac users have Safari (Webkit), Opera and Firefox (Gecko), Linux users have Gecko browsers, KHTML from which Webkit is derived, and Opera, Windows users have Opera, Safari, IE, and Firefox. As you can see only IE is not cross-platfrom. The Unix version of IE died a long time ago and the Mac version more recently but there is no recent version of IE that is supported on another OS other than a Microsoft one. On mobile devices a variety a browsers are offered. Opera is offered on many different platforms. Gecko and Webkit, being open source can be ported to many different platforms and have already been ported to some. IE stands alone again as a MS only product. For this reason I think that IE has a limited future in Web 2.0. Not everything runs a MS OS and this isn't going to change in the future in fact I think this fact is only going to become more pronounced as mobile devices become more popular.

The infamous Acid tests test W3C CSS compliance. The current test is Acid3. It tests CSS3 compliance. Browsers are on their way to achieving Acid3 conformance and in fact a previous SVN build of Webkit passed the Acid3 test but current versions do not. Here is how the current Webkit scores:



Unfortunately at this point Midori (using Webkit) crashes in addition to failing Acid3. The current unstable Xulrunner (Gecko) doesn't crash and make it farther in the test but the visual results aren't quite as good:



The unstable version of Xulrunner produces better results while still not passing:



Opera does okay but still isn't there yet either:



Testing IE with Acid3 shows similary half baked solutions but I don't have the results to show because I don't have Windows on this computer. It makes it to 71 with all gray boxes before it quits, much like the current Gecko engine. Regardless I think IE is going to have very little to do with the Web 2.0 revolution compared to other browsers simply because it is not cross platform.

Taking into consideration both javascript performance and acid3 compliance only Webkit and Gecko seems ready to take on Web 2.0 full force. They both have excellent javascript speed and are getting to acid3 compliance quicker than other browsers. Opera is a good browser but I think they might be better served working on Webkit and integrating it with their web browser than continuing their own engine. This would save resources to work on other aspects of the browser while retaining an excellent browsing experience. Gecko has made huge strides and continues to do so. In the future I think we will be talking about Webkit vs Gecko as opposed to IE vs Netscape like we did over ten years ago. Ultimately both engines are going to drive Web 2.0 development much more so than the alternatives.

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