Planet Larry

June 02, 2008

Dirk R. Gently

A Walk with PCMan


A Walk with PCManA few months ago, I had tripped upon a post in Ubuntu’s forums that the PCMan file browser was restarting development and became a bit curious. A year or two ago there have been postings that I had seen in the Gentoo forums about how good a lightweight file browser it was. Then yesterday, I saw that Tombuntu had an overview of the new PCMan and then I just happened to see an ebuild made for it. So I decided to give it a try.

Currently, I use the brute horse (Nautilus) for file browsing. Nautilus is a really good browser but on this old klunker it cold-starts in 15 seconds and warm-starts in five and it would be nice if I could find something quicker. Before, I have replaced Nautilus with Thunar as the default browser, but Nautilus caught up a lot in speed when I removed the Enlightenment Sound Daemon as a variable, and frankly I had just become too lazy to change it back when I updated to Gnome 2.22.

The ebuild compiled PCMan painlessly - thanks George for the update. For the ebuild UsE flags, I built with and without the ‘desktop’ flag. The ebuild notes the desktop flag as ‘desktop integration’ but I didn’t notice a difference either way. Perhaps it is for desktop-less installs (fluxbox,…). The ‘fam’ flag is necessary for file monitoring support, it works in conjunction with gamin which is already built along with Gnome. Also, I took out the confirm delete patch as PCMan-4 has a confirm dialog when deleting a file/folder (I’m guessing the patch was for PCMan-3.*).

I found PCMan’s menu entry in ‘System Tools’ and loaded PCMan. PCMan cold-started in about 5 seconds.

Pic PCMan boot

Beginning thoughts: I liked PCMan. First, PCMan recognized my GTK and icon theme and also recognized the bookmarks I previously made in Nautilus. Big pluses. PCMan feels alot like Nautilus which is great because I am used to Nautilus’s behavior. The response time was nice as well (changing from one folder to the next took about one second). Picture previews are a must for me and PCMan did that just fine. PCMan also has tabbed browsing. I heard about this coming to Nautilus 2.24 and I like the thought of it. PCMan has the ability to drag between tabs and the ability to reorder tabs, very nice.

A Walk with PCMan

Ubuntugeek has a post that will launch PCMan for folder’s in the Place’s Listing in the Gnome Menu. I could probably use the Thunar script I previously used and link /usr/bin/nautilus to make PCman my default browser but I don’t feel like doing the work - be lost on the next update anyhow. Besides, I want to keep Nautilus as my desktop browser because it does a damn good job at it. For now I’m going to keep using PCMan and be content on opening folders on the desktop by right-clicking them and choosing PCMan. Lightweight desktops should think about giving PCMan a try.

June 02, 2008 04:35 PM :: WI, USA  

Jürgen Geuter

Virtualization as security measure

Since buying my new laptop I have access to hardware accelerated virtualization for the first time: The virtualized machines run with pretty much native speed which makes my life a lot easier. I develop software for clients in a sane environment (linux) and just do some testing and packaging on windows. No need for dual-booting and whatnot, cool!

But lately you will see virtualization praised as a security technology a lot: People are advised to run their company firewall as a virtual machine, to have the content filters and other run as virtual machines, too. This sounds like a very smart idea for a bunch of reasons:


  • The virtualized system can be minimal when it comes to features/packages which makes it less vulnerable to attacks (every software you install is a possible security flaw).

  • The virtualized system can be treated like being on a different network or like being in a demilitarized zone.

  • You can buy pre-built and automatically updated appliances that do the job. Those are expensive but some people are really into paying for stuff that could be free.



People will come up with many more advantages (which is a very lame excuse for me being lazy and not wanting to invent even more ;-) ). But there's quite a big misconception there.

People seem to think about how software is vulnerable and bug-ridden but forget that hardware has bugs, too. And virtualization is not even purely hardware, there's a big piece of software right in the middle of it. Let's look at a really simplified example:

My firewall appliance has a kernel and 100 packages. We know that every package is a possible security hole so we have 100+1 packages that could be vulnerable, right? Wrong! We have 100+1+1. Maybe even all the packages on the host (in case the virtualization has only one leak). The virtualization technology itself is another problem that you have to worry about.

Whenever you build virtualization to implement security you have to realize that you will have actually more possible attack vectors than you used to have before.

Virtualization can be quite handy, especially when it comes to moving appliances to different hardware or backing up complete appliances, but from a pure security point of view they are always worse than the same set of software installed on a "real" machine.

The recent hype around virtualization somehwat reminds me of the OO-hype: People thought it would automatically solve every issue there was until someone figured that having a class with just static public methods is just the poor man's hack for something many other languages make easier. The same thing with virtualization: It does not automatically solve all your problems and might make some things even worse. Use it when it really helps.

June 02, 2008 02:48 PM :: Germany  

Nikos Roussos

my desktop

about some time ago, some gentoo developers (starting from tsunam) published photos of their working environments.

so let's if i can trigger some gentoo users :)

here is mine:

everything i need is in place. on the left you can see an external drive (the red one) and a modem/router on the left of it. behind my screen lies my laptop (next to the laser printer) and next to my mouse i use to place the stuff i am currently reading :)

next to my office i have a bench where i have placed a scanner, an audio amplifier and my old laptop (which is actually my current desktop pc, connected to mouse/keyboard/screen seen on the previous photo).

i ping kargig, agorf and dirk r. gently :)

June 02, 2008 01:13 PM :: Athens, Greece

Alex Bogak

Universal Tracker

Hi All

My friend started a new project for the Android platform: the universal tracker called "Unit".

Cited his definition:
Unit is a mobile application for tracking lists of owned, loaned and borrowed assets (such as books, CDs, DVDs or board games) using Android mobile platform.
Here's a demo screenshot:


He's currently looking for help developing the application, so if you like this, join him!!

Thanks :-)

June 02, 2008 08:12 AM :: Israel  

Brian Carper

Cool feature in Vista

Vista has this really cool feature. When I log in to work via VPN and then close my laptop's lid to put it to sleep, when I open the lid later, I get the CTRL+ALT+DEL login screen as normal, except that my mouse cursor is now invisible! If I can somehow manage to position the invisible mouse cursor over a button, let's say the one to shut the computer down, and I click it, Vista says something about not having enough memory to perform that operation, and crashes or hangs!

Oh wait, that's not a feature. That's a big hairy stinking bug. My mistake.

June 02, 2008 06:05 AM :: Pennsylvania, USA  

Sean Potter

Gentoo 2008.0 — Something New?

The Gentoo 2008.0 Beta has been in existence for a few months, but I've only recently gotten around to testing it. Obviously I like the updated kernel and hardware detection since the last release, but there's a few things I'm not a fan of, or rather, one large thing:

A graphical installer for installing the base system. I don't know. I guess it'll make it easier for new Gentoo users, but I think I may very well stick to the good old command line for installation. With each release, Gentoo seems to be moving farther and farther away from what it used to be.

Will the graphical installer include support for a Stage 1 installation? I doubt it. In Stage 1, everything on the computer is compiled natively according to the user's settings. For example, a base system comes with components X, Y, and Z. In a stage 3 setup, these components are pre-compiled and left alone. In stage 1, each of these components are recompiled for optimal use.

I just hope Gentoo doesn't move towards using binary packages.

June 02, 2008 03:23 AM

Iain Buchanan

VMWare and the fubar keyboard effect

For what seems like 300 years I've been struggling with the horrible effect of VMWare workstation on my keyboard. I have a perfectly good license for VMWare workstation 4, so I continue to use it regardless of the fact that version 6 is available.

This never used to be a problem, but it got successively worse: Once VMWare grabbed the keyboard, many function keys would remap to nothing (ctrl, shift, alt, etc), or worse, some other key function! I solved this out-side of vmware thanks to a gentoo-user thread - just run `setxkbmap` (funnily in a package called ... setxkbmap).

