<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>Carsten Clasohm's Blog</title>
<link>http://www.clasohm.com/blog/</link>
<description>Carsten Clasohm's Blog</description>
<generator>OpenACS 5.0</generator>
<lastBuildDate>Mon, 22 Sep 2008 20:17:22 GMT</lastBuildDate>
<image>
<title>Carsten Clasohm's Blog</title>
<url>http://www.clasohm.com/rss-support/images/openacs_logo_rss.gif</url>
<link>http://www.clasohm.com/blog/</link>
<width>133</width>
<height>28</height>
</image>
<item>
<title>offlineimap and gnome-keyring</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=90957</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=90957</guid>
<description>    &lt;p&gt;
      &lt;a href=&quot;http://www.clasohm.com/photodb/photo?photo_id=90956&quot; title=&quot;Cable, Stamp, Lock&quot;&gt;&lt;img src=&quot;http://www.clasohm.com/photodb/img/90956-sm.jpg&quot; width=&quot;219&quot; height=&quot;167&quot; alt=&quot;Cable, Stamp, Lock&quot; vspace=&quot;5&quot; hspace=&quot;5&quot; border=&quot;1&quot; align=&quot;left&quot;&gt;&lt;/a&gt;

      &lt;a
      href=&quot;https://github.com/nicolas33/offlineimap#readme&quot;
      title=&quot;offlineimap project page&quot;&gt;offlineimap&lt;/a&gt; allows you to
      keep a local copy of your emails, and synchronize it with the
      IMAP folders on the server. Not only handy for offline use, but
      also for dealing with slow mail servers and unreliable network
      connections.
    &lt;/p&gt;

    &lt;p&gt;Unfortunately, offlineimap exits with an error from time to
    time and needs to be restarted. The restarts are easily done with
    a script, but each time you restart it, offlineimap requires the
    IMAP server's password. offlineimap allows you to store the
    unencrypted password in a file, but that should not be an option
    if you care about security.&lt;/p&gt;

    &lt;p&gt;On Fedora 9, there's a better way to hand the password to
    offlineimap: gnome-keyring&lt;/p&gt;

    &lt;br clear=&quot;left&quot;&gt;

    &lt;p&gt;First, install the Python bindings for gnome-keyring:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
yum install gnome-python2-gnomekeyring
&lt;/pre&gt;

    &lt;p&gt;Download the file &lt;a
    href=&quot;http://www.clasohm.com/blog/20080922/offlineimap.py&quot;&gt;~/.offlineimap.py&lt;/a&gt;
    and add the following settings in ~/.offlineimaprc. This assumes
    that you use a local IMAP server.&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
[general]

pythonfile = ~/.offlineimap.py

[Repository localhost]

type = IMAP
remotehost = localhost
remoteusereval = get_username(&quot;localhost&quot;)
remotepasseval = get_password(&quot;localhost&quot;)

[Repository Zimbra]

type = IMAP
remotehost = mail.example.com
remoteusereval = get_username(&quot;mail.example.com&quot;)
remotepasseval = get_password(&quot;mail.example.com&quot;)
&lt;/pre&gt;

    &lt;p&gt;Download the script &lt;a
    href=&quot;http://www.clasohm.com/blog/20080922/imap-passwords&quot;&gt;imap-passwords&lt;/a&gt;
    and run it to add the IMAP usernames and passwords to your
    keyring. It will prompt you for server, username and password -
    use the same host names as in .offlineimaprc.&lt;/p&gt;

    &lt;p&gt;Now you can run offlineimap in a loop to automatically restart
    it in the case of some unrecoverable error, like so:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
#!/bin/bash

while true; do
  /usr/bin/offlineimap
  echo Restarting in 60 seconds ...
  sleep 60
done
&lt;/pre&gt;

    &lt;p&gt;During the first run, gnome-keyring will ask you to authorize
    offlineimap to access your IMAP authentication data in the default
    keyring.&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href=&quot;http://www.rittau.org/&quot;&gt;Sebastian Rittau&lt;/a&gt; for the Keyring Python module.&lt;/p&gt;
