<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Technology on Michael’s Domain</title><link>https://jeltsch.org/en/tags/technology/</link><description>Recent content in Technology on Michael’s Domain</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2002 - 2026 Michael Jeltsch.</copyright><lastBuildDate>Fri, 24 Jul 2026 00:18:18 +0300</lastBuildDate><atom:link href="https://jeltsch.org/en/tags/technology/index.xml" rel="self" type="application/rss+xml"/><item><title>Adding "Add to calendar" buttons for multiple targets (Google, Outlook, iCal) to an email invitation</title><link>https://jeltsch.org/en/add_to_calendar/</link><pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/add_to_calendar/</guid><description>&lt;p&gt;This is more work than it should be in 2026. These were the first instructions that worked for me: 
 &lt;a href="https://www.litmus.com/blog/how-to-create-an-add-to-calendar-link-for-your-emails/" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.litmus.com/blog/how-to-create-an-add-to-calendar-link-for-your-emails/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The instructions essentially use hand-written code (and code generated with Amit Agarwal’s Calendar Links tool (
 &lt;a href="https://www.labnol.org/apps/calendar.html" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.labnol.org/apps/calendar.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ).&lt;/p&gt;</description></item><item><title>Installing Zotero on Linux/Ubuntu</title><link>https://jeltsch.org/en/zotero_on_ubuntu/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/zotero_on_ubuntu/</guid><description>&lt;p&gt;The official way to install Zotero on Linux is mildly speaking a nightmare (
 &lt;a href="https://www.zotero.org/support/installation" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.zotero.org/support/installation&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ). The fact that you need detailed instructions and command line skills to succeed in the installation speaks for itself:&lt;/p&gt;</description></item><item><title>Application is not responding</title><link>https://jeltsch.org/en/alive-timeout/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/alive-timeout/</guid><description>&lt;p&gt;In Gnome, you get a warning if an application takes too long to complete a task. This can be really annoying if you know that the application is just trying to do its job with the available resources. Gdebi, Zotero and SnapGene are some of the apps that frequently cause this timeout warning on my (rather slow) laptop. To let Gnome know to stop sending this disturbing notification (or at least make them much less frequent), you can increase the timeout like this:&lt;/p&gt;</description></item><item><title>The find command on an old Asustor</title><link>https://jeltsch.org/en/busybox_find/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/busybox_find/</guid><description>&lt;p&gt;Instead of clicking randomly through endless hierarchies of folders on the web GUI of Asustor, you can just ssh into the device and search on the command line using &lt;em&gt;find&lt;/em&gt;. However, there are important differences between the &lt;em&gt;find&lt;/em&gt; command on contemporary Linux systems and the &lt;em&gt;find&lt;/em&gt; command of ADM (the OS of Asustor NAS servers). My EOL Asustor (AS-304T) uses 3.5.9.RWM1, which uses the BusyBox &lt;em&gt;find&lt;/em&gt; v1.19.3, while my Ubuntu Linux uses GNU find 4.9.0. BusyBox &lt;em&gt;find&lt;/em&gt; trades features for a small binary footprint and is locked to GPL-2. On the GPL-3 side on Linux, significant new features and performance enhancements have been added. Here is the &lt;em&gt;find&lt;/em&gt; command that you need if you want to search all disks on your Asustor:&lt;/p&gt;</description></item><item><title>How to install the color-blind-safe Nature Color Palette in Inkscape</title><link>https://jeltsch.org/en/nature-color-palette/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/nature-color-palette/</guid><description>&lt;p&gt;This one is short and easy on Linux. For instructions how to install this color palette on Windows or macOS, please visit 
 &lt;a href="https://github.com/atsuyaw/NatureColorPalette" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/atsuyaw/NatureColorPalette&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>The Asustor AS-304T NAS cannot mount contemporary ext4 filesystems</title><link>https://jeltsch.org/en/ext4/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ext4/</guid><description>&lt;p&gt;The Asustore AS-303T is meanwhile quite old (from 2013), but I still wanted to keep it around to store backups from the last 15 years or so. I originally had placed four 2TB-drives into the device, but now I happened to have four old 3TB-drives lying around and I wanted to use them to maximize the storage capacity. So I temporarily copied the data from the NAS&amp;rsquo;s RAID to a few external drives before upgrading the NAS with the 3TB-drives. I did some of the copying via a 
 &lt;a href="https://jeltsch.org/en/route/"&gt;direct point-to-point cable connection with my laptop&lt;/a&gt;
, which was a bad idea, because when I later tried to copy back the data using the local USB3-port on the NAS, the NAS&amp;rsquo; operating system did not recognize the ext4 file system, that my Ubuntu 24.04 had been using. It turns out that the Asustor NAS uses BusyBox v1.19.3, and even though it can read the ext4 filesystem, it does not know the modern ext4 features and thus failed to mount the drives (ADM version 3.5.9.RWM1, which received its latest update on August 29th, 2022). In order for the Asustor OS to recogize these drives, I needed to &amp;ldquo;downgrade&amp;rdquo; the ext4 filesystem. Below are the necessary commands to disable the newer ext4 features:&lt;/p&gt;</description></item><item><title>Routing network traffic through two different NICs</title><link>https://jeltsch.org/en/route/</link><pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/route/</guid><description>&lt;p&gt;I am just copying a lot of files from our NAS-Backup do my laptop. Since the WiFi was too slow (1 TB takes a few hours in the real world), I connected the NAS directly to my laptop with an ethernet cable. Both machines needed to setup their IP address manually within the same network (which can be whatever; I used 192.168.8.150 for my laptop and 192.168.8.199 for the NAS, and Netmask for both 255.255.0.0). Since this &amp;ldquo;internal&amp;rdquo; network does not provide internet access, my Ubuntu 24.04 laptop fell automatically back to WiFi. To force the laptop to use the wired network, I needed to deactivate WiFi. But now I cannot get online without WiFi. So I needed to tell the computer to use the wired network only for the NAS which has the IP 192.168.8.199. The command I needed is:&lt;/p&gt;</description></item><item><title>My Samsung Work Phone Came Preinstalled With Spyware</title><link>https://jeltsch.org/en/AppCloud/</link><pubDate>Thu, 25 Dec 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/AppCloud/</guid><description>&lt;p&gt;Working at the University of Helsinki, you might get the impression that the IT department is serious about protecting your digital safety. For example, the IT department forces all UH employees to take a yearly “exam” to prove that we still remember the basics of computer security and privacy. They also continue – against all experts&amp;rsquo; advice – to force users to update their passwords annually. Studies have shown that both above practices are lowering and not increasing the security posture [1,2]. Privacy is more of a theater than reality in today’s digital world [3]. Should I have been surprised that the Android phone model officially recommended by my own IT department came preinstalled with spyware?&lt;/p&gt;</description></item><item><title>Python rules our plants</title><link>https://jeltsch.org/en/flint2/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/flint2/</guid><description>&lt;p&gt;In 2025, we updated our 12-year-old router (the Asus RT-AC66U, WiFi 5/IEEE 802.11ac) and replaced it with a WiFI 6 
 &lt;a href="https://www.gl-inet.com/products/gl-mt6000/" target="_blank" rel="noopener noreferrer nofollow"&gt;Flint 2 (GL-MT6000)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. While the default user interface of the Flint 2 is pretty basic, its advanced setup is a powerhouse. When you click &amp;ldquo;Advanced Setup&amp;rdquo;, you can access the underlying 
 &lt;a href="https://openwrt.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;OpenWRT&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 user interface. OpenWRT is a Linux distribution for routers. And unsurprisingly, it is very powerful. A year ago, we started to use a 
 &lt;a href="https://phlizon.eu/products/phlizon-pl1000-qb-full-spectrum-led-grow-light" target="_blank" rel="noopener noreferrer nofollow"&gt;LED array&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to help our plants survive the winter. To automatically operate the lights, we use a 
 &lt;a href="https://kb.shelly.cloud/knowledge-base/shelly-plus-plug-s-v2" target="_blank" rel="noopener noreferrer nofollow"&gt;Shelly smart plug&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 via a Python script that calculates the light levels and electricity prices (using 
 &lt;a href="https://www.sahkonhintatanaan.fi/sahkon-hinta-api" target="_blank" rel="noopener noreferrer nofollow"&gt;the sähkönhintatänään API&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to get the price data) and switches the plant lights only on when both light levels and electricity prices are low. Today, we moved this Python script from my desktop computer to the Flint 2 router. There are thousands of installable packages available for OpenWRT (directly from the router UI: Applications &amp;gt; Plug-ins). To make my Python script work on the router, we first needed to install the openssh-server to get shell access (btw. the p/l combo is root/&amp;ldquo;same password as for the web UI&amp;rdquo;, the router correctly opens the access only to the local network). We also installed python3 and python3-pip and then pip-installed the two non-standard packages 
 &lt;a href="https://pypi.org/project/ShellyPy/" target="_blank" rel="noopener noreferrer nofollow"&gt;ShellyPy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (to address the smart plugs) and 
 &lt;a href="https://pypi.org/project/astral/" target="_blank" rel="noopener noreferrer nofollow"&gt;astral&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (to calculate the dark/bright periods for any given day at Helsinki latitude, which is around 60°North). We just needed to add an entry to the crontab to run the script once every hour. Since you are logged in as root, you just need to execute crontab -e and add this line to the crontab &lt;code&gt;0 * * * * python3 /root/plantlight.py&lt;/code&gt; and restart the cron daemon (which you can do via the OpenWRT UI under &amp;ldquo;System &amp;gt; Startup&amp;rdquo;).&lt;/p&gt;</description></item><item><title>Instructions how to convert an Asustor AS7004T into an Ubuntu Server</title><link>https://jeltsch.org/en/AS7004T/</link><pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/AS7004T/</guid><description>&lt;p&gt;This weekend, I upgraded our old Asustor AS7004T NAS to run an Ubuntu 24.04 server. The ADM OS had not been received any updates anymore for more than a year and it had been switched off and sitting on shelf since. This is a shame because there was absolutely nothing wrong with it. I had early on upgraded the original 2 GB memory of the device with an 8 GB module to a total of 10 GB. But you can run an Ubuntu server on 2 GB if you wanted to… What do you need for the conversion? Obviously, you need to plug in a USB-keyboard and a mouse. Apple USB keyboards do not work. The cheaper the keyboard the better. Sometimes there were problems with the mouse and then it helped to plug it into another USB port. And of course you need to connect the NAS to a monitor via an HDMI cable. I recommend to install Ubuntu Server 24.04.3. Ubuntu Desktop 24.03 also works (I tested it), but I don&amp;rsquo;t need it and the server has a much smaller footprint. Unlike with older Asustor NAS devices and distributions, fan control worked without problems. However, LED control and display info do not work: The display always shows &amp;ldquo;Starting system. Please wait…&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Exporting from Avidemux to MP4</title><link>https://jeltsch.org/en/avidemux/</link><pubDate>Sat, 20 Sep 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/avidemux/</guid><description>&lt;p&gt;For some reason, Helsinki University&amp;rsquo;s 
 &lt;a href="https://www.helsinki.fi/fi/ajankohtaista/unitube" target="_blank" rel="noopener noreferrer nofollow"&gt;Unitube&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 crashes when trying to upload an MKV file. The same used to work last year… Only proprietary formats seem to be ok (such as MP4). This creates lots of additional work for me, since I use open source tools to edit my lecture recordings (mostly to cut out unnecessary parts).However, to create an MP4 file, I need to transcode, which is a time-consuming process that requires changing many of the default settings. Below the process using the Open source software Avidemux:&lt;/p&gt;</description></item><item><title>t_coffee still fails on a standard Ubuntu 24.04 LTS install</title><link>https://jeltsch.org/en/t_coffee/</link><pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/t_coffee/</guid><description>&lt;p&gt;The bug in t_coffee, reported on 
 &lt;a href="https://github.com/cbcrg/tcoffee/issues/27#issuecomment-1355339411," target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/cbcrg/tcoffee/issues/27#issuecomment-1355339411,&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is still an issue after many years. I hardly dare to recommend t_coffee to my students, even though I would like to, because it is otherwise an excellent and very powerful program. Most of them fail to install it on our university&amp;rsquo;s default Ubuntu distribution (&amp;ldquo;Cubbli&amp;rdquo;), which is atm Ubuntu 24.04. I tried it out myself just recently (Ubuntu 24.04 LTS with both the version provided by the default Ubuntu repository via the package manager and the stable and beta versions from 
 &lt;a href="https://tcoffee.org/Projects/tcoffee/index.html" target="_blank" rel="noopener noreferrer nofollow"&gt;https://tcoffee.org/Projects/tcoffee/index.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
(stable COFFEE_installer_Version_13.46.0.919e8c6b_linux_x64.tar.gz and beta T-COFFEE_installer_Version_13.46.1.b8b01e06_linux_x64.tar.gz). All of them still complain with &amp;ndash;ERROR: MAX_N_PID exceeded. It gets stuck somewhere and takes approximately one minute before it throws the error, even with a simple task that normally takes a few seconds. With a more complex alignment, it can take minutes or hours before the error is thrown. The workaround is to set the environment variable before every run, i.e., you replace t_coffee with a shell script that calls the renamed t_coffee after setting the environment parameter MAX_N_PID_4_TCOFFEE to something big (like /proc/sys/kernel/pid_max). The issue is explained in the Github link above. See also 
 &lt;a href="https://github.com/cbcrg/tcoffee/issues/47" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/cbcrg/tcoffee/issues/47&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Another workaround is to recompile with a different MAX_N_PID, which is rather straightforward; see also here 
 &lt;a href="https://github.com/cbcrg/tcoffee" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/cbcrg/tcoffee&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
:&lt;/p&gt;</description></item><item><title>Wireguard</title><link>https://jeltsch.org/en/wireguard/</link><pubDate>Sat, 30 Aug 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wireguard/</guid><description>&lt;p&gt;My home router (a GL-iNet GL-MT6000) offers built-in WireGuard support. To add a client, you push a button and can either scan a QR code or download the configuration file. The QR code works out-of-the-box with my Wireguard for Android App (the official client for Android), and the configuration file works equally well for Ubuntu Linux 24.04 with Network Manager. To set up the VPN, you simply import the configuration file. The last command is to prevent the VPN from autostarting after a reboot, since when I work from home there is little use in routing my traffic to my own VPN server at home if I am anyway at home.&lt;/p&gt;</description></item><item><title>Backing up DVDs</title><link>https://jeltsch.org/en/dvdbackup/</link><pubDate>Sat, 09 Aug 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dvdbackup/</guid><description>&lt;p&gt;DVD ripping is one thing (and 
 &lt;a href="https://handbrake.fr/" target="_blank" rel="noopener noreferrer nofollow"&gt;Handbrake&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is the tool I have been mostly using for that). But sometimes you want to just copy the whole DVD to your hard drive. On Ubuntu Linux, my preferred software for this is 
 &lt;a href="https://dvdbackup.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;dvdbackup&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Same place, 38 years later (part A)</title><link>https://jeltsch.org/en/Tallinn_2025a/</link><pubDate>Sat, 19 Jul 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/Tallinn_2025a/</guid><description>&lt;p&gt;I visited Tallinn for the first time in 1987. It was also my first and last visit to the Soviet Republic of Estonia. I took a few photographs at the time (I had one roll of 35-mm film with 36 exposures). Last week, I went back after more than 25 years of not having been there to take re-shots of some of the places. I received help from an expert, who pinpointed the exact locations, down to a few meters, where I had taken the shots in 1987. However, it was still difficult to get the perspective right, and I clearly failed in three of the four pictures. I thought I had taken my 28-100 mm Zoom objective in 1987, but after looking at the pictures, I am not so sure anymore. I also had a 70-210 mm Zoom, and I might have used that one. It&amp;rsquo;s somehow clear from the 1987 images that I must have been far away from the people I photographed, since nobody took notice. I should have used the same camera (which I still have in a drawer that I hadn&amp;rsquo;t opened for a decade or longer), but I didn&amp;rsquo;t manage to get photographic (&amp;ldquo;chemical&amp;rdquo;) film on short notice. Shot #3 was especially challenging since none of the buildings visible in the 1987 image still exist. Happy to get feedback for my next visit!&lt;/p&gt;</description></item><item><title>Same place, 38 years later (part B)</title><link>https://jeltsch.org/en/Tallinn_2025b/</link><pubDate>Sat, 19 Jul 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/Tallinn_2025b/</guid><description>&lt;p&gt;#Not necessary!
#&lt;!-- This inline block targets only this specific card's thumbnail height --&gt;
#&lt;style&gt;&lt;/p&gt;












&lt;h1 id="adjusts-the-aspect-ratio-or-sets-a-fixed-height-for-this-specific-post-context" class="heading"&gt;/* Adjusts the aspect-ratio or sets a fixed height for this specific post context */&lt;a href="#adjusts-the-aspect-ratio-or-sets-a-fixed-height-for-this-specific-post-context" aria-labelledby="adjusts-the-aspect-ratio-or-sets-a-fixed-height-for-this-specific-post-context"&gt;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 576 512" overflow="visible"&gt;&lt;use href="#fas-link"&gt;&lt;/use&gt;&lt;/svg&gt;&amp;nbsp;
 &lt;/a&gt;
&lt;/h1&gt;













&lt;h1 id="card-img-wrap-img-wrap" class="heading"&gt;.card-img-wrap, .img-wrap {&lt;a href="#card-img-wrap-img-wrap" aria-labelledby="card-img-wrap-img-wrap"&gt;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 576 512" overflow="visible"&gt;&lt;use href="#fas-link"&gt;&lt;/use&gt;&lt;/svg&gt;&amp;nbsp;
 &lt;/a&gt;
&lt;/h1&gt;













&lt;h1 id="max-height-150px-force-your-exact-custom-height-here" class="heading"&gt;max-height: 150px; /* Force your exact custom height here */&lt;a href="#max-height-150px-force-your-exact-custom-height-here" aria-labelledby="max-height-150px-force-your-exact-custom-height-here"&gt;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 576 512" overflow="visible"&gt;&lt;use href="#fas-link"&gt;&lt;/use&gt;&lt;/svg&gt;&amp;nbsp;
 &lt;/a&gt;
&lt;/h1&gt;













&lt;h1 id="object-fit-cover" class="heading"&gt;object-fit: cover;&lt;a href="#object-fit-cover" aria-labelledby="object-fit-cover"&gt;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 576 512" overflow="visible"&gt;&lt;use href="#fas-link"&gt;&lt;/use&gt;&lt;/svg&gt;&amp;nbsp;
 &lt;/a&gt;
&lt;/h1&gt;













&lt;h1 id="heading" class="heading"&gt;}&lt;a href="#heading" aria-labelledby="heading"&gt;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 576 512" overflow="visible"&gt;&lt;use href="#fas-link"&gt;&lt;/use&gt;&lt;/svg&gt;&amp;nbsp;
 &lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;#&lt;/style&gt;&lt;/p&gt;</description></item><item><title>Same place, 38 years later (part C)</title><link>https://jeltsch.org/en/Tallinn_2025c/</link><pubDate>Sat, 19 Jul 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/Tallinn_2025c/</guid><description>&lt;p&gt;This was the most tricky image and I am not sure at all whether the new image captures the correct place. Again, I think the 1987 shot must have been taken with a focal length of more than 100 mm. There was no building that could have served as a clearly identifiable fixpoint.BTW: All the 2025 images were taken with the mobile phone camera of a Samsung Galaxy A35. Taking the original camera (Ricoh XR-P) with me would have approximately doubled the weight of my luggage.&lt;/p&gt;</description></item><item><title>Same place, 38 years later (part D)</title><link>https://jeltsch.org/en/Tallinn_2025d/</link><pubDate>Sat, 19 Jul 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/Tallinn_2025d/</guid><description>&lt;p&gt;Next time I&amp;rsquo;ll take my old SLR camera and the 70-210 zoom objective. I guess I could have used the digital zoom of my mobile phone…&lt;/p&gt;</description></item><item><title>Booting my Lenovo ThinkPad X390 from USB</title><link>https://jeltsch.org/en/usb/</link><pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/usb/</guid><description>&lt;p&gt;It&amp;rsquo;s sometimes harder than you think to boot a computer from a USB stick. It takes two non-trivial skills to pull it off:&lt;/p&gt;</description></item><item><title>An impossible overlap-extension PCR</title><link>https://jeltsch.org/en/oep/</link><pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/oep/</guid><description>&lt;p&gt;A PhD student of mine asked me about plasmid maps for several DNA constructs that I had created some 20 years ago. Since 
 &lt;a href="https://snapgene.com" target="_blank" rel="noopener noreferrer nofollow"&gt;SnapGene&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 did not exist at the time, I had used the now obsolete GeneConstructionKit2. I performed many clonings at the time, but I did not continue generating maps for all of them. The GCK2 format does not allow for easy annotation. You needed a separate program for comprehensively annotating the plasmids, and this data was saved in a separate file, the so-called &amp;ldquo;illustration&amp;rdquo; file: what could possibly go wrong? Yesterday, I ended up digging out my old lab notebooks and retracing about 10 old clonings in SnapGene. However, I was unable to simulate one of the assemblies because SnapGene was too conservative in disallowing &amp;ldquo;bad&amp;rdquo; PCR primers to function. I had performed overlap-extension PCR to introduce a mutation into the mouse VEGF-D cDNA. The homologous mutation had been introduced into human VEGF-D before, and I therefore had the primers for the human sequences. Mouse and human VEGF-D are very similar. The primers designed to amplify the human PCR were not perfect when using mouse cDNA as a template, but none of the differences would result in amino acid changes. So I attempted the PCR with a primer that had a mismatch in the third nucleotide from the 3&amp;rsquo;-end. The PCR was successful, but even when I lowered the hybridisation parameters to the least stringent settings, SnapGene would not anneal this primer to my template. To simulate cloning in SnapGene and generate a map, I needed to introduce a mutation into my primer and then reverse the mutation after the overlap extension PCR. I guess I need to file a bug report (or would this be a feature request?). It seems appropriate that the program should be able to allow annealing of primers that do anneal in reality…&lt;/p&gt;</description></item><item><title>Python Virtual Environments</title><link>https://jeltsch.org/en/virtual_environment_for_python/</link><pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/virtual_environment_for_python/</guid><description>&lt;p&gt;There are many different ways to run Python in a virtual environment. I have used mostly conda (together with anaconda), but I frequently end up doing work on machines that do not have it installed. Hence, I have been recently starting to use the &amp;ldquo;inbuilt&amp;rdquo; virtual environment. If you are working on a Python project in a directory, these are the steps to start using it:&lt;/p&gt;</description></item><item><title>ProxyJump</title><link>https://jeltsch.org/en/proxyjump/</link><pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/proxyjump/</guid><description>&lt;p&gt;Since OpenSSH 7.3, it has been much easier to connect from the outside to Linux computers inside the UH network. With older ssh versions, you needed to use a complicated &amp;ldquo;ProxyCommand&amp;rdquo;, but now it is straightforward:&lt;/p&gt;</description></item><item><title>Restriction Enzyme Calculator</title><link>https://jeltsch.org/en/restriction_enzyme_calculator/</link><pubDate>Tue, 29 Apr 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/restriction_enzyme_calculator/</guid><description>&lt;p&gt;Use our interactive tool to calculate the volume of restriction enzyme required for your digest.&lt;/p&gt;
&lt;div class="card p-4 shadow-sm mb-4"&gt;
 &lt;h3 id="enzyme-calculator-heading"&gt;Restriction Digest Calculator&lt;/h3&gt;
 &lt;form id="calcForm"&gt;
 &lt;div class="mb-3"&gt;
 &lt;label for="masstarget" class="form-label"&gt;&amp;micro;g of target DNA:&lt;/label&gt;
 &lt;input type="number" step="any" id="masstarget" class="form-control" required /&gt;
 &lt;/div&gt;
 &lt;div class="mb-3"&gt;
 &lt;label for="cutstarget" class="form-label"&gt;Amount of cuts in target DNA:&lt;/label&gt;
 &lt;input type="number" step="any" id="cutstarget" class="form-control" required /&gt;
 &lt;/div&gt;
 &lt;div class="mb-3"&gt;
 &lt;label for="lengthtarget" class="form-label"&gt;Length of target DNA in bp:&lt;/label&gt;
 &lt;input type="number" step="any" id="lengthtarget" class="form-control" required /&gt;
 &lt;/div&gt;
 &lt;div class="mb-3"&gt;
 &lt;label for="time" class="form-label"&gt;Digestion time in hours:&lt;/label&gt;
 &lt;input type="number" step="any" id="time" class="form-control" required /&gt;
 &lt;/div&gt;
 &lt;div class="mb-3"&gt;
 &lt;label for="enzyme" class="form-label"&gt;Select restriction enzyme:&lt;/label&gt;
 &lt;select name="enzyme" id="enzyme" class="form-select" required&gt;&lt;/select&gt;
 &lt;/div&gt;
 &lt;button type="submit" class="btn btn-primary"&gt;Calculate&lt;/button&gt;
 &lt;/form&gt;
 
 &lt;div id="calcForm-results" class="mt-4" style="display: none;"&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;script src="https://jeltsch.org/js/calculator.min.0c4b18c664d60ee99f8204d704a18528cb4253d10262904935baf9aa2ce28782.js" integrity="sha256-DEsYxmTWDumfggTXBKGFKMtCU9ECYpBJNbr5qizih4I="&gt;&lt;/script&gt;

&lt;p&gt;Sometimes, you need to know how much restriction enzyme is required to cut a specific amount of a certain plasmid within a given time. Here is the calculation tool you have been looking for! All data that was used to write the code for this algorithm was obtained from New England Biolabs (NEB). The survival of the enzyme in the reaction was extrapolated from the experiments reported by NEB. Just plug in the numbers into the form and hit the submit button!&lt;/p&gt;</description></item><item><title>Barrier (a software KVM switch)</title><link>https://jeltsch.org/en/barrier/</link><pubDate>Tue, 21 Jan 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/barrier/</guid><description>&lt;p&gt;Barrier is an incredible software that lets you use the same keyboard and mouse with different computers without the need for hardware. I have two computers on my desk, and I used to have a hardware KVM (keyboard, video, and mouse) switch, which became obsolete when my computers started to output their video via HDMI. Hence, I have two keyboards on my desk, which is not very ergonomic. I knew about software solutions to this dilemma, but I never had the time to implement them, and I also did not want to pay a subscription fee for this luxury. I now started to use Barrier: 
 &lt;a href="https://github.com/debauchee/barrier" target="_blank" rel="noopener noreferrer nofollow"&gt;https://github.com/debauchee/barrier&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It&amp;rsquo;s been working excellently so far (except for the installation and documentation), but I still need to get it to work before logging in to dump my second keyboard.here are the steps that were not well documented:When installed on Ubuntu, Barrier does not automatically create certificates. So you need to do this yourself:Execute in both client and server: /home/username/.local/share/barrier/SSL:&lt;code&gt;openssl req -x509 -nodes -days 365 -subj /CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem&lt;/code&gt;You also need to open port 24800 if you are using a firewall. After you get Barrier working, check the correct command (ps aux) from the command line. It is probably something like this:&lt;code&gt;/usr/bin/barrierc -f --no-tray --debug INFO --name computer-name [87.167.231.88]:24800start&lt;/code&gt;Use the Startup applications in Ubuntu and paste the above command in. This means you cannot use Barrier to log in because it is loaded only after logging in. But that&amp;rsquo;s as much as I managed to figure out so far. There is probably a way to make this work pre-login via systemd, but I did not have the time to figure out how.&lt;/p&gt;</description></item><item><title>Reset the admin (user #1) password in Drupal 9</title><link>https://jeltsch.org/en/reset_the_admin_user_password_in_drupal_9/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reset_the_admin_user_password_in_drupal_9/</guid><description>&lt;p&gt;I have been playing around with Drupal 9 and forgot the admin password. If this happens to you, go to the base folder of the drupal installation.&lt;/p&gt;</description></item><item><title>Ouriginal fails more often than not to detect plagiarism</title><link>https://jeltsch.org/en/plagiarism/</link><pubDate>Thu, 23 May 2024 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/plagiarism/</guid><description>&lt;p&gt;
 &lt;a href="https://ouriginal.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Ouriginal&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, the plagiarism detection service formerly known as Urkund, has been in use at the 
 &lt;a href="https://www.helsinki.fi" target="_blank" rel="noopener noreferrer nofollow"&gt;University of Helsinki&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for a very long time. Because of Ouriginal&amp;rsquo;s inability to process some of our students&amp;rsquo; Master&amp;rsquo;s thesis, I spent a little bit of time investigating Ouriginal and its problems. Here&amp;rsquo;s what I found out. &lt;strong&gt;From Swedisch to European to US-American&lt;/strong&gt;It is unclear to me which software we are really using since Ouriginal is a merger of the Swedish Urkund and the German PlagScan, and in 2021 Ouriginal was acquired by the American 
 &lt;a href="https://en.wikipedia.org/wiki/Turnitin" target="_blank" rel="noopener noreferrer nofollow"&gt;Turnitin&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I don&amp;rsquo;t need any of such software, but our university mandates that theses must be scanned by the software. Since I read and evaluate an increasing number of theses every year, I also increasingly use Ouriginal. &lt;strong&gt;Ouriginal supports many document formats, but support is buggy&lt;/strong&gt; Looking at the history of submissions, I realized that until about mid-May 2024, all submitted PDFs had been dutifully analyzed. But last week, something changed since about half of the submitted documents were not processed. The usual tricks (submitting in another format such as .docx, .odt, .ps, .rtf) did work for some, but not all of the theses. One thesis was especially stubborn, and neither our &amp;ldquo;experts&amp;rdquo; nor the Original helpdesk staff had any clue why their software could not process it (which makes me again wonder what software their backend is actually using). Ouriginal is investigating already for a month without getting back to me with answers… Our university receives funding from the Ministry of Education based on graduating students, and we lose thousands of Euros for each student who fails to graduate on time. Fee-liable students also have a strong incentive to graduate on time in order to avoid additional costs. Therefore, every delay in the graduation schedule is unacceptable. &lt;strong&gt;Ouriginal&amp;rsquo;s performance disappoints with a shocking detection rate&lt;/strong&gt; Since there are dozens of ways how to turn a Word document into a PDF, I tried to isolate the problem by submitting test documents to the Ouriginal service. I used manuscripts that we had published over the last few years. I was shocked when I realized that Ouriginal failed to detect plagiarism in more than half of all cases. Paywalls are not to blame since almost all our publications are freely available. Neither the novelty of the publication nor the quality of the journal made a perceivable difference. However, it seems evident that Ouriginal has more problems with non-English documents. It is very difficult to explain why so many freely available scientific texts from reputable journals (
 &lt;a href="https://www.nature.com/srep/" target="_blank" rel="noopener noreferrer nofollow"&gt;Scientific Reports&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, 
 &lt;a href="https://link.springer.com/journal/10456" target="_blank" rel="noopener noreferrer nofollow"&gt;Angiogenesis&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, 
 &lt;a href="https://www.sciencedirect.com/journal/annals-of-anatomy-anatomischer-anzeiger" target="_blank" rel="noopener noreferrer nofollow"&gt;Annals of Anatomy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) are not indexed by Ouriginal. &lt;strong&gt;Failure to detect plagiarism from Helsinki University&amp;rsquo;s own thesis repository&lt;/strong&gt; Original does not even index our own university&amp;rsquo;s freely available PhD theses (
 &lt;a href="https://ethesis.helsinki.fi" target="_blank" rel="noopener noreferrer nofollow"&gt;https://ethesis.helsinki.fi&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ). None of the PhD thesis written in my own lab was recognized. I also checked 
 &lt;a href="https://jeltsch.org/en/phd_thesis/"&gt;my own PhD thesis&lt;/a&gt;
, and it was the only one that was recognized (Ouriginal found it on 
 &lt;a href="https://docslib.org/doc/7864611/vegfr-3-ligands-and-lymphangiogenesis" target="_blank" rel="noopener noreferrer nofollow"&gt;docslib.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, not our own university&amp;rsquo;s official thesis repository). Does it make any sense to pay for such an imperfect service? I don&amp;rsquo;t think so. The omission of freely available texts from important journals seems inexcusable since a simple Google search does a better job. I did Google searches for sentences from the unrecognized texts, and in most cases, Google identified the original source without problems. A Python script to split texts into sentences for individual Google searches and to aggregate the results can be written by any programmer in an afternoon. Why would you maintain your own database if Google does a better job than you can? &lt;em&gt;&lt;em&gt;Plagiarism to the following published manuscripts/theses/proceedings&lt;/em&gt; was NOT detected:&lt;/em&gt;*&lt;/p&gt;</description></item><item><title>Taking an webcam image from the command line</title><link>https://jeltsch.org/en/taking_an_webcam_image_from_the_command_line/</link><pubDate>Fri, 05 Apr 2024 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/taking_an_webcam_image_from_the_command_line/</guid><description>&lt;p&gt;There are probably not many use cases, but remote surveillance is an example, both in a malicious and legitimate context. Malware can take pictures of the unwitting user, and &amp;ldquo;Has anybody searched through my office after I forgot to close the door last Friday?&amp;rdquo;, respectively.&lt;/p&gt;</description></item><item><title>Overstretched IT support</title><link>https://jeltsch.org/en/ubuntu/</link><pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;The problem: Crash during boot&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;More than a year ago, a few weeks after receiving my new work computer, it failed to reboot after a system update and got stuck early in the boot process. I soon realised I could still start the computer using &amp;ldquo;safe mode&amp;rdquo;. Strangely, nothing seems to be wrong because when I manually exit safe mode at the end of the boot process, the computer works fine. Our IT department has tried to fix the problem many times without success. I even had to work without a computer for about 3 weeks while it was &amp;ldquo;under repair&amp;rdquo;. You probably know how much work you can get done without a computer: close to zero.My computer runs 
 &lt;a href="https://wiki.helsinki.fi/xwiki/bin/view/Cubbli/User%20documentation/" target="_blank" rel="noopener noreferrer nofollow"&gt;Cubbli&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 20.04.06LTS, an unofficial Ubuntu spin maintained by the University of Helsinki for internal use. Although you can do bioinformatics on a Windows or macOS computer, Linux is hands-down the first choice. Many bioinformatics developers don&amp;rsquo;t even bother to release their software for Windows. MacOS works mostly fine (since it is also UNIX-compliant OS), but I would have to pay twice the price for the same calculating power.The computer is a 
 &lt;a href="https://www.zdnet.com/article/lenovo-debuts-thinkstation-p350-family-of-desktop-workstations-starting-under-1000/" target="_blank" rel="noopener noreferrer nofollow"&gt;Lenovo P350&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 with an 
 &lt;a href="https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/productspage/quadro/quadro-desktop/nvidia-t1000-datasheet-1987414-r4.pdf" target="_blank" rel="noopener noreferrer nofollow"&gt;NVIDIA T1000&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 graphics card, which I use to address two screens. I mainly need the graphics card for 3D modelling, phylogenetics analysis and similar tasks. This graphics card may have caused the trouble. I initially did not want to buy this model, but since there was a shortage of graphic cards at the time, IT convinced me to swap out my original choice against the T1000.&lt;/p&gt;</description></item><item><title>Unbricking the Netgate pfsense SG-3100</title><link>https://jeltsch.org/en/unbrick/</link><pubDate>Fri, 10 Nov 2023 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/unbrick/</guid><description>&lt;p&gt;The current process of restoring functionality on the Netgate pfsense SG-3100 router after an unsuccessful firmware upgrade is too difficult (although the device is magnificent otherwise). Today, I experienced the third failed upgrade within six years. Recovery worked every time without problems, but it should be MUCH easier if you want me to recommend this router to my less tech-savvy friends. To pull the recovery off, you need an 8-GB USB stick and USB cable with a high-profile micro-USB connector at one end and a regular USB-A connector at the other. These are the steps that you need to do to unbrick the device:&lt;/p&gt;</description></item><item><title>Withings Body Scan smart scales</title><link>https://jeltsch.org/en/withings_body_scan_lyvaaka/</link><pubDate>Thu, 29 Jun 2023 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/withings_body_scan_lyvaaka/</guid><description>&lt;p&gt;In 2009, we bought our first Withings smart scales. Although I tried them out at the time, I soon stopped using them because of their limited functionality. Now, more than ten years later, I believe that smart scales technology has finally advanced to the point where it is genuinely useful. What’s more, I now fit the target demographic for this device: I’m a middle-aged, overweight man with a family history of heart disease who does some sport, but probably not enough. To sum up in advance: I intend to use the Body Scan scales every single day from now on. Aside from some more useful and some less useful features, it reminds me that, once you reach a certain age, you need to actively maintain your cardiovascular health. Withings has recently launched three smart scales at different price points: the Body Scan, Body Comp and Body Smart. We received the top-of-the-range Body Scan model for review. It arrived four days before we set off on our summer holiday, which is why I haven’t tested all its features. Some features require a certain minimum number of repeated measurements, so this article may be updated once I’ve used the scales for a longer period. What can the scales do? Apparently, they can measure your weight and the composition of different parts of your body (body fat and muscle percentage). They also claim to be able to distinguish between visceral and subcutaneous fat. Not all fat is equally bad: visceral fat is much more dangerous than subcutaneous fat, which can even be beneficial. If the scales could reliably distinguish between visceral and subcutaneous fat in the body, it would be an astonishing technical breakthrough (more on this later). &lt;strong&gt;ECG FEATURE&lt;/strong&gt; The Body Scan scales can perform an ECG (electrocardiogram), meaning they can measure the heart’s electrical activity. An ECG can be used to detect a wide range of heart problems, but the number of electrodes (measurement points) on the body is crucial for this measurement. The medical standard is 12 electrodes. For practical reasons, devices intended for consumers are less sophisticated, and therefore have only limited ability to detect different types of heart problems. The Body Scan device has 6 electrodes, which is the best currently available in a device intended for consumers. However, such a 6-lead ECG is significantly inferior to the standard medical ECG and may even fail to detect an acute, recent heart attack. In fact, the only medical conditions that this ECG can reliably detect are atrial fibrillation and atrial flutter. Atrial fibrillation is a heart rhythm disorder that can be detected by feeling the pulse (e.g. the heart beats twice instead of once). Atrial flutter is a somewhat similar condition, characterised by a rapid heart rate (&amp;gt; 250/min), which may occur episodically (lasting from hours to days) but can also be continuous. Both conditions require medical treatment, and it therefore seems sensible that a consumer device should be able to detect them. However, clinical studies show that the results of mass screening for atrial fibrillation are not clearly beneficial. Experts are, in fact, divided on whether mass screening is a good idea: the 2020 guidelines issued by the European Society of Cardiology recommend mass screening, whilst the US Preventive Services Task Force and the UK National Screening Committee do not currently recommend them. Although atrial fibrillation is fairly common, it is usually secondary to other heart conditions, and the target group for the Withings Body Scan (health-conscious, middle-aged, middle-class) may not be the group that would benefit most from this feature. In one study investigating atrial fibrillation (the so-called LOOP STUDY), did not use a device intended for consumers but rather sensors designed for professional use, which is a more reliable method for detecting atrial fibrillation. Furthermore, the study focused on individuals with risk factors for a heart attack. Unsurprisingly, the detection (and treatment) of atrial fibrillation tripled, but despite this setup, the study found no benefit in terms of a reduction in heart attacks or arterial embolisms.Some experts believe that there are different types of atrial fibrillation and that we simply do not yet know how to distinguish the dangerous types from the benign ones.In summary, it can be said (also based on some more recent data) that the benefit of the Body Scan ECG appears to be small. The benefit is likely to be significant only in high-risk population groups who are unlikely to use a €400 smart scale (e.g. the elderly).It is not yet known (as such devices have not become widely adopted amongst consumers) what the burden on the healthcare system is due to false-positive results. It is also worth noting that there is currently no digital infrastructure in place to enable the data generated by the scales to be transferred to a doctor for review. In fact, there is not even a standardised file format. Whilst there is an open data transfer standard (DICOM) for X-rays and similar imaging data, there is no equivalent for ECG data. All of the above explains why the Body Scan is not yet available in the US. The FDA has not approved it as a medical device. The regulatory frameworks and requirements differ between the EU and the US, but according to Withings, the Body Scan will become available in the US from the third quarter of 2023, following FDA approval. In Europe, the device ‘only’ needs to obtain the CE mark for medical devices. To obtain the CE mark, the device must meet certain standards, which depend on its classification. Body Scan is classified as a Class IIA device (which, interestingly, places it alongside dental fillings, surgical clamps and tracheostomy tubes). Conformity assessment is not carried out by the European Medicines Agency (EMA) but by independent accredited organisations (known as ‘Notified Bodies’). They analyse and certify the device’s safety and performance. Approval by the EMA and the FDA is essential, as it is naturally important to have independent confirmation that the device actually detects the arrhythmias it claims to detect, and so on. Here is a YouTube video from Medlife Crisis discussing the benefits of atrial fibrillation screening. The video focuses on the Apple Watch, but in principle the same applies to any consumer device: 
 &lt;a href="https://www.youtube.com/watch?v=rW3DGnHO2iY&amp;amp;t=719s" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.youtube.com/watch?v=rW3DGnHO2iY&amp;t=719s&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 &lt;strong&gt;DETERMINING BODY COMPOSITION&lt;/strong&gt;Body composition data is extremely useful for assessing your health and fitness levels. An easier measure to use is the body mass index (BMI), which requires only your height and weight to calculate: (weight in kilograms)/(height in metres²). Although BMI correlates with health, there are many exceptions, particularly concerning very fit individuals with a high amount of muscle mass (who are often technically overweight), and lean individuals with little muscle mass (who are not technically overweight but may still have too much body fat). A much better measure of fitness is body fat percentage, which this scale determines using bioelectrical impedance analysis (BIA). The scale measures the percentages of fat and muscle mass in the torso and other body parts. Put simply, this means that the scales send electrical impulses through the body. As fat conducts electricity less efficiently than muscle, the scales can deduce the amount of fat between two measurement points. Unfortunately, BIA is not a particularly accurate method for determining segmental body composition. To truly know where the fat is located, and in particular to distinguish between visceral and subcutaneous fat, the gold standard is magnetic resonance imaging (MRI). At present, however, this method is rarely used for this purpose outside of medical research, and it is also very expensive. A less accurate method for measuring body fat percentage is dual-energy X-ray absorptiometry (DEXA/DXA), which is primarily used to determine bone mineral density, but which can also be used to measure body fat percentage. However, DEXA has difficulty distinguishing between subcutaneous fat and visceral fat (if you wish to have this type of analysis carried out, you should ask your service provider what data their device provides). To obtain segmental body composition data, you’ll need a smart scale from the Body Scan range. The Body Comp and Body Smart models do not offer this feature. The big question is: how do the scales carry out this measurement, and how reliable is it? There isn’t much information available, except that the scales use multiple frequencies to improve measurement accuracy. Thanks to the BMI calculated from the arms and legs, the segmental body composition is probably reasonably accurate. However, it is completely unclear how the scales determine the percentage of visceral fat. There are no explanations, patents or – most importantly – scientific publications that would validate the technology against the gold standard of MRI. The percentage of visceral fat is also displayed separately from body composition, which may suggest that this measurement is taken using a different method. Paradoxically, the legendary six-pack is not a good indicator of fitness: if there is fat covering the six-pack muscles, you cannot see the six-pack, even if it is there. However, the fat covering the muscles is not the most dangerous type of fat. The dangerous fat is found beneath the six-pack muscles, in the body cavity where your organs are located. You may have a visible six-pack despite the fact that dangerous fat has accumulated on and around your vital organs (liver, kidneys, intestines, etc.). The body fat percentage determined by the scales is probably reasonably accurate. However, without external validation, I suspect that the visceral fat index shown to me by the scales is nowhere near a meaningful value in reality. What does this ‘visceral fat index’ actually mean? According to the explanation, it is a value between 1 and 20. But what is it? I would understand if body fat percentage were broken down into visceral and non-visceral fat (but that figure would be between 0–100 per cent). As long as it remains shrouded in obscurity, this value is likely to be rather useless (and I’ve seen it fluctuate quite rapidly from one day to the next, which suggests it isn’t very reliable). &lt;strong&gt;ASSESSING THE RISK OF CARDIOVASCULAR DISEASE&lt;/strong&gt;When it comes to cardiovascular disease, the three &lt;em&gt;major&lt;/em&gt; risk factors are:&lt;/p&gt;</description></item><item><title>Dynamic DNS with DomainDiscount24 and pfsense</title><link>https://jeltsch.org/en/dynamic_dns_with_domaindiscount24_and_pfsense/</link><pubDate>Sat, 27 May 2023 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dynamic_dns_with_domaindiscount24_and_pfsense/</guid><description>&lt;p&gt;Many companies offer free dynamic DNS. But since I use DomainDiscount24, I also use their dynamic DNS service. To update the IP address of vpn.jeltsch.org, I need to send an https request to a specific URL, including a password and the hostname for which I want the update:&lt;code&gt;https://dynamicdns.key-systems.net/update.php?hostname=vpn.jeltsch.org&amp;amp;password=12345678&amp;amp;ip=auto&lt;/code&gt;To automate this, I use the crontab of my pfsense router. Editing the crontab is not enabled by default, but you can download and install the cron package. After that, you get a GUI under &amp;ldquo;Services &amp;gt; Cron&amp;rdquo;, where you add the timing and the command:&lt;code&gt;/usr/local/bin/curl &amp;quot;https://dynamicdns.key-systems.net/update.php?hostname=vpn.jeltsch.org&amp;amp;password=12345678&amp;amp;ip=auto&amp;quot;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Review: Wenger Synergy rucksack after 5 years of daily use</title><link>https://jeltsch.org/en/review_wenger_synergy_rucksack_after_5_years_of_daily_use/</link><pubDate>Sat, 21 Jan 2023 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/review_wenger_synergy_rucksack_after_5_years_of_daily_use/</guid><description>&lt;p&gt;I am a fan of rucksacks with many pockets. No wonder I like the 
 &lt;a href="https://www.wenger.ch/global/en/Products/Business-Gear/Business-Backpacks/Synergy/p/600635" target="_blank" rel="noopener noreferrer nofollow"&gt;Wenger Synergy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which has been on the market for over 10 years with only minor modifications. However, I had my fair share of quality issues with this model. Unlike my &amp;gt;40-year-old Swiss knife, this rucksack kept breaking within its warranty period or soon after. It was never a problem exchanging it when it broke within the warranty period, but I got fed up with the exchange hassle after doing it twice. The rucksack&amp;rsquo;s failing part was always the same: the seams of the shoulder straps started to open. I reported the issue directly to the producer, hoping they would change something to improve the shoulder straps. However, when also the third rucksack developed the same problem, I decided not to exchange it but to fix it. My fix is optically not very pleasing, but it has lasted long enough that I can report the second point of failure: the bottom pane. It ripped where the bottom piece contacts the backplane of the rucksack. I also repaired that one because I was interested in which part would fail next. The upside: these repairs were quick and easy, and they have already lasted for 4 months without any sign of failure due to the high-quality material. &lt;em&gt;The zippers limit the ultimate lifetime of perhaps all rucksacks&lt;/em&gt;Now I know: the zippers are starting to have problems. I am surprised that the zippers are still sort of working. The zippers have been the Achilles heel with almost all of my other rucksacks. And unlike a shoulder strap, it takes quite an effort to fix (= exchange) a badly failing zipper. This rucksack is now five years old. I have been using it literally every single day. I cycle or run with it to work, and I do my shopping with it. I travel with it and take it to the summer cottage. Am I expecting too much of a ~100€ rucksack? Is five years&amp;rsquo; lifetime the maximum I can get out of a rucksack these days? Sustainability is mostly just lip service, whatever the industry. I am determined to keep this rucksack for another 5 years, but exchanging the zippers will cost me at least 2 to 3 hours of work. As a quick fix, I used pliers to tighten the top and bottom wings of the metal slider (like in 
 &lt;a href="https://www.youtube.com/watch?v=oR13Yldtbx8" target="_blank" rel="noopener noreferrer nofollow"&gt;this youtube video&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). That has been working, but according to my experience, this tightening needs to be repeated in increasingly shorter intervals, and finally, the metal will break. To avoid replacing the whole zipper, you can 
 &lt;a href="https://www.youtube.com/watch?v=60gffSduYu4" target="_blank" rel="noopener noreferrer nofollow"&gt;add buttons to create a new closure&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which is perhaps less work if you are not very skillful at sewing.&lt;/p&gt;</description></item><item><title>Wake on LAN from pfsense commandline</title><link>https://jeltsch.org/en/wakeonlan/</link><pubDate>Sun, 17 Apr 2022 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wakeonlan/</guid><description>&lt;p&gt;Pfsense is an extremely powerful firewall/router OS. I use the SG-1100 device and you can get lots of customized functionality due to the many packages that you can additionally install on top of the base configuration. I have just learned that I can use it to remotely switch on other computers that are on the same local network. Requirements:&lt;/p&gt;</description></item><item><title>Risk versus hazard</title><link>https://jeltsch.org/en/hazard/</link><pubDate>Sun, 10 Apr 2022 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/hazard/</guid><description>&lt;p&gt;Last week I failed to explain the difference between risk and hazard. Perhaps because the distinction does not exist that clearly in my mother tongue (German). Both hazard and risk are somewhat exchangeably translated to &amp;ldquo;Gefahr&amp;rdquo; or &amp;ldquo;Risiko&amp;rdquo;.Anyway, when I went to the kitchen this morning to make my morning coffee, I realized there was a hazard: somebody had left some flammable items on the hot plate. This is a hazard. It has the potential to cause harm. However, it might never cause any harm.But is leaving flammables on the hot plate also a risk? Sure! The risk is the likelihood of harm happening. If the hot plate is never used because nobody ever cooks, the risk might be low. However, if small kids are around who get a kick out of switching on and off electrical devices, the risk might be high. Risk can be quantified. Playing Russian roulette comes with a risk, which can be quantified: 1/6 for every pull of the trigger. A hazard has always a probability of 0 or 1 (it either exists or doesn&amp;rsquo;t). On top of the probability, risk also implicitly includes the severity of the mishap. Therefore Russian roulette is very risky, but jumping from the 3-m diving board is not so much, even though there is a risk that you injure yourself.&lt;/p&gt;</description></item><item><title>How to reset the admin password in Drupal 9</title><link>https://jeltsch.org/en/reset_admin_password_in_drupal_9/</link><pubDate>Sat, 09 Apr 2022 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reset_admin_password_in_drupal_9/</guid><description>&lt;ol&gt;
&lt;li&gt;Go to the base folder of the drupal installation&lt;/li&gt;
&lt;li&gt;Generate the hash for your password: php core/scripts/password-hash.sh &amp;rsquo;newpasswd'&lt;/li&gt;
&lt;li&gt;Execute in mysql: UPDATE users_field_data SET pass=&amp;lsquo;hash_result_from_previous_command_goes_here&amp;rsquo; WHERE uid = 1;&lt;/li&gt;
&lt;li&gt;Clear the cache: DELETE FROM cache_entity WHERE cid = &amp;lsquo;values:user:1&amp;rsquo;;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>University helpdesk recommends Zotero, but does not provide meaningful support</title><link>https://jeltsch.org/en/migration/</link><pubDate>Sun, 20 Mar 2022 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/migration/</guid><description>&lt;p&gt;With the end of last year (31.12.2021), the University of Helsinki discontinued licensing its default bibliographic software tool 
 &lt;a href="https://about.proquest.com/en/products-services/refworks/" target="_blank" rel="noopener noreferrer nofollow"&gt;RefWorks&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Strangely, you cannot license RefWorks as an individual. That means when your academic affiliation ends, there is no way for you to continue using the software. Perhaps, the current owner of RefWorks (Clarivate) will kill it completely because RefWorks is a direct competitor of 
 &lt;a href="https://endnote.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;Endnote&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which is the reference management solution that Clarivate is focussing on, given Endnote&amp;rsquo;s integration with 
 &lt;a href="https://publons.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Publons&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and the 
 &lt;a href="https://en.wikipedia.org/wiki/Web_of_Science" target="_blank" rel="noopener noreferrer nofollow"&gt;Web of Science&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (WoS), which is best known for its 
 &lt;a href="https://jeltsch.org/en/poor_correlation_of_the_journal_impact_factor_with_scientific_impact/"&gt;Impact Factor&lt;/a&gt;
. Not coincidentally, Clavivate is owned by Thomson Reuters, which is the company that litigated against Zotero for offering its users the possibility to convert proprietary EndNote citation style sheets into the interoperable and standard 
 &lt;a href="https://jeltsch.org/en/fiddling_around_with_csl/"&gt;CSL format&lt;/a&gt;
. The recommended replacement for RefWorks is 
 &lt;a href="https://zotero.org" target="_blank" rel="noopener noreferrer nofollow"&gt;Zotero&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I have no problem with this since I like Zotero and have been using it as my default bibliography management tool for now more than 10 years. On top of the fact that it is free, it combines two important features, which make it unique and superior to commercial solutions:&lt;/p&gt;</description></item><item><title>Finding the annual return on investment (ROI) for assets at OP bank</title><link>https://jeltsch.org/en/finding_the_annual_return_on_investment_roi_for_assets_at_op_bank/</link><pubDate>Sun, 09 Jan 2022 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/finding_the_annual_return_on_investment_roi_for_assets_at_op_bank/</guid><description>&lt;p&gt;I am a customer of the Finnish 
 &lt;a href="https://www.op.fi/home-page" target="_blank" rel="noopener noreferrer nofollow"&gt;OP bank&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Like many other people, I had more leftover money than normally during the coronavirus pandemic. And like many others, I also invested some of that money into the stock market. I do not follow the stock market, but at the end of the year, I want to know how my investments performed: I want to know the annual return on investment (ROI) or the IRR (internal rate of return) for my whole portfolio and also for my individual stocks.&lt;/p&gt;</description></item><item><title>Missed a TV broadcast?</title><link>https://jeltsch.org/en/referral_url_for_onlinetvrecorder/</link><pubDate>Fri, 26 Nov 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/referral_url_for_onlinetvrecorder/</guid><description>&lt;p&gt;If you have missed a TV show, that is not available online, you might try this service: 
 &lt;a href="https://www.onlinetvrecorder.com/v2/signup/1905125" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.onlinetvrecorder.com/v2/signup/1905125&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>How to manually encrypt a second hard drive in Ubuntu 20.04</title><link>https://jeltsch.org/en/how_do_manually_encrypt_a_second_hard_drive_in_ubuntu_20_04/</link><pubDate>Fri, 19 Nov 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_do_manually_encrypt_a_second_hard_drive_in_ubuntu_20_04/</guid><description>&lt;p&gt;You have added a second hard drive to your encrypted Linux system. The Debian installer makes it easy to encrypt during system installation, but how do you encrypt this new drive?&lt;/p&gt;</description></item><item><title>Reset Wirelesstag's outdoor probe's flash memory</title><link>https://jeltsch.org/en/reset_wirelesstag_s_outdoor_probe_s_flash_memory/</link><pubDate>Sat, 09 Oct 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reset_wirelesstag_s_outdoor_probe_s_flash_memory/</guid><description>&lt;p&gt;I really like the products from 
 &lt;a href="https://wirelesstag.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;https://wirelesstag.net/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, the product documentation is sometimes less than complete and their staff less than professional. E.g. there is no information how to reset the outdoor probe when you need to associate it with another tag manager (and you have no access to the previous tag manager). They have information (and images) on how to do that for their wireless sensor tags, but not for the outdoor probe. Customers have already asked for this, but it doesn&amp;rsquo;t seem to be a priority for them to add this bit of information.So here&amp;rsquo;s the image which pins to short-circuit. How do I know? I found out by try and error.&lt;/p&gt;</description></item><item><title>Why I am running Windows 11 now</title><link>https://jeltsch.org/en/why_i_am_running_windows_11_now/</link><pubDate>Sun, 03 Oct 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/why_i_am_running_windows_11_now/</guid><description>&lt;p&gt;My work computer broke in early summer: the graphics card failed. I used it without a graphics card since, but a few weeks ago the hard drive started to make problems. I ordered a new machine, but since the new Lenovo models will be coming soon, IT asked whether I want to wait for a few weeks in order to get the newer model (the P350 instead of the P340). So I have to bridge this time with something. I tried the old desktop that controlled the Äkta Avant, but it was pretty unusable (boot time ~ 3 minutes), but the solution appeared to be our old HP Elitebook G3. Most people who know me know that I am a big fan of open source software. Many of the best open source programs can run on Windows OS: Firefox, VLC, Inkscape, Blender, Scribus, Zotero. However, some open source software has never been ported to Windows. And often, the Linux version of the software runs better than the Windows version. One example is Gnumeric, Gnome&amp;rsquo;s spreadsheet calculator, which has an excellent chart export function to SVG. I have often recommended to my Windows-using students to install the Linux Subsystem for Windows (WSL) in order to run Linux programs, but only now have I done so myself. In order to do this, I needed to upgrade Windows 10 to Windows 11. I followed these instructions: 
 &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-appsStrangely" target="_blank" rel="noopener noreferrer nofollow"&gt;https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-appsStrangely&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 when I tried to upgrade, Windows complained that my hardware is not &amp;ldquo;compatible&amp;rdquo; with Windows 11, but nevertheless started and succeeded with the upgrade.Here you can see a Win 11 running on a decomissioned HP Elitebook G3, which my university had refused to upgrade from Windows 7 to Windows 10 in 2019 (even though it was technically one day within the limits). I did a fresh install of Win 10 with the official installation media which I downloaded from Microsoft. For some strange reason, it never asked me for a license (even though the I had exchanged the SATA-SSD for an NVMe SSD). In fact the computer is actually very fast and usable, and I will definitely keep it around for a few years as my only Windows machine, because there are still rare occasions when I need a physcial Windows installation.On the downsider, the Win 10 install was a PITA because my university IT locks the BIOS, and once the machine is decomissioned, they don&amp;rsquo;t feel the responsibility to give these machines a second life. IMHO, this is totally against the sustainability goals of our university. Fortunately, one can mostly work around a locked BIOS. In the worst case, one needs to exchange it against a spare BIOS from China.&lt;/p&gt;</description></item><item><title>Erichsen Geld &amp; Gold</title><link>https://jeltsch.org/en/erichsen/</link><pubDate>Sun, 01 Aug 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/erichsen/</guid><description>&lt;p&gt;This post was originally only available in German because I was writing about what I consider to be the best German-language podcasts on the subject of money and finance. Money and finance are country-specific topics. When it comes to things like pensions or health insurance, advice from US podcasts is pretty much useless. Who here has a 401(k) plan (1)? But even within Europe, countries differ so greatly from one another that you should think carefully before adopting well-meaning advice from another country. A simple example is the differences in the use of cash: Here 
 &lt;a href="https://www.concardis.com/fileadmin/redakteur/Dokumente/Downloads/RH_Interview_Bankmagazin_DE.pdf" target="_blank" rel="noopener noreferrer nofollow"&gt;in Scandinavia, EVERYTHING is paid for by card&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, regardless of the amount. Cash is mainly only around here because of German tourists! As I live in Finland, I should therefore listen to a Finnish podcast about money and finances. Unfortunately, I haven’t found an interesting one yet. You probably need a certain amount of choice so that you can a) find something that suits your own life situation and b) something that is of high quality in terms of both content and production. Life circumstances, age and, not least, social attitudes create for all podcasters a (more or less) limited perspective, from which it is difficult to break free. That’s probably why my clear number one among finance podcasts is 
 &lt;a href="https://open.spotify.com/show/1a7eKRMaWXm8VazZH2uVAf" target="_blank" rel="noopener noreferrer nofollow"&gt;Erichsen: Geld und Gold&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Why do I think “Erichsen Geld &amp;amp; Gold” is better than all the others? Probably because, apart from our professions, my life situation and Lars Erichsen’s are strikingly similar – from our age and family circumstances right down to details in our CVs and our social outlook. If I’d stayed in Germany, I’d be a &lt;em&gt;Northern Light&lt;/em&gt; too (2). The fact that I can draw this comparison also says something about the podcast: although it’s a finance podcast, as a regular listener you quickly get the feeling that you know Lars Erichsen well as a person. It is this quasi-personal connection that has helped podcasts achieve their breakthrough, and it’s something that television – or even the professionally produced podcasts from media conglomerates, of which there are more and more – simply cannot compete with. The 
 &lt;a href="https://www.handelsblatt.com/audio/" target="_blank" rel="noopener noreferrer nofollow"&gt;Handelsblatt&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
? Forget it!&lt;/p&gt;</description></item><item><title>Ways how to keep a process running after logging out</title><link>https://jeltsch.org/en/screen/</link><pubDate>Sat, 26 Jun 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/screen/</guid><description>&lt;p&gt;There are many ways how to keep a process running after logging out. Each if them has its own advantages and disadvantages: nohup, disown, screen, tmux, ssh2go, etc. 
 &lt;a href="https://www.gnu.org/software/screen/" target="_blank" rel="noopener noreferrer nofollow"&gt;Screen&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is certainly not the most feature-rich and modern solution, but it is available by default on all Linux installations. That&amp;rsquo;s why I use it. Here&amp;rsquo;s how it works:&lt;/p&gt;</description></item><item><title>Installing perl modules</title><link>https://jeltsch.org/en/perl/</link><pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/perl/</guid><description>&lt;p&gt;I have not done this for perhaps a decade or more. But apparently, things are still the same on Ubuntu 18.04:&lt;/p&gt;</description></item><item><title>Where to move to from RefWorks?</title><link>https://jeltsch.org/en/RefWorks/</link><pubDate>Thu, 10 Jun 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/RefWorks/</guid><description>&lt;p&gt;I never understood why our university pays for proprietary reference management software. Perhaps some old people in the administration still live in the 90s of the last millennium when EndNote was de-facto the only decent reference management software for WYSYWIG text processors. But those times are long gone. Finally, our university is at least dumping one of its proprietary reference managers:&lt;/p&gt;</description></item><item><title>Directory hard links in Linux</title><link>https://jeltsch.org/en/directory_hard_links/</link><pubDate>Thu, 03 Jun 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/directory_hard_links/</guid><description>&lt;p&gt;Directory hard links in Linux are forbidden because they would:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;create cycles in the directory hierarchy.&lt;/li&gt;
&lt;li&gt;break the assumption that directories form a tree.&lt;/li&gt;
&lt;li&gt;complicate deletion and reference counting.&lt;/li&gt;
&lt;li&gt;make filesystem traversal and maintenance much harder.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Instead, Linux allows hard links for regular files and symbolic links for both files and directories. To emulate something similar to directory hard links, you can mount any file system path into any other directory (&lt;em&gt;bind mount&lt;/em&gt;). However, you need to be careful because you can get the same problems as with directory hard links, namely circular and thus infinite file paths…&lt;code&gt;sudo mount --bind /home/user/Documents/Desktop/ /home/user/Desktop/&lt;/code&gt;. Such a link disappears after a reboot. If you want to make it permanent, you can add the mount to /etc/fstab:&lt;code&gt;/home/user/Documents/Desktop/ /home/user/Desktop none bind&lt;/code&gt;. Some say this does not work with LVM, but at least, on Ubuntu 20.04 it does. Obviously, this entry should be at the bottom of the fstab!&lt;/p&gt;</description></item><item><title>Randomized controlled potato chip tasting trial</title><link>https://jeltsch.org/en/chips/</link><pubDate>Sun, 16 May 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/chips/</guid><description>&lt;p&gt;We did a blinded randomized controlled potato chip tasting trial (RCPCT) yesterday. Unfortunately, everybody wanted to participate and therefore, we could not do it in a double-blinded fashion. We went for the plain type, for which we could find in Prisma three different brands: Estrella, Taffel, and Xtra.We only evaluated taste, and the results were clear and a bit surprising: Xtra and Estrella shared the first place and Taffel took the third/last place in the opinion of all four contestants. Given the fact that both Taffel and Estrella are almost twice as expensive (8.49€ and 8.18€ per kg, respectively) as the Xtra brand (4.3€/kg), it seems to be a no-brainer to buy the Xtra brand. What about nutritional aspects? Both Estrella and Xtra have 1.4% salt, while Taffel gets away with 1.1% salt. And the fat? Xtra uses exclusively sunflower seed oil, while both Taffel and Estrella use a mix of sunflower and rapeseed/canola. Consequently, Estrella and Taffel both have a healthier fatty acid composition that Xtra, and Estrella takes the lead with the least amount of saturated fatty acids.Which one to choose is not really clear: You get good taste for the least money buying Xtra, but it&amp;rsquo;s not the most healthy choice. On the other hand, it is not really clear whether Taffel or Estrella takes the lead in the health category (if we can speak about such category when evaluating chips at all). Taffel has less salt, but more saturated fatty acids. Estrella has more salt, but less saturated fatty acids. Since the price is roughly equal, let the taste decide.PS: Both English and German do not distinguish between the two different Brassica species, that are used to produce rapeseed/canola oil (Brassica rapa and Brassica napus). However, in the Finnish language, Brassica rapa translates into rypsi, while Brassica napus translates into rapsi. The nutritional values with respect to the fatty acid composition are similar for both plants.&lt;/p&gt;</description></item><item><title>Multiple Python versions on Ubuntu 20.04</title><link>https://jeltsch.org/en/multiple_python_versions_on_ubuntu_20_04/</link><pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/multiple_python_versions_on_ubuntu_20_04/</guid><description>&lt;p&gt;Adding a new python version to Ubuntu 20.04 (for my system it is the 3rd version after 2.7 and 3.8):
&lt;code&gt;sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 3&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Eduroam installation on Linux</title><link>https://jeltsch.org/en/eduroam/</link><pubDate>Tue, 23 Feb 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/eduroam/</guid><description>&lt;p&gt;This morning it took me an hour to get 
 &lt;a href="https://www.eduroam.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Eduroam&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 working. Eduroam is the international WLAN roaming service for university students and staff. I brought in my (non-university managed) laptop to work and tried to get connected. I finally found the instructions on the 
 &lt;a href="https://helpdesk.it.helsinki.fi/en/search?keys=Eduroam&amp;#43;Linux" target="_blank" rel="noopener noreferrer nofollow"&gt;IT Helpdesk site on place place 19&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (from 21 results shown on the first page when searching for &amp;ldquo;Eduroam Linux&amp;rdquo;): 
 &lt;a href="https://helpdesk.it.helsinki.fi/en/instructions/logging-and-connections/networks/installation-eduroam-network-on-ubuntuAs" target="_blank" rel="noopener noreferrer nofollow"&gt;https://helpdesk.it.helsinki.fi/en/instructions/logging-and-connections/networks/installation-eduroam-network-on-ubuntuAs&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 usual, the instructions are from many years back and no longer work on a &amp;ldquo;recent&amp;rdquo; system such as Ubuntu 20.04 LTS. On top of this, I had some old, dysfunctional Eduroam settings lingering around from a previous failed attempt. For the instructions below, you will need the Eduroam configuration tool, which you can download from 
 &lt;a href="https://cat.eduroam.org" target="_blank" rel="noopener noreferrer nofollow"&gt;https://cat.eduroam.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. To make it work, I had to do the following things:&lt;/p&gt;</description></item><item><title>Editing Zoom recordings of teaching sessions with FFmpeg</title><link>https://jeltsch.org/en/editing_zoom_recordings_of_teaching_sessions_with_ffmpeg/</link><pubDate>Wed, 25 Nov 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/editing_zoom_recordings_of_teaching_sessions_with_ffmpeg/</guid><description>&lt;p&gt;Based on student feedback, we have been organizing a 
 &lt;a href="https://studies.helsinki.fi/courses/cur/hy-opt-cur-2021-75b4e723-3796-4ac6-a8fe-0a840afaf2d7" target="_blank" rel="noopener noreferrer nofollow"&gt;new course&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for the 
 &lt;a href="https://www.helsinki.fi/en/admissions/degree-programmes/translational-medicine-masters-programme" target="_blank" rel="noopener noreferrer nofollow"&gt;TRANSMED MSc program&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 about drug discovery and development. It is what you call in German a &amp;ldquo;Schupperkurs&amp;rdquo;. I never have found a satisfactory translation of this word in English. It means that we just want to raise the students&amp;rsquo; interest in this course. If they like it, they can take any of the many in-depth courses that are offered e.g. at the 
 &lt;a href="https://www.helsinki.fi/en/faculty-of-pharmacy" target="_blank" rel="noopener noreferrer nofollow"&gt;Faculty of Pharmacy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, where there will be more teaching in English in the coming years due to the planned International MSc program in Pharmacy.&lt;/p&gt;</description></item><item><title>Grub2</title><link>https://jeltsch.org/en/grub2/</link><pubDate>Mon, 19 Oct 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/grub2/</guid><description>&lt;p&gt;Grub2 has been the default boot loader for Ubuntu for more then 10 years now. Its configuration file is nowadays /boot/grub/grub.cfg, but you MUST NOT edit /boot/grub/grub.cfg in order to modify the Grub boot menu. Instead, you need to add your own entries to the file /etc/grub.d/40_custom. Some general preferences are also set in the the file /etc/default/grub and any file under /etc/default/grub.d/.&lt;/p&gt;</description></item><item><title>Listing all active internet connections on Linux</title><link>https://jeltsch.org/en/listing_all_active_internet_connections_on_linux/</link><pubDate>Wed, 02 Sep 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/listing_all_active_internet_connections_on_linux/</guid><description>&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;netstat -natp&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;However, it is not always easy to figure out what the actual program is that is responsible for the connection. E.g. my Brave browser shows up as&lt;/p&gt;</description></item><item><title>Apache forward proxy</title><link>https://jeltsch.org/en/apache_forward_proxy/</link><pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/apache_forward_proxy/</guid><description>&lt;p&gt;Anyway: What is a &lt;strong&gt;forward proxy&lt;/strong&gt; (and what is a &lt;strong&gt;reverse proxy&lt;/strong&gt; for that matter)? If the proxy is a forward proxy, the server thinks the proxy is the client. If the proxy is a reverse proxy, the client thinks the proxy is the server.&lt;/p&gt;</description></item><item><title>Counting files (list and word count, ls &amp; wc)</title><link>https://jeltsch.org/en/counting_files_list_and_word_count_ls_wc/</link><pubDate>Wed, 29 Apr 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/counting_files_list_and_word_count_ls_wc/</guid><description>&lt;p&gt;How do you count the number of files in a directory? That becomes non-trivial if you have thousands of files in a directory. Your file manager chokes on counting them, especially if they are not local. On the Linux command line, this task is fast and easy:&lt;code&gt;ls | wc&lt;/code&gt;ls lists your files one per row and wc returns three numbers: lines, words and bytes. In the file counting example, lines and words are the same and equal the number of files in the directory. To count all files recursively in the directory tree &amp;ldquo;backcheck&amp;rdquo;:&lt;code&gt;find backcheck/ -type f | wc -l&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Repairing our refrigerated centrifuge</title><link>https://jeltsch.org/en/repairing_our_refrigerated_centrifuge/</link><pubDate>Tue, 17 Mar 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/repairing_our_refrigerated_centrifuge/</guid><description>&lt;p&gt;Refrigerated tabletop centrifuges are quite expensive. Although discontinued, a refurbished Eppendorf 5415R (the model we use) still sells for 




 
 &lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mi&gt;K&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;T&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mn&gt;5415&lt;/mn&gt;&lt;mi&gt;R&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;msup&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mo mathvariant="normal" lspace="0em" rspace="0em"&gt;′&lt;/mo&gt;&lt;/msup&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;B&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;I&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;I&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;H&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;I&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;mi&gt;I&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;I&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;T&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;T&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;w&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mi&gt;Y&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;h&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;k&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;C&lt;/mi&gt;&lt;mi&gt;G&lt;/mi&gt;&lt;mi&gt;S&lt;/mi&gt;&lt;mi&gt;H&lt;/mi&gt;&lt;mi&gt;S&lt;/mi&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mn&gt;50&lt;/mn&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;s&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;e&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;z&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;1-2K. The second of our two Eppendorf 5415R broke already more than a year ago and since then, we have been either centrifuging in the cold room or using the neighboring lab&amp;#x27;s cold fudge. But having two broken centrifuges of the same type, but different failure symptoms begged to assemble one functioning out of the remains.One of the centrifuge rotors was stuck (could not be turned even by hand) and the other fuge was giving sparks and smoke when starting a run. I had postponed this repair since I thought it might take much time. However, when I opened the first centrifuge, I immediately could identify the part that I needed to graft from the other fuge. The whole repair lasted less than one hour. There was a blown resistor next to the cooling fan, which was easily replaced with the part from the second fuge. You can see the broken brass-colored resistor (CGS HSA50 resistor, available from Amazon for &lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;
 

13) in the front of the picture left to the rotor.The failure of both centrifuges was apparently caused by liquid getting into the inner workings of the fuge. The rotor of the second centrifuge could not turn anymore because it was corroded from the salt and water. Also, the resistor had apparently been soaked (it is located immediately below the cooling grill on the top back of the fuge).The centrifuge works again including the cooling. I do not know for how long we will enjoy it, because it was already 2nd hand when we bought it in 2014. But even if it lasts only for another year, the repair was worth it.This type of repair might become easier in the future because if I am not mistaken, the EU is planning to mandate that manufacturers make service and repair manuals available to third party repair shops (this mandate exists already for car manufacturers to ensure that independent car repair shops can survivce).Depending on the coronavirus, I will perhaps get around repairing even more broken lab equipment. Next in the queue is the fraction collector of our old FPLC (GE Healthcare Äkta Explorer Frac-950).&lt;/p&gt;</description></item><item><title>Updating GE's Äkta Avant to Windows 10</title><link>https://jeltsch.org/en/updating_ge_akta_avant_to_windows_10/</link><pubDate>Tue, 18 Feb 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_ge_akta_avant_to_windows_10/</guid><description>&lt;p&gt;The Avant is the flagship of GE Healthcare&amp;rsquo;s Äkta line of 
 &lt;a href="https://en.wikipedia.org/wiki/Fast_protein_liquid_chromatography" target="_blank" rel="noopener noreferrer nofollow"&gt;FPLC&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (fast protein liquid chromatography) devices. We use it on a regular basis and it is 
 &lt;a href="https://b3p.it.helsinki.fi/" target="_blank" rel="noopener noreferrer nofollow"&gt;available to everybody&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from the University of Helsinki.Our University decided to play nice with Microsoft and to disallow all network traffic for Windows 7 computers. Because our Äkta (bought in 2015) is in use by many different researchers, we rely on Microsoft&amp;rsquo;s Active Directory to authenticate users and to track the device usage. When the University really did shut down Windows 7 traffic in late January, we finally updated the HP computer from Windows 7 to 
 &lt;a href="https://en.wikipedia.org/wiki/Windows_10" target="_blank" rel="noopener noreferrer nofollow"&gt;Windows 10&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Before we did that we contacted GE in order to be sure to have a working FPLC. Although the build number of Win10, that our University is using (Windows 10 Enterprise version 1809, build 17763.1039) was not supported by any of the Unicorn 7 versions that GE has released over the years (see this software compatibility chart, which I cannot find anymore from the GE website: 
 &lt;a href="https://drive.google.com/open?id=1cA33lEqfEr0MIaA8r9TyoQFcxiHWuZsp%29" target="_blank" rel="noopener noreferrer nofollow"&gt;https://drive.google.com/open?id=1cA33lEqfEr0MIaA8r9TyoQFcxiHWuZsp)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, we were assured that the software would continue working. Unfortunately, this was not true.**In-place upgrade or clean install?**We performed an upgrade of Win7 to Win10 in place. I never liked these. Even on slightly superior operating systems like 
 &lt;a href="https://en.wikipedia.org/wiki/MacOS" target="_blank" rel="noopener noreferrer nofollow"&gt;macOS&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and 
 &lt;a href="https://en.wikipedia.org/wiki/Linux" target="_blank" rel="noopener noreferrer nofollow"&gt;Linux&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, the in-place upgrades have not always been smooth. A fresh start has always been the safer (and also faster) bet.&lt;strong&gt;Connection problems&lt;/strong&gt;After the upgrade, Unicorn 7 started to lose the connection to the Äkta Avant during ongoing protein purification runs. We clearly could see during manual runs, that specific commands would trigger a disconnect. The Äkta LCD display would black out and the device would reboot. Naturally, we suspected that this was a consequence of the upgrade to Windows 10. Because Unicorn 7.0.2 had not been tested to work with our version of Windows 10, we first wanted to try to upgrade to a Unicorn 7 version that had been tested with our Win10 build. I had already asked in December for that update from GE, but my request had been ignored and I had many other things to do at the time and never bothered to come back to the issue (in hindsight a big mistake).&lt;strong&gt;Software updates&lt;/strong&gt;Something that Chrome and Firefox do weekly silently in the background (without the user noticing) takes in the case of GE almost 2 weeks full-time engagement by the user. A simple download might work for 
 &lt;a href="https://www.bio-rad.com/en-us/product/chromlab-software-security-edition?ID=NCGWOI15" target="_blank" rel="noopener noreferrer nofollow"&gt;Bio-Rad&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but GE requires a complicated, obfuscated, non-transparent, user-unfriendly, constantly changing, GDPR-non-compliant syastem, which is in addition hosted on servers that feel so slow that you constantly wonder whether your browser tab has frozen. What it’s worth, GE’s web pages have always been like this despite multiple redesigns and GE’s digital transformation. The email thread between me and various GE support addresses comprises as of today 60 emails (starting with my first support request on December 2nd, 2019). On top of this, there are also quite a few phone calls (since email seems to be often regarded as “non-urgent” by default).&lt;strong&gt;Privacy concerns about GE&amp;rsquo;s handling of customer data&lt;/strong&gt;After placing an order for the download, receiving a quotation, confirming the order and receiving an order confirmation, I finally received the “permission” to download the newest version of Unicorn (which is 7.5). I logged into GE’s “eDeliveryPortal” only to realize that I could see the software entitlements and downloads for many other GE customers, but none of my own. After some back-and-forth the 7.5 version finally showed up under my downloads. My license is still missing as of today. But why bother? I could use any of the other licenses (after faking the MAC address of my computer as the software apparently is locked to specific computer via the computer’s network card’s MAC address). This is clearly a violation of the 
 &lt;a href="https://gdpr.eu/" target="_blank" rel="noopener noreferrer nofollow"&gt;GDPR&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 as there is absolutely no reason why my data (entitlement ids, MAC addresses, Names, e-mail addresses) should be available to other customers. It might be that GE considers the University of Helsinki as a single customer; that would be a violation of the GDPR by design.**Searching for the system configuration files (i.e. firmware)**However, we had not updated the system configuration files, because I had not been able to find them from the 
 &lt;a href="https://www.gelifesciences.com/en/fi/shop/chromatography/software//unicorn-7-p-05649" target="_blank" rel="noopener noreferrer nofollow"&gt;GE LifeScience website&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. We were running version 3, while version 3.6 was the newest one. Notably, these files do also contain the firmware for the individual Äkta components. It appears that this download is nicely hidden. I needed help from GE in order to locate it. The GE life science website has a search function and the search even finds the download. However, it is perhaps the last item in a list of nearly 1000 hits (10 hits/page). One tip to GE: Google knows search! If you just would let Google index your complete web site, customers would find everything via a Google search. Many companies are using Google for their internal web site search. However, GE seems to expose only their product pages to search engine crawlers, but not their support pages.**Where are our licensing files?**After updating the instrument configuration, the problem persisted. After sending a system report (and then sending a second “extended” system report), GE concluded that most likely our in-place upgrade from Win7 to Win10 was to blame, because they could see some irregularities in the SystemEventLog.xml file. I had no reason to doubt this explanation and therefore requested a clean Windows 10 install from our IT guys. I then installed Unicorn 7.5 only to see that the problem had not disappeared. Just as a side note: We had a self-inflicted issue with our license file (.lic). The Unicorn installer software requests the installation of a license file, which I have never seen for download anywhere in the eDelivery portal (we have received these license files as attachments to e-mails directly from GE support staff, why are they not available for download as these are prone to be lost?). We should have made a copy of our license file before we erased our computer for the clean Win 10 install, but we missed that and I had to dig out the license file from a system backup, which I had luckily made in 2016 from the machine. And I am still searching for our license files for different system components (Classic Evaluation and Column Handling), which were not yet installed when I did the system backup.&lt;strong&gt;Down-grading to Windows 7&lt;/strong&gt;In order to be sure that we did not deal with a hardware failure, we decided to downgrade the system back to Windows 7 and Unicorn 7.0.2. That was more difficult than expected, because we cannot anymore install Windows 7 on university machines. Luckily we had still one old, unused Dell desktop, that was runninig Windows 7. Unicorn 7 requires two network cards (one to communicate with the outside world and one for a separate 10. network to communicate with the Äkta Avant). We swapped the network interface card from our default computer to this old Win 7 machine. However, installing and running Unicorn requires access to the internet because the software is “phoning home”. Exactly that is disallowed for Win7 machines at our university. Hence I needed to set up a private network via my phone to allow Unicorn 7 to communicate with GE headquarters. Even worse, I needed to clone the MAC address of our default computer, because our Unicorn 7 software is apparently locked to a specific computer via the computer’s MAC address. And wireless internet access was a no-go, because the original MAC address was from a wired NIC. It is not possible to clone MAC addresses between cabled NICs and USB wireless adapters, because MAC addresses from wireless cards have a fixed prefix. Hence, I had a complicated setup from my phone via a computer to a (cable) router to the Win7 Dell computer.&lt;strong&gt;Windows 10 is not to blame - F-Secure is the culprit&lt;/strong&gt;To my surprise, the Äkta Avant kept crashing when Unicorn 7 under Win7 issued commands like “pause” or “end”. But then I realized that - unlike our old Äkta Explorer - the Avant uses regular NICs for the device communication and the University of Helsinki Win10 version is by default “enhanced” by remote control and security software. I went to the Control panel and uninstalled all software add-ons that had been installed by the university. Most notably 
 &lt;a href="https://www.f-secure.com/en/business/products/endpoint-protection/business-suite/client-security" target="_blank" rel="noopener noreferrer nofollow"&gt;F-Secure’s Client Security Premium&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 was among the programs, that I uninstalled. After a reboot, I was unable to make the Äkta Avant crash. To confirm the finding, I popped the NIC back into our original default computer, rebooted and got stuck at the Windows 
 &lt;a href="https://en.wikipedia.org/wiki/BitLocker" target="_blank" rel="noopener noreferrer nofollow"&gt;BitLocker&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 screen. Changing the hardware configuration inevitably triggers Windows to refuse booting. This did slow me down because it required me to engage our university’s IT department, which is chronically overworked and difficult to find. I selectively disabled the firewall from F-Secure Client Security Premium and the crashes instantly ceased also on Windows 10. It is very difficult to argue why our university would need F-Secure&amp;rsquo;s products. Windows itself comes (since XP SP2) with a very capable firewall and also has its own anti-virus software (
 &lt;a href="https://support.microsoft.com/en-us/help/17150/windows-7-what-is-microsoft-security-essentials" target="_blank" rel="noopener noreferrer nofollow"&gt;Windows Security Essentials&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
/
 &lt;a href="https://www.microsoft.com/en-us/windows/comprehensive-security" target="_blank" rel="noopener noreferrer nofollow"&gt;Windows Defender&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
), which is at least as good as its best competitors in addition to the fact, that it is free and fully integrated into Windows (and it does not require to stick third-party hooks deeply into the OS).&lt;strong&gt;Windows 10 is too slow on our 2015 hardware&lt;/strong&gt;The only thing left is to upgrade our default computer to newer hardware. Our faculty had replaced older Win7 computers in 2019 with new machines, but this computer was 1 day too new to be included in the upgrade. However, it is already 5 years old and especially after the Windows 10 upgrade, it is very slow. When your protein elutes during your purification, you do not want fraction collection to start after a few seconds, but you want it to start instantly.&lt;/p&gt;</description></item><item><title>Copying with rsync</title><link>https://jeltsch.org/en/copy_with_rsync/</link><pubDate>Mon, 17 Feb 2020 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/copy_with_rsync/</guid><description>&lt;p&gt;Reasons why you should (not always, but often) prefer rsync over cp:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Resume Interrupted Transfers
If you are copying a large file and your terminal session crashes or the power cuts out, cp will simply fail, and you have to start over. rsync can pick up right where it left off, which is a massive time-saver for large datasets.&lt;/li&gt;
&lt;li&gt;Efficiency (Delta-Transfer Algorithm)
rsync is designed to be smart. If you are copying a file that already exists at the destination (e.g., you are updating a backup), rsync only copies the parts of the file that have actually changed (the &amp;ldquo;delta&amp;rdquo;) rather than overwriting the entire file. cp, by contrast, always copies the whole file every single time.&lt;/li&gt;
&lt;li&gt;Real-time Progress Monitoring
rsync provides excellent visual feedback. By using the -P (or &amp;ndash;progress) flag, you get a real-time progress bar showing the percentage complete, transfer speed, and estimated time remaining. cp is famously silent, leaving you guessing whether the process is still running or has hung, requiring you to check at the destination via the size of the arriving file, whether anything is progressing (ls -lh filename, or du -hs filename)&lt;/li&gt;
&lt;li&gt;Seamless Remote Transfers
rsync is natively built to work over SSH. You can use it to copy files directly to or from a remote server as easily as copying files on your local machine. cp cannot do this; to use cp for a remote server, you would first need to mount the remote filesystem locally, which is far more complex and prone to errors.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here is a common use case, the transfer of a directory, including all of its content:&lt;/p&gt;</description></item><item><title>Free digital signing of documents under Linux - an impossibility?</title><link>https://jeltsch.org/en/free_digital_signing_of_documents_under_linux_an_impossibility/</link><pubDate>Sun, 01 Dec 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/free_digital_signing_of_documents_under_linux_an_impossibility/</guid><description>&lt;p&gt;The whole story started when I tried to sign a LibreOffice document. When you belive the internet, document signing is inbuilt into LibreOffice. I still have to find the person that managed to digitally sign a LibreOffice document. This experience shows, that despite 
 &lt;a href="https://en.wikipedia.org/wiki/Edward_Snowden" target="_blank" rel="noopener noreferrer nofollow"&gt;Edward Snowden&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 most people do not proactively care about security and privacy. Debian removed scdaemon from the gnupg2 package and as usual, one needs to be a command line ninja to fix this. The scdaemon gives smartcard support (which I do not have, but without the scdaemon the Kleopatra key manager refuses to run). I am using the default Ubuntu 18.04 installation and it was quite an odyssey to get a document signed. In fact, I still do not have a satisfactory way to do this. However one does it, something&amp;rsquo;s not right. Ubuntu 19.10 has fixed at least the invokation of the key manager from LibreOffice and I can invoke SeaHorse from the document signing dialog, but I still have no clue how to make my gpg keys visible to LibreOffice. Anybody figured this out? Until somebody shows me how to sign with LibreOffice, I use the very good, but proprietary software 
 &lt;a href="https://www.qoppa.com/pdfstudio/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFStudio&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to import my GPG keys and sign my PDF files.&lt;strong&gt;Signing services (DocuSign, HelloSign)&lt;/strong&gt; So what do you do if you need to sign e.g. a PDF and you have no means or do not want to subscribe to one of the document-signing certificate service like 
 &lt;a href="https://www.docusign.com/products-and-pricing" target="_blank" rel="noopener noreferrer nofollow"&gt;DocuSign&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
? Even with DocuSign&amp;rsquo;s budget plan a single digital signing costs $2. DocuSign has a 30-day free trial, but I do not know whether the certificats that you generate during the trial with continue to be valid after the end of the trial. HelloSign (
 &lt;a href="https://www.hellosign.com" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.hellosign.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, now owned by DropBox ) has also a free tier (allowing to sign 3 documents/month) and when signing, it embeds an invisible signature (which was invalid for some strange reason when I tested it even though HelloSign is in Adobe&amp;rsquo;s approved trust list).&lt;strong&gt;Self-signing, cacert and StartSSL&lt;/strong&gt;Technically you can created your own signatures (self-signed certificates), but if such PDFs are viewed with Acrobat Reader, the signature will be flagged as invalid and the fact of self-signing is displayed. There used to be 
 &lt;a href="http://www.cacert.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.cacert.org/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but to my knowledge, all browsers have removed the CAcert certificates and the same is likely true for Acrobat. StartSSL used to give out free certificates, but they do not exist anymore (they were seriously challenged with their own security).&lt;strong&gt;PDF Viewer support&lt;/strong&gt;Interestingly many PDF Viewers do anyway ignore the signing (e.g. the inbuilt PDF viewer from Firefox does not display anything). Other PDF viewers will display the signature, but NOT indicate, that it is not trusted (e.g. the Chrome Browser&amp;rsquo;s PDF viewer and Ubuntu&amp;rsquo;s default PDF viewer Evince). Since you have no idea what viewer your target will use to display your signed PDF, you are anyway in a bad situation (even if you subscribe to a document signing service). &lt;strong&gt;Letsencrypt&lt;/strong&gt;To increase the trust in the signing, one can use a 
 &lt;a href="https://letsencrypt.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Letsencrypt&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 certificate for signing. This signature certifies that the author of the document controls a specific website (in my case jeltsch.org). That is more than a self-signed certificate (and if the website is trusted, this is arguably also more than buying a subscription from DocuSign), but the re-purposed Letsencrypt certificate is not being trusted by Adobe since obviously the Letsencrypt endeavor was never meant for document signing (&amp;ldquo;Signer&amp;rsquo;s identity is unknown because it has not been included in your list oif trusted certificates and none of its parent certificates are trusted certificats&amp;rdquo;). However, the maximum lifetime of such a certificate is 3 months, after which it becomes invalid. It can still be used, but it will display that it is not valid because it has expired (or is not valid yet).&lt;strong&gt;How to misuse the Letsencrypt certificate&lt;/strong&gt;First, you need a web server, that uses Letsencrypt certificates to verify the web site identity. This is out-of-scope for this blog post, but there are several good tutorials (e.g. from the 
 &lt;a href="https://letsencrypt.org/getting-started/" target="_blank" rel="noopener noreferrer nofollow"&gt;Let’s Encrypt people themselves&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or from 
 &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04" target="_blank" rel="noopener noreferrer nofollow"&gt;Digital Ocean&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). Once you have your Let&amp;rsquo;s Encrypt certificates, this is the process to &amp;ldquo;misuse&amp;rdquo; them for signing documents:Since Letsencrypt requires certificate renewal every three months, there will be lots of fullchain.pem and privkey.pem files in the same directory and they are numbered. You obviously want to use the newest (the only valid) certificate and perhaps you want to renew the Let&amp;rsquo;s Encrypt certificate immediately before exporting it for document signing:&lt;code&gt;certbot --apache --force-renewal -n -d jeltsch.org&lt;/code&gt; or if you want to renew all certificates: &lt;code&gt;certbot --apache --force-renewal&lt;/code&gt; If you choose to renew all certificates, certbot will try to issue a single certificate for all domains that exist on your server (this possibility did not exist in the beginning of the Letsencrypt ecosystem, but was introduced later). If your server serves more than one domain, you need to manually specify the domain name, for which you want the certificate.For more details about how to use the certbot script, see 
 &lt;a href="https://certbot.eff.org/docs/using.html#certbot-commandsThis" target="_blank" rel="noopener noreferrer nofollow"&gt;https://certbot.eff.org/docs/using.html#certbot-commandsThis&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is the command, that converts the certs into a PKCS#12 file:&lt;code&gt;openssl pkcs12 -export -out signing_certificat.p12 -in /etc/letsencrypt/archive/website-name/fullchain1.pem -inkey /etc/letsencrypt/archive/website-name/privkey1.pem&lt;/code&gt;The PKCS#12 file stores the certificate and the private key in one encrypted file (with the file extension .p12). Therefore, the command will ask from you a keyphrase, which you absolutely need to remember to be able to use the certificate. Then you can transfer the p12 file to your desktop computer and use it to sign PDF files.&lt;strong&gt;Time stamping servers&lt;/strong&gt;If your PDF application asks for a time stamping server, you can use one of the free services, e.g. ca.signFiles.com/TSAServer.aspx or 
 &lt;a href="http://zeitstempel.dfn.de" target="_blank" rel="noopener noreferrer nofollow"&gt;http://zeitstempel.dfn.de&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, also these time stamping services are not trusted by Adobe Acrobat.Here the commands to generate a self-signed certificate (it asks for a (temporary) passphrase, just make up something and remember it, you need it in the second step):&lt;code&gt;openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650&lt;/code&gt;Conversion into a signing certificate (it first asks you for the temporary passphrase from above and then for the final passphrase, which you need to remember in order to use the certificate:&lt;code&gt;openssl pkcs12 -export -out signing_certificat.p12 -in cert.pem -inkey key.pem&lt;/code&gt;&lt;/p&gt;</description></item><item><title>PXE-booting from Netgate Pfsense SG-3100</title><link>https://jeltsch.org/en/pxe_booting_from_netgate_pfsense_sg_3100/</link><pubDate>Fri, 15 Nov 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/pxe_booting_from_netgate_pfsense_sg_3100/</guid><description>&lt;p&gt;To install Linux without the need of a CD/DVD/USB-stick, I now use PXE-booting (&amp;ldquo;pixie&amp;rdquo;-booting) on our local home network. I could not find good instructions and had to try out things before it started working, but the process itself is fairly simple. Here are the steps:&lt;/p&gt;</description></item><item><title>Nautilus (Ubuntu's file manager) and bookmarks</title><link>https://jeltsch.org/en/nautilus_ubuntu_file_manager_and_bookmarks/</link><pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/nautilus_ubuntu_file_manager_and_bookmarks/</guid><description>&lt;p&gt;In the very old days, the Ubuntu&amp;rsquo;s file manager&amp;rsquo;s bookmarks were stored directly as invisible file in the home folder ($HOME/.gtk-bookmarks). Since 14.04, they have been hiding two levels deep in $HOME/.config/gtk-3.0/bookmarks.And if you wonder where the Nautilus scripts are, they are nowadays at $HOME/.local/share/nautilus/scripts/.&lt;/p&gt;</description></item><item><title>Mounting lvm2 manually</title><link>https://jeltsch.org/en/mounting_lvm2_manually/</link><pubDate>Fri, 02 Aug 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_lvm2_manually/</guid><description>&lt;p&gt;All commands as sudo:&lt;/p&gt;
&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vgscan (--mknodes)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vgchange -ay (volumegroupname)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(lvdisplay or lvs or ls -l /dev/volumegroupname/)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -vp $PATH/{home,root} (to make a moint point)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/volumegroupname/home $PATH/home
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/volumegroupname/root $PATH/root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(ls -al $PATH/home)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>How to enable passwordless logins to a server</title><link>https://jeltsch.org/en/how_to_enable_passwordless_logins_to_a_server/</link><pubDate>Wed, 24 Jul 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_enable_passwordless_logins_to_a_server/</guid><description>&lt;ol&gt;
&lt;li&gt;Enable root login with password on the server. To do so, you need to edit the file /etc/ssh/sshd_config.Modify the lines starting with &amp;ldquo;PermitRootLogin&amp;rdquo; like this:#PermitRootLogin prohibit-passwordPermitRootLogin yes&lt;/li&gt;
&lt;li&gt;Restart the sshd server:sudo systemctl restart sshd&lt;/li&gt;
&lt;li&gt;On the client, copy the public key files to the server with the ssh-copy-id command:ssh-copy-id root@server&lt;/li&gt;
&lt;li&gt;On the server, disable root login with password and enable root login with public key authentication:PermitRootLogin prohibit-password#PermitRootLogin yes&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Ḿanuscript reviewing by annotating PDFs</title><link>https://jeltsch.org/en/manuscript_reviewing_by_annotating_pdfs/</link><pubDate>Fri, 28 Jun 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manuscript_reviewing_by_annotating_pdfs/</guid><description>&lt;p&gt;Manuscripts for scientific peer-review are delivered as PDF files. Thus it appears most natural to comment the PDF file itself instead of submitting the comments as a separate text (file). However, many submission systems do not allow to submit comments in form of an annotated PDF file.In addition, there is no easy-to-use free/Open Source PDF editor for Linux (my platform of choice). Yes, there is PDFEdit (
 &lt;a href="http://pdfedit.cz/en/index.html%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://pdfedit.cz/en/index.html)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but it requires substantial learning and its last release dates back to 2012. There are free online PDF editors (e.g. 
 &lt;a href="https://www.pdfescape.com/%29" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.pdfescape.com/)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but sometimes I need a local tool. Although not Open Source and not free, the tool of my choice has been 
 &lt;a href="https://www.qoppa.com/pdfstudio/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDF Studio Pro&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It has all the features I need (actually much more than I need), it is truly cross-platform (Windows, Mac, Linux), easy to use and very affordable for what it offers ($129 single permanent license). Unfortunately, Quoppa software - the maker of PDF Studio - does not offer academic discounts.&lt;strong&gt;PDF Studio Viewer&lt;/strong&gt;A while ago, the makers of PDF Studio started to offer a free version called 
 &lt;a href="https://www.qoppa.com/pdfstudioviewer/download/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDF Studio Viewer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. This free version has gotten more useful over time. Since last year, it also supports PDF annotation, which is very important for my work, mostly when I am peer-reviewing scientific manuscripts. For many academic users, the PDF Studio Viewer might be fully sufficient.&lt;strong&gt;Libre Office and Inkscape&lt;/strong&gt;Of course Libre Office Draw and Inkscape can edit PDFs, but they are not specialized for annotating. If you need to do extensive annotations, the process becomes soon very painful. In addition, Inkscape editing can be destructive (i.e. when you modify text), but I have used it e.g. to fill out forms.Apart from the lack of dedicated annotation and reviewing tools (&amp;ldquo;markups&amp;rdquo; like &amp;ldquo;replace text&amp;rdquo;, &amp;ldquo;crossout text&amp;rdquo;, &amp;ldquo;delete text&amp;rdquo;, &amp;ldquo;insert text&amp;rdquo; or callouts), Libre Office Draw is actually a quite capable PDF editor, but fails still sometimes to correctly open very complex PDF documents (I have had problems with background images/patterns). Strangely, the only reviewing tool (comments) are not exported by default. You need to check the &amp;ldquo;Export comments&amp;rdquo; box when you export your edited PDF file as PDF (the &amp;ldquo;Save&amp;rdquo; operation creates an ODG file, which you probably don&amp;rsquo;t want).&lt;strong&gt;PDFsam&lt;/strong&gt;If you do not have the need to annotate, then you might get away with the Open Source tool 
 &lt;a href="https://sourceforge.net/projects/pdfsam/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFsam&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Unlike PDFEdit, PDFsam is available from the Ubuntu repositories. PDFsam also has two non-free versions (
 &lt;a href="https://pdfsam.org/pdfsam-enhanced/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFsam Enhanced&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and 
 &lt;a href="https://pdfsam.org/download-pdfsam-visual/" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFsam Visual&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). PDFsam Basic (the Open Source version) is just a simple GUI on top of some command line utilities, whereas the PDF Studio Viewer offers a true visual editing experience. I canot talk about the non-free versions of PDFsam as they are not available as free trials. In fact, all of the operations of PDFsam can be achieved via the command line (see here for my blog post about how to perform common PDF editing tasks using mostly the command line tool 
 &lt;a href="https://jeltsch.org/en/pdf/"&gt;pdftk&lt;/a&gt;
).&lt;strong&gt;Reducing file size&lt;/strong&gt;PDFsam Basic and PDF Studio Viewer do not offer any functionality to reduce file size. The LibreOffice Draw PDF export dialog let&amp;rsquo;s you reduce image resolution and JPEG compression, which you can use to reduce file size. But at the Open Source front, the only capable tools to reduce PDF size seem to be command line tools. I use 
 &lt;a href="https://www.ghostscript.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;ghostscript&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for this task, but the command is not easy to remember:&lt;code&gt;gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf&lt;/code&gt;With PDF Studio Pro, you obviously do not need to remember the different keywords for the different output quality option (screen, ebook, printer, prepress) as you just choose from the drop down menu between the available options. If you are looking for an Open Source graphical wrapper for ghostscript, perhaps try 
 &lt;a href="https://sourceforge.net/projects/workerpdf/" target="_blank" rel="noopener noreferrer nofollow"&gt;workerPdf&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. &lt;strong&gt;Signing documents and adding signatures&lt;/strong&gt;PDF Studio Viewer let&amp;rsquo;s you sign documents if you have a 
 &lt;a href="https://www.docusign.com/products-and-pricing" target="_blank" rel="noopener noreferrer nofollow"&gt;DocuSign subscription&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, I am mostly concerned about being able to prove myself that I created a certain document (&amp;ldquo;self-signed signature&amp;rdquo;) and not that others are able to verify my authorship. For this scenario you are out of luck with PDF Studio Viewer. And apparently, PDFSam does not offer any possibility for signing (neither self-signing nor 3rd party signing). However, Libre Office Draw allows documents signing! I have been looking for an affordable solution (not self-signed, but trusted by other PDF readers) to sign PDF documents, but there seems to be no appropriate solution if you need to sign only rarely. The basic plan by DocuSign ($10/month) appears too expensive when signing only one document per month.&lt;strong&gt;Take-home message&lt;/strong&gt;If you want to stay with free or Open Source solutions, you probably need to combine several tools in order to cover all typical PDF editing tasks without pain: PDFsam Basic, LibreOffice Draw, PDF Studio Viewer and ghostscript. But if you edit PDFs often (as I do), buying PDF Studio Pro is clearly the way to go.&lt;/p&gt;</description></item><item><title>Ubuntu 18.04 boot messages</title><link>https://jeltsch.org/en/ubuntu_18_04_boot_messages/</link><pubDate>Tue, 25 Jun 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu_18_04_boot_messages/</guid><description>&lt;p&gt;After switching computers (but staying on the same version of Ubuntu), I copied my openvpn configuration (/etc/openvpn) to the new system. And when I booted next time, I received a weird request during boot to type in my username and password. There was no mentioning for what purpose, so I had to guess. Additionally, there is a bug that required me to press twice the Enter key after the username and password. It appeared to be openvpn, which tried - by default - to start up all openvpn configurations that it could find in /etc/openvpn. On my old system I had set it not to start anything automatically. And of course this setting is not in the /etc/openvpn directory, but in /etc/default/openvpn. In order to prevent automatic starting, you need to uncomment the&lt;code&gt;#AUTOSTART=&amp;quot;none&amp;quot;&lt;/code&gt; line.In order to see what process was asking for the password during boot, I needed to see all the boot messages. This is done by pressing Esc shortly after boot to see the grub boot menu (if you have only Ubuntu installed, otherwise you&amp;rsquo;ll see the boot menu by default). You just press e to get into edit mode. Here you edit the line that starts with &lt;strong&gt;linux&lt;/strong&gt; and delete the two words &amp;ldquo;silent splash&amp;rdquo;. Then you press F10 to start the boot process.&lt;/p&gt;</description></item><item><title>Is Ubuntu 18.04 still using the SSD drive for swap?</title><link>https://jeltsch.org/en/is_ubuntu_18_04_still_using_the_ssd_drive_for_swap/</link><pubDate>Fri, 10 May 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/is_ubuntu_18_04_still_using_the_ssd_drive_for_swap/</guid><description>&lt;p&gt;In an Ubuntu 18.04 two disk setup (/ on SSD, /home on spinning drive), my Ubuntu 18.04 has still defaulted to use swap space on the SSD although there was a swap partition of the same size on the spinning drive. This was not a new install, but a system upgrade from 16.04 (where I had created a swap partition manually on the spinning drive to spare the SSD). Linux is able to determine whether a drive is spinning or not, but apparently the installation/upgrade script was not very smart.What swap partitions are available?&lt;code&gt;sudo fdisk -l[…]Disk /dev/sda: 74,5 GiB, 80026361856 bytes, 156301488 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0x34836041Device Boot Start End Sectors Size Id Type/dev/sda1 * 2048 148054782 148052735 70,6G 83 Linux/dev/sda2 148056062 156301311 8245250 4G 5 Extended/dev/sda5 148056064 156301311 8245248 4G 82 Linux swap / SolarisDisk /dev/sdb: 931,5 GiB, 1000204886016 bytes, 1953525168 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0xf6870277Device Boot Start End Sectors Size Id Type/dev/sdb1 2048 8390655 8388608 4G 82 Linux swap / Solaris/dev/sdb2 8390656 1953525167 1945134512 927,5G 83 Linux[…]&lt;/code&gt;Checking which drive is the SSD:&lt;code&gt;cat /sys/block/sda/queue/rotational0cat /sys/block/sdb/queue/rotational1&lt;/code&gt;Which swap partition is used?&lt;code&gt;more /etc/fstab[…]# swap was on /dev/sda5 during installationUUID=fdb5ad84-f758-4326-a6c8-7adf91d21079 none swap sw 0 0[…]Check whether the UUID corresponds to the SSD:sudo blkid /dev/sda5/dev/sda5: UUID=&amp;quot;fdb5ad84-f758-4326-a6c8-7adf91d21079&amp;quot; TYPE=&amp;quot;swap&amp;quot; PARTUUID=&amp;quot;34836041-05&amp;quot;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Linux copy (cp)</title><link>https://jeltsch.org/en/linux_copy_cp/</link><pubDate>Wed, 17 Apr 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/linux_copy_cp/</guid><description>&lt;p&gt;In order to copy all xml files from one directory to another without overwriting existing files with the same name:&lt;code&gt;cp -vnpr /source/*.xml /destination&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Denkbar knapper Sieg der Finnischen Sozialdemokraten über die ultrarechten Basisfinnen</title><link>https://jeltsch.org/en/denkbar_knapper_sieg_der_finnischen_sozialdemokraten_ber_die_ultrarechten_basisfinnen/</link><pubDate>Mon, 15 Apr 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/denkbar_knapper_sieg_der_finnischen_sozialdemokraten_ber_die_ultrarechten_basisfinnen/</guid><description>&lt;p&gt;Die gestrigen Parlamentswahlen in Finnland verliefen so dramatisch wie lange nicht mehr. Bis in die frühen Morgenstunden hatten viele Wähler gezittert, weil es zeitweilig so aussah, dass die Rechtaussenpartei der Basisfinnen die stärkste Fraktion im finnischen Parlament stellen würde und damit auch traditionell den Vortritt bei den Regierungsverhandlungen gehabt hätte. Der letztendliche Vorsprung der Sozialdemokraten vor den Basisfinnen fiel mit 0.2% hauchdünn aus. Obwohl die Sozialdemokraten nach 1999 erstmals wieder die stärkste Fraktion stellen werden, ist die Freude verhalten. Da keine Partei über 20% der Stimmen erreichen konnte, wird die Regierungsbildung schwierig. Alle demokratischen Parteien hatten im Vorfeld der Wahlen eine Koalition mit den Basisfinnen ausgeschlossen. Die von einigen erhoffte Schwächung der ultrarechten Basisfinnen durch eine Parteispaltung vor nicht einmal zwei Jahren ist nicht eingetreten und macht den Wahlerfolg der Basisfinnen um so verstörender. Das finnische Konzept, die Anziehungskraft der ultrarechten Parteien durch ihre explizite Einbinding in die Politik zu schwächen hat sich somit wahrscheinlich als Fehler herausgestellt. Zwei zentrale Standpunkte der Basisfinnen waren die verschärfte Einwanderungs- und Flüchtlingspolitik und die vielleicht geringste Priorität aller Parteien bezüglich des Umweltschutzes und speziell der Bekämpfung der globalen Erwärmung. In beiden Punkten unterscheiden sich die Basisfinnen grundlegend von fast allen anderen Parteien. Traditionell ist aber die finnische Politik eine Konsenspolitik und mit wenigen Ausnahmen sind Koalitionen jeder Partei mit jeder anderen Partei denkbar. Zur Zeit sieht noch so aus als ob alle demokratischen Parteien sich an ihr Wahlversprechen halten werden, nicht mit den Basisfinnen zu koalieren. Der wahrscheinliche zukünftige Ministerpräsident der Sozialdemokraten Antti Rinne hat in einem Interview nach der Wahlnacht noch einmal die Unvereinbarkeit der Standpunkte der Basisfinnen mit sozialdemokratischen Werten betont und das er eine unterschiedliche Behandlung von Menschen aufgrund ethnischer Zugehörigkeit oder Hautfarbe unmöglich akzeptieren kann.Im Prinzip ging es bei den Wahlen um eine Abrechnung mit der seit vier Jahren im Amt befindlichen Koalitionsregierung unter dem Ministerpräsidenten Juha Sipilä. Juha Sipilä hatte schon vor einem Monat den Rücktritt seiner Regierung bekanntgegeben, und war nur noch geschäftsführend im Amt, weil er zentrale Versprechen zur Erneuerung des Gesundheitssystems aufgrund mangelnder Unterstützung nicht einhalten konnte. Sipilä von der Finnischen Zentrumspartei ist (oder sollte man lieber sagen war) ein Quereinsteiger aus der Wirtschaft in die Politik. Obwohl die konservativen Sammlungspartei und die Basisfinnen (dem finnischen Pendant zur AfD) auch der bisherigen Koalitionsregierung angehörten, wurde nur die Zentrumspartei vom Wähler für die Politik der letzten Jahre mit massiven Verlusten von über 7% abgestraft, ihrem schlechtesten Ergebnis seit 100 Jahren.Ob meine eigenen Hoffnungen nach verstärkten Investitionen in Bildung und Forschung sich erfüllen, steht und fällt mit den Sozialdemokraten und deshalb haben sie auch meine Stimmen erhalten. Obwohl auch alle anderen Parteien versprochen haben die Ausgaben für R&amp;amp;D langfristig zu verdoppeln, ist die Ideologie der schwarzen Null auch in Finnland bei den Konservativen beliebt. Zumindest die Konservativen und die Zentrumspartei haben innerhalb der letzten 10 Jahre jede Gegegenheit verpasst zu zeigen, dass ihnen Investitionen in unsere Zukunft und in unsere Kinder am Herzen liegen. Es ist schon merkwürdig, dass es Geschäftsleuten wie Juha Sipilä ein fremder Gedanke sein sollte, dass man die Zukunft investieren muss, um wettbewerbsfähig zu bleiben.&lt;/p&gt;</description></item><item><title>ChemBio Finland</title><link>https://jeltsch.org/en/chembio_finland/</link><pubDate>Thu, 28 Mar 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/chembio_finland/</guid><description>&lt;p&gt;The biyearly 
 &lt;a href="https://chembio.messukeskus.com/?lang=en" target="_blank" rel="noopener noreferrer nofollow"&gt;ChemBio Finland&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 event at the 
 &lt;a href="https://messukeskus.com/?lang=en" target="_blank" rel="noopener noreferrer nofollow"&gt;Helsinki Fair Center&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is taking place on this week&amp;rsquo;s Wednesday and Thursday. I presented our key project at the booth of the Academy of Finland (
 &lt;a href="http://www.aka.fi/fi/akatemia/media/Ajankohtaiset-uutiset/2019/tervetuloa-suomen-akatemian-osastolle-chembio-messuille/%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.aka.fi/fi/akatemia/media/Ajankohtaiset-uutiset/2019/tervetuloa-suomen-akatemian-osastolle-chembio-messuille/)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Many people showed up to listen to our work on how to move in-vitro antibody generation technologies into the 21st century using synthetic biology and Crispr.&lt;/p&gt;</description></item><item><title>Passwordless login via the GUI and ssh defaults</title><link>https://jeltsch.org/en/passwordless/</link><pubDate>Mon, 25 Mar 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/passwordless/</guid><description>&lt;p&gt;I use cloud services at 
 &lt;a href="https://csc.fi" target="_blank" rel="noopener noreferrer nofollow"&gt;CSC&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (e.g. pouta.csc.fi), and they do not allow SSH login with a traditional username/password combo. When I want to make a bookmark in my file manager (Nemo oder Nautilus/Files), pointing to this location. I need to specify an RSA key file that is used for the login. On the command line, it looks as follows:&lt;/p&gt;</description></item><item><title>Changing swappiness on Linux and SDD</title><link>https://jeltsch.org/en/changing_swappiness_on_linux_and_sdd/</link><pubDate>Tue, 19 Feb 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_swappiness_on_linux_and_sdd/</guid><description>&lt;p&gt;The swappiness parameter is available from&lt;code&gt;/proc/sys/vm/swappiness&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;0&amp;rdquo; means &amp;ldquo;swap only to disk when you absolutely have to&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;100&amp;rdquo; means &amp;ldquo;swap immediately to disk&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are running you OS from an SDD, you might not want the default of 60, especially not if you have decent amounts of RAM (16 or 32 GB). In order to preserve the lifetime of your SDD drive, execute&lt;code&gt;sudo sysctl vm.swappiness=10&lt;/code&gt;.However, the setting disappears after a reboot and in order to make it permanant, you need to add the following line to /etc/sysctl.conf:&lt;code&gt;vm.swappiness=10&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Mounting group directories via the fstab</title><link>https://jeltsch.org/en/mounting_group_directories_via_the_fstab/</link><pubDate>Mon, 11 Feb 2019 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_group_directories_via_the_fstab/</guid><description>&lt;p&gt;At the University of Helsinki, one can apply for group directories, which is simply disk space on a NAS. These are easily mounted when you use a university-managed computer via the university menu, but what about if you use your own machine? At least for Ubuntu Linux, the way to mount these directories has changed multiple times during the years and it again broke recently. The current entry in the /etc/fstab file in my (Vanilla, non-university-managed) Ubuntu 16.04 is as follows:&lt;code&gt;# HY group directories//group2.ad.helsinki.fi/h204 /home/local_username/GROUP-drive cifs noauto,user,user=hy_username,nobrl,uid=1000,gid=1000,file_mode=0666,dir_mode=0777 0 0&lt;/code&gt;Then you can simply execute &amp;ldquo;mount /home/local_username/GROUP-drive&amp;rdquo; and you will be asked for your HY password. The number 2 and the string &amp;ldquo;h204&amp;rdquo; in the server address (group2.ad.helsinki.fi/h204) are specific for the cost center which is in this case H2042 (taking the first digit from the cost center string and first four characters from the cost center string, respectively).And here are some instruction on how to do it manually on a Macintosh:https://helpdesk.it.helsinki.fi/en/instructions/saving-and-sharing/group-storage-space/remote-access-home-and-group-directory-mac&lt;/p&gt;</description></item><item><title>How to change the MAC address of the Ubiquity Edge Router X</title><link>https://jeltsch.org/en/how_to_change_the_mac_address_of_the_ubiquity_edge_router_x/</link><pubDate>Wed, 14 Nov 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_change_the_mac_address_of_the_ubiquity_edge_router_x/</guid><description>&lt;p&gt;Bring up the command line tool (CLI) from the browser GUI. If you use any special characters in your password, you might need to change your password first via the GUI. Despite considerable effort, I did not manage to type special characters into the CLI using Firefox on a Mac (copy-paste does not work). Assuming that you want to change eth0:configureset interfaces ethernet eth0 mac 00:03:0D:51:B4:D2commitsave&lt;/p&gt;</description></item><item><title>Nicht für das Leben, sondern für die Schule lernen wir</title><link>https://jeltsch.org/en/nicht_f_r_das_leben_sondern_f_r_die_schule_lernen_wir/</link><pubDate>Tue, 13 Nov 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/nicht_f_r_das_leben_sondern_f_r_die_schule_lernen_wir/</guid><description>&lt;p&gt;Non vitae sed scholae discimus („Nicht für das Leben, sondern für die Schule lernen wir.“; &amp;ldquo;Thus we learn our lessons, not for life, but for the lecture-room.&amp;rdquo;) ist ein ungefähr 2000 Jahre altes Zitat Senecas aus einem Brief an einen seiner Schüler. Mein Sohn ist der gleichen Ansicht: das meiste, was er in der Schule lernen müsse, wäre nicht wichtig für das wirkliche Leben. Leider muss ich ihm (und viele andere Experten mit mir) da Recht geben. Dem Stolz und der Freunde, die den Anfang der Schullaufbahn der meisten Kinder begleiten, folgt oft innerhalb weniger Jahre die Ernüchterung. Schon wenige Wochen nach den grossen Ferien warten die Kinder nur noch auf die Herbst und dann auf die Weihnachtsferien, obwohl Lernen doch Spaß machen kann. Was läuft hier falsch? Wie schaffen es die Schulen so schnell, die natürliche Neugierde und Motivation der Kinder zu abzutöten?Ich habe anfangs zu argumentieren versucht, dass es nicht wichitg is WAS man lernt, sondern dass man das LERNEN lernt. Und das könne man ja an beliebigen Themen. Leider ist dieses Argument ein Armutszeugnis für diejenigen, die die Lehrpläne für unsere Schulen erstellen oder umsetzen. Warum lässt man dann die Schüler nicht LERNEN lernen an Themen, die interessant und relevant sind? Wo vor hundert Jahren Lesen, Schreiben und die Grundrechenarten genügten, wächst das Wissen heutzutage exponentiell. Und die einzige Antwort der Schulbürokraten ist, immer mehr neuen Stoff in die Lehrpläne zu packen, ohne Altes aus den Lehrplänen zu streichen. Dabei währen eher mehr Freiräume als früher notwendig, weil die Vermittlung vieler der heutzutage benötigten Kompetenzen Spielraum und flexible Strukturen benötigt. Mir ist klar, das die (personellen und finanziellen) Möglichkeiten der meisten Schulen begrenzt sind. Trotzdem gibt es viele Lehrer, die dem Mangel (in einem der reichsten Länder der Welt!) die Stirn bieten und mit mit viel Energie und Engagement modernen Unterricht gestalten.Viele sehen das Heil in einer verstärkten Rolle der MINT-Fächer (MINT = Mathematik, Informatik, Naturwissenschaft und Technik; auf Englisch STEM: science, technology, engineering and mathematics), aber gerade hier ist der Informationszuwachs so rasant, das Lehrpläne und vermutlich auch die meisten Lehrer nicht annährend mit der Realität mithalten könnten, auch wenn das zu vermittelnde Wissen unmittelbar relevant wäre. Deshalb sind heute Lehrer gefragt, die ihren Schüleren nicht nur Fakten beibringen, sondern Methoden. Solche Konzepte kann man gerade mit hochaktuellen und interessanten Themen vermitteln:&lt;/p&gt;</description></item><item><title>OpenVPN server on pfsense and client on Ubuntu 16.04</title><link>https://jeltsch.org/en/openvpn_server_on_pfsense_and_client_on_ubuntu_16_04/</link><pubDate>Fri, 02 Nov 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/openvpn_server_on_pfsense_and_client_on_ubuntu_16_04/</guid><description>&lt;p&gt;I have been setting up an 
 &lt;a href="https://openvpn.net" target="_blank" rel="noopener noreferrer nofollow"&gt;OpenVPN&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 server on my 
 &lt;a href="https://www.netgate.com/solutions/pfsense/sg-3100.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Netgate SG-3100 router&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I hope this makes syncronizing backups to a physically separate location easier. There are many walkthroughs to set up an OpenVPN server on a 
 &lt;a href="https://www.pfsense.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;pfsense router&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and that works nicely. However, I am using 
 &lt;a href="https://blog.ubuntu.com/desktop" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 16.04 at work and setting up the client requires a bit more than doing the same on MacOS or Windows. On Ubuntu, it is mandatory to update DNS information manually after establishing the VPN tunnel if you have opted for the setting to route all internet traffic originating from the client through the VPN server. If you do no update the DNA resolver information on the Ubuntu client, you can access the the VPN-internal network (in my case 10.0.0.0/24), but you cannot use hostnames. E.g. ping 
 &lt;a href="https://www.google.com" target="_blank" rel="noopener noreferrer nofollow"&gt;www.google.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 will fail, but ping 172.217.21.164 will succeed. Similarly, your browser will not find any URLs. And browsing with IP-addresses (&amp;ldquo;http://172.217.21.164&amp;rdquo;) is not very practical.The default configuration on Ubuntu does not allow for this update of the DNS resolver to happen automatically for security reasons. There is a script included in the 
 &lt;a href="https://packages.ubuntu.com/search?keywords=openvpn" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu package of openvpn&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 that updates this information (/etc/openvpn/update-resolv-conf). But in order for this to work one needs to&lt;/p&gt;</description></item><item><title>SSD or spinning disk?</title><link>https://jeltsch.org/en/ssd_or_spinning_disk/</link><pubDate>Wed, 12 Sep 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ssd_or_spinning_disk/</guid><description>&lt;p&gt;&lt;code&gt;sudo apt install smartmontoolssudo smartctl -a /dev/sda&lt;/code&gt;or&lt;code&gt;cat /sys/block/sda/queue/rotational&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Lehrpläne aus der Vergangenheit</title><link>https://jeltsch.org/en/lehrpl_ne_aus_der_vergangenheit/</link><pubDate>Mon, 10 Sep 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/lehrpl_ne_aus_der_vergangenheit/</guid><description>&lt;p&gt;Non vitae sed scholae discimus („Nicht für das Leben, sondern für die Schule lernen wir“) ist ein ungefähr 2000 Jahre altes Zitat Senecas aus einem Brief an einen seiner Schüler. Meine Kinder sind der gleichen Ansicht: das meiste, was er in der Schule lernen muss, wäre nicht wichtig für das wirkliche Leben. Leider muss ich ihm (und auch viele Experten mit mir) da Recht geben. Dem Stolz und der Freunde, die den Anfang der Schullaufbahn der meisten Kinder begleiten, folgt oft innerhalb weniger Jahre die Ernüchterung. Schon wenige Wochen nach den grossen Ferien warten die Kinder nur noch auf die Herbst- und dann die Weihnachtsferien, obwohl Lernen doch Spaß machen könnte. Was läuft hier falsch? Wie schafft es die Schule so schnell, die natürliche Neugierde und Motivation der Kinder zu töten?Ich habe früher zu argumentieren versucht, dass es nicht wichitg is WAS man lernt, sondern dass man das LERNEN lernt. Und das könne man ja an beliebigen Themen. Leider ist dieses Argument ein Armutszeugnis für diejenigen, die die Lehrpläne für unsere Schulen erstellen und umsetzen. Warum lässt man dann die Schüler nicht lernen lernen an Themen, die interessant und relevant sind? Wo vor hundert Jahren Lesen, Schreiben und Rechnen genügte (und mit Rechnen meine ich die Grundrechenarten), wachsen heutzutage Wissen (leider auch Desinformation) exponentiell. Und die einzige Antwort der Schulbürokraten ist, immer mehr neuen Stoff in die Lehrpläne zu packen, ohne Altes aus den Lehrplänen zu streichen.Viele sehen das Heil in einer verstärkten Rolle der MINT-Fächer (MINT = Mathematik, Informatik, Naturwissenschaft und Technik; auf Englisch STEM: science, technology, engineering and mathematics), aber gerade hier ist der Informationszuwachs so rasant, das Lehrpläne und vermutlich auch die meisten Lehrer nicht annährend mit der Realität mithalten könnten, auch wenn das zu vermittelnde Wissen unmittelbar relevant wäre. Deshalb sind heute Lehrer gefragt, die ihren Schüleren nicht nur Fakten sondern auch die Natur von Wissen und Realität nahezubringen imstande sind. Solche Konzepte kann man gerade mit hochaktuellen und interessanten Themen vermitteln, z.B. Klimaveränderung: warum wir wissen, was wir wissen; was ist der Unterschied zwischen &amp;ldquo;Fakten&amp;rdquo; und &amp;ldquo;Meinungen&amp;rdquo;, warum gibt es in der Wissenschaft keine &amp;ldquo;Wahrheit&amp;rdquo; gibt, warum es trozdem Theorien, gibt, die mit an Sicherheit grenzender Wahrscheinlichkeit richtig sind und was eigentlich &amp;ldquo;richtig&amp;rdquo; und &amp;ldquo;falsch&amp;rdquo; in der Wissenschaft bedeutet und warum Wissenschaft eben keine Anhäufung von Fakten ist, sondern eine Methode. Und zwar die besten Methode, die wir kennen, um uns der Realität zu nähern (damit oute ich mich als Gegner der postmodernen Beliebigkeit, die auch die Wissenschaft als kulturbestimmt und ohne irgendwelche spezielle Beziehung zur Realität oder zur Wahrheit betrachtet).Die aktuellen Lehrpläne (zumindest die der Schule meiner Kinder) bereiten auf das vor, was vorgestern wichtig war. Die heutigen Kinder brauchen anstatt Stoffwissen Methoden. Und die Methoden kann man anhand eines Stoffes lernen, der interessant für jedes individuelle Kind ist. Und dabei geht es auch nicht um die Stoffmenge, sondern eher um die Tiefe. Kreativiät, Engagement und Verantwortung sind andere Dinge, die heutige Schulen lehren sollten und die für das Überleben der Menschheit unabdingbar sind; mehr zu diesem Thema gibt es zuhauf im Internet, hier nur zwei Links zur Anregung: 
 &lt;a href="https://www.cicero.de/kultur/wir-brauchen-eine-bildungsrevolution/51963" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.cicero.de/kultur/wir-brauchen-eine-bildungsrevolution/51963&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 und 
 &lt;a href="http://www.spiegel.de/plus/a-00000000-0002-0001-0000-000158147643/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.spiegel.de/plus/a-00000000-0002-0001-0000-000158147643/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>SnapGene and partial restriction digests revisited</title><link>https://jeltsch.org/en/snapgene_and_partial_restriction_digests_revisited/</link><pubDate>Thu, 23 Aug 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/snapgene_and_partial_restriction_digests_revisited/</guid><description>&lt;p&gt;Snapgene is a software for the wet lab molecular biologist, who does lots of cloning work (construct design and annotation). Since I last wrote about the SnapGene software (
 &lt;a href="https://www.snapgene.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.snapgene.com/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ), many good things have happened:&lt;/p&gt;</description></item><item><title>Scanning my home network (nmap)</title><link>https://jeltsch.org/en/scanning_my_home_network_nmap/</link><pubDate>Sun, 18 Mar 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scanning_my_home_network_nmap/</guid><description>&lt;p&gt;Scanning my home network for all devices that are listeningon port 80 (http):&lt;code&gt;nmap -p80 192.168.0.0/24 -oG - | grep 80/open&lt;/code&gt;Sometimes this doesn&amp;rsquo;t work (because nmap tries to be smart and only scan hosts that are available). In order to make nmap scanning without intelligence, use the e-Pn (no ping) option. This scans all ports of host 192.168.0.2:&lt;code&gt;nmap -Pn -p0-65535 192.168.0.2&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Literature list for Poster #XX:</title><link>https://jeltsch.org/en/literature_list_for_poster_xx/</link><pubDate>Thu, 01 Mar 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/literature_list_for_poster_xx/</guid><description>&lt;p&gt;@page { }table { border-collapse:collapse; border-spacing:0; empty-cells:show }td, th { vertical-align:top; font-size:12pt;}h1, h2, h3, h4, h5, h6 { clear:both }ol, ul { margin:0; padding:0;}li { list-style: none; margin:0; padding:0;}li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }span.footnodeNumber { padding-right:1em; }span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }* { margin:0;}.P1 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }.P2 { font-size:12pt; margin-bottom:4.23mm; margin-left:0mm; margin-right:0mm; margin-top:0mm; text-indent:0mm; font-family:Liberation Serif; writing-mode:page; }.P3 { font-size:12pt; margin-bottom:4.23mm; margin-left:0mm; margin-right:0mm; margin-top:0mm; text-indent:0mm; font-family:Liberation Serif; writing-mode:page; text-align:center ! important; }.P4 { font-size:20pt; margin-bottom:4.23mm; margin-left:0mm; margin-right:0mm; margin-top:0mm; text-indent:0mm; font-family:Liberation Serif; writing-mode:page; text-align:center ! important; font-weight:bold; }.P5 { font-size:11pt; margin-bottom:4.23mm; margin-left:0mm; margin-right:0mm; margin-top:0mm; text-indent:0mm; font-family:Liberation Serif; writing-mode:page; text-align:center ! important; }.Internet_20_link { color:#000080; text-decoration:underline; }.T10 { vertical-align:super; font-size:58%;}.T6 { font-style:italic; }.T7 { font-style:italic; }.T8 { font-weight:bold; }.T1 .T2 .T3 .T4 .T5 { }Novel activating proteases uncover new roles for VEGF-C&lt;/p&gt;</description></item><item><title>Computer time: Windows against the rest of the world</title><link>https://jeltsch.org/en/computer_time_windows_against_the_rest_of_the_world/</link><pubDate>Sat, 10 Feb 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/computer_time_windows_against_the_rest_of_the_world/</guid><description>&lt;p&gt;I am not sure, but Windows seems to be the only operating system, that wants the computer clock to be set to the local time zone instead of universal standard time (UTC). Maybe that is a relic of the times when Microsoft thought that the internet was not very important for the future of computing. All other operating systems apparently use UTC: MacOS, Android, Linux, BSD, … However, if you are dual-booting your computer, you can get into trouble. Not all operating systems detect automatically a dual boot install and adjust their behaviour in order to be compatible with Windows. If this is the case, the easiest is to change the behaviour of Windows. A clear write-up how to do so is available from 
 &lt;a href="https://liliputing.com/2016/03/fix-time-problem-dual-boot-computers-windows-linux-android.html" target="_blank" rel="noopener noreferrer nofollow"&gt;https://liliputing.com/2016/03/fix-time-problem-dual-boot-computers-windows-linux-android.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but here are the steps in a nutshell:&lt;/p&gt;</description></item><item><title>Syncthing</title><link>https://jeltsch.org/en/syncthing/</link><pubDate>Wed, 24 Jan 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/syncthing/</guid><description>&lt;p&gt;
 &lt;a href="https://syncthing.net" target="_blank" rel="noopener noreferrer nofollow"&gt;Syncthing&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is one of the best tools for keeping folders synchronized across the internet. However, for one or the other reason, it occasionally stops to work on my Ubuntu 16.04 and because I use it in a &amp;ldquo;set it and forget it&amp;rdquo; fashion, I also forget how to check that it is operational.Make it start automatically at boot time (as a system service): &lt;code&gt;systemctl enable syncthing@username.service&lt;/code&gt;Start the service: &lt;code&gt;systemctl start syncthing@username.service&lt;/code&gt;Check the status: &lt;code&gt;systemctl status syncthing@username.service&lt;/code&gt;The URL of the GUI: 
 &lt;a href="https://127.0.0.1:8384" target="_blank" rel="noopener noreferrer nofollow"&gt;https://127.0.0.1:8384&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
However, the above solution does not work well if e.g. the files to syncronize reside on an encrypted folder which is mounted only after the user has logged in (e.g. in Ubuntu 16.04, there was the possibility to encrypt the user folder, which was only unlocked during user login). Alternatively, one can run the service as a &amp;ldquo;user service&amp;rdquo; like this:&lt;code&gt;cp /usr/lib/systemd/user/syncthing.service ~/.config/systemd/user/systemctl --user enable syncthing.servicesystemctl --user start syncthing.service&lt;/code&gt;Syncthing seems to regularly loose a file called &amp;ldquo;.stfolder&amp;rdquo;, which is supposed to be in the root of any shared folder (or it gets converted into a folder). For me the problem gets usually fixed by simply recreating that (empty) file (and deleting the folder with the same name if it exists).&lt;/p&gt;</description></item><item><title>Remote desktop sessions to your Helsinki University work computer</title><link>https://jeltsch.org/en/remote_desktop_sessions_to_your_helsinki_university_work_computer/</link><pubDate>Mon, 15 Jan 2018 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/remote_desktop_sessions_to_your_helsinki_university_work_computer/</guid><description>&lt;p&gt;If you have a work laptop, you can take it home to do work. But what if you have a desktop computer and need to access it from home? The technology to make this possible exists for more than 20 years, but if you think that University IT has made this easy for you, you would be wrong. In fact, I don&amp;rsquo;t know anybody who knows how to do this (let alone how to make the process easy). Even with the setup explained below, some things do not work well (e.g. I never could figure out how to get the file sharing to work with a Mac-to-Mac connection and thus I still use 
 &lt;a href="http://rsug.itd.umich.edu/software/fugu/" target="_blank" rel="noopener noreferrer nofollow"&gt;Fugu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 with a separate tunnelled sftp connection to transfer files). You have several options:&lt;/p&gt;</description></item><item><title>The magic sequence to wake up Apple's SuperDrive on Linux</title><link>https://jeltsch.org/en/the_magic_sequence_to_wake_up_apple_s_superdrive_on_linux/</link><pubDate>Sat, 09 Dec 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_magic_sequence_to_wake_up_apple_s_superdrive_on_linux/</guid><description>&lt;p&gt;&lt;code&gt;sudo apt-get install sg3-utils&lt;/code&gt; (only needed the first time)&lt;code&gt;ls /dev&lt;/code&gt; (to check whether sr0 or sr1, usually it&amp;rsquo;s sr0 unless you had already other USB drives connected)&lt;code&gt;sg_raw /dev/sr0 EA 00 00 00 00 00 01&lt;/code&gt;&lt;/p&gt;</description></item><item><title>The most effective ways to reduce your carbon footprint</title><link>https://jeltsch.org/en/the_most_effective_ways_to_reduce_your_carbon_footprint/</link><pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_most_effective_ways_to_reduce_your_carbon_footprint/</guid><description>&lt;p&gt;According to this 
 &lt;a href="http://iopscience.iop.org/article/10.1088/1748-9326/aa7541" target="_blank" rel="noopener noreferrer nofollow"&gt;study&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from the University of Lund, the most effective ways to tackle climate change are largely not being discussed. Not surprisingly, they touch such the things dearest to our hearts: our car, our holidays, our children and our favorite foods.&lt;/p&gt;</description></item><item><title>Nazis in the German Parliament</title><link>https://jeltsch.org/en/nazis_in_the_german_parliament/</link><pubDate>Sun, 24 Sep 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/nazis_in_the_german_parliament/</guid><description>&lt;p&gt;Sad day for Germany: Nazis are sitting again in the German parliament. They don&amp;rsquo;t called themselves Nazis. Instead, they use the name AfD (Alternative für Deutschland = Alternative for Germany). And many people argue (in my opinion correctly) that Angela Merkel did nothing to prevent that from happening.Both big parties - conservatives and social democrates - massively lost support amoung the voters. Virtually all small parties could eithe keep or increase their representation in the German parliament, the Bundestag. Merkel needs at least two of them to stay in power and the numbers allow a coaliton of the Conservatives, Greens and Liberals (called Jamaica coalition after the colors of those three parties: colors black, green and yellow). The once revolutionary Greens will perpetuate the status quo in Germany… Many people seemingly voted against their own interest, but the social democrats could not convince enough people that they are the only viable alternative to Angela Merkel&amp;rsquo;s political agenda.&lt;/p&gt;</description></item><item><title>Toni Nett's rules</title><link>https://jeltsch.org/en/toni_nett_s_rules/</link><pubDate>Sat, 16 Sep 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/toni_nett_s_rules/</guid><description>&lt;p&gt;More than 50 years ago 
 &lt;a href="https://de.wikipedia.org/wiki/Toni_Nett" target="_blank" rel="noopener noreferrer nofollow"&gt;Toni Nett&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 published his book &lt;em&gt;Der Lauf&lt;/em&gt;. In the book, he presented thumb rules to calculate possible personal running records for common distances for middle and long distances. The possible personal bests are calculated based on known performances on the next shorter distance. 
 &lt;a href="https://en.wikipedia.org/wiki/Manfred_Steffny" target="_blank" rel="noopener noreferrer nofollow"&gt;Manfred Steffny&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 extended Toni Nett&amp;rsquo;s rules to cover the marathon and the 100 km. He found these rules surprisingly accurate when comparing personal bests of hundreds of runners of different levels from beginner to world champion. I have been writing about these thumb rules previously 
 &lt;a href="https://jeltsch.org/en/tags/running/"&gt;here&lt;/a&gt;
. Now I made a small php script that does the calculation for you.&lt;/p&gt;</description></item><item><title>Deleting files with "illegal characters"</title><link>https://jeltsch.org/en/deleting_files_with_illegal_characters/</link><pubDate>Fri, 08 Sep 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/deleting_files_with_illegal_characters/</guid><description>&lt;p&gt;In the cross-platform environment of our university, at least three different OS connect to the smb shared group directories. Apparently Macs are able to save files with characters that are not allowed on other platforms and which cannot be easily deleted. Recently we had several files which ended with a &amp;lsquo;.&amp;rsquo; (dot) or a &amp;rsquo; &amp;rsquo; (space), and we were not able to remove them via the GUI. In Windows 7, I managed via the command line with:&lt;code&gt;delete &amp;quot;file.&amp;quot;&lt;/code&gt; or&lt;code&gt;delete &amp;quot;file &amp;quot;&lt;/code&gt;I have, however, not found a way to so from my Ubuntu machine and it is annoying to boot into Windows merely to delete some files. Unfortunately, this became necessary because the 
 &lt;a href="https://www.cloudberrylab.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Cloudberry&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 backup system (which is running on Ubuntu) chokes on such files. I am looking into a new backup system for our lab&amp;rsquo;s computers since 
 &lt;a href="https://www.crashplan.com" target="_blank" rel="noopener noreferrer nofollow"&gt;CrashPlan&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 decided to discontinue support for non-business customers…&lt;/p&gt;</description></item><item><title>Windows changes my computers clock</title><link>https://jeltsch.org/en/windows_changes_my_computers_clock/</link><pubDate>Mon, 28 Aug 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/windows_changes_my_computers_clock/</guid><description>&lt;p&gt;If I am not mistaken, Windows is the only OS, that uses local time for the system clock (instead of UTC). This means that in multiple boot configurations, every restart of the system into Windows will screw up the system time. In order to reset it (in Ubuntu 16.04), use&lt;code&gt;sudo timedatectl set-timezone Etc/UTC&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Amber from Stutthof</title><link>https://jeltsch.org/en/amber_from_stutthof/</link><pubDate>Tue, 01 Aug 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/amber_from_stutthof/</guid><description>&lt;p&gt;While running at the Baltic beach close to 
 &lt;a href="https://en.wikipedia.org/wiki/K%C4%85ty_Rybackie" target="_blank" rel="noopener noreferrer nofollow"&gt;Kąty Rybackie&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (Poland), I picked up some amber. Some of it didn&amp;rsquo;t pass the floating test (in 20% w/v NaCl in water at room temperature), but I have not clue what the non-floating stones actually are (they are too soft for glass, maybe plastic?).I did not know when I arrived here for a one-week beach holiday, that the small village we were staying in belonged to the municipality of 
 &lt;a href="https://en.wikipedia.org/wiki/Sztutowo" target="_blank" rel="noopener noreferrer nofollow"&gt;Stutthof&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, where 
 &lt;a href="https://en.wikipedia.org/wiki/Stutthof_concentration_camp" target="_blank" rel="noopener noreferrer nofollow"&gt;one of the Nazi concentration camps&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 was located. Actually, I twice made a detour from my daily morning runs at the beach to have a look at the camp, which is nowadays a museum. Interestingly, children below the age of 12 are not allowed to visit the site. This is different from those memorial sites of concentration camps in Germany that I know: the decision whether to take children for a visit is left to the parents.Another notable memory from these holidays were the road trips, which made me reconsider my firmly held opinion, that most car drivers in here in Finland are driving irresponsibly and mostly too fast. As a matter of fact, it was almost impossible to drive within speed limits in Poland as nobody seems to do so. I realized that traveling in a speed-limit-abiding car would be more dangerous than traveling in a recklessly speeding one as it would be subject to constant overtaking maneuvers on narrow country roads. Hence, I was also speeding. Not surprisingly, Poland features the highest traffic mortality rates in Europe (
 &lt;a href="https://www.economist.com/blogs/easternapproaches/2013/06/polish-driving" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.economist.com/blogs/easternapproaches/2013/06/polish-driving&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ). The Polish government&amp;rsquo;s claimed intention is to reduce the numbers, but instead of lowering the speed limits, they increased them in 2011. 
 &lt;a href="https://de.wikipedia.org/wiki/Zul%C3%A4ssige_H%C3%B6chstgeschwindigkeit" target="_blank" rel="noopener noreferrer nofollow"&gt;According to Wikipedia&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 the maximally allowed speed on highways changed from 130 to 140 km/h and on dual carriageways from 110 to 120 km/h. A rough estimate (based on 
 &lt;a href="https://en.wikipedia.org/wiki/List_of_countries_by_traffic-related_death_rate" target="_blank" rel="noopener noreferrer nofollow"&gt;these numbers&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) shows that approximately as many people have died on Polish roads in the last 20 years as were killed by the Nazis in Stutthof in the years 1939-1945. Maybe the Polish police should start enforcing the limits?&lt;/p&gt;</description></item><item><title>Accessing shared folders in VirtualBox (Linux guest)</title><link>https://jeltsch.org/en/accessing_shared_folders_in_virtualbox_linux_guest/</link><pubDate>Fri, 28 Jul 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/accessing_shared_folders_in_virtualbox_linux_guest/</guid><description>&lt;p&gt;Transferring files from the host to the guest OS and vice-versa doesn&amp;rsquo;t work out-of-the-box when you install 
 &lt;a href="https://www.virtualbox.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;VirtualBox&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from the Ubuntu repositories and download an Ubuntu VirtualBox image (e.g. from 
 &lt;a href="http://www.osboxes.org/virtualbox-images%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.osboxes.org/virtualbox-images)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. After installing the guest additions, drag-and-drop didn&amp;rsquo;t seem to work for me and I needed to set up a &amp;ldquo;Shared Folder&amp;rdquo;. After setting it up via the GUI, it doesn&amp;rsquo;t automatically appear on the guest desktop. You need to mount it:&lt;code&gt;sudo mount -t vboxsf name(as_specified_via_VirtualBox_GUI) ~/mount_point_in_the_guest_OS/&lt;/code&gt;There are obviously many other ways how to achieve this (e.g. via Samba or sftp or sshfs)…&lt;/p&gt;</description></item><item><title>Fertig</title><link>https://jeltsch.org/en/fertig/</link><pubDate>Sat, 04 Mar 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/fertig/</guid><description>&lt;p&gt;﻿Nach einem Jahr von mühsamenm Teilesammelns und Bauens haben Tobias und ich heute das Lego Millennium Falcon Ultimate Collector&amp;rsquo;s Edition (Lego Set 10179, 
 &lt;a href="http://brickset.com/sets/10179-1/Ultimate-Collector-s-Millennium-Falcon" target="_blank" rel="noopener noreferrer nofollow"&gt;http://brickset.com/sets/10179-1/Ultimate-Collector-s-Millennium-Falcon&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) fertig gebaut. Diese Version des Millennium Falcons wird nicht mehr verkauft und gebrauchte Sets werden für wahnsinnige Preise von um die €5.000 bei Ebay verkauft.Wir haben die notwendigen Legosteinie von zwei anderen Lego Star Wars Modellen genommen: aus dem Death Star (Lego Set 10188, 
 &lt;a href="http://brickset.com/sets/10188-1/Death-Star" target="_blank" rel="noopener noreferrer nofollow"&gt;http://brickset.com/sets/10188-1/Death-Star&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) und dem Super Star Destroyer (Lego Set 10221-1, 
 &lt;a href="http://brickset.com/sets/10221-1/Super-Star-Destroyer%29.Allerdings" target="_blank" rel="noopener noreferrer nofollow"&gt;http://brickset.com/sets/10221-1/Super-Star-Destroyer).Allerdings&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 mussten wir eine beträchtliche Menge an fehlenden Teilen dazukaufen. Viele von denen haben wir über die finnische Online-Auktions-Website Huuto (
 &lt;a href="http://huuto.net" target="_blank" rel="noopener noreferrer nofollow"&gt;http://huuto.net&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) oder über BrickLink (
 &lt;a href="http://www.bricklink.com" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.bricklink.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
), eine Art &amp;ldquo;spezialisiertes Ebay&amp;rdquo; für LEGO-Steine gekauft. Die am schwierigsten zu findenden Stücke waren die beiden hellen bläulich-grauen “Boat Mast Rigging Long 28 x 4” (
 &lt;a href="http://www.bricklink.com/search.asp?itemID=56261&amp;amp;colorID=86%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.bricklink.com/search.asp?itemID=56261&amp;colorID=86)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, die im Moment für nicht weniger als €100 pro Stück verkauft werden. Wir haben diese Stücke natürlich nicht gekauft. Allerdings verkauft LEGO immer noch die schwarze Version dieses Stücks als Ersatzteil und Tobis Patenonkel hat sich die Mühe gemacht, diese zu besorgen und sie grau zu streichen. Danke Clemens!&lt;/p&gt;</description></item><item><title>Handbrake and protected DVDs</title><link>https://jeltsch.org/en/handbrake_and_protected_dvds/</link><pubDate>Thu, 02 Mar 2017 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/handbrake_and_protected_dvds/</guid><description>&lt;p&gt;Ripping DVDs is a thing of the past, but occasionally I still need to do it. However, it happens so rarely that evertime I have either a new computer or a new Linux distribution and I need to install the necessary software. This time I am on Ubuntu 16.04. I usually use 
 &lt;a href="https://handbrake.fr/" target="_blank" rel="noopener noreferrer nofollow"&gt;Handbrake&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and it is very comfortable, but handbrake sometimes fails to do the job. This time, I had to resort to 
 &lt;a href="http://www.makemkv.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;MakeMKV&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However MakeMKV only rips the video to an MKV container but it does not compress it. If you need the space reduction you should still push the file through a compressor. Here&amp;rsquo;s the whole chain of commands:I only have an Apple USB-Superdrive. Apple doesn&amp;rsquo;t want me to use it with any other computer but Macs. Therefore, in order to make it work under Linux, you needs to sens it a &amp;ldquo;Magic cookie&amp;rdquo; (see here: ):&lt;code&gt;sg_raw /dev/sr0 EA 00 00 00 00 00 01&lt;/code&gt;If you have Handbrake installed from the default Ubuntu repository, you need to remove it (it&amp;rsquo;s crippled and you want to be able to use it also with encrypted DVDs):(&lt;code&gt;sudo apt remove handbrake &amp;amp;&amp;amp; sudo apt autoremove&lt;/code&gt;)Install this version:&lt;code&gt;sudo add-apt-repository ppa:stebbins/handbrake-releasessudo apt updatesudo apt install handbrake-gtk handbrake-cli&lt;/code&gt;Install software to read encrypted DVDs:&lt;code&gt;sudo apt-get install libdvd-pkg&lt;/code&gt;However, you have to execute some manual commands after the install is ready, but the installer instructs you during installation.Select as source the TS_Audio folder on the DVD. If the scan never finishes or you do not see any tracks after the scan finishes, you might need something like MakeMKV. I didn&amp;rsquo;t find any PPA or deb file, so I compiled it from source, which succeeded without any problems following the isntructions from here: 
 &lt;a href="http://www.makemkv.com/forum2/viewtopic.php?f=3&amp;amp;t=224" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.makemkv.com/forum2/viewtopic.php?f=3&amp;t=224&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Here the short version:&lt;code&gt;wget http://www.makemkv.com/download/makemkv-bin-1.10.4.tar.gzwget http://www.makemkv.com/download/makemkv-oss-1.10.4.tar.gztar -xvzf makemkv-bin-1.10.4.tar.gztar -xvzf makemkv-oss-1.10.4.tar.gz cd makemkv-oss-1.10.4/./configuremakesudo make installcd ../makemkv-bin-1.10.4/makesudo make install&lt;/code&gt;The executable is /usr/bin/makemkv&lt;/p&gt;</description></item><item><title>ScanSnap iX100 support for Linux</title><link>https://jeltsch.org/en/scansnap_ix100_support_for_linux/</link><pubDate>Fri, 23 Dec 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scansnap_ix100_support_for_linux/</guid><description>&lt;p&gt;Under Ubuntu 16.04, the ScanSnap iX100 is not supported yet by the sane package. In order to get it working, you need to install the ppa from Rolf Bensch:&lt;code&gt;sudo add-apt-repository ppa:rolfbensch/sane-gitsudo updatesudo upgrade&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Automated reinstall of software from package list</title><link>https://jeltsch.org/en/automated_reinstall_of_software_from_package_list/</link><pubDate>Sun, 20 Nov 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/automated_reinstall_of_software_from_package_list/</guid><description>&lt;p&gt;If I need to reinstall a Ubuntu/Debian-based Linux OS (or mirror a software selection to another machine), this is how it can be done. On the source machine:&lt;code&gt;sudpkg --get-selections &amp;gt; ~/Package.listcp -R /etc/apt/sources.list* ~/apt-key exportall &amp;gt; ~/repository.keys&lt;/code&gt;Then just copy the files to the target machine:&lt;code&gt;suapt-key add ~/repository.keyscp -R ~/sources.list* /etc/apt/apt-get updateapt-get install dselectdselect updatedpkg --set-selections &amp;lt; ~/Package.listapt-get dselect-upgrade -y&lt;/code&gt;If some packages are not available, this will fail. This concerns in my case manually installed packages like 
 &lt;a href="https://www.teamviewer.com/en/download/linux/" target="_blank" rel="noopener noreferrer nofollow"&gt;teamviewer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or 
 &lt;a href="http://www.snapgene.com/products/snapgene/free_trial/" target="_blank" rel="noopener noreferrer nofollow"&gt;snapgene&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
/
 &lt;a href="http://www.snapgene.com/products/snapgene_viewer/" target="_blank" rel="noopener noreferrer nofollow"&gt;snapgene_viewer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I usually remove those packages manually from the list (there are luckily not many of them).However, the upgrade is not fully automatic, since you need to e.g. agree to various licenses (e.g. for Microsoft&amp;rsquo;s True Type fonts) and acknowledge manually other stuff (e.g. libdvd-pkg legal issues), which kind of defeats the purpose of making this automatic and painless…&lt;/p&gt;</description></item><item><title>Temperature Sensors</title><link>https://jeltsch.org/en/temperature_sensors/</link><pubDate>Tue, 15 Nov 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/temperature_sensors/</guid><description>&lt;p&gt;
 &lt;a href="https://my.wirelesstag.net/eth/signin.html" target="_blank" rel="noopener noreferrer nofollow"&gt;https://my.wirelesstag.net/eth/signin.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Let's encrypt duplicated my log files</title><link>https://jeltsch.org/en/let_s_encrypt_duplicated_my_log_files/</link><pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/let_s_encrypt_duplicated_my_log_files/</guid><description>&lt;p&gt;I have not been keeping log files for my web server until the beginning of 2016, when I needed to trace access to certain files (I started to use 
 &lt;a href="http://www.awstats.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;awstats&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, mostly because I was familiar with it since I had used it years ago when my site was still running on a Red Hat server). In March 2016 I luckily started to use 
 &lt;a href="https://letsencrypt.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Let’s Encrypt&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I had used another &amp;ldquo;free&amp;rdquo; service before, which got recently into big trouble as they apparently had not control over their own security. When I looked at my Apache server&amp;rsquo;s log files (on Ubuntu 14.04), I noticed that apache did double logging (to both the individual vhost&amp;rsquo;s log file and a common log file). I realized that Let&amp;rsquo;s Encrypt specifies into every vhost&amp;rsquo;s configuration file an Import directive which sources /etc/letsencrypt/options-ssl-apache.conf. And this file in turn specifies common access.log and error.log files for all vhosts in the /var/log/apache2/ directory. I uncommented the five lines associated with this logging and the duplicate logging stopped (originally, I had thought, that this letsencrypt directive was only used for the initial Let&amp;rsquo;s Encrypt setup for the cert generation).&lt;/p&gt;</description></item><item><title>How to start openvpn or ssh server under Ubuntu 16.04 and 18.04</title><link>https://jeltsch.org/en/how_to_start_openvpn_or_ssh_server_under_ubuntu_16_04_and_18_04/</link><pubDate>Sat, 03 Sep 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_start_openvpn_or_ssh_server_under_ubuntu_16_04_and_18_04/</guid><description>&lt;p&gt;&lt;strong&gt;OpenVPN&lt;/strong&gt;&lt;code&gt;sudo systemctl start openvpn@client&lt;/code&gt;The &amp;ldquo;client&amp;rdquo; is derived from the configuration file name (/etc/openvpn/client.conf). If your configuration file is server.conf, the command needs to be&lt;code&gt;sudo systemctl start openvpn@server&lt;/code&gt;When you want the service to start up automatically during system boot, you issue:&lt;code&gt;sudo systemctl enable openvpn@server&lt;/code&gt;&lt;strong&gt;Templated versus non-templated services&lt;/strong&gt;OpenVPN is a so-called &amp;ldquo;templated&amp;rdquo; service (it needs a configuration file when being invoked). In contrast to this, the ssh server is a non-templated service. Hence the command is simpler:&lt;code&gt;sudo systemctl start sshd&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Asustor AS7004T RAM upgrade</title><link>https://jeltsch.org/en/asustor_as7004t_ram_upgrade/</link><pubDate>Sun, 31 Jul 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/asustor_as7004t_ram_upgrade/</guid><description>&lt;p&gt;Are you about to buy the new 
 &lt;a href="http://www.asustor.com/product?p_id=29" target="_blank" rel="noopener noreferrer nofollow"&gt;Asustor AS7004T&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
? It is certainly an impressive small NAS server, but it comes only with 2GB RAM and if you want to utilize some of its cooler capabilities (like 
 &lt;a href="https://www.asustor.com/admv2?type=3&amp;amp;subject=17&amp;amp;sub=63" target="_blank" rel="noopener noreferrer nofollow"&gt;running virtual machines&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) you need to add RAM. Its specs are uninformative (&amp;ldquo;2GB SO-DIMM DDR3 (Expandable. Max 16GB)&amp;rdquo;) and the 
 &lt;a href="http://download.asustor.com/download/docs/Memory_Installation/Memory_Installation_Guide_ENG.pdf?t=1469978912" target="_blank" rel="noopener noreferrer nofollow"&gt;memory installation guide&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 misleading. However, it really does have two RAM slots for DDR3 SO-DIMM. The device that I bought had 2GB RAM glued into the user-serviceable RAM slot, while the virtually inaccessible factory RAM slot was empty. If you want to add RAM, it requires you to void the factory warranty as the empty RAM slot is not accessible without removing the screw that is covered by the &amp;ldquo;Void if removed&amp;rdquo; sticker. Anyway, almost complete disassembly is required for you to access the free RAM slot, which is not for the faint of heart. Especially since 
 &lt;a href="https://www.youtube.com/watch?v=ORSly1_CUbo&amp;amp;feature=youtu.be" target="_blank" rel="noopener noreferrer nofollow"&gt;Asustor’s own YouTube video&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 shows the disassembly only for the 10-bay AS7010T model, which is significantly different from the AS7004T. The biggest difference between the 7004T and the 7010T is that the 7004T has an additional cooling element screwed to the PCI back plane. This cooling element takes the heat from the mother board, but also makes removing the back plane and the mother board more tricky. You also need to remove the power supply and disconnect the power cables from the motherboard before you can take the motherboard out.&lt;/p&gt;</description></item><item><title>Batch renaming files on the command line</title><link>https://jeltsch.org/en/batch_renaming_files_on_the_command_line/</link><pubDate>Tue, 28 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/batch_renaming_files_on_the_command_line/</guid><description>&lt;p&gt;The default command line application for batch renaming files in Ubuntu 16.04 is called &amp;ldquo;rename&amp;rdquo;:&lt;code&gt;rename 's/tk98i_/wt_tk98_/' *.tif&lt;/code&gt;It uses Perl regular expressions with and the s/old/new/ syntax. The example above renames all files with the .tif extensions and replaces the &lt;strong&gt;th98i_&lt;/strong&gt; expression with &lt;strong&gt;wt_tk98_&lt;/strong&gt;.Here are some more examples: 
 &lt;a href="http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal" target="_blank" rel="noopener noreferrer nofollow"&gt;http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>ffmpeg</title><link>https://jeltsch.org/en/ffmpeg/</link><pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ffmpeg/</guid><description>&lt;p&gt;Trimming an avi file: &lt;code&gt;ffmpeg -i Die_Sendung_mit_der_Maus_16.06.19_09-30_ard_30_TVOON_DE.mpg.HQ.avi -vcodec copy -acodec copy -ss 00:06:04 -t 00:29:32 output.avi&lt;/code&gt;ss is the start time and t is the duration (not the end time)webm to mp3 conversion:&lt;code&gt;ffmpeg -i La_robe_de_soie.webm -vn -ab 128k -ar 44100 -y &amp;quot;La_robe_de_soie.mp3&amp;quot;&lt;/code&gt;Concatenate two videos:&lt;code&gt;ffmpeg -f concat -safe 0 -i list.txt -c copy /tmp/output.avi&lt;/code&gt;list.txt:&lt;code&gt;file 'video1.avi'file 'video2.avi'&lt;/code&gt;UPDATE:It is nice to be able to manipulate video files on the command line. However, especially for the more advanced functionality, the syntax becomes impossible to remember. Hence the need for a GUI that makes ffmpeg more accessible. The best tool that I have come acress so far is the cross-platform 
 &lt;a href="https://github.com/mifi/lossless-cut" target="_blank" rel="noopener noreferrer nofollow"&gt;LosslessCut&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. There are also 
 &lt;a href="https://github.com/mifi/lossless-cut#download" target="_blank" rel="noopener noreferrer nofollow"&gt;packages for Mac, Linux or Windows&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Unicorn 7-Benutzer-Einrichtung erfordert manuelle Intervention in einer Netzwerkbenutzer-Umgebung</title><link>https://jeltsch.org/en/unicorn_7_benutzer_einrichtung_erfordert_manuelle_intervention_in_einer_netzwerkbenutzer_umgebung/</link><pubDate>Fri, 17 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/unicorn_7_benutzer_einrichtung_erfordert_manuelle_intervention_in_einer_netzwerkbenutzer_umgebung/</guid><description>&lt;p&gt;Unicorn, Äkta Avant, Äkta Explorer, GE Healthcare, Windows, Netzwerk-Authentifizierung, Benutzer-Einrichtung, Methode, Resultat, Wissenschaft, ProteinaufreinigungSince we are operating our Äkta Avant in a multiuser environment, we need to separate the methods and results of the different users. By default, every network user is at the moment able to see every method and every result that has been generated on the machine by any other network user. This is a considerable privancy and security issue as a malicious user could delete (or even worse: modify) methods and results.Our Äkta is set up in a way that allows users to log into the Unicorn 7 computer with their university login/password via the regular Windows network authentication mechanism. However, if several people share the responsibility of a run, this setup becomes impossible as they would need to devulge their passwords to each other. Hence we have created a local account which can be used by users who wish to share the operation of the Äkta.After logging into Winodws, users still have to log into the Unicorn 7 software, which users do with their university login and password (&amp;ldquo;Windows authentication&amp;rdquo;). Using this setup, every user is able to see all methods and results, which is not acceptable.When setting up a new user with Unicorn version Access&amp;gt;Folders&amp;quot;) and exactly which folders were accessible by that user and the user would see only his/her own methods and results. Since the folder structure under Unicorn 5 was a folder structure of the Windows file system, users could always copy methods and results from one folder to another and thereby make them available despite the limitations set by the Unicorn 5 program.When I first read that Unicorn 7 supports Windows network authentication, I had hoped that we would be able to avoid the painful user setup which we had to go thru for each user on the Äkta Explorer. However, the pain continues as setting up the user privileges once for a group doesn&amp;rsquo;t give us user isolation.Firstly, one cannot restrict access of individual users in Unicorn 7, but only access of groups. We had to create one Access Group for each network user, add the network user to this group, create a separate home folder for the group and then restrict the folder access to this home folder. Hundreds of clicks were required for a handful of users since the default is no access to anything and every single privilege check box needs to be enabled except for the admin privileges.In that respect, Windows (and every other OS) is way smarter than Unicorn. If a university employee logs into a machine that he or she has never been logging into before, it creates all the necessary default local folder structure automatically and mounts that users private home folder without granting access to everything other employees have been doing on that specific machine. I think that should be an option on Unicorn as well. Maybe it is and I just can&amp;rsquo;t figure it out?Another big drawback of the above described method of separating each user into an own access group is that login into the Unicorn program becomes a major ordeal: In addition to writing user name and password the user has to select the correct access group for the login to be successful. And even worse: In our setup we cannot avoid that every university employee belongs to two access groups: A manually created access group for each user for user separation and the &amp;ldquo;default&amp;rdquo; which works via the Windows network authentication - maybe Kerberos?). Hence, if users do choose the default access group (which is called &amp;ldquo;Users&amp;rdquo; in our case), they are able to log in, but they don&amp;rsquo;t see their methods and results.There are two reasons we cannot delete the &amp;ldquo;Users&amp;rdquo; access group: One is the mandate of the faculty and secondly (and we have tried), we cannot delete it anymore as many people have already created methods and generated results being in the access group &amp;ldquo;Users&amp;rdquo;. Thus UNICORN prevents us from deleting this account. I am working on this problem: I should be able to access directly the underlying MS-SQL database in order to change the ownership of the methods and results. However, GE was not exactly forthcoming when I was asking about access right handling. The answer was:The DB access credentials in a standalone UNICORN solution are encrypted and are not public. If you had an enterprise solution (hosting your own (SQL server) DB) you would have control of the credentials and in theory you could extract the wanted information (the format is something that you have to figure out by yourself and is not supported by us). You can upgrade your solution to an enterprise if you want.This sounds worse than it is, because we have physical access to the MS-SQL server and pulling out the access credentials seems not very difficult. But it takes my time to find the exploit to &amp;ldquo;break into our own system&amp;rdquo; and that is what annoys me. However, according to Lisa Bromark from GE, the 7.0.2 update seems to correct this issue:UNICORN can be configured to use a new database password. It is possible to generate an encrypted password or to enter an already encrypted password. This is done by running the UNICORN Service Tool after UNICORN installation.However, it is unbelievably difficult to get the update (at least it seems to take weeks). Distribution is apparently still via optical media and snail mail. I think the last time I got myself software via a CD/DVD was more than 10 years ago. However, GE told me that they are just moving UNICORN software updates to &amp;ldquo;electronic distribution&amp;rdquo;. Welcome to the 21 century!&lt;/p&gt;</description></item><item><title>Echtes Biohacking</title><link>https://jeltsch.org/en/echtes_biohacking/</link><pubDate>Mon, 13 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/echtes_biohacking/</guid><description>&lt;p&gt;Steven Novella hat einen interessanten 
 &lt;a href="http://theness.com/neurologicablog/index.php/what-is-biohacking/" target="_blank" rel="noopener noreferrer nofollow"&gt;Blog-Artikel ūber Biohacking&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 geschrieben. Ich schliesse mich seiner Meinung grösstenteils an, dass die meisten diesen Begriff zu Unrecht fūr sich in Anspruch nehmen, weil sie eben nichts konzeptionell Neues machen, was diesen neuen Begriff rechtfertigte. Allerdings haben sich für die Anwendung dieses Begriffes und seine Abgrenzung zur DIY-Biologie und diversen Körper-Modifikationsbewegungen noch keine einheitlichen Maßstäbe etabliert.Die Definition von Biohacking als die &amp;ldquo;Freiheit, seine Biologie tiefgrūndig zu erforschen&amp;rdquo; ist weitgehend nichtssagend. Das Wort Hacking hat im allgemeinen Sprachgebrauch meist den Beigeschmack des Illegalen oder zumindest des Halblegalen. Diesem Sprachgebrauch folgend könnte man Doping im Sport als Biohacking bezeichnen, Kaffeetrinken aber eher nicht (einmal davon abgesehen, dass Kaffeetrinken zumindest für einige Leute den Tatbestand des Doping erfüllt). Ein anderes Beispiel, das ich als &amp;ldquo;echtes&amp;rdquo; Biohacking bezeichnen würde wäre der Gebrauch von Crispr/Cas um seine eigene DNS zu editieren. Oder die Herstellung von Medikamenten in der eigenen Garage.Die Frage ist: Macht irgendeiner sowas? Gentechnologische Verfahren und die Herstellung von Pharmazeutika sind im universitären und kommerziellen Bereich streng reglementiert, weil solche Verfahren einige Risiken mit sich bringen. Es ist daher nicht verwunderlich, dass die regulierenden Behörden sich nicht darüber freuen, noch eine weitere Szene auf Anzeichen von 
 &lt;a href="https://en.wikipedia.org/wiki/Bioterrorism" target="_blank" rel="noopener noreferrer nofollow"&gt;Bioterrorismus&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 überwachen zu müssen.Tatsächlich wird es immer leichter, die diesbezüglich notwendigen Werkzeuge herzustellen und zu benutzen. Biotechnologie in der Garage ist Wirklichkeit, zumindest hat die Zeitschrift Nature diesem Thema ein 
 &lt;a href="http://www.nature.com/news/2010/101006/full/467650a.html" target="_blank" rel="noopener noreferrer nofollow"&gt;News Feature&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 gewidmet. Schon vor geraumer Zeit habe ich einen Vortrag gehört von Thomas Landrain, einem der Köpfe hinter dem 
 &lt;a href="http://lapaillasse.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;La Paillasse-Labor&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (Thomas: du hattest versprochen, die Internet-Seiten von La Paillasse ins Englische zu übersetzen!), einem Biotechnologie-Laboratorium, dass ohne Startkapital in einer Pariser Vorstadt-Garage gegründet wurde und dass wirklich interessante Projekte durchführt (hier ein 
 &lt;a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3740105/" target="_blank" rel="noopener noreferrer nofollow"&gt;Artikel von Thomas Landrain über DIY-Biologie&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). Und auch Konferenzen wurden schon zum Thema DIY-Biologie veranstaltet: 
 &lt;a href="https://www.synenergene.eu/news-item/paris-conference-what-can-do-it-yourself-biology-do" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.synenergene.eu/news-item/paris-conference-what-can-do-it-yourself-biology-do&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Aber wo ist die Grenze zwischen DIY-Biologie und Biohacking? &lt;em&gt;E. coli&lt;/em&gt;-Bakterien zu modifizieren, damit sie 
 &lt;a href="https://en.wikipedia.org/wiki/Erythropoietin" target="_blank" rel="noopener noreferrer nofollow"&gt;Erythropoietin&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 herstellen, dann das Protein aufreinigen und in sich selbst injizieren, um seine sportliche Leistung zu verbessern würde wahrscheinlich jeder als Biohacking durchgehen lassen. Meiner Meinung nach ist dieses Beispiel gar nicht so abwegig, sondern wäre durchaus mit den Mitteln der heutigen DIY-Biologie realisierbar.&lt;/p&gt;</description></item><item><title>BSD and Linux</title><link>https://jeltsch.org/en/bsd_and_linux/</link><pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/bsd_and_linux/</guid><description>&lt;p&gt;I am used to the fact that a Linux installer honours a pre-existing install of Windows and offers to setup the computer with a dual-boot option during installation. Vice-versa no Windows installer honours any other pre-exisiting OS. Therefore I was surprised that when I tried to install Ubuntu 16.04 on my PFSense box (FreeBSD), the Ubuntu installer did not even see that a BSD install exists on the drive. I chose the &amp;ldquo;erase all&amp;rdquo; option, but when I rebooted after the installer has finished, the system went straight into PFSense without giving me any option to select Ubuntu. I guess the boot loader had not been touched by the Ubuntu installer. I booted from a live Ubuntu USB stick, reformatted the drive with fdisk and wrote zeros to the boot loader:&lt;code&gt;dd if=/dev/zero of=/dev/sda bs=512 count=1&lt;/code&gt;Then I repeated the install and everything was fine. However, my PFSense installation was lost…&lt;/p&gt;</description></item><item><title>Netstat</title><link>https://jeltsch.org/en/netstat/</link><pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/netstat/</guid><description>&lt;p&gt;To list all ports that a server is listening to:&lt;code&gt;sudo netstat -plnt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Real biohacking</title><link>https://jeltsch.org/en/real_biohacking/</link><pubDate>Mon, 23 May 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/real_biohacking/</guid><description>&lt;p&gt;I have read an interesting 
 &lt;a href="http://theness.com/neurologicablog/index.php/what-is-biohacking/" target="_blank" rel="noopener noreferrer nofollow"&gt;blog post by Steven Novella about biohacking&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I completely agree that most people that push biohacking are not doing anything, that would justify the use of the term. A new term should be used if you are doing something conceptually new. However, the use of the term biohacking and its relationship to DIY biology and diverse body modification movements has not settled yet.The definition of biohacking as the &amp;ldquo;freedom to explore biology deeply&amp;rdquo; makes the term rather meaningless. Hacking as a term has always carried the notion (rightly or not) of doing something illegal or at least borderline legal. To follow this analogy, doping in sports could be considered biohacking (but not drinking coffee - notwithstanding the fact that coffee does fulfil the criteria of doping for some people). Other examples that I would call &amp;ldquo;true&amp;rdquo; biohacking would be the use of Crispr/Cas to modify your own DNA. Or developing medical drugs to treat diseases in your own garage.The question is: does anybody do such things? The development of such techniques is highly regulated in both academic research and commercial enterprises and real genetic engineering carries real risks. Not surprisingly, law-enforcement officials are not very happy about still another subculture to watch for signs of 
 &lt;a href="https://en.wikipedia.org/wiki/Bioterrorism" target="_blank" rel="noopener noreferrer nofollow"&gt;bioterrorism&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, the tools are getting easier and easier to use and garage biotech is a real thing (at least Nature thought it is worth a 
 &lt;a href="http://www.nature.com/news/2010/101006/full/467650a.html" target="_blank" rel="noopener noreferrer nofollow"&gt;News Feature&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). Already a while ago, I did listen to a talk by Thomas Landrain, one of the brains behind the 
 &lt;a href="http://lapaillasse.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;La Paillasse lab&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (Thomas: you promised that the La Paillasse web pages would be translated into English!), which is a biotech lab that was started with zero money in a garage in a Paris suburb. They are doing quite interesting research (see e.g. 
 &lt;a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3740105/" target="_blank" rel="noopener noreferrer nofollow"&gt;this article&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 about his take on DIY biology). There are also conferences about DIY biology: 
 &lt;a href="https://www.synenergene.eu/news-item/paris-conference-what-can-do-it-yourself-biology-do" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.synenergene.eu/news-item/paris-conference-what-can-do-it-yourself-biology-do&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. But when does DIY biology become biohacking? Modifying &lt;em&gt;E. coli&lt;/em&gt; bacteria to produce 
 &lt;a href="https://en.wikipedia.org/wiki/Erythropoietin" target="_blank" rel="noopener noreferrer nofollow"&gt;erythropoietin&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and then purifying and injecting it into yourself to increase your sports performance would certainly qualify as biohacking. Imho that example would actually be feasible considering the state of the DIY biology technology…&lt;/p&gt;</description></item><item><title>Python für Kinder</title><link>https://jeltsch.org/en/python_f_r_kinder/</link><pubDate>Thu, 05 May 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/python_f_r_kinder/</guid><description>&lt;p&gt;Mein Sohn lernt gerade Programmieren. Und es macht Spass. Zuerst haben wir zusammen ein bischen in html und php programmeirt, da er ein Online-Quiz auf seiner Website machen wollte. Danach haben wir angefangen, das (deutsche) Buch &amp;ldquo;Python für Kids&amp;rdquo; (
 &lt;a href="http://python4kids.net" target="_blank" rel="noopener noreferrer nofollow"&gt;http://python4kids.net&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) durchzuarbeiten. Ich habe Python gewählt, weil es eine moderne, leicht zu lesende Sprache ist. Sie ist heute wahrscheinlich die erste Wahl für angehende Programmierer. Python ist Open Source, einfach auf allen Betriebssystemen zu installieren und leistungsfähige Programme können schon nach einer kurzen Lernphase geschrieben werden. &amp;ldquo;Python für Kinds&amp;rdquo; verwendet das 
 &lt;a href="http://pythonturtle.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Turtle-Modul&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, das eine grafikorientierte Einführung ins Programmieren ermöglicht. Die Grafik oben ist z.B. eines der Ergebnisse.Python ist auch eine sehr gute Wahl für Biologen und Bioinformatiker. Da Python eine Mehrzweck-Sprache ist, ist man nicht auf bestimmte Aufgaben beschränkt (wie z.B mit R). Es gibt mit 
 &lt;a href="http://biopython.org/wiki/Main_Page" target="_blank" rel="noopener noreferrer nofollow"&gt;Biopython&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ein sehr gutes Modul für den Umgang mit DNA und Proteinsequenzen (und sogar 3D-Strukturen).&lt;/p&gt;</description></item><item><title>Clearing the BIOS password in a HP Compaq Elite 8000</title><link>https://jeltsch.org/en/clearing_the_bios_password_in_a_hp_compaq_elite_8000/</link><pubDate>Mon, 18 Apr 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/clearing_the_bios_password_in_a_hp_compaq_elite_8000/</guid><description>&lt;p&gt;Power the computer down, remove power cable (and other cables that can carry electricity) and let residual charge drain. Open lid and remove the green jumper. Reboot and you&amp;rsquo;re done. Maybe you want to put the green jumper back not to loose them (you can also apparently leave it attached to pin 1 or pin 2, but not connect both pins).&lt;/p&gt;</description></item><item><title>BackupPC and Macs</title><link>https://jeltsch.org/en/backuppc_and_macs/</link><pubDate>Wed, 13 Apr 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backuppc_and_macs/</guid><description>&lt;p&gt;I myself have been using the backup software 
 &lt;a href="http://backuppc.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;BackupPC&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for almost a decade, and I started to backup our lab computers to a central backup server about two years ago. BackupPC supports deduplication and therefore much data can be stored on a couple of 2 TB drives.BackupPC supports many protocols (smb, ftp, tar/rsync via ssh), but we mostly use rsync via ssh. The data is not encrypted before the backup. Strangely not even the upcoming version 4 will support pre-egression encryption. However, we store the backup on an encrypted volume. That way it is at least protected if the backup server is stolen. And during transit, the data is protected by ssh. However, the system is not 
 &lt;a href="https://en.wikipedia.org/wiki/Trust_no_one_%28Internet_security%29" target="_blank" rel="noopener noreferrer nofollow"&gt;TNO&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (&amp;ldquo;trust no-one&amp;rdquo;), since I (as the backupc administrator) can access the files. When using Linux, one feasible method would be to encrypt the user&amp;rsquo;s home directory using 
 &lt;a href="http://ecryptfs.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;eCryptFS&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (which is an inbuilt option when creating users on 
 &lt;a href="http://www.ubuntu.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) and then backup the /home/.ecryptfs directory instead of the users home directory. However, recovery would be much more of a problem. You would be able to browse the diectory structure and files of the backup, but the filenames would be meaningless since they are also encrypted in the process.There is one peculiarity in backing up Mac OSX machines: BackupPC normally connects as root via ssh into the client computer and executes the rsync backup command. In order to make this possible on university-managed Mac OSX computers, we had to create a dedicated user (&amp;ldquo;backuppc&amp;rdquo;) on the client machines and allow for this user the execution of rsync with root privileges, which is done by adding this line in the /etc/sudoers file:&lt;code&gt;backuppc ALL=NOPASSWD: /usr/bin/rsync&lt;/code&gt;. Then we have to change the ssh/rsync command for the Mac client on the backuppc server changing &amp;ldquo;root&amp;rdquo; into &amp;ldquo;backuppc&amp;rdquo;.&lt;/p&gt;</description></item><item><title>dd a broken DVD</title><link>https://jeltsch.org/en/dd_a_broken_dvd/</link><pubDate>Thu, 07 Apr 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dd_a_broken_dvd/</guid><description>&lt;p&gt;dd if=/dev/sr0 of=image.iso bs=2048 conv=noerror,notrunc iflag=nonblock&lt;/p&gt;</description></item><item><title>Test iframes</title><link>https://jeltsch.org/en/test_iframes/</link><pubDate>Mon, 04 Apr 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/test_iframes/</guid><description/></item><item><title>Essential git</title><link>https://jeltsch.org/en/essential_git/</link><pubDate>Tue, 01 Mar 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/essential_git/</guid><description>&lt;p&gt;&lt;code&gt;git pull origin mastergit push origin mastergit commit -m &amp;quot;comment&amp;quot; -a&lt;/code&gt;
 &lt;a href="https://www.linux.com/learn/tutorials/824358-how-to-run-your-own-git-server" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.linux.com/learn/tutorials/824358-how-to-run-your-own-git-server&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Taj Mahal</title><link>https://jeltsch.org/en/taj_mahal/</link><pubDate>Mon, 08 Feb 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/taj_mahal/</guid><description>&lt;p&gt;One and a half years after our last big LEGO project (the big 
 &lt;a href="https://jeltsch.org/en/Millenium_Falcon/"&gt;Millenium Falcon&lt;/a&gt;
), we finished now the 
 &lt;a href="http://shop.lego.com/en-US/Taj-Mahal-10189" target="_blank" rel="noopener noreferrer nofollow"&gt;Taj Mahal&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which is with 5922 parts the largest LEGO set ever released for retail. Again, we used our existing LEGO parts and only bought the missing ones via 
 &lt;a href="http://www.bricklink.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;Bricklink&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from four different online shops.&lt;/p&gt;</description></item><item><title>SnapGene - Simply the best DNA manipulation software</title><link>https://jeltsch.org/en/snapgene_simply_the_best_dna_manipulation_software/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/snapgene_simply_the_best_dna_manipulation_software/</guid><description>&lt;p&gt;Our lab has been using different software packages to plan, document and visualize DNA constructs. Among those that we liked a lot for a long time were Textco&amp;rsquo;s 
 &lt;a href="http://www.textco.com/gene-construction-kit.php" target="_blank" rel="noopener noreferrer nofollow"&gt;GeneConstructionKit&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (GCK) and 
 &lt;a href="http://www.scied.com/pr_cmpro.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Clone Manager (Professional)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The latter runs unfortunately only under Windows. However, since several of our computers run 
 &lt;a href="http://www.ubuntu.com/desktop" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu Linux&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, we did run GCK versions 2.5 and 3 using 
 &lt;a href="https://www.winehq.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;WINE&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (a compatibility layer that allows us to run native Windows programs under Linux). However, with the upgrade to version 4, GCK became unusably slow under WINE and we were looking for a replacement. We contacted the developers of GCK, but they apparently were either not willing or able to help us. I suppose that the codebase of GCK is probably more than 20 years old and for that reason nobody dares to touch it. Just around that time, 
 &lt;a href="http://www.snapgene.com" target="_blank" rel="noopener noreferrer nofollow"&gt;SnapGene&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 was released and it fulfilled almost all of our requirements:&lt;/p&gt;</description></item><item><title>Managing OpenVPN with Network Manger</title><link>https://jeltsch.org/en/managing_openvpn_with_network_manger/</link><pubDate>Thu, 05 Nov 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/managing_openvpn_with_network_manger/</guid><description>&lt;p&gt;I just switched back from MacOSX to Ubuntu for work. Mostly for financial reasons. We need more computers at work and a really good PC laptop is just half as expensive as a MacbookPro or iMac. Today I wanted to connect from home to the University&amp;rsquo;s VPN network and I had a look at the instructions provided by the university.As usually, documentation was virtually absent and what was available was wrong. And exclusively in Finnish (
 &lt;a href="http://www.helsinki.fi/helpdesk/ohjeet/tietoliikenne_ja_etakaytto/yhteydet_yliopiston_ulkopuolelta/vpn_ubuntu-asennus.html%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.helsinki.fi/helpdesk/ohjeet/tietoliikenne_ja_etakaytto/yhteydet_yliopiston_ulkopuolelta/vpn_ubuntu-asennus.html)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. From the image (Hardy Heron) it is clear that this page has not been updated for about at least 6 years (Hardy Heron was realased in the beginning of 2008).So what do you do if you downloaded and extracted the hy-vpn-config.tar.gz file from 
 &lt;a href="https://ohjelmistojakelu.helsinki.fi?First" target="_blank" rel="noopener noreferrer nofollow"&gt;https://ohjelmistojakelu.helsinki.fi?First&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 you need to install a plugin for the Network Manager: &lt;code&gt;sudo apt-get install network-manager-openvpn network-manager-openvon-gnome&lt;/code&gt;. Then you go to the Network Manager via the icon in the menu bar on the top right of your Desktop. Below all the available wireless networks, there is an entry &amp;ldquo;VPN Connections&amp;rdquo;. Follow &amp;ldquo;VPN Connections&amp;rdquo; -&amp;gt; &amp;ldquo;Configure VPN&amp;rdquo; -&amp;gt; &amp;ldquo;Add&amp;rdquo; -&amp;gt; &amp;ldquo;Import a saved VPN configuration&amp;rdquo; -&amp;gt; &amp;ldquo;Create&amp;rdquo;. Then select the &amp;ldquo;openvpn.conf&amp;rdquo; from the downloaded and extracted files. After that, fill in the rest of the dialog box: User name, Password. For the CA Certificate, select the &amp;ldquo;HY-vpn-CA.pem&amp;rdquo; file from the downloaded files (you should have put it first somewhere safe, e.g. to &amp;ldquo;/etc/openvpn&amp;rdquo;).One problem that people are complaining about is the fact that the import does not honor the &amp;ldquo;redirect-gateway def1&amp;rdquo; directive and as a consequence you won&amp;rsquo;t be able to connect anywhere (I guess this is due to the Network Manager using dnsmasq and dnsmasq is apparently not smart enough to realize that it should send the queries somewhere else now). That&amp;rsquo;s why people are complaining that Network Manager doesn&amp;rsquo;t work to route all traffic via the VPN network. The box that you need to uncheck for this to work is well hidden: It&amp;rsquo;s in the connection editor dialog under the IPv4 Settings tab -&amp;gt; Routes (at the bottom right) -&amp;gt; &amp;ldquo;Use this connection only for resources on its network&amp;rdquo;. Why on earth do they have to call it in a way that nobody understands its meaning? Why not to call it &amp;ldquo;Do not route all traffic through this VPN connection&amp;rdquo;? I also had to check the box that said &amp;ldquo;Ignore automatically obtained routes&amp;rdquo;, although I don&amp;rsquo;t know why…As usual, setting up the OpenVPN sucks and the important tunneling back of VPN traffic needed to be added manually on the OpenVPN server:&lt;code&gt;iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE&lt;/code&gt;I did it by making an additional file called openvpn2 in the /etc/network/if-up.d/ directory with the following content:&lt;code&gt;#!/bin/shiptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE&lt;/code&gt;Of course you can still start and stop the VPN via the command line. However, since systemd, the password entry is not straightforward. When you execute &lt;code&gt;sudo systemctl start openvpn.service&lt;/code&gt; you need to execute (e.g. in another terminal) &lt;code&gt;sudo systemd-tty-ask-password-agent&lt;/code&gt; and enter your password there. That&amp;rsquo;s clearly a kludge until they get a decent password agent…&lt;/p&gt;</description></item><item><title>Neon electroporation device chickens out</title><link>https://jeltsch.org/en/neon_electroporation_device_chickens_out/</link><pubDate>Tue, 04 Aug 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/neon_electroporation_device_chickens_out/</guid><description>&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; We are not the only ones that try to economize on our running costs. This lab published its experiments in with the Neon system in 
 &lt;a href="http://www.sciencedirect.com/science/article/pii/S0003269714003509" target="_blank" rel="noopener noreferrer nofollow"&gt;Analytic Biochemistry&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Thanks to Joachim Goedhart (
 &lt;a href="https://www.twitter.com/joachimgoedhart" target="_blank" rel="noopener noreferrer nofollow"&gt;@joachimgoedhart&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) for bringing this to our attention! The 
 &lt;a href="http://www.lifetechnologies.com/fi/en/home/life-science/cell-culture/transfection/transfection---selection-misc/neon-transfection-system.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Neon transfection device&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from 
 &lt;a href="https://www.lifetechnologies.com/fi/en/home.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Life Technologies&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (oops, 
 &lt;a href="https://www.thermofisher.com/en/home.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Thermo Fischer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 nowadays and former 
 &lt;a href="https://en.wikipedia.org/wiki/Invitrogen" target="_blank" rel="noopener noreferrer nofollow"&gt;Invitrogen&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) was introduced about five years ago to the market. It is designed for easy electroporation of mammalian cells. We have had the device available since 2011, but it was not much in use. I don&amp;rsquo;t know whether the low adoption rate is due to the user-unfriendliness (I still don&amp;rsquo;t know how to put the electrode tip to the pipettor despite having done this hundreds of times, it&amp;rsquo;s just really finicky mechanics), expensive running costs (for its desposible gold-plated electrodes and the proprietary transfection buffer) or something else I cannot figure out.However, there are a few things that I wanted to share because real useful information about the Neon device is scarce on the web.The first thing that we had constant problems with were air bubbles in the electrode tip, which result in desastrously low electroporation efficiencies. The only way to really prevent this is to prepare at least 25% more cell suspension than actually needed. When you prepare only 10% more, the last electroporation will certainly arc due to unaviodable air bubbles (the cell suspension additionally sticks easily to the outside of the pipette tip which contributes to the need to prepare more than actually needed). As a consequence of this, we ran out of electroporation buffer R long before we ran out of pipette tips. Additionally one cannot purchase buffer R separately. The Life Technologies representative with whom I corresponded promised to send us a small batch of pipette tips/buffer in good will (that was in January), but we are still waiting for that to arrive…Unforatunately, recently our old 
 &lt;a href="http://www.ptf.okstate.edu/pulsercomponents.gif" target="_blank" rel="noopener noreferrer nofollow"&gt;Gene Pulser II&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 electroporation device broke. 
 &lt;a href="http://www.bio-rad.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Bio-Rad&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 doesn&amp;rsquo;t repair it anymore and also doesn&amp;rsquo;t provide spare parts. It was mostly used for &lt;em&gt;E. coli&lt;/em&gt; electroporation. I knew that the Neon device was not designed to electroporate &lt;em&gt;E. coli&lt;/em&gt;. Why not and why can&amp;rsquo;t it be used for that purpose? It turns out that the electric field strength is by far not enough for E.coli (in the BioRad Gene Pulser II, a typical bacterial electroporation achieves an electrical field of 12.5kV/cm, whereas the Neon barely achieves around 850V/cm. However (I thought), the neon can do much longer pulses than the Gene Pulser II (Neon is advertised to be able to give pulses up to 100 ms, whereas the typical pulse length of the Gene Pulser II is about 5 ms). In addition to this, the Neon can deliver automatically multiple pulses. So I wanted to test whether a long and/or repeated pulse with lower field strength can transform &lt;em&gt;E. coli&lt;/em&gt;. However, it appeared that when you use water (or 10% glycerol) as the &lt;em&gt;E. coli&lt;/em&gt; transfection buffer (which you usually do), the machine complains the tip electrode doesn&amp;rsquo;t make contact. This is due to the fact that the machine tests whether you have inserted the tip correctly by sending a small current through the system and that current doesn&amp;rsquo;t flow if you have resuspended your &lt;em&gt;E. coli&lt;/em&gt; in water. In order for the machine to &amp;ldquo;accept&amp;rdquo; an inserted pipette tip electrode, you need somewhere between 10 and 20 mM NaCl. So I used 15 mM sodium chloride as &lt;em&gt;E. coli&lt;/em&gt; electroporation buffer and set the electroporation parameters to 2500V and 100 ms. Surprise: The machine refuses to give such pulse because it is &amp;ldquo;Over power limit!&amp;rdquo;. The maximum pulse length it can deliver with 2500V is 19 ms. Unfortunately even that pulse cannot be given automatically multiple times (again: &amp;ldquo;Over power limit!&amp;rdquo;). Therefore I manually executed this pulse between 1 and 20 times, but not a single bacterium received any DNA and all bacterial plates remained blank.The manual states:&lt;code&gt;&amp;quot;The Neon TM device is designed to only input certain values and limits for each value are listed below. If your input value exceeds the maximum value, an error is displayed.Input Voltage range: 500–2,500 VInput Pulse Width range: 1–100 msInput Pulse Number range: 1–10&lt;/code&gt;Unfortunately, this can be very easily misunderstood. It was not clear to me that one cannot combine the three parameters within these ranges freely. One should think that Life Technology has better technical writers (but maybe they don&amp;rsquo;t use the device…)Bottom line: The device is utterly useless for anything but mammalian cells. Also some other interesting applications (e.g. electroporation of nematodes or other small critters) are difficult or impossible. While the machine might be a good choice for many mammalian cells, it&amp;rsquo;s much more limited than the old-fashioned BioRad Gene Pulser II.P.S.: I used the buffer E to fill the pipette station (for use with 10 µl tips). However, I also tested instead of buffer E a mixture of 90% 150 mM sodium chloride and 10% glycerol (which gives me the same conductivity as buffer E has). However, I still really would like to know the composition of buffer R. Why? Because I think that the tip electrodes can be recycled more often than only twice (other manufacturers of pipette tip electrodes advertise that their electrodes can be recycled many more times (e.g. the 
 &lt;a href="http://www.tritechresearch.com/CG-1.html" target="_blank" rel="noopener noreferrer nofollow"&gt;BactoZapper&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, although they don&amp;rsquo;t give precise numbers either). The Neon manual states that &amp;ldquo;Oxide formation at the piston surface area can be generated if the tips are used more than 2 times, which decreases electrode function of the piston.&amp;rdquo; The electode is gold plated and gold should be more resistant to oxide formation than the stainless steel electrodes of the BactoZapper…&lt;/p&gt;</description></item><item><title>Strawberry fields forever</title><link>https://jeltsch.org/en/strawberry_fields_forever/</link><pubDate>Sun, 02 Aug 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/strawberry_fields_forever/</guid><description>&lt;p&gt;Seldom does one find wild strawberries in amounts that allow you to pick liters, but this summer we did. I hope that genetic engineering will sooner or later bring back this amazing taste into the cultivated varieties, which have lost most of it over the centuries of breeding for size and appearance. When that happens, I suspect that GMO opponents will continue eating the conventional, GMO- and taste-free, but pestidicide-surcharged breeds (read more about GMO plants).For now, we have to make do with the cultivated varieties. Cultivated strawberries are sold at the grocery store by weight, whereas on the market they are sold by the liter. Being frugal by nature, I never liked this as it makes comparing prices difficult. Assuming that strawberries can be approximated by equally sized spheres, the maximum theoretical packing density could be 0.74 kg per liter (using regular packing) and 0.63 kg per liter (using random packing). Assuming that strawberries can be squeezed a bit, these number could be slightly higher. However, this is again offset by the measuring jar’s small size, which leaves lots of slack space between the walls and the strawberries.I bought a few times 1 liter of strawberries and measured their weight, which averaged at 0.517 kg. Now my thumb rule is that if the liter price it equal or less than half of the kilogram price, you should buy by the liter.UPDATE: I measured now also blueberries and they (due to their smaller size) fill better the 1-liter jar used by the market vendors. I liter is approximately equal to 0.575 kg. Another take home message is that market vendors do usually give you a bit more. If you buy a liter you often get 1.05 or even 1.1 liters. Are they are generous or do they only respond to being watched by the customer during the process of weighing?&lt;/p&gt;</description></item><item><title>Helkama Jääkäri - everything but the frame broke within the first 3 years</title><link>https://jeltsch.org/en/helkama_j%C3%A4%C3%A4k%C3%A4ri_everything_but_the_frame_broke_within_the_first_3_years/</link><pubDate>Thu, 07 May 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/helkama_j%C3%A4%C3%A4k%C3%A4ri_everything_but_the_frame_broke_within_the_first_3_years/</guid><description>&lt;p&gt;For one last time, I have to write about the Finnish bicycle company 
 &lt;a href="http://www.helkamavelox.fi/" target="_blank" rel="noopener noreferrer nofollow"&gt;Helkama&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I own the 
 &lt;a href="http://www.helkamavelox.fi/tuote/jaakari-3-v/" target="_blank" rel="noopener noreferrer nofollow"&gt;Helkama Jääkäri&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which is a military style bicycle and marketed as extremely tough. The frame has 25 years warranty. However, pretty much everything else has been braking within the first 3 years, which ridicules the whole concept. During this year&amp;rsquo;s spring overhaul, I had to replace three parts: The stand, the saddle and the bell. And I see already signs of future trouble… In none of my previous bikes, saddle or stand have been breaking that fast. And that includes cheap bikes for half the price that I paid for the Jääkäri. Apparently, Helkama does not vet its component suppliers sufficiently. My 
 &lt;a href="https://jeltsch.org/en/helkama_jaakari/"&gt;Jääkäri’s rear wheel had to be replaced already after the first winter&lt;/a&gt;
 and the carrier meanwhile two times. When it broke the third time, I did not even bother to get it replaced again, instead 
 &lt;a href="https://jeltsch.org/en/helkama_quality_woes/"&gt;I repaired and reinforced it myself&lt;/a&gt;
. I really hope that Helkama’s advertisement is just a lie and that the Finnish Army does not use this bicycle.&lt;/p&gt;</description></item><item><title>Thank you, Lufthansa!</title><link>https://jeltsch.org/en/thank_you_lufthansa/</link><pubDate>Thu, 30 Apr 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/thank_you_lufthansa/</guid><description>&lt;p&gt;In the morning of September 25th, 2014, I was waiting at Helsinki Airport to board Lufthansa flight LH 855 to Frankfurt where I was to change planes on my way to Genoa, Italy. I had been invited to give a talk at 2:45 pm at the 40th Congress of the European Society of Lymphology. I had only 1 hour 10 minutes stopover time in Frankfurt. 1 hour 10 minutes after the scheduled departure time, me and a few other passengers had not yet managed to board (they had boot problem with their computer system and people were checked in manually). I explained the desk attendant the situation and he said that it would be absolutely no problem to get a refund in this situation when I would decide not to board as I had no chance to catch my connecting flight. They apparently had overbooked the machine and the guy next in line was very happy when I gave up my seat. However, the desk attendant was not right, when he told me that getting the refund would be easy. Actually I have not received it by the time of this writing. However, I got assured by a phone call from Lufthansa, that it would happen within the next two to three weeks.In the frenzy to be competitive, Lufthansa has been streamlining its services to such a point that they apparently are dysfunctional. My first attempt to claim refund was via the regular route: online. When nothing had happened for 3 months, I phoned. Multiple times. Mostly to be cut of after having been in the waiting queue for 15 minutes or more. Then I wrote a physical letter to a UK address that Lufthansa had posted online for customer complaints. That letter came back after about 2 months: &amp;ldquo;address unknown&amp;rdquo;. Then I wrote another letter to the new address (they finally managed to update their web pages) and after another couple of weeks, I received that phone call from Lufthansa. Very apologetic. This should never have happened. They sent me two bottles of champagne, which arrived by courier, while I am still waiting for my money. I am flying next month to Switzerland to the 41st Congress of the European Society of Lymphology. I am flying Finnair.&lt;/p&gt;</description></item><item><title>Creating a video from webcam still images with crontab and ffmpeg</title><link>https://jeltsch.org/en/creating_a_video_from_webcam_still_images_with_crontab_and_ffmpeg/</link><pubDate>Wed, 29 Apr 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_a_video_from_webcam_still_images_with_crontab_and_ffmpeg/</guid><description>&lt;p&gt;I have a webcam that is taking images when there is movement in its view field. It uploads them to a ftp server. I wanted some automated method to generate a video file from the images of the previous day. Finally I came up with the following shell script which is living under /etc/cron.daily:&lt;code&gt;#!/bin/sh## cron script to make a movie out of webcam stills## The webcam puts the images of the whole day into a folder with the date. This generates the target folder.foldername=/home/ftpuser/labcam/$(date -d &amp;quot;-1 days&amp;quot; +%Y%m%d)echo $foldername# This renames the iamges into 1.jpg, 2.jpg, etc. This is necessary for ffmpeg to recognize them. counter=1for i in $foldername/*.jpg; do new=$foldername/$counter.jpg echo $new cmd='mv $i $new' eval $cmd counter=$((counter+1))done# This does the actual conversionffmpeg -f image2 -framerate 25 -i $foldername/%d.jpg -c:v libx264 $foldername/out25.mp4# And this removes the jpg files from the target folder (in order to save space)cmd2='rm '$foldername'/*.jpg'eval $cmd2&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Helkama quality woes</title><link>https://jeltsch.org/en/helkama_quality_woes/</link><pubDate>Sun, 25 Jan 2015 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/helkama_quality_woes/</guid><description>&lt;p&gt;This post is a follow-up of my post from 2 years ago about my new bicycle, a 
 &lt;a href="https://jeltsch.org/en/helkama_jaakari/"&gt;Helkama Jääkäri&lt;/a&gt;
. It had its fair share of problems, and even though the customer service was very responsive, the repetitive problems with its luggage carrier were too much for me. Last December, the third carrier broke. I had received also the this one as a free-of-charge replacement, but it is a nuisance when it breaks, even though replacing takes only about 10 minutes. It is not in very heavy use: the stuff I transport on it weighs about 2-3 kg, but apparently the welded/soldered connections are prone to fatigue breakage. Helkama knows that it has a quality problem with its carriers. When I asked for the second replacement carrier, the customer service told me, that they are trying to identify a suitable replacement for the subcontractor who makes these carriers. This time I thought to repair the carrier instead of asking for another replacement, which took less time and will probably last longer. I don’t know whether they have changed their component supplier. If my own repair breaks, I still have two old broken carriers I can repair, but most likely, my next bicycle is not going to be a 
 &lt;a href="http://www.helkamavelox.fi/en/" target="_blank" rel="noopener noreferrer nofollow"&gt;Helkama&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>The car is in the garage</title><link>https://jeltsch.org/en/the_car_is_in_the_garage/</link><pubDate>Tue, 30 Dec 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_car_is_in_the_garage/</guid><description>&lt;p&gt;Finally Claudia’s car is in our heated garage. After moving two thirds of our cellar’s content and half of our apartment’s content to our garage, it appeared questionable whether a car would still fit. I installed many additional shelves and relocated my and Marzena’s bicycles to the condo’s common bicycle storage. The other 7 bicycles and the bicycle trailer were hanged to hooks along the garage walls. Then we lifted Tobias’ 3.5 meter long cardboard rocket tightly under the garage ceiling. Finally I was able to drive it in. I drove in sort of blindly because the car had been snowed in so badly that me and Tobias could not really make any difference by scratching its windscreens half an hour (we had to stop because our fingers were too cold to continue). The snow and the cold had arrived here in Helsinki quite exactly together with the winter solstice.&lt;/p&gt;</description></item><item><title>Vor 25 (oder noch mehr) Jahren</title><link>https://jeltsch.org/en/vor_25_oder_noch_mehr_jahren/</link><pubDate>Fri, 14 Nov 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vor_25_oder_noch_mehr_jahren/</guid><description>&lt;p&gt;Vermutlich haben alle, die sich dafür interessieren, schon die Fotos angeschaut. Trotzdem hier nochmal der Link zu den gescannten Diapositiven von unserem Segeltörn im IJsselmeer und dem Literaturkurs bei Frau Herzig: 
 &lt;a href="http://gallery.jeltsch.org/index.php/1989" target="_blank" rel="noopener noreferrer nofollow"&gt;http://gallery.jeltsch.org/index.php/1989&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Einige Schwarzweiss-Portraits und andere interessante Negative warten noch darauf, wiederentdeckt zu werden…&lt;/p&gt;</description></item><item><title>Download SnapGene</title><link>https://jeltsch.org/en/download_snapgene/</link><pubDate>Fri, 31 Oct 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/download_snapgene/</guid><description>&lt;p&gt;You can get a registration code (which is valid until the end of 2014) from the course organizer.&lt;/p&gt;</description></item><item><title>Ubuntu is slowly getting unusable</title><link>https://jeltsch.org/en/ubuntu_is_slowly_getting_unusable/</link><pubDate>Mon, 01 Sep 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu_is_slowly_getting_unusable/</guid><description>&lt;p&gt;The default Document Viewer in Ubuntu 14.04 is Evince. Recently it started to have problems with many PDF files that are opened by other PDF viewers (Okular, Acroread) without problems. Actually Evince opens them, but the window remains invisible. I tried to change the PDF viewer, but Ubuntu has apparently removed all means to do so in version 14.04 short of going into the command line and editing configuration files by hand: what a progress! In previous versions of the File Manager, it was possible to right-click a file and after selecting &amp;ldquo;Open with&amp;rdquo; &amp;gt; &amp;ldquo;Other Application&amp;rdquo; to choose &amp;ldquo;Set as default&amp;rdquo;. Now the only way to do so is to edit ~/.local/share/applications/mimeapps.list, replacing &lt;code&gt;[Default Applications]application/pdf=evince.desktop&lt;/code&gt; with&lt;code&gt;[Default Applications]application/pdf=kde4-okularApplication_pdf.desktop;&lt;/code&gt; I guess it is time to switch back to OpenSuSE…&lt;/p&gt;</description></item><item><title>It is finished</title><link>https://jeltsch.org/en/Millenium_Falcon/</link><pubDate>Sat, 30 Aug 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/Millenium_Falcon/</guid><description>&lt;p&gt;After one year of gathering pieces and building, Tobias and me finished today the Millennium Falcon Ultimate Collector’s Edition (LEGO set 10179, 
 &lt;a href="http://brickset.com/sets/10179-1/Ultimate-Collector-s-Millennium-Falcon%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://brickset.com/sets/10179-1/Ultimate-Collector-s-Millennium-Falcon)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. This version of the Millennium Falcon is not sold anymore and used sets sell for insane prices on Ebay.We took the necessary bricks from two other Star Wars models: the Death Star (LEGO set 10188, 
 &lt;a href="http://brickset.com/sets/10188-1/Death-Star" target="_blank" rel="noopener noreferrer nofollow"&gt;http://brickset.com/sets/10188-1/Death-Star&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) and the Super Star Destroyer (LEGO set 10221-1, 
 &lt;a href="http://brickset.com/sets/10221-1/Super-Star-Destroyer%29.However" target="_blank" rel="noopener noreferrer nofollow"&gt;http://brickset.com/sets/10221-1/Super-Star-Destroyer).However&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, we had to gather a substantial amount of missing parts, many of which we bought 2nd hand via the local Finnish online action site 
 &lt;a href="http://huuto.net" target="_blank" rel="noopener noreferrer nofollow"&gt;http://huuto.net&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or via BrickLink (
 &lt;a href="http://www.bricklink.com" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.bricklink.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
), a sort of “specialised EBay” for LEGO pieces. The most difficult to find pieces were the two Light Bluish Gray Boat Mast Rigging Long 28 x 4 (
 &lt;a href="http://www.bricklink.com/search.asp?itemID=56261&amp;amp;colorID=86%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.bricklink.com/search.asp?itemID=56261&amp;colorID=86)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which sell at the moment for not less than 100€ per piece on BrickLink. We obviously did not get these pieces. However, LEGO still sells the black version of this piece as a spare part and Tobias’ mentor took the trouble to get these and paint them grey; thank you Clemens!&lt;/p&gt;</description></item><item><title>Fiddling around with CSL</title><link>https://jeltsch.org/en/fiddling_around_with_csl/</link><pubDate>Wed, 06 Aug 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/fiddling_around_with_csl/</guid><description>&lt;p&gt;When writing manuscripts and grant applications, you always and again have to update the bibliography. This is what reference management systems are for. There are many of them (see 
 &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_reference_management_software%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://en.wikipedia.org/wiki/Comparison_of_reference_management_software)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I have been using mostly EndNote, Bibus or Zotero (
 &lt;a href="http://www.zotero.org" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.zotero.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
), which I am using also at the moment. It has the advantages to be truly cross-platform, open-source and compatible with both LibreOffice and Microsoft Office. In the past, I have also been using for a short while Papers (by Mekentosj, who claimed they NEVER would do a Windows version), Bookends, Mendeley, and RefWorks (which is licenced by my university). None of them is perfect and even the most commercialized of them (Endnote, now owned by Thomson Reuters) destroyed one of my (MS Word) manuscripts totally when it crashed. Some of these programs store the formatting instructions for inline citations and the bibliography in the so-called CSL (Citation Style Language, an XML-type language, 
 &lt;a href="http://en.wikipedia.org/wiki/Citation_Style_Language%29.However" target="_blank" rel="noopener noreferrer nofollow"&gt;http://en.wikipedia.org/wiki/Citation_Style_Language).However&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, I could not find an easy editor for CSL: the in-built one from Zotero is not great, neither is the online CSL editor (
 &lt;a href="http://editor.citationstyles.org/visualEditor%29.However" target="_blank" rel="noopener noreferrer nofollow"&gt;http://editor.citationstyles.org/visualEditor).However&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, I needed a way to quickly export my own published papers to create a “List of Publications” for grant applications. Hence I created a group in Zotero and added all my own publications into this group. I now mark them all, right click and select “Create Bibliography from items”. In the pop-up dialog, I choose the style and mark the radio-buttons “Bibliography” and “Copy to Clipboard”). Back in my word processor I just have to paste the clipboard and I most of the work is done. However, I could not find any good style for this, so I created one myself (which is based on Vancouver). Feel free to use it…&lt;/p&gt;</description></item><item><title>Where did the Nautilus scripts folder go in Ubuntu 14.04?</title><link>https://jeltsch.org/en/where_did_the_nautilus_scripts_folder_go_in_ubuntu_14_04/</link><pubDate>Thu, 26 Jun 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/where_did_the_nautilus_scripts_folder_go_in_ubuntu_14_04/</guid><description>&lt;p&gt;After upgrading from Ubuntu 12.04 to 14.04, my 
 &lt;a href="https://help.ubuntu.com/community/NautilusScriptsHowto" target="_blank" rel="noopener noreferrer nofollow"&gt;Nautilus scripts&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 stopped working. The reason: they are polled from a different location in 14.04. In 12.04, they used to be in ~/.gnome2/nautilus-scripts, but now they are in ~/.local/share/nautilus/scripts. I think the link above still has not been updated to reflect the new location.&lt;/p&gt;</description></item><item><title>Stuff the Maverick upgrade broke</title><link>https://jeltsch.org/en/stuff_the_maverick_upgrade_broke/</link><pubDate>Tue, 24 Jun 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/stuff_the_maverick_upgrade_broke/</guid><description>&lt;p&gt;My 1.5 year old MacbookPro was starting to behave badly including failure to complete booting and other niceties. The computer support guy suggested to upgrade from Mountain Lion to Maverick to see whether it would fix things.Initially that seemed to work; however, many programs refuse to run under Maverick. This includes: Gnumeric and (importantly) nfs. It appears that mounting nfs via the finder is not anymore possible. However, I still am able to do it via the command line (using the resvport option, which should not be necessary, but which nevertheless does the trick):&lt;code&gt;sudo mount -o resvport -t nfs mcblserver:/var/www /Users/mjeltsch/nfs&lt;/code&gt; And talking about Gnumeric: I guess I need to compile it newly for Maverick myself…&lt;/p&gt;</description></item><item><title>Poster printing without an A0 printer</title><link>https://jeltsch.org/en/poster_printing_without_an_a0_printer/</link><pubDate>Thu, 15 May 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/poster_printing_without_an_a0_printer/</guid><description>&lt;p&gt;I failed to prepare my poster for the 
 &lt;a href="https://www.grc.org/programs.aspx?year=2014&amp;amp;program=lymphatic" target="_blank" rel="noopener noreferrer nofollow"&gt;GRC conference on Molecular Mechanisms in Lymphatic Function &amp; Disease&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in time. The A0 printer from 
 &lt;a href="http://www.unigrafia.fi/en/congress_services" target="_blank" rel="noopener noreferrer nofollow"&gt;UNIGRAFIA&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is not available on weekends. Hence the best I could do is to print it out on A3 and stitch it together. A definite advantage is that I do not have to run around with these ridiculously large poster tubes, that identify you as a Science nerd from half a mile distance.Unfortunately, the only application that can decently split a DIN A0 PDF into separate pages on the fly while printing is the full version of Acrobat. I tried out other options: 
 &lt;a href="https://gitorious.org/pdftools/pdfposter" target="_blank" rel="noopener noreferrer nofollow"&gt;pdfposter&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 did a fairly good job, but it did not manage with the background: &lt;code&gt;pdfposter -mA3 -pA0 input.pdf output.pdf&lt;/code&gt; Pdfposter also doesn&amp;rsquo;t create overlaps. A solution, that always should work is to convert the PDF into an image (convert -density 150 input.pdf output.png) and then use 
 &lt;a href="http://posterazor.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;PosteRazor&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to create individual PDF files from that image. However, conversion of a A0 pdf into a high res image can last hours. Use a .png file! PosteRazor refused to work on a 60 MB TIF file. The background gradient conversion results in visible colour steps. In order to avoid that, you would have to define the background gradient as an image rather than a vector element. Otherwise PosteRazor worked well; unlike in pdfposter you can define overlaps for the assembly.I have been using 
 &lt;a href="http://www.inkscape.org/en/" target="_blank" rel="noopener noreferrer nofollow"&gt;Inkscape&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to prepare my poster and usually I export it from there as a PDF file. This did not work this time because the program consistently crashed during the export. Hence I tried to save it as an encapsulated postscript file and to distil it into a PDF. When exporting from Inkscape (actually it is &amp;ldquo;Save as&amp;rdquo;), I selected the following options:&lt;code&gt;Postscript level 3Rasterize filter effects: yesResolution for rasterisation: something between 150 to 300Export area is page: yes&lt;/code&gt;After distilling it, I printed it from Acrobat Pro with the following options: &lt;code&gt;Page setup: DIN A3, portrait orientationPage scaling: Tile large pages&lt;/code&gt;At a tile scale of 95% and an overlap of 10mm I got 9 pages (3x3), which is still OK for assembly.&lt;/p&gt;</description></item><item><title>Getting Ubuntu Trusty Tahr onto the CuBox Pro</title><link>https://jeltsch.org/en/getting_ubuntu_trusty_tahr_onto_the_cubox_pro/</link><pubDate>Wed, 14 May 2014 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/getting_ubuntu_trusty_tahr_onto_the_cubox_pro/</guid><description>&lt;p&gt;e&lt;strong&gt;UPDATE: The Cubox guys have moved the documentation about how to install to the Cubox Pro. If you need Trusty Tahr for your Cubox Pro, you can download a 4GB image: 
 &lt;a href="https://drive.google.com/open?id=1CgbSfy17-UrWZwBjZtZpHYTkPgw0MXFq" target="_blank" rel="noopener noreferrer nofollow"&gt;https://drive.google.com/open?id=1CgbSfy17-UrWZwBjZtZpHYTkPgw0MXFq&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. You just need to write it to an SD card (using dd) in order to get your system going. If you have a larger SD card, never mind: just dd the image to the SD card and then use 
 &lt;a href="https://gparted.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;gparted&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or something similar to expand the second partiton (the root partition) to fill the entire SD card. Password/login: cuboxpro/cuboxpro. SSH is enabled, so you should be able to login remotely. It&amp;rsquo;s the desktop version, so you can also connect an HDMI cable and login via the GUI. There is still a youtube video (
 &lt;a href="https://www.youtube.com/watch?v=XfLJAchNu2c" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.youtube.com/watch?v=XfLJAchNu2c&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ) on how to use the original cubox installer (
 &lt;a href="http://download.solid-run.com/pub/solidrun/cubox/installer/%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://download.solid-run.com/pub/solidrun/cubox/installer/)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but the latest version of Ubuntu that you can install with that method seems to be 13.10 at the moment of this writing.&lt;/strong&gt; I have been buying a 
 &lt;a href="http://www.solid-run.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;CuBox&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
: perhaps the world&amp;rsquo;s smallest desktop computer. Both at work and at home I need to replace an old, loud LAMP server with something modern. I don&amp;rsquo;t even need a GUI, I am happy to run the server headless. Neither do I need much much speed.The CuBox seems like a great idea: No noise, little power consumption, no space requirements and a decent performance. However, getting it to work was far from trivial. It is definitely not an end user toy, but aimed at the tinckerer. The first difficulty was buying the box. The producer didn&amp;rsquo;t sell it directly at the time (now they do) and the only company that sold it to Finland was UK-based 
 &lt;a href="https://www.newit.co.uk/shop/" target="_blank" rel="noopener noreferrer nofollow"&gt;NewIT&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Because on the producers homepage they only present their newest models (the &amp;ldquo;CuBox-i&amp;rdquo; models), I wasn&amp;rsquo;t even aware of how many different models they had released. I actually bought the CuBox Pro (but I didn&amp;rsquo;t know about it, because there is also the &amp;ldquo;CuBox-i4Pro&amp;rdquo;, which is the one I rather should have bought. Israel-based SolidRun could do definitely a better job with their web pages. They seem to have a rapid product cycle and drop quickly all links to their &amp;ldquo;older&amp;rdquo; products from their main page. This is irresponsible especially since these products are still sold.I bought the device shortly before 
 &lt;a href="http://www.ubuntu.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 14.04 LTS (Trusty Tahr) was released with the intention to install the server version on this device. I bought it with the 4GB SD card with the preinstalled ancient Ubuntu 10.04 (Oneiric Ozelot). I connected it via HDMI to our (not full HD) TV screen and at least the first boot succeeded and the desktop appeared usable, although not snappy. But what the heck, I want to use it as a sever.So the first thing I tried to do was to upgrade to 14.04. I was sure that this would work because the community is stepping in where CuBox fails. Namely by providing ready-to-go disk images to flash to the SD card. I tried Arch Linux, Debian and an early Ubuntu 14.04 release. However, when I inserted the SD card after flashing, the CuBox did not want to boot.Because the Oneiric image (which came on the 4GB card with the device) worked, I flashed it back from a backup (which I had made using dd). Again, Oneric booted up fine. I started to upgrade the distribution to 12.04, which worked somehow, but I lost the graphics display (which I didn&amp;rsquo;t care about). But then the upgrade from 12.04 to 14.04 failed completely. And I definitely want the 14.04, because I want to set it up and forget about it for the next 5 years.However, none of the images provided (by CuBox or the community) wanted to boot (I don&amp;rsquo;t even want a GUI, I am fine with a command line access as I want to use it as a server). I have tried flashing them from Windows and Linux, but it didn&amp;rsquo;t make a difference. What could the reason have been? The partitions on the card are mounted automatically without error when I insert the card to my Ubuntu 14.04 laptop. I finally googled the Model number &amp;ldquo;CBP-300-P&amp;rdquo; which is printed on a sticker on the bottom of the cube. I had started to suspect that it is not me, but some incompatibility or broken hardware. I came across 
 &lt;a href="http://server.vijge.net/static/cubox/irclog/201404/cubox-20140425.html" target="_blank" rel="noopener noreferrer nofollow"&gt;this irc conversation&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and I realised that I had been pulling the OS images from the CuBox-i wiki pages, whereas my model was a CuBox Pro.The relevant forum is 
 &lt;a href="http://www.solid-run.com/phpbb/viewtopic.php?f=11&amp;amp;t=1638" target="_blank" rel="noopener noreferrer nofollow"&gt;here&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and the instructions do work. The instructions are not for the faint of heart, but also not overly difficult. You need a HDMI connection to a full HD screen (1920x1080). If you have less than that, you need to connect to the serial console using a mini-USB cable from another computer and use a terminal emulator as they explain 
 &lt;a href="http://wiki.solid-run.com/doku.php?id=products:imx6:microsom:usbuart" target="_blank" rel="noopener noreferrer nofollow"&gt;here&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The suggested Putty did refuse to make a connection to ttyS0 (from Ubuntu 14.04), but I managed with minicom. However, there was no color coding, but it worked also without.Because you are running the whole OS from the SD card, you might want to limit memory swapping and do a few other changes to prolong the life of the memory card, essentially 
 &lt;a href="https://sites.google.com/site/easylinuxtipsproject/ssd" target="_blank" rel="noopener noreferrer nofollow"&gt;the same as is done for SSD drives&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Mounting individual partitions from disk dumps</title><link>https://jeltsch.org/en/mounting_individual_partitions_from_disk_dumps/</link><pubDate>Thu, 26 Dec 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_individual_partitions_from_disk_dumps/</guid><description>&lt;p&gt;You can make disk dumps from individual partitions or from a hard drive that contains more than one partition. The ladder has the advantage that you can restore the computer by dumping back the image onto the same or another hard drive. But if you want to access an individual partition from a hard drive image, you need to know where the partition boundaries are. You can note them down from the output of fdisk. However, fdisk -l gives the partition boundaries, but the unit is sectors. You need to multiply this number by the logical sector size to get the partition boundaries in bytes.Alternatively you can use 
 &lt;a href="http://www.gnu.org/software/parted/" target="_blank" rel="noopener noreferrer nofollow"&gt;parted&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (after invoking parted, execute commands unit, B, print in that order) to display the partition boundaries in byte. parted can be also used on a disk dump, e.g. parted /home/backups/diskdump.img to determine the partition boundaries.&lt;code&gt;jeltsch@Michael:~$ sudo parted /home/backup/diskdump.img GNU Parted 2.3Using /home/backup/diskdump.imgWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) unit Unit? [compact]? B (parted) print Model: (file)Disk /home/backup/diskdump.img: 160041885696BSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags 1 1048576B 524287999B 523239424B primary ntfs boot 2 524288000B 80282124287B 79757836288B primary ntfs 3 80283171840B 160041009151B 79757837312B extended 5 80283172864B 122626684415B 42343511552B logical ext4 7 122626768896B 157924769279B 35298000384B logical ext4 6 157932322816B 160041009151B 2108686336B logical linux-swap(v1)(parted)&lt;/code&gt;Then you just mount the image as a loop device with the additional parameter offset using the start boundary of the partition you want to mount:&lt;code&gt;sudo mount -o loop,ro,offset=524288000 /home/backup/diskdump.img /mnt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Prisma Viikki and customer's rights revisited</title><link>https://jeltsch.org/en/prisma_viikki_and_customer_s_rights_revisited/</link><pubDate>Wed, 03 Jul 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/prisma_viikki_and_customer_s_rights_revisited/</guid><description>&lt;p&gt;I bought a lamp from 
 &lt;a href="https://www.prisma.fi/myymalat/603215211" target="_blank" rel="noopener noreferrer nofollow"&gt;Prisma&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for 24,95€. Because it was named &amp;ldquo;plafondi&amp;rdquo;, I assumed it is a ceiling lamp: &amp;ldquo;plafond&amp;rdquo; is French for ceiling. But I was wrong. It was not for attachment to the ceiling, but for wall-mounting (strangely on Prisma&amp;rsquo;s website it is called 
 &lt;a href="http://www.prisma.fi/market/prisma?a_Visit:tuotekat=Lastenvalaisimet&amp;amp;path=KOTI%2FValaisimetLamp%2FLastenvalaisimet&amp;amp;osuuskauppa=HOK-ELANTO&amp;amp;pageName=Main" target="_blank" rel="noopener noreferrer nofollow"&gt;“Plafondi-seinävalaisin”&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 which is an oxymoron). I realised that when I saw that the plug was of the regular type and not for a ceiling socket. So I exchanged the plug and attached it to the ceiling. When I screwed in the bulb and turned the light switch, it remained dark. I had bought the bulb (Megaman Liliput 11W E14 thread) together with the lamp from Prisma. I was even more perplexed when another E14 bulb worked perfectly in that lamp.&lt;/p&gt;</description></item><item><title>The old LEGO motors are still going strong</title><link>https://jeltsch.org/en/the_old_lego_motors_are_still_going_strong/</link><pubDate>Mon, 24 Jun 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_old_lego_motors_are_still_going_strong/</guid><description>&lt;p&gt;While the LEGO motors of my childhood are still going strong, the motor from the set 8287 broke barely three years after I bought it. Actually the motor is OK, but the battery box or the switch has a slack joint somewhere inside. And what is worse: I cannot get a spare part! I hope LEGO is not following the trend producing throw-away toys. The motors from my childhood (which you can see in the background) are nearly 40 years old. This proves that one can build durable toy motors.&lt;/p&gt;</description></item><item><title>Cyclical PhD production</title><link>https://jeltsch.org/en/cyclical_phd_production/</link><pubDate>Tue, 11 Jun 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/cyclical_phd_production/</guid><description>&lt;p&gt;I was wondering why recently nobody graduated with a PhD from our lab. My first (and wrong) conclusion was, that our lab is not as productive anymore as it used to be. When I looked at the data carefully I discovered an interesting phenomenon: The PhD production rate in our lab follows a 5-6 year cycle. And lo and behold: The cycle is about to peak again in 2013/2014, which is exactly what I expect to happen as many of our PhD students are about to finnish this or next year. I wonder whether this is specific for Kari Alitalo&amp;rsquo;s lab or whether this a general phenomenon. In any case I am looking forward to all those parties (&amp;ldquo;karonkka&amp;rdquo;) that lie ahead.The figure above shows the number of PhDs received any given year that were supervised by Kari Alitalo averaged over a window of one or three years. Shared supervision was counted as 0.5.&lt;/p&gt;</description></item><item><title>Screw cap of Elmex mouth wash always breaks</title><link>https://jeltsch.org/en/broken_elmex_mouth_wash_screw_cap/</link><pubDate>Sun, 09 Jun 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/broken_elmex_mouth_wash_screw_cap/</guid><description>&lt;p&gt;This is my third bottle of Elmex mouth wash. The screw cap of every single bottle broke, there must be a design flaw!&lt;/p&gt;</description></item><item><title>A view to the Baltic sea</title><link>https://jeltsch.org/en/a_view_to_the_baltic_sea/</link><pubDate>Sun, 05 May 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/a_view_to_the_baltic_sea/</guid><description>&lt;p&gt;Just to prove that one can see the Baltic sea from our living room&amp;rsquo;s window.&lt;/p&gt;</description></item><item><title>Reset MacOSX user passwords</title><link>https://jeltsch.org/en/reset_macosx_user_passwords/</link><pubDate>Sun, 28 Apr 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reset_macosx_user_passwords/</guid><description>&lt;ul&gt;
&lt;li&gt;Boot up with command key and S key pressed (Single user mode)&lt;/li&gt;
&lt;li&gt;fsck -fy&lt;/li&gt;
&lt;li&gt;mount -uw /&lt;/li&gt;
&lt;li&gt;password username&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Waffel recipe</title><link>https://jeltsch.org/en/waffel_recipe/</link><pubDate>Fri, 19 Apr 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/waffel_recipe/</guid><description>&lt;p&gt;After some awful experience with an OBH Nordica electric waffle maker (one waffle took about 12 minutes and still was not entirely done), I have bought a 
 &lt;a href="http://skeppshult-onlineshop.de/Skeppshult_Waffeleisen" target="_blank" rel="noopener noreferrer nofollow"&gt;cast-iron waffel maker&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from Skeppshult. After burning it in and several unsuccesfull attempts, I actually manged to make some waffles. However, I have not yet tried to use it over an open fire, but that was actually the idea when I bought it. I used it on our electric oven and one waffle takes about 4 minutes (on position 7-8 out of 9). It has 25 years of warranty and weighs about 4-5 kg. I used the following recipe:&lt;/p&gt;</description></item><item><title>Updating drupal</title><link>https://jeltsch.org/en/updating_drupal/</link><pubDate>Tue, 19 Feb 2013 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_drupal/</guid><description>&lt;p&gt;Here&amp;rsquo;s what I need to to to update 
 &lt;a href="https://jeltsch.org/en/tags/drupal/"&gt;drupal&lt;/a&gt;
 (minor updates, e.g. from 7.18 to 7.19) on my Ubuntu server. I have installed drupal from the drupal source itself and not from the Ubuntu repository (because the Ubuntu repository is usually quite old and not updated as frequently). Actually the update is quite painless; I am sure somebody automated that already somewhere…&lt;code&gt;cd /var/wwwsuwget http://ftp.drupal.org/files/projects/drupal-7.19.tar.gztar -xvzf drupal-7.19.tar.gz chown -R jeltsch:www-data drupal-7.19rm drupal-7.19.tar.gz cp -a drupal-7.18/sites/ drupal-7.19/&lt;/code&gt;The above cp command makes a copy of the complete site, which can take a long time and use lots of disk space. Instead, you can delete the &amp;ldquo;sites&amp;rdquo; subdirectory in the new drupal folder and make a link to the old &amp;ldquo;sites&amp;rdquo; subdirectory:&lt;code&gt;cd drupal-7.19rm -rf sitesln -s ../drupal-sites/ sites&lt;/code&gt;Here you should log into your site and put it into maintenance mode! &lt;code&gt;mysqldump -u root -p --databases drupal7_jeltsch_org drupal7_claudia_jeltsch_org drupal7_lammertlab_org &amp;gt; drupal7_all.sqlrm drupal7ln -s drupal-7.19/ drupal7&lt;/code&gt;Here you should click the link to the update script. After the updates were successfully performed you can put your site online again.** ****Drupal 9**Updating Drupal 9 is most easily done using composer:&lt;code&gt;composer update &amp;quot;drupal/core-*&amp;quot; --with-all-dependencies&lt;/code&gt;Also the modules can be updated. However, in my case the update was not always targeting the module that was actually in use but a module that was lower in the priority list in some other directory. For minor version updates:&lt;code&gt;composer update drupal/modulename --with-dependencies&lt;/code&gt;For major version updates:&lt;code&gt;composer require drupal/modulename:^2.0&lt;/code&gt;After this, don&amp;rsquo;t forget to visit 
 &lt;a href="https://yoursite.com/update.php" target="_blank" rel="noopener noreferrer nofollow"&gt;https://yoursite.com/update.php&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
!&lt;/p&gt;</description></item><item><title>x11vnc as a nxserver replacement</title><link>https://jeltsch.org/en/x11vnc_as_a_nxserver_replacement/</link><pubDate>Thu, 29 Nov 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/x11vnc_as_a_nxserver_replacement/</guid><description>&lt;p&gt;Now that 
 &lt;a href="http://www.nomachine.com" target="_blank" rel="noopener noreferrer nofollow"&gt;nomachine&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&amp;rsquo;s great nxclient is defunct on MacOS X and its new nxplayer is still in beta (and completely nonfunctional on my setup), I needed another solution to connect to my work desktop from home. I tried many things, but then settled for 
 &lt;a href="http://www.karlrunge.com/x11vnc/" target="_blank" rel="noopener noreferrer nofollow"&gt;x11vnc&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. My work desktop is running Ubuntu Precise Pangolin (12.04) and I connect from a MacOS X 10.8 (Mountain Lion). I only had to install x11vnc and openssh-server on my work desktop and add an x11vnc.conf file to /etc/init with the following content:&lt;code&gt;x11vnc -forever -rfbauth /etc/x11vnc.pass -bg -o /var/log/x11vnc.log -scale 1280x800 -display :0 -auth /var/run/lightdm/root/:0&lt;/code&gt;I have to create the password file:&lt;code&gt;x11vnc -storepasswd password /etc/x11vnc.pass&lt;/code&gt;Then I just have to get into my work desktop by some means or another. At the moment I jump there via the UNIX computers of the university, because direct ssh access is not possible because of a firewall. So I ssh into the UNIX mainframe and from there I ssh into my work computer. Once I am in, I establish a reverse ssh tunnel to my Macbook Pro at home:&lt;code&gt;ssh -R 19999:localhost:5900 IP_address_of_homecomputer&lt;/code&gt;On my Macbook at home I had to enable Sharing - Remote login first. Then I just use the inbuilt Screen sharing of the OS &amp;ldquo;Connect to server&amp;rdquo; and then I type &amp;ldquo;vnc://localhost:19999&amp;rdquo; and voila I can see my work desktop&amp;rsquo;s login screen.Alternatively I could use my openvpn server that I have installed on my Macbook and use an openvpn client on my work desktop to establish a connection to my Macbook. Then I could directly log in and avoid the hops via the university UNIX machines to set up the reverse ssh tunnel.Another, although very slow method to access the GUI of my work desktop is X11 forwarding via ssh. All I need is a working ssh connection to the server, X11 forwarding enabled in the ssh server configuration file and an X11 server on the local machine (e.g. XQuarz on MacOSX):&lt;code&gt;ssh -X username@remote-server.comxclock &amp;amp;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Upgrading mysql on Ubuntu Lucid Lynx (10.04) hangs</title><link>https://jeltsch.org/en/upgrading_mysql_on_ubuntu_lucid_lynx_10_04_hangs/</link><pubDate>Wed, 28 Nov 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/upgrading_mysql_on_ubuntu_lucid_lynx_10_04_hangs/</guid><description>&lt;p&gt;Already the third time this happens to me: An update is available for the mysql server and I just &amp;ldquo;apt-get upgrade&amp;rdquo;. The upgrade process gets totally stuck at the following task:&lt;code&gt;Preparing to replace mysql-server-5.1 5.1.66-0ubuntu0.10.04.1 (using …/mysql-server-5.1_5.1.66-0ubuntu0.10.04.2_i386.deb) …mysql stop/waiting&lt;/code&gt;The process that got again stuck in some eternal loop (or whatever) is an egrep replacement of some textfile:&lt;code&gt;egrep -qi -r ^[^#]*ndb.connectstring|^[:space:]*\[[:space:]*ndb_mgmd /etc/mysql/&lt;/code&gt;I just killed that process and the upgrade resumes as nothing would have happened.&lt;/p&gt;</description></item><item><title>Washing off the dirt from the dirty dozen</title><link>https://jeltsch.org/en/washing_off_the_dirt_from_the_dirty_dozen/</link><pubDate>Sun, 09 Sep 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/washing_off_the_dirt_from_the_dirty_dozen/</guid><description>&lt;p&gt;There has been much talk about the 
 &lt;a href="http://www.ewg.org/foodnews/summary/" target="_blank" rel="noopener noreferrer nofollow"&gt;dirty dozen&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, a list of the 12 fruits and vegetables most contaminated with pesticides, that was assembled by the 
 &lt;a href="http://www.ewg.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Environmental Working Group&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Although I sympathize with many goals of the EWG, the EWG is nevertheless an organization with an agenda.Apples were leading the list of the dirty dozen and because apples are probably the number one fruit I eat, I decided to look closer at the 
 &lt;a href="http://www.ewg.org/foodnews/methodology/" target="_blank" rel="noopener noreferrer nofollow"&gt;methodology&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 of the EWG&amp;rsquo;s study. The EWG states on their site: &amp;ldquo;Nearly all the studies on which the guide is based tested produce after it had been washed or peeled.&amp;rdquo; The data the recommendations are based on was not generated by the EWG themselves, but by the 
 &lt;a href="http://www.usda.gov/wps/portal/usda/usdahome" target="_blank" rel="noopener noreferrer nofollow"&gt;US Department of Agriculture (USDA)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The USDA has Standard Operating Procedures (SOP) for Laboratory Operations and looking at the relevant SOP (
 &lt;a href="http://www.ams.usda.gov/AMSv1.0/ams.fetchTemplateData.do?template=TemplateO&amp;amp;topNav=&amp;amp;leftNav=ScienceandLaboratories&amp;amp;page=PDPSOPsforLaboratoryOperations&amp;amp;description=PDP&amp;#43;Laboratory&amp;#43;Operations&amp;#43;SOPs&amp;amp;acct=pestcddataprg" target="_blank" rel="noopener noreferrer nofollow"&gt;PDP-LABOP Sample Processing and Analysis, Rev. 4, 07/01/12&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
), I found the following: &lt;code&gt;5.3.3ApplesWash each apple under cold running tap water for approximately 15-20 seconds to assure that allsurfaces of the apple have been rinsed. Allow to drain for at least 2 minutes on paper towels on aflat surface. Do not peel. Remove the stem, if present. With a commercially available applecorer remove core or, using a clean, dry knife, cut each apple in half or quarters and remove thecore portion. Mechanically chop just until a visually homogeneous mixture is attained. Unitcounting is required. Refrigeration may not exceed 120 hours from the arrival time until thesample is homogenized.&lt;/code&gt;Now, from this it appears as if the apples were analyzed with the peel. Maybe apples are the exception that the EWG means when they write &amp;ldquo;nearly all&amp;rdquo;. Could it be that conventionally grown apples contain much of their pesticides on their peel? Yes, that is a possibility, since &amp;ldquo;… peeling the apples significantly reduced all pesticide residues&amp;rdquo; (
 &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/14668155" target="_blank" rel="noopener noreferrer nofollow"&gt;Rasmusssen et al. 2003: Distribution of multiple pesticide residues in apple segments after home processing&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). Actually, lots of research has been done to address the question of whether pesticide residues can be removed from fruits and vegetabled by washing. The results point all into the same direction: with few exceptions (systemic pesticides) a majority of the pesticide residues is located in or on the peel. Water temperature is important: the hotter, the better the pesticide residues are removed. Detergents and rubbing improve the result just as is the case for washing your hands (
 &lt;a href="http://www.iupac.org/publications/pac/1994/pdf/6602x0335.pdf" target="_blank" rel="noopener noreferrer nofollow"&gt;Holland et al. 1994: Effects Of Storage And Processing On Pesticide Residues In Plant Products&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, 
 &lt;a href="http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2621.2004.00932.x/abstract" target="_blank" rel="noopener noreferrer nofollow"&gt;Chavarri et al. 2005: The decrease in pesticides in fruit and vegetables during commercial processing&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, 
 &lt;a href="http://missclasses.com/mp3s/Prize%20CD%202010/Cooking/effects%20on%20pesticides.pdf" target="_blank" rel="noopener noreferrer nofollow"&gt;Keikotlhaile et al. 2010: Effects of food processing on pesticide residues in fruits and vegetables: A meta-analysis approach&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
).I guess that&amp;rsquo;s why many people routinely remove the peel and still others wash and rub apples under hot water. And if you like to eat the peel, just buy organic. At the very least, you feel better.Image based on 
 &lt;a href="http://commons.wikimedia.org/wiki/File:Red_Apple.jpg" target="_blank" rel="noopener noreferrer nofollow"&gt;Red Apple&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 by Abhijit Tembhekar.&lt;/p&gt;</description></item><item><title>My new Helkama Jääkäri bicycle</title><link>https://jeltsch.org/en/helkama_jaakari/</link><pubDate>Thu, 26 Apr 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/helkama_jaakari/</guid><description>&lt;p&gt;My 
 &lt;a href="http://www.trekbikes.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Trek&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 bicycle lasted 10 years and approximately 50000 kilometers before I had to retire it. I don&amp;rsquo;t do any preventive maintenance and fix things only when they are broken. In 2006 I bought a 450€ bicyle from 
 &lt;a href="http://www.biltema.fi/fi/" target="_blank" rel="noopener noreferrer nofollow"&gt;Biltema&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It lasted not even 5 years before it needed a major repair (including replacing the expensive bits like wheels, brakes, derailleurs, freewheel and many less expensive ones). Last June I decided to get a [Helkama Jääkäri]([img_assist|nid=581|title=Helkama Jääkäri|desc=|link=url,http://www.helkamavelox.fi/en/models/men/jaakari_3_gear-hmj3nhr_arv_k|align=left|width=240|height=160]) for about 700€. It&amp;rsquo;s an old style army bicycle and I hoped that it would last longer than the Biltema quality.This winter I cycled with my new Helkama bicycle several hundreds of kilometers on bumpy snow tracks and in February my rear wheel allmost fell of. The screws had not been tightened sufficiently and the thread was already badly damaged. To continue my way I had to remove the washer to expose some undamaged thread and tighted the screw. I contacted Helkama, because the bicycle was not even a year old. They responded quickly and I received a replacement rear wheel by post within a week. That&amp;rsquo;s good customer service and a reason to stick with the brand: When I bought a new bike for my son last month, I choose the 
 &lt;a href="http://kuvapankki.helkamavelox.fi/index.phtml?page_id=1160&amp;amp;navi_id=1160&amp;amp;10012_iProductId=HPD2424J&amp;amp;10012_IPG:79_t=viewPublicProduct&amp;amp;" target="_blank" rel="noopener noreferrer nofollow"&gt;Helkama Yoker&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, even though it was certainly not the cheapest choice.&lt;/p&gt;</description></item><item><title>The flu shot works</title><link>https://jeltsch.org/en/the_flu_shot_works/</link><pubDate>Fri, 20 Apr 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_flu_shot_works/</guid><description>&lt;p&gt;Last week my son was down with the flu. He got diagnosed with influenza A. He was terribly sick having more than 39°C fever for more than 4 days and was staying at home for 10 days before he was able to go to preschool again.My daughter didn&amp;rsquo;t get sick. Neither did my wife nor did I. Guess why? Because we got the seasonal flu shot. Here in Finland, the seasonal flu vaccine is 
 &lt;a href="http://www.ktl.fi/portal/suomi/tietoa_terveydesta/rokottaminen/influenssarokotukset/" target="_blank" rel="noopener noreferrer nofollow"&gt;free of charge for infants between 6 and 35 months, senior citizens 65 years or older, pregnant women and those with chronic diseases or medication that put them at higher risk for a severe disease or complications&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Additonally, many employers offer free flu shots for their employees.Because my son doesn&amp;rsquo;t belong to any of those that gets the shot for free and because he strongly opposed to the shot and because the risk of infection for unvaccinated individuals for any given year is maybe only 5%, we let him go unvaccinated. Bad decision. There is a very good article about flu vaccinations on the 
 &lt;a href="http://www.sciencebasedmedicine.org/index.php/random-flu-thoughts/" target="_blank" rel="noopener noreferrer nofollow"&gt;Science-based Medicine&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 blog and a very good 
 &lt;a href="http://www.pediacast.org/pediacast-184/" target="_blank" rel="noopener noreferrer nofollow"&gt;podcast by pediacast.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 about the topic. Unfortunately the 
 &lt;a href="http://en.wikipedia.org/wiki/FluMist" target="_blank" rel="noopener noreferrer nofollow"&gt;flu mist&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (the vaccination that is inhaled as opposed to be injected) was not yet available on the Finnish market for the 2011/2012 flu season. Flu mist is produced by 
 &lt;a href="http://www.medimmune.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;MedImmune&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, a subsidiary of 
 &lt;a href="http://www.astrazeneca.com" target="_blank" rel="noopener noreferrer nofollow"&gt;AstraZeneca&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. According to my health care provider 
 &lt;a href="http://www.hehilainen.fi" target="_blank" rel="noopener noreferrer nofollow"&gt;Mehiläinen&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 the intranasal vaccine will be very likely available in Finland for the next flu season. The vaccine&amp;rsquo;s name will be 
 &lt;a href="http://www.ema.europa.eu/ema/index.jsp?curl=pages/medicines/human/medicines/001101/human_med_001405.jsp&amp;amp;mid=WC0b01ac058001d125&amp;amp;murl=menus/medicines/medicines.jsp&amp;amp;jsenabled=true" target="_blank" rel="noopener noreferrer nofollow"&gt;Fluenz&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, under which it has been approved for by the 
 &lt;a href="http://www.ema.europa.eu/ema" target="_blank" rel="noopener noreferrer nofollow"&gt;European Medicins Agency&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in 2011 for the whole European Union.My son just opposed the injection, not the flu vaccine per se. Flu mist is as effective as the flu shot and it might even confer 
 &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/3700611?dopt=Abstract" target="_blank" rel="noopener noreferrer nofollow"&gt;better protection&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 compared to the shot. That makes sense, because the antigen enters via a natural route. And since it is a life vaccine, the immune response might be better and more sustained. Maybe my employer&amp;rsquo;s health care provider Mehiläinen should offer also free seasonal flu shots for the children of employees, because despite being vaccinated, I missed several days of work because I had to take care of my son.&lt;/p&gt;</description></item><item><title>rtmpdump - Die Sendung mit der Maus</title><link>https://jeltsch.org/en/rtmpdump_die_sendung_mit_der_maus/</link><pubDate>Wed, 14 Mar 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rtmpdump_die_sendung_mit_der_maus/</guid><description>&lt;p&gt;In my 
 &lt;a href="https://jeltsch.org/en/kinderfernsehen/"&gt;post from 5 March 2010&lt;/a&gt;
, I wrote about &lt;em&gt;Die Sendung mit der Maus&lt;/em&gt;. At last, you can now watch 
 &lt;a href="http://www.wdrmaus.de/aktuelle-sendung/index.php5" target="_blank" rel="noopener noreferrer nofollow"&gt;&lt;em&gt;Die Sendung mit der Maus&lt;/em&gt; in its entirety&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 as a Flash video online! For 7 days, until the next episode of &lt;em&gt;Die Sendung mit der Maus&lt;/em&gt;. The resolution isn’t HD (512x288 at 25fps, H264), but at least you can save it to your hard drive – if you know how. The programme that makes this possible is, of course, open source: 
 &lt;a href="http://rtmpdump.mplayerhq.hu/" target="_blank" rel="noopener noreferrer nofollow"&gt;rtmpdump&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The command line is:&lt;/p&gt;</description></item><item><title>Meine Podcast-Favoriten</title><link>https://jeltsch.org/en/meine_podcast_favoriten/</link><pubDate>Fri, 20 Jan 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/meine_podcast_favoriten/</guid><description>&lt;p&gt;Meine Podcast-Favoriten. Fast jede Episode ist fantastisch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Computer&lt;/strong&gt;Nachrichten und Informationen über Computer-Sicherheit und wie das Internet und Computer funktionieren: 
 &lt;a href="http://www.grc.com/securitynow.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Security Now!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Alles über Linux: 
 &lt;a href="http://www.jupiterbroadcasting.com/show/linuxactionshow" target="_blank" rel="noopener noreferrer nofollow"&gt;The Linux Action Show!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Jede Woche wird in 
 &lt;a href="http://twit.tv/show/floss-weekly" target="_blank" rel="noopener noreferrer nofollow"&gt;FLOSS Weekly&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ein neues Open Source Projekt vorgestellt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Wissenschaft und Skeptizismus&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Rekombinante Proteine</title><link>https://jeltsch.org/en/rekombinante_proteine/</link><pubDate>Fri, 20 Jan 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rekombinante_proteine/</guid><description>&lt;p&gt;Früher war hier eine dynamisch verlinkte Liste meiner Proteine. Leider musste ich die direkte Verlinkung zu unserem Labor-Datenbank-Server aus Sicherheitsgründen aufgeben. Irgendwann finde ich vielleicht die Zeit, mit einer sicheren Methode den Inhalt userer Labor-Gefrierschränke hier auf meiner Homepage zu publizieren. Bis dahin gibt es bloss eine Liste der Proteine, die ich produziert habe. Wer Fragen hat oder die Proteine für Forschungszwecke braucht, darf sich gerne an mich oder meinen Chef wenden:&lt;/p&gt;</description></item><item><title>My favorite podcasts</title><link>https://jeltsch.org/en/my_favorite_podcasts/</link><pubDate>Thu, 05 Jan 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/my_favorite_podcasts/</guid><description>&lt;p&gt;My favorite podcasts. I enjoy almost every single episode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Computer-related stuff&lt;/strong&gt;Security news and education about security and how computers and the internet work: 
 &lt;a href="http://www.grc.com/securitynow.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Security Now!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Everything Linux: 
 &lt;a href="http://www.jupiterbroadcasting.com/show/linuxactionshow" target="_blank" rel="noopener noreferrer nofollow"&gt;The Linux Action Show!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Every week one Open Source project is the topic: 
 &lt;a href="http://twit.tv/show/floss-weekly" target="_blank" rel="noopener noreferrer nofollow"&gt;FLOSS Weekly&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Science and Skepticism&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Tobi's LEGO bricksets</title><link>https://jeltsch.org/en/tobis_bricksets/</link><pubDate>Mon, 02 Jan 2012 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/tobis_bricksets/</guid><description>&lt;p&gt;SetNumberSetNameThemeSubthemeYear625-1Tractor DiggerTownClassic1978626-1Red Cross HelicopterTownClassic1978645-1Police HelicopterTownClassic1979661-1Spirit of St. LouisLEGOLAND
1976885-1Space ScooterSpaceClassic1979886-1Space BuggySpaceClassic1979889-1Radar TruckSpaceClassic1979894-1Mobile Ground Tracking StationSpaceClassic1979897-1Mobile rocket launcherSpaceClassic1979924-1Space TransporterSpaceClassic1979928-1Space Cruiser And MoonbaseSpaceClassic19791575-1Finnjet FerryFerries
19772114-1ChopovNinjagoSpinners20112116-1KraziNinjagoSpinners20113179-1Repair TruckCityTraffic20103179-1Repair TruckCityTraffic20103843-1Ramses Pyramid Games
20094915-1Mini ConstructionCreator
20075933-1Airport Building SetBricks and More
20115981-1Raid VPRSpaceSpace Police 320106191-1Fire Fighter Building SetBricks and More
20096801-1Moon BuggySpaceClassic19816821-1Shovel BuggySpaceClassic19806822-1Space DiggerSpaceClassic19816841-1Mineral DetectorSpaceClassic19806927-1All-Terrain VehicleSpaceClassic19816929-1Star Fleet VoyagerSpaceClassic19817138-1RahkshiBionicleStars20107241-1Fire CarCityFire20057245-1Prisoner TransportCityPolice20057245-1Prisoner TransportCityPolice20057566-1FarmerCityFarm20107610-1SpeedboatCreator
20067631-1Dump TruckCityConstruction20097732-1Air MailCityCargo20087741-1Police HelicopterCityPolice20087797-1Bi-PlaneCreator
20087930-1Bounty Hunter Assault GunshipStar WarsThe Clone Wars20117950-1Knight&amp;rsquo;s ShowdownCastleKingdoms20107953-1Court JesterCastleKingdoms20107977-1Seabed StriderAtlantis
20117978-1Angler AttackAtlantis
20117984-1Deep Sea RaiderAtlantis
20118015-1Assassin Droids Battle PackStar WarsThe Clone Wars20098056-1Monster Crab ClashAtlantis
20108072-1Sea JetAtlantis
20108073-1Manta WarriorAtlantis
20108083-1Rebel Trooper Battle PackStar WarsEpisode IV-VI20108086-1Droid Tri-FighterStar WarsThe Clone Wars20108088-1ARC-170 StarfighterStar WarsThe Clone Wars20108089-1Hoth Wampa CaveStar WarsEpisode IV-VI20108093-1Plo Koon&amp;rsquo;s Jedi StarfighterStar WarsThe Clone Wars20108095-1General Grievous&amp;rsquo; StarfighterStar WarsThe Clone Wars20108096-1Emperor Palpatine&amp;rsquo;s ShuttleStar WarsEpisode III20108130-1Terrain CrusherRacersTiny Turbos20078137-1Booster BeastRacersPower Racers20078193-1Blue BulletRacersTiny Turbos20108221-1Storming EnforcerRacers
20118400-1Space SpeederSpaceSpace Police 320098665-1Highway EnforcerRacersTiny Turbos20068860-1Car ChassisTechnic
198010188-1Death StarStar WarsUltimate Collector Series2008&lt;/p&gt;</description></item><item><title>Tobi's LEGO bricksets</title><link>https://jeltsch.org/en/lego_bricksets/</link><pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/lego_bricksets/</guid><description/></item><item><title>Some useful PDF editing (and search) commands</title><link>https://jeltsch.org/en/pdf/</link><pubDate>Thu, 28 Jul 2011 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/pdf/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Insert pages with interleave:&lt;/strong&gt; pdftk A=input_odd_pages.pdf B=input_even_pages.pdf shuffle A B output collated.pdf(from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Split an A2-sized PDF into two A3 pages for printing (no overlap):&lt;/strong&gt; pdfposter -m A3 -p A2 Periodic-Table_A2.pdf Periodic-Table_2xA3.pdf&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Split an arbitrary-sized PDF into A3 pages for printing at 100% size (= 1), no overlap:&lt;/strong&gt; pdfposter -m A3 -s1 Poster.pdf Poster_split_to_A3.pdf&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reverse page order:&lt;/strong&gt; pdftk input.pdf cat end-1 output reversed.pdf(from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce PDF filesize:&lt;/strong&gt; gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf Allowed PDFSETTINGS are /screen, /ebook, /printer, /prepress, /default. (from the ghostscript package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Convert a color PDF into grayscale:&lt;/strong&gt; gs -sOutputFile=output.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dAutoRotatePages=/None -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH input.pdf (from the ghostscript package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export bitmap images:&lt;/strong&gt; pdfimages -j original.pdf extracted (from the xpdf package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Convert into a bitmap image:&lt;/strong&gt; convert original.pdf converted.png (from the imagemagick package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Split into individual 1-page PDF files:&lt;/strong&gt; pdftk original.pdf burst (from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Merge two or more PDF files:&lt;/strong&gt; pdftk original1.pdf original2.pdf cat output merged.pdf (from the pdftk package)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delete page 13 from a PDF file:&lt;/strong&gt; pdftk original.pdf cat 1-12 14-end output page13deleted.pdf (from the pdftk package&amp;gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rotate page 5 of the PDF file 90 degrees counterclockwise:&lt;/strong&gt; pdftk Figures_LRES.pdf cat 1-4 5L 6-end output Figures_LRES2.pdf (from the pdftk package&amp;gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assemble a new PDF where each 4 pages from the source files are merged into one landscape page:&lt;/strong&gt; pdfjam *.pdf &amp;ndash;landscape &amp;ndash;nup 2x2 For portrait orientation use the &amp;ldquo;&amp;ndash;no-landscape&amp;rdquo; option (from the pdfjam package).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Underlay a PDF with another (background) PDF:&lt;/strong&gt; pdftk foreground.pdf background background.pdf output overlay.pdf (from the pdftk package).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GUI PDF editors:&lt;/strong&gt; I tried out 
 &lt;a href="http://sourceforge.net/projects/pdfedit" target="_blank" rel="noopener noreferrer nofollow"&gt;PDFEdit&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but it is too difficult for me. The 
 &lt;a href="http://code-industry.net/pdfeditor.php" target="_blank" rel="noopener noreferrer nofollow"&gt;Master PDF Editor"&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is not free, but it seems to be much more usable without extensive initialization of the user.&lt;/li&gt;
&lt;li&gt;**Encrypt a PDF with both a owner password (to change the file) and a user password (to open the file): **pdftk input.pdf output encrypted.pdf owner_pw PROMPT user_pw PROMPT (from the pdftk package).&lt;/li&gt;
&lt;li&gt;**If you need to do a text search through many PDF files in the current directory and all of its subdirectories, you can use 
 &lt;a href="https://pdfgrep.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;pdfgrep&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
: **pdfgrep -r searchterm * (from the pdfgrep package).&lt;/li&gt;
&lt;li&gt;**Convert &amp;amp; merge all jpg files in the current directory into one PDF file:**convert *.jpg pictures.pdfIn the recent Ubuntu editions, this batch operation is not allowed due to security risks and you can disable this policy by renaming the configuration file:/etc/ImageMagick-6$ sudo mv policy.xml policy.xmlout&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rescue from the vacuum cleaner</title><link>https://jeltsch.org/en/rescue_from_the_vacuum_cleaner/</link><pubDate>Tue, 05 Jul 2011 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rescue_from_the_vacuum_cleaner/</guid><description>&lt;p&gt;I have identified the top reason of LEGO pieces disappearing in our household: the vacuum cleaner. On suspicion I reluctantly decided to explore the bag&amp;rsquo;s content (Miele HyClean N/G) after it was full and here is what I extracted: Three LEGO pieces, three puzzle pieces, a screw driver head, a pinwall pin, a 
 &lt;a href="http://en.wikipedia.org/wiki/Mastermind_%28board_game%29" target="_blank" rel="noopener noreferrer nofollow"&gt;Mastermind&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 pin and some yet to identify metal item.&lt;/p&gt;</description></item><item><title>LEGO</title><link>https://jeltsch.org/en/lego/</link><pubDate>Sat, 05 Feb 2011 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/lego/</guid><description>&lt;p&gt;Tobi wants Lego. To make sure that you don&amp;rsquo;t buy him sets he already owns, he has made a list at 
 &lt;a href="http://www.brickset.com" target="_blank" rel="noopener noreferrer nofollow"&gt;brickset.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 of all his sets. And so that you don&amp;rsquo;t have to register at brickset.com, there is a mirror of this list here: 
 &lt;a href="https://jeltsch.org/en/tobis_bricksets/"&gt;Tobi’s Lego bricksets&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Statistiken über Finnland</title><link>https://jeltsch.org/en/statistiken_ber_finnland/</link><pubDate>Thu, 09 Dec 2010 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/statistiken_ber_finnland/</guid><description>&lt;p&gt;Finnland macht oft Schlagzeilen mit seinem guten Abschneiden in internationalen Vergleichen. Zu solchen gehört etwas die 
 &lt;a href="http://www.oecd.org/document/2/0,3343,en_32252351_32236191_39718850_1_1_1_1,00.html" target="_blank" rel="noopener noreferrer nofollow"&gt;2006 OECD PISA-Studie&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, der jährliche 
 &lt;a href="http://www.transparency.org/policy_research/surveys_indices/cpi/2010" target="_blank" rel="noopener noreferrer nofollow"&gt;Korruptionswahrnehmungsindex&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 und 
 &lt;a href="http://www.newsweek.com/feature/2010/the-world-s-best-countries.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Newsweeks Bestes Land zum Leben-Studie&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Wenn Finnland nicht so gut im internationalen Vergleich abschneidet, wird nicht viel berichtet. Hier einige Statistiken, die ich in der öffentlichen Wahrnehmung vermisse:&lt;/p&gt;</description></item><item><title>Kid's series on German TV</title><link>https://jeltsch.org/en/kinderfernsehen/</link><pubDate>Fri, 05 Mar 2010 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kinderfernsehen/</guid><description>&lt;p&gt;The online offering from Germany’s public service broadcasters (i.e. ARD) for children (
 &lt;a href="http://kinder.ard.de" target="_blank" rel="noopener noreferrer nofollow"&gt;kinder.ard.de&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) is rather limited (although they do produce good children’s television). You can find plenty online, but rarely the actual programmes themselves – instead, there’s a lot of 
 &lt;a href="http://www.blog.kranzkrone.de/2009/11/15/" target="_blank" rel="noopener noreferrer nofollow"&gt;Flash rubbish&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Selected ‘Sachgeschichten’ and clips from 
 &lt;a href="http://www.wdrmaus.de/index.php5?flashschalter=off" target="_blank" rel="noopener noreferrer nofollow"&gt;Die Sendung mit der Maus&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 are the only things that interest my son. I want the whole &lt;em&gt;Sendung mit der Maus&lt;/em&gt;! And &lt;em&gt;Sesame Street&lt;/em&gt; isn’t available online at all, neither in full nor in part. That’s exactly what I’d like: I don’t just want to decide for myself &lt;em&gt;WHAT&lt;/em&gt; my children watch, but also &lt;em&gt;WHEN&lt;/em&gt; they watch. If I lived in Germany, I could record the broadcasts onto a hard drive. Fortunately, German law not only permits digital recording for personal use (“
 &lt;a href="http://de.wikipedia.org/wiki/Privatkopie" target="_blank" rel="noopener noreferrer nofollow"&gt;private copy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
”), but also the sharing of the recordings with friends. That’s how I get 
 &lt;a href="http://de.wikipedia.org/wiki/Sesamstra%C3%9Fe" target="_blank" rel="noopener noreferrer nofollow"&gt;Sesame Street&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, 
 &lt;a href="http://de.wikipedia.org/wiki/Die_Sendung_mit_der_Maus" target="_blank" rel="noopener noreferrer nofollow"&gt;The Show with the Mouse&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, 
 &lt;a href="http://de.wikipedia.org/wiki/Was_ist_was_TV" target="_blank" rel="noopener noreferrer nofollow"&gt;Was ist was TV&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and the 
 &lt;a href="http://de.wikipedia.org/wiki/Bibliothek_der_Sachgeschichten" target="_blank" rel="noopener noreferrer nofollow"&gt;Bibliothek der Sachgeschichten&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Disk dumps (dd) and copying over the network (netcat)</title><link>https://jeltsch.org/en/disk_dumps_dd_and_copying_over_the_network_netcat/</link><pubDate>Tue, 16 Feb 2010 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/disk_dumps_dd_and_copying_over_the_network_netcat/</guid><description>&lt;p&gt;On the receiving machine (disk sda MUST be unmounted, e.g. by booting from a live CD or USB stick):&lt;code&gt;netcat -l -p 4778 | dd of=/dev/sda&lt;/code&gt;On the sending machine (disk sdb MUST be unmounted, e.g. by booting from a live CD or USB stick):&lt;code&gt;dd if=/dev/sdb | netcat 192.168.0.4 4778&lt;/code&gt;(-l listen; -p port)To copy a directory over the network, enter the directory and execute on the sending machine:&lt;code&gt;tar -cz . | nc -q 10 -l -p 45454&lt;/code&gt;On the receiving machine, create the directory, enter it and execute:&lt;code&gt;nc -w 10 192.168.0.11 45454 | tar -xz&lt;/code&gt;BTW: If you want to see the progress of a disk dump (how much was already copied in what time at what average speed), you can use (in newer versions of dd) the status option. I guess this might not work for network copying, but I have not tried… &lt;code&gt;dd if=/dev/sdb of=/target status=progress&lt;/code&gt;&lt;/p&gt;</description></item><item><title>A permanent static route in Ubuntu Karmic Koala (9.10), Precise Pangolin (12.04) &amp; Trusty Tahr (14.04)</title><link>https://jeltsch.org/en/a_permanent_static_route_in_ubuntu/</link><pubDate>Sat, 26 Dec 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/a_permanent_static_route_in_ubuntu/</guid><description>&lt;p&gt;&lt;strong&gt;Karmic Koala&lt;/strong&gt;To add a permanent static route to a Karmic Koala system with one NIC, you need to edit the/etc/network/interfaces file. The following section needs to be replaced:&lt;code&gt;# The primary network interfaceauto eth0#iface eth0 inet dhcp&lt;/code&gt;Modify as follows:&lt;code&gt;# The primary network interfaceauto eth0iface eth0 inet dhcpup route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.3down route del -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.3&lt;/code&gt;**Precise Pangolin (12.04)**With the Precise Pangolin, I did it by adding a script called add_route to /etc/network/if-up.d:&lt;code&gt;#!/bin/sh#if [ &amp;quot;$IFACE&amp;quot; = &amp;quot;eth0&amp;quot; ]; then route add -net 10.8.0.0/24 gw 192.168.0.18#fi&lt;/code&gt;I never added a corresponding script (del_route) to /etc/if-down.d, but that seems to be OK.**Trusty Tahr (14.04)**With Trusty Tahr, I was adding the route command as a line to the /etc/rc.local script:&lt;code&gt;…route add -net 192.168.1.0/24 gw 192.168.0.3exit 0&lt;/code&gt;The route command needs to be before the &amp;ldquo;exit 0&amp;rdquo; line!**MacOS X 10.8 (Mountain Lion)**And here is how it is done on MacOS X 10.8: 
 &lt;a href="http://nellen.it/blog/2012/01/permanent-static-routes-for-mac-os-x/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://nellen.it/blog/2012/01/permanent-static-routes-for-mac-os-x&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. They details of how to to it in MacOS X have changed over time; here is the way 
 &lt;a href="https://jeltsch.org/en/permanent_route_osx/"&gt;how it was done on MacOS X 10.4.7&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>How to use jhead or exiftool to add a time stamp to a jpg image</title><link>https://jeltsch.org/en/how_to_use_jhead_or_exiftool_to_add_a_time_stamp_to_a_jpg_image/</link><pubDate>Mon, 24 Aug 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_use_jhead_or_exiftool_to_add_a_time_stamp_to_a_jpg_image/</guid><description>&lt;p&gt;If the jpg image doesn&amp;rsquo;t have exif header you need to create it first:&lt;code&gt;jhead -mkexif&lt;/code&gt;Then enter the time stamp data:&lt;code&gt;jhead -ts2009:08:15-10:30:00&lt;/code&gt;Apart from jhead (
 &lt;a href="http://www.sentex.net/~mwandel/jhead/%29" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.sentex.net/~mwandel/jhead/)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, there is another frequently used tool to edit exif data: exiftool (
 &lt;a href="https://www.sno.phy.queensu.ca/~phil/exiftool/" target="_blank" rel="noopener noreferrer nofollow"&gt;https://www.sno.phy.queensu.ca/~phil/exiftool/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ). When you execute exiftool to display the exif data, you get a list like this:&lt;code&gt;user@laptop:~$ exiftool IMG_001.jpgExifTool Version Number : 10.80File Name : IMG_001.jpg[…]Date/Time Original : 2018:09:02 13:20:13Create Date : 2018:09:02 13:20:13[…]&lt;/code&gt;However, in order to modify a value you need to address the individual tag and the tag name that the command line expects is NOT the same that is given in the list (the tag for &amp;ldquo;Create Date&amp;rdquo; is e.g. &amp;ldquo;CreateDate&amp;rdquo;):&lt;code&gt;exiftool -CreateDate='2009:11:32 09:11:24.991000' IMG_001.jpg&lt;/code&gt;Exiftool is probably the most capable tool, but for the same reason, it is not the most easy to use.IN order to remove all exif data, try:&lt;code&gt;exiftool -all=IMG_001.jpg&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Finally some good self-made chocolate ice cream</title><link>https://jeltsch.org/en/finally_some_good_self_made_chocolate_ice_cream/</link><pubDate>Fri, 07 Aug 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/finally_some_good_self_made_chocolate_ice_cream/</guid><description>&lt;p&gt;Last summer I bought this ice cream maker. Some of the ice cream I made was quite OK, but only now did I succeed in making ice cream that compares favorably to 
 &lt;a href="http://www.moevenpick-icecream.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Mövenpick&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or similar. The secret is: &lt;strong&gt;EGGS&lt;/strong&gt; and lots of &lt;strong&gt;FAT&lt;/strong&gt; and &lt;strong&gt;SUGAR&lt;/strong&gt;. Here is the recipe:&lt;/p&gt;</description></item><item><title>How to determine and convert text file encoding (file, enca, iconv)</title><link>https://jeltsch.org/en/how_to_determine_and_convert_text_file_encoding_file_enca_iconv/</link><pubDate>Wed, 22 Apr 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_determine_and_convert_text_file_encoding_file_enca_iconv/</guid><description>&lt;p&gt;To determine the file type of the file &amp;ldquo;sample.txt&amp;rdquo; you just type:&lt;code&gt;file sample.txt&lt;/code&gt;Usually it&amp;rsquo;ll tell you only that it is a text file. To get to know more about the encoding type:&lt;code&gt;enca -L none sample.text&lt;/code&gt;The -L switch tells the program what language is used in the file. If you don&amp;rsquo;t know, just use none.To convert the encoding from ISO-8859-1 (latin1) to UTF-8:&lt;code&gt;iconv --from-code=ISO-8859-1 --to-code=UTF-8 sample_iso8859-1.txt &amp;gt; sample_utf-8.txt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>File permissions on html server (recursive chmod) differentiating between files and directories</title><link>https://jeltsch.org/en/file_permissions_on_html_server_recursive_chmod_differentiating_between_files_and_directories/</link><pubDate>Sun, 12 Apr 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/file_permissions_on_html_server_recursive_chmod_differentiating_between_files_and_directories/</guid><description>&lt;p&gt;I recursively screwed up the file permissions in my html servers root directory. To fix it I needed to deploy some &amp;ldquo;advanced&amp;rdquo; chmod settings. Obviously I want to treat directories and files differently. I didn&amp;rsquo;t come up with a better solution than the following:&lt;code&gt;chmod -R u=rw-x,g=rw-x,o=r-wx *chmod -R a+X *&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Old Macs and USB support</title><link>https://jeltsch.org/en/old_macs_and_usb_support/</link><pubDate>Tue, 17 Mar 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/old_macs_and_usb_support/</guid><description>&lt;p&gt;We have a few legacy Macintosh computers at work which are still running different flavours of 
 &lt;a href="http://en.wikipedia.org/wiki/Mac_OS_9" target="_blank" rel="noopener noreferrer nofollow"&gt;MacOS 9&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Although these machines have USB ports, they are mostly non-functional. I think MacOS 9.0 was the first version that supported USB mass storage devices, but apparently support has been shaky until and including version 9.2.2. Apparently the various updates to MacOS 9 mainly addressed the problems with USB (and firewire) support. At least for one of these machines (running MAcOS 9.2.2) I managed to fix the USB support. I removed all non-Apple USB- and firewire-related extensions from the system folder (e.g. some from Lacie). Then I downloaded the 
 &lt;a href="http://docs.info.apple.com/article.html?artnum=75103" target="_blank" rel="noopener noreferrer nofollow"&gt;MacOS 9.1 upgrade&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 from Apple and extracted all USB-related extensions using 
 &lt;a href="http://www.versiontracker.com/dyn/moreinfo/macos/4561" target="_blank" rel="noopener noreferrer nofollow"&gt;TomeViewer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and replaced the existing (9.2.2) extensions by these (9.1) counterparts. After a reboot my (PC-formatted) USB stick was recognized immediately. Here is the list of extensions that I replaced:&lt;/p&gt;</description></item><item><title>youtube to iPod and how to check video files</title><link>https://jeltsch.org/en/youtube_to_ipod_and_how_to_check_video_files/</link><pubDate>Mon, 23 Feb 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/youtube_to_ipod_and_how_to_check_video_files/</guid><description>&lt;p&gt;I was trying to extract the audio file from some 
 &lt;a href="http://www.youtube.com" target="_blank" rel="noopener noreferrer nofollow"&gt;youtube&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 videos in order to play it back from my iPod shuffle. I tried various methods (including the otherwise quite versatile 
 &lt;a href="http://www.videolan.org/vlc" target="_blank" rel="noopener noreferrer nofollow"&gt;VLC Player&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, but finally settled on the following two step procedure:1. Download the flash video (file ending .flv) file to your local disk. You can use any method to accomplish this task, but as usual 
 &lt;a href="http://www.firefox.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Firefox&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 has the perfect plug-in for this task: 
 &lt;a href="http://www.downloadhelper.net" target="_blank" rel="noopener noreferrer nofollow"&gt;Download helper&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.2. Extract and convert the audio file with 
 &lt;a href="http://ffmpeg.org" target="_blank" rel="noopener noreferrer nofollow"&gt;ffmpeg&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 using the following command: &lt;code&gt;ffmpeg -i video-infile.flv audio-outfile.mp3&lt;/code&gt; It is also possible to convert the flv file into a mpeg file. You need to do this e.g. if you want to import the video into 
 &lt;a href="http://www.apple.com/itunes" target="_blank" rel="noopener noreferrer nofollow"&gt;iTunes&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. For some strange reason 
 &lt;a href="http://www.apple.com/quicktime" target="_blank" rel="noopener noreferrer nofollow"&gt;Quicktime&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 can play Flash Videos, but iTunes doesn&amp;rsquo;t allow their playback. The command is almost the same: &lt;code&gt;ffmpeg -i video-infile.flv audio-outfile.mpeg&lt;/code&gt;Another nifty usage of ffmpeg is to check video files for corruption and other problems:&lt;code&gt;ffmpeg -v 5 -i file.avi -f null - 2&amp;gt;error.log&lt;/code&gt;&lt;/p&gt;</description></item><item><title>My rare use of LaTeX</title><link>https://jeltsch.org/en/my_rare_use_of_latex/</link><pubDate>Mon, 02 Feb 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/my_rare_use_of_latex/</guid><description>&lt;p&gt;&lt;strong&gt;Compiling&lt;/strong&gt;
I sometimes use 
 &lt;a href="https://www.latex-project.org" target="_blank" rel="noopener noreferrer nofollow"&gt;LaTeX&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. I would like to use it more often, but I guess I belong to the Wysiwyg generation. In fact I use it so rarely that I even forget how to compile a document. The following is therefore just a reminder for myself; the filename is doc.tex:&lt;/p&gt;</description></item><item><title>Changing the MAC (Media Access Control) address of NICs (Network Interface Cards)</title><link>https://jeltsch.org/en/macchanger/</link><pubDate>Sun, 25 Jan 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/macchanger/</guid><description>&lt;p&gt;In some networks, computers have to be registered to get connected. Upon registration, the computer will receive a name and an IP address. Every time it connects to the network, the DHCP server assigns it the same name and IP address. The DHCP server identifies computers based on the MAC address, which is unique to every NIC. However, if you know the MAC address of a registered computer, you can use it to connect to the network, faking the MAC address:&lt;/p&gt;</description></item><item><title>cryptsetup</title><link>https://jeltsch.org/en/cryptsetup/</link><pubDate>Sun, 25 Jan 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/cryptsetup/</guid><description>&lt;p&gt;I switched already quite a while ago from the old cryptoloop technology to the newer cryptsetup technology. However, I still forget how to manually create and mount encrypted volumes, because I do this rarely. Here are the commands:&lt;code&gt;cryptsetup create cryptovolume /dev/mapper/logical_volumemount /dev/mapper/cryptovolume /mountpoint&lt;/code&gt;In this case I mapped a logical volume, but of course you can map physical volumes, too:&lt;code&gt;cryptsetup create cryptovolume /dev/sdb1mount /dev/mapper/cryptovolume /mountpoint&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to access encrypted volumes from live CDs</title><link>https://jeltsch.org/en/how_to_access_encrypted_volumes_from_live_cds/</link><pubDate>Sun, 25 Jan 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_access_encrypted_volumes_from_live_cds/</guid><description>&lt;p&gt;Once you have decided to encrypt your hard drive, you might find yourself in the situation where you need to pull off data from it when the regular decryption mechanisms you use are not in place. E.g. when the OS is not booting or the drive has some physical problems. In that case you need to boot from a CD/DVD that supports the encryption technology that you used. In my case I need a live Ubuntu CD/DVD, preferably the same version that was used to encrypt the disk! Otherwise there might be incompatibilities:&lt;code&gt;sudo apt-get install lvm2 cryptsetupsudo modprobe dm-cryptsudo cryptsetup luksOpen /dev/sda2 crypt1 (result: key slot0 unlocked, command successful)sudo vgscan --mknodes (result: Found volume group &amp;quot;default&amp;quot;)sudo vgchange -ay (logical volumes become active)sudo mkdir /volume1, etc.sudo mount /dev/default/root1 /volume1&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to erase hard drives (shred, dd)</title><link>https://jeltsch.org/en/how_to_erase_hard_drives_shred_dd/</link><pubDate>Sun, 25 Jan 2009 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_erase_hard_drives_shred_dd/</guid><description>&lt;p&gt;You could write zeros to the whole hard drive&lt;code&gt;dd if=/dev/zero of=/dev/hda&lt;/code&gt;For newer versions of dd, you can monitor the progress:&lt;code&gt;dd if=/dev/zero of=/dev/hda status=progress&lt;/code&gt;However, it has been recommended to write a few passes of random noise (n = 3 is the default). If the writing process entirely got rid of the magnetic history and your source of randomness was perfect, a single pass would ALWAYS be enough. In reality, you only need n&amp;gt;1 if you are dealing with the state secrets since recovering anything after an n=1 erase requires special equipment which you cannot buy in any store. &lt;code&gt;shred -vfz -n3 /dev/hda&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How much toothpaste is safe to swallow for a 3 year old?</title><link>https://jeltsch.org/en/how_much_toothpaste_is_safe_to_swallow_for_a_3_year_old/</link><pubDate>Mon, 22 Dec 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_much_toothpaste_is_safe_to_swallow_for_a_3_year_old/</guid><description>&lt;p&gt;My son doesn&amp;rsquo;t like to brush teeth and he is probably no exception. In order to protect his teeth, we started to use a fluoride-containing tooth paste when he was about 2 years old. However, we were always careful and didn&amp;rsquo;t let him swallow the toothpaste in order to avoid overdosing. There are likely still quite a few cases of acute fluoride poisoning in small children every year 
 &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/9383753" target="_blank" rel="noopener noreferrer nofollow"&gt;(Shulman &amp; Wells, 1997)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and not surprisingly they are mostly caused by ingestion of large amounts of fluoride containing toothpaste. Just now I made the calculation and my son was probably never in danger of overdosing due to the fact that the water we get here in Helsinki from our local utility supplier 
 &lt;a href="http://www.helsinginvesi.fi/alltypes.asp?d_type=5&amp;amp;id=1554&amp;amp;menu_id=533&amp;amp;selected=533&amp;amp;companyId=0&amp;amp;library_id=#1554" target="_blank" rel="noopener noreferrer nofollow"&gt;Helsingin Vesi&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is very low in fluoride (0.1 mg/l or 0.1 ppm). He brushes his teeth twice a day and uses each time a pea-sized amount of tooth paste (equaling about 0.15 g). The toothpaste he uses (OralB Stages) contains 0.11% sodium fluoride (equaling 0.05% fluoride). This means that if he swallowed all of his toothpaste he would ingest 0.15 mg of fluoride per day. This is 30% of the daily amount of fluoride supplementation recommended by the 
 &lt;a href="http://www.ada.org/public/topics/fluoride/fluoride_article01.asp#dosage" target="_blank" rel="noopener noreferrer nofollow"&gt;American Dental Association&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for children between 3 and 6 years of age and still less than the daily amount recommended for children of ages between 6 months and 3 years (0.25 mg). I have not encouraged him to swallow the tooth paste although there seems nothing to argue against doing so apart from my parental inconsistency. Daddy probably doesn&amp;rsquo;t know as he changes his mind all the time… But I guess since he is chewing very avidly his 
 &lt;a href="http://www.adha.org/publications/strive/08-2006-strive.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;xylitol chewing gum&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, he should be fine even without much fluoride.&lt;/p&gt;</description></item><item><title>WINE regression testing</title><link>https://jeltsch.org/en/wine_regression_testing/</link><pubDate>Sun, 30 Nov 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wine_regression_testing/</guid><description>&lt;p&gt;I am using 
 &lt;a href="http://www.textco.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Textco&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&amp;rsquo;s Gene Construction Kit (version 2.5) do draw my DNA vector maps. Unfortunately this company doesn&amp;rsquo;t care about Linux users. Therefore I have to use WINE to run the Windows version of the program. Admittedly, I could run VMware, VirtualBox or Parallels, but all that just to run a small program? Unfortunately either the Gene Construction Kit (GCK) is not coded according to standards or WINE is still not able to deliver full compatibility but now and then a WINE upgrade renders the program unable to run. Therfore I had to resort to regression testing to find the version that can still do the trick for GCK. Here is the command listing and what I did:&lt;code&gt;cdmkdir winecvs -z 3 -d :pserver:cvs@cvs.winehq.org:/home/wine checkout wine (password 'cvs')cvs update -PAd -D&amp;quot;2007-06-01 CDT&amp;quot;./configuremake dependmakesudo make install&lt;/code&gt;The source from the date above it the latest that appears to work.&lt;/p&gt;</description></item><item><title>The E-numbers of ADHD-like behaviour inducing food colors and additives</title><link>https://jeltsch.org/en/the_e_numbers_of_adhd_like_behaviour_inducing_food_colors_and_additives/</link><pubDate>Fri, 28 Nov 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_e_numbers_of_adhd_like_behaviour_inducing_food_colors_and_additives/</guid><description>&lt;p&gt;There has been a publication about artificial colors and other food additives influencing children&amp;rsquo;s behaviour (
 &lt;a href="http://www.ncbi.nlm.nih.gov/sites/entrez?Db=pubmed&amp;amp;Cmd=ShowDetailView&amp;amp;TermToSearch=17825405" target="_blank" rel="noopener noreferrer nofollow"&gt;McCann, 2007&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
), making it more ADHD-like. This is perhaps due to the chemicals&amp;rsquo; influence on brain chemistry. This claim is not new, just the methodology (double-blind, randomized). I just checked out this paper and figured out the corresponding E numbers. Unfortunately the research used &amp;ldquo;cocktails&amp;rdquo; of these additives and therefore some of these might be harmless. But nevertheless, here is the list:&lt;/p&gt;</description></item><item><title>Chocolate and onion-syrup against cough</title><link>https://jeltsch.org/en/chocolate_and_onion_syrup_against_cough/</link><pubDate>Thu, 27 Nov 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/chocolate_and_onion_syrup_against_cough/</guid><description>&lt;p&gt;Cough serves a useful purpose if it is productive, i.e. if it removes excessive mucus from the airways. However, unproductive cough can be problematic, especially since there seems to be no safe cough medication for children; many of the over-the-counter drugs for treating cough in children have been banned due to their serious side effects. On the search for safe alternatives, I came across commonly used food items which effectively suppress cough and dilate the airways (chocolate) and which (presumably) help against respiratory tract infections (honey and onion).&lt;strong&gt;Chocolate&lt;/strong&gt;Theobromine is used as an effective anti-tussative agent and as a brochodilator (
 &lt;a href="http://www.fasebj.org/cgi/content/short/19/2/231" target="_blank" rel="noopener noreferrer nofollow"&gt;Usmani 2005&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, 
 &lt;a href="http://dx.doi.org/10.1016/0091-6749%2885%2990674-8" target="_blank" rel="noopener noreferrer nofollow"&gt;Simons 1985&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). Therefore it should be possible to achieve the same cough-suppressing effect by consuming cocoa or chocolate. A typical dose of theobromine is 500-1000 mg (i.e. about 10 mg/kg). The theobromine content of cocoa varies between 0.5% and 2.7%. In order to get into the therapeutic range, my son (16 kg) would have to eat about 200 mg of theobromine. The maximal cocoa content he tolerates in chocolate is 85% (which is quite surprising, but since I hardly eat anything below 70% cocoa content he got used to it early on). So he needs to eat about 10-20 grams of very dark chocolate. Children metabolize theobromine quite fast, so the effect is not very long-lasting. My son has agreed to test this and it seems to work.&lt;strong&gt;Honey-onion syrup&lt;/strong&gt;The other remedy against cough is onion syrup. I take an onion. I prefer red ones as they are not as hot as the white ones. I cut it into very small pieces (cubes of 1-2 mm length) and then I mix them with about the same amount of crystalline, good-quality honey. After a a few hours the mixture becomes liquid as the sugar pulls out the water from the plant cells (osmosis). Then I squeeze out the juice from the mix. One onion per day is the approximate dosage for respiratory tract infections. Honey and onion contain both anti-bacterial compounds, but I haven&amp;rsquo;t found any good studies showing that this mix really helps. However, unlike the chocolate, this is an old, traditional recipe against cough.&lt;/p&gt;</description></item><item><title>Reinstallation of packages from a list</title><link>https://jeltsch.org/en/reinstallation_of_packages_from_a_list/</link><pubDate>Fri, 26 Sep 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reinstallation_of_packages_from_a_list/</guid><description>&lt;p&gt;If I install a new computer for myself (or if I do a fresh reinstall on an old machine), I want the computer have the software I am used to. To automatize this process, there a different approaches. If you use Ubuntu, you can use Ubuntu One to syncronize your software selection across many different machines (starting from Ubuntu 11.10 Oneiric Ocelot). If you use something else, it is getting tricky. You can use the following commands to generate a list of installed packages and load the list later for installation:&lt;code&gt;dpkg --get-selections &amp;gt; installed-packages.lstdpkg --set-selections &amp;lt; installed-packages.lstdselect&lt;/code&gt;However, this creates big problems, because the list contains ALL packages including those that are hardware-specific. Actually you are only interested in the user-installed software. For reloading the software onto the same (or an identical) machine, this command works fine, but what if you want to use KDE instead of Gnome on the new computer? You still want to use the same programs, but the commands above will wreak havoc and may even break your desktop experience. Unfortunately I have not found anything better, but to open the text file generated with dpkg and to manually erase all lines that do not contain user-installed software (which is most of them).&lt;/p&gt;</description></item><item><title>tar copying via ssh</title><link>https://jeltsch.org/en/tar_copying_via_ssh/</link><pubDate>Fri, 26 Sep 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/tar_copying_via_ssh/</guid><description>&lt;p&gt;&lt;code&gt;tar czv sourcepath | ssh -l username 192.168.0.5 tar xz -C targetpath&lt;/code&gt;&lt;/p&gt;</description></item><item><title>mysql server restart</title><link>https://jeltsch.org/en/mysql_server_restart/</link><pubDate>Thu, 11 Sep 2008 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mysql_server_restart/</guid><description>&lt;p&gt;My mysqld runs on Ubuntu Hardy and after replacing the complete mysql data with a dump from another server the &amp;ldquo;/etc/init.d/mysql stop&amp;rdquo; command fails, because the system administration account doesn&amp;rsquo;t work anymore. So I had to recreate it again:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;The password can be obtained from /etc/mysql/debian.cnf.&lt;/p&gt;</description></item><item><title>Sheep</title><link>https://jeltsch.org/en/sheep/</link><pubDate>Sat, 27 Oct 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/sheep/</guid><description>&lt;p&gt;*And always remember: That everyone is doing it is a good enough explanation!&lt;/p&gt;</description></item><item><title>Finding files with find</title><link>https://jeltsch.org/en/finding_files_with_find/</link><pubDate>Mon, 24 Sep 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/finding_files_with_find/</guid><description>&lt;p&gt;Finding files with the &lt;em&gt;find&lt;/em&gt; command is actually more difficult than it should be. This finds and lists the largest files (more than 200 MB) on the whole file system:&lt;code&gt;find / -type f -size +200000k -exec ls -lh {} \; | awk '{ print $9 &amp;quot;: &amp;quot; $5 }'&lt;/code&gt;The same, but simpler syntax:&lt;code&gt;find / -size +200M -ls&lt;/code&gt;This finds the most recently changed files under the current directory:&lt;code&gt;find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort&lt;/code&gt;And this command pipes the results of the &lt;em&gt;find&lt;/em&gt; command into another command. First &lt;em&gt;find&lt;/em&gt; looks for Quicktime movies (based on the file extension .mov) and then &lt;em&gt;ffmpeg&lt;/em&gt; converts them into avi files.&lt;code&gt;find . -name '*.mov' -exec sh -c 'ffmpeg -i &amp;quot;$0&amp;quot; -sameq &amp;quot;${0%%.mov}.avi&amp;quot;' {} \;&lt;/code&gt;This commands finds and lists all filenames that contain the string &amp;lsquo;bitcoin&amp;rsquo;:&lt;code&gt;find . -name '*bitcoin*' -ls&lt;/code&gt;And this command finds Quicktime movies and deletes them:&lt;code&gt;find . -name '*.mov' -exec sh -c 'rm &amp;quot;$0&amp;quot;' {} \;&lt;/code&gt;And this finds files that have been modified (created or updated) during the last 2 minutes:&lt;code&gt;find . -cmin 2&lt;/code&gt;This finds crap which you copied over from a Macintosh and which you don&amp;rsquo;t need under Linux:&lt;code&gt;find . -name '*.DS_Store' -type f -delete&lt;/code&gt;Similar story here:&lt;code&gt;find . -name '._*' -type f -delete&lt;/code&gt;When being in the root directory, this should find all files with the name &amp;lsquo;syncthing&amp;rsquo;:&lt;code&gt;find . -name 'syncthing' -ls&lt;/code&gt;And this finds all files larger than 200MB in the /home directory:&lt;code&gt;find /home -size +200M -ls&lt;/code&gt;Find recursively all files that end in .gz and count them:&lt;code&gt;find . -name '*.gz' | wc -l&lt;/code&gt;Find recursively all files that do NOT end in .gz and count them:&lt;code&gt;find . -not -name '*.gz' | wc -l&lt;/code&gt;When you want to search recursively through the content of text files, you need to use the grep command:&lt;code&gt;grep -rnw '/path/to/target-directory' -e 'pattern'&lt;/code&gt;When you search for PDF files modified in October 2024:&lt;code&gt;sudo find / -type f -name &amp;quot;*.pdf&amp;quot; -newermt &amp;quot;2024-10-01&amp;quot; ! -newermt &amp;quot;2024-11-01&amp;quot; 2&amp;gt;/dev/null&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Encrypted backup using BackupPC, LVM and cryptsetup</title><link>https://jeltsch.org/en/encrypted_backup_using_backuppc_lvm_and_cryptsetup/</link><pubDate>Sat, 22 Sep 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/encrypted_backup_using_backuppc_lvm_and_cryptsetup/</guid><description>&lt;p&gt;I do offsite backups using BackupPC. The amount of data increases constantly so I need to add occasionally hard disks. Additionally I want the data to be encrypted, at least after powering off the system that is running the BackupPC application. So I decided to use logical volume management (LVM) and block device encryption (cryptsetup). The following steps were needed (on Ubuntu Feisty):&lt;/p&gt;</description></item><item><title>cryptsetup on lvm on Ubuntu Feisty</title><link>https://jeltsch.org/en/cryptsetup_on_lvm_on_ubuntu_feisty/</link><pubDate>Thu, 20 Sep 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/cryptsetup_on_lvm_on_ubuntu_feisty/</guid><description>&lt;p&gt;I wanted to encrypt my Documents. My home folder is on a logical volume. So I made some space by removing another logical volume and creating a new one, which gets encrypted by cryptsetup. Here are the commands:&lt;/p&gt;</description></item><item><title>E-mail: migrating from kmail to Evolution</title><link>https://jeltsch.org/en/e_mail_migrating_from_kmail_to_evolution/</link><pubDate>Tue, 17 Jul 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/e_mail_migrating_from_kmail_to_evolution/</guid><description>&lt;p&gt;I recently switched from kde to gnome and at the same time from kmail to Evolution. There is no easy way to transfer you mail if you have organized it in several mailboxes in kmail. You need to select all messages in a folder and then right-click and save them in mbox format. This step you need to repeat for every folder. Then you can use the import function of Evolution (import from single file). If you can accept that all files end up in the same folder, you can concatenate your .mbox files to save you the trouble of importing multiple files:&lt;code&gt;cat *.mbox &amp;gt; allmail.mbox&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Installing awstats on Ubuntu Feisty</title><link>https://jeltsch.org/en/installing_awstats_on_ubuntu_feisty/</link><pubDate>Wed, 27 Jun 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_awstats_on_ubuntu_feisty/</guid><description>&lt;p&gt;I started to use awstats for creating the site statistics on our server. After installing the ubuntu package, there are still a few things that I had to do:&lt;/p&gt;</description></item><item><title>Why some scripts in the cron.hourly directory do not become executed</title><link>https://jeltsch.org/en/why_some_scripts_in_the_cron_hourly_directory_do_not_become_executed/</link><pubDate>Sat, 09 Jun 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/why_some_scripts_in_the_cron_hourly_directory_do_not_become_executed/</guid><description>&lt;p&gt;Because I have a very basic mp3 player that cannot play back anything but ISO-standard mp3s, I often need to re-encode podcasts which my podcast-catcher downloads (I use Amarok). I created bash scripts to re-encode all downloaded mp3s and to generate a new RSS feed based on the directory content where the re-encoded mp3s get stored. However, the scripts did not get executed every hour and the reason was their naming (&amp;ldquo;podacst_downsampling.sh&amp;rdquo;). There are quite strict rules how the names have to look like (which I don&amp;rsquo;t remember), but if you use only a-z characters you should be always fine. After renaming to &amp;ldquo;podcastdownsampling&amp;rdquo; everything worked fine.&lt;/p&gt;</description></item><item><title>(Re)installing GRUB bootloader</title><link>https://jeltsch.org/en/re_installing_grub_bootloader/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/re_installing_grub_bootloader/</guid><description>&lt;p&gt;We had the following problem on the computer:2 hard drives (hda and hdb).hda contains the MBR (master boot record) and a Windows 2000 install on the first partition. hdb contains Linux (and its first partition is a boot partition that contains a GRUB installation as done by the RedHat 9 installer).In the BIOS you can only specify one hard drive into the boot priority sequence and that was hda (probably defined by it being the master on the first IDE chain). Therefore we had to start Linux from a boot floppy (because the floppy drive had boot priority over the hard drive). To get a functioning GRUB, we did the following:&lt;code&gt;$/sbin/grub&lt;/code&gt; (starting grub shell)&lt;code&gt;grub&amp;gt; root (hd1,0)&lt;/code&gt; (telling which one is the boot partition where grub got installed)&lt;code&gt;Filesystem type is ext2fs, partition type 0x83&lt;/code&gt; (tells us that it found the partition)&lt;code&gt;grub&amp;gt; find (hd1,0)/grub/stage1(fd0)(hd0,0)(hd1,0)(hd1,1)(hd1,2)(hd1,5)(hd1,6)&lt;/code&gt; (this command is maybe not necessary, it apparently list all possible partitions on which the grub bootloader could be installed&lt;code&gt;grub&amp;gt; setup (hd0)Checking if &amp;quot;/boot/grub/stage1&amp;quot; exists… noChecking if &amp;quot;/grub/stage1&amp;quot; exists… yesChecking if &amp;quot;/grub/stage2&amp;quot; exists… yesChecking if &amp;quot;/grub/e2fs_stage1_5&amp;quot; exists… yesRunning &amp;quot;embed /grub/e2fs_stage1_5 (hd0)&amp;quot;… 16 sectors are embedded.succeededRunning &amp;quot;install /grub/stage1 d (hd0) (hd0)1+16 p (hd1,0)/grub/stage2 /grub/grub.conf&amp;quot;… succeededDone.&lt;/code&gt; (this installs the bootloader onto the first hard drive, apparently not into the first partition, maybe into the MBR?)&lt;code&gt;grub&amp;gt; quit&lt;/code&gt; (exit the grub shell)&lt;code&gt;emacs /boot/grub/grub.conf&lt;/code&gt;Now you just have to edit the grub configuration file. Ours looks like this:&lt;code&gt;grub.conf generated by anacondaNote that you do not have to rerun grub after making changes to this fileNOTICE: You have a /boot partition. This means that all kernel and initrd paths are relative to /boot/, eg.root (hd1,0)kernel /vmlinuz-version ro root=/dev/hdb3initrd /initrd-version.imgroot=/dev/hdb1 default=0 timeout=10 splashimage=(hd1,0)/grub/splash.xpm.gztitle Red Hat Linux (2.4.20-19.9)root (hd1,0)kernel /vmlinuz-2.4.20-19.9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-19.9.imgtitle Red Hat Linux (2.4.20-18.9)root (hd1,0)kernel /vmlinuz-2.4.20-18.9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-18.9.imgtitle Red Hat Linux (2.4.20-13.9)root (hd1,0)kernel /vmlinuz-2.4.20-13.9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-13.9.imgtitle Red Hat Linux (2.4.20-9)root (hd1,0)kernel /vmlinuz-2.4.20-9 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-9.imgtitle Red Hat Linux (2.4.20-8)root (hd1,0)kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdd=ide-scsiinitrd /initrd-2.4.20-8.imgtitle Windows 2000rootnoverify (hd0,0)chainloader +1title Floppyrootnoverify (fd0)chainloader +1title Rebootreboottitle Halthalt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Acrobat Reader 5.07 for Linux</title><link>https://jeltsch.org/en/acrobat_reader_5_07_for_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/acrobat_reader_5_07_for_linux/</guid><description>&lt;p&gt;There is an rpm for Acrobat Reader 5.07 for Linux from 
 &lt;a href="http://www.gurulabs.com/downloads.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Gurulabs&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It anyway didn&amp;rsquo;t work on my machine, so I had to stick to the old reader (version 4.05 that is). But today I found a fix on the web:OK, this is the error message:&lt;code&gt;$ /usr/local/Acrobat5/bin/acroread$ Warning: charset &amp;quot;UTF-8&amp;quot; not supported, using &amp;quot;ISO8859-1&amp;quot;.$ Aborted&lt;/code&gt;But editing the acroread file (/usr/local/Acrobat5/bin/acroread) really works. After the line:&lt;code&gt;install_dir=/usr/local/Acrobat5/Reader&lt;/code&gt;just insert these two lines:&lt;code&gt;LANG=Cexport LANG&lt;/code&gt;BTW you need to have root accession rights to be able to modify the acroread file.&lt;/p&gt;</description></item><item><title>Audio CDs to the Rio 500 mp3 player using Linux</title><link>https://jeltsch.org/en/audio_cds_to_the_rio_500_mp3_player_using_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/audio_cds_to_the_rio_500_mp3_player_using_linux/</guid><description>&lt;p&gt;OK, it is easier on a Mac. iTunes is free and does it all for you (and does it well). To replace iTunes I need at least three applications on Linux :-(&lt;/p&gt;</description></item><item><title>Binhexed attachments and Mozilla (hexbin, macutils)</title><link>https://jeltsch.org/en/binhexed_attachments_and_mozilla_hexbin_macutils/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/binhexed_attachments_and_mozilla_hexbin_macutils/</guid><description>&lt;p&gt;OK, today I tried to open the final version of the manuscript for Cell &amp;amp; Tissue Research. My boss sent it to me as an e-mail attachment some 2 weeks ago. I use Mozilla Mail and saved the attachment. Open Office didn&amp;rsquo;t manage to open it. Obviously my boss uses still Macintosh binhex encoding to attach files to his e-mail instead of MIME to make himself as incompatible to the rest of the world as possible. There is luckily the command line utility hexbin in Linux, which converts the binhexed file into some readable stuff:&lt;code&gt;hexbin -3 Lymphangio_review_CTR.doc&lt;/code&gt;That is the theory. The conversion didn&amp;rsquo;t succeed with the error message &amp;ldquo;unexpected EOF&amp;rdquo;. I suspected that Mozilla was involved and thus I used pine to extract the attachment and voila hexbin managed to convert the macintosh-gibberish into three files.For these three different files the only useful part (the Word Document data) appeared as Lymphangio_review_CTR.doc.data. From this I still had to delete the .data ending and Open Office had no problems anymore to open it. Whow. It took me only 2 hours to figure out all that stuff (including to set up pine locally to access the e-mail server via SSL-secured connection). I still have to figure out why Mozilla Mail handles binhexed attachments wrongly…The hexbin utility is e.g. included in the macutils package (available for Suse and RedHat).&lt;/p&gt;</description></item><item><title>BitTorrent</title><link>https://jeltsch.org/en/bittorrent/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/bittorrent/</guid><description>&lt;p&gt;Today I installed the latest in file sharing: BitTorrent. Was a bit cumbersome as I first had to install wxPython. And to install wxPython, I needed wxGTK. There is apparently a RedHat9 RPM around, but the download site was down all day long, so I got the source wxPythonSrc-2.4.1.2.tar.gz from sourceforge. After that I tried to download the RedHat9 CDs as I need a clean Linux install to test Adobe Acrobat 5.0.7 and Crossover Office (Acrobat 5 crashes immediately after start on my RedHat9 system and the Crossocer Office seems also to be somehow compromised by excess fiddeling). BitTorrent is said to be very fast. So far the download rate is 23 kB/s.&lt;/p&gt;</description></item><item><title>Changing the Runlevel (inittab, telinit)</title><link>https://jeltsch.org/en/changing_the_runlevel_inittab_telinit/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_the_runlevel_inittab_telinit/</guid><description>&lt;p&gt;Usually you change the default runlevel by editing /etc/inittab. However, sometimes you boot into runlevel 3 (e.g. by selecting safe mode from the grub menu) and then want to change to runlevel 5. This you accomplish on the fly with the command: &lt;code&gt;telinit 5&lt;/code&gt;In RedHat 9, just change in the /etc/inittab file the runlevel from 5 to 3 and you will have only the command line left by default upon booting. No X11 graphical login etc. In newer Ubuntu releases, this apparently doesn&amp;rsquo;t work anymore, although telinit + number should still change the runlevel, but at least in the Precise Pangolin (12.04), telinit 2-5 appears not to do anything. Telinit 1 tries to shutdown the machine, but the shutdown got stuck halfway when I tested it. To achive something similar to changing to runlevel 3, you will have to shutdown the GUI (meaning to kill the gdm or lightdm process). The runlevel concept seems to be dead.&lt;/p&gt;</description></item><item><title>Comparing two directories (diff)</title><link>https://jeltsch.org/en/comparing_two_directories_diff/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/comparing_two_directories_diff/</guid><description>&lt;p&gt;&lt;code&gt;diff -r path1 path2&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Creating a shared directory under Linux</title><link>https://jeltsch.org/en/creating_a_shared_directory_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_a_shared_directory_under_linux/</guid><description>&lt;p&gt;When two users on Linux need to share files, accession rights can be quite a problem. By default only the one who creates the file can read and modify it, even if it is saved in a directory that is accessible by the other. It appears to me still impossible to solve this problem completely as Linux cannot &amp;ldquo;inherit&amp;rdquo; privileges to newly creates/saved files based on their parent directories privileges (BTW: how has Mac OS X solved this problem?)The following instructions create a shared directory, but require additional tweaks.As root&lt;/p&gt;</description></item><item><title>Floppies and Linux</title><link>https://jeltsch.org/en/floppies_and_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/floppies_and_linux/</guid><description>&lt;p&gt;Since I started to use html and CSS to create my presentations (instead of OpenOffice instead of Microsoft Office), even quite large presentations fit on regular 1.4MB floppies. Thus I popped an empty floppy into the drive and formatted it as ext2. Funnily the GUI floppy mounter is not able to recognise the file system when it is set to autodetect. Thus I formatted as MS-DOS and the autodetect file system works. Strange…&lt;/p&gt;</description></item><item><title>Hot-swapping different user GUIs under Linux</title><link>https://jeltsch.org/en/hot_swapping_different_user_guis_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/hot_swapping_different_user_guis_under_linux/</guid><description>&lt;p&gt;I read that Windows XP has a &amp;ldquo;new&amp;rdquo; feature that lets users hot-swap their desktops. Instead of logging out, a user can put his session into the background and another user can log in. This is of course very useful if you are downloading large files or running services and you don&amp;rsquo;t want to interrupt the process. If figured out that Linux is able to do the same already for years:When I have a process with a GUI running in GNOME (or KDE; let&amp;rsquo;s say lmule) and another user wants to access his account using GNOME and I don&amp;rsquo;t want to terminate my own GUI session, I switch to another (virtual) terminal via Ctrl-Alt-F2 and the other user logs in and starts an x session (&amp;ldquo;startx &amp;ndash; :1&amp;rdquo;). Using RedHat 9, the new x session started from F2 is initially accessible via both consoles (F2 and F8).When the other user has finished his work, I can without problems go back to my GNOME with Ctrl-Alt-F7 and resume whatever I have been doing under GNOME.However, when the other user wants to access again his x session, it can only be accessed via Ctrl-Alt-F8. When switching to the F2 console one might get the impression that X has crashed (which is not the case).If the Ctrl-Alt-Fx combination doesn&amp;rsquo;t work, you have selected a wrong keyboard layout (one that is not meant for x windows sessions, but for a command line terminal). You can switch to correct terminal via the GNOME keyboard layout switcher. The GNOME keyboard layout switcher is an applet that you can add to your panel (click the panel in an empty area, add to panel, utility, keyboard layout switcher). To choose a correct keyboard layout right-click the keyboard layout switcher icon in the panel, Preferences, Add. When you click the triangle in front of the different languages and then the triangle in front of the country, you sometimes see two different options (in my case: Finnish keymap and Finnish xkb keymap). You should choose the xkb keymap, otherwise Ctrl-Alt-Fx won&amp;rsquo;t work.&lt;/p&gt;</description></item><item><title>How do I run the Gene Construction Kit under Linux?</title><link>https://jeltsch.org/en/how_do_i_run_the_gene_construction_kit_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_do_i_run_the_gene_construction_kit_under_linux/</guid><description>&lt;p&gt;There are only a few Mac or Windows programs that don&amp;rsquo;t have a good equivalent on Linux. One of these few is the Gene Construction Kit (GCK) from 
 &lt;a href="http://www.textco.com" target="_blank" rel="noopener noreferrer nofollow"&gt;Textco&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. GCK is available for both Windows and Mac. So it should be possible to run it on an i86-Linux machine using wine (a sort of emulator). I tried that and failed (I didn&amp;rsquo;t try really hard). However, probably any Windows program can be run under Linux using 
 &lt;a href="http://www.vmware.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;VMware&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Unfortunately VMware is commerical and expensive (but there is a fully functional time-limited demo). GCK does run under VMware 4.0/W2K/RedHat9 without problems. The only disappointment in VMware is the &amp;ldquo;Shared Folders&amp;rdquo; option. It is much better to share your Linux home directory via Samba and then have it automounted when you log into your emulated Windows OS. I even managed to hide Linux-specific files in my home directory that start with a dot (like .mozilla) by inserting &amp;ldquo;hide dot files = yes&amp;rdquo; into the samba configuration file /etc/samba/smb.conf. Although I am using VMware at the moment, I plan to switch to 
 &lt;a href="http://www.winehq.org" target="_blank" rel="noopener noreferrer nofollow"&gt;Wine&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in order to avoid any Microsoft code.&lt;/p&gt;</description></item><item><title>lmule and xmule trouble</title><link>https://jeltsch.org/en/lmule_and_xmule_trouble/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/lmule_and_xmule_trouble/</guid><description>&lt;p&gt;Suddenly lmule stopped working (or xmule). Somehow files is the ~/.lmule/ can get easily corrupted. Just remove all the files (or even delete the whole directory) and the program works again. Don&amp;rsquo;t forget to save the files from the Temp and Incoming directories! You can copy them later back into the newly created ~/.lmule/Temp and ~/.lmule/Incoming directories.&lt;/p&gt;</description></item><item><title>Mac-Linux Connectivity (netatalk, atalk, Appletalk)</title><link>https://jeltsch.org/en/mac_linux_connectivity_netatalk_atalk_appletalk/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mac_linux_connectivity_netatalk_atalk_appletalk/</guid><description>&lt;p&gt;&lt;strong&gt;Connecting from a Macintosh to Linux&lt;/strong&gt;I did this already a while ago, but just for documentation purposes: You need to install a Appletalk server on your Linux machine. The package you need is called netatalk. Things worked OK, I just had a problem concerning Appletalk zones. Despite setting the default zone in the atalkd.conf file as &amp;ldquo;Biomedicum cancerbio&amp;rdquo; (the zone I want to be in), netatalk overrides this upon service restart. Thus my linux machine ends up always in the default zone (which is called in Finnish &amp;ldquo;Kadotus&amp;rdquo;).The atalkd obviously has to negotiate the zone somehow with the router, but how? Macs obviously manage to stay in the zone that they specifcy in their Preferences. They only end up in &amp;ldquo;Kadotus&amp;rdquo; when they do not specify a zone, consequently it should be possible to do so as well under Linux. By try and error I figured out that changing the zone in /etc/atalk/atalkd.conf doesn&amp;rsquo;t do the trick. One has to delete the default entry in /etc/atalk/afpd.conf and replace it by another entry (in Suse 9 the location is /etc/netatalk instead of /etc/atalk):&lt;code&gt;&amp;quot;Michael's Linux Box@Biomedicum cancerbio&amp;quot; -transall -uamlist uams_clrtxt.so,uams_dhx.so -nosavepassword&lt;/code&gt;and then the definition of the shares (in the AppleVolumes.default):&lt;code&gt;&amp;quot;Public&amp;quot; -uamlist uams_guest.so -loginmesg &amp;quot;Welcome guest!&amp;quot;&lt;/code&gt;However, netatalk is actually only needed in order to connect from older Macs to Linux. Mac OS X can run SAMBA and to my experience file sharing using SAMBA is more reliable than netatalk. Long file names (I think &amp;gt;31 characters) got netatalk to choke in several cases, while SAMBA did the trick without any problems. Both Mac OS X and Linux support filenames &amp;gt;31 characters, but apparently netatalk doesn&amp;rsquo;t.&lt;strong&gt;Connecting from Linux to Macintosh&lt;/strong&gt;Now this depends on whether you want to connect to a Mac running OS 9.2 or below or Mac OS X. To be able to connect to a Mac running OS 9.2 or below, you need the afpfs module. This module is not maintained and the last compilation has been done for the 2.1 kernel. Meaning: you are most probably out of luck unless you are a real geek (or you use the still the 2.1 kernel). In order to connect from Linux to Mac OS X, you just should use SAMBA. In GNOME you just need to type smb:// into the Location field of the Nautilus browser window and you will see the domains/workgroups/computers that are visible on the network. I admit network discovery is quite slow. So if you know the workgroup or domain name (e.g. mcbl as in my case), just type smb://mcbl&lt;/p&gt;</description></item><item><title>Mount Samba shares (why doesn't Nautilus work?) and making smb mounts permanent</title><link>https://jeltsch.org/en/mount_samba_shares_why_doesn_t_nautilus_work_and_making_smb_mounts_permanent/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mount_samba_shares_why_doesn_t_nautilus_work_and_making_smb_mounts_permanent/</guid><description>&lt;p&gt;&lt;strong&gt;Mount Samba shares&lt;/strong&gt;Apparently it is very easy to connectfrom within Nautilus to Windows computers (or rather to computers running smb services). The only thing you have to do is to type smb:/// into the URL bar and the network is browsed for available domains, workgroups and services. However when one tries to open some files (e.g. some image) there often appears the error message that those files cannot be accessed via samba.What to do? I figured that when you mount smb shares, that this works correctly. In order to mount my user directory on another computer this is the command:&lt;code&gt;sudo mount -t smbfs -o username=michael,password=here_goes_my_password //paula/michael /mnt/smb&lt;/code&gt;paula is the netbios name of the other computer and michael is the name of the share.You can also set the owner of all the files of the mounted file system with the -o uid=owner option:&lt;code&gt;sudo mount -t smbfs -o username=michael,password=here_goes_my_password -o uid=500 //paula/michael /mnt/smb&lt;/code&gt;If you don&amp;rsquo;t want to type your password, you can save it in a file like this:&lt;code&gt;username=susannepassword=0sdf7b&lt;/code&gt;and then you can refer to this &amp;ldquo;credentials&amp;rdquo; file:&lt;code&gt;sudo mount -t smbfs -o username=susanne,credentials=/home/susanne/.smbpasswd //patolmac217/susanne /mnt/smb&lt;/code&gt;In order to unmount use:&lt;code&gt;sudo umount /mnt/smb&lt;/code&gt;This mostly fails as you are likely to have some open windows/terminals that keep the connection active. Close them and try again. You also might try umount -f.&lt;strong&gt;Making smb mounts permanent&lt;/strong&gt;When you mount an SMB share, it will be gone upon system restart. To make it mount automatically during system bootup, you have to create a new entry in the /etc/fstab file. In my case e.g.:&lt;code&gt;//paula/michael /mnt/smb smbfs credentials=/home/jeltsch/.smbpasswd 0 0&lt;/code&gt;In the .smbpasswd file is my username and my password. Probably not very safe, but who cares? .smbpasswd should be anyway only readable by yourself!&lt;/p&gt;</description></item><item><title>Mounting disk image files and encrypted filesystems/partitions</title><link>https://jeltsch.org/en/mounting_disk_image_files_and_encrypted_filesystems_partitions/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_disk_image_files_and_encrypted_filesystems_partitions/</guid><description>&lt;p&gt;To dump a disk (or a partition) into a file, you use the following command:&lt;code&gt;dd if=/dev/hda3 of=file.bin&lt;/code&gt;This command writes the complete data on the hda3 partition into the file file.bin.To mount the filesystem that is in the file, you need to create a loopback device:&lt;code&gt;losetup /dev/loop0 file.bin&lt;/code&gt;Now you can mount the filesystem as usual:&lt;code&gt;mount -r -t filesystemtype /dev/loop0 /mnt/mountpoint&lt;/code&gt;Apparently, one can combine the last two commands into one:&lt;code&gt;mount -t filesystemtype -o loop ./file.bin /mnt/mountpoint&lt;/code&gt;If you want to encrypt the data on a file, that contains a whole filesystem, it is getting a bit more complicated:&lt;code&gt;sudo mkdir /mnt/secure (create mount point for the filesystem)dd if=/dev/zero of=path/to/file bs=1k count=409600 (create an empty file with 400 MB size) sudo /sbin/losetup -e xor /dev/loop0 path/to/file/sbin/mkfs -t ext2 /dev/loop0 409600 (format the device as ext2)sudo mount -t ext2 /dev/loop0 /mnt/secure (mount the device file)cd /mnt/securechown username . (change the owner of the top level directory of the filesystem)&lt;/code&gt;If you want to unmount the filesystem:&lt;code&gt;sudo umount /dev/loop0&lt;/code&gt;If you want to get rid of the filesystem, you have to un-associate it from the loop device 0: &lt;code&gt;/sbin/losetup -d /dev/loop0&lt;/code&gt;For some reason RedHat 9 doesn&amp;rsquo;t come with DES support, so for the time being (until I patch the kernel or move to Suse Linux) I am using the faster, but much weaker xor encryption.Suse 9 comes with inbuilt strong encryption and offers already during the installation the possibility to create an encrypted partition. Suse 9 asks during booting for the passphrase to mount the encrypted filesystem. The boot process stops and waits for 2 minutes before continuing if you don&amp;rsquo;t type in the password. In order to reduce this time, you can edit the file /etc/init.d/boot.crypto. Change in the following line 120 to e.g. 10:&lt;code&gt;:${TIMEOUT:=120}&lt;/code&gt;If you have missed your chance to type in the passphrase during boot time, you can mount the encrypted partition as follows:&lt;code&gt;/sbin/losetup -e twofish /dev/loop0 /dev/hda7 mount /dev/loop0 /media/conf&lt;/code&gt;BTW: The information about encrypted filesystems resides in /etc/cryptotab.&lt;/p&gt;</description></item><item><title>rio500-0.7-1.i386.rpm works under RedHat 9</title><link>https://jeltsch.org/en/rio500_0_7_1_i386_rpm_works_under_redhat_9/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rio500_0_7_1_i386_rpm_works_under_redhat_9/</guid><description>&lt;p&gt;I again tried to compile rio500-0.8.1, but without success. Compiling fails under kernel 2.4. This is an unresolved issue and mentioned in the discussion forums. So I installed the Rio500 package rio500-0.7-1.i386.rpm. Interestingly I managed via the command line to a) format the internal memory: rio_formatb) create a folder (which is necessary before one can upload a song): rio_add_folder c) upload mp3s: rio_add_song ). That&amp;rsquo;s a big advantage to the crappy Windows Rioport interface. Next time I try to install the Gnome GUI.When listening to the first songs on the Rio500 that I transferred under Linux, they appeared very silent. When I encode next time some songs I should try the lame option &amp;ndash;scale . However, I don&amp;rsquo;t know what argument to use to get some decent amplification of the sound.&lt;/p&gt;</description></item><item><title>Some partition rearrangements under Linux</title><link>https://jeltsch.org/en/some_partition_rearrangements_under_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/some_partition_rearrangements_under_linux/</guid><description>&lt;p&gt;The Linux installation is as follows:&lt;code&gt;/dev/hdb1 100 MB /boot/dev/hdb2 8 MB /home/dev/hdb3 8 MB //dev/hdb4 Extended partition/dev/hdb5 1 GB Linux swap/dev/hdb6 100 GB NTFS&lt;/code&gt;The idea was to use the 100 GB partition (/dev/hdb6), which has been formatted with the NTFS (= Windows 2000) file system to store large files under Linux. NTFS file systems cannot be used by Linux yet. The only DOS/Windows filesystem, that is compatible with Linux is FAT32. Unfortunately FAT32 is a quite inefficient system and has a maximal partition size of 32 GB (actually Windows can use FAT partitions up to 127 GB, but it cannot format them itself, one needs a third party utility to format them). Anyhow, Linux can only read and write to FAT partitions up to 32 GB. An additional requirement is that /dev/hdb6 should be mounted to two different mount points. Therefore we have to split this partition into 2 smaller ones. Now this appeared to be impossible under Linux. The reason of this is - like with so many other things that suck - Bill Gates. Similar to his &amp;ldquo;640KB RAM is enough for everybody&amp;rdquo; decision, he decided that only four primary DOS-type partitions can be on one physical hard drive. Soon this appeared to be too little and thus a work-around was introduced: &amp;ldquo;Extended Partitions&amp;rdquo;. One of the four primary partitions of a disk can be a so-called &amp;ldquo;extended partition&amp;rdquo; and contain several (actually I think unlimited amount of) logical partitions. Thus in the above layout of the hard disk /dev/hdb partition number 4 (/dev/hdb4) is an extended partition. It contains two logical partitions: /dev/hdb5 and /dev/hdb6. The problem is the following: The Linux utilities cfdisk and fdisk cannot access these two logical partitions separately. If we want to split /dev/hdb6 into two smaller partitions, we first have to delete this partition and then create two new ones in its place. But both cfdisk and fdisk can only delete /dev/hdb4 as a whole. That would delete the Linux swap partition (quite a disaster while you are running the operating system).The way how to solve the problem is the following: Boot into Windows 2000, delete the 100 GB NTFS partition and created two smaller ones instead (/dev/hdb6 and /dev/hdb7). You have to format them FAT32 or NTFS as Windows cannot do anything else. If you have Partition Magic 8 or higher (preferably on a boot floppy), you can immediately format the two new smaller partitions as Linux partitions (that is: ext2 or ext3). Reboot into Linux. Funnily when mounting the partitions that were formatted using Partition Magic 8, already 5 percent of the space is already occupied although there are no files anywhere (at least this is what the Hardware Browser/Hard Drives utility shows). To reclaim this lost space you have to reformat them under Linux using the command mkfs.ext3 /dev/hdb6. If you want to use the newest (and probably one of the best) file system for Linux, you can format them with the ReiserFS file system (command: mkfs.reiserfs /dev/hdb6). Reboot and add those partitions into the fstab file to automount them on startup.&lt;/p&gt;</description></item><item><title>Startup script for VNC server</title><link>https://jeltsch.org/en/startup_script_for_vnc_server/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/startup_script_for_vnc_server/</guid><description>&lt;p&gt;To start up the VNC server automatically as a service during booting, you need this 
 &lt;a href="http://www.mpthrill.com/vncrc/downloads/Linux/bash/vncserver" target="_blank" rel="noopener noreferrer nofollow"&gt;shell script&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. You probably also can write a much simpler shell script yourself, that does the same job. In fact you will have to as this script is broken on RedHat 9. The simplest shell script is of course the command &amp;ldquo;vncserver&amp;rdquo; alone… This script goes into the folder /etc/init.d. Then you make a symbolic link in the directory /etc/rc5.d that points to the script. The /etc/rc5.d directory contains a bunch of links to scripts in the init.d file which are executed when the system is entering runlevel 5 (runlevel 5 is the one where you have the gui and multiple users enabled, the one you most likely use in 95% of all cases). There are other directories for other runlevels (e.g. /etc/rc3.d for runlevel 3, etc.).&lt;/p&gt;</description></item><item><title>The ls command</title><link>https://jeltsch.org/en/the_ls_command/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_ls_command/</guid><description>&lt;p&gt;I have been using is for years, but hardly have used its &amp;ldquo;advanced&amp;rdquo; options. That is:&lt;code&gt;ls -t&lt;/code&gt; to sort the content of the directory according to modification date. &lt;code&gt;ls -d&lt;/code&gt; to display the directories and not their contents. &lt;code&gt;ls -alh&lt;/code&gt; lists the complete content of the directory in long, human-readable form (that means file sizes are given in B, K, M or G and not in bytes).The -d option I mostly use as: &lt;code&gt;ls -d .*&lt;/code&gt; This shows me all &amp;ldquo;hidden&amp;rdquo; directories which are located in the current directory. If I just typed ls .* I would get a recursive listing of all contents of all hidden directories.&lt;/p&gt;</description></item><item><title>The sticky bit, bzip2 and automatic start of programs upon login</title><link>https://jeltsch.org/en/the_sticky_bit_bzip2_and_automatic_start_of_programs_upon_login/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_sticky_bit_bzip2_and_automatic_start_of_programs_upon_login/</guid><description>&lt;p&gt;&lt;strong&gt;The sticky bit&lt;/strong&gt;I am still wondering what exactly the &amp;ldquo;stick bit&amp;rdquo; in the file permissions is doing. My suspicion is that if the sticky bit is set for a directory in the group field (chmod g+s foldername) that the permissions are inherited (that is all newly created files in that folder and below will have the same permissions as their parents. But maybe I am wrong as there is still the weird &amp;ldquo;umask&amp;rdquo; command that influences permissions of newly created files. I have to figure out how to automatically set the permissions of a specific directory (which is going to be shared among different users to g+rw.&lt;strong&gt;bzip2 and bunzip2&lt;/strong&gt;To uncompress a bzip2 file, execute the following command:&lt;code&gt;bunzip2 filename.txt.bz2&lt;/code&gt; (where filename.txt.bz2 is the name of the file you wish to uncompress). The result of this operation is a file called filename.txt. By default, bunzip2 will delete the filename.txt.bz2 file.&lt;strong&gt;Automatic start of programs upon login&lt;/strong&gt;To start up automatically a program upon login, e.g. gaim, I just added the following line to the end of my .bash_profile: &amp;ldquo;gaim &amp;amp;&amp;rdquo;. I don&amp;rsquo;t know whether it&amp;rsquo;s a good way to implement it like this but it works. I then did the mistake to start the vncserver with this method. What happend was, that upon logging in, the vncserver started up. And of course .bash_profile got executed within the first xdisplay of the vncserver (which happens in case of Red Hat 9 to start up KDE as window manager). So from within this session another instance of vncserver was started. this repeated itself until I had about 80 vncservers running on my machine and the speed slowed down dramatically.&lt;/p&gt;</description></item><item><title>VNC (Virtual Network Computing) via ssh</title><link>https://jeltsch.org/en/vnc_virtual_network_computing_via_ssh/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vnc_virtual_network_computing_via_ssh/</guid><description>&lt;p&gt;I am sitting at home and want to use the GUI of my Linux at work. But my work computer which is running the VNC server (mcblpc2.hi.helsinki.fi) is behind the University firewall. The only connection I can get into the firewall is via one of the university mainframes, e.g. vesuri.helsinki.fi. In order to connect using VNC, I need just two commands:&lt;code&gt;ssh -L 5901:mcblpc2.hi.helsinki.fi:5901 mjeltsch@vesuri.helsinki.fivncviewer localhost:1&lt;/code&gt;To make the connection faster, you can use compression (helps only if you have a slow connection, e.g. a modem). When using VNC with ssh, the vncviewer really thinks you make a connection to the local machine and therefore chooses a wrong encoding. So the second command actually should be: &lt;code&gt;vncviewer localhost:1 -compresslevel 0 -encodings &amp;quot;copyrect hextile&amp;quot;&lt;/code&gt;When you run the vncserver on a computer that has its own firewall, you need to have sshd running and to open the ssh port (22). Then you establish a tunnel from that ssh server on that computer to a port on your local computer:&lt;code&gt;ssh -L 5901:remotemachine:5901 username@remotemachine vncviewer localhost:1&lt;/code&gt;When you run KDE desktop sharing on Suse 9.0, you share the physical screen (:0). Thus, if you are logged out, you cannot connect using desktop sharing. You have to start up additionally a vnvserver instance:&lt;code&gt;vncserver&lt;/code&gt;This server will use by default the :1 session and that&amp;rsquo;s why the forwarded port must be 5901 and not 5900 (like for the first session).&lt;/p&gt;</description></item><item><title>What corresponds to the Windows ipconfig /all command in Linux?</title><link>https://jeltsch.org/en/what_corresponds_to_the_windows_ipconfig_all_command_in_linux/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_corresponds_to_the_windows_ipconfig_all_command_in_linux/</guid><description>&lt;p&gt;I think /sbin/ifconfig displays at least the ip address, the hardware address and the subnet mask and some other stuff. But not much about anything else like DHCP or DNS addresses…&lt;/p&gt;</description></item><item><title>Wine and Crossover Office</title><link>https://jeltsch.org/en/wine_and_crossover_office/</link><pubDate>Sat, 26 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wine_and_crossover_office/</guid><description>&lt;p&gt;Being fed up with VMware (because it&amp;rsquo;s so slow and using half of my memory) I turned to 
 &lt;a href="http://www.winehq.org" target="_blank" rel="noopener noreferrer nofollow"&gt;Wine&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. But Wine appears to be very difficult to set up. Typical Linux. It will work but unless you spend a whole week you don&amp;rsquo;t get it working. That&amp;rsquo;s where the Corssover Office application comes in. It&amp;rsquo;s just a bunch of helper applications to make setting up wine easy. That is with certain Windows applications and most Windows applications are not supported. So I got a 
 &lt;a href="http://www.codeweavers.com/home/" target="_blank" rel="noopener noreferrer nofollow"&gt;demo version of Crossover Office&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and started installing (as root). The application installed without problems. After installation I started the Crossover Office Setup application. That is the place from where you install your Windows applications. So I wanted to try Microsoft Office XP (as it is licensed for the whole university). I made the mistake to select &amp;ldquo;Install everything&amp;rdquo;. The installer forced me to install also Microsoft&amp;rsquo;s Internet Explorer and a bunch of other crap. Than the Office XP installer stopped to respond in the middle of the process. Waited for 2 hours but the progress bar didn&amp;rsquo;t move and there was no disc activity. So I had to cancel the setup and leave a mess behind. A second attempt to install failed as well. So I thought to use the Windows uninstaller. Failed as well. Uninstalling from within crossover office failed also. So I thought to uninstall the whole crossover office (there is an uninstall script in the bin directory of crossover office which is hardly mentioned anywhere in the documentation). That worked but apparently didn&amp;rsquo;t uninstall everything. I still had to manually remove several directories, but worst of all the Gnome menu entries were not deleted. The gnome menu entries are quite a tricky thing since they are not located in one place. Gnome uses some &amp;ldquo;virtual folder&amp;rdquo; (vfolder) system to create the menus. That is the menus are assembled on the fly based on several xml files located in several places. But I guess I found all of them and removed the entries manually. I must have made a coding mistake since after this the whole menu was gone. Apparently the mistake was in my ~/.gnome2/vfolders/applications.vfolder-info file. Of course I didn&amp;rsquo;t have a backup, so I copied the same file from /root/.gnome2/vfolders into my home folder.After that I reinstalled crossover office and only installed Microsoft Word XP and that worked! An nice entry was visible in the menu &amp;ldquo;Windows Applications/Programs/&amp;rdquo;. Then I installed Adobe Photoshop 6.01. Installation was painless, but after that, the Microsoft Word entry in the menu had disappeared. Also there was no Photoshop entry under &amp;ldquo;Windows Applications/Programs/Adobe&amp;rdquo;. There was only an ImageReady entry. It appears that every newly installed application erases the menu entries of the previously installed application. However the hierarchical folder structure remains, only the last entry ins gone and replaced by a dot in the last menu folder. BTW Photoshop worked as one can start it up from within ImageReady.Both Office XP and Adobe Photoshop are applications that are &amp;ldquo;supported&amp;rdquo; by the Crossover Office. Now I tried to install an unsupported application, i.e. the Gene Construction Kit 2.5 (GCK2.5). The first thing was that the Crossover Office complained that the installer CD has some hidden files and that I have to make some changes to the fstab entries as root to enable reading these files. I did that and continued installation. The installer finished and there was a menu entry under &amp;ldquo;Windows Applications/Programs/Gene Construction Kit 2.5&amp;rdquo; which was named &amp;ldquo;Uninstaller&amp;rdquo;. I concluded that the Uninstaller program had been installer after the GCK2.5 application and thus erased the latter entry. Even more strangely after logging out and in again even the Uninstaller item was gone from the menu. Also all other program entries had disappeared.I figured that all the menu entries are single files in the directory /home/jeltsch/.gnome2/applications. They have the extension .desktop and are xml files with a relatively easy structure. One example:&amp;gt; more Internet\ Explorer.desktop[Desktop Entry]Name=Internet ExplorerType=ApplicationComment=Internet ExplorerExec=/opt/cxoffice/bin/wine &amp;ldquo;C://Program Files//Internet Explorer//IEXPLORE.EXE&amp;rdquo; X-Created-by=cxoffice Icon=/home/jeltsch/.cxoffice/dotwine/fake_windows/Windows/Icons/9d75_iexplore.-32528.xpm [jeltsch@mcblpc2 applications]$ more CXTree-Windows_Applications-Programs-Internet_Explorer.desktop[Desktop Entry]Name=Internet ExplorerType=ApplicationComment=Internet ExplorerExec=/opt/cxoffice/bin/wine &amp;ldquo;C://Program Files//Internet Explorer//IEXPLORE.EXE&amp;rdquo; X-Created-by=cxoffice Icon=/home/jeltsch/.cxoffice/dotwine/fake_windows/Windows/Icons/9d75_iexplore.-32528.xpm Categories=Application;X-cxoffice;X-CXTree-Windows_Applications-Programs;It appears that all entries that were made by the Crossover Office Installer are still present in this directory. Now I just have to figure out why they don&amp;rsquo;t show up. Of course I can start the applications by just typing the entry under &lt;strong&gt;Exec&lt;/strong&gt; into the command line but that is somehow cumbersome. To test GCK2.5 I started it from the command line and it really came up. First it asked for the installer CD (some kind of copy protection mechanism). It was in the drive but somehow I had to eject it and insert it again to make it visible. That worked fine and the dialog appeared where I entered my name and organization. But then it miraculously complained: &amp;ldquo;Could not start the application because there is not enough memory&amp;rdquo;.Now I have to tackle this problem, because GCK2.5 is probably the most important application for me that has not Linux equivalent.&lt;/p&gt;</description></item><item><title>BackupPC (and MacOS X)</title><link>https://jeltsch.org/en/backuppc_and_macos_x/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backuppc_and_macos_x/</guid><description>&lt;p&gt;BackupPC seems to be a cool application. Except for the fact that it is not easy to start working with in the first place. I downloaded BackupPC-2.0.0.tar.gz and installed it into the directory /usr/local/backuppc. Then I executed the config.pl and answered all I could. The place where I want to backup my stuff is my second hard drive /dev/hdb5 which is formatted as reiserfs and mounted at /mnt/hdb. After the config script there was a new directory in /mnt/hdb: backuppc, which contained 6 other directories: conf, cpool, log, pc, pool and trash.BTW you cannot use a smbmount to store the backup data (at least not easily). The configure.pl script tries to chown the stuff on the smbmount and this leads to the abortion of the perl script (could be modified and the chown could be done manually by defining the correct uid and gid in the fstab). I struggled with this for a day (gave the smbmount even fmask=777,dmask=777 and the correct owner/group), but to no avail as apparently the scripts wants to execute the chown command. I probably need to solve this problem as I need to backup via the network to a Macintosh running OS X and thus need to use samba (or nfs…).I use tar over ssh to backup my client (actually server and one of the clients are in my case physically the same machine). Anyway I have to setup ssh. As I have RH9, it&amp;rsquo;s OpenSSH (ssh2).Another client is running MacOS X (10.3). Works quite well after I figured out that the tar command on MacOS X is neither in the PATH nor in its normal location, but in /usr/bin/tar. I just made a link and BackupPC worked:&lt;code&gt;sudo ln -s /usr/bin/tar /bin/tar&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Changing environment variables (env, csh, bash)</title><link>https://jeltsch.org/en/changing_environment_variables_env_csh_bash/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_environment_variables_env_csh_bash/</guid><description>&lt;p&gt;I just install BackupPC. The perl install script complains that my environment variable LANG is set to en_US.UTF-8 and that it should be en_US. This setting is specificed in RedHat 9 Linux in the file /etc/sysconfig/i18n. To check what is the current value of the LANG variable type echo $LANG. To change or set the variable to &lt;em&gt;en_US&lt;/em&gt; type &lt;code&gt;LANG=en_US&lt;/code&gt; To show all environment variables, just enter&lt;code&gt;env&lt;/code&gt;at the command line.If you want to set an environment variable, you need to know what shell you are using. Many instructions still assume that you are using csh, but I guess it&amp;rsquo;s maybe only 1% of Linux users that use it. E.g. in the bash shell use the following command to set the environment variable DESTDIR to /usr/local&lt;code&gt;export DESTDIR=/usr/local&lt;/code&gt;while in csh type&lt;code&gt;DESTDIR = /usr/local&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Connecting the external hard drive to my computer (Maxtor One Touch 200GB, FireWire &amp; USB 2.0/1.1)</title><link>https://jeltsch.org/en/connecting_the_external_hard_drive_to_my_computer_maxtor_one_touch_200gb_firewire_usb_2_0_1_1/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/connecting_the_external_hard_drive_to_my_computer_maxtor_one_touch_200gb_firewire_usb_2_0_1_1/</guid><description>&lt;p&gt;The hard drive was connected to Redhat9 Linux via firewire and the hard drive had a reiserfs filesystem. It was supposed to be used for backups, but suddenly stopped working (it was not anymore recognized during system startup). Probably that had something to do with the external USB zip drive. Both are apparently visible to the system as SCSI devices and the zip drive might have (via automount) occupied the sda number that was manually added to /etc/fstab to enable the Maxtor hard drive. To check whether everything is OK with the drive itself, I connected it to my work computer. My work computer, however doesn&amp;rsquo;t have a fire wire card, so I had to use the USB port. This shouldn&amp;rsquo;t make any difference as both USB and firewire are somehow treated as SCSI devices.I only edited /etc/fstab adding the following line:&lt;code&gt;/dev/sda1 /mnt/usbhd1 reiserfs defaults 1 2&lt;/code&gt;I first forgot to create the directory /mnt/usbhd1. Thus after restarting the drive was not mounted. I checked with /sbin/fdisk -l and there was the following entry&lt;code&gt;/dev/sda1 Windows 95 (or something like that)&lt;/code&gt;Funnily the resiserfs file system shows as a fat filesystem. I changed the &amp;ldquo;reiserfs&amp;rdquo; entry in /etc/fstab to &amp;ldquo;vfat&amp;rdquo; and created the directory /mnt/usbhd1. During startup there was an error (something like &amp;ldquo;no fat filesystem could be found on the partition&amp;rdquo;). So I changed it back to reiserfs, rebooted and the external drive was mounted during startup without problems.&lt;/p&gt;</description></item><item><title>Debugging GCK2.5 under wine</title><link>https://jeltsch.org/en/debugging_gck2_5_under_wine/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/debugging_gck2_5_under_wine/</guid><description>&lt;p&gt;GCK2.5.9 works with wine (crossover office 2.01 version). The 2.5.9 update doesn&amp;rsquo;t show the &amp;ldquo;Could not start the application because there is not enough memory&amp;rdquo; error. GCK starts up without any trouble and is partially usable. In fact it seems to be fully functional (including Deluxe import) with one big exception: new files cannot be created (quits upon selecting &amp;ldquo;File - New&amp;rdquo;. The empty window box where you can select what type of GCK file you want to create (sequence, illustration, etc) is drawn with the title &amp;ldquo;New Window&amp;rdquo;, but its not filled with content and the application quits.&lt;/p&gt;</description></item><item><title>Dubugging GCK2.5 under wine</title><link>https://jeltsch.org/en/dubugging_gck2_5_under_wine/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dubugging_gck2_5_under_wine/</guid><description>&lt;p&gt;The new window that fails to be displayed, contains (when run natievly under W2K) the following text (and radio buttons for the four different file types):Select File Type Contruct (Ctrl-C)Illustration (Ctrl-I)List (Ctrl-L)Gel (Ctrl-G)New File NameOKCancelThe text associated with the different radio buttons appears first in the debug file in the following lines (as determined by the command &amp;ldquo;grep -n &amp;ldquo;List&amp;rdquo; all_output &amp;gt; List_output&amp;rdquo;, etc): 3890577 Gel3885836 Illustration3881107 List3876329 ConstructThat is within the range where we predicted the error to be. Let&amp;rsquo;s now look at what happend shortly before and after these commands were issued. After using GCK2.5 under wine a little bit more, I noticed that there is another function that causes the program to crash without error message, namely the &amp;ldquo;find sequence&amp;rdquo; function. Also in this case a dialog is displayed in which the user is supposed to type in a nucleotide sequence. Maybe there is something in common for these two crashes which could help to identify the crucial system call that makes the program to crash.&lt;/p&gt;</description></item><item><title>Gnome &amp; KDE sessions autostart items</title><link>https://jeltsch.org/en/gnome_kde_sessions_autostart_items/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/gnome_kde_sessions_autostart_items/</guid><description>&lt;p&gt;Always when I logged into a Gnome session, automatically several application started up without me wanting them to start up (two terminal sessions and a nautilus windows). To get rid of them (at least I think so, I will see at the next login), you have to go to Main Menu - Preferences - More preferences - Sessions. Under the &amp;ldquo;Current Session&amp;rdquo; tab, one can remove the programs that are automatically started upon login and also specify in which order the programs are started that are started automatically.In KDE, item in the /home/user/.kde/Autostart directory get executed upon session start. Just place a .desktop file into that directory to have it auto-executed.&lt;/p&gt;</description></item><item><title>grep to search for file content or rpm -qa output</title><link>https://jeltsch.org/en/grep_to_search_for_file_content_or_rpm_qa_output/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/grep_to_search_for_file_content_or_rpm_qa_output/</guid><description>&lt;p&gt;In order to search a specific directory (path_to_directory) and all its subdirectories (-r for recursive) for files that contain a specific text string, use the following command:&lt;code&gt;grep -r &amp;quot;textstring&amp;quot; path_to_directory&lt;/code&gt;Also very useful is to pipe the output of another process into grep. E.g. you want to know whether a specific rpm package is installed on your system, but you don&amp;rsquo;t remember the exact name. Thus you cannot use the &amp;ldquo;rpm -q packagename&amp;rdquo;. In that cast you can ask rpm for all installed packages (rpm -qa) and then pipe this output to grep and let grep look for a substring from the packagename that you do remember:&lt;code&gt;rpm -qa | grep substring&lt;/code&gt;E.g. when the package modutils-2.4.22-8 is installed you have to ask rpm:&lt;code&gt;rpm -q modutils OR rpm -q modutils-2.4.22&lt;/code&gt;in order to get an answer. The request rpm -q modutils-2.4 would be: The package modutils-2.4 is not installed. Thus if you don&amp;rsquo;t know the exact name of the package, it is a safe bet to grep the rpm output for something you remember exactly.&lt;/p&gt;</description></item><item><title>Location of launchers, panels, etc. in Gnome</title><link>https://jeltsch.org/en/location_of_launchers_panels_etc_in_gnome/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/location_of_launchers_panels_etc_in_gnome/</guid><description>&lt;p&gt;The files that specify the different folders and buttons of the Gnome user interface are somehow really badly distributed all over the place. Here are just a few of the more common locations:Icons in the panel: ~/.gnome2/panel2.d/default/launchers/Contents of Start Here: ~/.gnome2/vfolders/start-here/user&amp;rsquo;s Home, Trash and Start Here: ~/.gnome-desktop/&lt;/p&gt;</description></item><item><title>Loosing your Windows softly</title><link>https://jeltsch.org/en/loosing_your_windows_softly/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/loosing_your_windows_softly/</guid><description>&lt;p&gt;I have two hard drives and the partitioning is as follows:hda1 120 GB/dev/hda1 100 MB Linux ext3 /boot/dev/hda2 95 GB Linux ext3 /home/dev/hda3 1 GB Linux swap/dev/hdb4 Extended partition/dev/hdb5 17 GB Linux /hdb1 32 GB/dev/hdb1 100 MB Linux ext3 /boot/dev/hdb2 1 GB Linux swap/dev/hdb3 Extended partition/dev/hdb4 12 GB NTFS Windows2000/dev/hdb5 18 GB Linux reiserfsBoth boot partitions had grub installed (there used to be an old Linux Red Hat 7 install on hdb1). The bios was set to use the first hard drive (hda1) to boot. In order to boot Windows 2000, one needs apparently a Windows-written MBR (master boot record), which is to my understanding something like a hidden partition which is in any case the first partition of any drive (something like hda0). Since there was never Windows 2000 installed on hda1 (is was put later into the machine and put into the bios boot priority first), there was also no Windows 2000-like MBR written into its MBR. The other hard drive (hdb) has a Windows install (Linux was installed later), so there must have been a functioning Windows 2000-like MBR. That MBR most likely was destroyed at some time. This distruction did not happen during the first Linux Red Hat 7 install, as after that one could still boot into Windows 2000 via grub. It must have occurred later somehow (maybe during a grub update?). Then I put the 2nd hard drive in, installed Red Hat 9 and during this install the Red Hat installer put the second grub install onto its boot partition, which did contain a Windows entry (as I specified during the Red Hat 9 installation). Booting into Windows 2000 (which was on the other hard drive) was still possible. But as I never used to boot into Windows (I started to use vmware and then wine), I just recently realized that the Windows entry in the grub.conf had disappeared. Consequently I couldn&amp;rsquo;t boot into Windows anymore. I entered manually the Windows entry like everywhere advised:title Windows 2000rootnoverify (hd1,1)chainloader +1But no go. I always received an error (Error 13 invalid device). I thought I had chosen the wrong partition and tried all possible partitions from (hd1,0) to (hd1,5). Still no go. Although the error messages were different. For the:/boot partition (hd1,0): Grubloader error 25linux /home (hd1,1): Error 13 invalid or unsupported executable format linux swap (hd1,2): Error 12 invalid device extended partition entry (hd1,3): no error occurred, but I was thrown into the grub menu of the boot partition of the 2nd hard drive linux / (hd1,4): Error 12 invalid deviceany other (higher) partition that wasn&amp;rsquo;t present (e.g. hd1,5): Error 12 invalid deviceSo I booted with the Windows 2000 installation CD and tried to fix the the MBR of hdb. I went into the manual repair section and typed the fixmbr command. There was a warning: &amp;ldquo;This operation modifies your partition table and could render all your data on the hard drive inaccessible&amp;rdquo;. I had no choice, so I did it. It didn&amp;rsquo;t help. At least not much. Once thing improved, however: when I swapped the drives (made hdb the master and hda the slave and gave in the BIOS boot priority to the new master, I could boot into Windows 2000. That was already some improvement. However, I still couldn&amp;rsquo;t boot into Windows 2000 via grub. So I booted again with the Windows 2000 installation CD and executed another &amp;ldquo;dangerous&amp;rdquo; command: FIXBOOT. This was the end of my Windows. After that I couldn&amp;rsquo;t boot into Windows at all. I always received the error: ntldr is missing (NT loader is missing). I still managed to use this Windows 2000 installation together with VMware, but otherwise there was no possibility to boot it up. The 
 &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;[LN];318728" target="_blank" rel="noopener noreferrer nofollow"&gt;Microsoft Knowledge Base Article 318728&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 describes many possible solutions to the &amp;ldquo;ntldr is missing&amp;rdquo; error, which I tried all, but without any positive results. Microsoft apparently admits, that this error is unrecoverable in some instances as the last method to rescue such a situation is: &amp;ldquo;Perform a Parallel Installation of Windows 2000 and use the Windows Explorer to copy the data you want to recover&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Self-extracting compressed files</title><link>https://jeltsch.org/en/self_extracting_compressed_files/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/self_extracting_compressed_files/</guid><description>&lt;p&gt;Today I created a self-extracting, compressed file from a pdf document (disclosure.pdf). First I compressed the pdf file:&lt;/p&gt;
&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bzip2 disclosure.pdf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Then I create a text file (header.txt) with the following content:&lt;/p&gt;</description></item><item><title>sudo is not only to sudo (execute files as another user)</title><link>https://jeltsch.org/en/sudo_is_not_only_to_sudo_execute_files_as_another_user/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/sudo_is_not_only_to_sudo_execute_files_as_another_user/</guid><description>&lt;p&gt;If you want to execute a command with root privileges, you normally use the command &amp;ldquo;sudo&amp;rdquo;. But of course you can execute a command also as any other user. E.g. I need to execute some script for my backup as user &amp;ldquo;backuppc&amp;rdquo;. then I just type:&lt;code&gt;sudo -u backuppc /usr/local/backuppc/bin/BackupPC_serverMesg status info&lt;/code&gt;Instead of the username (backuppc) one can also use the user id (uid).&lt;/p&gt;</description></item><item><title>Suse 9</title><link>https://jeltsch.org/en/suse_9/</link><pubDate>Fri, 25 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_9/</guid><description>&lt;p&gt;I switched to Suse 9. I can&amp;rsquo;t figure out from RedHat&amp;rsquo;s announcements what they are really up to. So I better get used to an alternative right now. I also switched from Gnome to KDE and at least on Suse 9, I like KDE more than Gnome on Red Hat 9.&lt;/p&gt;</description></item><item><title>Changing job priority under Linux</title><link>https://jeltsch.org/en/changing_job_priority_under_linux/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_job_priority_under_linux/</guid><description>&lt;p&gt;If the job is already running use:&lt;code&gt;renice 19 -p 2478&lt;/code&gt;This gives the job 2478 (as identified with ps -aux) the lowest possible priority. renice -20 would give it highest priority. If the job is not yet running you can execute it with nice command:&lt;code&gt;nice +19 amuleto execute amule with lowest possible priority) andnice -20 amule&lt;/code&gt;to execute it with highest priority.&lt;/p&gt;</description></item><item><title>Editing the crontab</title><link>https://jeltsch.org/en/editing_the_crontab/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/editing_the_crontab/</guid><description>&lt;p&gt;We have a shared directory (/home/shared) on our computer and a usergroup called &amp;ldquo;shared&amp;rdquo;. The purpose is that we put things there that should be accessible (including writable) to several users of the system. If one user puts a file there, it can be read by others but not e.g. deleted. In order to fix this, we edited the crontab to execute every 5 minutes the following two commands: &lt;code&gt;chgrp -R shared /home/sharedchmod -R 744 /home/shared&lt;/code&gt;In order to do this we edited (as root of course) the /etc/crontab file by adding the line: &lt;code&gt;*/5 * * * * root run-parts /etc/cron.minutely&lt;/code&gt;This means execution every 5 minutes, every hour, every day, every month, every weekday the script run-parts should be executed as root taking all scripts from the /etc/cron.minutely as argument (we created this directory newly in addition to the already existing /etc/cron.hourly, etc.). We restarted crond (the crontab deamon) via the GUI (under RedHat 9 Menu-System Settings-Server Settings-Services).&lt;/p&gt;</description></item><item><title>Installing Staden 2003b on Suse 9</title><link>https://jeltsch.org/en/installing_staden_2003b_on_suse_9/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_staden_2003b_on_suse_9/</guid><description>&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download 
 &lt;a href="http://www.mrc-lmb.cam.ac.uk/pubseq/ftp/staden_package/linux/staden_linux_2003.0b1.tar.gz" target="_blank" rel="noopener noreferrer nofollow"&gt;the sources&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;cd into /usr/local and become su.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;tar -xvzf /home/jeltsch/Documents/staden_linux_2003.0b1.tar.gz&lt;/code&gt; (jeltsch is my usename, thus has to be replaced for other users!!!!)&lt;/p&gt;</description></item><item><title>More about GCK2.5 under wine</title><link>https://jeltsch.org/en/more_about_gck2_5_under_wine/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/more_about_gck2_5_under_wine/</guid><description>&lt;p&gt;After working with GCK2.5 under wine I have identified more bugs that make the program quit unexpectedly. However, now I have not been using cross-over office (as its evaluation period has expired and of course my boss wouldn&amp;rsquo;t spend a cent for Linux programs). So I am using the default installation of wine that comes with Suse 9. I copied over the fake windows directory from the former .cxoffice directory. The following bugs do exist (they always appear when a window opens that requires you to enter alphanumeric values via the keyboard):1. Create new file (I knew about that before). Interestingly the (empty) new file that opens upon program start can be saved without problems…2. Find sequence (one shortly sees the window &amp;ldquo;Find occurence&amp;rdquo; and then the program quits)3. Sometimes (not always), when changing the color of a selected sequence the program quits.4. Features -&amp;gt; Make Region5. When selecting a sequence and getting info&lt;/p&gt;</description></item><item><title>No chown or chmod on samba mounts</title><link>https://jeltsch.org/en/no_chown_or_chmod_on_samba_mounts/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/no_chown_or_chmod_on_samba_mounts/</guid><description>&lt;p&gt;I figured out (hopefully correctly) that owner, group and accession rights to files and directories on an smbmount are not changeable, not even by root. Thus you have to specify everything at mount time, e.g.:&lt;code&gt;sudo mount -t smbfs -o username=jeltsch,credentials=/home/jeltsch/.smbpasswd5 -o uid=backuppc,gid=users,fmask=644,dmask=755 //patolmac217/jeltsch /mnt/jeltsch@patolmac217.hi.helsinki.fi&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Problem to access X desktop from a root terminal</title><link>https://jeltsch.org/en/problem_to_access_x_desktop_from_a_root_terminal/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/problem_to_access_x_desktop_from_a_root_terminal/</guid><description>&lt;p&gt;It never happened to me under Red Hat 9, but when I am working in KDE as a normal user and try to execute emacs from a terminal, in which I am su, I occasionally get the following error message:&lt;code&gt;jeltsch@mcblpc2:~&amp;gt; suPassword:mcblpc2:/home/jeltsch emacs test.txtXlib: connection to &amp;quot;:0.0&amp;quot; refused by serverXlib: Invalid XDM-AUTHORIZATION-1 key (failed key comparison)emacs: Cannot connect to X server :0.0.Check the DISPLAY environment variable or use &lt;/code&gt;-d&amp;rsquo;.&lt;code&gt;Also use the &lt;/code&gt;xhost&amp;rsquo; program to verify that it is set to permit connections from your machine. In order to allow root to access X, you need to execute the following command: &lt;code&gt;mcblpc2:/home/jeltsch export XAUTHORITY=/home/jeltsch/.Xauthoritymcblpc2:/home/jeltsch emacs test.txt&lt;/code&gt;Of course, I can use emacs without its GUI and just type:&lt;code&gt;emacs -nw test.txt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>ps2pdf</title><link>https://jeltsch.org/en/ps2pdf/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ps2pdf/</guid><description>&lt;p&gt;I got a bit confused about the ps2pdf conversion utility. Some people claim, that it invariably creates pdf files with letter pagesize. However there is the argument -sPAPERSIZE=a4 and that should make pdf files with a4-sized pages. It apparently works. If one uses eps files as input files, ps2pdf puts the eps image directly to the border of the pdf file which gets cut off during printing. There should be some utilities to correct this.&lt;/p&gt;</description></item><item><title>RPM management</title><link>https://jeltsch.org/en/rpm_management/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rpm_management/</guid><description>&lt;p&gt;Example: The quanta package&lt;code&gt;rpm -q quanta&lt;/code&gt; Check whether and which version of quanta is installed&lt;code&gt;rpm -ql quanta&lt;/code&gt; List all files (and their installation location) that are provided by the quanta package&lt;code&gt;rpm -ivh quanta&lt;/code&gt; Install quanta&lt;code&gt;rpm -e quanta&lt;/code&gt; Erase (deinstall) quanta&lt;code&gt;rpm -aq | grep quanta&lt;/code&gt; If you don&amp;rsquo;t know exactly what you are looking for you can list all packages and grep them with a substring.&lt;code&gt;rpm -q -f filename&lt;/code&gt; Search for rpm packages that provide filenameA good manual for rpm managemant: 
 &lt;a href="http://www.rpm.org/max-rpm/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.rpm.org/max-rpm/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.If you want to query an RPM that is not installed, you need the following syntax:&lt;code&gt;rpm -qpl --requires quanta.rpm&lt;/code&gt; This would list all requirements and all files that are in the package.&lt;code&gt;cat package.rpm | rpm2cpio | pax -r&lt;/code&gt; Extract a file from an rpm package.&lt;/p&gt;</description></item><item><title>Starting up and shutting down network cards</title><link>https://jeltsch.org/en/starting_up_and_shutting_down_network_cards/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/starting_up_and_shutting_down_network_cards/</guid><description>&lt;p&gt;STARTING:(/usr)/sbin/ifup eth0 (or eth1)STOPPING:(/usr)/sbin/ifdown eth0 (or eth1)STATUS:(/usr)/sbin/ifconfig -a&lt;/p&gt;</description></item><item><title>Using Riositude under VMware</title><link>https://jeltsch.org/en/using_riositude_under_vmware/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/using_riositude_under_vmware/</guid><description>&lt;p&gt;I have to admit, that there is no really functioning GUI for the rioutils. Meaning that if I want to upload mp3 files to my Rio500 under Linux I have to use the command line (and even the command line seems to be somehow instable as the rpm was created a while ago and compiling fails under the recent Linux releases (Red Hat 8,9, Suse 8, 9). So I used first the Rioport AudioManager 3 under VMware. It is slow and the GUI is as bad as it gets (bloatware). A really cool replacement program for Windows is 
 &lt;a href="http://www.drilsej.com/rio.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Riositude&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It&amp;rsquo;s much faster, easier to use and takes not even 200 KB disk space. It works great from VMware provided I start it up immediately after plugging in my Rio500. Otherwise the Linux takes over (I guess a usb kernel module is loaded automatically upon plugging in the Rio). The kernel module has to be removed manually by &amp;ldquo;sudo /sbin/rmmod rio500&amp;rdquo; to allow VMware to control the Rio. To check which kernel moduls are loaded, use &amp;ldquo;/sbin/lsmod&amp;rdquo;. I should somehow get rid of this module if I want to stick to Riositude/VMware to operate my Rio. There are of course other programs for Windows, that can do a similar job, e.g. 
 &lt;a href="http://duncanthrax.net/riofxp/" target="_blank" rel="noopener noreferrer nofollow"&gt;Rio FXP&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Unfortunately this one didn&amp;rsquo;t work for us under WindowsXP. A listing of Riosoftware can be found at 
 &lt;a href="http://www.rioworld.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;rioworld.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>VNC server (aka KDE Desktop Sharing) under Suse 9</title><link>https://jeltsch.org/en/vnc_server_aka_kde_desktop_sharing_under_suse_9/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vnc_server_aka_kde_desktop_sharing_under_suse_9/</guid><description>&lt;p&gt;Suse 9 has an inbuilt VNC server called KDE Desktop sharing (under the System -&amp;gt; Remote Access menu). It can be configured in the Control Center -&amp;gt; Internet &amp;amp; Network. Unlike when you start up VNC via the command line (&amp;ldquo;vncserver&amp;rdquo;) this tool doesn&amp;rsquo;t start a new X desktop, but connects to your already existing X desktop. It is possible to run in addition to the inbuilt KDE Desktop Sharing a normal vncserver that starts its own X sessions.&lt;/p&gt;</description></item><item><title>VNC server under Suse 9</title><link>https://jeltsch.org/en/vnc_server_under_suse_9/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vnc_server_under_suse_9/</guid><description>&lt;p&gt;I tried to use vncserver on Suse 9, but to my surprise upon starting up with &amp;ldquo;vncserver&amp;rdquo; and then connecting with the &amp;ldquo;vncviewer&amp;rdquo; command I only saw the grey screen and an X terminal. I tried to execute xclock and gaim and they start up nicely. However I would also like to bee able to start up KDE. So I looked into the xstartup file (in the .vnc directory in your home folder) from my old Red Hat 9 install and compared it to the one from my Suse 9 install:Suse 9:&lt;code&gt;!/bin/shxrdb $HOME/.Xresourcesxsetroot -solid greyxterm -geometry 80x24+10+10 -ls -title &amp;quot;$VNCDESKTOP Desktop&amp;quot; &amp;amp;twm &amp;amp;&lt;/code&gt;Red Hat 9:&lt;code&gt;!/bin/shRed Hat Linux VNC session startup scriptunset SESSION_MANAGERexec /etc/X11/xinit/xinitrc&lt;/code&gt;I figured out that twm is a window manager; thus it replaces KDE in this context. If I replace the Suse script by the Red Hat script, KDE starts up upon starting vncserver.&lt;/p&gt;</description></item><item><title>What Text Editor for Linux?</title><link>https://jeltsch.org/en/what_text_editor_for_linux/</link><pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_text_editor_for_linux/</guid><description>&lt;p&gt;I have been using emacs (or Xemacs) so far, but now I started to use 
 &lt;a href="http://www.nedit.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Nedit&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Seems to be quite powerful and fast (although nothing comes close to BBEdit, unfortunately only for Macs).&lt;/p&gt;</description></item><item><title>A good introduction to shell scripting</title><link>https://jeltsch.org/en/a_good_introduction_to_shell_scripting/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/a_good_introduction_to_shell_scripting/</guid><description>&lt;p&gt;
 &lt;a href="http://www.freeos.com/guides/lsst" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.freeos.com/guides/lsst&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Adding a Suse 9 to a Red Hat 9 (two different distros on the same computer)</title><link>https://jeltsch.org/en/adding_a_suse_9_to_a_red_hat_9_two_different_distros_on_the_same_computer/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/adding_a_suse_9_to_a_red_hat_9_two_different_distros_on_the_same_computer/</guid><description>&lt;p&gt;Red Hat 9 is installed and the following partitioning is present:&lt;code&gt;hdd1 /boot (ext3) 100MBhdd2 /home (reiserfs) 7.8GBhdd3 / (ext3) 7.8GBhdd4 EXThdd5 swap 1GBhdd6 /mnt/documents (reiserfs) 12GBhdd7 /mnt/music (reiserfs) 90GB&lt;/code&gt;The task is to add a second Linux OS (Suse 9) onto this hard disk without destroying anything. The root partition of this system should be 10 GB. Additionally I want to put all user-created files on one partition (now they are on three different partitions: hdd2, hdd6 and hdd7). First I got a 200 MB external USB2/firewire hard drive (Maxtor, mounted as /mnt/sdb1) and copied the data from hdd1, hdd2, hdd6 and hdd7 onto it with &amp;ldquo;cp -ax /home /mnt/sdb1&amp;rdquo;, etc. Then I rebooted using the Knoppix 3.3 CD and from a root terminal executed partimage. I tried to save the image of the root partition directly to my external usb drive, but without success: everytime the program halted somewhere during the process. I then saved the image on /mnt/music and that succeeded. I rebooted into Red Hat 9 and copied the image manually from /mnt/music to the usb drive (/mnt/sdb1). Because I didn&amp;rsquo;t trust the partimage program, I additionally copied the filesystem manually to the usb drive using the following commands:
mkdir /mnt/sdb1/redhat_root
cd /
find . -xdev -print | cpio -padm /mnt/sdb1/redhat_root
Apparently this copies everything including special files, mount points, etc. preserving all the file meta data. After this I disconnected the external usb drive (to be on the safe side), rebooted into Knoppix and wanted to try out QTParted. It should be able to resize partitions. From a root terminal: &amp;ldquo;qtparted&amp;rdquo;. However, I was not able to resize anything (the options were greyed out). I could delete and recreate though (which didn&amp;rsquo;t help much). So I decided to go for a clean sweep, popped the Suse 9 CD into the drive and rebooted into the Suse 9 installer. I choose expert partitioning and deleted all partitions that were present and recreated the following partitions. I made sure to use exactly the same amount of blocks (1019) for hdb3 as had been used for hdd3 because I knew that partimage can only restore images onto partitions that have exactly the same size or are bigger:&lt;code&gt;/dev/hdb1 1 8 64228+ 83 Linux (ext3) /boot/dev/hdb2 9 1314 10490445 83 Linux (reiserfs) //dev/hdb3 1315 2333 8185117+ 83 Linux (reiserfs) /redhat/dev/hdb4 2334 14945 101305890 f Win95 Ext'd (LBA)/dev/hdb5 2334 2464 1052226 82 Linux swap/dev/hdb6 2465 14945 100253601 83 Linux (reiserfs) /home&lt;/code&gt;After the install had finished, I rebooted into Knoppix and tried to restore the Red Hat root partition onto hdb3. Partimage told me that the partition was smaller than the image, thus a restore was not possible. So rebooted into Suse 9 and manually copied the Red Hat 9 root system back to hdb3 (with the same command sequnce that was used to copy it manually to the usb drive). Then I changed /redhat/etc/fstab to reflect the new partitioning and copied all the files from /boot (but not the subdirectories from /boot) onto the new boot partition (except those files that had already equivalents in /boot). Then I modified /boot/grub/menu.lst by adding a line for the Red Hat install:&lt;code&gt;title Red Hat 9 Linuxroot (hd1,0)kernel /vmlinuz-2.4.20-19.9 root=/dev/hdb3initrd /initrd-2.4.20-19.9.img&lt;/code&gt;I also create the two user folders in the /home directory (which used to be the mount point for the /home partition). But I copy all the hidden files and directories (those starting with a .) into the userfolders.Then I tried to reboot into Red Hat 9. Without success. Kernel panic. No init found. Try passing init=option to the kernel. Actually the file system check of hdb3 failed (no superblock found). There are several error messages and the important ones come first and fast (and you don&amp;rsquo;t see them) and the bad, misleading error messages come late. Something like that you should manually repair the partition. And that root is mounted read-only. And that you can make it read-write by &amp;ldquo;mount -n -o remount,rw /&amp;rdquo;. And that only with Ctrl-D one can reboot into this state. Obviously that&amp;rsquo;s what I am going to do. However there is no hint about what command to use. Several attempts to do anything while having mounted from hdb failed (if reiserfs is read-only it cannot be repaired, if it is read-write it cannot be checked). So I reboot into Knoppix and do the repair from there: fsck (which executes reiserfsck) doesn&amp;rsquo;t do the job: it only checks, but doesn&amp;rsquo;t do any repairs. I figured that flagging reiserfsck &amp;ndash;rebuild-sb /dev/hdb3 does repair the superblock. Still no go, so I do the slow complete rebuild of the filesystem from scratch with reiserfsck &amp;ndash;rebuild-tree /dev/hdb3. It still doesn&amp;rsquo;t boot into RH9. Then I get the idea: the RH9 kernel might not support reiserfs (or the module is not loaded). Or (alternatively) copying some special files from a ext3 partition to a reiserfs partition might simply not work. So I delete (from Knoppix) the whole hdb3 and recreate it as ext3. Copy back all the data (QTParted still complains about too small size). And it finally works. I create two directories for the two users on the /home partitons and manually copy into them the non-hidden files of the old userfolders. I don&amp;rsquo;t copy the hidden files. There are many that would screw up Suse and make it impossible to log in (I had tried that out before). I log into Suse 9 as root and create the two users with exactly the same name as on RH9. There is a warning that the directory exists and that all its content will be owned by the new user. That is OK of course.&lt;/p&gt;</description></item><item><title>Adobe Acrobat 5.0.5 under wine</title><link>https://jeltsch.org/en/adobe_acrobat_5_0_5_under_wine/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/adobe_acrobat_5_0_5_under_wine/</guid><description>&lt;p&gt;I reinstalled Acrobat 5 to run it under wine. It didn&amp;rsquo;t work. The reason appeared to be again a plugin: DocBox.api. After removing it everything went smoothly. Already before (using RedHat 9) I have had trouble with a Acrobat plugin (it was WebPDF.api at that time). Most manipulation of pdf files can be easily done with Linux tools, but one thing is tricky: cropping already existing pdf files. That&amp;rsquo;s why I need Acrobat.&lt;/p&gt;</description></item><item><title>Apache on Mac OS X</title><link>https://jeltsch.org/en/apache_on_mac_os_x/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/apache_on_mac_os_x/</guid><description>&lt;p&gt;I still use one of our ancient Macintoshs (Blue/White G3) as a web server (
 &lt;a href="http://msbl.helsinki.fi" target="_blank" rel="noopener noreferrer nofollow"&gt;msbl.helsinki.fi&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). I had set up some access restrictions for some of the pages containing confidential data. And of course I forgot how I did it. Now I needed to figure out as I wanted to add some new stuff. For the general server, the accession is restricted based on individual .htaccess files in directories. In my own user directory (
 &lt;a href="http://msbl.helsinki.fi/~michael" target="_blank" rel="noopener noreferrer nofollow"&gt;msbl.helsinki.fi/~michael&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) only one folder is access restricted (
 &lt;a href="http://msbl.helsinki.fi/~michael/presentations/confidential" target="_blank" rel="noopener noreferrer nofollow"&gt;msbl.helsinki.fi/~michael/presentations/confidential&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). This setting is done in the main configuration file of Apache (/etc/httpd/httpd.conf) and only two users (michael and mcbl) have access via the following entry:&lt;code&gt; AuthType Basic AuthName &amp;quot;Confidental&amp;quot; AuthUserFile /Users/michael/.htpasswd require user michael mcbl&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Burning CDs from the command line: cdrdao</title><link>https://jeltsch.org/en/burning_cds_from_the_command_line_cdrdao/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/burning_cds_from_the_command_line_cdrdao/</guid><description>&lt;p&gt;K3b seems to be the best GUI for burning CDs on Linux. But today it failed to burn an image file (bin/cue) and I don&amp;rsquo;t know why. So I used:&lt;code&gt;cdrdao write --device /dev/cdrecorder --speed 8 filename.cue&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Changing sound volume or bitrate of mp3 files with lame</title><link>https://jeltsch.org/en/changing_sound_volume_or_bitrate_of_mp3_files_with_lame/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_sound_volume_or_bitrate_of_mp3_files_with_lame/</guid><description>&lt;p&gt;Sometimes the recording level of mp3 files is very low. If I do some jogging next to a busy road, I cannot hear anything even when the sound volume is on the max. Therefore I have to increase the volume of the mp3 file. Using lame you can do it with the following script: &lt;code&gt;#!/bin/bashwhile [ $# -ge 1 ]; doinfn=$1outfn=&amp;quot;${infn%%.mp3}_3x.mp3&amp;quot;echo $outfnlame --mp3input -v --scale=3 $infn $outfnshift 1done&lt;/code&gt;The only problem is that filnames with blank spaces make this script to collapse. Have to figure out something else. Also the bitrate can be modified in this way:&lt;code&gt;#!/bin/bashwhile [ $# -ge 1 ]; doinfn=$1outfn=&amp;quot;${infn%%.mp3}_LQ.mp3&amp;quot;echo $outfnlame --mp3input -V 9 $infn $outfnshift 1done&lt;/code&gt;-V 9 is the lowest bitrate/quality -V 0 is the highest.&lt;/p&gt;</description></item><item><title>Changing specific ownerships: chmod --from</title><link>https://jeltsch.org/en/changing_specific_ownerships_chmod_from/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_specific_ownerships_chmod_from/</guid><description>&lt;p&gt;I copied a bunch of preference files (those files and directories whose name starts with a dot) from my old RedHat home directory into my new Suse install. I had backed up the files being root and so all of them were owner:group root:root. In order to only change those files, that had root:root into jeltsch:users I executed from within my home directory:&lt;code&gt;sudo chown -R --from=root:root jeltsch:users .*&lt;/code&gt;If you wanted to change all files on the system that belong to one user you could use:&lt;code&gt;sudo chown -R --from=username newowner /&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Creating a boot floppy for RedHat 8</title><link>https://jeltsch.org/en/creating_a_boot_floppy_for_redhat_8/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_a_boot_floppy_for_redhat_8/</guid><description>&lt;p&gt;Get the boot floppy image from the RedHat site and write it to a floppy. The floppy should not be mounted while writing:&lt;code&gt;dd if=boot.img of=/dev/fd0&lt;/code&gt;That&amp;rsquo;s actually the command to write any floppy image back to a floppy.&lt;/p&gt;</description></item><item><title>Creating groups and changing group membership in Mac OS X</title><link>https://jeltsch.org/en/creating_groups_and_changing_group_membership_in_mac_os_x/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_groups_and_changing_group_membership_in_mac_os_x/</guid><description>&lt;p&gt;I want to store some files on a Macintosh (OS 10.2). They should be in the Public folder, but only accessible (= only readable) by certain people. Thus I would like to create a new group that has accession rights to these files. Strangely, the group command doesn&amp;rsquo;t exist on MacOS X (chgrp does exist though). I downloaded the 
 &lt;a href="http://www.avalon.net/~tmcintos/software/UserManager/" target="_blank" rel="noopener noreferrer nofollow"&gt;User Manager&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 application. But the version for OS 10.2 was not really easy to use. Thus I used the NetInfo Manager. I duplicated an existing group, changed its name to &amp;ldquo;gck&amp;rdquo; and id number and added two users (if you have more than one entry, you have to add them in brackets and comma-seperated). Then I created a directory in my Public folder and changed its group to &amp;ldquo;gck&amp;rdquo;. Permissions for this directory are drwxr-x&amp;mdash;. The files inside this directory also belong all to the &amp;ldquo;gck&amp;rdquo; group and have -rwxr&amp;mdash;&amp;ndash; permissions.&lt;/p&gt;</description></item><item><title>Creating Konqueror Service Menus (aka contextual menus)</title><link>https://jeltsch.org/en/creating_konqueror_service_menus_aka_contextual_menus/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_konqueror_service_menus_aka_contextual_menus/</guid><description>&lt;p&gt;Konqueror Service Menues are additonal options that are displayed when you right-click on a file in Konqueror. They are file-type specific, meaning you can define which options are displayed depending what type of file you are right-clicking. Mac-people call these &amp;ldquo;contextual menues&amp;rdquo;. A good tutorial is 
 &lt;a href="https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_MenusIn" target="_blank" rel="noopener noreferrer nofollow"&gt;https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_MenusIn&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 short: In the directory /opt/kde3/share/apps/konqueror/servicemenus there is a buch of desktop files. Just duplicate one, rename it and edit its content to please you. In the following example I have created a new file (pdfpic.desktop), that adds a menu option that is displayed when I right-click jpg files and it starts an editor with which I can add or modify the embedded rdf (resource description framework) information of a jpeg file. The editor is a java application and the %U sais, that if many files are simultaneously right-clicked they should be opened in one instance of the program.&lt;code&gt;[Desktop Entry]ServiceTypes=image/jpegActions=openInRdfpic[Desktop Action openInRdfpic]Name=Edit metadataIcon=backgroundExec=/usr/lib/java2/jre/bin/java -jar /usr/local/rdfpic-2.1/rdfpic.jar %U&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Editing (resizing, format converting, compressing) images in the command line with ImageMagick (mogrify, convert)</title><link>https://jeltsch.org/en/editing_resizing_format_converting_compressing_images_in_the_command_line_with_imagemagick_mogrify_convert/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/editing_resizing_format_converting_compressing_images_in_the_command_line_with_imagemagick_mogrify_convert/</guid><description>&lt;p&gt;Resize all tif images in the current directory:&lt;code&gt;mogrify -resize 25% 25% *.tif&lt;/code&gt;Resize all jpeg images in the current directory to a width of 614 pixels and keep the image ratio constant:&lt;code&gt;mogrify -resize 614 *.jpg&lt;/code&gt;As above, but resize the hight to 614 pixels:&lt;code&gt;mogrify -resize x614 *.jpg&lt;/code&gt;Convert all bmp imgaes in the current directory into tiff images:&lt;code&gt;mogrify -format tiff *.bmp&lt;/code&gt;Compress all tiff images in the current directory with ZIP compression:&lt;code&gt;mogrify -compress ZIP *.tiff&lt;/code&gt;I tried to convert also pict files (from Macintosh), but without success, although the pict file format appears to be supported by Imagemagick. In order to make sure that ImageMagick knows that the file to convert is a pict file I used this command:&lt;code&gt;convert pict:Photo0024.PICT tiff:Photo0002.tif&lt;/code&gt;There is also a picttoppm utility in the netpbm package, but it was not anymore included in the version that Suse 9 uses; so I couldn&amp;rsquo;t check that out…Interestingly PixiePlus can display pict files, where does it take the routines from?If you have very large images, the default limits of ImageMagick are resulting in an error(e.g. mogrify-im6.q16: width or height exceeds limit) and you need to edit /etc/ImageMagick-6/policy.xml!&lt;/p&gt;</description></item><item><title>GRAMPS and Suse Linux 9</title><link>https://jeltsch.org/en/gramps_and_suse_linux_9/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/gramps_and_suse_linux_9/</guid><description>&lt;p&gt;At first I thought there is no way to get the GRAMPS genealogy software running on Suse 9. Apparently GNOME support by Suse sucks; the GRAMPS developers even say there are several things broken in the GNOME support of Suse. But finally there is a Suse Linux 9 RPM, that works (at least for us): 
 &lt;a href="http://apt.bygden.nu/SuSE/9.0-i386/RPMS.suser-rbos/gramps-0.98.0-rb1.i586.rpm" target="_blank" rel="noopener noreferrer nofollow"&gt;http://apt.bygden.nu/SuSE/9.0-i386/RPMS.suser-rbos/gramps-0.98.0-rb1.i586.rpm&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.
Here also my favourite way to make a graphical report from GRAMPS (you need to have the 
 &lt;a href="http://www.research.att.com/sw/tools/graphviz/" target="_blank" rel="noopener noreferrer nofollow"&gt;graphviz&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 package installed):If you want to make a pdf file:&lt;/p&gt;</description></item><item><title>How to import sequences from SRS into GCK2.5</title><link>https://jeltsch.org/en/how_to_import_sequences_from_srs_into_gck2_5/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_import_sequences_from_srs_into_gck2_5/</guid><description>&lt;p&gt;Obviously you can import sequences into GCK2.5 directly from Genbank. But usually you are working with a web tool like SRS and end up having your sequences displayed in your browser. From SRS version 7 the import goes as follows: From your fancy display, click SAVE. From the pull-down menu &amp;ldquo;Use view&amp;rdquo; select * Complete Entries *. Then &amp;ldquo;Output to&amp;rdquo; FILE (TEXT). Check under &amp;ldquo;Save as type&amp;rdquo; SAVE TABEL AS ASCii TABLE/TEXT WITH. Click SAVE and save it somewhere with the file extension .ebl. Then from within GCK2.5 select IMPORT and select the file. Ready.&lt;/p&gt;</description></item><item><title>How to mount a NFS export</title><link>https://jeltsch.org/en/how_to_mount_a_nfs_export/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_mount_a_nfs_export/</guid><description>&lt;p&gt;&lt;code&gt;sudo mount -t nfs -o rw server:/var/www /webserver&lt;/code&gt;or&lt;code&gt;mount server:/var/www /webserver&lt;/code&gt;The mount can be put into /etc/fstab, e.g.:&lt;code&gt;server:/var/www /webserver nfs rsize=8192,wsize=8192,timeo=14,intr,user&lt;/code&gt;This doesn&amp;rsquo;t mount the nfs export automatically during startup, but any user can mount it by executing &amp;ldquo;mount /webserver&amp;rdquo;. Be aware that if you have mounted another filesystem under /var/www (e.g. if you keep all html data on a seperate partition like /var/www/htdocs), these won&amp;rsquo;t be available unless you export the partition&amp;rsquo;s mountpoint seperately!&lt;/p&gt;</description></item><item><title>How to rescue a bad X configuration during Suse 9 install</title><link>https://jeltsch.org/en/how_to_rescue_a_bad_x_configuration_during_suse_9_install/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_rescue_a_bad_x_configuration_during_suse_9_install/</guid><description>&lt;p&gt;During my first Suse9 install I screwed up X. During the configuration of X the installer suggested to me: vesa 1600x1200@75. I thought I was smarter and went to the manual configuration and selected my Nokia 445Xi monitor from the list. Then it tried to switch into the new mode and gave me buttons to adjust the settings (centering, width, etc.). I did that and after I was satisfied continued the installation. When X was supposed to start up for the first time, my screen showed only &amp;ldquo;out of synch&amp;rdquo;. The way how to repair this is: Reboot in safe mode; change in /boot/grub/menu.lst vga=xxx into vga=normal and remove the &amp;ldquo;showopts&amp;rdquo; entry. Reboot again in safe mode, change to runlevel 3 (&amp;ldquo;init 3&amp;rdquo;) and execute sax2 &amp;ndash;vesa 0:1024x768@75. Then I again selected my Nokia monitor but didn&amp;rsquo;t do the adjustments (I centered and sized the image only via the front panel knobs on the monitor). And everything is fine again.&lt;/p&gt;</description></item><item><title>MySQL install</title><link>https://jeltsch.org/en/mysql_install/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mysql_install/</guid><description>&lt;p&gt;After installing the Suse 9 rpm, execute the following commands:&lt;code&gt;sudo /usr/bin/mysql_install_db&lt;/code&gt;(Creating default databases &amp;amp; permissions. Apparently the same can be done by &amp;ldquo;sudo rcmysql start&amp;rdquo;)&lt;code&gt;sudo /usr/bin/mysqld_safe --user=mysql &amp;amp;&lt;/code&gt;(Start the server for the first time)REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! This is done with: &lt;code&gt;/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h hostname password 'new-password'&lt;/code&gt;Give all privileges to root and user:&lt;code&gt;/usr/bin/mysql -u root -p Enter password:Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 4.0.15 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; quit Bye``/usr/bin/mysqladmin version&lt;/code&gt;(later &amp;ldquo;/usr/bin/mysqladmin -u root -p version&amp;rdquo; is necessary)&lt;code&gt;/usr/bin/mysqladmin variables&lt;/code&gt;(later &amp;ldquo;/usr/bin/mysqladmin -u root -p variables&amp;rdquo; is necessary)&lt;code&gt;/usr/bin/mysqladmin -u root -p shutdown&lt;/code&gt;(can you shutdown the server?)&lt;code&gt;sudo /usr/bin/mysqld_safe --log &amp;amp;&lt;/code&gt;(can you start the server?)&lt;code&gt;ps -A | grep mysql&lt;/code&gt;(check whether the server process is running)&lt;code&gt;/usr/bin/mysqlshow -u root -p&lt;/code&gt;(show all databases)&lt;code&gt;/usr/bin/mysqlshow -u root -p mysql&lt;/code&gt;(show the tables of database &amp;ldquo;mysql&amp;rdquo;)To start the mysql daemon at system startup, you should go to the runlevel editor (advanced mode) and toggle the status for the mysql entry of init.d&lt;/p&gt;</description></item><item><title>Piping the output of find into a new command (find, xargs)</title><link>https://jeltsch.org/en/piping_the_output_of_find_into_a_new_command_find_xargs/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/piping_the_output_of_find_into_a_new_command_find_xargs/</guid><description>&lt;p&gt;E.g. to change the permissions of all directories:&lt;code&gt;find . -type d -print | xargs /bin/chmod ug+rx&lt;/code&gt;To be able to handle directory names with special characters&lt;code&gt;find . -type d -print0 | xargs -0 /bin/chmod ug+rx&lt;/code&gt;In order to find all tif files in the current directory or below and to compress them (using the ImageMagick &amp;ldquo;mogrify&amp;rdquo; command and LZW compression):&lt;code&gt;find . -name '*.tif' -print | xargs mogrify -compress LZW&lt;/code&gt;Apart from the &amp;ldquo;xargs&amp;rdquo; method, some command (including find) accept the &amp;ldquo;-exec&amp;rdquo; argument. The following finds all files in the current directory that are smaller than 4k and deletes them:&lt;code&gt;find . -size -4k -exec rm {} \;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Problems with vhosts on RedHat 8</title><link>https://jeltsch.org/en/problems_with_vhosts_on_redhat_8/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/problems_with_vhosts_on_redhat_8/</guid><description>&lt;p&gt;We have httpd-2.0.40-11.9 installed and configured at our domain registrars site that jeltsch.org, marzidesign.com and sundayscam.com are forwared to our IP address (62.18.133.129). However, whatever site we requested from within our browser, the index.html files from vhost jeltsch.org was loaded. First it seemed that the browsers request didn&amp;rsquo;t include the name of the server. Because in such cases the webservers serves the first vhost in the list (which is jeltsch.org). However, the problem was another one: Under the vhosts directives we had the following configuration:&lt;code&gt;NameVirtualHost *:80ServerAdmin webmaster@jeltsch.orgDocumentRoot /var/www/html/vhosts/jeltsch.orgServerName jeltsch.orgServerAlias www.jeltsch.orgErrorLog logs/jeltsch.org-error_logCustomLog logs/jeltsch.org-access_log combined&lt;/code&gt;and then all the other vhosts. When we changed these settings to the following ones, things started to work:&lt;code&gt;NameVirtualHost 62.78.133.129ServerAdmin webmaster@jeltsch.orgDocumentRoot /var/www/html/vhosts/jeltsch.orgServerName jeltsch.orgServerAlias www.jeltsch.orgErrorLog logs/jeltsch.org-error_logCustomLog logs/jeltsch.org-access_log combined&lt;/code&gt;This is not nice as it requires us to change the IP number in the httpd.conf file every time our dynamically assigned ip address changes. In theory the * should work.&lt;/p&gt;</description></item><item><title>ps2pdf versus pstill and password protection of pdf documents</title><link>https://jeltsch.org/en/ps2pdf_versus_pstill_and_password_protection_of_pdf_documents/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ps2pdf_versus_pstill_and_password_protection_of_pdf_documents/</guid><description>&lt;p&gt;While reading about ps2pdf (which is just a commandline front-end to ghostscript), I realized that despite its simple appearance, ps2pdf has almost all capabilities of Acrobat 5. ps2pdf14 outputs Acrobat 5-compatible files. According to the documentation strong password protection should be possible, however, I never managed with that.In theory the following commands should work:&lt;code&gt;-sOwnerPassword= and -sUserPassword=&lt;/code&gt;In order to set the key length to 128 you have to use&lt;code&gt;ps2pdf14 -dEncryptionR=3 -dKeylength=128&lt;/code&gt;Another thing that I don&amp;rsquo;t know how to handle easily with ps2pdf is the cropping of documents.For the password protection, a very good alternative seems to be PStill (
 &lt;a href="http://www.pstill.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.pstill.com/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). The command:&lt;code&gt;pstill -Muserpassword=testpassword testfile.ps&lt;/code&gt;does the trick.&lt;/p&gt;</description></item><item><title>Running wine from a real windows install</title><link>https://jeltsch.org/en/running_wine_from_a_real_windows_install/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/running_wine_from_a_real_windows_install/</guid><description>&lt;p&gt;I thought wine might run better from a real windows install. So I resized my partitions to free some 8 GB space. Unfortunately the partitioning software was not really great as I lost one of my partitions (the one where I had stored all of my downloads…). So I decided to go for a clean start and formatted the whole hard disk. First I partitioned the disk using cfdisk. Then I installed Windows98 from the installer CD onto the FAT32 partition, after that Windows2000 from the installer CD to another FAT32 partition (I wanted to install WindowsXP, but the installer CD refused to boot my computer). After that I reinstalled Suse 9 and copied back my home folder from my backup disk. So far wine works fine (after some minor adjustments in $home/.wine/config and mounting the Windows98 partition with&lt;code&gt;mount -t vfat -o uid=jeltsch,gid=users,fmask=644,dmask=755 /dev/hda1 /media/win98&lt;/code&gt;Without giving the uid, gis, fmask and dmask options you won&amp;rsquo;t be able to write anything to the partition.&lt;/p&gt;</description></item><item><title>Samba trouble (smb, smbadduser, smbpasswd)</title><link>https://jeltsch.org/en/samba_trouble_smb_smbadduser_smbpasswd/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/samba_trouble_smb_smbadduser_smbpasswd/</guid><description>&lt;p&gt;If your samba is unreliable, there can be a number of reasons. I got the impression that YAST overwrites configuration data you have manually edited (e.g. in the password and user files) when you try to change settings via the YAST samba setup procedure. Here follows a checklist in case samba is again not responding or not visible in the network neighborhood. It could be that the unreliability is due to a PDC shutting down. Maybe I should make my Linux the PDC as it is always running. Anyway even if I manage to connect from W2K (using map network drive) I couldn&amp;rsquo;t connect from W98 by clicking the visible icon of my computer in the MCBL workgroup (&amp;ldquo;network path not found&amp;rdquo;). And in MacOSX my computer was not visible at all (but I could connect via the manual command &amp;ldquo;smb://128.214.186.42/homes&amp;rdquo;). Strange…In /etc/samba/smb.conf:&lt;/p&gt;</description></item><item><title>Spin down the harddisk with hdparm</title><link>https://jeltsch.org/en/spin_down_the_harddisk_with_hdparm/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/spin_down_the_harddisk_with_hdparm/</guid><description>&lt;p&gt;The command to spin down the hard disk after 50 seconds (5x10) being idle: &lt;code&gt;/sbin/hdparm -S10 /dev/hda&lt;/code&gt;&lt;/p&gt;</description></item><item><title>ssh host keys</title><link>https://jeltsch.org/en/ssh_host_keys/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ssh_host_keys/</guid><description>&lt;p&gt;When reinstalling an ssh server, one should keep the ssh key files from the old system. Otherwise ssh clients will receive messages of like &amp;ldquo;IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!&amp;rdquo;. If you didn&amp;rsquo;t keep the files, the clients can of course delete the entries from the host key file (usually /home/user/.ssh/known_hosts). When the user connects after that again to the server, the new, changed host key files are added to the host key file.&lt;/p&gt;</description></item><item><title>The new iPod (3rd generation) and Suse Linux 9</title><link>https://jeltsch.org/en/the_new_ipod_3rd_generation_and_suse_linux_9/</link><pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_new_ipod_3rd_generation_and_suse_linux_9/</guid><description>&lt;p&gt;I have bought an iPod. And it appears that the 
 &lt;a href="http://msbl.helsinki.fi/~michael/images/iPod3rd_gen.jpg" target="_blank" rel="noopener noreferrer nofollow"&gt;3rd generation iPod&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is substantially different from the previous models. E.g. in its file system. In previous models you could convert the HFS+ file system into a FAT32 filesystem. HFS+ is the filesystem used by the new MacOS X OS. It cannot be read by Windows OS (unless you buy commerical third party software such as MacOpener or MacDrive). There are several Linux-interfaces for the iPod, but they all require that the iPod is mounted as a regular mass storage device. Suse Linux 9 luckily has support for HFS+ filesystems although it is still experimental. In order to be able to mount HFS+ formatted file systems, you have to load the hfsplus kernel module:&lt;code&gt;sudo /sbin/modprobe hfsplus&lt;/code&gt;After that you can just plug in the iPod. After a while you will hear a beep meaning that it was recognized. To determine which device number it got you should check the system messages:&lt;code&gt;tail -30 /var/log/messages&lt;/code&gt;As it is handles like a SCSI device it will get probably sda if it is your first usb/firewire device. If you have already usb or firewire devices connected to your computer it will get maybe sdb or sdc (and so on). Create a mount point:&lt;code&gt;sudo mkdir /media/ipod&lt;/code&gt;The 3rd generation iPod has apparently two partitions. The first must be for the firmware/system software (sdx1) and the second is for the data (sdx29. Funnily when I tried to mount it with&lt;code&gt;sudo mount -t hfsplus /dev/sdc2 /media/ipod&lt;/code&gt;the system complained that something is not OK with the device. However, when I tried:&lt;code&gt;sudo mount -o umask=000 /dev/sdc2 /media/ipod&lt;/code&gt;everything went smoothly. The umask option is necessary in order to give everybody read-write access. Otherwise only root can write. I installed 
 &lt;a href="http://gtkpod.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;gtkpod&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 to move my mp3s to the iPod. There is even a 
 &lt;a href="http://packman.links2linux.org/?action=320" target="_blank" rel="noopener noreferrer nofollow"&gt;Suse 9 rpm&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 around.&lt;/p&gt;</description></item><item><title>Reading Macintosh Standard-formated disks (hfs)</title><link>https://jeltsch.org/en/reading_macintosh_standard_formated_disks_hfs/</link><pubDate>Tue, 22 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reading_macintosh_standard_formated_disks_hfs/</guid><description>&lt;p&gt;Apparently the kernel module to read hfs-formated disks is less functional than the one for hfsplus-formated disks. I managed to crash my system mounting an hfs-formatted CD. A good alternative are the hfs utilities (hfsutils). There is also an easy GUI for them called xhfsutil.UPDATE (25.12.2023): I needed to mount an HFS+ formatted partition from a 2011 MacbookPro (macOS Sierra) to copy some data before disposing of it. Strangely, my Ubuntu 20.04 still cannot automatically manage to mount these if they are wrapped in a CoreStorage volume (which started in macOS 10.10). In order to mount these, you need to specify a size limit (for details, see 
 &lt;a href="https://superuser.com/questions/961401/mounting-hfs-partition-on-arch-linux/1088110#1088110%29" target="_blank" rel="noopener noreferrer nofollow"&gt;https://superuser.com/questions/961401/mounting-hfs-partition-on-arch-linux/1088110#1088110)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. To figure out the exact size limit, you use testdisk. You need to find out the size of the partition (which testdisk gives you in sectors). You need to multiply the sector number with the sector size (which you can figure out with fdisk; it&amp;rsquo;s usually 512). The command for mounting the partition is:&lt;code&gt;mount -t hfsplus -o ro,sizelimit=N /dev/sdXn /mnt&lt;/code&gt;&lt;/p&gt;</description></item><item><title>autofs, automount, auto.master and mounting samba shares</title><link>https://jeltsch.org/en/autofs_automount_auto_master_and_mounting_samba_shares/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/autofs_automount_auto_master_and_mounting_samba_shares/</guid><description>&lt;p&gt;First I added a symbolic link to /etc/init.d/rc5.d/:&lt;code&gt;cd /etc/init.d/rc5.d sudo ln -s ../autofs S21autofs&lt;/code&gt;Then I added to the /etc/auto.master the following line:&lt;code&gt;/media/automounts /etc/auto.smbmounts&lt;/code&gt;Then I created the file auto.smbmounts with the following content:&lt;code&gt;michael_msbl.helsinki.fi -fstype=smbfs,username=michael,password=## ://paula/michael&lt;/code&gt; Then I created the mountpoint:&lt;code&gt;sudo mkdir /media/automounts/michael_msbl.helsinki.fi&lt;/code&gt;Then I activated the autofs daemon:&lt;code&gt;sudo /etc/init.d/autofs start&lt;/code&gt;Now whenever one tries to access the directory /media/automounts/michael_msbl.helsinki.fi, the autofs daemon will mount the smb share automatically and unmount after a certain period of inactivity.&lt;/p&gt;</description></item><item><title>Changing the host name with Yast2 (overriding the DCHP server)</title><link>https://jeltsch.org/en/changing_the_host_name_with_yast2_overriding_the_dchp_server/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_the_host_name_with_yast2_overriding_the_dchp_server/</guid><description>&lt;p&gt;I couldn&amp;rsquo;t figure out how to change the host name. The host name is e.g. displayed by default (Suse 9) in the command prompt and used by several applications. If you move your computer between different networks, this name changes as the default (Suse 9) is, that the host name is assigned by the DHCP server. But you can override these setting using Yast2: Control Center -&amp;gt; Yast2 modules -&amp;gt; Networ Devices -&amp;gt; Network Card -&amp;gt; authenticate! -&amp;gt; Edit already configured network cards -&amp;gt; Host name &amp;amp; Name server -&amp;gt; Uncheck the box &amp;ldquo;Change hostname via DHCP&amp;rdquo; and write the desired host name into the box. I presume you have to reboot for the settings to take effect. However, this doesn&amp;rsquo;t change e.g. the name of your computer that is visible on the windows network. To change this, you have to add an entry to /etc/samba/smb.conf like this: netbios name = &amp;ldquo;michael-laptop&amp;rdquo; (Is this correct?: The &amp;quot;&amp;quot; is necessary, otherwise you will only see the first part of the name (that is: michael).) This will change your name as it appears e.g. when you browse the network from a Windows NT computer. However, the samba implementation of MacOS 10.2 will still continue to display some generic name (in my case the name the DHCP server wants to give me: mcblmj-2).&lt;/p&gt;</description></item><item><title>Duplicating Macintosh-formated (hfs and hfs+) CDs under WindowsXP with Nero Express</title><link>https://jeltsch.org/en/duplicating_macintosh_formated_hfs_and_hfs_cds_under_windowsxp_with_nero_express/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/duplicating_macintosh_formated_hfs_and_hfs_cds_under_windowsxp_with_nero_express/</guid><description>&lt;p&gt;Although a standard Windows XP Professional OS cannot read (= mount) Macintosh-formatted CDs (neither hfs nor hfs+), the burning program Nero Express can duplicate such CDs!&lt;/p&gt;</description></item><item><title>Editing names of desktop entries</title><link>https://jeltsch.org/en/editing_names_of_desktop_entries/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/editing_names_of_desktop_entries/</guid><description>&lt;p&gt;How to change the name of items on the desktop (e.g. the Trash bin) Go to the directory ~/Desktop. There are .desktop files, which you can edit. To change the name of directories (e.g. the trash bin) edit the hidden file called .directory.&lt;/p&gt;</description></item><item><title>Formating an mounting an external firewire reiserfs disk</title><link>https://jeltsch.org/en/formating_an_mounting_an_external_firewire_reiserfs_disk/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/formating_an_mounting_an_external_firewire_reiserfs_disk/</guid><description>&lt;p&gt;I didn&amp;rsquo;t know how to format an unformatted drive under Linux. I attached a firewire case with an old 12 GB Macintosh-formatted HD to my computer. In order to format it with reiserfs, I used Yast2. I had to go to expert mode and rewrite the partition table. By this action Yast2 puts an entry into the fstab, that I modified to:&lt;code&gt;/dev/sda1 /media/firewire reiserfs noauto,user 0 0&lt;/code&gt;since I don&amp;rsquo;t want to have it connected every time I boot up. Instead I can now mount it as a regular user manually with:&lt;code&gt;mount /media/tmp/&lt;/code&gt;To make the drive writable to normal users (or to whomever you want to grant access) you need to change the ownership and/or permissions of the mountpoint:&lt;code&gt;chmod -R a+rwx /media/firewire&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Good rpm repositories for Suse Linux 9</title><link>https://jeltsch.org/en/good_rpm_repositories_for_suse_linux_9/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/good_rpm_repositories_for_suse_linux_9/</guid><description>&lt;p&gt;You can search specifically for suse 9 rpm packages under
 &lt;a href="http://rpm.pbone.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://rpm.pbone.net/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
but there are two good sites that have specialized on Suse Linux rpm packages:
 &lt;a href="http://guru.linuxbe.org" target="_blank" rel="noopener noreferrer nofollow"&gt;http://guru.linuxbe.org&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;

 &lt;a href="http://packman.links2linux.de/" target="_blank" rel="noopener noreferrer nofollow"&gt;http://packman.links2linux.de/&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Reiserfsck and repairing the root partition using the Knoppix CD</title><link>https://jeltsch.org/en/reiserfsck_and_repairing_the_root_partition_using_the_knoppix_cd/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reiserfsck_and_repairing_the_root_partition_using_the_knoppix_cd/</guid><description>&lt;p&gt;When I booted my laptop today, I got the following error message:Fsck failed. Please repair manually and reboot. The root file system is currently mounted read-only. To remount it read-write do: bash mount -n -o remount,rw / Attention: Only CONTROL-D will reboot the system in this maintainance mode. sgutdown or reboot will not work. Give root password to log inI logged in and executed:&lt;code&gt;reiserfsck --fix-fixable /dev/hda7&lt;/code&gt;Several error messages appeared, among them in the end:&lt;code&gt;reiserfs_open: the reiserfs superblock cannot be found on /. Failed to open the filesystem.&lt;/code&gt;Then it said somthing like that the superblock is corrupted and if I am sure that I am dealing with a reiserfs partition, I can rebuild it using the command:&lt;code&gt;reiserfsck --rebuild-sb&lt;/code&gt;Then I realized, that /dev/hda7 is my encrypted filesystem and therefore no superblock was found. I repeated the command:&lt;code&gt;reiserfsck --fix-fixable /dev/hda6&lt;/code&gt;It told me that the option &amp;ldquo;&amp;ndash;fix-fixable&amp;rdquo; will be ignored. I don&amp;rsquo;t know why. Maybe because I have mounted the system from the same partition I am about to fix. Anyway, the message in the beginning &lt;code&gt;The root file system is currently mounted read-only. To remount it read-write do: bash mount -n -o remount,rw /&lt;/code&gt;tempted me to remount it in read-write mode and to execute the command again. But with no result. So I booted from the Knoppix CD and executed from there. The filesystem replayed, but no errors were found.Then I remembered that I had modified the fstab yesterday by adding: &lt;code&gt;/dev/sda1 /media/firewire reiserfs noauto,user 1 2&lt;/code&gt;I thought that the noauto option prevents the partition from being accessed during bootup. Apparently not and the problematic entry a the two numbers in the end (1 2). They determine whether a filesystem is checked on bootup. I set them to &amp;ldquo;0 0&amp;rdquo; and tried to reboot.Voila, everything is fine again.Otherwise I might have tired to rebuild the superblock from Knoppix:&lt;code&gt;reiserfsck --rebuild-sb /dev/hda6&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Rio500 drivers for W98 and W2K under VMware</title><link>https://jeltsch.org/en/rio500_drivers_for_w98_and_w2k_under_vmware/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rio500_drivers_for_w98_and_w2k_under_vmware/</guid><description>&lt;p&gt;VMware W2K and W98 do not recognize my Rio500. As I run not from a physical disk, I cannot reboot into W2K or W98 and install the driver from there. I checked, however where the drivers go during the install under W98: the driver consists of two files: riousb.inf and RioUSB.sys. The riousb.inf goes to two places: to C:\windows\INF and (under the new name of RioPort.Comriousb.inf) to C:\windows\INF\OTHER. The RioUSB.sys goes to C:\windows\system32\drivers. I couldn&amp;rsquo;t check where W2K puts the drivers, becasue when I tried to start up W2K I got the following error: Cannot find file system32\ntoskrnl.exe. Please reinstall.&lt;/p&gt;</description></item><item><title>smb mounts via fstab or automount?</title><link>https://jeltsch.org/en/smb_mounts_via_fstab_or_automount/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/smb_mounts_via_fstab_or_automount/</guid><description>&lt;p&gt;I have many computers I need to connect to from my Linux box. Network browsing works, but is terribly slow, so I want to create some shortcuts, that I can mount with a single mouseclick what I need from a list. First I thought to modify the fstab and put there entries that would allow me to easily mount smb shares as a normal user. E.g.:&lt;code&gt;//paula/michael /media/smbmounts smbfs noauto,user,credentials=/home/jeltsch/.smbpasswd1 0 0&lt;/code&gt;This works if I have the entry mounted at system startup (without the &amp;ldquo;noauto&amp;rdquo; entry). If the &amp;ldquo;noauto&amp;rdquo; entry is present, the smb share is not mounted at system startup, but must explicitely be mounted by the following command:&lt;code&gt;mount /media/smbmounts&lt;/code&gt;Because of the &amp;ldquo;user&amp;rdquo; option in the fstab, every regular user should be able to do this. Not so! First I had to enable the &amp;ldquo;suid&amp;rdquo; for the smbmnt command (it appeared to be in /usr/bin/smbmnt, but was linked to a link that linked to /usr/lib/samba/classic/smbmnt:&lt;code&gt;chmod +s /usr/lib/samba/classic/smbmnt&lt;/code&gt;Then I found contradicting information whether the mountpoint (in my case /media/smbmounts) has to owned by the mounting user or not. To be safe it did:&lt;code&gt;chown jeltsch /media/smbmounts&lt;/code&gt;Still I got an error which I couldn&amp;rsquo;t figure out and I decided to use automounts.&lt;/p&gt;</description></item><item><title>Staden 1.4 and Suse 9</title><link>https://jeltsch.org/en/staden_1_4_and_suse_9/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/staden_1_4_and_suse_9/</guid><description>&lt;p&gt;I installed today the new Staden package (version 1.4) to my Suse 9. I included the lines:&lt;code&gt;export STADENROOT=/usr/local/staden-linux-rel-1-4 . $STADENROOT/staden.profile&lt;/code&gt;in my ~/.bashrc file.After this kprinter broke with the following error:&lt;code&gt;kprinter: /usr/local/staden-linux-rel-1-4/lib/linux-binaries/libstdc++.so.5: no version information available (required by /opt/kde3/lib/kprinter.so)&lt;/code&gt;Apparently the usual file (/usr/lib/libstdc++.so.5) is not anymore used because the staden linux-binary directory is listed in the PATH variable in the very beginning and thus overrides all other entries. Thus I replaced /usr/local/staden-linux-rel-1-4/lib/linux-binaries/libstdc++.so.5 and libstdc++.so.5.0.1 by symbolic links to /usr/lib/libstdc++.so.5.0.5:&lt;code&gt;cd /usr/local/staden-linux-rel-1-4/lib/linux-binariessudo ln -s /usr/lib/libstdc++.so.5.0.5 libstdc++.so.5.0.1sudo ln -s /usr/lib/libstdc++.so.5.0.5 libstdc++.so.5&lt;/code&gt;So far at least printing works without error messages, but I have not tried staden yet…&lt;/p&gt;</description></item><item><title>suid and executing programs as root without need of typing the root password</title><link>https://jeltsch.org/en/suid_and_executing_programs_as_root_without_need_of_typing_the_root_password/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suid_and_executing_programs_as_root_without_need_of_typing_the_root_password/</guid><description>&lt;p&gt;If you have executables (programs, scripts), that need root privileges to run (e.g. that mount something), you don&amp;rsquo;t need to type in the su password everytime.You can set the suid for that file and change its owner to root:&lt;code&gt;chmod u+s filename chown root filename&lt;/code&gt;&lt;/p&gt;</description></item><item><title>VMware and nonstandard screen resolutions of laptops</title><link>https://jeltsch.org/en/vmware_and_nonstandard_screen_resolutions_of_laptops/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_and_nonstandard_screen_resolutions_of_laptops/</guid><description>&lt;p&gt;My laptop screen is a 1280x800. This resolution is not supported by the graphic driver of VMware. Under Windows 98, I unchecked the autofit option, resized the VMware window to a weired size, went to the Windows registry (in Windows 98 it&amp;rsquo;s three hidden files called system.dat, user.dat and policy.pol) and changed the Resolution entry (which was something like 966,558) to 1280,800. After rebooting the resolution was OK when I selected fullscreen. However, in windowed mode the resolution does not become adjusted to the smaller size, but instead you get scroll bars. But in Windows 98, networking doesn&amp;rsquo;t want to work. I am connected (webbrowsing, etc. works) but whenever I try to browse the local area network I gt the error: &amp;ldquo;Unable to browse the network&amp;rdquo;. In Windows 2000, the same trick with the resolution didn&amp;rsquo;t work. The registry entry is also called differently &amp;ldquo;Resolution.KVM&amp;rdquo;. Before that entry there are different other entries called resolution. But as they consist of complex number series, I don&amp;rsquo;t know how to edit them. So I am using the 1078x768 resolution although it obviously locks fuzzy on my 1280x800 screen. After updating to VMware 4.5.2 (build 8848) I am able to adjust to 1200x800 also with the Windows 2000 guest OS. In full screen mode everything is fine, but when I run in windowed mode and &amp;ldquo;fit guest to window&amp;rdquo;, the settings are lost from the windows registry and I have to manually edit them, and reboot to be able to get full screen resolution back to 1200x800.&lt;/p&gt;</description></item><item><title>VMware and Samba</title><link>https://jeltsch.org/en/vmware_and_samba/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_and_samba/</guid><description>&lt;p&gt;VMware can interfere with Samba. When you are running a samba server on your computer and install VMware, you might break your samba server. You can check that by:&lt;code&gt;sudo /etc/init.d/smb status&lt;/code&gt;If the result is &amp;ldquo;dead&amp;rdquo; and if VMware is running its own samba server (which you can check by &lt;code&gt;ps -aux&lt;/code&gt; and then looking for an entry like vmware-smb), then you have to rerun vmware-config.pl. In RedHat, there is an easy way to remove the vmware samba server from starting up (system Settings -&amp;gt; Server Settings -&amp;gt; Services; just stop the service and uncheck the box if you don&amp;rsquo;t want it to start up upon system boot). In Suse 9, I just re-run the vmware-config.pl script. When it asks something like: do you want vmware to set up file access to the host computer, then you should say no.&lt;/p&gt;</description></item><item><title>VMware setup error (libpopt)</title><link>https://jeltsch.org/en/vmware_setup_error_libpopt/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_setup_error_libpopt/</guid><description>&lt;p&gt;The error message during VMware setup (vmware-config.pl) is due to the fact that Suse 9 has a too new package for the requested library:&lt;code&gt;/usr/bin/vmware-smbpasswd.bin: error while loading shared libraries: libpopt.so.0: cannot open shared object file: No such file or directory&lt;/code&gt;The following fixes the problem:&lt;code&gt;ln -s /usr/lib/libpopt.so.1 /usr/lib/libpopt.so.0&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Where do man documents live?</title><link>https://jeltsch.org/en/where_do_man_documents_live/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/where_do_man_documents_live/</guid><description>&lt;p&gt;When you install the Stuffit Expancer for Linux, you get not only the binaries, but also the man pages. I put the two files (named unstuff and stuff) into the following directory: /usr/local/man/man1. They are now available when I type: man stuff or man unstuff.&lt;/p&gt;</description></item><item><title>Wine and Adobe Illustrator (can't find AIRes.dll)</title><link>https://jeltsch.org/en/wine_and_adobe_illustrator_can_t_find_aires_dll/</link><pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wine_and_adobe_illustrator_can_t_find_aires_dll/</guid><description>&lt;p&gt;Adobe Illustrator didn&amp;rsquo;t want to start up under wine, because it couldn&amp;rsquo;t find the file AI90Res.dll. This file is located after the Illustrator install in:&lt;code&gt;~/.cxoffice/dotwine/fake_windows/Program Files/Adobe/Illustrator 10/Support Files/Contents/Windows/System&lt;/code&gt;I just moved it up one directory and everything started working.&lt;/p&gt;</description></item><item><title>BSPlayer and corrupted DivX files</title><link>https://jeltsch.org/en/bsplayer_and_corrupted_divx_files/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/bsplayer_and_corrupted_divx_files/</guid><description>&lt;p&gt;I have a couple of scratched CDs with DivX video files. Both VLC and DivX Player were not able to play these files beyond the first corrupted frames. They tried to resume, but because the damage was too much, they did get stuck completely. But I found a player that handles most of these problems quite well: 
 &lt;a href="http://www.bsplayer.org" target="_blank" rel="noopener noreferrer nofollow"&gt;BSPlayer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. It is only available for Windows though…&lt;/p&gt;</description></item><item><title>Couldn't find MIME type application/octet-stream (Konquerer/Kdesktop)</title><link>https://jeltsch.org/en/couldn_t_find_mime_type_application_octet_stream_konquerer_kdesktop/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/couldn_t_find_mime_type_application_octet_stream_konquerer_kdesktop/</guid><description>&lt;p&gt;This is copied from [http://users.pandora.be/Ice9/Linux stuff/Linux_tips.html](
 &lt;a href="http://users.pandora.be/Ice9/Linux" target="_blank" rel="noopener noreferrer nofollow"&gt;http://users.pandora.be/Ice9/Linux&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 stuff/Linux_tips.html). I have used the second method as the desktop file appeared to be disfunctional judging from its content and had been created during the time when the error appeared first (that was when I was playing with the File associations section of the control center).&lt;/p&gt;</description></item><item><title>File Associations in KDE</title><link>https://jeltsch.org/en/file_associations_in_kde/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/file_associations_in_kde/</guid><description>&lt;p&gt;I have many files in strange formats that can be opened by applications that are not installed by default on any Linux distribution. How do I teach KDE to recognize these files based on their endings (like .ab1) and to open them - when clicked - with the correct application? Go to Control Center -&amp;gt; KDE Components -&amp;gt; File Associations -&amp;gt; Add -&amp;gt; Leave Group &amp;ldquo;all&amp;rdquo; and type in some short, descriptive name (e.g. ABI trace file) -&amp;gt; Under &amp;ldquo;Filename patterns&amp;rdquo; put the file extension (or any other pattern that enables KDE to recognize the file; e.g. *.abi1) -&amp;gt; Write something descriptive into the &amp;ldquo;Description&amp;rdquo; field -&amp;gt; Under &amp;ldquo;Application Preference Order&amp;rdquo; click &amp;ldquo;Add&amp;rdquo; and type the name of the application (if it is in the path) or browse and select the executable (for the .ab1 example it would be e.g. trev, the trace file viewer from the Staden package) -&amp;gt; Click &amp;ldquo;Apply&amp;rdquo; -&amp;gt; I have the feeling that you have to log out and log in again to make the changes active. For the above example you will see that Konqueror list for files with the .ab1 ending the File Type &amp;ldquo;ABI trace file&amp;rdquo; and when you click them, they are opened with the trev application.&lt;/p&gt;</description></item><item><title>Installation and configuration of disc-cover on Suse 9.0</title><link>https://jeltsch.org/en/installation_and_configuration_of_disc_cover_on_suse_9_0/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installation_and_configuration_of_disc_cover_on_suse_9_0/</guid><description>&lt;p&gt;libcdaudio libcdaudio-devel (for cdaudio.h) perl-audio-cd module disc-cover configuration: create all the configuration files, otherwise segmentation fault add servers to .cdserverrc (
 &lt;a href="http://www.freedb.org/modules.php?name=Sections&amp;amp;sop=viewarticle&amp;amp;artid=9" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www.freedb.org/modules.php?name=Sections&amp;sop=viewarticle&amp;artid=9&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
)&lt;/p&gt;</description></item><item><title>Quick edits of jpg files from within Konqueror (jhead, jpegtran)</title><link>https://jeltsch.org/en/quick_edits_of_jpg_files_from_within_konqueror_jhead_jpegtran/</link><pubDate>Sun, 20 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/quick_edits_of_jpg_files_from_within_konqueror_jhead_jpegtran/</guid><description>&lt;p&gt;I wanted to have a quick way to rotate the images I take with my digital camera. The Olympus Camedia C-4000 always writes &amp;ldquo;1&amp;rdquo; als orientation into the EXIF data (either it doesn&amp;rsquo;t have an orientaiton sensor or it is broken), therefore I cannot rotate the images automatically by the command&lt;code&gt;jhead -autorot *.jpg&lt;/code&gt;So I created a desktop file ~/bin/rotate90clockwise.desktpop with the following content&lt;code&gt;[Desktop Entry] ServiceTypes=image/jpeg Actions=rotate90clockwise [Desktop Action rotate90clockwise] Name=Rotate 90 clockwise Icon=/opt/kde3/share/icons/crystalsvg/22x22/actions/rotate_cw.png Exec=/usr/bin/jhead -cmd &amp;quot;jpegtran -rot 90 &amp;amp;i &amp;gt; &amp;amp;o&amp;quot; %U&lt;/code&gt;Then I made a symbolic link&lt;code&gt;sudo ln -sf ~/bin/rotate90clockwise.desktop /opt/kde3/share/apps/konqueror/servicemenus/rotate90clockwise.desktop&lt;/code&gt; Now when I browse files in Konqueror, I get by right-clicking a jpeg file the additonal option of rotating it. The rotation is lossless BTW and the EXIF information in maintaned.
It is also possible to integrate rotation commands into image viewing software. E.g. if the following script is located in ~/bin&lt;code&gt;!/bin/sh jhead -cmd &amp;quot;jpegtran -rot 90 &amp;amp;i &amp;gt; &amp;amp;o&amp;quot; $*&lt;/code&gt;you can call it from within GQView by adding the scriptname in one of the free slots below the &amp;ldquo;big&amp;rdquo; image editors:&lt;code&gt;Menu name Command line Rotate clockwise rotate_clockwise %f&lt;/code&gt;Edit -&amp;gt; Options -&amp;gt; Editors&lt;/p&gt;</description></item><item><title>Automatization of Sequence Handling (Staden's pregap4 and gap4)</title><link>https://jeltsch.org/en/automatization_of_sequence_handling_staden_s_pregap4_and_gap4/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/automatization_of_sequence_handling_staden_s_pregap4_and_gap4/</guid><description>&lt;p&gt;Already a while ago I wrote a script, that tries to automatize most of the work involved in getting sequences from our ABI sequencer into a gap4 database. The script is far from perfect and looks like this:&lt;code&gt;!/bin/sh rm *.seq *.log Log\ file.txt for i in &lt;/code&gt;ls &lt;em&gt;.ab1&lt;code&gt;; do echo &amp;quot;Renaming $i&amp;quot; mv $i &lt;/code&gt;echo $i | sed &amp;ldquo;s/




 
 &lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi mathvariant="normal"&gt;.&lt;/mi&gt;&lt;mo stretchy="false"&gt;{&lt;/mo&gt;&lt;mn&gt;27&lt;/mn&gt;&lt;mo stretchy="false"&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;.\{27\}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;
 

.&lt;/em&gt;/\1.ab1/&amp;quot;&lt;code&gt; done ls *.ab1 *.txt &amp;gt; tracefile.list pregap4 -nowin -config /home/jeltsch/bin/pregap4_gap4.conf -fofn tracefile.list gap4 test.0.aux&lt;/code&gt;I put the script into ~/bin; and this script is supposed to be invoked from within the directory where the sequences are located. Typically the ab1 trace files from a single sequencing run from our machine are stored in one directory together with some (for me) meaningless log files, etc.First the script deletes unnecessary files from the directory; then it truncates filenames to 27 characters plus .ab1 ending. Funnily pregap4 handles longer filenames well, but gap4 has problems. Then all the remaining files are put into a list (tracefile.list) that is read by pregap4. pregap4 is used non-interactively. It gets its instructions (the setup of the modules) from a configuration file (which in my case is also stored in ~/bin).pregap4 calls the gap4 shotgun assembler and puts the readings into a gap4 database. Unfortunately I havn&amp;rsquo;t figured out how to automatically assign a descriptive name for this database. At the moment they will all have the same names and can be only identified based on their location in a different directory. It would be good to give them automatically a unique name, e.g. the date when the assembly was done or something similar.After all this has been done, gap4 is called and loads the newly created database for manual inspection and editing.Most of our sequencing is done to check newly made vectors. Therefore we usually know exactly what sequence we expect. If (which is unfortunately not the case) people use any program to document their constructs that included full sequence information (such as the Gene Construction Kit), the trace files should be automatically compared to such &amp;ldquo;expected&amp;rdquo; sequence.At the moment I achieve this by exporting the DNA sequence from the Gene Construction Kit program (GCK) as plain text file (apparently I could also use EMBL format) and putting this file together with the ab1 trace file into the same directory before starting the script. Thus it is handles just as any other sequence and the sequence readings are aligned to it.However, there are several things that I would like to be set automatically when invoking gap4 because I always perform the same sequence of clicks when manually inspecting in gap4 the alignment:Displaying all forward reading frames: I presume that because the &amp;ldquo;expected sequence&amp;rdquo; is the longest, it is always present in forward orientation in the assembly and the reading frames are allways forward. This results from the fact that I maintain (for ease of reading) the vector sequence in GCK allways in such orientation that the CDS of the GOI is in a forward frame.Highlighting disagreements by background color should be switched on.Upper/lower case character differences should be not handled as disagreementsBecause the quality of our sequencing is modest, mostly the default values are to strict for gap4 to enter the readings into the same contig. Thus I usually end up finding internal repeats and entering them manually. This should be possible to set automatically in the gap4 assembly, but I haven&amp;rsquo;t got around to figure out how.&lt;/p&gt;</description></item><item><title>Changing the default to tree view in Konqueror</title><link>https://jeltsch.org/en/changing_the_default_to_tree_view_in_konqueror/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_the_default_to_tree_view_in_konqueror/</guid><description>&lt;ul&gt;
&lt;li&gt;Make the changes how you want to window to appear.&lt;/li&gt;
&lt;li&gt;Right-click on title bar, click &amp;ldquo;Store Window Settings&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Settings&amp;rdquo; -&amp;gt; &amp;ldquo;Save View Profile&amp;rdquo; -&amp;gt;Select &amp;ldquo;File Management&amp;rdquo; from the list of available profiles -&amp;gt; &amp;ldquo;Save&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Close the window and reopen it to see that your settings stick.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Desktop Integration of the Staden Package in KDE on Suse Linux 9</title><link>https://jeltsch.org/en/desktop_integration_of_the_staden_package_in_kde_on_suse_linux_9/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/desktop_integration_of_the_staden_package_in_kde_on_suse_linux_9/</guid><description>&lt;p&gt;I have installed the Staden package on my laptop. In order to convince other people from my lab to use it, it must be very easy to use. Ideally, they should just need to select some sequences, click and the preprocessing and assembly should be done automatically. In order to achieve that I did the following:&lt;/p&gt;</description></item><item><title>Installation of Duplicate File Finder</title><link>https://jeltsch.org/en/installation_of_duplicate_file_finder/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installation_of_duplicate_file_finder/</guid><description>&lt;p&gt;I was making order among my 50000+ files in my home directory and realized that I had multiple copies of the same file in different directories. Therefore I was looking for some convenient way to find those duplicates and to delete them.There are several applications that do something like this. However, none is perfect. E.g. mp3 files of the same song, but with a different id3 tag will be recognized by most programs as being different, whereas they might be essentially the same apart from the metadata in the id3 tag.I settled for 
 &lt;a href="http://midori.shacknet.nu/dff/" target="_blank" rel="noopener noreferrer nofollow"&gt;Duplicate File Finder&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, a java application. Installation required 
 &lt;a href="http://www.xenonsoft.demon.co.uk/products/javaunix/index.html" target="_blank" rel="noopener noreferrer nofollow"&gt;JavaUnix&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, which appeared to be tricky to install.First of all, I needed to install the java2 SDK. The default on Suse Linux 9 is that only the runtime environment (java3-jre) is installed.For configuration and compilation to succeed (thanks to Ian Ballantyne) one needs to append the current install directory to the path:&lt;code&gt;export PATH=$PATH:.&lt;/code&gt;But now the program crashes complaining that&lt;code&gt;java.lang.UnsatisfiedLinkError: no javaunix in java.library.path&lt;/code&gt;Again I got some help:&lt;code&gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/ext/Linux/&lt;/code&gt;makes it work. The LD_LIBRARY_PATH is not set on my system. When you install the Staden package, it sets this variable to &amp;ldquo;/usr/local/staden-linux-rel-1-4/lib/linux-binaries&amp;rdquo;. You can copy the javaunix.so file to the location that is given in the environment variable LD_LIBRARY_PATH.&lt;/p&gt;</description></item><item><title>kaptain on Suse Linux 9</title><link>https://jeltsch.org/en/kaptain_on_suse_linux_9/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kaptain_on_suse_linux_9/</guid><description>&lt;p&gt;I am currently trying out several graphical front ends for the molecular software package EMBOSS and I have read good reviews of 
 &lt;a href="http://kaptain.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;kaptain&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. However, because there are no rpm packages of kaptain for Suse Linux 9 available, I tried to compile it myself.
First problem was that the configure script couldn&amp;rsquo;t find the libraries and headers for qt3:&lt;code&gt;&amp;gt; checking for Qt… configure: error: Qt (&amp;gt;= Qt 2.2.2) (headers and libraries) not found. Please check your installation!&lt;/code&gt;Thus I executed ./configure with the option:&lt;code&gt;&amp;gt; ./configure --with-qt-dir=/usr/lib/qt3&lt;/code&gt; Now the configuration script proceeds to the end. However, the make still fails, the last lines of output are like this:&lt;code&gt;Making all in kaptain make[2]: Entering directory &lt;/code&gt;/home/jeltsch/downloads/kaptain-0.71/kaptain&amp;rsquo; g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt3/include -I/usr/X11R6/include -D_REENTRANT -O2 -fno-exceptions -fno-check-new -c kaptain.cpp kaptain.cpp: In constructor &lt;code&gt;Kaptain::Kaptain(Intermediate*, Kaptain*, QWidget*, QBoxLayout*, QDialog*, bool, const char*)': kaptain.cpp:99: error: &lt;/code&gt;assert&amp;rsquo; undeclared (first use this function) kaptain.cpp:99: error: (Each undeclared identifier is reported only once for each function it appears in.) kaptain.cpp: In member function &lt;code&gt;void Kaptain::button_pressed()': kaptain.cpp:1576: error: &lt;/code&gt;ostream_iterator&amp;rsquo; undeclared (first use this function) kaptain.cpp:1576: error: parse error before &lt;code&gt;&amp;gt;' token kaptain.cpp:1598: error: parse error before &lt;/code&gt;&amp;gt;&amp;rsquo; token make[2]: *** [kaptain.o] Error 1 make[2]: Leaving directory &lt;code&gt;/home/jeltsch/downloads/kaptain-0.71/kaptain' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory &lt;/code&gt;/home/jeltsch/downloads/kaptain-0.71&amp;rsquo; make: *** [all-recursive-am] Error 2&lt;code&gt;I got help from the author of the software Zsolt Terek. I had to insert at the beginning of kaptain.cpp:&lt;/code&gt;include include `.&lt;/p&gt;</description></item><item><title>The PATH in Suse Linux 9 (/etc/profile.local)</title><link>https://jeltsch.org/en/the_path_in_suse_linux_9_etc_profile_local/</link><pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_path_in_suse_linux_9_etc_profile_local/</guid><description>&lt;p&gt;Several software installations modify the PATH environment variable. There are many different file that are read during bootup that contribute to the final PATH variable. Several software installs, however, break exisiting PATH entries. Among them is the Staden package. The staden installation instruction advise to include the following lines in ~/.bashrc:&lt;code&gt;export STADENROOT=/usr/local/staden-linux-rel-1-4 . $STADENROOT/staden.profile&lt;/code&gt;In order to quickfix PATH problems, you can give the full path that you need in /etc/profile.local:&lt;code&gt;PATH=/home/jeltsch/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/sbin/:/sbin:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin:/usr/local/bio/bin/&lt;/code&gt;If you leave the entry in ~/.bashrc, the staden path will be inserted before all the entries in /etc/profile.local, thus will take precedence over other entries. This breaks certain programs as some of the libraries Staden uses are older than the ones on Suse Linux 9 (see some older posting).&lt;/p&gt;</description></item><item><title>DCOPserver error during KDE login</title><link>https://jeltsch.org/en/dcopserver_error_during_kde_login/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/dcopserver_error_during_kde_login/</guid><description>&lt;p&gt;Yesterday my laptop ran out of power and during the emergency shutdown stuff got apparently screwed up. When I tried to log into KDE this morning, I got the following error message: &lt;code&gt;There was an arror setting up inter-process communication for KDE /home/jeltsch/.DCOPserver_michael-laptop__0 could not read network connection list Please check that &amp;quot;dcopserver&amp;quot; is running&lt;/code&gt; This is again a very non-informative error message. The way to fix this was as follows: &lt;code&gt;rm ~/.kde/socket-michael-laptop rm ~/.kde/tmp-michael-laptop rm -rf /tmp/kdesocket-jeltsch rm -rf /tmp/kde-jeltsch&lt;/code&gt; There were errors while removing the directories in /tmp. Even as root I couldn&amp;rsquo;t remove the directories; the error message claimed they were not empty. But there were no files when listed with ls -al. As a workaround a renamed the directories: &lt;code&gt;mv /tmp/kdesocket-jeltsch /tmp/kdesocket-jeltsch.old mv /tmp/kde-jeltsch /tmp/kde-jeltsch.old&lt;/code&gt; After this I could again log in, but the items from my Panel had disappeared.&lt;/p&gt;</description></item><item><title>Desktop Integration of Staden into KDE 3.2</title><link>https://jeltsch.org/en/desktop_integration_of_staden_into_kde_3_2/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/desktop_integration_of_staden_into_kde_3_2/</guid><description>&lt;p&gt;Two things have to be accomplished: 1. The menu should contain appropriate entries. 2. The files should be clickable and have appropriate &amp;ldquo;Open with&amp;rdquo; entries. 1. is easy to do. The (systemwide) entries for the menu are in /opt/kde3/share/applnk. I just added an addiitonal directory structure under this directory:&lt;code&gt;Science &lt;/code&gt;&amp;ndash; Staden |&amp;ndash; Gap4.desktop |&amp;ndash; Pregap4.desktop |&amp;ndash; Spin.desktop |&amp;ndash; Stadenlaunch.desktop &lt;code&gt;-- Trev.desktop&lt;/code&gt; If you edit the menu as a regular user, the entries are only valid for yourself. Additionally Suse messes between two locations for user-defined menu entries: ~/.kde/share/applnk and ~/.local/share/applications. Once you have the entries in the systemwide /opt/kde3/share/applnk additonal changes made by individual users will replicate the directory under the users home directory. Because entries in the users home directory take precedence over systemwide entries, these will be valid then.&lt;/p&gt;</description></item><item><title>Extracting files from rpm archives (rpm2cpio)</title><link>https://jeltsch.org/en/extracting_files_from_rpm_archives_rpm2cpio/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/extracting_files_from_rpm_archives_rpm2cpio/</guid><description>&lt;p&gt;The command &lt;code&gt;rpm2cpio finger-0.17-9.i386.rpm | cpio -imVd&lt;/code&gt; extracts all files from the rpm archive finger-0.17-9.i386.rpm. It creates the directory structure relative to the current directory.&lt;/p&gt;</description></item><item><title>Farfalle with Gorgonzola Cream</title><link>https://jeltsch.org/en/farfalle_with_gorgonzola_cream/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/farfalle_with_gorgonzola_cream/</guid><description>&lt;p&gt;Serves 4 3 cups farfale (&amp;lsquo;motylki&amp;rsquo;) 180 g gorgonzola cheese, any rind removed, diced 2/3 cup of heavy cream pinch of granulated sugar 2 teaspoons finely chopped fresh sage, plus fresh sage leaves to garnish salt and ground balck pepper Cook the pasta until al dente: 8-10 minutes or according to the instructions on the package. Meanwhile, put the gorgonzola and cream in a medium saucepan. Add the sugar and plenty of ground black pepper and heat gently, stirring frequently, until the cheese has melted. Remove the pan from heat. Drain the cooked pasta well and return it to the pot in which it was cooked. Pour the sauce into the pot with the pasta. Add the chopped sage to the pasta and toss over medium heat until the pasta is evenly coated. Taste for seasoning, adding salt if necessary, then devide among four warmed bowls. Garnish each portion with sage and serve immediately.&lt;/p&gt;</description></item><item><title>How to add comments to HTML code</title><link>https://jeltsch.org/en/how_to_add_comments_to_html_code/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_add_comments_to_html_code/</guid><description>&lt;p&gt;``&lt;/p&gt;</description></item><item><title>Identifying your kernel version (ver)</title><link>https://jeltsch.org/en/identifying_your_kernel_version_ver/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/identifying_your_kernel_version_ver/</guid><description>&lt;p&gt;To figure out what kernel you are running just type &lt;code&gt;ver&lt;/code&gt; Of course you can also just look into /boot and look to which kernel the default links are pointing to.&lt;/p&gt;</description></item><item><title>Installing Windows95 under VMware</title><link>https://jeltsch.org/en/installing_windows95_under_vmware/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_windows95_under_vmware/</guid><description>&lt;p&gt;You need: the Windows95 installation CD and a 
 &lt;a href="http://www.bootdisk.com/bootdisk.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Windows 95 version B boot floppy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. As I don&amp;rsquo;t have a floppy drive I have to create a floppy image of the boot floppy. Under VMware boot from the Windows95 boot floppy. Create a primary partion that fills the virtual disk completely (options 1 and then 1 again and then yes). Reboot Windows95. Format the virtual disk and install Windows95: &lt;code&gt;format C: /S R:\WIN95\SETUP /IS&lt;/code&gt; I couldn&amp;rsquo;t get my installation CD to work. So I made an image of it &lt;code&gt;dd if=/dev/cdrom of=w95oem.iso&lt;/code&gt; Then the rest should be a routine install…&lt;/p&gt;</description></item><item><title>KMail, multiple SMTP servers and the alternative sendmail</title><link>https://jeltsch.org/en/kmail_multiple_smtp_servers_and_the_alternative_sendmail/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kmail_multiple_smtp_servers_and_the_alternative_sendmail/</guid><description>&lt;p&gt;KMail has always problems with multiple smtp servers. As a solution I installed sendmail. Then I just created a new outgoing mailserver and selected the sendmail option. No further configuration was necessary and it seems to work.&lt;/p&gt;</description></item><item><title>Making a Suse RPM for the Staden Package</title><link>https://jeltsch.org/en/making_a_suse_rpm_for_the_staden_package/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/making_a_suse_rpm_for_the_staden_package/</guid><description>&lt;p&gt;As the binaries work on all Suse distributions, I though to skip the build process and just have the binaries unpacked by rpm and then add the suse-specific files to the correct places. These additional files are mainly kde.desktop files, icons and&lt;code&gt;export STADENROOT=/usr/local/staden-linux-1-4-1&lt;/code&gt;and sourcing &lt;code&gt;/usr/local/staden-linux-1-4-1/staden.profile&lt;/code&gt;in ~/.bashrc.Thus the unpacking would be just&lt;code&gt;tar --extract --verbose --gzip --absolute-names --file=staden-linux-1-4-1.tar.gz&lt;/code&gt;and&lt;code&gt;chown -R root:root /usr/local/staden-linux-1-4-1&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Making the Staden applications clickable in MacOS X</title><link>https://jeltsch.org/en/making_the_staden_applications_clickable_in_macos_x/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/making_the_staden_applications_clickable_in_macos_x/</guid><description>&lt;p&gt;I have installed Staden on MacOS X and have been playing around with it. I used the ebiotools package created by Anders Nisters described in issue 10/1 of the 
 &lt;a href="http://www.embnet.org/download/embnetnews/embnet.news/index.html" target="_blank" rel="noopener noreferrer nofollow"&gt;embnet.news&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 for the installation. It works, although not according to the Mac philosophy:&lt;/p&gt;</description></item><item><title>Manually uncompressing backup files creating by BackupPC (Zzzz)</title><link>https://jeltsch.org/en/manually_uncompressing_backup_files_creating_by_backuppc_zzzz/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manually_uncompressing_backup_files_creating_by_backuppc_zzzz/</guid><description>&lt;p&gt;The perl script &lt;code&gt;/usr/local/backuppc/bin/BackupPC_zcat&lt;/code&gt; does it, but you need BackupPC installed for this purpose. There is a standalone frontend for the compression libraries available called 
 &lt;a href="ftp://ftp.iasi.roedu.net/mirrors/esp-team.scene.hu/esp-team/linux/Zzzz%e2%80%a61.0.tar.gz"&gt;Zzzz…&lt;/a&gt;
 made by the same guy who is behind mplayer.&lt;/p&gt;</description></item><item><title>Mexican Chilli Corn Pie</title><link>https://jeltsch.org/en/mexican_chilli_corn_pie/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mexican_chilli_corn_pie/</guid><description>&lt;p&gt;Serves 4 1 tbsp corn oil 2 garlic cloves, crushed 1 red pepper &amp;amp; 1 green pepper, deseeded and diced 1 celery stalk, diced 1 tsp hot chilli powder 400g can chopped tomatoes, 325g can sweetcorn, drained 215g can kidney beans, drained and rinsed 2 tbsp chopped fresh coriander salt and pepper tomato and avocado salad, to serve Topping: 125g cornmeal 1 tbsp plain flower 1/2 tsp salt 2 tsp baking powder 1 egg, beaten 100ml milk 1 tbsp corn oil 125g grated mature Cheddar Heat the oil in a large frying pan and gently fry the garlic, peppers and celery for 5-6 minutes or until just softened. Stir in the chilli powder, tomatoes, sweetcorn, beans and seasoning. Bring to the boil and simmer for 10 minutes. Stir in the coriander and spoon into an ovenproof dish. To make the topping, mix together the cornmeal, flour, salt and baking powder. Make a well in the center, add the egg, milk and oil and beat until a smooth batter is formed. Spoon over the pepper and sweetcorn mixture and sprinkle with the cheese. Bake in a preheated oven, 220C for 25-30 minutes until golden and firm. Serve immediately with a tomato and avocado salad.&lt;/p&gt;</description></item><item><title>Paglia e Fieno with Walnuts and Gorgonzola</title><link>https://jeltsch.org/en/paglia_e_fieno_with_walnuts_and_gorgonzola/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/paglia_e_fieno_with_walnuts_and_gorgonzola/</guid><description>&lt;p&gt;Serves 4 300g paglia e fieno (&amp;lsquo;flattened spaghetti&amp;rsquo;) 2 tablespoons butter 1 teaspoon finely chopped fresh sage or 1/2 teaspoon dried sage, plus fresh sage leaves to garnish (optional) 120 g gorgonzola 3 tablespoons mascarpone cheese 5 tablespoons milk 1/2 cup walnut halves, ground 2 tablespoons freshly grated Parmesan cheese freshly ground black pepper Cook the pasta in a large pot of salted boiling water, according to the instructions on the package. Meanwhile, melt the butter in a large skillet or saucepan over low heat, add the sage and stir it around. Sprinkle in the diced gorgonzola and the add the mascarpone. Stir the ingredients with a wooden spoon until the cheeses start to melt. Pour in the milk and keep stirring. Sprinkle in the walnuts and grated parmesan and add plenty of black pepper. Continue to stir over low heat until the mixture forms a creamy sauce. Do not allow it to boil or the nuts will taste bitter, and do not cook the sauce for longer than a few minutes or the nuts will discolor it. Drain the pasta, turn it into a warmed bowl, then add the sauce and toss well. Serve immediately, with more black pepper ground on top. Garnish with the sage leaves, if desired.&lt;/p&gt;</description></item><item><title>Pinnacle PCTV Deluxe and Linux support</title><link>https://jeltsch.org/en/pinnacle_pctv_deluxe_and_linux_support/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/pinnacle_pctv_deluxe_and_linux_support/</guid><description>&lt;p&gt;I bought a USB TV card; a Pinnacle PCTV Deluxe. There is only one program for Linux available: 
 &lt;a href="http://www.paranoyaxc.de/dune/dune.html" target="_blank" rel="noopener noreferrer nofollow"&gt;dunerec&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Here is how I got it working: Download and untar (tar -xvzf) 
 &lt;a href="http://www.paranoyaxc.de/dune/dune2-linux.tar.gz" target="_blank" rel="noopener noreferrer nofollow"&gt;dune2-linux.tar.gz&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 After untarring you have two directories: dunetools and dunelib, two shell scripts (which function escapes me) and one README.txt with some installation instructions. You don&amp;rsquo;t need to compile anything, you just need to copy the executables (and some other files) into the correct directories:
dunetools/dunerec/dunerec goes to /usr/local/bin
dunetools/duneinit/duneinit goes to /usr/local/bin You need to create the directory /usr/local/lib/dune Now you need some files from the Windows program, that came together with the TV card. Obviously you need to have a Windows system and install the Program there first. You find the files yu need in &amp;ldquo;C:\Program Files\Pinnacle\Pinnacle PCTV Deluxe\Driver&amp;quot;.
You need to copy the files ending with .v (k2.v, etc.), DuneNTSC.sys and DunePal.sys to the newly created directory /usr/local/lib/dune As I am living in Europe, I need to use Pal.sys; therefore I rename it to dune.sys chown root /usr/local/bin/dunerec
chmod u+s /usr/local/bin/dunerec
chown root /usr/local/bin/duneinit
chmod u+s /usr/local/bin/duneinit Scanning for channels is done with the command &lt;code&gt;/usr/local/bin dunerec -i 0 -S 1 -d 1 Dune at 001/002 VID 2304 PID 061E Loading ezusb2 firmware… dune.sys: FWOff: 77736 FWLen: 10296 You have to restart the program!&lt;/code&gt; The &amp;ldquo;-d 1&amp;rdquo; option is only to print debugging information. You need to execute the command again, this is normal: &lt;code&gt;dunerec -i 0 -S 1 &amp;gt;&amp;gt; /usr/local/lib/dune/channels.txt&lt;/code&gt; This command puts the output of the scanning into the file /usr/local/lib/dune/channels.txt; you still have to remove from this file the lines starting with . The error message &amp;ldquo;Cannot find dune!&amp;rdquo; occurs when the TV card is not plugged into the computer. I had it also occur when the TV card was present and I needed to remove the card, restart and hotplug it again to make it working. You should test whether the card is working: &lt;code&gt;dunerec -R test.mpg -i 0 -a 479250&lt;/code&gt; This records the TV signal on frequency 479.250 MHz into the file test.mpg. You can stop the recording with Ctrl-C and watch this mpg file with the video player of your choice. However, in order to watch live streaming TV, you need to pipe the data to a player. The only player I managed to get accepting the data is 
 &lt;a href="http://www.mplayer.hu" target="_blank" rel="noopener noreferrer nofollow"&gt;mplayer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. There is a great rpm for Suse Linux 9.1 from 
 &lt;a href="http://packman.links2linux.de" target="_blank" rel="noopener noreferrer nofollow"&gt;Packman&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Don&amp;rsquo;t forget to download the rpm with all the codecs! Here are some commands that I have used for piping: &lt;code&gt;dunerec -R - -i 0 -a 479250 | mplayer -cache 8192 -&lt;/code&gt; You can adjust the cache size to reduce the waiting time to start playback. &lt;code&gt;dunerec -R - -i 0 -a 479250 | mplayer -framedrop -vo x11 -&lt;/code&gt; Without cache you need to allow the player to drop frames. &lt;code&gt;dunerec -i 0 -a 479250 -t dvd -R - | mplayer -ao arts -vo xv -double -cache 4096 -framedrop -&lt;/code&gt; This is the complete command that I use now. I copied it from the gtk2 GUI.GTK2 GUI for TV card &amp;ldquo;Pinnacle PCTV Deluxe&amp;rdquo; 
 &lt;a href="http://pctvgtk.sourceforge.net" target="_blank" rel="noopener noreferrer nofollow"&gt;http://pctvgtk.sourceforge.net”&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The installation work according to the instructions and the stuff really works. I had some problems with the scanning. it didn&amp;rsquo;t find all programs. I had to do the scanning under Windows (using the Pinnacle program) and then write down the frequencies and add them manually to the channels.txt files. But that went also without problems.&lt;/p&gt;</description></item><item><title>Problems installing VMware tools (manual installation)</title><link>https://jeltsch.org/en/problems_installing_vmware_tools_manual_installation/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/problems_installing_vmware_tools_manual_installation/</guid><description>&lt;p&gt;For some reason VMware 4.5.2 didn&amp;rsquo;t manage to update the VMware tools using the regular option under &amp;ldquo;VM -&amp;gt; Install VMware tools…&amp;rdquo;. So I had to install them manually: &lt;code&gt;sudo /sbin/losetup /dev/loop1 /home/your_username/vmware-distrib/lib/isoimages/windows.iso mkdir /home/your_username/temp sudo mount -r -t iso9660 /dev/loop1 /home/your_username/temp/&lt;/code&gt; As my home directory is visible under VMware, I started the setup.exe manually. Everything went OK, although VMware still complains after the reboot that my VMware tools are out of date…&lt;/p&gt;</description></item><item><title>Quanta crashes during start-up (moving my account to a new user)</title><link>https://jeltsch.org/en/quanta_crashes_during_start_up_moving_my_account_to_a_new_user/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/quanta_crashes_during_start_up_moving_my_account_to_a_new_user/</guid><description>&lt;p&gt;When I start Quanta as a regular user, it crashes. The output of the terminal is: &lt;code&gt;jeltsch@michael-laptop:~&amp;gt; quanta QGDict::hashKeyString: Invalid null key Invalid entry (missing '=') at /opt/kde3/share/apps/quanta/doc/javascript.docrc:241 TagAction::property( &amp;quot;accel&amp;quot; ) failed: property invalid or does not exist TagAction::property( &amp;quot;accel&amp;quot; ) failed: property invalid or does not exist TagAction::property( &amp;quot;accel&amp;quot; ) failed: property invalid or does not exist jeltsch@michael-laptop:~&amp;gt;&lt;/code&gt; However, when started as root, things work OK, although the error messages are the same. At the moment I changed the desktop entry from the start menu so that Quanta starts up as root. Of course, I have to allow access to my X windows, e.g. by executing xhost +. I created a new regular user (mjeltsch9 and executed quanta as mjeltsch, quanta worked also fine. Apparently something is fishy with some user-specific settings. I tried to figure out what, but to no avail. Therefore I decided to make a clean start. As root, I chowned recursively all files in my home directory to mjeltsch and moved them (excluding hidden files) into /home/mjeltsch. All hidden files I put into a new directory which I called old_dot_files. I might need some of these. Then I deleted my /home/jeltsch. Using Yast2, I deleted account &amp;ldquo;jeltsch&amp;rdquo; and changed the /home/mjeltsch into /home/jeltsch. Then, also in Yast2, I renamed the user mjeltsch into jeltsch and changed his home directory from /home/mjeltsch into /home/jeltsch. I also had to chown -R /tmp/mcop-jeltsch. Apparently everything works again, but all my desktop configuration is of course lost.&lt;/p&gt;</description></item><item><title>Recursive grep</title><link>https://jeltsch.org/en/recursive_grep/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/recursive_grep/</guid><description>&lt;p&gt;grep (case-insensitive, recursive) grep doesn&amp;rsquo;t offer any possibility to recursively descent down the directory tree. The following command searches e.g. just thru all the files in the current directory:&lt;code&gt;grep bacteria *&lt;/code&gt;To make the search case-insensitive, one can use the i flag:&lt;code&gt;grep -i bacteria *&lt;/code&gt;But if you want to do a recursive search you have to use a quite complicated construction of UNIX commands to achieve this goal:&lt;code&gt;find ~/Mail -type f -exec grep 'bacteria' {} \; -print&lt;/code&gt;This command searches recursively thru the Mail directory of the current user and prints all the lines that contain the word bacteria.&lt;/p&gt;</description></item><item><title>Reference Sequences (Staden)</title><link>https://jeltsch.org/en/reference_sequences_staden/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/reference_sequences_staden/</guid><description>&lt;p&gt;To make one sequence a reference sequence, just select its name from the gap4 Edit Contig window and right click and select as reference sequence. If the file is in embl format, the features will show up as Staden tags in the alignment.&lt;/p&gt;</description></item><item><title>Removing PDF password protection</title><link>https://jeltsch.org/en/removing_pdf_password_protection/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/removing_pdf_password_protection/</guid><description>&lt;p&gt;I recently bought a pdf book. It was password-protected (40bit security). Unfortunately some of the PDF viewers on Linux cannot open password-protected pdf files. So I decided that I can remove the password protection for private use.A quick lock at the web showed two very easy methods of password removal:&lt;/p&gt;</description></item><item><title>Resetting the MySQL root password</title><link>https://jeltsch.org/en/resetting_the_mysql_root_password/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/resetting_the_mysql_root_password/</guid><description>&lt;p&gt;If you have forgotten your MySQL root password, you can reset it if you have physical access to the machine mysql is running on: Find the .pid file of the mysql process. It is either called mysql.pid or machinename.pid. Kill the mysql process. On my MacOS X server e.g. &lt;code&gt;kill &lt;/code&gt;cat /usr/local/mysql-standard-4.0.16-apple-darwin6.6-powerpc/data/localhost.pid`` Restart the mysql server &lt;code&gt;/usr/local/mysql-standard-4.0.16-apple-darwin6.6-powerpc/bin/mysqld_safe --skip-grant-tables &amp;amp;&lt;/code&gt; Set the new root password (replace newpassword with the new password!) &lt;code&gt;/usr/local/mysql-standard-4.0.16-apple-darwin6.6-powerpc/bin/mysqladmin -u root flush-privileges password &amp;quot;newpassword&amp;quot;&lt;/code&gt; Done!&lt;/p&gt;</description></item><item><title>scp (secure copy)</title><link>https://jeltsch.org/en/scp_secure_copy/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scp_secure_copy/</guid><description>&lt;p&gt;In order to copy the file index.html from the local machine to vesuri.helsinki.fi the following command is needed:&lt;code&gt;scp -p /Volumes/Documents/michael/Sites/index.html jeltsch@vesuri.helsinki.fi:./public_html/index.html&lt;/code&gt;The p flag preserves modification times, access times, and modes from the original file. The full path of the original file (/Volumes/Documents/michael/Sites/index.html) is of course not needed if the file is in the current directory.In order to copy the directory &amp;ldquo;/Multimedia/TV Shows/Kids &amp;amp; Family&amp;rdquo; from a remote server with the IP address 192.168.0.16 to the current directory of the local machine, use the following command:&lt;code&gt;scp -r root@192.168.0.16:&amp;quot;/Multimedia/TV\\ Shows/Kids\\ \&amp;amp;\\ Family&amp;quot; .&lt;/code&gt;Note the double back slashes to escape the white spaces in the file path! The r flag is needed because you want the complete content of the directory (recursive).If you need to specifiy a port number, you need the capital P flag:&lt;code&gt;scp -P 22222 -v TVSeriesXY_S01E* mnmplus@192.168.0.16:/Volumes/Multimedia&lt;/code&gt;Sometimes, scp is inefficient (e.g. when transferring massive amounts of small, uncompressed files). In that case, one solution is to use tar (to concatenate and compress) and then pipe the output through ssh to the other machine and decompress/untar it there:&lt;code&gt;tar cpf - server.helsinki.fi | ssh jeltsch@othermachine.helsinki.fi &amp;quot;tar xpf - -C /home/jeltsch/&amp;quot;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Sequence trace files in tar archives (Staden)</title><link>https://jeltsch.org/en/sequence_trace_files_in_tar_archives_staden/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/sequence_trace_files_in_tar_archives_staden/</guid><description>&lt;p&gt;I want to store all sequence traces of a sequencing project (using Staden) in one file. You can do that if you simply tar all the *.ztr files: &lt;code&gt;tar -cvf ./test.tar *.ztr&lt;/code&gt; Then you have to specify in gap4 &lt;code&gt;Options -&amp;gt; Configure menus -&amp;gt; Expert&lt;/code&gt; And then you need to specify &lt;code&gt;Options -&amp;gt; Trace file location -&amp;gt; TAR=./test.tar&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Software development projects for Molecular Biology</title><link>https://jeltsch.org/en/software_development_projects_for_molecular_biology/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/software_development_projects_for_molecular_biology/</guid><description>&lt;p&gt;GCK2.5-related&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GCK2.5 debug under wine**
There are still some bugs that make using gck2.5 sometimes a pain under wine. Especially the inability to annotate regions, to search for a sequence and to open a new file.&lt;/li&gt;
&lt;li&gt;GCK2.5 export**
GCK2.5 is not able to export in embl format with the regions converted into features.
It can, however, export comments to text file and plain sequence to a text file. It should be trivial to write a perl script that takes these two files and converts them into one embl file, EMBOSS cirdna/lindna or pDRAW32 file.&lt;/li&gt;
&lt;li&gt;GCK2.5/wine desktop integration**
When clicking on files that are associated with Windows programs (using wine), the Linux file manager (e.g. Konqueror) passes the file as an argument to the associated Windows application and the file is opened under wine. However GCK2.5 refuses to accept the file as an argument. When clicking on a .gcc file, GCK2.5 starts up, but opens an empty window and I have to open the .gcc file from within GCK2.5. Unnecessary clicking, especially when I need to navigate over several folder hierachies. When GCK2.5 is running natively under Windows, is it possible to start GCK2.5 with a construct file as a command line argument? I should check that out.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;pDRAW32-related&lt;/p&gt;</description></item><item><title>Specifying a default working directory (Path) for Acrobat via acroread.desktop file</title><link>https://jeltsch.org/en/specifying_a_default_working_directory_path_for_acrobat_via_acroread_desktop_file/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/specifying_a_default_working_directory_path_for_acrobat_via_acroread_desktop_file/</guid><description>&lt;p&gt;Acrobat starts always with ~ as the working directory. Because I keep all my pdf files in a seperate directory, I have to do quite some navigation before I can save them. This is especially bad as the Acrobat save as window displays all files including hidden files.&lt;/p&gt;</description></item><item><title>Staden Help Function (no Netscepe, no help)</title><link>https://jeltsch.org/en/staden_help_function_no_netscepe_no_help/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/staden_help_function_no_netscepe_no_help/</guid><description>&lt;p&gt;Because I don&amp;rsquo;t have Netscape installed on my computer, the help function of Staden doesn&amp;rsquo;t work automatically. During the staden course James told be to look into &lt;code&gt;/usr/local/staden-linux-rel-1-4/lib/tk_utils/help_netscape.tcl&lt;/code&gt; I might do so, but as a quick fix I made a symbolic link to mozilla: &lt;code&gt;sudo ln -s /usr/bin/mozilla /usr/bin/netscape&lt;/code&gt; And this really works. I also tried it succesfully with Konqueror: &lt;code&gt;sudo ln -sf /opt/kde3/bin/konqueror /usr/bin/netscape&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Staden on MacOS X (ebiotools)</title><link>https://jeltsch.org/en/staden_on_macos_x_ebiotools/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/staden_on_macos_x_ebiotools/</guid><description>&lt;p&gt;Today I installed the Staden Package on Tanja&amp;rsquo;s Macintosh G4 computer (MacOS 10.3). I recommend using the 
 &lt;a href="http://liv.bmc.uu.se/macosx/downsoft.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;ebiotools package&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 made by Anders Nister. It includes other useful software such as EMBOSS, Blast, etc.). Installation instructions are available in the 
 &lt;a href="https://web.archive.org/web/20050306234019/http://www.embnet.org/download/embnetnews/index.html" target="_blank" rel="noopener noreferrer nofollow"&gt;embnet news issues 9/1, 9/2, 9/3 and 10/1&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 or gathered into one pdf file from 
 &lt;a href="https://jeltsch.org/downloads/embnet_news_9-1_to_10-1.pdf"&gt;here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Start netatalk as system service during bootup on Suse Linux 9</title><link>https://jeltsch.org/en/start_netatalk_as_system_service_during_bootup_on_suse_linux_9/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/start_netatalk_as_system_service_during_bootup_on_suse_linux_9/</guid><description>&lt;p&gt;I am missing from Suse Linux 9 a nice GUI that collects ALL system services with the options &amp;ldquo;start&amp;rdquo;, &amp;ldquo;stop&amp;rdquo; and &amp;ldquo;start on every system boot&amp;rdquo;. RedHat 9 has something like that. There is Yast2, but under the services, netatalk is not even listed. To boot netatalk during system boot, I just create manually a link: &lt;code&gt;cd /etc/init.d/rc5.d sudo ln -s ../atalk S22atalk&lt;/code&gt; After rebooting (and to my surprise) my computer froze. No Ctrl-Alt-F2, no access via ssh; the only rescue being the physical reboot button button (something I am only used to from my Macintosh times). After rebooting in safe mode and removing the link everything is fine again. When I manually start atalk, the system freezes in the same way after a couple of seconds…&lt;/p&gt;</description></item><item><title>Suse Linux 9.1</title><link>https://jeltsch.org/en/suse_linux_9_1/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_1/</guid><description>&lt;p&gt;I bought the boxed version of Suse Linux 9.1. The update went quite smoothly. Although it reported about 1500 package conflicts, they were all just consequences of kopete 0.81 (my icq client) and vlc 0.71 (my video player). I resolved the conflicts by first unprotecting the non-Suse packages that I had installed and then risking system inconsistencies. However, after the update both kopete and vlc still functioned. On the other hand VMWare 4.0.5 broke but updating to 4.5.1 helped.&lt;/p&gt;</description></item><item><title>Suse Linux 9.1/9.2 and vmware</title><link>https://jeltsch.org/en/suse_linux_9_1_9_2_and_vmware/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_1_9_2_and_vmware/</guid><description>&lt;p&gt;I downloaded again a VMware release to test (4.5.2). But it didn&amp;rsquo;t even wanted to be configured. Apparently Suse has screwed up the installation source directory tree structure. I found this fix: &lt;code&gt;cd /usr/src/linux su make cloneconfig make prepare&lt;/code&gt; After this the vmware-config.pl should run ok. Before running the vmware-config.pl I also applied the 
 &lt;a href="http://ftp.cvut.cz/vmware/vmware-any-any-update78.tar.gz" target="_blank" rel="noopener noreferrer nofollow"&gt;vmware-any-any-update78 patch&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.
BTW: You have to repeat this procedure everytime you update your kernel! After updating to 9.2 I had more problems. After every restart I had to execute vmware-config.pl again. This was fixed by adding &lt;code&gt;for a in &lt;/code&gt;seq 0 9&lt;code&gt;; do mknod /dev/vmnet$a c 119 $a; done&lt;/code&gt; to the beginning of the /etc/init.d/vmware file. After kernel updates the procedure before starting vmware-config.pl is &lt;code&gt;cd /usr/src/linux make cloneconfig make modules_prepare&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Syncronizing Psion3a address database with KDE's address book</title><link>https://jeltsch.org/en/syncronizing_psion3a_address_database_with_kde_s_address_book/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/syncronizing_psion3a_address_database_with_kde_s_address_book/</guid><description>&lt;p&gt;I have an old Psion 3a which I use mainly as an alarm clock during vacation when I have to catch a train or plane. To make it more useful, I decided to put all my addresses to its database. The database format is some strange format (.dbf). The database application of the Psion 3a cannot import any other format and the only format it can export in is a text file where each field is seperated from the next by a delimiter character (by default linefeed) and each record is seperated from the next by an empty line (or an empty line if linefeed is the delimiter).
The PsiWin application on a PC can open the dbf format and export in a variety of formats (hopefully). So the way to get all my addresses into the Psion would be (they are in MacOSX&amp;rsquo;s addressbook format at the moment) to get them first into KDE&amp;rsquo;s address book and then export from there in a format that PsiWin can read and use PsiWin to save in the dbf format that the Psion can read.&lt;/p&gt;</description></item><item><title>True Type fonts under Linux</title><link>https://jeltsch.org/en/true_type_fonts_under_linux/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/true_type_fonts_under_linux/</guid><description>&lt;p&gt;True Type fonts under Linux Font handling under Linux is quite a chaos. Here is how I added true type fonts to my Suse Linux 9. In the Control Center -&amp;gt; System Administration -&amp;gt; Font Installer you have to change into Administration mode -&amp;gt; Advanced Mode (with embedded font selector). Then I just selected the fonts I wanted from the fonts directory of my Windows XP partition and clicked Add. By clicking Apply the fonts become available to the X Windows Server. You can do the same by manually copying the fonts into /usr/X11R6/lib/X11/fonts/truetype and then running &lt;code&gt;xset fp rehash&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Using multiple mouses/trackpads simultaneously (Suse Linux 9 Yast2/SaX)</title><link>https://jeltsch.org/en/using_multiple_mouses_trackpads_simultaneously_suse_linux_9_yast2_sax/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/using_multiple_mouses_trackpads_simultaneously_suse_linux_9_yast2_sax/</guid><description>&lt;p&gt;I have a laptop and used Yast2 to configure an external USB mouse. However, the trackpad became inactive. When I now restart without USB mouse I am in trouble. I used for the configuration: &lt;code&gt;Control Center -&amp;gt; Yast2 modules -&amp;gt; Hardware -&amp;gt; Select mouse model&lt;/code&gt; If you want to operate both external mouse and trackpad, you need to dig deeper: &lt;code&gt;Control Center -&amp;gt; Yast2 modules -&amp;gt; Hardware -&amp;gt; Graphics Card and Monitor -&amp;gt; Graphical Desktop Environment -&amp;gt; Change -&amp;gt; Component: Input Devices&lt;/code&gt; Here you have the possibility to add an indefinte amount of mouses. You should probably test whether you new settings work (with the test button) before you restart. The settings become only active after a restart. Meaning if you want to deactivate your trackpad (because it disturbs you) you need again a restart…&lt;/p&gt;</description></item><item><title>What nfs and smb shares are available on a server (showmount, smbclient)?</title><link>https://jeltsch.org/en/what_nfs_and_smb_shares_are_available_on_a_server_showmount_smbclient/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_nfs_and_smb_shares_are_available_on_a_server_showmount_smbclient/</guid><description>&lt;p&gt;The command to figure out what shares are available e.g. on the computer 192.168.0.2 type:For nfs: &lt;code&gt;/usr/sbin/showmount -e 192.168.0.2&lt;/code&gt;For samba: &lt;code&gt;smbclient -L 192.168.0.2&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Windows NT, network browsing, mounting and disconnecting from network drives (command netuse)</title><link>https://jeltsch.org/en/windows_nt_network_browsing_mounting_and_disconnecting_from_network_drives_command_netuse/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/windows_nt_network_browsing_mounting_and_disconnecting_from_network_drives_command_netuse/</guid><description>&lt;p&gt;Network browsing in Windows is a mystery. Sometimes some computers simply don&amp;rsquo;t show up when browsing a network. This seems to be especially true for Linux servers. Under newer versions of the Windows OS (2000, XP), you can connect to a server (if you know its IP adress) via the mount network drive command even though the network browser cannot see that server. Windows NT doesn&amp;rsquo;t have that option. The only possibility is to use the &amp;ldquo;net use&amp;rdquo; command from the command line. This is uncomfortable, although one can make .bat files for frequently used connections. The command is: &lt;code&gt;net use * \\ip-adress\username&lt;/code&gt; The asterisk assings the share to the next available drive letter (of course you can assign manually to e.g. H:). To delete this specific network drive type: &lt;code&gt;net use H: /delete&lt;/code&gt; Actually, even if you can browse and connect without needing the command line, you need the command line always when you want to disconnect a share from an NT server. Funnily Windows NT has no other way but to type &lt;code&gt;netuse * /delete&lt;/code&gt; In some discussion threads it was mentioned, that one should switch on WINS support in the Linux server&amp;rsquo;s smb.conf file &lt;code&gt;wins support = Yes&lt;/code&gt;. If you connect to Linux, make sure that Samba is running and that the user to whose home folder you want to connect to has an entry &amp;amp; password in the smb database (this is NOT preconfigured even in Suse 9.2): &lt;code&gt;as root: smbpasswd -a username&lt;/code&gt; It didn&amp;rsquo;t help me, though. MacOS X computers (10.3) show up now without problems (older MacOS X versions also had problems). Maybe I should compare the smb.conf files or just copy it over to my Suse 9.1.&lt;/p&gt;</description></item><item><title>Windows XP guest from raw partition under VMWare 4, coLinux as rescue</title><link>https://jeltsch.org/en/windows_xp_guest_from_raw_partition_under_vmware_4_colinux_as_rescue/</link><pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/windows_xp_guest_from_raw_partition_under_vmware_4_colinux_as_rescue/</guid><description>&lt;p&gt;So far I never was able to run a Windows XP guest OS from a raw disk partition using Linux VMWare. Here&amp;rsquo;s the 
 &lt;a href="http://www.vmware.com/community/thread.jspa?messageID=32173" target="_blank" rel="noopener noreferrer nofollow"&gt;discussion thread&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>aMule on our server (what ports to open?)</title><link>https://jeltsch.org/en/amule_on_our_server_what_ports_to_open/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/amule_on_our_server_what_ports_to_open/</guid><description>&lt;p&gt;I installed the aMule RPMs from from Packman. Then I needed to start up aMule once in GUI mode to set up the remote control web interface (enable all remote access and disable unix sockets and give passwords). Thereafter you can just start the aMule daemon via the command line amuled. Sometimes amuleweb fails to load when you start amuld, in such a case you should execute amuleweb separately. After this you can connect to aMule&amp;rsquo;s own web server. I opened TCP port 4662 and UDP ports 4672 and 4665 and on our router I forwarded port 4662 to the machine running aMule. In order to keep aMule running even after you terminate your ssh session you need to execute &amp;ldquo;nohup amuled&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Build-in package selection during Suse Linux install (autoyast, network install)</title><link>https://jeltsch.org/en/build_in_package_selection_during_suse_linux_install_autoyast_network_install/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/build_in_package_selection_during_suse_linux_install_autoyast_network_install/</guid><description>&lt;p&gt;When you install Suse Linux, the installer offers you only three choices: minimal, KDE and Gnome. Everytime I do an install I end up manually selecting lots of packages (and I forget often many which I have to add later). Yast offers the possibility to save the package selection of a currently installed system. But how to I load such a selection file (*.sel) during installation? Apparently you can load it from the hard disk or the floppy disk. But the hard disk is usually formatted for a new install and many computers (especially portables) don&amp;rsquo;t have floppy drives anymore. I doubt that I can load such list from a USB stick.Obviously when one does a network install one could put such *.sel file onto the server, but a network install is quite more demanding as it needs a server with the installer data. Suse Linux 9.2 offers a mini installer on CD, that can be used but it apparently requires the 9.2 DVD as nfs export (and then there is again no possibility to load a custom package selection file unless I modify the DVD which is again lots of work). The closest info I could come up with were the instructions 
 &lt;a href="http://www.room17.com/hacks/suse.shtml" target="_blank" rel="noopener noreferrer nofollow"&gt;how to make your own Suse distribution&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. This uses 
 &lt;a href="http://www.suse.de/~nashif/autoinstall/" target="_blank" rel="noopener noreferrer nofollow"&gt;autoyast&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, especially 
 &lt;a href="http://www.suse.de/~nashif/autoinstall/9.1/html/CreateProfile.Software.htmlid2515707" target="_blank" rel="noopener noreferrer nofollow"&gt;Custom package Selections"&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 which is probably overkill and additionally not very flexible as I need to create a new installation CD every time I change my package selection.Other documents useful concerning autoinstallation/network installation:

 &lt;a href="http://support.novell.com/cgi-bin/search/searchtid.cgi?/en/2001/02/cg_autoinstall.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Autoinstall&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;


 &lt;a href="http://support.novell.com/cgi-bin/search/searchtid.cgi?/en/2001/07/daniel_ftpinst_local.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Network Installation&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Configuring and starting Apache2 via Yast2</title><link>https://jeltsch.org/en/configuring_and_starting_apache2_via_yast2/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/configuring_and_starting_apache2_via_yast2/</guid><description>&lt;p&gt;Yast is of of course as unfriendly when it comes to error messages as any other Linux program. I tried to start up Apache2 using Yast2 and there were only 3 fields in the configuration wizard to fill in: server name, administrator e-mail and listening port. I filled in as server name &amp;ldquo;Suse Linux&amp;rdquo;. When Yast2 wanted to do the configuration, the error message was: Error: cannot adjust apache2 service
Cool. Had I started apache manually (sudo /etc/init.d/apache2 start), I had noticed the following line among the error messages:
Starting httpd2 (prefork) Syntax error on line 11 of /etc/apache2/sysconfig.d/global.conf:
ServerName takes one argument, The hostname and port of the server
Obviously &amp;ldquo;Suse Linux&amp;rdquo; was taken as two arguments. So I went back to the graphical interface and changed the value to &amp;ldquo;Suse_Linux&amp;rdquo; and this time it worked.&lt;/p&gt;</description></item><item><title>Converting Mac text files into UNIX text files (tr)</title><link>https://jeltsch.org/en/converting_mac_text_files_into_unix_text_files_tr/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/converting_mac_text_files_into_unix_text_files_tr/</guid><description>&lt;p&gt;If you though text files are all the same, you are wrong. Mac text file lines end with a carriage return (CR, ASCII 13), UNIX text file lines with a line feed (LF, ACII 10) and Microsoft Windows text file lines end with a combination of 2 characters: CR followed by LF. From Mac to Unix you convert with this command line: &lt;code&gt;tr '\015' '\012' out_file&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Cutting mpeg movie files (mpgtx)</title><link>https://jeltsch.org/en/cutting_mpeg_movie_files_mpgtx/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/cutting_mpeg_movie_files_mpgtx/</guid><description>&lt;p&gt;I recorded a documentary from TV as mpeg2. To be able to distribute it via the internet I need to shrink its size and I am using the DivX codec. But first I wanted to trim the beginning and the end. I used 
 &lt;a href="http://mpgtx.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;mpgtx&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, a very handy command line tool. There are Suse RPMs from 
 &lt;a href="http://packman.links2linux.de/" target="_blank" rel="noopener noreferrer nofollow"&gt;Packman&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The command was &lt;code&gt;mpgtx -s tutkittu_juttu.mpg [00:22.50-26:55.00] -o cut.mpg&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Execution of dd command via ssh and output redirection to local file</title><link>https://jeltsch.org/en/execution_of_dd_command_via_ssh_and_output_redirection_to_local_file/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/execution_of_dd_command_via_ssh_and_output_redirection_to_local_file/</guid><description>&lt;p&gt;I wanted to copy a whole encrypted partition over the network into a file. You can execute many commands via ssh, but occasionally there are problems to direct the output where you want it. E.g. the &amp;ldquo;more&amp;rdquo; command doesn&amp;rsquo;t output to standard out when used via ssh. You need to use &amp;ldquo;less&amp;rdquo; to get the file content displayed locally (at least using a RedHat 8 remote machine). With dd you cannot use the &amp;ldquo;dd if=input of=output&amp;rdquo; syntax but you need the &amp;ldquo;dd output&amp;rdquo; syntax. The command I finally managed with is &lt;code&gt;ssh -l root remote-machine 'dd hda1.bin&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Exporting automounted partitions via nfs</title><link>https://jeltsch.org/en/exporting_automounted_partitions_via_nfs/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/exporting_automounted_partitions_via_nfs/</guid><description>&lt;p&gt;We are accessing data from our server via nfs. The nfs exports are automounted on the nfs clients&amp;rsquo; computers. It works fine. However there is a partition (a whole drive in fact) on our server that is automounted on demand. We wanted this hard drive to unmount automatically if it is not needed to save energy and reduce noise levels. When I include the mountpoint of this partition in /etc/exports everything seems to work fine, but automounting this export on a client machine fails. It can still be mounted manually though with a regular mount command. As a workaround (in order to have a desktop link in KDE to the data on the server) I did the following:
I added an entry to the fstab: &lt;code&gt;server:/automounts/multimedia /media/multimedia nfs rsize=1024,wsize=1024,noauto,user 0 0&lt;/code&gt; Then I created a shell script: &lt;code&gt;!/bin/sh mount /media/multimedia kfmclient openProfile filemanagement /media/multimedia&lt;/code&gt; Then I created a new &amp;ldquo;Link to Application&amp;rdquo;, that points to that shell script.
As a result of clicking this Link, the nfs export is mounted and a new Konqueror window opens with the contents of the mountpoint directory displayed.&lt;/p&gt;</description></item><item><title>Firewall configuration programs (fwbuilder, yast2, iptables, Brickwall/Brickhouse)</title><link>https://jeltsch.org/en/firewall_configuration_programs_fwbuilder_yast2_iptables_brickwall_brickhouse/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/firewall_configuration_programs_fwbuilder_yast2_iptables_brickwall_brickhouse/</guid><description>&lt;p&gt;Configuring the firewall by hand using iptables is quite difficult. When we still used RedHat 8.1 we have been doing it but now not anymore. We have been using yast2 now for firewall configuration. An alternative to yast2 is 
 &lt;a href="http://www.fwbuilder.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;fwbuilder&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. We tried it once and it seems to work although the code it produces is quite large compared to manual configuration. An obvious advantage is that fwbuilder can be used together with many different types of firewalls and operating systems (e.g. also Mac OS X). I still think 
 &lt;a href="http://brianhill.dyndns.org/site/modules.php?op=modload&amp;amp;name=News&amp;amp;file=article&amp;amp;sid=15&amp;amp;mode=thread&amp;amp;order=0&amp;amp;thold=0" target="_blank" rel="noopener noreferrer nofollow"&gt;Brickhouse (formerly Brickwall)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 is a very good - probably the best and easiest - configuration script for the inbuilt firewall/routing functions of Mac OS X. I think the Linux community needs such a project since Brickhouse is way easier to use than fwbuilder.&lt;/p&gt;</description></item><item><title>Grip configuration (%) switches for file formats</title><link>https://jeltsch.org/en/grip_configuration_switches_for_file_formats/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/grip_configuration_switches_for_file_formats/</guid><description>&lt;p&gt;Grip is a GTK-based CD-player and CD-ripper / MP3 encoder. Here is a list of the &amp;lsquo;%&amp;rsquo; switches used in command-lines.&lt;/p&gt;</description></item><item><title>Hardware (harddisk) failure (dma timeout error, dma_timer_expiry)</title><link>https://jeltsch.org/en/hardware_harddisk_failure_dma_timeout_error_dma_timer_expiry/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/hardware_harddisk_failure_dma_timeout_error_dma_timer_expiry/</guid><description>&lt;p&gt;A while ago our server seems to have a hard disk failure as the following error messages kept coming up: &lt;code&gt;hda: dma timeout error: […] hda: dma_timer_expiry: […]&lt;/code&gt; We exchanged the 20 GB HD against my old Mac&amp;rsquo;s 4.7 GB HD and reinstalled the system. A friend of mine tried the &amp;ldquo;broken&amp;rdquo; 20GB HD on a Windows system and said it works fine. We put it back as a secondary drive to our server and everything went OK for another 6 months until a similar message started appearing during booting: &lt;code&gt;spurious 8259A interrupt: IRQ7 hdc: read_intr: status=0x59 {DriveReady SeekComplete DataRequest Error} hdc: read_intr: error=0x04 {DriveStatusError} ide1: reset: success&lt;/code&gt; and during shutdown: &lt;code&gt;hdc: status timeout: status=0x80 hdc: drive not ready for command ide1: reset timed-out&lt;/code&gt; Additionally there were strange clicking sound appearing. And there is also a problem with spinning down the hard drive: it never did spin down anymore which made the server quite loud during the night. Since RedHat&amp;rsquo;s default 2.4.20 kernel doesn&amp;rsquo;t support laptop mode, we decided to switch the distro. I exhanged that drive for a 6 GB drive and newly installed Suse Linux 9.1. When I copied over the data from the 20 GB drive to the 6 GB drive there were three or four files that I couldn&amp;rsquo;t copy (IO failure). Now I wonder whether the 20 GB drive is really broken or not. From all symptoms it seems very likely yes. Although if its just DMA failure messages, they can be switched off by turning off DMA mode (given as boot parameters: &lt;code&gt;ide=nodma noapic apm=off&lt;/code&gt; That makes obviously performance worse. DMA means Direct Memory Access and it means that data can be moved from the hard disk to another place (e.g. memory or another disk) without the CPU being involved (which makes it much faster and frees the CPU from unnecessary work.&lt;/p&gt;</description></item><item><title>How much disk space do I have left (disk usage du and disk free df)</title><link>https://jeltsch.org/en/how_much_disk_space_do_i_have_left_disk_usage_du_and_disk_free_df/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_much_disk_space_do_i_have_left_disk_usage_du_and_disk_free_df/</guid><description>&lt;p&gt;To see how much disk space you have left use &lt;code&gt;df -h&lt;/code&gt; The h flag is for &amp;ldquo;human readable&amp;rdquo;. Otherwise you get the size in 1k blocks.&lt;/p&gt;</description></item><item><title>How to back up hidden files</title><link>https://jeltsch.org/en/how_to_back_up_hidden_files/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_back_up_hidden_files/</guid><description>&lt;p&gt;&lt;code&gt;tar cvf backupfile.tar .[a-zA-Z0-9]*&lt;/code&gt;Any better ideas? This command requires that the dot is followed by an alphanumerical character. Which is usually the case for the hidden files in the user&amp;rsquo;s home folder.&lt;/p&gt;</description></item><item><title>How to take screenshots in Windows XP without any additional software</title><link>https://jeltsch.org/en/how_to_take_screenshots_in_windows_xp_without_any_additional_software/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_take_screenshots_in_windows_xp_without_any_additional_software/</guid><description>&lt;p&gt;Press the PrtSc button (somewhere near PageUp/Down) to capture the whole screen and Alt PrtSc to capture the active window only. Then Open Paint (from Programs, Accessories), paste and save.&lt;/p&gt;</description></item><item><title>Installing source rpms (rpmbuild --rebuild)</title><link>https://jeltsch.org/en/installing_source_rpms_rpmbuild_rebuild/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_source_rpms_rpmbuild_rebuild/</guid><description>&lt;p&gt;In order to install source rpms *.src.rpm you need to rebuild the package (as root): &lt;code&gt;rpmbuild --rebuild package.src.rpm&lt;/code&gt; This results in a binary rpm. On Suse 9.2 the newly created binary rpm can be found in /usr/src/packages/RPMS. You can install it as usual: &lt;code&gt;rpm -ivh package.rpm&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Keyboard layout under xfce (Debian Testing, XF86Config)</title><link>https://jeltsch.org/en/keyboard_layout_under_xfce_debian_testing_xf86config/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/keyboard_layout_under_xfce_debian_testing_xf86config/</guid><description>&lt;p&gt;We installed Debian Testing onto our old 333MHz/128MB Compaq M300. We had Suse Linux 9.2. It worked well, but was quite slow. Suse, RedHat and Mandrake are nowadays like Windows: bloated. Debian Testing was much faster and we changed from KDE to 
 &lt;a href="http://www.xfce.org/index.php?page=documentation&amp;amp;lang=en" target="_blank" rel="noopener noreferrer nofollow"&gt;xfce&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. No problems, we just had to adjust the keyboard layout in /etc/X11/XF86Config-4 from us to fi &lt;code&gt;Section &amp;quot;InputDevice&amp;quot; Option &amp;quot;XkbLayout&amp;quot; &amp;quot;us&amp;quot;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Kill and defunct (zombie) processes (kill, pstree, xkill)</title><link>https://jeltsch.org/en/kill_and_defunct_zombie_processes_kill_pstree_xkill/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kill_and_defunct_zombie_processes_kill_pstree_xkill/</guid><description>&lt;p&gt;Sometimes you cannot kill some processes via the regular command &lt;code&gt;kill -9 PID&lt;/code&gt; When you list them with &lt;code&gt;ps -aux&lt;/code&gt; you will see the entry &lt;code&gt;defunct&lt;/code&gt; Those defunct processes are apparently still hanging around mostly because their parent application is waiting for them to receive something. These processes are already dead, that&amp;rsquo;s why they are called &amp;ldquo;zombies&amp;rdquo;. In order to kill them, you have to kill the parent application first. You can figure out what the parent&amp;rsquo;s PID is by issuing &lt;code&gt;pstree PID&lt;/code&gt;The kill command can do more than kill, e.g. terminate, quit, hang up, etc. To list its possibilities, type &lt;code&gt;kill -l&lt;/code&gt; You can either use the number or the string to define what kill should do. Therefore the following two commands are identical: &lt;code&gt;kill -KILL PID``kill -9 PID&lt;/code&gt;To terminate all processes that you are allowed to terminate, use -1 as the PID. Obviously, you need to specify the action by using its string (otherwise -1 would be interpreted to be the action that kill is going to perform, i.e. HUP): &lt;code&gt;kill -KILL -1&lt;/code&gt;To easily kill applications with a GUI, you can use 
 &lt;a href="http://en.wikipedia.org/wiki/Xkill" target="_blank" rel="noopener noreferrer nofollow"&gt;xkill&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. You just need to select the window of the process you wish to kill with the mouse.&lt;/p&gt;</description></item><item><title>ksubtile, subtitles and subtitle format (srt, mplayer)</title><link>https://jeltsch.org/en/ksubtile_subtitles_and_subtitle_format_srt_mplayer/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ksubtile_subtitles_and_subtitle_format_srt_mplayer/</guid><description>&lt;p&gt;There are heaps of subtitle editors for Windows, but I found only one usable for Linux: ksubtile. It&amp;rsquo;s not perfect but usable. It uses SubRip format (*.SRT). In these files subtitles have a running number, end- and startime down to milliseconds given for each subtitle.&lt;/p&gt;</description></item><item><title>Manually recharging batteries</title><link>https://jeltsch.org/en/manually_recharging_batteries/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manually_recharging_batteries/</guid><description>&lt;p&gt;I have a old-fashioned battery charger from Varta (type 57 037 091 101) that doesn&amp;rsquo;t switch off the current when the batteries are fully charged. Unfortunately this is the only charger I have e.g for D size batteries (also called mono batteries). The charger lists the necessary charging times for different types of batteries on its back side. If you assume 100% efficiency, the necessary charging time is given by the following formula: &lt;code&gt;charging time (h) = battery capacity (in mAh) / charging current (in mA)&lt;/code&gt; The times given in Varta&amp;rsquo;s table exceed these theoretical times by 24-65%. Mostly they are around 40% longer than the calculated. This agrees with the data given in the usage instructions of my Hama charger that claim that &lt;code&gt;charging time (h) = battery capacity (in mAh) x 1.4 / charging current (in mA)&lt;/code&gt; However, I have read on several web sites (e.g. 
 &lt;a href="http://www.gaiam.com/retail/gai_content/learn/gai_learnArticle.asp?article_id=1450" target="_blank" rel="noopener noreferrer nofollow"&gt;gaiam&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) that the factor for charging losses is 1.25 and not 1.4; consequently I still don&amp;rsquo;t know exactly how long to charge when I need to charge manually. Especially I am wondering whether there are differences in the charging inefficiency between e.g. NiCd and NiMH batteries.&lt;/p&gt;</description></item><item><title>Manually syncronizing the time (xntp, ntpdate)</title><link>https://jeltsch.org/en/manually_syncronizing_the_time_xntp_ntpdate/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manually_syncronizing_the_time_xntp_ntpdate/</guid><description>&lt;p&gt;If you manually want to syncronize your computer&amp;rsquo;s clock with a time server: &lt;code&gt;sudo /usr/sbin/ntpdate tick.keso.fi&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Migrating the Mad Thought Blog to a new server (mysql, php)</title><link>https://jeltsch.org/en/migrating_the_mad_thought_blog_to_a_new_server_mysql_php/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/migrating_the_mad_thought_blog_to_a_new_server_mysql_php/</guid><description>&lt;ol&gt;
&lt;li&gt;Dump the database data mysqldump &amp;ndash;host=localhost &amp;ndash;user=root -p journal &amp;gt;journal.sql&lt;/li&gt;
&lt;li&gt;Create the databse on the new machine mysql -u root -p CREATE DATABASE journal;&lt;/li&gt;
&lt;li&gt;Import the data into the database mysql -p -h localhost journal &amp;lt; journal.sql&lt;/li&gt;
&lt;li&gt;Create the user &amp;lsquo;journal&amp;rsquo; GRANT ALL PRIVILEGES ON &lt;em&gt;.&lt;/em&gt; TO &amp;lsquo;journal&amp;rsquo;@&amp;rsquo;localhost&amp;rsquo; IDENTIFIED BY &amp;lsquo;journal&amp;rsquo; WITH GRANT OPTION;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Monitoring the CPU temperature (ksensors, lmsensors)</title><link>https://jeltsch.org/en/monitoring_the_cpu_temperature_ksensors_lmsensors/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/monitoring_the_cpu_temperature_ksensors_lmsensors/</guid><description>&lt;p&gt;To monitor the CPU temperature I use ksensors. Packman has a suse 9.2 rpm. It&amp;rsquo;s a frontend for lmsensors, for which there is no suse rpm, but the installation for 2.6 kernels is easy since no compilation is required.&lt;/p&gt;</description></item><item><title>Mounting of vfat partitions and accession privilege management mapping (fstab, vfat, umask, fmask, dmask, users)</title><link>https://jeltsch.org/en/mounting_of_vfat_partitions_and_accession_privilege_management_mapping_fstab_vfat_umask_fmask_dmask_users/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mounting_of_vfat_partitions_and_accession_privilege_management_mapping_fstab_vfat_umask_fmask_dmask_users/</guid><description>&lt;p&gt;Old Windows (i.e. fat partitions) are no problem for Linux. advanced installers like Yast automatically recognize them and make them available under Linux. However, sometimes the accession privileges are not as you need them. In order to make a fat partition (un)mountable to all users and make every file/directory +rwx for everybody, the fstab needs to look like this: &lt;code&gt;/dev/hda2 /media/windows/E vfat defaults,users,uid=500,gid=100,umask=000 0 0&lt;/code&gt; Additionally Linux owner 500 and group 100 mapped as an for all files. You can also set privileges separately for files (fmask) and directories (dmask). For umask you need to give the inverse octal, meaning: 000 means all privileges and 777 means no privileges.&lt;/p&gt;</description></item><item><title>Mouting of encrypted partitions under SuSE 9.3 (losetup, cryptotab, twofish256, twofishSL92)</title><link>https://jeltsch.org/en/mouting_of_encrypted_partitions_under_suse_9_3_losetup_cryptotab_twofish256_twofishsl92/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mouting_of_encrypted_partitions_under_suse_9_3_losetup_cryptotab_twofish256_twofishsl92/</guid><description>&lt;p&gt;I have one encrypted partition that was created under SuSE 9.2. After a fresh install of 9.3 (not an update) the mounting of that partition during bootup failed. I could, however, still mount it manually later using another loopdevice. To fix this, I had to change the encryption algorithm in /etc/cryptotab from twofish256 to twofishSL92. 
 &lt;a href="http://suse-linux-faq.koehntopp.de/q/q-suse93-cryptofs.html" target="_blank" rel="noopener noreferrer nofollow"&gt;More detailed information&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Mplayer is probably the best video player (and mencoder the best encoder)</title><link>https://jeltsch.org/en/mplayer_is_probably_the_best_video_player_and_mencoder_the_best_encoder/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/mplayer_is_probably_the_best_video_player_and_mencoder_the_best_encoder/</guid><description>&lt;p&gt;Because the videodata recorded by dunerec is in some strange mpeg flavour it occupied quite a bit of diskspace. 2 hours approximately 5 GB. that is why I was looking for an easy way to convert the mpeg into divx. After unsuccessfully palying with transcode, I managed with mencoder. Mencoder is included with 
 &lt;a href="http://www.mplayer.hu" target="_blank" rel="noopener noreferrer nofollow"&gt;Mplayer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and there is an RPM for Suse Linux 9.1.&lt;/p&gt;</description></item><item><title>NFS shares &amp; automount</title><link>https://jeltsch.org/en/nfs_shares_automount/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/nfs_shares_automount/</guid><description>&lt;p&gt;On each computer on the network there is an NFS server running, starting at bootup (edit the runlevel to enable that). In Suse Linux, NFS shares can be configured in YAST (NFS server configuration) or directly in /etc/exports file. Don&amp;rsquo;t configure the remote root to act as local root! Shares should be configured to be accessed only from the local network 192.168.0.0/24 or 192.168.0.0/255.255.255.0. &lt;code&gt;/media/downloads/ 192.168.0.0/255.255.255.0(root_squash,sync)&lt;/code&gt;UIDs have to be the same on all computers for the permissions to work properly. In case they are different you can change them in YAST. After the changes files and directories will have the old user id set as the owner, so you&amp;rsquo;ll have to change the owner globally: &lt;code&gt;chown -R --from=1001 marzena /&lt;/code&gt; Change also permissions for hidden files in the home directory: &lt;code&gt;/home/marzena chown -R --from=1001 marzena .[a-zA-Z0-9]*&lt;/code&gt;NFS shares are accessed by other computers with automount, not configured in /etc/fstab!&lt;/p&gt;</description></item><item><title>Online security audit &amp; best security podcast</title><link>https://jeltsch.org/en/online_security_audit_best_security_podcast/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/online_security_audit_best_security_podcast/</guid><description>&lt;p&gt;Online security audit (portscan): 
 &lt;a href="https://www.grc.com/x/ne.dll?bh0bkyd2" target="_blank" rel="noopener noreferrer nofollow"&gt;Shields Up!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
Best computer security podcast in the known universe: 
 &lt;a href="http://www.grc.com/securitynow.htm" target="_blank" rel="noopener noreferrer nofollow"&gt;Security Now!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>RDF, image metadata, jpg/jpeg image annotation (RDFPic)</title><link>https://jeltsch.org/en/rdf_image_metadata_jpg_jpeg_image_annotation_rdfpic/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/rdf_image_metadata_jpg_jpeg_image_annotation_rdfpic/</guid><description>&lt;p&gt;I am constantly adding images to my genealogy database. The final destination of these images is the web. The annotation of these images is stored inside the image file itself. I use jpeg images and I annotate the images with 
 &lt;a href="http://jigsaw.w3.org/rdfpic/" target="_blank" rel="noopener noreferrer nofollow"&gt;RDFPic&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. RDFPic is a java application that stores metadate using the 
 &lt;a href="http://www.w3.org/TR/photo-rdf/" target="_blank" rel="noopener noreferrer nofollow"&gt;RDF (resource description framework) format&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in the comment section of the jpeg file. Unfortunately the program can handle only jpeg images and not tif or png images.&lt;/p&gt;</description></item><item><title>SCPM (System Configuration Profile Management)</title><link>https://jeltsch.org/en/scpm_system_configuration_profile_management/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/scpm_system_configuration_profile_management/</guid><description>&lt;p&gt;scpm is something like the Location Manager for Mac OS X. You need to be root to execute most of its commands: &lt;code&gt;/sbin/scpm list&lt;/code&gt; Lists all available profiles. &lt;code&gt;/sbin/scpm switch &amp;quot;profilename&amp;quot;&lt;/code&gt; Switches to the specified profile. &lt;code&gt;/sbin/scpm add &amp;quot;newprofilename&amp;quot;&lt;/code&gt; Adds a new profile based on the present systems settings. The files subject to change are located in /var/lib/scpm/profiles/&amp;ldquo;profilename&amp;rdquo;/file and /var/lib/scpm/profiles/&amp;ldquo;profilename&amp;rdquo;/service. But you shouldn&amp;rsquo;t modify them manually. I addition you can make arbitrary changes via scriptfiles that are executed upon changing the profile.&lt;/p&gt;</description></item><item><title>Self-playing DivX movies on CD (movix, autostart, vlc)</title><link>https://jeltsch.org/en/self_playing_divx_movies_on_cd_movix_autostart_vlc/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/self_playing_divx_movies_on_cd_movix_autostart_vlc/</guid><description>&lt;p&gt;I needed to put a DivX movie to a CD, that would play on virtually all computers without the need to install the DivX codec or a movie player. There is software available to make this kind of CDs with nice GUIs, etc. but the software I tested is far from user-friendly. The two easiest methods are:&lt;/p&gt;</description></item><item><title>smbclient (mount, Windows XP, SFS, file sharing)</title><link>https://jeltsch.org/en/smbclient_mount_windows_xp_sfs_file_sharing/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/smbclient_mount_windows_xp_sfs_file_sharing/</guid><description>&lt;p&gt;Since I always use some GUIs, I don&amp;rsquo;t really remember anymore how to connect to a Windows machine via the command line. &lt;code&gt;smbclient -L windowshost&lt;/code&gt; shows you the shares that are available. Often, you you cannot browse them without a login/password for that windows machine, therefore you need to type &lt;code&gt;smbclient -L windowshost -U username&lt;/code&gt; And occasionally the netbios name doesn&amp;rsquo;t work either and you need to replace it by the IP address.&lt;/p&gt;</description></item><item><title>Suse Linux 9.3 Display Manager (xdm, kdm)</title><link>https://jeltsch.org/en/suse_linux_9_3_display_manager_xdm_kdm/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_3_display_manager_xdm_kdm/</guid><description>&lt;p&gt;After the 9.3 install KDM was replaced by the ugly grey XDM by some unknown magic. To fix it change in /etc/sysconfig/displaymanager DISPLAYMANAGER=&amp;ldquo;xdm&amp;rdquo; into DISPLAYMANAGER=&amp;ldquo;kdm&amp;rdquo;.&lt;/p&gt;</description></item><item><title>System reinstall, kmail, kopete and other application preferences/settings</title><link>https://jeltsch.org/en/system_reinstall_kmail_kopete_and_other_application_preferences_settings/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/system_reinstall_kmail_kopete_and_other_application_preferences_settings/</guid><description>&lt;p&gt;I deleted my root directory in an attempt to delete a file that was starting with the character &amp;ldquo;/&amp;rdquo;. A crash of konqueror had left such impossible file in some subdirectory of /tmp. As root I played with some regular expresssions to delete it, but only managed to delete my root directory. Not completely (as the excessive disk activity made my soon realize my mistake), but sufficiently beyond repair. So I had to reinstall the system which took only 50 minutes from the DVD (selecting allmost all software packages) plus another 40 minutes for the online update via the 
 &lt;a href="ftp://ftp.funet.fi//pub/linux/mirrors/suse/ftp.suse.com/suse/"&gt;ftp.funet.fi&lt;/a&gt;
. Funnily funet.fi is not listed by YOU as a suse mirror although it is pretty up-to-date, less frequented than e.g. sunet.se and for me much faster than most other mirrors.&lt;/p&gt;</description></item><item><title>The BIOS Password of Macintosh computers (Open Firmware)</title><link>https://jeltsch.org/en/the_bios_password_of_macintosh_computers_open_firmware/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_bios_password_of_macintosh_computers_open_firmware/</guid><description>&lt;p&gt;Macs don&amp;rsquo;t have a BIOS. They have something called Open Firmware instead. So the BIOS password is called Open Firmware password. You boot into Open Firmware by pressing the command (=apple), option, O and F keys simultaneously during system boot. To set the password type &lt;code&gt;password&lt;/code&gt; To enable the protection type &lt;code&gt;setenv security-mode full&lt;/code&gt; An then reboot by typing &lt;code&gt;reset-all&lt;/code&gt; Apart from the full security mode you can also set &amp;ldquo;none&amp;rdquo; (= don&amp;rsquo;t ask password during boot) and &amp;ldquo;command&amp;rdquo; (=gives you only limited access to Open Firmware without the password. The Open Firmeware password can be removed by changing the amount of RAM and three times zapping the PRAM. More detailed information is 
 &lt;a href="http://www.securemac.com/openfirmwarepasswordprotection.php" target="_blank" rel="noopener noreferrer nofollow"&gt;available&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>The Debian Package manager (apt-cache, apt-get, install, search)</title><link>https://jeltsch.org/en/the_debian_package_manager_apt_cache_apt_get_install_search/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_debian_package_manager_apt_cache_apt_get_install_search/</guid><description>&lt;p&gt;Search for packages containing the word emacs in their name or description:&lt;code&gt;apt-cache search emacs&lt;/code&gt;Install package emacs21:&lt;code&gt;apt-get install emacs21&lt;/code&gt;Remove package wine including all configuration files:&lt;code&gt;apt-get remove --purge wine&lt;/code&gt;Reinstall a package:&lt;code&gt;apt-get --reinstall install wine&lt;/code&gt;Sometimes, you need to use dpkg to reconfigure a package, e.g. here the bittorrent sync package:&lt;code&gt;dpkg-reconfigure btsync&lt;/code&gt;&lt;/p&gt;</description></item><item><title>The invisible screensaver (kslideshow, import, screenshot)</title><link>https://jeltsch.org/en/the_invisible_screensaver_kslideshow_import_screenshot/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_invisible_screensaver_kslideshow_import_screenshot/</guid><description>&lt;p&gt;I was trying to configure my screensaver such, that it would display as only picture the desktop at the moment when the screensaver became active. In the KDE control center I chose the Slideshow screensaver (under Banners and Pictures) and in the setup I chose a specific directory as the media diretory (/home/your_user_name/Documents/images/desktop/). I also selected display one random image only. The media directory should be empty. Then I renamed /opt/kde3/bin/kslideshow.kss executable to kslideshow_ori.kss and created a shell script in the same directory that I named kslideshow.kss. The shell script looks like this: &lt;code&gt;!/bin/shimport -window root /home/your_user_name/Documents/images/desktop/desktop.pcxkslideshow_ori.kss&lt;/code&gt;The import utility is from the ImageMagick package. Instead of the screensaver, the shell script gets activated when the time has come and a screenshot is saved in the /home/your_user_name/Documents/images/desktop directory. As this image is the only one it will be displayed by the subsequently called actual screensaver.&lt;/p&gt;</description></item><item><title>Tunneling of remote X11 output to a local machine behind a firewall (ssh, X11, ForwardX11)</title><link>https://jeltsch.org/en/tunneling_of_remote_x11_output_to_a_local_machine_behind_a_firewall_ssh_x11_forwardx11/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/tunneling_of_remote_x11_output_to_a_local_machine_behind_a_firewall_ssh_x11_forwardx11/</guid><description>&lt;p&gt;If X11 forwarding is globally disallowed in your local machine, you need to override this by editing ~/.ssh/config: &lt;code&gt;Host hostname.domain.org ForwardX11 yes&lt;/code&gt; Then you just ssh into the remote machine hostname.domain.org: &lt;code&gt;ssh -X username@hostname.domain.org&lt;/code&gt; And execute some program that outputs to X11, e.g.: &lt;code&gt;xclock &amp;amp;&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Updating Suse Linux 9.0 to 9.1</title><link>https://jeltsch.org/en/updating_suse_linux_9_0_to_9_1/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_suse_linux_9_0_to_9_1/</guid><description>&lt;p&gt;The .0 to .1 update suggests, that it&amp;rsquo;s not a big deal. In fact, it is. Many things do brake and most people advise to do a clean install of 9.1. Because of extensive third party installations and customization I wanted to upgrade. In case the upgrade appeared unusable, I wanted to have the possibility to go back to 9.0. This appeared easily possible because we had a free 8.6 GB partition (hdb3) on the harddisk. Actually it was not free, but it was the root partition of our RedHat 9 installation. I did the following things: I wanted to preserve all the user-specific configurations. Thus I backed up all the hidden files and directories from the main user&amp;rsquo;s home directory:
tar -cvf configuration_files.tar .[a-zA-Z0-9]* Then I reformatted hdb3 (it was ext3) into reiserfs via Yast Then went into runlevel 1 with
sudo /sbin/telinit 1
and mounted the newly formatted partition
mount /dev/hdb3 /redhat Then I duplicated the current root partition (/dev/hdb2)
cd redhat
cp -ax / . Then I edited /redhat/etc/fstab: I changed the entry for the root partition from /dev/hdb2 to /dev/hdb3. The current root partition (/dev/hdb2) uses already reiserfs, so no other changes are needed here. However, you have to uncomment all &amp;ldquo;special&amp;rdquo; file systems. Otherwise the Suse Installer will try to mount these and fail and then give you some bogus error messages. I had e.g. two entries for colinux (/dev/cob2 /) and got the following error message: &amp;quot; The root partition in /etc/fstab has a wrong root device. See 
 &lt;a href="http://portal.suse.com/sdb7en/2004/01/sata.html%22" target="_blank" rel="noopener noreferrer nofollow"&gt;http://portal.suse.com/sdb7en/2004/01/sata.html"&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Also special file systems create similar trouble. I first left the proc, usbfs, etc. entries and got again an error: &amp;ldquo;Partitions could not be mounted.&amp;rdquo; Then I edited the fstab and left only /, /boot, swap, /home and then the Suse installer managed. Then I edited /boot/grub/menu.lst and added an entry for the new system (I just duplicated the existing, renamed it and changed the root partition from to hda3; additionally I specified vmlinuz and initrd directly and not via symbolic links as the links will point to thefiles of the new kernel after the upgrade). Before I started the actual installation I checked that I can select in grub both installations and successfully boot During installation the installer complained about 1200 conflicts. Most of them I ignored as many packages of the old system had been manually added and were too new for the 9.1 installer CD. But since I was going to update online immediately after the install, this shouldn&amp;rsquo;t be much of a problem. I also chose to keep installed packages that are not any longer maintained.&lt;/p&gt;</description></item><item><title>Vmware and 'error while loading shared libraries': Suse's new gdk-pixbuf rpm is broken</title><link>https://jeltsch.org/en/vmware_and_error_while_loading_shared_libraries_suse_s_new_gdk_pixbuf_rpm_is_broken/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/vmware_and_error_while_loading_shared_libraries_suse_s_new_gdk_pixbuf_rpm_is_broken/</guid><description>&lt;p&gt;Still yesterday I have been running VMware on Suse Linux 9.1 and today (after I performed an online update of my system) I get: &lt;code&gt;error while loading shared libraries: /opt/gnome/lib/gdk-pixbuf/loaders/libpixbufloader-xpm.so:&lt;/code&gt; Suse has broken this package… But I didn&amp;rsquo;t have any problems so far to run VMware, so I just have to figure out what I did today to break it.
Apparently this error is due to my recent automatic update of my system: the culprit is gdk-pixbuf package 0.22.0-62.4. After I reverted to the older package 0.22.0-57 vmware started working again. To revert, just use from the command line: rpm -e &amp;ndash;nodeps gdk-pixbuf Then install the older rpm (gdk-pixbuf-0.22.0-57.i586.rpm from the original Suse 9.1 CDs or ftp.suse.com/pub/suse/i386/9.1/suse/i586/gdk-pixbuf-0.22.0-57.i586.rpm). Addendum: VMware works with the new gdk-pixbuf-0.22.0-62.7.i586.rpm!&lt;/p&gt;</description></item><item><title>Webalizer on our server</title><link>https://jeltsch.org/en/webalizer_on_our_server/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/webalizer_on_our_server/</guid><description>&lt;p&gt;The log files of virtual hosts are located in /var/log/httpd/vhost_name/ and named vhost_name-access_log etc. Webalizer config files for each virtual host are located in /etc/webalizer/ and are named vhost_name.conf. Also history files (vhost_name.hist and vhost_name.current) are located in the same directory.&lt;/p&gt;</description></item><item><title>Wheel Mouse trouble with Suse Linux 9.2 (SaX2, xorg.conf, explorerps/2, ZAxisMapping)</title><link>https://jeltsch.org/en/wheel_mouse_trouble_with_suse_linux_9_2_sax2_xorg_conf_explorerps_2_zaxismapping/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wheel_mouse_trouble_with_suse_linux_9_2_sax2_xorg_conf_explorerps_2_zaxismapping/</guid><description>&lt;p&gt;I wanted to activate the wheen of my USB mouse, but everytime I went to Yast2 &amp;gt; Hardware &amp;gt; Mouse the X server crashed and threw me into a text console. Also using SaX2 didn&amp;rsquo;t work (there is a button under Input devices &amp;gt; Properties &amp;gt; Activate mouse wheel). Funnily the wheel usind to work in 9.1. Finally I modified /etc/X11/xorg.conf: &lt;code&gt;diff xorg.conf xorg.old Option &amp;quot;Name&amp;quot; &amp;quot;USB-Mouse;PS/2 on USB&amp;quot; &amp;gt; Option &amp;quot;Protocol&amp;quot; &amp;quot;PS/2&amp;quot;&lt;/code&gt; The important line &lt;code&gt;Option &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;/code&gt; was already present. If isn&amp;rsquo;t you need to add it to activate the wheel.&lt;/p&gt;</description></item><item><title>Where KAdressbook stores its data and settings (kabc)</title><link>https://jeltsch.org/en/where_kadressbook_stores_its_data_and_settings_kabc/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/where_kadressbook_stores_its_data_and_settings_kabc/</guid><description>&lt;p&gt;Of course in ~/.kde/share/apps, but if you have one hundred kde apllications and the programmers didn&amp;rsquo;t manage to come up with a descriptive name for the configuration directory, you are in trouble. KAdressbook stores the data in &lt;code&gt;~/.kde/share/apps/kabc&lt;/code&gt; Additonally there might be for all applications (and there is for KAdressbook) the rc configuration file in ~/.kde/share/config/ &lt;code&gt;~/.kde/share/config/kaddressbookrc&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Windows XP and deleting files with invalid filenames (The system cannot find the path specified)</title><link>https://jeltsch.org/en/windows_xp_and_deleting_files_with_invalid_filenames_the_system_cannot_find_the_path_specified/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/windows_xp_and_deleting_files_with_invalid_filenames_the_system_cannot_find_the_path_specified/</guid><description>&lt;p&gt;I was fighting for several days to delete a file in Windows XP that started with dot underscore (.&lt;em&gt;). The message was always: &amp;ldquo;The system cannot find the path specified&amp;rdquo;. Nothing worked. No safe mode, no command line, no special syntax. The Microsoft Knowledge Base addresses the problem, but instead of pointing to an easy solution it gives lots of 
 &lt;a href="http://support.microsoft.com/kb/120716" target="_blank" rel="noopener noreferrer nofollow"&gt;useless and even wrong information&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, e.g the Windows XP Resource Kit didn&amp;rsquo;t contain the RM.EXE program, that was supposed to be able to delete those files with &amp;ldquo;weird&amp;rdquo; file names. Finally I found a software called 
 &lt;a href="http://www.jrtwine.com/Products/DelFXPFiles/" target="_blank" rel="noopener noreferrer nofollow"&gt;Delete FXP Files&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, that did the job for me.
However, how on earth did Windows manage to created such a file in the first place if its file name is invalid? The dot underscore .&lt;/em&gt; comes obviously from Macintosh, but in any case Windows must have allowed the creation of that file…&lt;/p&gt;</description></item><item><title>winmail.dat (TNEF) attachments and non-Windows operating systems</title><link>https://jeltsch.org/en/winmail_dat_tnef_attachments_and_non_windows_operating_systems/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/winmail_dat_tnef_attachments_and_non_windows_operating_systems/</guid><description>&lt;p&gt;My sister has sent me again an attachment which was encoded in the winmail.dat attachment. Sucks big time. Not only Linux users get pissed but also Macintosh users. Of course you can open it as long as you know how. On Mac OS X you need 
 &lt;a href="http://www.joshjacob.com/macdev/tnef/" target="_blank" rel="noopener noreferrer nofollow"&gt;TNEF’s Enough&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 and on Linux you need 
 &lt;a href="http://ytnef.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;tnef&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Suse Linux 9.2 has an rpm that works well with KMail. Just click the winmail.dat and select &amp;ldquo;Open with tnef&amp;rdquo;. You will get the list of attachments that are hidden in the winmail.dat attachment and you can open and/or save them from there.&lt;/p&gt;</description></item><item><title>Yast hangs during printer installation (Suse Linux 9.1 and 9.2)</title><link>https://jeltsch.org/en/yast_hangs_during_printer_installation_suse_linux_9_1_and_9_2/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/yast_hangs_during_printer_installation_suse_linux_9_1_and_9_2/</guid><description>&lt;p&gt;Using Suse Linux 9.1 and 9.2, I had for a long time problems with installing additional printers using Yast2. Since I had free installation support for 9.1 I contacted Suse, but to no avail. Printer installation is not covered by the free installation support. The advice they gave me was trivial and did not work (uninstall CUPS and reinstall it again). Additionally most of the installed printers were stopped (a red cross over the printer icons under Start Menu &amp;gt; Utilities &amp;gt; Printing &amp;gt; Printing Manager) and could not be started again. Now I realized that this condition is network-specific. In my home-network everything works fine, but at work Yast2 &amp;gt; Hardware &amp;gt; Printer hangs during &amp;ldquo;load current settings&amp;rdquo;. I only managed to get passed this stage when I restarted with the network unplugged. Then I can install/uninstall printers (but of course I cannot test them during installation), but after another reboot I can print again as usual.&lt;/p&gt;</description></item><item><title>How to mount a partition formatted with UFS (UNIX file system) and the partitioner included with the MacOS X installer</title><link>https://jeltsch.org/en/how_to_mount_a_partition_formatted_with_ufs_unix_file_system_and_the_partitioner_included_with_the_macos_x_installer/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_mount_a_partition_formatted_with_ufs_unix_file_system_and_the_partitioner_included_with_the_macos_x_installer/</guid><description>&lt;p&gt;fdisk is not really able to read the partition table that the Macintosh installer writes. To figure out what you have you can e.g. use the Yast partitoning tool. &lt;code&gt;mount -t ufs -o ufstype=openstep -o ro /dev/sda3 /media/misc&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Installing mplayer on kubuntu</title><link>https://jeltsch.org/en/installing_mplayer_on_kubuntu/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_mplayer_on_kubuntu/</guid><description>&lt;ol&gt;
&lt;li&gt;edit /etc/apt/sources.list and uncomment the lines for universe (remove the &amp;quot;&amp;quot; in front of the lines)&lt;/li&gt;
&lt;li&gt;add a line similar to universe see the example: 
 &lt;a href="http://fi.archive.ubuntu.com/ubuntu" target="_blank" rel="noopener noreferrer nofollow"&gt;http://fi.archive.ubuntu.com/ubuntu&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 breezy multiverse&lt;/li&gt;
&lt;li&gt;download any extra codecs: wget 
 &lt;a href="http://www2.mplayerhq.hu/MPlayer/releases/codecs/all-20050412.tar.bz2" target="_blank" rel="noopener noreferrer nofollow"&gt;http://www2.mplayerhq.hu/MPlayer/releases/codecs/all-20050412.tar.bz2&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;unpack the codecs: tar -xvjf all-20050412.tar.bz2&lt;/li&gt;
&lt;li&gt;create the directory for the codecs: mkdir /usr/lib/win32&lt;/li&gt;
&lt;li&gt;move the &amp;ldquo;codecs&amp;rdquo; to the new directory: mv all-20050412/* /usr/lib/win32&lt;/li&gt;
&lt;li&gt;install mplayer: apt-get install mplayer-586&lt;/li&gt;
&lt;li&gt;install mplayer fonts: apt-get install mplayer-fonts&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Ubuntu 5.04 or Debian 3.1 on the original PB G3 (aka Kanga aka PB 3500)</title><link>https://jeltsch.org/en/ubuntu_5_04_or_debian_3_1_on_the_original_pb_g3_aka_kanga_aka_pb_3500/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu_5_04_or_debian_3_1_on_the_original_pb_g3_aka_kanga_aka_pb_3500/</guid><description>&lt;p&gt;I am trying to get Ubuntu 5.04 or Debian 3.1 running on the original PB G3 (aka Kanga aka 3500). The only problem: the screen is blank after the inital reboot after the installation. Nothing at all (Ubuntu) or only an inverted penguin (Debian). The boot process continues only if one copies over the ramdisk image from the /boot folder onto the HFS partition and specifies it as boot argument. Might it be that the root=/dev/hda8 (in my case the root partition is hda8) is somehow not recognized? Here the story: I rebooted using the MacOS 9.1 CD, I reformatted the drive into two partitions: one 1GB and the rest (about 4GB) unallocated. Then I installed Mac 9.1 on the 1GB partition, downloaded BootX and installed it according to the instructions. Then I burned the Ubuntu PPC from the iso onto a writable CD (using a &amp;ldquo;regular&amp;rdquo; i386 Linux distribution and K3b, BTW: RW-CDs are apparently not recognized by Kanga&amp;rsquo;s CD drive). Then I copied both the installation kernel and initrd from the installation CD to their respective places into the Macintosh System folder (Ubuntu_PowerPC_hoary/install/powerpc/vmlinux to Macintosh HD:System Folder:Linux Kernels and Ubuntu_PowerPC_hoary/install/powerpc/initrd.gz to Macintosh HD:System Folder:ramdisk.image.gz). Then I rebooted and selected Linux. Installation works like a charm, I couldn&amp;rsquo;t believe it. The network card is detected correctly, so is apparently all other hardware. I choose the guided partitioner (select largest unused space) which created the ext3 filesystem on /dev/hda10. After the installer had finished and was about to reboot, I needed to copy the deafult kernel from the /boot to the HFS partition in order to have BootX start Linux. The fasted way I concluded was for me to switch of the machine, take out the hard disk and connect it via a USB enclosure to my i386 SuSE Linux 9.3 machine. Both the HFS partition and the ext3 partition were automatically mounted and I copied /boot/vmlinux-2.6.10-5-powerpc to my SuSE machine. Then I put the hard drive back to the Powerbook G3 and rebooted into Linux and copied the kernel via http to Macintosh HD:System Folder:Linux Kernels. Then I executed the BootX application, but here my luck ended. What happens is that the first couple of lines of the boot messages are displayed and then the screen goes blank and never appears again. The last lines that are displayed read &amp;ldquo;arch:exit&amp;rdquo;. However, the machine continues booting if one specifies the ramdisk image (initrd) from /boot of the installed system, but since there are still some installation tasks to be done, the machine never reaches a state where I could ssh into it and fix stuff. Now I have not the faintest idea where to start as there are no error messages and nothing. Since the installer manages to address the monitor, it should be possible to get it done, but how? I have been trying to pass almost every possible combination of kernel arguments to get the video working, but to no avail (the correct kernel argument should be video=chipsfb:vmode:10,cmode:16; maybe fbdev instead of chipsfb?). My next attempt will be to install it with an external monitor connected. BTW: I had YDL 3 running on the same machine quite a while ago. But it seems there are no viable alternatives ATM to Ubuntu when it comes to PPCs. The same procedure using Ubuntu 4.1 leads to similar (though not identical) results. The network card has to manually selected during install (de4x5 module). After the first reboot the penguin appears in the upper left corner in inverted colors and that&amp;rsquo;s where the system hangs. I somehow refuse to accept that this 250 MHz machine is only worth to be thrown away. When I bought it in 1997, it was a &amp;ldquo;high-end&amp;rdquo; machine (it could even play back divx without problems). I had YDL 3 installed on it, but would like to install something more up-to-date now.&lt;/p&gt;</description></item><item><title>Using ssh in scripts (one-click secure VNC connection using krdc)</title><link>https://jeltsch.org/en/using_ssh_in_scripts_one_click_secure_vnc_connection_using_krdc/</link><pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/using_ssh_in_scripts_one_click_secure_vnc_connection_using_krdc/</guid><description>&lt;p&gt;Using ssh in scripts (one-click secure VNC connection using krdc) I wanted to establish a VNC connection that is tunneled via ssh and just by one click. I created a shell script with the following content: !/bin/sh ssh -L 5902:192.168.0.7:5902 -f -N 
 &lt;a href="mailto:jeltsch@192.168.0.7"&gt;jeltsch@192.168.0.7&lt;/a&gt;
 krdc localhost:2 The ssh connection remains open in the background until the krdc application has finished.&lt;/p&gt;</description></item><item><title>Changing userid on Mac OSX</title><link>https://jeltsch.org/en/changing_userid_on_mac_osx/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/changing_userid_on_mac_osx/</guid><description>&lt;ol&gt;
&lt;li&gt;Change the userid in NetInfoManager from another administrative account (ex. 502-&amp;gt;1000).2. Change the file permissions:&lt;code&gt;sudo find / -xdev -user 502 -print -exec chown 1000 {} \;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Command line rpm and SuSEconfig</title><link>https://jeltsch.org/en/command_line_rpm_and_suseconfig/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/command_line_rpm_and_suseconfig/</guid><description>&lt;p&gt;After you run the rpm command from the command line, you always should run the SuSE config command in order to update the SuSE configuration files.&lt;/p&gt;</description></item><item><title>Force immediate reboot</title><link>https://jeltsch.org/en/force_immediate_reboot/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/force_immediate_reboot/</guid><description>&lt;p&gt;Sometimes the reboot, shutdown or halt command fail. Then this is the answer:&lt;code&gt;echo 1 &amp;gt;/proc/sys/kernel/sysrq echo b &amp;gt;/proc/sysrq-trigger&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to boot into the BIOS of a Dell Precision WorkStation 410MT to change to SCSI booting</title><link>https://jeltsch.org/en/how_to_boot_into_the_bios_of_a_dell_precision_workstation_410mt_to_change_to_scsi_booting/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_boot_into_the_bios_of_a_dell_precision_workstation_410mt_to_change_to_scsi_booting/</guid><description>&lt;p&gt;Why do all hardware producers make up their own key combinations to access the BIOS? I never remember. This time it was an old DELL, that forced me to download the user manual: It is Ctrl+Alt+Enter. I needed to change the boot priority in the BIOS to enable scsi booting. Funnily grub confuses the disks and you manually have to specify the correct root(hd0,1) in the /boot/grub/menu.lst. Grub writes its guess of hard disk order to /boot/grub/device.map, but the guess was wrong in my case.&lt;/p&gt;</description></item><item><title>How to convert EMF files into SVG format</title><link>https://jeltsch.org/en/how_to_convert_emf_files_into_svg_format/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_convert_emf_files_into_svg_format/</guid><description>&lt;p&gt;The need for this appeared because the Unicorn software that controls our 
 &lt;a href="http://research.med.helsinki.fi/corefacilities/akta/index.html" target="_blank" rel="noopener noreferrer nofollow"&gt;Äkta Explorer&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 can only export the raw chromatographic curves in EMF format. Pathetic. After trying out various things, I went with OpenOffice. OpenOffice Draw can import EMF files and save as SVG. Other applications capable of opening EMF are FreeHand and CorelDraw (tested on Macintosh). However, FreeHand cannot export as SVG.&lt;/p&gt;</description></item><item><title>How to transfer the oligo database from MacVec tor to a web-based blast database</title><link>https://jeltsch.org/en/how_to_transfer_the_oligo_database_from_macvec_tor_to_a_web_based_blast_database/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_transfer_the_oligo_database_from_macvec_tor_to_a_web_based_blast_database/</guid><description>&lt;ol&gt;
&lt;li&gt;Save all sequences in one flatfile format (NOT MacVector format), e.g. genbank format.2. Copy all sequences to a Linux/UNIX computer and convert them from Mac format to UNIX format: mac2unix *.gb3. Write all sequence fiule names into one file: ls *.gb &amp;gt; oligo.lst4. Convert all sequences into one file of concatenated fasta entries using EMBOSS: seqret -sequence @oligo.lst -osformat fasta. Call the output file &amp;ldquo;mcbl_oligo_db&amp;quot;5. Put this fasta file into the blast web servers database directory (…/blast/db)6. Format the database: formatdb -i mcbl_oligo_db -p F -o T7. Edit …/blast/blast.html by adding the new database name8. Edit …/blast/blast.rc by adding the new database name&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Importing email from Kontact to Apple's Mail App</title><link>https://jeltsch.org/en/importing_email_from_kontact_to_apple_s_mail_app/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/importing_email_from_kontact_to_apple_s_mail_app/</guid><description>&lt;ol&gt;
&lt;li&gt;If you store your email in Kontact as mbox files just straightforwardly import them into Apple&amp;rsquo;s Mail application. 2. If you store your email as mailbox folders, the procedure is a bit more complicated. - in each mail folder to be imported run the script converting mailbox into mbox (the script doesn&amp;rsquo;t support nested folders so one has to run it for each folder separately, spaces are not allowed for the script to work) - import mbox into Mail TBC…&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Installing Gramps on MacOSX</title><link>https://jeltsch.org/en/installing_gramps_on_macosx/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/installing_gramps_on_macosx/</guid><description>&lt;p&gt;This should work, at least in theory:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install xserver&lt;/li&gt;
&lt;li&gt;Run darwinports installer&lt;/li&gt;
&lt;li&gt;Update the darwinports sudo port -d selfupdate&lt;/li&gt;
&lt;li&gt;Install gramps in xterm running sudo port install gramps&lt;/li&gt;
&lt;li&gt;Install gnome-themes sudo port install gnome-themes&lt;/li&gt;
&lt;li&gt;Run gramps in xterm&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Keeping preferences and similar stuff (e.g. password files, bookmarks) in sync between two different Linux distributions (unison)</title><link>https://jeltsch.org/en/keeping_preferences_and_similar_stuff_e_g_password_files_bookmarks_in_sync_between_two_different_linux_distributions_unison/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/keeping_preferences_and_similar_stuff_e_g_password_files_bookmarks_in_sync_between_two_different_linux_distributions_unison/</guid><description>&lt;p&gt;I use unison to keep my kwallet syncronized between SuSE Linux 9.3 and 10.0. Of course one can use the same /home partition for both distros, but this can cause trouble due to differences in the program versions. Thus I only share /home/user/Documents among the distros and have separate /home/user/.preference files, some of which I syncronize during shutdown.This is the /home/user/.unison/shared_resources.prf file:&lt;code&gt;jeltsch@michael-laptop:~/.unison&amp;gt; more shared_resources.prfroot = /home/jeltsch/.kde/share/apps/kwalletroot = /suse10/home/jeltsch/.kde/share/apps/kwalletinclude default auto = true&lt;/code&gt;And this is the command to syncronize the directories non-interactively:&lt;code&gt;unison -ui text -batch shared_resources&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Migrating my old mysql blog database to a new blog software (PluggedOut)</title><link>https://jeltsch.org/en/migrating_my_old_mysql_blog_database_to_a_new_blog_software_pluggedout/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/migrating_my_old_mysql_blog_database_to_a_new_blog_software_pluggedout/</guid><description>&lt;p&gt;We updated my server from SuSE 9.3 to 10.1. php5 is the default on 10.1 and my blog software broke. As my blog software is not anymore maintained, I had to switch to another and I selected 
 &lt;a href="http://www.pluggedout.com" target="_blank" rel="noopener noreferrer nofollow"&gt;PluggedOut&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The mysql database structures were quite different and this is what I did to do the conversion:First I dumped the old database into textfiles:&lt;code&gt;mysqldump -u root -p --tab=/home/jeltsch/temp --fields-terminated-by=| --lines-terminated-by=# journal&lt;/code&gt;Then I opened the textfiles in a spreadsheet application and added the necessary columns and fixed the formats. Then I exported into a csv file and imported back into the new database:&lt;code&gt;mysql -u root -p pluggedoutmysql&amp;gt; DELETE FROM blog2_entries;mysql&amp;gt; OPTIMIZE TABLE blog2_entries;mysql&amp;gt; WARNINGS;mysql&amp;gt; LOAD DATA INFILE '/home/jeltsch/export.csv' INTO TABLE blog2_entries FIELDS TERMINATED BY ',';&lt;/code&gt;The WARNINGS command shows you when there are problems. Mostly they were related to the field delimiter (comma). I had to escape all commas, that were not field delimiters (,). I also needed to fix the date format (swap month and day). Since the categories were maintained in a separate table, I recreated a csv file by hand and set all entries to belong to the category &amp;ldquo;computer&amp;rdquo;. This .csv file was pretty simple:&lt;code&gt;1,1,22,2,23,3,24,4,2&lt;/code&gt; etc.&lt;code&gt;mysql&amp;gt; DELETE FROM blog2_entry_categories;mysql&amp;gt; OPTIMIZE TABLE blog2_entry_categories;mysql&amp;gt; LOAD DATA INFILE '/home/jeltsch/cat.csv' INTO TABLE blog2_entry_categories FIELDS TERMINATED BY ',';&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Re-encoding mp3 files into smaller files with lame</title><link>https://jeltsch.org/en/re_encoding_mp3_files_into_smaller_files_with_lame/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/re_encoding_mp3_files_into_smaller_files_with_lame/</guid><description>&lt;p&gt;My old mp3 player broke quite a while ago and now I am using a very primitive one that has only 128 MB and which refused to play some mp3s. In order to fit more podcasts into the memory and to play back those unplayable mp3 files I re-encode them with lame:&lt;code&gt;lame --mp3input -V 3 --strictly-enforce-ISO --resample 12 original.mp3 reencoded.mp3&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Ubuntu and root, su and sudo</title><link>https://jeltsch.org/en/ubuntu_and_root_su_and_sudo/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/ubuntu_and_root_su_and_sudo/</guid><description>&lt;p&gt;In (K)ubuntu, only sudo is allowed by default. To enable su, execute:&lt;code&gt;sudo -s -H&lt;/code&gt;To enable graphical root login, edit /etc/kde3/kdm/kdmrc:&lt;code&gt;AllowRootLogin=true&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Updating gallery via CVS</title><link>https://jeltsch.org/en/updating_gallery_via_cvs/</link><pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_gallery_via_cvs/</guid><description>&lt;ol&gt;
&lt;li&gt;Run as root cvs update -Pd in the gallery2 directory&lt;/li&gt;
&lt;li&gt;Once your files have been updated, open up your Gallery 2 in your web browser and it will take you right to the upgrader automatically&lt;/li&gt;
&lt;li&gt;More info if needed on 
 &lt;a href="http://codex.gallery2.org/index.php/Gallery2:Upgrading_from_2.0_to_2.0.1Option_4._Updating_via_CVS" target="_blank" rel="noopener noreferrer nofollow"&gt;the Gallery site&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Find and replace with perl</title><link>https://jeltsch.org/en/find_and_replace_with_perl/</link><pubDate>Sun, 28 Jan 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/find_and_replace_with_perl/</guid><description>&lt;p&gt;To replace the string jeltsch.blogspot.com by the string mnm.no-ip.com/blog you can use perl:&lt;code&gt;perl -pi.bak -e 's|jeltsch.blogspot.com|mnm.no-ip.com\/blog|g' *.html&lt;/code&gt; If you want to do a recursive replacement on a directory tree you can try:&lt;code&gt;perl -pi.bak -e 's|jeltsch.blogspot.com|mnm.no-ip.com\/blog|g' &lt;/code&gt;find jeltsch.org -name &amp;lsquo;*.html&amp;rsquo;``&lt;/p&gt;</description></item><item><title>The greatest discovery</title><link>https://jeltsch.org/en/the_greatest_discovery/</link><pubDate>Wed, 24 Jan 2007 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_greatest_discovery/</guid><description>&lt;p&gt;
 &lt;a href="https://gallery.jeltsch.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Look at the image gallery!&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Creating and mounting iso images (CD image files) under linux (dd)</title><link>https://jeltsch.org/en/creating_and_mounting_iso_images_cd_image_files_under_linux_dd/</link><pubDate>Sat, 23 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/creating_and_mounting_iso_images_cd_image_files_under_linux_dd/</guid><description>&lt;p&gt;Creating and mounting iso images under linux is very easy.Creating:&lt;code&gt;dd if=/dev/cdrom of=filename.iso&lt;/code&gt;Mounting:&lt;code&gt;sudo mount -o loop -t iso9660 filename.iso /mnt/iso&lt;/code&gt;The file endings iso, raw and cdr denote all iso files. Image files with the bin/cue ending, however, are not iso files. You can convert them into iso files with 
 &lt;a href="http://he.fi/bchunk/" target="_blank" rel="noopener noreferrer nofollow"&gt;bchunk&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. bchunk needs the cue file to do this! Allthough some non-Linux burning applications (e.g. Toast Titanium for MacOS) can handle (burn and convert) the bin file without the cue file.&lt;/p&gt;</description></item><item><title>Shell script to downsample podcasts</title><link>https://jeltsch.org/en/shell_script_to_downsample_podcasts/</link><pubDate>Sat, 23 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/shell_script_to_downsample_podcasts/</guid><description>&lt;p&gt;I have a very basic mp3 player with only 128 MB memory. I mostly listen to podcasts which are automatically downloaded by Amarok into the folder ~/.kde/share/apps/amarok/podcasts/data. In order to fit many of them to the limited memory and to have them available from anywhere, I have been writing a script that automatically downsamples them as they arrive and puts them online to my web server. The script is executed hourly by the crontab. The two relevant files look like this:&lt;/p&gt;</description></item><item><title>Manually creating an encrypted partition without yast2 (fdisk, mkreiserfs, losetup, twofish, cryptotab)</title><link>https://jeltsch.org/en/manually_creating_an_encrypted_partition_without_yast2_fdisk_mkreiserfs_losetup_twofish_cryptotab/</link><pubDate>Wed, 20 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/manually_creating_an_encrypted_partition_without_yast2_fdisk_mkreiserfs_losetup_twofish_cryptotab/</guid><description>&lt;p&gt;There is an 
 &lt;a href="http://portal.suse.com/sdb/en/2001/06/jsj_crypto_filesystem_mini_howto.html" target="_blank" rel="noopener noreferrer nofollow"&gt;article&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 in the knowledge base, but here in short:&lt;/p&gt;</description></item><item><title>How to backup mysql databases (mysqlhotcopy, mysqldump)</title><link>https://jeltsch.org/en/how_to_backup_mysql_databases_mysqlhotcopy_mysqldump/</link><pubDate>Sat, 16 Dec 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_backup_mysql_databases_mysqlhotcopy_mysqldump/</guid><description>&lt;p&gt;There are different possibilities. If you have access to the machine where mysql is running, you should use:&lt;code&gt;mysqlhotcopy&lt;/code&gt; On our RedHat 8 server you just type:&lt;code&gt;/usr/bin/mysqlhotcopy --user=root --password=sdjksjd journal /path/to/backup/directory&lt;/code&gt; Alternatively:&lt;code&gt;/usr/local/mysql/bin/mysqldump --user=username -p phpgedview &amp;gt;phpgedview&lt;/code&gt; The path of the command is specific for the mysql install on a MacOS X machine.If you want to back up from another machine you can use the mysqldump command: &lt;code&gt;mysqldump --host=hostname_or_ipaddress --user=username -p phpgedview &amp;gt;phpgedview&lt;/code&gt; This example backs up the database phpgedview which is on the machine hostname_or_ipaddress.The actual database files are in subdirectories in /var/lib/mysql in case you don&amp;rsquo;t remember their names.To automatically backup a database via the network you can put a file with the following content to the /etc/cron.hourly directory:&lt;code&gt;!/bin/sh mysqldump --host=hostname_or_ipaddress --user=USER -pPASSWORD journal &amp;gt;mysqldump_journal&lt;/code&gt; This would create every hour a fresh backupfile called mysqldump_journal in the /etc/cron.hourly directory.&lt;/p&gt;</description></item><item><title>Backup your home directory using tar</title><link>https://jeltsch.org/en/backup_your_home_directory_using_tar/</link><pubDate>Thu, 16 Nov 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backup_your_home_directory_using_tar/</guid><description>&lt;p&gt;As root go to /home directory and execute the command:&lt;code&gt;tar -czvf pathto/archive.tar.gz username&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Suse Linux 9.2 and encrypted DVD playback (xine, libdvdcss2, libxine, hdparm, DMA)</title><link>https://jeltsch.org/en/suse_linux_9_2_and_encrypted_dvd_playback_xine_libdvdcss2_libxine_hdparm_dma/</link><pubDate>Sun, 12 Nov 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/suse_linux_9_2_and_encrypted_dvd_playback_xine_libdvdcss2_libxine_hdparm_dma/</guid><description>&lt;p&gt;Although several linux video players (e.g. xine) do support playback of encrypted DVDs, Suse has crippled the libraries needed to do so. Thus none of the players/frontends included in Suse Linux 9.2 can play encrypted DVDs. What are encrypted DVDs? Essentially all commerical movies are released exclusively as encrypted DVDs. It is a pain in the ass, but actually can be cured. To play encrypted DVDs you need libdvdcss2. This is the famous hack, that was in the news and that obviously was not liked by the media industry. In some countries this software is illegal; in some others only the binaries are but the sourcecode is not. You can download a 
 &lt;a href="http://www.iiv.de/schwinde/buerger/tremmel/downloads/script_rpm4/install_libdvdcss2" target="_blank" rel="noopener noreferrer nofollow"&gt;script&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 that creates automatically an rpm for suse &amp;gt;= 9. Additionally you should replace or update the Suse Linux xinelib with the uncrippled version from 
 &lt;a href="http://packman.links2linux.de/?action=124" target="_blank" rel="noopener noreferrer nofollow"&gt;Packman&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Xine still opens a window that claims that it cannot play encrypted DVDs with a link to some site where you are supposed to read why not. This link is dead. Shame on you, Suse (or Novell); if you cripple your distro, please make sure that at least your explanatory links do work! Some DVD hardware is apparently additionally limited based on the country codes. The world has been split into eight regions and according to the will of the media industry the customer should only be allowed to watch DVDs released specifically for his region. There is a linux tool around with with you can switch your area code, but I don&amp;rsquo;t remember its name or URL as this was not necessary for my hardware.&lt;/p&gt;</description></item><item><title>Watching, ripping and converting DVDs (xine, mplayer, mencoder, dvd, iso image)</title><link>https://jeltsch.org/en/watching_ripping_and_converting_dvds_xine_mplayer_mencoder_dvd_iso_image/</link><pubDate>Sun, 12 Nov 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/watching_ripping_and_converting_dvds_xine_mplayer_mencoder_dvd_iso_image/</guid><description>&lt;p&gt;Both xine and MPlayer can play DVDs directly, but xine has a DVD navigation. In Mplayer you need to specify which movie (VOB file) you want to play:&lt;code&gt;xine dvd:// mplayer dvd://3&lt;/code&gt; If you just want to temporarily store the DVD on your hard disk it might be sufficient to create a DVD image:&lt;code&gt;dd if=/dev/dvd of=rosenstrasse.iso&lt;/code&gt; The image can be mounted as follows:&lt;code&gt;sudo mount -o loop rosenstrasse.iso /media/temp/&lt;/code&gt; Xine can play a DVD from an iso image directly (without mouting the image):&lt;code&gt;xine dvd://media/isos/movie.iso&lt;/code&gt; Note that you need to specify always the complete path even if the movie is in the current directory! Mplayer can play the individual VOB files from the image (however without subtitle support). I couldn&amp;rsquo;t make Mplayer to accept the iso image as dvd.For conversion to e.g. DivX/XviD the easiest is to use Mplayer/mencoder. First I extracted audio:&lt;code&gt;mencoder dvd://1 -ovc frameno -o frameno.avi -oac mp3lame -lameopts abr:br=128&lt;/code&gt; Then the 1. pass encoding:&lt;code&gt;mencoder dvd://1 -nosound -oac copy -o /dev/null -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq:vpass=1:vqmin=1:vqmax=31 -vop scale -zoom -xy 640 -vf pp lb&lt;/code&gt; Then the 2. pass encoding:&lt;code&gt;mencoder dvd://1 -oac copy -o file.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq:vpass=2:vqmin=1:vqmax=31 -vop scale -zoom -xy 640 -vf pp lb&lt;/code&gt;It is more difficult to extract the subtitles. You can either extract them as images (easier but bigger filesize) or then convert these images into textfiles (requires an OCR step).Extract subtitle images (from mounted iso image in this case):&lt;code&gt;cat /media/temp/VIDEO_TS/VTS_01_?.VOB | tcextract -x ps1 -t vob -a 0x20 &amp;gt; movie.ps1&lt;/code&gt; Convert subtitle images:&lt;code&gt;subtitle2vobsub -i /media/temp/VIDEO_TS/VTS_01_0.IFO -p movie.ps1 -o movie_name&lt;/code&gt; Copy metadata:&lt;code&gt;cp /media/temp/VIDEO_TS/VTS_01_0.IFO movie_name.ifo&lt;/code&gt; Play from VOB file directly:&lt;code&gt;mplayer /media/temp/VIDEO_TS/VTS_01_1.VOB -vobsub movie_name -vobsubid 0&lt;/code&gt; Play from avi file:&lt;code&gt;mplayer movie.avi -vobsub movie_name -vobsubid 0&lt;/code&gt;&lt;/p&gt;</description></item><item><title>How to trim a wav file from the Linux command line</title><link>https://jeltsch.org/en/how_to_trim_a_wav_file_from_the_linux_command_line/</link><pubDate>Tue, 24 Oct 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_trim_a_wav_file_from_the_linux_command_line/</guid><description>&lt;p&gt;&lt;code&gt;sox old.wav new.wav trim 0 4:07.0&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Using lame to create mp3s from wavs</title><link>https://jeltsch.org/en/using_lame_to_create_mp3s_from_wavs/</link><pubDate>Tue, 24 Oct 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/using_lame_to_create_mp3s_from_wavs/</guid><description>&lt;p&gt;Using 
 &lt;a href="http://audacity.sourceforge.net/" target="_blank" rel="noopener noreferrer nofollow"&gt;Audacity&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 I converted one of the ripped WAVs into an MP3. However there was no possibility to batch convert WAV files. Thus I started to use lame from the command line. I created a shell script (encode.sh):&lt;code&gt;while [ $ -ge 1 ]; do infn=$1 outfn=&amp;quot;${infn%%.wav}.mp3&amp;quot; echo $outfn lame -v $infn $outfn shift 1done&lt;/code&gt; It does the batch converting:&lt;code&gt;encode.sh *.wav&lt;/code&gt; The -v switch cause lame to encode using variable bitrate. -h would do fixed bitrate at 128, for other bitrates use e.g. -b 160. The -V 0 switch uses variable bitrate encoding with highest quality, while -V uses the lowest quality.&lt;/p&gt;</description></item><item><title>How to install perl modules</title><link>https://jeltsch.org/en/how_to_install_perl_modules/</link><pubDate>Tue, 10 Oct 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_install_perl_modules/</guid><description>&lt;p&gt;In order to check, whether a specific perl module is installed (e.g. Image::Info for this example) type:&lt;code&gt;perl -MImage::Info -e1&lt;/code&gt; If it is not installed, download it from CPAN, untar, change into the install directory and install like this:&lt;code&gt;perl Makefile.PLmakemake test&lt;/code&gt; and then as root:&lt;code&gt;make install&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Konqueror bookmark xml (xbel) files and its display in web browsers (Mozilla that is) using stylesheets (css or xsl)</title><link>https://jeltsch.org/en/konqueror_bookmark_xml_xbel_files_and_its_display_in_web_browsers_mozilla_that_is_using_stylesheets_css_or_xsl/</link><pubDate>Wed, 27 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/konqueror_bookmark_xml_xbel_files_and_its_display_in_web_browsers_mozilla_that_is_using_stylesheets_css_or_xsl/</guid><description>&lt;p&gt;Konqueror stores its bookmarks in an xml file (
 &lt;a href="file:/home/jeltsch/.kde/share/apps/konqueror/bookmarks.xml"&gt;bookmarks.xml&lt;/a&gt;
) of document type xbel (XML Bookmark Exchange Language). Because I want to have my bookmark file always online (a link from my homepage), I need a way to convert the XBEL file into an HTML file or make the browser display the XML file. Most browsers can display xml data, but they need a seperate style sheet document to do so. Thus I inserted into the bookmarks.xml file a reference to a css style sheet file (bookmarks.css):&lt;code&gt; &lt;/code&gt;I defined the different tags used in the bookmarks.xml file in the bookmarks.css stylesheet file:&lt;code&gt;title {display:block; font-weight:bold;} bookmark {display:inline; margin-left:40px;} folder {display:block;}&lt;/code&gt;After that Mozilla was able to display the bookmarks.xml file. It looks terrible, but I just have to work on the stylesheets (especially how to make the links being links). Konqueror accepts the additonal line in the xml file and leaves it untouched. So I just have to write some nice-looking stylesheets.Although it is possible to use a css stylesheet file to describe the layout of the xml file to the browser, the correct way is to use XSL files (eXtensible Stylesheet Language). I figured out that several people have been already writing XSL stylesheets for the rendering of XBEL files. 
 &lt;a href="http://www.isotton.com/bookmarks/" target="_blank" rel="noopener noreferrer nofollow"&gt;Here is the link that describes how to to this&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. In this example a crontab entry executes 
 &lt;a href="http://xmlsoft.org/XSLT/xsltproc2.html" target="_blank" rel="noopener noreferrer nofollow"&gt;xsltproc&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
: xsltproc is a program from the libxslt package that can convert xml files into html files and that uses an xsl stylesheet which you write yourself. This html file is then uploaded via scp to the web server.&lt;code&gt;xsltproc -o /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html /home/jeltsch/bin/bookmarks.xsl /home/jelsch/.kde/share/apps/konqueror/bookmarks.xml&lt;/code&gt;This command makes the conversion from bookmarks.xml into bookmarks.html using the styles defined in bookmarks.xsl.&lt;code&gt;scp /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html jeltsch.org:/var/www/html/vhosts/jeltsch.org/bookmarks.html&lt;/code&gt;This uploads the bookmarks.html file to my server. The server asks for a password. If you want it to execute automatically from a crontab, you need to create a private/public keypair on both your computer and the webserver to allow passwordless execution of scp. Make sure to limit the authorized_keys2 to your computer!&lt;code&gt;0 * * * * /usr/bin/xsltproc -o /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html /home/jeltsch/bin/bookmarks.xsl /home/jeltsch/.kde/share/apps/konqueror/bookmarks.xml &amp;amp;&amp;amp; sudo -u jeltsch scp -q /home/jeltsch/.kde/share/apps/konqueror/bookmarks.html jeltsch.org:/var/www/html/vhosts/jeltsch.org/bookmarks.html&lt;/code&gt;(For some reasons the scp command didn&amp;rsquo;t work in SuSE 10.1 and I had to change it by removing the &amp;ldquo;sudo -u jeltsch&amp;rdquo; part and add the user to the server name (&amp;ldquo;
 &lt;a href="mailto:jeltsch@jeltsch.org"&gt;jeltsch@jeltsch.org&lt;/a&gt;
&amp;rdquo;.)The command above is from the crontab. Note that you have to execute the scp command as the user that has the passwordless login account on the server; the crontab executes by default as root.&lt;/p&gt;</description></item><item><title>Adding a new user to MySQL and other basic mysql commands</title><link>https://jeltsch.org/en/adding_a_new_user_to_mysql_and_other_basic_mysql_commands/</link><pubDate>Mon, 18 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/adding_a_new_user_to_mysql_and_other_basic_mysql_commands/</guid><description>&lt;p&gt;Crontab entry to backup all mysql databases to a file every midnight:&lt;code&gt;0 0 * * * mysqldump -u mjeltsch -h localhost --all-databases | gzip -9 &amp;gt; /home/mjeltsch/Documents/mysqldump.gz &amp;gt; /dev/null&lt;/code&gt;Granting privileges to users connecting from localhost:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'michael'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;Granting privileges to users connecting from everywhere:&lt;code&gt;GRANT ALL PRIVILEGES ON *.* TO 'michael'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;&lt;/code&gt;Show all available databases:&lt;code&gt;SHOW DATABASES;&lt;/code&gt;Show all entries of the table &amp;ldquo;users&amp;rdquo;:SELECT * FROM users;Load database &amp;ldquo;phpgedview&amp;rdquo;:USE phpgedview;Create a new database named &amp;ldquo;phpgedview&amp;rdquo;:CREATE DATABASE phpgedview;Delete the database named &amp;ldquo;phpgedview&amp;rdquo;:DROP DATABASE phpgedview;Start mysql client as user michael and user database &amp;ldquo;phpgedview&amp;rdquo;:mysql &amp;ndash;user=michael -p phpgedviewDelete the user &amp;ldquo;test&amp;rdquo;:mysql&amp;gt; use mysql;mysql&amp;gt; delete from user where user=&amp;lsquo;test&amp;rsquo;;mysql&amp;gt; FLUSH PRIVILEGES;Changing the password for the user phpgedview being user root (this works also for changing the password for root):/usr/bin/mysql -u root -pSET PASSWORD FOR phpgedview@&amp;ldquo;localhost&amp;rdquo; = PASSWORD(&amp;lsquo;NewPassWord&amp;rsquo;);After installing the Suse rpm for mysql, execute the following commands:&lt;code&gt;sudo /usr/bin/mysql_install_db&lt;/code&gt;This creates the default databases &amp;amp; permissions. Apparently the same can be done by:&lt;code&gt;sudo rcmysql start&lt;/code&gt;Using SuSE you should use the Yast runlevel editor to start the mysql server automatically at boot time. To start the mysql server manually:&lt;code&gt;sudo /usr/bin/mysqld_safe --user=mysql &amp;amp;&lt;/code&gt;REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! This is done with:&lt;code&gt;/usr/bin/mysqladmin -u root password 'new-password'&lt;/code&gt;If you access the mysql server from another machine you need to specify the hostname:&lt;code&gt;/usr/bin/mysqladmin -u root -h hostname password 'new-password'&lt;/code&gt;Give all privileges to root and user:&lt;code&gt;mcblpc2:/home/user /usr/bin/mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 4.0.15 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO user@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)mysql&amp;gt; quit Bye&lt;/code&gt;Check the mysql version:&lt;code&gt;/usr/bin/mysqladmin -u root -p version&amp;quot; is necessary&lt;/code&gt;Check the mysql variables:&lt;code&gt;/usr/bin/mysqladmin -u root -p variables&lt;/code&gt;Shut down the mysql server:&lt;code&gt;/usr/bin/mysqladmin -u root -p shutdown&lt;/code&gt;Check whether the server can be started:&lt;code&gt;sudo /usr/bin/mysqld_safe --log &amp;amp;&lt;/code&gt;Show all databases:&lt;code&gt;/usr/bin/mysqlshow -u root -p&lt;/code&gt;Show the tables of database &amp;ldquo;mysql&amp;rdquo;:&lt;code&gt;/usr/bin mysqlshow -u root -p mysql&lt;/code&gt;Show the columns of the table named &amp;rsquo;tablename&amp;rsquo;:&lt;code&gt;show columns from tablename;&lt;/code&gt;Remove whitespaces from the column named &amp;lsquo;columnname&amp;rsquo; in the table named &amp;rsquo;tablename&amp;rsquo;:&lt;code&gt;update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(' ' from&lt;/code&gt;columnname&lt;code&gt;);&lt;/code&gt;Remove trailing line breaks from the column named &amp;lsquo;columnname&amp;rsquo; in the table named &amp;rsquo;tablename&amp;rsquo; (you might need to execute this repeatedly for some strange reason to remove all carriage returns and line feeds):&lt;code&gt;update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(trailing '\n' from&lt;/code&gt;columnname&lt;code&gt;);update &lt;/code&gt;tablename&lt;code&gt;set&lt;/code&gt;columnname&lt;code&gt;= trim(trailing '\r' from&lt;/code&gt;columnname&lt;code&gt;);&lt;/code&gt;&lt;/p&gt;</description></item><item><title>The Declination of Polish Nouns and Adjectives</title><link>https://jeltsch.org/en/the_declination_of_polish_nouns_and_adjectives/</link><pubDate>Wed, 13 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/the_declination_of_polish_nouns_and_adjectives/</guid><description>&lt;h4 id="classification-of-polish-consonants" class="heading"&gt;Classification of Polish Consonants&lt;a href="#classification-of-polish-consonants" aria-labelledby="classification-of-polish-consonants"&gt;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 576 512" overflow="visible"&gt;&lt;use href="#fas-link"&gt;&lt;/use&gt;&lt;/svg&gt;&amp;nbsp;
 &lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;soft consonants g(i) k(i) ch(i) r(i) w(i) f(i) p(i) m(i) b(i) dź = dz(i) ć = c(i) ń = n(i) ś = s(i) ź = z(i) l h(i) j hardened consonants dz c sz rz cz dż ż hard consonants g k ch r w f p m b d t n s z ł h&lt;/p&gt;</description></item><item><title>8 óra munka</title><link>https://jeltsch.org/en/8_ra_munka/</link><pubDate>Tue, 12 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/8_ra_munka/</guid><description>&lt;p&gt;A munkának vége, kijössz a gyárból, Egy vodkától erős vagy, és bátor; Egy részeg fazon a kezed után nyúl, Nem tudod miért, de jól belerúgsz. De elfogyott a türelmed már, Pedig szabad a csók, szabad a tánc; Száz éve Párizsban az volt a jó, A kommün ezért kötelet adott. A kocsmában ott van a nagy élet, Tompulnak az agyak, élesek a kések; Sûrû a levegő az olcsó sör magától, Eleged van már a hibazott világból. Nézed, mi folyik itt, Ami befolyik, az rögtön kifolyik; A világos sörtől savanyú a szád, Nem igéri senki, jobb élet vár rád. Refr.: 8 óra munka, 8 óra pihenés, 8 óra szórakozás. &lt;em&gt;Az &amp;ldquo;Utálom az egész XX. századot&amp;rdquo;-cimû lemeszből (Beatrice)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Akarsz-e játszani?</title><link>https://jeltsch.org/en/akarsz_e_j_tszani/</link><pubDate>Tue, 12 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/akarsz_e_j_tszani/</guid><description>&lt;p&gt;A játszótársam, mondd, akarsz-e lenni, akarsz-e mindíg, mindig játszani, akarsz-e együtt a sötétbe menni, gyerekszívvel fontosnak látszani, nagykomolyan az asztalfőre ülni, borból-vízból mértékkel tölteni, gyöngyöt dobálni, semminek örülni, sóhajtva rossz ruhákat ölteni? Akarsz-e játszani mindent, mi élet, havas telet és hosszúú őszt, lehet-e némán téát inni véled, rubin-téát és sárga páragőzt? Akarsz-e teljes, tiszta szívvel élni, hallgatni hosszan, néha-néha félni, hogy a körúton járkál a november, ez utcaseprő, szegény, beteg ember, ki fütyürész az ablakunk alatt? Akarsz játszani kígyót, madarat, hosszú utazást, vonatot, hajót, karácsonyt, álmot, mindenféle jót? Akarsz játszani boldog szeretőt, színlelni sírást, cifra temetőt? Akarsz-e élni, élni mindörökkön, játékban élni, mely valóra vált? Virágok közt feküdni lenn a földön s akarsz, akarsz-e játszani halált?&lt;/p&gt;</description></item><item><title>Finnougristik in Debrecen</title><link>https://jeltsch.org/en/finnougristik_in_debrecen/</link><pubDate>Tue, 12 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/finnougristik_in_debrecen/</guid><description>&lt;p&gt;Referat für das Seminar &amp;ldquo;Ausgewählte Kapitel der Finnougristik (Uralistik)&amp;rdquo; (Vorlesungsverzeichnis: 07.655)Leitung: Prof. Dr. Wolfgang Veenker, Tiborc Fazekasvorgelegt von Markku Michael JeltschWS 1991/92&lt;/p&gt;</description></item><item><title>Közmondások</title><link>https://jeltsch.org/en/kozmondasok/</link><pubDate>Tue, 12 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kozmondasok/</guid><description>&lt;p&gt;Minden kezdet nehéz.Aller Anfang ist schwer.Tévedni emberi dolog.Irren ist menschlichA pénznek nincs szaga.Geld stinkt nicht.Borban az igazság.Im Wein ist Wahrheit.Nem minden arany, ami fénylik.Es ist nicht alles Gold, was glänzt.Nincsen rózsa tövis nélkül.Keine Rosen ohne Dornen.Ha ló nincs, a szamár is jó.In der Not frisst der Teufel Fliegen.Vizet prédikál, bort iszik.Wasser predigen und Wein trinken.Hallgatni arany, beszélni ezüst.Reden ist Silber, Schweigen ist Gold.Aki mer, az nyer.Wer wagt gewinnt.Aki szelet vet, vihart arat.Wer Wind säet, wird Sturm ernten.Legjobb szakács az éhség.Hunger ist der beste Koch.Egy fecske nem csinál nyarat.Eine Schwalbe macht noch keinen Sommer.Kutyából nem lesz szalonna.Die Katze lässt das Mausen nicht.Sötétben minden tehén fekete.Nachts sind alle Katzen grau.A látszat csal.Der Schein trügt.&lt;/p&gt;</description></item><item><title>Miklós Radnóti: Gewaltmarsch</title><link>https://jeltsch.org/en/radnoti/</link><pubDate>Tue, 12 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/radnoti/</guid><description>&lt;p&gt;&lt;em&gt;Ausgewählte Gedichte. Budapest: Corvina, 1979. Deutsche Nachdichtungen von Markus Bieler&lt;/em&gt; &lt;strong&gt;Pirul a naptól már az őszi bogyó&lt;/strong&gt;Szőke, pogány lány a szeretőm, engem hisz egyedül és ha papot lát rettenve suttog: csak fû van és fa; nap, hold, csillagok s állatok vannak a tarka mezőkön. És elszalad. Por boldogan porszik a lábnyomán. Pedig fönn a kertek felé feszület is látja a csókját és örömmel hull elé a búzavirág, mert mindig hiába megcsudálja őt egy szerelmetes, szakállas férfiszentség. Tizennyolc éves és ha nélkülem van, hallgatva jár, mint erdős partok közt délidőn jár a nyári víz s csillogó gondot ringat magában arról, hogy sohasem telünk el a csókkal és szomorú. Pirul a naptól már az őszi bogyó. &lt;em&gt;1930. Szeptember. 1.&lt;/em&gt; &lt;strong&gt;Schon rötet die Sonne die Beeren des Herbstes&lt;/strong&gt;Mein Schatz ist ein blondes heidnisches Mädchen, glaubt nur an mich, und wenn ein Priester auftaucht, haucht sie erschrocken: nur Gras ist und Baum; Sonne, Mond und Sterne sind, Tiere auf bunten Wiesen. Und weg ist sie. Staub stiebt glückselig auf ihrer Fluchtspur. Droben freilich, wo&amp;rsquo;s zu den Gärten geht, sieht auch ein Kruzifix ihren Kuß, und vor ihr knicksen freudig die Kornblumen, da hilft ja nichts, verliebt bewundert sie in einem fort der Mann mit heiligem Vollbart. Achtzehn ist sie, und wenn sie ohne mich ist, geht sie schweigend, wie im Waldbach Sommers Wasser geht zur Mittagszeit, und wiegt eine sprühende Sorge im Herzen, nämlich, warum das Küssen uns doch nie sättigt. Das macht sie traurig. Schon rötet die Sonne die Beeren des Herbstes. &lt;em&gt;1. September 1930&lt;/em&gt; &lt;strong&gt;Szél se fúj itt már&lt;/strong&gt;&lt;em&gt;Tolnai Gábornak&lt;/em&gt; Minden alszik itt, két virág is szotyogva egymásra hajlik, esőről álmodik lassan s rotyogva nő fizessetek nékem két erős cipőt és elmegyek napnak őndiába sütni, hol fehér uccákon reggel a lázadás szalad, szép rőt haján a fiatal tömegekkel! vagy elmegyek fényleni hónak az erdélyi tetőkre, hol balladák hímzett szoknyáit fújja feketén éjjel a szél, mert szél se fúj itt már! hasrafeküdt utakon itt a napfény és nagyokat mélázva vakarja farát. &lt;em&gt;1931. November 20.&lt;/em&gt; &lt;strong&gt;Nicht einmal Wind bläßt hier&lt;/strong&gt;&lt;em&gt;Für Gábor Tolnai&lt;/em&gt;Alles schäft hier, auch zwei Blumen, schnaufend, lehnen sich aneinander, träumen von Regen, erschauern und dehnen sich; bezahlt mir nur zwei starke Schuhe, und ich gehe nach Indien als Sonne scheinen, wo auf weißen Straßen morgens der Aufruhr umläuft mit den jungen Massen in seinem schönen Rothaar! oder ich glänze als Schnee auf Siebenbürgens Firsten, wo in die bestickten Röcke der Balladen schwarz der Nachtwind bläst, denn nicht einmal mehr Wind bläst hier! bäuchlings liegt hier der Sonnenschein auf den Strßen und kratzt sich, von großen Dingen träumend, am Hintern. &lt;em&gt;20. November 1931&lt;/em&gt; &lt;strong&gt;Egyszer csak&lt;/strong&gt;Egyszer csak egy éjszaka mozdul a fal,beleharsog a szívbe a csönd s a jaj kirepül.Megsajdul a borda, mögötte a bajra szokottdobogás is elül.Némán emelődik a test, csak a fal kiabál.S tudja a szív, a kéz, meg a száj, hogy ez itt a halál,a halál.Mint fegyházban a villany ha kacsint,tudják bent a rabok s tudja az őr odakint,hogy az áram mind egy testbe fut össze,hallgat a körte, a cellán árnyék szalad át,s érzik ilyenkor az őrök, a foglyok, a férgek a perzseltemberi hús szagát.&lt;em&gt;1942. Április 20.&lt;em&gt;&lt;strong&gt;Eines nachts auf einmal&lt;/strong&gt;Eines nachts auf einmal bewegt sich die Wand,die Stille trompetet ins Herz und das Weh drin verfliegt.Schmerz schießt in die Rippen, das leidensgewohnte Pochen dahinter versiegt.Stumm hebt sich der Leib, nur die Wand widergellt von der Not.Dann weiß es das Herz und die Hand und der Mund: ja das ist der Tod, der Tod.So wissen, wenn das Elektrische flackt,die Zuchthausinsassen, der Wächter im Gang, jetzt packtaller Strom sich in einen Körper zusammen,die Glühbirne schweigt, ein Schatten die Zelle durchgeht,und dann ist&amp;rsquo;s, daß zu Wärtern, gefangenen, Würmer Geruch versengten Menschenfleischs weht.&lt;em&gt;20. April 1942&lt;/em&gt;&lt;/em&gt;&lt;/em&gt;Szerelmes volt a kis hugom nagyon**hegedült búsan az esti szobában a tártkarú rézállványra hulltan fehér csuklója villogva hintált a húrok fölött és képek tapsoltak halkan a falon ha megpihent karcsú vonója. szerelmes volt áttetszőn lengett a teste szájoncsókolt és drága játékos ujjaival simogatta meg a hajamat. szomorú voltam, mert szomorú volt. hugom hegedőlt a kis szobában fehér csuklója villogva hintált és képek tapsoltak halkan ha megpihent karcsú vonója. &lt;em&gt;Budapest, 1928. Augusztus 17.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Szerelem</title><link>https://jeltsch.org/en/szerelem/</link><pubDate>Tue, 12 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/szerelem/</guid><description>&lt;p&gt;&lt;strong&gt;Szerelem&lt;/strong&gt;Szerelem, szerelem, átkozott gyötrelem, Mért nem virágoztal minden fa telején Minden fa tetején, diófa levelén Hogy szakisztott volna minden leány, s legény.Mer&amp;rsquo; én is szakisztottam, s el is szalasztottam Én is szakisztottam, s el is szalasztottam Hej, de még szakisztanék, ha jóra találnék. Ha jóra, ha szépre, régi szeretőmre.S a régi szeretőmért mit nem cselekednék Tengerből a vizet kanállal elmerném. S a tenger fenekéről apró gyöngyöt szednék S a régi szeretőmnek gyöngykoszorút kötnék.&lt;strong&gt;Love&lt;/strong&gt;Love, love, damned suffering why didn&amp;rsquo;t you bloom on every tree on the leaf of a nut tree That every boy and girl would have picked you up.&amp;lsquo;Cause I picked one up, too, and it slipped from me. I picked up one. And it slipped from me. Yes, I&amp;rsquo;d pick up (one) again if I found a good one A good and a beautiful one, my old love(r).For my old love(r) what I wouldn&amp;rsquo;t do I&amp;rsquo;d empty with a spoon the water from the sea And I&amp;rsquo;d pick up tiny pearls from the bottom of the sea And for my old love(r) I&amp;rsquo;d wind pearls into crowns.&lt;em&gt;by Muzsikás/Márta SebestyénThe Hungarian text was kindly provided by Gabriella Gera and the translation by Andrea Marton-Hämäläinen.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>A permanent static route for Macintosh OS X (10.4.7)</title><link>https://jeltsch.org/en/permanent_route_osx/</link><pubDate>Sun, 10 Sep 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/permanent_route_osx/</guid><description>&lt;p&gt;I have set up OpenVPN on our pribvate network, but our special setup requires manually adding a static entry to the routing table of computers that we want to access from the outside via our VPN server. In SuSE Linux this is a nobrainer as Yast provides a section where to add static routing information. On MacOS X the command line works, but upon reboot the route is lost:&lt;code&gt;route add 10.8.0.0/24 192.168.0.2&lt;/code&gt;Check what the route is for a specific IP:&lt;code&gt;route get 10.8.0.1&lt;/code&gt;The same command has a different syntax on Linux though:&lt;code&gt;route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.2&lt;/code&gt;In order to preserve the routing information over a reboot I created the folder AddRoutes in /Library/StartupItems. Inside this folder there have to be two files: AddRoutes and StartupParameters.plist . The content of these files is the following:AddRoutes:&lt;code&gt;#!/bin/sh# Set up static routing tables. /etc/rc.commonStartService (){ ConsoleMessage &amp;quot;Adding Static Routing Tables&amp;quot; route add -net 10.8.0.0/24 192.168.0.2}StopService (){ return 0}RestartService (){ return 0}RunService &amp;quot;$1&amp;quot;&lt;/code&gt;StartupParameters.plist:&lt;code&gt;{ Description = &amp;quot;Add static routing tables&amp;quot;; Provides = (&amp;quot;AddRoutes&amp;quot;); Requires = (&amp;quot;Network&amp;quot;); OrderPreference = &amp;quot;None&amp;quot;;}&lt;/code&gt;These files need to be readable and executable by everybody for MacOS X 10.4.7. However, MacOSX might wipe these files with each system upgrade (at least from Mountain Lion to Mavericks my settings disappeared completely). After recreating them, I got the error message &amp;ldquo;Insecure Startup Item disabled&amp;rdquo; at boot and I needed to give the directory and the files the following permissions to make the error to disappear:&lt;code&gt;drwxr-xr-x 4 root wheel 136 Aug 6 22:44 AddRoutes``-rwxr-xr-x 1 root wheel 238 Aug 6 22:43 AddRoutes-rwxr-xr-x 1 root wheel 123 Aug 6 22:44 StartupParameters.plist&lt;/code&gt;However, the route does not get added in Mavericks by this procedure and I could not find any information how to do this.The original information is from the following website: 
 &lt;a href="http://macosx.com/forums/showthread.php?t=267209" target="_blank" rel="noopener noreferrer nofollow"&gt;http://macosx.com/forums/showthread.php?t=267209&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Kernel parameters for Macintosh Powerbook 3500/G3 ("Kanga")</title><link>https://jeltsch.org/en/kernel_parameters_for_macintosh_powerbook_3500_g3_kanga/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kernel_parameters_for_macintosh_powerbook_3500_g3_kanga/</guid><description>&lt;p&gt;I am trying to get Xubuntu 6 installed on my old Powerbook. The problem seems to be the video mode. The installer starts but the screen output is addressed only to the upper half of the monitor and is additionally garbeled although one can still guess what&amp;rsquo;s going on. According to a 
 &lt;a href="http://www.jonh.net/lppcfom-serve/cache/1043.html" target="_blank" rel="noopener noreferrer nofollow"&gt;list on the internet&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 the kernel parameters one should pass using BootX it should read:&lt;code&gt;video=chipsfb:vmode:10,cmode:16&lt;/code&gt; However, there was no difference when using these parameters. Funnily an older version of Ubuntu addressed the monitor correctly but failed upon the first boot after installation to do so.&lt;/p&gt;</description></item><item><title>Migrating from SuSE 9.3 to SuSE 10.1</title><link>https://jeltsch.org/en/migrating_from_suse_9_3_to_suse_10_1/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/migrating_from_suse_9_3_to_suse_10_1/</guid><description>&lt;p&gt;We were migrating our server to the newest SuSE release. Based on previous bad experience we didn&amp;rsquo;t want to upgrade the system, but instead install a completely new system and then migrate our data there. Here&amp;rsquo;s the list of what we had to do to the default SuSE installation to migrate all our services and data:&lt;/p&gt;</description></item><item><title>Restricting Samba access on SuSE 10.1 to one IP</title><link>https://jeltsch.org/en/restricting_samba_access_on_suse_10_1_to_one_ip/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/restricting_samba_access_on_suse_10_1_to_one_ip/</guid><description>&lt;p&gt;When you allow Samba access to your SuSE 10.1 machine by using the YaST firewall setup tool, three changes are made to /etc/sysconfig/SuSEfirewall2:&lt;/p&gt;</description></item><item><title>Updating gallery</title><link>https://jeltsch.org/en/updating_gallery/</link><pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/updating_gallery/</guid><description>&lt;ol&gt;
&lt;li&gt;Backup the albums, the working gallery code and dump the databases&lt;/li&gt;
&lt;li&gt;Put all the Gallery sites into the maintanance mode&lt;/li&gt;
&lt;li&gt;Get the newest full version of Gallery&lt;/li&gt;
&lt;li&gt;Unzip the file over the existing version of the Gallery&lt;/li&gt;
&lt;li&gt;Navigate as an admin to the main page&lt;/li&gt;
&lt;li&gt;Run the updater&lt;/li&gt;
&lt;li&gt;Run the cleanup script if necessary&lt;/li&gt;
&lt;li&gt;Check whether everything works fine&lt;/li&gt;
&lt;li&gt;Change the sites mode to active&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>How to enable VPN clients to access LAN computers that are not running VPN software</title><link>https://jeltsch.org/en/how_to_enable_vpn_clients_to_access_lan_computers_that_are_not_running_vpn_software/</link><pubDate>Tue, 08 Aug 2006 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_enable_vpn_clients_to_access_lan_computers_that_are_not_running_vpn_software/</guid><description>&lt;p&gt;I installed an OpenVPN service on our server. The default setup worked right out of the box. However, I wanted to use a VPN client to perform offsite backups of the computers in our LAN (using the backuppc software). First I installed OpenVPN clients on all of the LAN computers to be backed up, but OpenVPN on MacOS X seems to be a bit unreliable. Therefore I wanted to setup the VPN server to forward requests to our LAN network. The following changes were necessary:&lt;/p&gt;</description></item><item><title>Deleting empty lines from text files (sed)</title><link>https://jeltsch.org/en/deleting_empty_lines_from_text_files_sed/</link><pubDate>Tue, 09 Aug 2005 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/deleting_empty_lines_from_text_files_sed/</guid><description>&lt;p&gt;The following sed command deletes empty lines (and those with white spaces only) from text files:&lt;/p&gt;
&lt;div class="codeblock syntax-highlight mb-3"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sed -e &amp;#39;/^ *$/d&amp;#39; infile.txt &amp;gt; outfile.txt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;You have to be careful though: if you copied the textfile from a Macintosh this script maybe won&amp;rsquo;t work. You first have to convert the Macintosh textfile into a UNIX textfile!&lt;/p&gt;</description></item><item><title>Fujitsu Siemens Amilo D1840W and Linux</title><link>https://jeltsch.org/en/fujitsu_siemens_amilo_d1840w_and_linux/</link><pubDate>Sat, 06 Mar 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/fujitsu_siemens_amilo_d1840w_and_linux/</guid><description>&lt;p&gt;My new notebook (or rather deskbook) is the Fujitsu Siemens Amilo D1840W. I installed it as dual-boot Windows XP/Suse Linux 9 with the following partitioning:&lt;code&gt;/dev/hda1 * 1 637 5116671 7 HPFS/NTFS, 4.9GB/dev/hda2 638 1274 5116702+ c Win95 FAT32 (LBA), 4.9GB/dev/hda3 1275 1287 104422+ 83 Linux ext3 (/boot), 98.7MB/dev/hda4 1288 9728 67802332+ f Win95 Ext'd (LBA)/dev/hda5 1288 1416 1036161 82 Linux swap, 1GB/dev/hda6 1417 3244 14683378+ 83 Linux ReiserFS (/), 14GB/dev/hda7 3245 5072 14683378+ 83 Linux ReiserFS (/media/conf), 14GB/dev/hda8 5073 9728 37399288+ 83 Linux ReiserFS (/home), 35.7GB&lt;/code&gt;First I booted up with the WindowsXP Professional installation CD and created the 4.9GB NTFS partition. After the XP installation I installed Suse 9. The Suse installer automatically offered me to mount the NTFS partition under /windows/C. It is probably read-only, but I created a 4.9GB FAT32 partition for moving files safely between Windows and Linux. The Linux install went smoothly. The only glitch was, that the installer choose a wrong kernel. Instead of the default kernel (2.4.21) it installed a SMP4G kernel (&amp;ldquo;symmetric multiprocessor with max. 4 GB RAM&amp;rdquo;). To display the current kernel version I checked with &lt;code&gt;uname -all&lt;/code&gt; and realized that I have the wrong kernel. Apparently the installer get confused, because the Amilo D1840W has a HT processor (&amp;ldquo;hyper threading&amp;rdquo;) which can somehow emulate a multiprocesor machine. The HT feature can be switched off in the BIOS, but it is switched on by default. The SMP4G kernel works, apart from the network card. It is a sis900 (revision 91). At first I thought that it is the same error that affected Suse 8.1 (
 &lt;a href="http://portal.suse.com/sdb/en/2003/03/ubrueck_sis900.html" target="_blank" rel="noopener noreferrer nofollow"&gt;http://portal.suse.com/sdb/en/2003/03/ubrueck_sis900.html&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). I checked the NIC details with&lt;code&gt;hwinfo --network_ctrl&lt;/code&gt;but then I realized that it was due to the wrong kernel. After installing the correct kernel everything worked fine.&lt;/p&gt;</description></item><item><title>What file format stands the .ACE ending for and how does one decompress them under Linux?</title><link>https://jeltsch.org/en/what_file_format_stands_the_ace_ending_for_and_how_does_one_decompress_them_under_linux/</link><pubDate>Sun, 29 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/what_file_format_stands_the_ace_ending_for_and_how_does_one_decompress_them_under_linux/</guid><description>&lt;p&gt;ACE is a compression format. Although it is not recognized by KDE, there is a command line utility (unace) to decompress them:&lt;code&gt;unace -e filename.ace&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Wine vs. Crossover Office</title><link>https://jeltsch.org/en/wine_vs_crossover_office/</link><pubDate>Thu, 26 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/wine_vs_crossover_office/</guid><description>&lt;p&gt;I have been using several trial versions (2.0.1 and 2.0.2) of 
 &lt;a href="http://www.codeweavers.com/" target="_blank" rel="noopener noreferrer nofollow"&gt;Crossover Office&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Actually it doesn&amp;rsquo;t do really much. Admittedly, it really has some handy functions: &amp;ldquo;Reset Crossover Office&amp;rdquo; to terminate any stuck wine applications and &amp;ldquo;Simulate Windows Reboot&amp;rdquo;. These are actually scripts (located in /opt/cxoffice/bin), that could be largely replaced by own solutions.&lt;/p&gt;</description></item><item><title>How to format and duplicate floppies under Linux</title><link>https://jeltsch.org/en/how_to_format_and_duplicate_floppies_under_linux/</link><pubDate>Wed, 25 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_format_and_duplicate_floppies_under_linux/</guid><description>&lt;p&gt;How to format:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Put floppy in drive, do not mount it.&lt;/li&gt;
&lt;li&gt;fdformat /dev/fd0 OR: Use &amp;ldquo;System Tools -&amp;gt; Floppy Formatter &amp;quot; in RedHat 9&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;How to duplicate:&lt;/p&gt;</description></item><item><title>Syncronizing Suse 9 with a public time server</title><link>https://jeltsch.org/en/syncronizing_suse_9_with_a_public_time_server/</link><pubDate>Wed, 25 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/syncronizing_suse_9_with_a_public_time_server/</guid><description>&lt;p&gt;Finally I figured out where to set the time sync option in Suse 9. Unlike RedHat Suse doesn&amp;rsquo;t ask you during installation whether and which public time server to use:&lt;code&gt;Control Center -&amp;gt; YAST2 modules -&amp;gt; Network Service -&amp;gt; NTP client -&amp;gt; Authenticate as administrator -&amp;gt; Delete the CMOS entry -&amp;gt; Add&lt;/code&gt;Type the address of a public time server. I used this time fartein.ifi.uio.no, but there is a long list with server to choose from at 
 &lt;a href="http://support.ntp.org/bin/view/Servers/WebHome" target="_blank" rel="noopener noreferrer nofollow"&gt;http://support.ntp.org/bin/view/Servers/WebHome&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Cholesterol-free chocolate cookie recipe</title><link>https://jeltsch.org/en/cholesterol_free_chocolate_cookie_recipe/</link><pubDate>Mon, 23 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/cholesterol_free_chocolate_cookie_recipe/</guid><description>&lt;p&gt;Although these cookies are cholesterol-free, they do contain a lot of sugar (mainly from the maple syrup).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;190g graham flour&lt;/li&gt;
&lt;li&gt;120g chopped &amp;amp; roasted walnuts (roast 10 minutes at 175°C)&lt;/li&gt;
&lt;li&gt;2 teaspoons backing powder&lt;/li&gt;
&lt;li&gt;1/2 teaspoon salt&lt;/li&gt;
&lt;li&gt;1 teaspoon ground cardamom&lt;/li&gt;
&lt;li&gt;20g ground linseed&lt;/li&gt;
&lt;li&gt;1 cup marple syrup&lt;/li&gt;
&lt;li&gt;75g cocoa&lt;/li&gt;
&lt;li&gt;75g liquid Becel oil for baking&lt;/li&gt;
&lt;li&gt;200ml fatfree milk&lt;/li&gt;
&lt;li&gt;1 teaspoon vanilla sugar&lt;/li&gt;
&lt;li&gt;3 drops almond oil&lt;/li&gt;
&lt;li&gt;30g oatflakes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mix syrup, linseeds, cocoa, Becel, milk and spices in a blender add mix flour, baking powder, oatflakes and nuts. Bake for approx. 25 min at 175°C.&lt;/p&gt;</description></item><item><title>Hiding dot files for samba shares</title><link>https://jeltsch.org/en/hiding_dot_files_for_samba_shares/</link><pubDate>Mon, 23 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/hiding_dot_files_for_samba_shares/</guid><description>&lt;p&gt;To suppress the display of system files (configuration files, those that start with a dot) when connecting from a Windows computer to your samba server, write the following into the /etc/samba/smb.conf:&lt;/p&gt;</description></item><item><title>How to load kernel modules automatically during system boot</title><link>https://jeltsch.org/en/how_to_load_kernel_modules_automatically_during_system_boot/</link><pubDate>Mon, 23 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/how_to_load_kernel_modules_automatically_during_system_boot/</guid><description>&lt;p&gt;How to load kernel modules upon startup? Everytime I want to connect my iPod I have to load the hfsplus kernel module. So I decided to load it automatically upon system bootup. In Suse 9, kernel modules that are supposed to be loaded after the main file system has mounted are specified in /etc/sysconfig/kernel:&lt;/p&gt;</description></item><item><title>KDX under WINE</title><link>https://jeltsch.org/en/kdx_under_wine/</link><pubDate>Sun, 22 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/kdx_under_wine/</guid><description>&lt;p&gt;I tested the encrypted file sharing application KDX under wine. It works perfectly. I wonder why it isn&amp;rsquo;t on the 
 &lt;a href="http://www.winehq.org/site/supported_applications" target="_blank" rel="noopener noreferrer nofollow"&gt;wine gold list&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. The reason why it works so well is that it doesn&amp;rsquo;t rely heavily on the windows base, but does most of the needed stuff (graphics, etc.) itself: 
 &lt;a href="http://www.haxial.com/download" target="_blank" rel="noopener noreferrer nofollow"&gt;KDXClient1110-Win.zip&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. BTW: I used as a tracker hlsux.bugdave.com.&lt;/p&gt;</description></item><item><title>Shortcoming of silent mutagenesis tools (EMBOSS, GCK): WatCut as a solution</title><link>https://jeltsch.org/en/shortcoming_of_silent_mutagenesis_tools_emboss_gck_watcut_as_a_solution/</link><pubDate>Sun, 22 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/shortcoming_of_silent_mutagenesis_tools_emboss_gck_watcut_as_a_solution/</guid><description>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; As of May 2026, the last functional instance of the WatCut web service (by the University of Pittsburgh) was discontinued. However, tools like Snapgene (
 &lt;a href="https://snapgene.com" target="_blank" rel="noopener noreferrer nofollow"&gt;https://snapgene.com&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ) have the same functionality (i.e. can detect novel restriction sites by silent mutagenesis of two nucleotides).&lt;/p&gt;</description></item><item><title>Getting the web interface for BackupPC working with Apache2 under Suse 9</title><link>https://jeltsch.org/en/backuppc/</link><pubDate>Fri, 20 Feb 2004 00:00:00 +0000</pubDate><guid>https://jeltsch.org/en/backuppc/</guid><description>&lt;p&gt;BackupPC has been working without me noticing it. Now I want set up the web interface.First I downloaded apach2-mod_perl and perl-Tie-IxHash (there are Suse rpms) and installed them.Directories/files that I duplicated (this is only necessary if you need to run two instances of the Apache server):&lt;code&gt;cp -a /etc/apache2 /etc/apache2backuppcchmod -R 775 /var/log/apache2backuppc/cp -a /var/log/apache2 /var/log/apache2backuppcchown -R backuppc:users /var/log/apache2backuppc/ cp /var/run/httpd2.pid /var/run/httpd2backuppc.pidchmod 644 /var/run/httpd2backuppc2.pidchown backuppc:users /var/run/httpd2backuppc.pid cp -a /etc/sysconfig/apache2 /etc/sysconfig/apache2backuppcchmod 644 /etc/sysconfig/apach2backuppcchown backuppc:users /etc/sysconfig/apache2backuppccp /etc/init.d/apache2 /etc/apache2backuppc&lt;/code&gt;Then I edited the following files:&lt;code&gt;/etc/sysconfig/apache2backuppc&lt;/code&gt; Change APACHE_ACCESS_LOG to a new location!!!!&lt;code&gt;/etc/apache2backuppc/listen.conf&lt;/code&gt; Change from 80 to 8080&lt;code&gt;/etc/apache2backuppc/uid.conf&lt;/code&gt; Change wwwrun/www to backuppc/users&lt;code&gt;/etc/apache2backuppc/httpd.conf&lt;/code&gt;1. Change all appearances of the apache2 directories into apache2backuppc2. Change to AllowOverride Indexes AuthConfigThe following command starts up Apache2 as user backuppc and listening to the port 8080: &lt;code&gt;/usr/sbin/httpd2-prefork -f /etc/apache2backuppc/httpd.conf&lt;/code&gt; For some reason it doesn&amp;rsquo;t yet start up automatically at system boot.For the web interface running in mod_perl mode I switch off the cgi script to be executed as user backuppc:&lt;code&gt;chmod u-s /srv/www/cgi-bin/BackupPC_Admin&lt;/code&gt; Anyway I don&amp;rsquo;t know whether apache2 supports mod_perl, because I don&amp;rsquo;t get the mod_pel listed when I query:&lt;code&gt;/usr/sbin/httpd2-prefork -l&lt;/code&gt; But this is maybe due to the fact that I run apache2 and not apache???I insert the following into /etc/apach2backuppc/mod_info.conf:&lt;code&gt;LoadModule perl_module /usr/lib/apache2/mod_perl.so PerlModule Apache2 SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI Order deny,allow Deny from all Allow from localhost AuthName &amp;quot;Backup Admin&amp;quot; AuthType Basic AuthUserFile /etc/apache2/conf.d/passwd Require valid-user&lt;/code&gt; Now I have to create a .htaccess file in the cgi-bin directory with the following contect:&lt;code&gt;AuthGroupFile /etc/apache2/conf.d/group AuthUserFile /etc/apache2/conf.d/passwd AuthType basic AuthName &amp;quot;access&amp;quot; require valid-user&lt;/code&gt; Then I have to create the password file (use the -a flag to add a user!): &lt;code&gt;/usr/sbin/htpasswd2 -c /etc/apache2/conf.d/passwd backuppc &amp;gt;New password: ******* &amp;gt;Re-type new password: ******* &amp;gt;Adding password for user backuppc&lt;/code&gt; Then I restarted. It didn&amp;rsquo;t work. So I changed to permissions of the cgi script:&lt;code&gt;chmod 750 /srv/www/cgi-bin/BackupPC_Adminls -al /srv/www/cgi-bin/BackupPC_Admin&lt;/code&gt; should give as result rwxr-x&amp;mdash;Now it works! At least I get the Administration web page loaded into my browser. But without the need to authenticate myself. And I cannot administer anything.So I added to /etc/apache2backuppc/default-server.conf:&lt;code&gt;/srv/www/cgi-bin/BackupPC_Admin Setenv REMOTE_USER backuppc&lt;/code&gt; and I changed:&lt;code&gt; AllowOverride None&lt;/code&gt; into:&lt;code&gt; AllowOverride Indexes AuthConfig&lt;/code&gt; And I change as well:&lt;code&gt; AllowOverride None&lt;/code&gt; into:&lt;code&gt; AllowOverride Indexes AuthConfig&lt;/code&gt; I don&amp;rsquo;t know what of the above is really necessary. But now authentication is working and when I type into the &amp;ldquo;Host or User name&amp;rdquo; field localhost, the script at leat tries to access the correct pages, but fails with the error:&lt;code&gt;Only privileged users can view information about host localhost.&lt;/code&gt; The reason appears to be that I have set up wrongly the hosts configuration file for backuppc (in my case located at /mnt/backup/conf/hosts. You have to give the correct users…We use an external hard drive to backup. Because we don&amp;rsquo;t want to have it switched on all the time we have to mount it every time we want to do a backup. The regular mount command:&lt;code&gt;sudo mount /dev/sdc1 /media/sdc1&lt;/code&gt; is sufficient. However the backup directory&amp;rsquo;s owner on sdc1 needs to be backuppc. We also have to restart the backuppc daemon, because if it starts up during boot (when the external drive is not connected), it cannot find the path to the backup directory:&lt;code&gt;su /etc/init.d/suse-backuppc stop /etc/init.d/suse-backuppc start /etc/init.d/suse-backuppc reload&lt;/code&gt; I think the reload might not be necessary. Maybe one doesn&amp;rsquo;t have to restart at all and only reloading does the job…Then you can check whether backuppc works correctly. You have to be user backuppc to be able to so: &lt;code&gt;/usr/local/backuppc/bin/BackupPC_serverMesg status info /usr/local/backuppc/bin/BackupPC_serverMesg status jobs /usr/local/backuppc/bin/BackupPC_serverMesg status hosts&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>