贴纸相

星期二下午得闲, 只猫话想去影贴纸相, 甘我更系立即应承啦.
林翻起第一次同佢影贴纸相... 果时真系失败啊...
点知今次都5好得去边. 我个面实在5系影相的料, 乜表情都好似好猥琐甘, 唯有乜表情都5做啦.
只猫就更系点影都甘可爱啦~... ^_^~..

后来又去佐革新路买嘢... 因为赶时间搞到生死时速甘啊.
高考前可能很少有机会同佢一起行街街啦~.. missing you!!

换掉 LJ 的 Tom 邮箱

Mailing Lists 狂退信, 以为是墙拦住了.
后来发现原来是 Tom 邮箱限制邮件数为 1000, 一脚TF.
换成 sina 啦..

猫猫18岁啦!

昨天猫猫18岁生日啦!!!好开心啊。佢地屋屋仲要成家人来齐晒(巧合)。。算5算一起贺佢呢?
我送佐只杯比佢,好似好5等使甘tim。
原先我想稳只猫形的杯咖,好似韵怡只鸡杯甘的。。点知稳5到,真系可惜啦。

希望只猫可以考上理想大学啦!!! 猫猫加油,我爱你~

用 PERL 重写了 screen-wrapper

RT, 发现多个 session 时可以自己选择

#!/usr/bin/perl -w
#
# A wrapper for screen.
#

use strict ;

if (system("which screen > /dev/null") == 0) {
    # screen is found
    my $screen_command = `which screen` ;
    chomp $screen_command ;

    if ($#ARGV != -1) {
        exec "$screen_command" , @ARGV ;
    } else {
        my @sock_list = `$screen_command -ls` ;
        @sock_list = grep { s/^\s*// ; m/tached/ } @sock_list ;
        if ($#sock_list == -1) {
            exec "$screen_command"
        } elsif ($#sock_list == 0) {
            exec "$screen_command -x"
        } else {
            print "There are ",$#sock_list+1," screens. Please choose one to attache.\n\n";
            for(my $i=0; $i <= $#sock_list; $i++) {
                print " ",$i+1,"\t",$sock_list[$i];
            }
            print "\nPress ENTER to choose the first one for default.\n" ;
            print "Your choice: ";
            while (my $choice = <STDIN>) {
                chomp $choice;
                if ($choice eq '') {$choice = 1};
                if (($choice =~ m/\d+/) && ($choice >=1 ) && ($choice <= $#sock_list+1)) {
                    $sock_list[$choice-1] =~ m/^(\S+).*$/ ;
                    exec $screen_command." -x $1";
                } else {
                    print "Please choose from [1-",$#sock_list+1,"] : ";
                }
            }
        }
    }
}
else {
    print STDERR "Error: screen not found. Have you installed screen?\n" ;
    exit -1;
}

两个小东西: screen 包装脚本 和 GUI 程序启动器

screen 包装脚本, 根据具体情况决定 screen 的启动方式.
Multi display mode 很好玩的说.

#!/bin/sh
# A wrapper for screen,

RUN_DIR='/var/run/screen/S-bigsnake-net'
SCREEN_COMMAND=`which screen`

if ! which screen >/dev/null ; then echo "screen not found" ; exit 1; fi

if [ $# -gt 0 ] ; then
    exec $SCREEN_COMMAND "$@"
else
    if [ -d $RUN_DIR ] ; then
        case `ls $RUN_DIR|wc -l` in
            0)
            exec $SCREEN_COMMAND
            ;;
            1)
            exec $SCREEN_COMMAND -x
            ;;
            *)
            exec $SCREEN_COMMAND -R
            ;;
        esac
    else
        exec $SCREEN_COMMAND
    fi
fi

在 X 终端启动 GUI 程序的小脚本, 其实压住输出和使之后台运行

#!/bin/sh

if  [ $# -gt 0 ] && which $1 > /dev/null ; then
    exec $@ 1>/dev/null 2>/dev/null &
else
    echo -e "gui - A GUI program wrapper.\nUsage: gui COMMAND [OPTION]..."
fi