This still didn't solve the problem where within VMWare, my arrow keys, del and ins, etc. were still screwed. For a keyboard-shortcut lover such as myself, who uses the keyboard more than the mouse, this is very annoying.

Finally I thought I'd try VMPlayer (and wow, does the suspend / resume feature work fast!). The problem was even more evident - now every use of VMWare many non alpha-numeric keys were unusable.

The solution:
Apparently it is an issue with the evdev input driver. Thanks to "doranikov", The solution is simple: Tell VMWare what your keyboard really does! Put this in ~/.vmware/config:
xkeymap.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.106 = 0x135 # KP_Divide
xkeymap.keycode.104 = 0x11c # KP_Enter
xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.112 = 0x149 # Prior
xkeymap.keycode.117 = 0x151 # Next
xkeymap.keycode.78 = 0x46 # Scroll_Lock
xkeymap.keycode.127 = 0x100 # Pause
xkeymap.keycode.133 = 0x15b # Meta_L
xkeymap.keycode.134 = 0x15c # Meta_R
xkeymap.keycode.135 = 0x15d # Menu
done!

P.S. hello to all the planet larry readers :)

June 02, 2008 03:04 AM :: Australia  

Steven Oliver

Irssi tip


Anyone who uses Irssi must know this. It will save you and your eyes.

/ignore -channels #gentoo, #paludis * JOINS PARTS QUITS NICKS

