Digital Traces

The New York Times has a very interesting article about the digital traces we leave and a completely new generation of Big Brother approaching.

The Hitchhiker's Online Game

I accidentally just found out about the Hitchhiker's Guide to the Galaxy online game by Douglas Adams. And it's full of his witty and hilarious dialogues. (If you have a hard start, try turning on the light... and register on h2g2 to save your games.)

Is the World Ready for a Cyberwar?

After reading a lot in the media about the so called cyber war, I wonder: How well prepared are the nations? In the media it seems as if Russia and China had active cyber warriors sitting and waiting to get into action or if not already attacking. But I can hardly imagine that any technologically advanced nation would not have highly professional IT security experts available...

What do you think? Or are the US cyber warriors just more sneaky? Would the US invent the internet for military reasons and then just sit there while everybody else seems to be putting up their armies? Could a cyber war lead to a real war? Are plain computers the 21st century's war machines?

The Infallible Ticket Machine - When Machines Do Make Mistakes

The LinuxJournal posted a great article about good and bad consequences of technology.

I have had similar thoughts. What people may forget is the problems you may get into with machines and that they do make mistakes. But let me tell you what happened to me.

I went to buy train tickets. They were non-refundable day tickets valid for one day only (not 24 hours).

I went to the machine. I chose the type of ticket. Then I chose a date. Then I chose to take two of them. Then I paid and left. A few hours later I looked closely at my tickets and found out that it did not apply the choice of date to both tickets. One of them was valid only for yesterday. I had bought them at about 11.45 pm. And yesterday was now already past.

Okay, there were several problems: The machine should have warned before selling you a day ticket that would be valid only for 15 minutes. It should actually automatically select the next day then. But the very least it must of course apply your choice of day to the tickets when in the last step it asks you for the number of tickets.

Okay, I thought, no problem. Luckily there are still humans. I went to a service person. The date and time of purchase were printed on the ticket, so it was an obvious situation. I told them about it and was quite surprised about their reaction.

The tickets are non-refundable they told me. That I aleady knew. I said again that I told two tickets and that the date was not applied. They told me I must have made a mistake when ordering them, so it was my fault. That kind of remark is hard to deal with, especially if you're earning money with IT services. I tried to explain this to them and they informed me that machines don't make mistakes.

Ah. That was new to me. I gave up with her and went to another service person somewhere else:

I: Hi, I've gotten the wrong ticket from the ticket machine.
S: Well, the tickets are non-refundable.
I: Oh yes, I know. But I didn't choose that ticket.
S: Then it wouldn't have printed it - you must have made the wrong choices.
I: Aha. (explaining the choices). Could the problem be with the machine?
S: No, there is no problem with the machines. You should simply buy the tickets one by one.
I: And now?
S: You're too late to exchange it now. Try writing a letter to the central custumer service department.

By now I had no time to buy new tickets and had to run to catch my train. It turned out that the train personell didn't even notice the difference in dates when checking my tickets. So luckily in the end a human error helped me avoid problems after the machine's error.

In the end I quite agree with his critic view on technology: One should always keep in mind that machines do make mistakes. And when they do, it can be extremely hard to impossible to convince people of it.

Easily Receiving Big Files via Droopy Webserver

There's a nice little python script named droopy available which let's you receive big files quite comfortably over a simple web browser upload.

List Open Files of a Process

lsof -p `pifof process`

provides an exhaustive list including libraries.

ls -l /proc/`pidof process`/fd

provides a list of only the "plain" files.

Intro to Linux Virtual Memory

LinuxPlanet has a really good article explaining how the Virtual Memory System works in Linux. I think it's nicely done and considering the subject it's a pretty easy read.

Introduction to SSH

LinuxPlanet has a nice short intro to ssh. I have her on one point, though:

The example ssh terry@host2 ls ~ is just badly quoted/escaped. There's no need to use /home/terry if you correctly escape the tilde by putting it all in quotes: ssh terry@host2 "ls ~".

This lets your shell know it's not supposed to resolve the "~" so that the shell on the other side of the ssh line will do so. See the e.g. EXPANSION section in man bash for more.

More About Being a Good Citizen in an Open Source World

After looking into the source of Android, Metthew Garrett tells us about his disappointment with the underlying code. And with his example of iPhone vs. Android a heated debate was of course not far:

Who is the worse open source citizen, Google, Apple or nobody? And I posted a little comment as well:


