1-3

Κάποια ομάδα ξέχασε να κατέβει στο γήπεδο.

Λέω να πάρω άδεια αύριο…

Programming Languages: An Interpreter-Based Approach

Sam Kamin authored Programming Languages: An Interpreter-Based Approach in 1990. This excellent book, which shows how to implement Lisp, APL, Scheme, SASL, CLU, Smalltalk, and Prolog in Pascal, is out of print and you can only buy it from places like AbeBooks.com. But good news seem to be on the way, as Sam Kamin writes:

I occasionally am asked whether I intend to update this book. In fact, Norman Ramsey has expanded the book into a new edition, which should be published fairly soon. In the meantime, he has provided the pdf to some people

I can’t wait!

Re: EIMAI ENA SUBJECT

Αυτός είναι ο ευρηματικός τίτλος / Subject που έβαλε σε ένα email ένας συνάδελφος, απαντώντας σε email άλλου συναδέλφου που δεν είχε βάλει Subject στο email του.

Bottom line: Βάλτε Subject (Θέμα) στα email που αποστέλλετε.

Διαφορετικά το να περιμένετε να διαβαστούν (την ώρα που θέλετε και όχι κάποτε στο χρόνο) είναι κάτι που εγγυημένα δεν θα συμβεί.

2-1

Κάθε φορά που παίζει Ολυμπιακός – Άρης το μυαλό μου πάει πίσω στο χρόνο, τότε που ο αγώνας έληξε 0-1 και ο Κατεργιαννάκης έκανε το καλύτερο παιχνίδι της καριέρας του. Αει στο καλό! Άμα είναι έτσι να σφυρίζω κι εγώ. Δύο σωστά θα τα δώσω κι εγώ και θα εκτεθώ λιγότερο.

Qm – The Quick Mailer

Ever wanted a /bin/mail equivalent for Windows just to send a quick email? Enter Qm. Qm is extremely small (~20KB) and fast, integrates easily with your web browser and Windows Explorer and best of all, it requires no installation! Therefore it can be combined with any portable applications that you choose to carry around on a USB stick.

Update 2010/04/15: Unfortunately, according to the web site Qm is no longer being maintained.

[http://pyric.org/qm/]

traceroute

Το traceroute είναι το διαδικτυακό ισοδύναμο του “πώς μπορώ να φτάσω από το σημείο Α στο σημείο Β”.

Γιατί πρέπει οι αρθρογράφοι να κάνουν μισή δουλειά; Το traceroute είναι ένα εργαλείο το οποίο απαντά στο διαδικτυακό ισοδύναμο του “πως μπορώ να φτάσω από εδώ που είμαι στο σημείο Β;”. Και μην ακούσω για source routing, έτσι;

Υ.Γ.: Δέκα χρόνια πριν: traceroute vs tracert.

Update: So you think you know traceroute?

Using Net::IMAP::Simple to move mailboxes around

In the past I have described using Net::POP3 (combined with tmail from UW-IMAP and a Perl script) to move inboxes from an old (and proprietary) mail server to a new one. However, if your users keep folders like Sent, Drafts and Trash on the mail server, you have to move these also. And this is where Net::IMAP::Simple enters the picture:

#!/usr/bin/perl

use Net::IMAP::Simple;
use Sys::Syslog;

$host = shift or die;
$user = shift or die;
$pass = shift or die;

openlog("imapcat-tmail", 'pid', 'mail') or die;
syslog('info', 'fetching mail for user %s', $user);
closelog();

# When debugging experiment only on myself
## if ($user ne "yiorgos") { exit 0; }

# Folders that we migrate.  CAUTION:  The Trash folder has to be the last in
# line!  That is because $imap->quit expunges the last open folder.  We want 
# this to be Trash and no other.

# For the time being, INBOX is being carried over by pop3cat-tmail.
## push @folder_list, "INBOX";
push @folder_list, "Sent";
push @folder_list, "Drafts";
push @folder_list, "Trash";

$imap = new Net::IMAP::Simple($host) or die;
$imap->login($user, $pass) or die;

while ($folder = shift(@folder_list)) {
        $nm = $imap->select($folder);
        next unless $nm;
        for ($i = 1; $i < = $nm; $i++) {
                $msg = $imap->get($i);
                open T, "| /storage/bin/tmail2 -I $folder $user";
                print T for @{$msg};
                close T;
                $imap->delete($i);
        }
        $imap->expunge_mailbox($folder);
}

$imap->quit;

## print "Bye.\n";
exit 0;

Some notes:

  1. tmail2 is a local version of tmail with a local quota function implemented in tquota.c. It also allows for the -I switch to be used by ordinary users.
  2. This script should be used with caution. When using it to move mailboxes around, keep in mind that all messages will be marked as new when moved.
  3. I must find time to do the same thing forking a version of mailutil that accepts the user password via a command line switch instead of the terminal.

Weird .GR DNS problem

This is what I see from freeshell.org:

adamo@svalbard:~
Wed Feb 04, 10:52:06 [513] $ host -t soa gr.
gr has SOA record grdns.ics.forth.gr. hmaster-info.ics.forth.gr. 902040905 7200 1800 86400 1800

adamo@svalbard:~
Wed Feb 04, 10:52:13 [514] $ host -t soa gr. grdns.ics.forth.gr
Using domain server:
Name: grdns.ics.forth.gr
Address: 139.91.1.1#53
Aliases:

gr has SOA record grdns.ics.forth.gr. hmaster-info.ics.forth.gr. 902040704 7200 1800 86400 1800

Could this be the reason that we have a client not visible to the rest of the Internet? Maybe, since the secondaries seem to carry a version of the .GR zone with greater serial number than the master server.

Update: As usual, there are simpler answers: Like the customer forgetting to renew the domain name.

Disabling SquirrelMail folders

We are not an IMAP shop, but we use SquirrelMail to provide webmail access to our users. Therefore we need a way to restrict folder access via SquirrelMail. I came up with this trick some day in 2005:

  1. Edit <SquirrelMail installation directory>/functions/page_header.php and comment out the line:
    displayInternalLink ('src/folders.php', _("Folders"));

    This removes “Folders” from the menu, but still, they are directly available.

  2. Assuming bash as the root shell:
    # cd <SquirrelMail installation directory>/src
    # for i in folders*.php
    do
         cp /dev/null $i
    done
    

and you are done.

[original page]