EDIT: That didn’t seem to work… I’ll try again tomorrow :(

Enjoy the Penguins!

June 02, 2008 01:33 AM :: West Virginia, USA  

June 01, 2008

Jürgen Geuter

thinkwhack 0.1

If you have read about the thinkwhack thingy I am building and you have a thinkpad laptop, you can see some of the action now since there is a 0.1.

Right now it does probably not properly enforce dependencies so you have to manually make sure that "pygtk" and "pygst" (python gstreamer bindings) are installed as well as the hdaps module for your laptop loaded. You also need to have "xrandr" installed for the action to work.

The only thing properly implemented right now is "tilting" which means: The laptop realizes that it's lieing on the side and rotates the display properly (which is actually quite cool for reading longer texts on the laptop).

"thinkwhack" starts disabled so you have to rightclick the tray icon and start it manually, the little circle on the icon shows you whether it's off (red) or on (green). Turning the display around takes a while (since the program waits till it considers the state "stable", but if you just turn it around on the table and set it on its side it should work.

I used the data I have from my laptop so the values might be somewhat off for yours, I'll build configuration dialogs for those values as one of the next things so you can finetune the software to your needs.

Apart from that I'm going to add "Swing" and "Shock" events and allow more actions that just rotating the display.

If you have a thinkpad laptop you can check it out via the Python cheesechop/pypi via
easy_install thinkwhack in your terminal or by downloading the tar.gz from the pypi page. if you download that tar.gz manually you'll have to run "python setup.py install" in the directory you untard the sources to.

June 01, 2008 06:02 PM :: Germany  

Steven Oliver

The price of looking pretty


As I discussed in my last post I configured bitchx to run more or less as part of my background through various bits of trickery. Looked great, especially when all my windows were minimized and there was a steady stream of chat happening in the room. It would have made an excellent screen shot as well. But like plastic surgery it comes with a price. Unlike having conky glued to your desktop, if you left clicked on where bitchX was you would get nothing because Eterm doesn’t have a context menu. And when bitchX consists of roughly a 1/3 of your screen that poses a problem.  So since then, I have gotten rid of that and instead I just have Eterm open up as a normal window on boot. Minus all the annoying Windows 95 like bars that come with mind you.

It was nice will it lasted I guess…

Enjoy the Penguins!

June 01, 2008 03:08 PM :: West Virginia, USA  

Zeth

Are your Firefox extensions proprietary software?

In the last-post, I went through the most popular Firefox extensions and talked about whether they were good ideas or not. However, it seems that not a lot of people think about another side to this, i.e. what are your Firefox extensions licenced under?

It turns out that a lot of the extensions available through Firefox are not free/open source software at all.

One example is the StumbleUpon Extension. StumbleUpon is a web service that allows you to share links with other users. Sometimes readers have shared this site and my number of visitors have gone up (cheers for that). StumbleUpon is commonly used through a toolbar provided as an extension through Firefox or Internet Explorer, (and a comment-in-the-last-post reminded me about it).

This made me think, what is the licence of this Firefox extension? If you go to the StumbleUpon-homepage, there is no software licence or terms at all. If you click the "Download now - Free" button, you go through to the download-page, still no licence or terms. I unzipped the extension, looking for a software licence, nothing. This made me very suspicious, when people are proud of their licence, they put it right in front of you, what are they hiding?

Eventually, after a bit of digging and Googling, I found their Toolbar-License and guess what? Yes you guessed it, it is proprietary software. So if you want to run free software/open source, then get it off your system now!

Their licence only gives you:

"a non-transferable ... non-sublicensable ... license to reproduce (solely to install and execute) the Toolbar on one of your computers, in executable object code format only, for your personal, non-commercial use only,"

Of course, the "Toolbar" is released as a Firefox extension, in plain-text Javascript and XUL, not in object code format. There is not really object code at all in Javascript, object code is a C term. But the lawyer writing the boilerplate probably didn't know or care about the difference. Anyhow, the licence continues:

"You may not modify, make derivative works of, copy, reproduce, publish, or reverse engineer the Toolbar"

This is in complete opposition to free software/open source, where all users have four freedoms:

  • The freedom to run the program, for any purpose (freedom 0)
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

Don't sell out your freedoms so cheaply! If you want the most free software computer possible, look up the licenses of your extensions.

For example, here are five popular extensions that are free software/open source:

  • Firebug: Mozilla Public License 1.1
  • Flashblock: Mozilla Triple Licence (MPL 1.1/GPL 2.0/LGPL 2.1)
  • AdblockPlus: Mozilla Public License 1.1
  • FireGPG: Mozilla Triple Licence (MPL 1.1/GPL 2.0/LGPL 2.1)
  • NoScript: GPL

Please do audit your own, and let us know what you find. Knowing which extensions are free and which are not free would be really helpful.

Digg-entry

Discuss this post - Leave a comment

June 01, 2008 07:28 AM :: West Midlands, England  

StumbleUpon Extension is Proprietary Software

StumbleUpon is a web service that allows you to share links with other users. Sometimes readers have shared this site and my number of visitors have gone up (cheers for that).

StumbleUpon is commonly used through a toolbar provided as an extension through Firefox or Internet Explorer, and a comment-in-the-last-post reminded me about it.

This made me think, what is the licence of this Firefox extension? If you go to the StumbleUpon-homepage, there is no software licence or terms at all. If you click the "Download now - Free" button, you go through to the download-page, still no licence or terms. I unzipped the extension, looking for a software licence, nothing.

Eventually, after a bit of digging and Googling, I found their Toolbar-License and guess what it is proprietary software, so if you want to run free software/open source, then get it off your system now!

The licence only gives you:

"a non-transferable ... non-sublicensable ... license to reproduce (solely to install and execute) the Toolbar on one of your computers, in executable object code format only, for your personal, non-commercial use only,"

Of course, the "Toolbar" is released as a Firefox extension, in plain-text Javascript and XUL, not in object code format. There is not really object code at all in Javascript, object code is a C term. But the lawyer writing the boilerplate probably didn't know or care about the difference. Anyhow, the licence continues:

"You may not modify, make derivative works of, copy, reproduce, publish, or reverse engineer the Toolbar"

This is in complete opposition to free software/open source, where all users have four freedoms:

  • The freedom to run the program, for any purpose (freedom 0)
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
Discuss this post - Leave a comment

June 01, 2008 01:28 AM :: West Midlands, England  

May 31, 2008

Martin Matusiak

an absurd industry

There are many things that seem reasonable to the average rational person, but then there are some that just seem absurd.

First, a little background. Security is not just a playground for hackers and software companies. It seems that way sometimes, but security has become a rather potent industry in its own right since the days of the first well publicized viruses and Windows exploits. So much so that finding and reporting security exploits is now commonly a job rather than an underground, subculture activity. There is a bunch of people who are employed to do this now, and who effectively drive the standards for security by publishing bugs in various products.

Now, whenever something has value of some kind, simple economic principles naturally imply that it can be used in a trade. Security vulnerabilities indeed have certain value. By discovering a weakness in a product that noone else knows about, you stand to gain something if you decide to use it maliciously. If not, you may still consider selling it to someone who will use it maliciously. And if you’re just not into that kind of evil, you still have a certain leverage over the vendor that sells this product, because you know more about it than they do. So you could easily contact them and say I found a weakness in your product, which allows people to steal your customers’ data. Although I don’t intend to abuse this personally, we both know there are plenty of people out there who do, and who work hard to find these bugs themselves. If this weakness in your software should remain intact, and abused by someone, you’re gonna be in a lot of trouble. So how about you recompense the efforts of my research and I will hand it over?

As a vendor, this isn’t the most pleasant email to get. But after all, this person has found something that is our fault, and we have only ourselves to blame for selling something that has such an obvious weakness in it (or we don’t think it’s serious and we’ll just wing it, hoping noone gets burnt on this). Okay, raw deal for the vendor, but if you’re selling something that your customers bought in good faith, and it turns out it could pose a threat to their data, it’s definitely your fault.

Depending on how successfully this person is able to negotiate with the vendor, the outcome may be various. But if the [let's call him a] researcher isn’t able to come to terms, the next best thing is just to make it public. Like we saw already, a vulnerability has a certain value. If you’re not able to claim this in hard currency, you’ll at least want the recognition for finding this bug so that you can hone your reputation as a security professional and maybe someone will give you a [better] job.

But there is a problem. As we know from every Hollywood corporation-vs-little-guy story, companies always respond to threats the same way: calling their lawyers. The lawyers always try the same thing: hush it up. So they send out lots of scary documents, trying to shut the guy up. And whatever your legal position is, you’ll never win, cause corporations have armies of lawyers (armies of janitors too, actually, armies of everything). So chances are they will successfully silence you and your plan of publishing the vulnerability fails. You don’t get any money, and you don’t get any credit. The vulnerability remains intact, the vendor, even if they know how to fix it, probably won’t do anything about it cause noone is pushing them to.

This is the bizzarre landscape in which an industry, which would otherwise seem absurd, somehow makes sense. These security researchers don’t have protection against legal warfare, so there are actually certain companies now that trade in vulnerabilities. They will buy them from researchers and then try to reclaim a profit from the vendor, or even sort of broker the deal without putting the researcher in jeopardy. This way, the researcher can either get money for it, or if that fails, publish it.

Not surprisingly, vendors make a big stink about what they call “responsible disclosure” (ie. telling them first, hoping they don’t try to silence you I guess), but the truth is they abhor these things being made public, as Jonathan Zdziarski explains at length.

*

Incidentally, if you’re at all interested in security, you should check out some of the fascinating talks on security from various security events. Conferences like DefCon generally publish all the talks online. You’ll be blown away by what’s actually possible (and not just possible, probably being done right now) and your perception of how secure you should feel online will be changed forever. If you want to be both enlightened and entertained, try Dan Kaminsky, he likes to showboat.

May 31, 2008 08:47 PM :: Utrecht, Netherlands  

Zeth

Will Epiphany be able to compete with Firefox's extensions?

I recently looked at the forthcoming Epiphany browser based-on-Webkit. However, some people told me that Firefox has so many extensions that it would not be possible for a new browser to compete, even among the target audience of GNOME users. Is this true?

I am not a C hacker and don't want to be at this stage, so I can't really help with the heavy lifting in finishing the new Epiphany. However, the previous Gecko-based version allowed you to write extensions in Python, so if that is true in the new version, I could write an extension or two.

The old gecko version of Epiphany had various extensions, and a dozen or so of the best were bundled in the Epiphany-Extensions package.

Firefox extensions

It is early days because, as far as I know, the new Epiphany extension API is not written yet, however, we can do a little research about Firefox extensions, and seeing which ones are worth replicating on Epiphany. I myself have FireGPG (allows you to use GPG with webmail), Flashblock (blocks Flash movies unless whitelisted) and FireBug (see below).

There are 2353 add-ons and themes in the Firefox add-on database, several are abandoned in that they have not been updated to work with modern versions of Firefox. The bottom 1000 have had very little impact. For example, the "Et Lolcat" extension translates English to 'locat', it has only been downloaded 26 times ever. I doubt the lack of a lolcat extension is going to prevent anyone from using Epiphany.

As you might expect, outside the big hitters, the popularity of extensions tails off pretty fast. The top few add-ons have been download hundreds of thousands of times, the 100th add-on has been downloaded 10,000 times, the 1000th add-on has hardly ever been downloaded by anyone.

So lets ignore all the themes as Epiphany themes according to your desktop theme; lets also ignore all the abandoned extensions and the extensions which have never really been downloaded by anyone. So we can say there are less than 500 extensions that are actually relevant for our purposes. This is still a massive number. I cannot think of another piece of software that has 500 active extensions.

In the rest of this post, I look through the list of the top 100 downloaded-add-ons. This list of course is dynamic, so will change according to when you view it. So where I have included a number, it is the position in the top 100 when I looked at it. Do not worry I don't talk about 100 add-ons, a lot of the top 100 add-ons are themes and dictionaries which I have ignored.

The top three

Video DownloadHelper (1) - This allows people to rip videos out of sites like Youtube, as does UnPlug (37) and a million others. This could be easily replicated by Epiphany but maybe a better approach would be a "save-as" button in Gnash? Likewise Flashblock would not be required if Gnash has an option for "only play when the user agrees to".

Adblock Plus (2) provides advert blocking, as does Adblock and Adblock Filterset.G Updater (38). In the old Epiphany, there already was a decent adblock. This can and no doubt will be easily replicated by an Epiphany extension.

NoScript (3) provides blocking and white-listing of Javascript. This could be easily replicated by an Epiphany extension. Epiphany already gives you the ability to turn Javascript on and off globally, the extension just needs to give the ability to control this behaviour per site.

Not all extensions are priorities

IE Tab (7) allows Windows users of Firefox to open non-standard webpages in IE. This is not available on Firefox for Linux so is irrelevant. People should not write IE only webpages.

Next we have the replacements for Firefox's rubbish download dialog: DownThemAll (4), Download Statusbar (6), PDF Download (10), Fast Video Download (15), ScrapBook (28). Hopefully Epiphany's download dialog will be good enough out of the gate. So these are not a priority.

Foxmarks (9) and Speed Dial (29) are replacements for Firefox's annoying bookmarks dialog. Epiphany's bookmark manager is better, so these extensions are not a high priority.

Greasemonkey (5) is a higher level extension tool, it basically makes it easier to write extensions for Firefox, especially per site extensions. If Epiphany's extensions are easy to write, this will not be needed.

The Fasterfox (17) extension allows you to prefetch pages, as well as make concurrent connections, i.e. download the same page ten times at the same time. I am undecided weather this extension is a good idea for the web. I wouldn't want people using it on my sites.

A web browser is not a desktop environment or package manager

Quite a few of the extensions use Firefox as a convenient way to make and distribute an application, not surprising as Windows does not have a package manager. These extensions may have none or only tangential connection to the fact that Firefox is a web browser. Many of these in Linux would work just as fine or better as a separate application, indeed many equivalent applications already exist and are probably better.

FireFTP (18) is an FTP client, GNOME has GFTP which is perfectly fine. FoxyTunes (27) is a media player frontend, Linux has billions of media players. Forecastfox (12) tells you the weather, the GNOME desktop already tells you the weather, we can even look out a window. Likewise, FoxClocks (30) tells you the time, which the GNOME desktop does by default. After 40, we have RSS Readers such as the "Feed Sidebar" and "Sage", as well the IRC client ChatZilla. GNOME has lots of RSS Readers, e.g. Straw and Liferea, and Linux has lots of IRC Clients. The best way to use IRC is to use a client that can run 24/7 on the server, such as Irssi.

ScribeFire is a Firefox extension that provides a text editor for blogging. There is GNOME-blog available through all the package managers, but I prefer to use a real text editor. FoxSaver is an extension to provide a screensaver and photoviewer, GNOME has the Eye of GNOME image viewer and its own screensaver. ReminderFox (35) provides reminders, as GNOME already does.

PicLens (8) provides desktop effects for Firefox on Windows. It is not available for Linux, but Compiz with Epiphany does a better job. The same applies to "Tab Effect" (21) and FireGestures (24).

The Firebug (13) extension is a fantastic toolkit for web designers that turns your browser into a complete Dreamweaver clone. This would perhaps be better as a webkit based application, the same goes for "Web Developer" (20).

"Better Gmail 2" (14) provides extra options for Gmail, turning Gmail into a rich desktop application. The whole point of web-based email is that you can access it from any computer anywhere without special software. If you want to use installed software, then Gnome has Evolution which is richer than any web application.

I also skimmed through the 100 to 200 most popular add-ons, and it was more of the same. I hate to be a snob, but it seems that the most downloaded extensions are not necessarily the best ones!

Conclusion

There are many hundreds of Firefox extensions, some of them are absolutely fantastic, however many are repetitive, many also replicate things that already exist on a GNOME based system by default or are quickly available in the package manager. A large number of the extensions are old and have not been ported to modern versions, and some of them are just bad ideas.

This survey has convinced me that it is quality not quantity that matters, that with just 20 well chosen extensions, Epiphany could offer the features that 80% of GNOME users want, with 50 well chosen extensions, it could offer the features that 95% of GNOME users want. I am talking about extensions that actually have something to do with web browsing, not turning Firefox into a jukebox, or into a calendar, into a Compiz replacement, or into an operating system of its own.

Discuss this post - Leave a comment

May 31, 2008 05:40 PM :: West Midlands, England  

Jürgen Geuter

Centralized installing of windows software in linux environments

If you have used wine before you probably know that it defaults to installing its software into $HOME/.wine/. This is somewhat messy when you want to have software installed centralized because how do you guarantee that all users have the windows software available?

You could give everyone a default .wine dir that defines a new drive d: which is a mapped network drive and install everything there but that's all kinds of messy and probably won't work all that well. After a few tests, this is the setup that I think works best:

You create a different .wine for every application. To make sure wine uses the right one you just have to set the WINEPREFIX variable. Often you don't actually want all the users to use exactly the same instance of the windows software (because of setting or data) so they all will need their own little installation.

For each windows software you create a starter script that does invoke the software with the right WINEPREFIX set and that does make sure that a proper .wine-APPLICATION dir exists. That way you can make sure that for example .dlls and .exes are synced to the $HOME/.wine-APPLICATION/ dir of every user (for example by calling rsync). This way you can have all the users in your network use windows programs that you can store and keep updated centralized. If all your home dirs are on one central server all you will need is wine on the clients and the starter scripts that you can keep in sync really easily with a cronjob.

The .wine-APPLICATION folders are separate (every program has its own little windows so to speak) which limits weird hard to find bugs when software interacts and users only get them if they really start the software. You have some overhead because the software will be copied to every user's home but for smaller applications that are not really built for multiuser this is the best idea.

For "real" multi-user windows apps installing them on a centralized drive that is then mapped to it's own .wine dir is probably the cleanest approach.

May 31, 2008 12:13 PM :: Germany  

Sean Potter

Updates not without Woes

I made a few small changes to BIOSLEVEL tonight. This is after trying to complete a new review or two this morning, but found myself unable to complete because my camera has decided to go haywire. More on the camera later. Let's look at what I've changed with BIOSLEVEL.

Changes to BIOSLEVEL

The changes aren't too numerous, nor are they complete yet. First off, I've altered how the <title></title> tags are done, so article names are now displayed rather than just "Article & Reviews". Hopefully this improves the site's overall SEO. The second part of the update comes in the form of some buttons for our article & review pages: Digg It, E-Mail Page, and Stumble Upon.

E-mail Page will either open a new window (smaller) or within the same window a page that allows them to e-mail the article's introduction, title, image, and link to someone's e-mail. I obviously won't track e-mail addresses, but should I keep track of how many times the feature is used per article? Obviously, I haven't implemented this feature just yet.

Digg It submits the story to digg. Obviously. Stumble Upon submits the story to Stumble Upon, but I haven't added the link for this just yet. I'd also like to add some icons for Reddit and a few similar services as well. Anything to build up more traffic.

Camera Woes

My aunt bought me a Cannon PowerShot S1 IS a few years ago for Christmas. At $400 at the time, the S1 IS was only a 3.2MP camera, which is really more than I need. I spent some time debating this morning while looking through cameras on NewEgg.com

I almost bought the latest version of my camera, which boasted a whopping 8.1MP and a 12x optical zoom, whereas my camera only has a 10x zoom. I ended up purchasing the Nikon D40, a DSLR camera. It'll be my first DSLR, and I'm really hoping that my older SLR lenses will still work with it.

There's more functionality in this camera than I'll probably ever use, but I'm also up for experimenting with it. The important part, however, is that I'll be able to take shots of products to complete my reviews.

Take a peek at BIOSLEVEL for the said updates, and watch for a new review in a day or so. Also expect another entry here in the near future.

May 31, 2008 07:24 AM

Steven Oliver

Bye bitch…x ;)


That ellipses was a comedic pause. You may laugh.

Anyway, I got rid of BitchX. While I was glad that I tried it, this client called Irssi is much better. It was one of those feelings where the program just feels crappy. Irssi doesn’t feel like that yet, but we’ll see. And if you need any help simply follow this guide. Worked for me. Irssi appears to rememer commands on its own which is nice, but I’d like to edit some conf or script files. Haven’t looked for them yet, but I’ll see later

Enjoy the Penguins!

May 31, 2008 01:51 AM :: West Virginia, USA  

May 30, 2008

Jürgen Geuter

Feature uniformity in open source and opinionated software

In open source software there's a trend towards feature uniformity. Let me explain what I mean:

When for example Mediaplayer_A gets a new "killer feature" (like for example sharing of music over the net as we have it with DAAP) it does not take long till libraries emerge that implement the functionality and all the other media players integrate it, too, often most of them relying on one library (like for example libgpod for Ipod access). If there was no easy library to include to get the feature with "little" work probably way less projects would integrate it (cause reverse engineering is a whole lotta work). That is what we see in closed source software from time to time where one has that killer feature the others don't seem to be able to pull off.

Now one could say that this makes it boring (as uniformity often does) and that it spawns more of same-old, which is a valid concern. As long as the developers don't have a clear "vision" where they wanna go with their software it will spawn an army of clones, all pretty much the same thing (maybe implemented in different languages/toolkits).

I argue that it gives developers more possibility to be "opinionated". There's not the need to throw countless development hours at things that other people had already done or at reverse-engineering some kind of protocol. This frees up resources to actually invent and do things in new ways.

These new ways might scare some of your users away cause they don't like the new way but that's a sacrifice you'll have to make to write the best possible software. Staying similar to everyone might bring more people in (as in "Oh it's amarok in Python? Cool!") but creating something new and exciting is the way to push things forward.

Fighting uniformity while on the other hand profiteering from it is a tough line to walk, it's a very narrow path between being a clone and going the whole NIH-way both of which make your software of little use to the community. But it's an awesome opportunity to actually challenge the abstractions and representations that we thing are "god-given". It's a way to rethink human-interface-design because you know that many of the basic features are actually already covered.

The fact that open source gives you a large box of blocks to play with is what makes it so interesting. You just have to make the step to actually challenge the things that be.

May 30, 2008 10:59 AM :: Germany  

May 29, 2008

Zeth

SFTP in Python: Really Simple SSH

ssh.py provides three common SSH operations, get, put and execute. It is a high-level abstraction upon Paramiko.

I wrote it yesterday for my own needs, so it is still very much in the beta stage. Any improvements or comments gratefully accepted.

In short, it works as follows:

import ssh
s = ssh.Connection('example.com')
s.put('hello.txt')
s.get('goodbye.txt')
s.execute('du -h --max-depth=0')
s.close()

That is it, in the rest of this post, I walk through this line by line.

Installation

First, we need to install paramiko, if you don't have it already.

On Gentoo Linux:

emerge paramiko

On Ubuntu/Debian and so on:

apt-get install python-paramiko

If you want to use Python's easy_install then:

easy_install paramiko

Secondly, you need to grab the ssh.py module, grab it from my code-page, and save it as ssh.py.

Connecting to a remote server

To play with the script interactively, you need to start Python:

python

Now, import the ssh module:

import ssh

Next we need to initiate the connection. If your username is the same on both systems, and you have set up ssh-keys, then all you need to do is:

s = ssh.Connection('example.com')

Connection supports the following options:

host The Hostname of the remote machine.
username Your username at the remote machine.
private_key Your private key file.
password Your password at the remote machine.
port The SSH port of the remote machine.

The host is essential of course. Port defaults to 22. The username defaults to the username you are currently using on the local machine.

You need to use one of the authentication methods, a private key or a password. If you don't specify anything, then ssh.Connection will attempt to use a private_key at ~/.ssh/id_rsa or ~/.ssh/id_dsa.

So to specify a username and password, you can do it like this:

s = ssh.Connection(host = 'example.com', username = 'warrior', password = 'lennalenna')

Of course, Python also allows you to use the order to specify the arguments, so the last example can be written as:

s = ssh.Connection('example.com', 'warrior', password = 'lennalenna')

Operations

Once you have set up the connection, there are three methods you can use. Firstly, to send a file from the local machine, you can use put:

s.put('hello.txt')

The above example copies a file called hello.txt from the current local working directory to the remote server. We can also be more explicit if we want:

s.put('/home/warrior/hello.txt', '/home/zombie/textfiles/report.txt')

So the above example copies /home/warrior/hello.txt on the local server to /home/zombie/textfiles/report.txt on the remote server.

The second operation works in a similar way but in reverse:

s.get('hello.txt')

get takes the file from the remote server to the local server, again we can be more explicit if we want:

s.get('/var/log/strange.log', '/home/warrior/serverlog.txt')

The above example copies the strange.log from the server and saves it as serverlog.txt.

The last operation is execute, this executes a command on the remote server:

s.execute('ls -l')

This returns the output as a Python list.

Closing the connection

You can do as many operations you like while the connection is open, but when you are finished, you need to close the connection between the local and remote machines. You do this with the close method:

s.close()

There we go, that is all I needed to do with SSH. Please do let me know using the comments below if you have any problems using it.

If you import my module in your program and later find that you need more power or flexibility, you should be able to swap it out for the full paramiko with a minimum of fuss.

Discuss this post - Leave a comment

May 29, 2008 09:28 PM :: West Midlands, England  

George Kargiotakis

Another day, another debian headache

The case is this, a debian server running Debian 4.0 etch has it’s motherboard broken. We send it for replacement but they don’t have another of the same model to send us so they send us a shiny new model. The new model houses a P35 chipset. The latest Debian 4.0 etch kernel is 2.6.18 [...]

May 29, 2008 09:21 PM :: Greece  

Jason Jones

Postgres Authentication in Proftpd

Today I was commissioned to create an FTP server here at work.  Through persistent pestering of the hideously insecure nature of FTP in general, my boss let me dedicate an entire server just for the company's need to FTP.  This was to negate the possibility of any hacking of the web server, should the FTP server be compromised.  It's even going to be  restricted to its own subnet.

All technicalities aside, my boss told me just to put up a "quick" site for a "couple" of users.  Well, I've been a web dev for long enough to know better.  A "quick" site put up quickly becomes the site everyone uses, and the subject of incessant requests for improvement.

I didn't want that to be the case for this FTP server, so I spent the time and hopefully did it right.

I'm using Proftpd 1.3.1 on gentoo (of course), and I'm authenticating through a postgres database.  Yes, it's probably overkill, but at least I'll be able to sleep at night after 5,000 people are using it each having their own repositories.

Here's how the config looks, just in case anyone is trying to do the same.

ServerName            "Natures Way FTP Server"
ServerType            standalone
DefaultServer        on
RequireValidShell    off
SQLAuthenticate        users
SQLAuthTypes        Plaintext
SQLBackend        postgres
SQLConnectInfo        proftpd@localhost username password 120
SQLDefaultHomedir    /var/ftp/default
SQLDefaultUID        21
SQLDefaultGID        21
SQLEngine        auth
SQLNamedQuery        get_user_info SELECT "username, passwd, uid,gid,homedir,shell FROM users WHERE username = '%U' LIMIT 1;"
SQLUserInfo         custom:/get_user_info

SystemLog        /var/log/ftp/system.log
TransferLog        /var/log/ftp/transfer.log
DebugLevel        9

DefaultRoot        ~

AuthPAM                off
AuthPAMConfig        ftp
Port                21
Umask                022

MaxInstances        30

User                proftpd
Group                proftpd

<Directory />
    AllowOverwrite        on
</Directory>



I created a simple table containing username, passwd, uid, gid, homedir, and shell fields and I was off!

Anyway...  I just thought of putting in a quick 'n' dirty reference for anyone trying to use postgres authentication through proftpd.

Hope it helped (and sorry it wasn't very thorough.  I had about 10 minutes to throw this together)

May 29, 2008 06:20 PM :: Utah, USA  

Michael Klier

What Are You Doing In Front Of Your Computer All Day?

This is a question I hear way too often from my flat mates, friends and family. Most of the time, a conversation that started with such a question goes something like:

<someone> What are you doing in front of your computer all day?
<me> Hmmmmm, I'm working ... kind of.
<someone> All the time?
<me> Not all the time, but well, probably most of it.
<someone> Aren't you chatting or stuff like that?
<me> Yep, but that's not the type of chatting you're used to I guess.
<someone> What are you working on?

Now the conversation reached a point where you can either terminate it by saying something that just pops into your mind, like you're preparing something for work tomorrow (most people I met aren't interested enough in the job I have to ask further questions) or you get yourself prepared to explain:

  1. FOSS to someone who has absolutely never heard about it
  2. what the whole story really means to you
  3. and why you're participating (which way ever)

or simply that you're trying to make your NAS drive playing music, while being remote controlled via bluetooth from your cell phone (chances to terminate a conversation with this answer are actually quite good).

Regardles of which of the above options you choose, you'll have a hard time to explain something that most people (at least the ones I met) can't accept as being rational.

<me> Well, there's this Open Source project, called foo I am helping a little bit here and there.
<someone> What is Open Source?
<me> Hmmmm, well ... 
[skipping stuff about available source code, licenses, the M$ example of closed sources and so forth].
<someone> Aaaaaha (I haven't really understood 75% of what you've just said but).
<someone> Are you or the others getting paid for what you do?
<me> Actually, nope, there are exceptions of course.
<me> However, chances are that someone maybe donates a few bucks.
<someone> That doesn't make any sense at all, why are you doing this?

This is the hardest part of the story. At least for me. In fact, I have to answer the “Why am I doing this question?” (apart of the fact that Open Source makes sense) from time to time for myself to keep me on track and motivated.

Fun

I am an hobbyist. I have fun exploring new things. I'm self taught. Even though I've never studied computer science or the like, I am quite interested in programming and managed to develop I think at least average programming skills in some programming languages (yes, I make/made mistakes and like probably everyone else I am still learning). Some people I've met fail to understand why learning programming could be fun in any possible way, but to me it's just that, fun.

People

The other thing that drives me are the people. To me, Open Source also means meeting (not necessarily in real life) a lot of new interesting people (with far superiour coding skills ;-)). Often these people happen to share the same sense of humour or other interests and you can have a good time hanging around in IRC/forums (though that as well depends on the community).