Google is to blame for doing open source(Linux), but the wrong way(hotfix instead of a good solution).
Apple is to blame for doing open source(BSD), but the wrong way(bad or no community "backfeed").

What's worse is a matter of taste. I also think Apple is the worse open source participant. They give back so little to the community it makes me sad. (Then they restrict the app store in ways that prevents competition, etc.)

Google does not do much for the community, though it says it tries. But honestly, if you would put their effort into relation with what money they make through open source software, it's really very sad, too. And the companies PR departments would be silly if they wouldn't make sure it looks like a serious effort.

But they both gain a lot and give a little. Google may state what they wish - considering their resources they give little. They could employ at least a few expert kernel hackers pro bono. Otherwise they will get an identity crisis a little like Ubuntu currently: People want to know they are part of bringing things forward.

And this shows the problems with current open source licenses in my view: The companies still don't really have to give useful "back-feed" to the open source projects (far from being in relation with what they gain).


What if the EU would decide that every device must come with open source drivers? Or if someone wrote a license that requires at least 1% of the profits from the open source project to flow back into the project? It would of course be very good for the projects. But in a second step I am convinced it would be at least as useful from a macroeconomic point of view:

Less development effort would be duplicated and the code quality would constantly increase.

Of course the big problem with this approach is finding out how much money is made with a project. That would be the job for courts to decide. And currently I can't think of any really good measurement possibilites. But then with 1% of the profits I'm sure it would not hurt a company anyway.

NVIDIA Brings Fast GPU Video Acceleration to Linux

It's been a while. I've sat here on my chair for a long time and thought to myself: Hey, if you want to do it, video acceleration would be really easy to integrate into Linux software: It's mostly open source and the changed would be pretty specific to that part.

Then came XvMC and it was not really convincing, because the impact was not too fast and it only worked during playback Mpeg2 AFAIK, not during transconding.

Now came NVIDIA (admittedly a couple weeks after AMD, but therefore publicly and including patches for mplayer) and finally brought out really nice and efficient video acceleration for linux.