</description>
<pubDate>Mon, 22 Sep 2008 20:17:22 GMT</pubDate>
</item>
<item>
<title>Why External Forwarding with Sendmail's virtusertable is A Bad Idea</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=80461</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=80461</guid>
<description>    &lt;p&gt;If you run a mail server with sendmail, and a user wants to
    forward his mail to another server, one way is
    /etc/mail/virtusertable:&lt;/p&gt;

    &lt;pre class=&quot;code&quot;&gt;
joe@example.com         joe@gmail.com
&lt;/pre&gt;

    &lt;p&gt;As you probably know, the sender address of most spam mails 
    belongs to someone - not the spammer of
    course. If you refuse to accept a spam email, you must never send
    back an error email to the alleged sender address. Otherwise, you
    have become a source of unsolicited email yourself.&lt;/p&gt;

    &lt;p&gt;When in our example, gmail.com does not accept an email, your
    server will send an error mail to the alleged sender address.&lt;/p&gt;

    &lt;p&gt;If you watch your postmaster mailbox, you will notice this
    every time the alleged sender address is invalid. You might be
    tempted to suppress these postmaster notifications with&lt;/p&gt;

    &lt;pre class=&quot;code&quot;&gt;
define(`confDOUBLE_BOUNCE_ADDRESS', `')dnl
&lt;/pre&gt;

    &lt;p&gt;But this only supresses the double bounces. If the
    sender address &lt;em&gt;is&lt;/em&gt; valid, someone will get an error email
    about spam he didn't send.&lt;/p&gt;

    &lt;p&gt;The solution is to not use virtusertable for external
    forwarding, but instead do it in /home/joe/.procmailrc:&lt;/p&gt;

    &lt;pre class=&quot;code&quot;&gt;
:0
* ^From: Mail Delivery Subsystem &amp;lt;MAILER-DAEMON@example.com&amp;gt;
* ^To: &amp;lt;joe@example.com&amp;gt;
bounced-mails

:0
! joe@gmail.com 
&lt;/pre&gt;

    &lt;p&gt;In this case, the sender address is set to joe@example.com
    before the mail is forwarded to gmail.com, and any error messages
    go back to joe.&lt;/p&gt;
</description>
<pubDate>Fri, 04 Jul 2008 19:28:38 GMT</pubDate>
</item>
<item>
<title>Dell Latitude D800 Suspend to RAM with Fedora 7</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=56860</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=56860</guid>
<description>    &lt;p&gt;Fedora 7 on a Dell D800 requires a little work to get
    suspend/resume working. The default configuration causes it to
    freeze during the resume, with the shift and scroll lock LEDs
    blinking.&lt;/p&gt;

    &lt;p&gt;The following has been tested with kernel-2.6.22.9-91.fc7 and
    NVIDIA-Linux-x86-100.14.19 on a Dell Latitude D800 with GeForce
    FX Go5200 graphics.&lt;/p&gt;

    &lt;ol&gt;
      &lt;li&gt;

	&lt;p&gt;If you use the binary-only &lt;a
	href=&quot;http://www.nvidia.com/object/unix.html&quot;
	title=&quot;NVIDIA Unix Drivers&quot;&gt;nvidia&lt;/a&gt; driver, append
	&quot;agp=off&quot; to the kernel line in /etc/grub.conf. This disables
	the built-in AGP driver and allows nvidia to load its own.&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
kernel /vmlinuz-2.6.22.9-91.fc7 ro root=/dev/vg1/root quiet &lt;b&gt;agp=off&lt;/b&gt;
&lt;/pre&gt;
      &lt;/li&gt;

      &lt;li&gt;

	&lt;p&gt;Edit /etc/X11/xorg.conf and set the NvAGP option:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
Section &quot;Device&quot;
    ...
    Driver         &quot;nvidia&quot;
    &lt;b&gt;Option         &quot;NvAGP&quot; &quot;1&quot;&lt;/b&gt;
EndSection
&lt;/pre&gt;

      &lt;/li&gt;

      &lt;li&gt;

	&lt;p&gt;Reboot, log in and check if the nvidia AGP driver is
	used:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
# cat /proc/driver/nvidia/agp/status
Status:          Enabled
Driver:          NVIDIA
&lt;/pre&gt;

      &lt;/li&gt;

      &lt;li&gt;

	&lt;p&gt;Create /etc/pm/config.d/unload_modules with the following
	content:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
SUSPEND_MODULES=&quot;uhci_hcd&quot;
&lt;/pre&gt;

        &lt;p&gt;Create /etc/pm/config.d/nvidia with the following content:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
DISPLAY_QUIRK_VBE_POST=false
&lt;/pre&gt;

	&lt;p&gt;Make the files executable with&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
chmod +x /etc/pm/config.d/unload_modules /etc/pm/config.d/nvidia
&lt;/pre&gt;

      &lt;/li&gt;

    &lt;/ol&gt;

    &lt;p&gt;Suspend and resume should work now.&lt;/p&gt;
</description>
<pubDate>Fri, 15 Jun 2007 12:27:08 GMT</pubDate>
</item>
<item>
<title>Vodafone UMTS with Fedora 7</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=56856</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=56856</guid>
<description>&lt;p&gt;&lt;a href=&quot;http://www.clasohm.com/photodb/photo?photo_id=56857&quot; title=&quot;Vodafone UMTS&quot;&gt;&lt;img src=&quot;http://www.clasohm.com/photodb/img/56857-sm.jpg&quot; width=&quot;220&quot; height=&quot;149&quot; alt=&quot;Vodafone UMTS&quot; vspace=&quot;5&quot; hspace=&quot;5&quot; border=&quot;1&quot; align=&quot;left&quot;&gt;&lt;/a&gt;

After upgrading to Fedora 7, my Vodafone 3G Datacard (the old
UMTS PCMCIA adapter) stopped working. Here's what I had to do to
make it work again.&lt;/p&gt;

&lt;br clear=&quot;left&quot;&gt;

    &lt;p&gt;Create /etc/udev/rules.d/48-UMTS.rules with the following
    content:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
BUS==&quot;usb&quot;, KERNEL==&quot;ttyUSB0&quot;, SYSFS{interface}==&quot;Data Interface&quot;, SYMLINK+=&quot;umts&quot;, \
  RUN+=&quot;/usr/bin/wvdial --config /etc/wvdial-pin.conf&quot;
BUS==&quot;usb&quot;, KERNEL==&quot;ttyUSB2&quot;, SYSFS{interface}==&quot;Data Interface&quot;, SYMLINK+=&quot;gsm&quot;
&lt;/pre&gt;

    &lt;p&gt;The wvdial configuration for setting the PIN is stored in
    /etc/wvdial-pin.conf. Replace &quot;1234&quot; with your own PIN.&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
Modem = /dev/umts
Baud = 460800
SetVolume = 0
Dial Command = ATDT
FlowControl = NOFLOW
Init1 = ATZ
Init2 = AT+CPIN=&quot;1234&quot;
&lt;/pre&gt;

    &lt;p&gt;/etc/wvdial.conf contains the settings for establishing an UMTS
    connection:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
[ModemUMTS]
Modem = /dev/umts
Baud = 460800
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
Init2 = ATM0
Init3 = ATM0
FlowControl = NOFLOW
[Dialer umts]
Username = VFD2
Password = WAP
Phone = *99***1#
Stupid Mode = 1
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &amp;C1 &amp;D2 +FCLASS=0
Init3 = AT+CGDCONT=1,&quot;IP&quot;,&quot;web.vodafone.de&quot;
Inherits = ModemUMTS
&lt;/pre&gt;

    &lt;p&gt;Next, we need to configure a network interface. Put this into
    /etc/sysconfig/network-scripts/ifcfg-umts:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
IPV6INIT=no
ONBOOT=no
USERCTL=yes
PEERDNS=yes
TYPE=Modem
DEVICE=ppp0
BOOTPROTO=dialup
LINESPEED=460800
MODEMPORT=/dev/umts
IDLETIMEOUT=300
PROVIDER=umts
DEFROUTE=yes
PERSIST=no
WVDIALSECT=umts
MODEMNAME=ModemUMTS
DEMAND=no
PAPNAME=VFD2
AC=off
BSDCOMP=off
VJCCOMP=off
CCP=off
PC=off
VJ=off
&lt;/pre&gt;

    &lt;p&gt;This configuration has to be made available at two other locations:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
ln /etc/sysconfig/network-scripts/ifcfg-umts \
  /etc/sysconfig/networking/devices/ifcfg-umts
ln /etc/sysconfig/network-scripts/ifcfg-umts \
  /etc/sysconfig/networking/profiles/default/ifcfg-umts
&lt;/pre&gt;

    &lt;p&gt;Now, tell PPP about the connection in /etc/ppp/peers/umts:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
connect &quot;/usr/bin/wvdial --remotename umts --chat 'umts'&quot;
&lt;/pre&gt;

    &lt;p&gt;In /etc/ppp/peers/chap-secrets and pap-secrets, append this
    line at the end:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
&quot;VFD2&quot;  *       &quot;WAP&quot;
&lt;/pre&gt;

    &lt;p&gt;SELinux prevents udev from running wvdial, and initialization
    of the PIN fails. To get around this, create
    /tmp/udevwvdial.te:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
module udevwvdial 1.0;

require {
        type var_lock_t;
        type udev_t;
        class dir { write remove_name add_name };
        class file { write read create unlink };
}

allow udev_t var_lock_t:dir { write remove_name add_name };
allow udev_t var_lock_t:file { write read create unlink };
&lt;/pre&gt;

    &lt;p&gt;Compile and load the SELinux module.&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
checkmodule -M -m -o udevwvdial.mod udevwvdial.te
semodule_package -o udevwvdial.pp -m udevwvdial.mod
semodule -i udevwvdial.pp
&lt;/pre&gt;

    &lt;p&gt;The semodule command stores the module in /etc/selinux, so it
    will stay active when you reboot.&lt;/p&gt;

    &lt;p&gt;You should now be able to establish a connection with &lt;tt&gt;ifup
    umts&lt;/tt&gt; and terminate it with &lt;tt&gt;ifdown umts&lt;/tt&gt;. When the
    card switches between UMTS and GPS, the connection attempt may
    time out, so retry before checking the configuration files.&lt;/p&gt;
</description>
<pubDate>Thu, 14 Jun 2007 16:23:03 GMT</pubDate>
</item>
<item>
<title>Encrypted /tmp and swap with Fedora 7</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=56848</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=56848</guid>
<description>&lt;p&gt;If you carry around business information on your laptop, it's a good idea to encrypt /tmp and the swap volume, and not only your home directory. You could already do this with a little scripting on Fedora Core 6. With Fedora 7, it got a little easier. First, create /etc/crypttab with the following content:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
swap    /dev/vg1/swap   /dev/urandom    swap,cipher=aes-cbc-essiv:sha256
tmp     /dev/vg1/tmp    /dev/urandom    tmp,cipher=aes-cbc-essiv:sha256
&lt;/pre&gt;

&lt;p&gt;In /etc/fstab you only list the swap volume:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
/dev/mapper/swap        none            swap    defaults        0 0
&lt;/pre&gt;

&lt;p&gt;Because the encrypted volumes are created after /etc/fstab is processed, the following script has to take care of mounting /tmp:&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
#!/bin/bash
#
# cryptotmp setup crypted tmp partition
#
# chkconfig: 2345 01 90
# description: adds crypted tmp partition.

. /etc/init.d/functions

# See how we were called.
case &quot;$1&quot; in
    start)
        mount /dev/mapper/tmp /tmp
        restorecon /tmp

        action &quot;Adding encrypted tmp&quot;

        touch /var/lock/subsys/cryptotmp
        ;;
    stop)
        rm -f /var/lock/subsys/cryptotmp
        ;;
    *)
        echo $&quot;Usage: $0 {start|stop}&quot;
        exit 1