Reward

And last not least, there's this warm feeling you get once you've accomplished something. When I think back to the day my first patch was merged upstream my heart still beats a little faster and it's still a great moment when that happens nowadays. I am really not addicted to the whole thing, though some would probably guess so by the time I spent in front of my computer, but I'd surely miss quite a lot if all that would be gone one day (though I can't think of how that could possibly happen other than by going blind or loosing my hands).

What about you? Why are you contributing to Open Source projects (or maybe you've even started your own)? What are your motivations?

Read or add comments to this article

May 29, 2008 12:01 PM :: Germany  

Iain Buchanan

Step 6... Profit!

Them good 'ole spam messages are getting more cryptic! This is the latest one I just recieved:
1. Find a girl
2. Invite her to your appartments
3. Use subject product V (or C)
4. Have fun
5. Take her number
6. Profit?
Beats me what that means! Maybe it's really a secret code...

May 29, 2008 05:07 AM :: Australia  

Steven Oliver

Setting up Gentoo


Setting up Gentoo has become, for me, more painful than installing these days. Everything from SLiM to Fluxbox to Conky to bitchX gives me trouble.

I’ve got everything installed and restart and SLiM won’t start despite the nVidia logo popping up. Well, apparently I had the mouse named one thing in the device section and something else in the screen section. Then I tried again and the same thing happened. Apparently on Gentoo you have to install the evdev driver independently. So now SLiM will start but Fluxbox will not after logging in. Yes, you can see where this is going. So apparently leaving the ampersand off of the command to start conky on login stopped fluxbox in its tracks. I cannot explain that one but that appears to be what happened.

I then spent the next hour or so trying to figure out bitchx. I never would have guessed that making bitchX appear in the background as part of the desktop was such a painful ordeal. Yeah, well it is. If anyone ever wants help doing it leave me a note. Maybe I’ll stuff on article in the Gentoo Wiki on it. Maybe I’ll do it for my own sake. Either way I think I now have it working. Here’s another oddity though. I set the geometery of the Eterm terminal through the command and through Fluxbox’s app file. For some reason doing that made bitchX take up 100% of my processor usage. I can’t explain that one either.

Good luck setting yours up. This is crazy. Oh yes, and lets not forget my adventures in font land. Needless to say Paludis still works flawlessly with no setup hassle.

Enjoy the Penguins!

May 29, 2008 03:02 AM :: West Virginia, USA  

May 28, 2008

George Kargiotakis

pcmanfm 0.4.1.1 ebuild

A new pcmanfm version (0.4.1.1) is out and since there’s no ebuild yet available I made one by modifying a bit the one I found about version 0.3.2.2 on sunrise overlay. I’ve included a patch I found about enabling/disabling deletion confirmations. Downloads: pcmanfm 0.4.1.1 ebuild pcmanfm 0.4.1.1-r1 ebuild confirm_delete.patch tested on x86 and ppc (thanks to comzeradd) enjoy! P.S. Looks like I [...]

May 28, 2008 11:14 PM :: Greece  

Zeth

SFTP in Python: Paramiko

In your scripts or applications, you might need to copy a file from one server to another. One way to do this is to use SFTP, the secure file transfer program, which uses an encrypted SSH (Secure Shell) transport which in turns runs over TCP/IP.

One of the Python implementations of SSH is called Paramiko (available in package managers as paramiko or python-paramiko).

Paramiko is extremely comprehensive so you can get as complicated as you like, but for me, I just want to be able to copy files from a known remotepath to a known localpath and back again.

In this post I explain how to do this using Paramiko directly, in the next-post, I look at another approach.

So we start by importing the module, and specifying the log file:

import paramiko
paramiko.util.log_to_file('/tmp/paramiko.log')

We open an SSH transport:

host = "example.com"
port = 22
transport = paramiko.Transport((host, port))

Next we want to authenticate. We can do this with a password:

password = "example101"
username = "warrior"
transport.connect(username = username, password = password)

Another way is to use an SSH key:

import os
privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
username = 'warrior'
transport.connect(username = username, pkey = mykey)

Now we can start the SFTP client:

sftp = paramiko.SFTPClient.from_transport(transport)

Now lets pull a file across from the remote to the local system:

filepath = '/home/zeth/lenna.jpg'
localpath = '/home/zeth/lenna.jpg'
sftp.get(filepath, localpath)

Now lets go the other way:

filepath = '/home/zeth/lenna.jpg'
localpath = '/home/zeth/lenna.jpg'
sftp.put(filepath, localpath)

Lastly, we need to close the SFTP connection and the transport:

sftp.close()
transport.close()

In my humble opinion, one should not have to write so many lines or care about the SSH protocol just to send a file from a to b. In the next-post, I will share my own higher level API that runs on top of Paramiko.

Discuss this post - Leave a comment

May 28, 2008 07:59 PM :: West Midlands, England  

Sean Potter

Weekly Workings

I've been very busy the past week, mostly just for the fact that I worked eight days straight. It might have been good money, but tomorrow is a well-earned break. In these past eight days, I fell behind in some of the reviews I've been writing.

I meant to post a review of the OCZ Reaper HPC DDR2 RAM I used in my reviews of the 780G motherboard and Radeon HD3870 Toxic, but fell behind because of all the extra hours spent at work. There're several more reviews to follow the review of this RAM, but my main concern right now is the RAM.

BIOSLEVEL has several fantastic reviews coming up, but what I'm really excited about is a home theater series of articles I'm trying to plan out utilizing MythTV. We have one machine that's able to act as a MythTV box itself, as well as a MythTV server so other units can connect to it. This'll be a great option for some units such as the Asus barebones I recently reviewed for BIOSLEVEL

On the bright side of my time issues, I did manage to get a little done on a new design for this site, as well as business cards for BIOSLEVEL. Once both are completed, I'll post the final designs. Or, that is, change the design of the side and post an entry about the business cards.

May 28, 2008 08:13 AM

Iain Buchanan

Logitech MX Revolution in Linux

With my Dell Precision M6300, I was given a Logitech MX Revolution Rechargeable Cordless Laser Mouse. There's a review here. This is a great looking mouse with a good feel (if you're right-handed). It has the usual buttons and wheels. Compared to other laser mice, it has the same smooth flow and precision.

The greatest feature however, and it's stand-out point is the wheel. The wheel can change from a click-wheel to a free wheel. By default in Linux (no special drivers loaded) The wheel button itself changes this behaviour, which means you don't have a middle-button (button 2). If you use this for Firefox tabs, or pasting, you will find this a real pain!

Windows users get an extra feature: Depending on how fast you scroll the wheel, the click-scroll will automatically disable, allowing the wheel to free spin for quite a few seconds. When it stops, the click-feature automatically sets back in. You can hear this with a small "clunk". Logitech claims this is great for navigating very large documents quickly. I like it because I like watching shiny things spin :)

