July 2004


(back from a short vacation) Last year in july, a colleague and I posted a patch for XEmacs that adds support for anti-aliased font rendering with Xft to the xemacs-beta mailinglist. Here are some screenshots.

There was some discussion about this patch, since it adds “substantial complexity” to XEmacs. It didn’t work with Mule either. Adding support for Mule and all those strange character sets and encodings seemed to be an insuperable obstacle. However, we received a patch that claims to add support for all character encodings and font selection. This patch really looks promising. We resumed work on Xft for XEmacs yesterday and started merging the patches. I can’t spend much time on hacking XEmacs now, since I’m working on a paper and the deadline is approaching much to fast. However, stay tuned…

Technorati Tags: ,

My OS X at the office has no direct connection to the internet, thus, I can not connect to my news server or IMAP servers outside the firewall. However, using my DSL connection at home it’s possible to talk to these machines directly. The following code for my gnus.el and init.el adds some logic to figure out on which machine Gnus runs and whether it can connect directly or needs to use a forwarded port. I have added this code to my init.el:

(defconst insecure-wsi-clients
  '("midgard" "jimi" "rosencrantz" "robinson"))

(defun ek-all-but-last (l)
  (if (null (cdr l))
      '()
    (cons (car l) (ek-all-but-last (cdr l)))))

(defun run-on-insecure-client ()
  (let* ((last (nth (- (length insecure-wsi-clients) 1)
                    insecure-wsi-clients))
         (begin (ek-all-but-last insecure-wsi-clients))
         (regexp (concat
                  (apply 'concat
                         (mapcar (lambda (x) (concat "^" x "\\|"))
                                 begin))
                  "^" last)))
    (string-match regexp (system-name))))

…and this to my gnus.el:

(defun access-news-gmane-org ()
  (if (run-on-insecure-client)
      '(nntp "news.gmane.org"
        (nntp-address "localhost")
        (nntp-port-number 5001))
    '(nntp "news.gmane.org")))

(defun access-webmail-macnews-de ()
  (if (run-on-insecure-client)
      '(nnimap "webmail.macnews.de"
        (nnimap-address "localhost")
        (nnimap-server-port 5002)
        (nnimap-list-pattern ("INBOX" "Junk" "misc*" "macnews/*" "archive/*"))
        (nnimap-stream ssl))
    '(nnimap "webmail.macnews.de"
      (nnimap-list-pattern ("INBOX" "Junk" "misc*" "macnews/*" "archive/*"))
      (nnimap-stream ssl))))

(setq gnus-secondary-select-methods
      `((nnml "")
        (nnfolder "")
        ,(access-news-gmane-org)
        ,(access-webmail-macnews-de)))

Technorati Tags: , , ,

Strato offers dedicated servers at a price of about 39 € per month.  The nice thing about Strato’s root server is that you can connect with a terminal server that is connected to your server via a serial link.  This is a useful feature if you mess up the server’s network configuration.  However, access to the console also provides an opportunity to install an alternative operating system.  Ex works, Strato’s servers run a SuSE linux.

In co-operation with my colleagues, we managed to turn a Strato SuSE linux toy into a more serious FreeBSD machine — all by remote install.  Here is how it worked:

First get the depenguinator, a software that build a hard diskimage with a minimal FreeBSD installation.  Follow the instructions on the depenguinator-homepage to build an image file.  There is one important change that you have to make to initconf.conf:  Be sure to add a serial console which works at the speed of 57600 baud and uses VT100 (see /etc/ttys).

Write the image file to the harddisk with dd if=disk.img of=/dev/hda.  This will destroy the linux partition!  Reboot the system and enjoy watching FreeBSD boot on the console.  FreeBSD is now running from a memory image.

Use sysinstall to slice and label the hard drive and mount the filesystems created somewhere else than / (we used /hda).  Now, tell sysinstall to use /hda/tmp as a temporary directory (the filesystem mounted as / is too small to hold the all temporary files needed).  Secondly, it’s important to tell sysinstall that /hda is the root of the installation.

Install the distributions you need.  Don’t forget to add a serial console to /hda/etc/ttys. Pray and reboot.

Technorati Tags: , , ,