esac

exit 0
&lt;/pre&gt;

&lt;p&gt;Save it as /etc/init.d/cryptotmp and run&lt;/p&gt;

&lt;pre class=&quot;code&quot;&gt;
chmod +x /etc/init.d/cryptotmp
chkconfig --add cryptotmp
&lt;/pre&gt;

&lt;p&gt;When the system boots, it overwrites the contents of /dev/vg1/swap and /dev/vg1/tmp, using a random key for encryption. Once the system shuts down, the content will no longer be accessible, as the encryption key is not stored anywhere.&lt;/p&gt;

&lt;p&gt;Warning: The above configuration erases /dev/vg1/swap and /dev/vg1/tmp when the system boots. Files stored in /tmp are lost when the system is shut down. Also, suspend to disk does not work with an encrypted swap volume.&lt;p&gt;
</description>
<pubDate>Tue, 12 Jun 2007 12:30:24 GMT</pubDate>
</item>
<item>
<title>Presenting: Dell D800 TwinView</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=56683</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=56683</guid>
<description>    &lt;p&gt;Some time ago I described &lt;a
    href=&quot;http://www.clasohm.com/o/11868&quot;
    title=&quot;Presenting: IBM ThinkPad Dual Head&quot;&gt;how to put
    presentations on a projector&lt;/a&gt; with a Linux notebook with two X
    displays. In the meantime, I have switched to a Dell D800 with
    NVIDIA TwinView. I still do presentations where I want the image
    from the projector in a window on the LCD, without showing my
    whole desktop. Here's how to do it.&lt;/p&gt;

    &lt;p&gt;After setting the TwinView parameters in &lt;a
    href=&quot;http://www.clasohm.com/blog/20070505/xorg.conf&quot;
    title=&quot;xorg.conf with TwinView Configuration&quot;&gt;xorg.conf&lt;/a&gt;,
    configure VNC's &lt;a
    href=&quot;http://www.clasohm.com/blog/20070505/xorg.conf&quot;
    title=&quot;VNC xstartup&quot;&gt;~/.vnc/xstartup&lt;/a&gt; to start the Metacity
    window manager and a gnome-terminal.&lt;/p&gt;

    &lt;p&gt;All you need then is the &lt;a
    href=&quot;http://www.clasohm.com/blog/20070505/present&quot;
    title=&quot;present Script&quot;&gt;present&lt;/a&gt;
    script to start the VNC server and clients. Drag the view-only VNC
    window to the right, adjust its position so the title bar is not
    visible (Alt + left mouse button), and you can start your
    presentation in the second VNC window. To use Firefox, you either
    need to quit it on your primary display, or start it as a
    different user.&lt;/p&gt;

    &lt;p&gt;When you are done, stop the VNC server with the &lt;a
    href=&quot;http://www.clasohm.com/blog/20070505/present-kill&quot;
    title=&quot;present-kill Script&quot;&gt;present-kill&lt;/a&gt; script.&lt;/p&gt;