I assumed I would be left without this in Linux however, as weird Windows driver stuff is usually not available. Think again! Thanks to Some Guy there is a program called revoco to control it. Petteri Räty (betelgeuse) has created an ebuild for Gentoo. Follow his instructions, and be sure to read the comments, as you will find some useful info there. I had to do the following:

  1. Edit revoco-0.3.c and change the value of #define MX_REVOLUTION to the value you get for you mouse from `lsusb`. Mine is c525.
  2. The auto setting was a bit whacko by default - the solenoid was clicking on and off without even moving the wheel. This worked:
    $ sudo revoco auto=10
  3. Setting the manual click change to button "6" (find button) gives you the middle click (button 2) back *woot*
    $ sudo revoco manual=6
    and also gets rid of that annoying "search" keyevent which I have a keyboard for :)
  4. But unfortunately, when I set the manual=6 option, the auto scroll feature turns off again :| But that's a small price to pay!
Now I can show off to my friends :) What fun!

May 28, 2008 07:11 AM :: Australia  

Brian Carper

mp3gain

I listen to MP3s in the car and it's annoying when the volume isn't normalized. I can't be fumbling around with the tiny buttons on my MP3 player to adjust the volume while I'm driving. I found mp3gain and used it on a bunch of files and it appears to have worked.

