Creating a list of installed programs for later

Sometimes when you move from one server to another, you need to keep a list of programs you need. One simple way to get this list is:

dpkg --list |egrep -o '^ii\W+(\w+)'|egrep -o '\w+$' >> installed_programs.lst

Which will create a file called installed_programs.lst with a list of installed programs. Then, if you need to install all these programs, you can simply use:
xargs aptitude install < installed_programs.lst

Doing something in a directory, a simple bash line

If you are recoding large directories of files, or creating directory indexes, you may need a script that runs another script in a directory. The easiest way to do this is probably using something like the bash for loop:

for dir in *; do
  cd "$dir"
  indexThisDirectory
  cd -
done;

Although you may think this should work, it has a small problem: if the directory does not exist, the first cd will fail and cd - will bring you back to the last dir you did. After entering that directory, the next directory will fail and bring you even more back into time etc.

A solution may be the following:

for dir in *; do
  cd "$dir" && (indexThisDirectory ; cd - )
done;

Which makes sure to only cd - when you enter the directory correctly. But now we go a step further and run into something else. How do we combine this with xargs? The obvious solution:

find ./ -type d -print0 |xargs -0 -n1 -IDIR cd "DIR" && (indexThisDirectory ; cd - )

won't work correctly: the && will become part of the a new command as bash interprets it as the end of the xargs command and a conditional.

Tired of hacking together and to stupid to find the good obvious solution, I decided to write a little bash script which entails the last part of the previous xargs command and save it as inDirDo:

NeXt onine: the online speed-dating chatbot

Because Google Talk has openend up to any jabber server online, I decided to start running my own chatbot! It's a kind of speed dating thing, online.

My configuration online

After fiddling around with quite some configurational things and moving my first virtual server to my second (cheaper) virtual server, I decided to start hosting some of the configuration files. So I wrote a small PHP script which hosts some of my configuration files directly from my own system: from my disk to your screen!

If you want to take a look at the way logfish.net has been configured, take a look at http://configuration.logfish.net

If you would like to see more configuration files, feel free to ask me by mailing me: bram at neijt.nl

Adding an "Open all" button to Hotmail for Firefox

Hotmail does not have a "Mark all as read" button. To do something similar, here is a chickfoot trigger script that will add an "Open all" button, which will open all unread messages in Firefox tabs.

To use this you will need Firefox and the Chickenfoot extension.

Public television's magic word for security

The dutch public television hosts some of their programs online at www.uitzendinggemist.nl and they do it using the (yes, how stupid can they be) windows media format.

Because I don't use or own any Microsoft systems, I have to make due with reverse engineered FOSS solutions. No problem there, because gstreamer has a plugin and playing back the media will work most of the time.

Download more of The Daily Show then you can look at

The Daily Show can be viewed online. Most pieces of the program are online, and appart from having more ad space, I can't see why they split up the episodes.
However, if you don't want to keep clicking, you can just download most of the early daily shows...

Show the places you logged in from

I only use a few locations to log into the shell accounts I have, so looking at whether an unfamiliar host has used logged in can help heighten security. Only the time of the last login can help me detect whether somebody has been using one of the machines I've been using to access my account without my knowledge, so it's a good idea to also show the last login with the date and time.

Finding a new hostname.. the brute force approach

Due to hosting costs, I decided to switch hosting companies. Because sourcelocation.net is part of the hosting package and I'm hosting my site in Germany (cheap) and I didn't want to go into moving sourcelocation.net (it's a boring name anyway) I decided to start looking for another hostname.

New domain

I'm going to move hosting again, so it was time for a new domain name! Sourcelocation.net isn't the best in the book and it's currently hosted by my current hosting company, which I'm moving away from. So I decided a new name would help out. And the new name is... logfish.net
I'll be moving this blog from main.sourcelocation.net to log.logfish.net as soon as possible and after that, start working on closing the current hosting and moving to the new one... but all that will probably take a month or three.

Syndicate content