My favorite Linux Performance News Site Phoronix checked it out and you can see quite an improvement (CPU usage with first OpenGL, then XVideo and then Nvidia's "VDPAU"(Video Decode and Presentation API).

I hope AMD and Intel will finally come out with some progress in this area, too. Next I would like to see support for encoding, e.g. in Xvid and then maybe even tasks such as gzip, bzip2 (the latter ones didn't even show multi-core support in my tests).

Customized Linux Message Notification, I Wish I Had

After writing an alias that shows me what's currently going on in my system (tail -f /var/log/..., ~/.xsession-errors, ...) I've wondered:

A. Why the information is not all going through syslog (almost is, but not e.g. the users errors).

B. And more importantly: Why isn't there a nice interface to syslog that shows me what I want to know, e.g. as a plasma applet for kde4, configurable but with low resource consumption nice&pretty on my wallpaper?

That'd be nice, wouldn' it? Maybe I'll write that myself one day...

How to Scroll Back in Screen

Ctrl + a + [ + j/k
Or Ctrl + a then Esc and then use the cursor keys. Esc to leave the mode again.

Google Finds the Flu

Google just released a tool to track the spread of flus by statistical analysis of their search data. And it seems to work, too.

Prepare JPG Files for Fax

This script prepares your scanned Jpgs for using them e.g. with the sipgate fax. Or you can simply join them together in a small (black&white) pdf. Of course you can change it.

#!/bin/bash
# (c) 2008 linux-tipps.blogspot.com
# published under GPL v. 3.0 or later.

which convert || echo Please install ImageMagick && exit 0;
which sam2p || echo Please install sam2p && exit 0;
which pdftk || echo Please install pdftk && exit 0;

mkdir tmp
cd tmp
ln ../*.jpg .
for i in *.jpg; do nice convert $i -unsharp 3x3 -monochrome $i.png; done
for i in *.png; do sam2p -pdf:b2 $i -pdf: $i.pdf; done
pdftk *.pdf cat output output.pdf
mv output ..
cd ..

rm -rI tmp

"Begging the Software Gods"

"Begging the Software Gods" is an interesting read about what choices we make in Software and what they mean. A nice work of open source politics. I think I would not understate to say he is preaching open source ethics.

But I have one point to make: Unless you are (or employ) a mighty programmer, you are not as free as you feel after reading the article from your Linux system. ;-)

Update:
The point he makes is true and good. But in my view having a freedom is worth no more than you have the actual concrete ability to use it and gain direct benefit from it.

Now I think it should be made easier to actually do it, to benefit from that freedom. But e.g. finding a suitable programmer is often still complicated and not every open source project has a place to e.g. offer bounties. As he sais: it is not always an easy choice, but a worthy choice.

You have the freedom, but you can only really use it when you have someone with programming skills. And he did not mention that. (Of course that's not his point.)

The point I'm trying to make is that an infrastructure that enables the average non-programmer user (e.g. through money) to really take advantage of these freedoms (customize software) without much effort would have a positive effect for the open source community. It would give provide money to the programmers and help users in realizing the open source freedoms.

Now the other cool then is that you might actually get a programmer to write a feature for the same money you would have paid for a closed source software (esp. Microsoft Office vs. OpenOffice). And when you do, everybody can profit from that. If more people would see that and act like it, the whole community would profit.

TV International?

I still wonder why TV is not really international yet. We have endless countries with interesting TV channels. Especially US channels would probably get a lot of international viewers, as many people speak English and they often show things earlier than the TV stations in other countries.

But they don't broadcast their channels. At first they always claimed it would not be feasible technically, until Zattoo came along and proved what was clear before: Where there is a will, there is a way.

Now the TV stations claim they don't own the rights. Or they go online for some regions like hulu.com. And I still think: Where there's a will, there's a way. How long do we have to wait, until the Internet tears down the borders of TV stations?

How long until it will be possible to legally and comfortably watch your favorite TV series when it first aired.

Setting up NX

A tutorial how to set up the IMHO best remote desktop connection: NX.

WPA Encryption Cracked

If you haven't already read about it, it seems to be true: The Wifi encryption protocoll WPA has been compromised. The method will probably published pretty soon.

That means many people will need a new router and a new setup for it. And for a long time many networks will remain open again. If you want a long term solution it more and more looks like a VPN solution is the only way to go.

And if I'm not mistaken he who managed it is Erik Tews from the German University of Applied Sciences Darmstadt.

Okay, it turned out the hack is not as bad as thought. It will probably still take some time and combination with other approaches to really become useful. But I think this might help around the current restriction that you can only decypher clients that connected after you were "listening" with WPA.

A Tiny Backup Script with Rsync

This script lets you easily mirror a local directory to foreign computers that have rsync installed - securely via ssh. It assumes you have already set up a public key authentication with those servers. (Have a look at ssh-keygen and ssh-copy-id)
#!/bin/sh
# (c) 2008 linux-tipps.blogspot.com
#

FROM=/home/user
# the base path
DIRS="Desktop Documents"
# you can also use absolute paths

RSYNC="rsync -av --progress -e ssh"
# add -z for compression

ssh-add -l || ssh-add
# this adds ssh private keys if not added already
# for cron scripts use keychain instead:
# source ~/.keychain/*-sh
# see here for more

cd $FROM

$RSYNC -z $DIRS djtm@server1:/some/path/Backup/ &

$RSYNC $DIRS djtm@server2:/some/path/Backup/ &

wait && echo Sync Done. || echo Sync Failed or Aborted.

Find Bots in your LAN with BotHunter

BotHunter is a pretty cool software that helps you detect bots through passive network monitoring.

Their webpage has just gone offline. I'm sure that's because of all my readers visiting their web page right now. ;-)

Apple's Lock-In Syndrome

Apple is locking iPhone users into their rigid software framework through the App Store: They would not let people develop interfaces to Gmail and now they prevent the great Opera Mini from being ported to the iPhone.

Adobe Flash has also been ported, but is kept away from the iPhone by Apple.

So if you've wanted to buy an iPhone, reconsider. It's buggy and Apple won't let you install any software that might "duplicate" available functions. They should be honest and say software that competes with theirs.

Source: Heise Article [german original]

DVB-T in Linux

There are two great program for watching DVB-T in Linux: Kaffeine if you want it really comfortable (including scheduled recording, instant pause and high quality deinterlacing) and VLC if you're a sync freak (it has special syncing algorithms to ensure there is no audio video desynchronisation.

But most people don't notice a few ms desync, so I can recommend kaffeine. If you still want to use vlc, you should know you can open the channels.conf like a playlist so you need not go crazy trying to manually set up the reception.

OpenOffice 3.0 in Ubuntu 8.10

Here's a quick guide. It's all about downloading it and installing the deb files... ;-)

Interesting readme files

Who ever reads those readme files coming with the software? Well, someone did. And he's posted some funny quotes.

Fixing Wake On LAN in Ubuntu 8.10

I've already spent a few hours to finally get this working again. There are several problems in Ubuntu 8.10 considering Wake on LAN:

1. The network cards' drivers are unloaded during suspend.

This often deactivates your card's wake on lan feature and completely powers it off.
You have to add your network cards driver module to the MODULES_WHITELIST in /etc/default/acpi-support. Also add the network card's interface(e.g. eth0) to SKIP_INTERFACES.

2. The network is not (properly) restarted after resume.

a. NetworkManager overrides settings in /etc/network/interfaces.

The easy way is to simply remove networkmanager: sudo aptitude remove network-manager.

b. The network setup script is not restarted after resume.

You can add the script (networking) to STOP_SERVICES in /etc/default/acpi-support.

3. Wake on Lan is not enabled by default

You need to issue e.g. sudo ethtool -s eth0 wol g. You can do that in an init script and you will likely have to do it again after resume. (I've put it a script to do that into both /etc/acpi/suspend.d/54-wol.sh and /etc/acpi/resume.d/99-wol.sh )

List of Ubuntu Intrepid Bugs

There's a nice list of issues in Intrepid after upgrading. And there's more from other users in the comments. So read this post before considering the upgrade to Ubuntu 8.10 unless you've got some time on your hands.

Linux Memory Statistics

Find out a lot more detailled how memory is used in your Linux system with these tools.

Introduction to WINE

Here's a nice little intro on what to do with wine. For help with wine, checkout Frank's Corner.

New Layout

I've changed a few things in the layout. Let me know if it works for you!

My Software Favorites

Googling for Something Linuxy

Sometimes when you talk about things as a Linux user, people look at you oddly. For example when you tell them about installing software into a wine bottle in Linux. They'll probably just look at you in wonder and consider if you've gone mad.

Now the same sort of happens with Google sometimes. Even though Google is based on Linux, it will find quite a different kind of wine unless you e.g. add linux to the search. But even then it's not efficient and you might lose pages, as wine also works on Mac OS X and (yeah, I know) Windows itself.

But there's help: the Google Linux Search. It's not restricted to Linux as its name suggests, but excludes almost everything that doesn't have anything to do with computers (and which might distract the normal Google).

I've got Sun Java Working in my Browser in 64-Bit Linux!

I've been trying to get java to work in the browser for me for a long time now. And I've got two final results for you: First, it's (yet) impossible, the 64-bit java browser plugin will not be out before 2009.

But Secondly, it's possible and really easy with wine! Just download Firefox and install it. Then download Java and install it. Done! That easy! :) It should work the same way for Flash, etc.

Now finally I could use packstation.de in Linux!

Automatically Boot Different Kernel on Fail With the Grub Fallback Options

Did you know you can configure grub to automatically fallback to a different boot entry if one was not successful? A pretty neat idea, especially for servers where you can now avoid a lot of head aches. It doesn't matter at what point the system hangs, grub will boot the other kernel the next time, unless the system boot completes and you tell it not to with another grub-set-default. Nice!

Funny Bug Report Misuse

Ever been annoyed the Bugzilla or a similar software to report bugs online? Here are some funny examples for bug report misuse: http://linuxshellaccount.blogspot.com/2008/11/funny-mozilla-bugs-open-source-humor.html

Rude Linus Torvals

If you ever wondered why people say the kernel developers are sometimes very rude, check out this article, referring to a post by Linus himself.

32 Bit Software in 64-Bit Debian-Based Distribution (e.g. Ubuntu)

There's a wonderful script named getlibs, that makes the annoying process of installation 32-bit libraries really comfortable.

Canon Printer Tips

Did you know there are original Linux driver from Canon? Now you know that, why not get the hacked and enhanced version.

Backup with Rsync

There's a nice article about backups with rsync at Linux.com.
I shall leave the explanations to it and just post my script as example here
DIRS="Documents Desktop"

cd ~
for i in $DIRS;
do
echo Syncing $i
rsync -av --progress -e ssh "$i" user@server:/path/to/dir
done

Disabling Touchpad on Demand

There's now an alternative to using the shared memory of the synaptic driver to enable and disable the touchpad:

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Off" 8 1 (enable)
xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Off" 8 0 (disable)

This should work out of the box in Ubuntu 8.10 (Intrepid). But it doesn't. At least not for me. But this works for me:

xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Off" 8 0
xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Off" 8 1

Nice! :)