If anyone knows of a better program for normalizing volume of lots and lots of MP3s, post now or forever hold your peace.

May 28, 2008 01:52 AM :: Pennsylvania, USA  

May 27, 2008

Steven Oliver

Vim trickery


I found two new things to stuff in my vimrc file. I thought I would post about them here so that others could revel in the glory of v-i-m.

set backupdir=$VIM\vim71\backup
set directory=$VIM\vim71\backup

On Linux these two commands do not really appear to help you that much. On Windows though (haven’t tried on any other OSes) these two lines are a life saver.

If you have backup set in your vimrc you’ll notice that Vim leaves little backup files of every file you edit in the same location as that file. Well, generally, these are hidden files on Linux so you might very well have hundreds of them laying around and you don’t even know it. On Windows though they’re not hidden and constantly clog of you desktop along with every other folder full of text files. So the first one is a lifesaver.

The second command, the directory setting, is were Vim will store its swap files that it creates. I do not honestly know what exactly is kept in these things, but they’re temp files who are removed as soon as the editor is closed. But this command keeps them out of sight if nothing else. I’m anal about my desktop so that explains my love of the second setting as well.

I put both of mine in a directory, simply titled, “backup.” I do not know what the difference is between the vimfiles directory and the vim71 directory, but I put them in the latter. Everything else seemed to be there.