</description>
<pubDate>Sat, 05 May 2007 20:20:45 GMT</pubDate>
</item>
<item>
<title>New Content: Nepal and Dachstein</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=56460</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=56460</guid>
<description>&lt;style&gt;
  #picture {
      clear: left;
      float: left;
      width: 230px;
      text-align: right;
  }

  #text {
      float: left;
      width: 60%;
      margin-top: -0.5em;
  }
&lt;/style&gt;

&lt;div&gt;
  &lt;div id=&quot;picture&quot;&gt;
&lt;a href=&quot;http://www.clasohm.com/o/56405&quot; title=&quot;Enlarge this photo.&quot;&gt;&lt;img src=&quot;http://www.clasohm.com/photodb/img/56405-sm.jpg&quot; width=&quot;144&quot; height=&quot;219&quot; hspace=&quot;5&quot; border=&quot;1&quot;&gt;&lt;/a&gt;
  &lt;/div&gt;

  &lt;div id=&quot;text&quot;&gt;
    &lt;p&gt;A week ago, I returned from a trekking trip in the Solukhumbu
      region of Nepal. The pictures can be found in the following
      photo sets:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56327&quot; title=&quot;Photo Set&quot;&gt;Svayambhunath&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56333&quot; title=&quot;Photo Set&quot;&gt;Durbar Square&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56342&quot; title=&quot;Photo Set&quot;&gt;Dakshinkali&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56343&quot; title=&quot;Photo Set&quot;&gt;Kathmandu - Monjo&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56361&quot; title=&quot;Photo Set&quot;&gt;Monjo - Teshinga&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56366&quot; title=&quot;Photo Set&quot;&gt;Teshinga - Mende&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56401&quot; title=&quot;Photo Set&quot;&gt;Thame&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56418&quot; title=&quot;Photo Set&quot;&gt;Mende - Monjo&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56419&quot; title=&quot;Photo Set&quot;&gt;Monjo - Lukla&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56434&quot; title=&quot;Photo Set&quot;&gt;Pashupatinath&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56445&quot; title=&quot;Photo Set&quot;&gt;Bodhnath&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.clasohm.com/o/56457&quot; title=&quot;Photo Set&quot;&gt;Patan&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;div id=&quot;picture&quot;&gt;
    &lt;a href=&quot;http://www.clasohm.com/o/11690&quot; title=&quot;Enlarge this photo.&quot;&gt;&lt;img src=&quot;http://www.clasohm.com/photodb/img/11690-sm.jpg&quot; width=&quot;219&quot; height=&quot;143&quot; align=&quot;left&quot; hspace=&quot;5&quot; vspace=&quot;5&quot; border=&quot;1&quot;&gt;&lt;/a&gt;
  &lt;/div&gt;

  &lt;div id=&quot;text&quot;&gt;
    &lt;p&gt;And with a little delay, I finished a page about the hikes I
      did in Austria's Dachstein region in
      2004: &lt;a href=&quot;http://www.clasohm.com/hiking/dachstein.html&quot;
	       title=&quot;Dachstein&quot;&gt;Dachstein&lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;br clear=&quot;left&quot;/&gt;</description>
