A simple shell script – let’s call it index-html.sh – to turn a list of file names into html links:
#!/bin/sh echo '<html><body>' sed 's/^.*/<a href="&">&<\/a><br\/>/' echo '</body></html>'
Example use:
ls | index-html.sh > index.html
Operating systems, emulation layers and virtualization
A simple shell script – let’s call it index-html.sh – to turn a list of file names into html links:
#!/bin/sh echo '<html><body>' sed 's/^.*/<a href="&">&<\/a><br\/>/' echo '</body></html>'
Example use:
ls | index-html.sh > index.html
According to the current TIOBE index, Objective-C market share is growing the fastest. This is the native programming language of Apple devices like iPhone, iPad and iMac.
Absolute volume: Java is still leading the pack (as of 2011/2012).

Update 14/Aug/2018: I no longer maintain the package mentioned and the download links below are most likely broken.
A Jenkins build server (LTS release) can now be easily installed on the minimalistic Debian VM:
You can go to “Manage Jenkins” – “Configure System” and see that JDK, Ant and Maven entries are already configured for you.
Both OpenJDK 6 and OpenJDK 7 are installed automatically for you in the VM. Please note that openjdk-6 is the Debian stable system default, while openjdk-7 is configured as the default for Jenkins build jobs.
Important: Make sure to change root and user passwords to something secure, as mentioned in debian-stable-amd64-minimal.txt.
Regarding the VM that I mentioned in my previous post – this way I also got it to work in VMware Player:
Update 14/Aug/2018: I no longer maintain the package mentioned and the download links below are most likely broken.
I uploaded a VM image to dev.doepner.net: It is a minimalistic Debian VM that can be used as a base for lean servers. It is in OVA format, exported from Virtualbox 4.1.6. Details are in the corresponding txt file.
You can add the VM to your Virtualbox using “File” – “Import Appliance …”. VMware should also work but might require some compatibility conversion of the ova file.
Recipes for specific Nexus, Jenkins, Wiki, Bugzilla setups will follow … I will publish those as scripts/instructions relative to the minimal base image, rather than maintaining several VMs.
Update 14/Aug/2018: I no longer maintain the package mentioned and the download links below are most likely broken.
I uploaded a lightweight Eclipse package (based on Helios 3.6.1) for web development (includes Maven, SVN and basic Spring integration, JEE / web tools plugins, but no Mylyn or other non-essential stuff) … This is currently only for Windows. It requires a JDK and is completely free / open source software.
See the txt file for quick installation steps.
Below is a bash script to recursively sanitize folder and file names. It leaves all numbers, letters, dots, hyphens and underscores untouched, but replaces all other characters with underscores.
#! /bin/bash
sanitize() {
shopt -s extglob;
filename=$(basename "$1")
directory=$(dirname "$1")
filename_clean="${filename//+([^[:alnum:]_-\.])/_}"
if (test "$filename" != "$filename_clean")
then
mv -v --backup=numbered "$1" "$directory/$filename_clean"
fi
}
export -f sanitize
find $1 -depth -exec bash -c 'sanitize "$0"' {} \;
My sources.list entries:
# local repo (manually downloaded debs, etc.): deb file:/usr/local/packages ./ # The closest Debian mirror is at Dalhousie University, Halifax: deb http://mirror.its.dal.ca/debian/ squeeze main contrib non-free deb http://mirror.its.dal.ca/debian/ squeeze-updates main deb http://mirror.its.dal.ca/debian/ squeeze-proposed-updates main # See http://www.debian.org/mirror/list for mirrors closer to you # Security updates (not mirrored) deb http://security.debian.org/ squeeze/updates main # Official backports repo for squeeze (I install the Linux kernel from it) deb http://backports.debian.org/debian-backports squeeze-backports main # Debian multimedia, a must-have for mplayer et al. deb http://mirror.its.dal.ca/debian-multimedia squeeze main non-free # Repo that provides latest Iceweasel (aka Firefox) deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
I listen to web radio stations but I don’t want to use any player ui for that. All I want is:
I do it like this:
This is my little “radio.sh” script (requires the pkill and mpv commands):
#! /bin/bash pkill -f "mpv --playlist" mpv -playlist "$@"
To set this script as the default handler for the most common playlist file types, put the following into ~/.local/share/applications/defaults.list:
[Default Applications] audio/x-mpegurl=radio.sh.desktop audio/x-scpls=radio.sh.desktop
Make sure you have a file “radio.sh.desktop” in ~/.local/share/applications or in /usr/local/share/applications with contents like this:
[Desktop Entry] Exec=radio.sh %U MimeType=audio/x-mpegurl;audio/x-scpls;video/x-ms-asf Name=radio.sh StartupNotify=false Terminal=false Type=Application
If I have to use M$ Windows then I do something similar using a taskbar toolbar for the radio folder and the VLC player, configured to run minimized as systray icon.
Debian does not use sudo by default. I like sudo for admin tasks when being logged in as a regular user (mostly based on my experience with Ubuntu) for several reasons:
What I don’t like in Ubuntu is that the sudo password is the regular user’s password and that the root account is actually disabled:
So for these reasons I usually configure a “one admin person” Debian system like this (replace REGULAR_USERNAME with your regular username that will be the admin):
su - apt-get install sudo adduser REGULAR_USERNAME sudo visudo
In the visudo editor edit the “Defaults” line to use “targetpw”:
Defaults env_reset,targetpw
Then exit the root shell, log out as regular user and log in as regular user again (required to activate group membership).
Now your regular user should be able to do everything that root can do using sudo and the root password.