So there you have it. Two little tidbits to tiddy of your desktop.

Enjoy the Penguins!

May 27, 2008 07:01 PM :: West Virginia, USA  

Exherbo!


These new beast they call Exherbo looks tempting. Almost tempting enough to ruin a perfectly fine Gentoo installation just to see if I can do it or not. For now though I believe I will hold off and wait. At least until the new init system is fairly usable. Then you can bet your ass I’ll be all over it. But until it gets to that point I’ll have to settle for the feed. Which has thus produced some fairly interesting posts.

Being built from scratch with paludis makes this distro more than interesting. Paludis has always felt like it was only living up to half its potential on Gentoo. But various parts of the distro were holding back. Hopefully Exherbo will cure that sensation.

May 27, 2008 06:19 PM :: West Virginia, USA  

Another Install Story


If there is one thing I love, its a good install story. The trial and tribulations of the people who think they know what they’re doing and how badly they screw it up.

I actually installed Gentoo this weekend. At this point my only  saving grace when it comes to installing Gentoo is I’ve screwed up in just about every way possible so when I screw it up these days I generally know how to get out of it. Everything went great except for the vga parameter in my grub.conf. I should write down which one I use because I spend at least an hour rebooting a blank screen every time trying to figure out the right one.

One thing I have noticed though is the ridiculous amount of posts (blogs and forums) on the speed comparisons of the various package managers. Personally, numbers mean nothing to me, speed is subjective. Just like how my car feels really fast at 50 on curvy road but slow as hell at 50 on the interstate. What I’m getting to here is that the discussion of speed always leads to other talks about how terribly hard it is to setup the various package managers. Well, I’ll just tell you right now, anyone who cannot get paludis up and running within 5 minutes of installing is an idiot. The portage2paludis.bash script has worked flawlessly for me every time.

Regardless of all of that, I now have Gentoo Linux, Fluxbox, and Paludis all working together to make me a happy camper.

Enjoy the Penguins!

May 27, 2008 06:15 PM :: West Virginia, USA  

Martin Matusiak

OpenID deserves to die

Here’s my perspective on it. We all have ideas, some good and some bad. Now it’s understandable that people who have invested themselves into a bad idea, especially if they thought it was good, are reluctant to walk away from it. It’s painful to have to realize that. But the flip side is that we have to maintain the myth of Santa Claus because, well, so many kids believe in him that we can’t let them down. Bad ideas deserve to die for the good of everyone.

The first thing a good idea must have is a real problem to solve. OpenID does very well here. The point of OpenID is to solve our common problem of the internet age: many websites, many accounts, many usernames and passwords. This is probably why OpenID still appears to some people as being a good idea.

Here’s how they do it. Instead of keeping track of your accounts on all the sites you’re a member of, just let one site keep all your account records (sound ominous yet? it did to me). Now, whenever you want to login to one of your sites, instead of using your username/password for that site, you use your OpenID login, which looks like this: http://username.myid.net. This url is effectively your OpenID provider, ie. the site you use to keep track of all your accounts. So now the site you’re logging into sends you to your provider, where you login with a username/password belonging to the account on the provider site, and that logs you into the site you were visiting. So in other words, your account on the provider is the gatekeeper to all your accounts. Sounds simple, right?

I remember when I first heard about this idea years ago. The first concern I had was that in order for this to work, I need a provider to keep track of all my accounts. So I asked myself the question: whom do I trust do this for me? The answer came back: myself. I don’t know about you, but the idea of some third party storing all my logins doesn’t make me feel warmy and cuddly. As it happens, the open in OpenID means you can choose any provider you want, including yourself. You just set up some php scritps and voila, you can use http://mysite.com as your provider. So basically, instead of storing your accounts in some “account manager” program on your computer, you do the same thing on your server. This is where the concept of OpenID died for me. I don’t want to have to depend on my own OpenID provider to work in order to use other sites. I don’t want to add a dependency on my ability to login to some other site contingent on the assumption that my own site is available and working properly at all times (which it isn’t, I have a little downtime like everyone else).

If you don’t want the hassle of being your own provider, you can pick a provider from a list. This is not an attractive fallback option, because now your account on the provider is your key to all your other accounts. If I have an account on some site and I forget my credentials, big deal, I only lose that one account. But if I lose my credentials on the provider, I lose everything.

In theory, OpenID tries to improve your overall security. The hassle of keeping track of accounts is known to us all, and we get around the problem by reusing the same (or similar) credentials on a lot of sites. This is obviously bad for security, because if someone gets your password to one site, they can access all your other accounts that use this password. So security people will always recommend that you use distinct credentials for every account. Suppose you do this, and you use OpenID to alleviate record keeping. Now, OpenID actually works against you. Your account on the OpenID provider is the key to everything. With a different password on every site, you’re that much less likely to remember what it was, therefore your account on the provider is proportionally more valuable.

There is a strange irony at play here. Supposedly, the more accounts you manage with OpenID the more useful it is. But on the other hand, the more accounts you manage with it, the more you depend on it, and the more you make it the one gateway to all your online identities for a potential attacker or for abuse by a dishonest or incompetent provider.

Most importantly, however, OpenID’s solution to the login problem isn’t a very clever solution at all. Typing http://username.myid.net is not a big improvement over a username/password form. My browser already gives me the option to login without typing anything.

Those are my reasons why OpenID is a bad idea and should have died years ago. If you want more, Stefan Brands has an exhaustive laundry list of problems with OpenID.

May 27, 2008 04:15 PM :: Utrecht, Netherlands  

Dirk R. Gently

Quick Tips


Linux Quick Tips
Hello blogosphere! As I’m working on putting my bash scripts together, here’s a few quick tips that one may use in everyday life.