<pubDate>Fri, 16 Mar 2007 18:29:15 GMT</pubDate>
</item>
<item>
<title>UMTS Image Compression</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=42078</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=42078</guid>
<description>    &lt;p&gt;If you use Vodafone's UMTS service in Germany, you have
    probably noticed that JPEG images are compressed in low-quality
    mode. This is done by a transparent HTTP proxy, and there is no
    obvious way around it. Apart from very poor image quality, you
    might see messages about IP address 1.2.3.4 in your browser's
    status bar, and pop-ups advising you to press Ctrl+F5 to improve
    image quality.&lt;/p&gt;

    &lt;div style=&quot;text-align: center;&quot;&gt;&lt;img
    src=&quot;http://www.clasohm.com/blog/20070105/Temptation.png&quot;
    width=&quot;270&quot; height=&quot;152&quot;&gt;&lt;br&gt;
    2x magnified original and re-compressed JPEG image
    &lt;/div&gt;

    &lt;p&gt;The software that does this is provided by Bytemobile, and is
    used by &lt;a href=&quot;http://www.bytemobile.com/company/customers.html&quot;
    title=&quot;Bytemobile Customer List&quot;&gt;other phone companies&lt;/a&gt;.&lt;/p&gt;

    &lt;p&gt;For MS Windows, the &lt;a
    href=&quot;http://www.vodafone.de/hilfe-support/technischer-support/97019.html&quot;
    title=&quot;Download Page&quot;&gt;Vodafone HighPerformance Client&lt;/a&gt;
    apparently allows you to change the compression settings, but if
    you use Linux, you are on your own.&lt;/p&gt;

    &lt;p&gt;Fortunately, it is pretty easy to convince the Bytemobile proxy
    to stop messing around with your images. All that is needed is
    contained in a small &lt;a
    href=&quot;http://www.clasohm.com/blog/20070105/bmctl.pl&quot; title=&quot;bmctl.pl&quot;&gt;Perl
    script&lt;/a&gt;, which sends a magic byte sequence to the proxy. As
    long as the script is running, compression is turned off.&lt;/p&gt;

    &lt;p&gt;The magic bytes should be the same as the ones sent by the
    HighPerformance Client, but use the script at your own risk.&lt;/p&gt;