Background Command

Ever started a program in the terminal because it doesn’t have a menu listing, or need to see it’s error output and then realize later that you need the terminal? Opening another tab is simple enough but you really don’t need the program hogging the terminal anymore. Well, there is a way to do this.

Previously, people may have viewed my bash script that can start programs in the terminal in the background. Already running applications can be backgrounded as well. First type ctrl-Z to release the application, then using the bg program will background it’s output.

Gnome’s Middle-Click, Title-Bar Trick

For the long time I’ve been using Gnome and just learned about this one. A quick way to look at a window below the current on is to middle-click on title bar. Voila! The current window izzz lowered. More tricks can be found on Gnome Tip’s and Tricks page.

Firefox Hunt

I have the tendency that once I’m on the keyboard, I like to stay on the keyboard, so doing a search in Firefox by going to the mouse selecting the search engine, and typing in the field seems like extra legwork to me. To do a fast search in Firefox on the keyboard is as easy as: ctrl-K to move to the search box and alt-up/down to select the search engine.

Grep Two Search Terms

On the occasion that a grep search needs to look for two words, egrep it:

egrep -w 'word1|word2' /path/to/file

Fox in Hounds Teeth

This is personal advice, but take it from me - worth it. Don’t use Foxmarks Bookmarks Synchronizing Service. I used this service as I sold my old computer when I got the new. I trusted this service to hold my web bookmarks and… it didn’t. It errored with the line, “Can’t synchronize bookmarks, transfer error.” I asked about the error and only got the explanation that, “…this sometimes happens”. Also I got no explanation on why or what happened to their backup service.

There’s another Bookmark Synchronizer out there but for the life of me can’t remember the name of it. Anyone?

Thunar Custom Actions

Thunar has the ability to create custom scripts built directly into it. For the most part it’s self explanatory. For greater degree of difficultly scripts, here’s the documentation.

Have a Good Day! :)

May 27, 2008 04:13 PM :: WI, USA  

Martin Matusiak

kwin leaks memory

Something is very wrong here. Right after starting a KDE session everything looks normal.

But after running for a day we have a different story. I’m assuming this isn’t the expected behavior (if so I didn’t expect it).

This time I specifically took a screenshot to prove it, but I’ve seen it eat up as much as 1.3gb of my memory, which is rather unnerving.

kwin-kde4        4:4.0.4-0ubuntu1

Bug report.

May 27, 2008 01:00 AM :: Utrecht, Netherlands  

May 26, 2008

Jürgen Geuter

Thinkwhack

I was in a project-y mood today and since work was going good all day, I started some work on a little pet-project called "Thinkwhack".

It's somewhat inspired by smack.py but I wanna make it somewhat more flexible and useful.

What it will do is to allow you to have certain action triggered when "whacking" the laptop (if your laptop has a hdaps module which only Thinkpads have I think). Right now it's pretty simple and just plays a sound but it already has a proper systray icon so things should be easy to add there.

I play to give the user the option to play sounds or trigger other options when whacking the machine (maybe tilting also): Hide all the windows on your desktop for example, switch workspaces, run a random script.

The next step will be to get a proper motion detection algorithm in there cause right now it's not that smart, then some proper configuration.

Here is some video footage:


It's not really all that useful I admit but still might turn out to be useful later ;-)

What this definitely will spawn are a few python howtos so it's not in vain.

May 26, 2008 08:49 PM :: Germany  

Jason Jones

Ultrasound For 3rd Child

For the last two children, I've been relatively relaxed with the rest of my life, so I was eagerly awaiting and up-to-date with the happenings of our pregnancy.

This time around, I'm quite busy otherwise, and this ultrasound crept up on me.

I'm also quite amazed at the technology which wraps around the medical field.  At the last portion of the video, you can see our little boy's profile quite clearly.  It's amazing.

Anyway...  I was really excited to hear the heartbeat and see our little guy this time, as I wasn't really thinking much about it until it happened.  Kind of a spiritual occasion.

The video was quite big this time, and I haven't got around to editing videos yet, so the above is the complete ultrasound.

Thanks for watching!

May 26, 2008 03:16 PM :: Utah, USA  

Daniel de Oliveira

Unmasking Gnome 2.22 and more…


For those (like me) that are tired of 2.20 and don’t want to install autounmask for any random reason, here’s the list of packages:

sys-apps/hal ~x86
dev-python/pyxf86config ~x86
app-misc/hal-info ~x86
net-wireless/bluez-libs ~x86
media-plugins/gst-plugins-dvb ~x86
media-libs/gst-plugins-bad ~x86
media-plugins/gst-plugins-fluendo-mpegdemux ~x86
media-plugins/gst-plugins-mythtv ~x86
media-libs/gmyth ~x86
gnome-base/gnome ~x86
media-libs/gst-plugins-base ~x86
dev-libs/liboil ~x86
media-libs/gstreamer ~x86
gnome-base/gnome-applets ~x86
dev-libs/glib ~x86
dev-libs/libgweather ~x86
gnome-base/control-center ~x86
gnome-base/gnome-settings-daemon ~x86
gnome-base/gnome-desktop ~x86
gnome-base/libgnomekbd ~x86
x11-wm/metacity ~x86
gnome-extra/fast-user-switch-applet ~x86
gnome-base/gconf ~x86
gnome-extra/gconf-editor ~x86
x11-libs/libwnck ~x86
gnome-base/gnome-panel ~x86
gnome-base/gvfs ~x86
net-libs/libsoup ~x86
gnome-base/gnome-session ~x86
gnome-base/gnome-keyring ~x86
app-editors/gedit ~x86
x11-libs/gtksourceview ~x86
dev-python/pygtksourceview ~x86
gnome-extra/evolution-data-server ~x86
dev-util/gtk-doc-am ~x86
gnome-base/libgnomeui ~x86
gnome-extra/gnome2-user-docs ~x86
gnome-base/gnome-vfs ~x86
gnome-extra/deskbar-applet ~x86
gnome-extra/gucharmap ~x86
gnome-extra/nautilus-cd-burner ~x86
gnome-base/nautilus ~x86
gnome-base/eel ~x86
net-misc/vinagre ~x86
net-libs/gtk-vnc ~x86
gnome-base/gnome-menus ~x86
gnome-extra/gnome-system-monitor ~x86
media-video/totem ~x86
dev-libs/totem-pl-parser ~x86
dev-python/gdata ~x86
media-plugins/gst-plugins-meta ~x86
gnome-base/gdm ~x86
sys-auth/pambase ~x86
sys-libs/pam ~x86
x11-themes/gnome-themes ~x86
media-sound/sound-juicer ~x86
gnome-extra/bug-buddy ~x86
media-gfx/eog ~x86
mail-client/evolution ~x86
gnome-extra/gtkhtml ~x86
app-arch/file-roller ~x86
net-analyzer/gnome-nettool ~x86
app-crypt/seahorse ~x86
x11-terms/gnome-terminal ~x86
x11-themes/gnome-icon-theme ~x86
gnome-extra/swfdec-gnome ~x86
media-libs/swfdec ~x86
gnome-extra/zenity ~x86
gnome-extra/yelp ~x86
app-text/rarian ~x86
gnome-extra/gnome-games ~x86
gnome-base/libgnome ~x86
x11-libs/pango ~x86
x11-libs/gtk+ ~x86
net-misc/vino ~x86
net-im/ekiga ~x86
gnome-extra/gnome-power-manager ~x86
www-client/epiphany ~x86
dev-python/gnome-python-desktop ~x86
gnome-base/libgtop ~x86
gnome-base/gnome-volume-manager ~x86
gnome-extra/gnome-screensaver ~x86
gnome-base/libbonobo ~x86
gnome-base/librsvg ~x86
app-misc/tomboy ~x86
dev-dotnet/dbus-sharp ~x