</description>
<pubDate>Fri, 05 Jan 2007 16:39:54 GMT</pubDate>
</item>
<item>
<title>Nautilus Identifying OpenOffice Documents as Java Archives</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=40367</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=40367</guid>
<description>    &lt;p&gt;After installing the Java 6 RPM on Fedora Core (jdk-1.6.0-fcs),
    Nautilus prints the following error when you try to open an
    OpenOffice document:&lt;/p&gt;

    &lt;blockquote&gt;
      The filename &quot;Report.sxw&quot; indicates that this file is of type
      &quot;OpenOffice Writer&quot;. The contents of the file indicate that the
      file is of type &quot;Java Archive&quot;. If you open this file, the file
      might present a security risk to your system.
    &lt;/blockquote&gt;

    &lt;p&gt;This is because the file &lt;span
    class=&quot;filename&quot;&gt;/usr/share/mime/packages/x-java-archive.xml&lt;/span&gt;
    that is created by the Java RPM is broken. To fix it, add a &quot;&amp;lt;&quot;
    in front of the second &quot;match&quot; tag:&lt;/p&gt;

    &lt;pre class=&quot;code&quot;&gt;--- x-java-archive.xml.orig     2006-12-24 14:47:05.000000000 +0100
+++ x-java-archive.xml  2006-12-25 11:57:03.000000000 +0100
@@ -32,7 +32,7 @@
     &amp;lt;glob pattern=&quot;*.jar&quot;/&amp;gt;
     &amp;lt;magic priority=&quot;85&quot;&amp;gt;
       &amp;lt;match type=&quot;string&quot; value=&quot;PK\003\004&quot; offset=&quot;0&quot;&amp;gt;
-       match type=&quot;host16&quot; value=&quot;0xcafe&quot; offset=&quot;40&quot; /&amp;gt;
+       &amp;lt;match type=&quot;host16&quot; value=&quot;0xcafe&quot; offset=&quot;40&quot; /&amp;gt;
       &amp;lt;/match&amp;gt;
     &amp;lt;/magic&amp;gt;
   &amp;lt;/mime-type&amp;gt;
&lt;/pre&gt;

    &lt;p&gt;Then run the following command:&lt;/p&gt;

    &lt;pre class=&quot;code&quot;&gt;update-mime-database /usr/share/mime&lt;/pre&gt;

    &lt;p&gt;Log out and log in again to restart Nautilus.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update 12 Jan 2007:&lt;/b&gt; This has been filed as &lt;a href=&quot;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6510610&quot; title=&quot;&quot;&gt;ticket 6510610&lt;/a&gt; in Sun's Bug Database.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update 7 Jul 2007:&lt;/b&gt; The bug has been fixed in &lt;a href=&quot;http://java.sun.com/javase/downloads/index.jsp&quot; title=&quot;Java SE Downloads&quot;&gt;Java 6 Update 2&lt;/a&gt;.&lt;/p&gt;
</description>
<pubDate>Mon, 25 Dec 2006 11:25:59 GMT</pubDate>
</item>
<item>
<title>Linux and the iriver T10</title>
<link>http://www.clasohm.com/blog/one-entry?entry%5fid=37652</link>
<guid isPermaLink="true">http://www.clasohm.com/blog/one-entry?entry%5fid=37652</guid>
<description>    &lt;p&gt;A while back I bought an
    &lt;a href=&quot;http://www.iriver.eu.com/flash_player.html?p_id=352&amp;L=&amp;view=features&amp;color=1&quot; title=&quot;Product Information&quot;&gt;iriver

    T10&lt;/a&gt; music player. For the next months, I had to use &lt;a
    href=&quot;http://www.misticriver.net/archive/index.php/t-32822.html&quot;

    title=&quot;Forum Thread on gPhoto+T10&quot;&gt;gPhoto&lt;/a&gt; to upload audio
    files from Linux to the T10. Only because someone decided to use
      Microsoft's Media Transfer Protocol (&lt;a href=&quot;http://en.wikipedia.org/wiki/Media_Transfer_Protocol&quot; title=&quot;Wikipedia&quot;&gt;MTP&lt;/a&gt;),

    instead of the good old USB Mass Storage protocol (&lt;a href=&quot;http://en.wikipedia.org/wiki/USB_mass_storage_device_class&quot; title=&quot;Wikipedia&quot;&gt;UMS&lt;/a&gt;).&lt;/p&gt;

    &lt;p&gt;My gPhoto setup broke when I upgraded to Fedora Core 6, so I
    searched around, and found that iriver had released new firmware
    to replace MTP with UMS. The &lt;a href=&quot;http://www.iriver.com/support/faq_view.asp?searchProductIdx=66&amp;searchString=&amp;page=1&amp;idx=387&quot; title=&quot;Download and Instructions&quot;&gt;firmware

    updater&lt;/a&gt; requires Windows to run, but after using it, I finally
    can access the T10 like any other USB storage device under Linux.&lt;/p&gt;
</description>
<pubDate>Tue, 12 Dec 2006 16:44:21 GMT</pubDate>
</item>
</channel>
</rss>

