Hello,

My name is Cory Oldford. I am the present vice president of the Prairie Linux 
User Group(plug.ca) based in Winnipeg, Manitoba. I am considering moving to the 
Calgary area in the fall if I can line up some employment. I've already lined 
up a place to stay and thought I would also line up some contacts in the local 
Linux scene. 

This year has been a great year for our small LUG. I spearheaded the conversion 
of a local elementary school lab over to GNU/Linux using a Gentoo based LTSP 
server with openMosix patched client and server kernels. The server is only an 
AMD Athlon 1600 with 1.2GB PC2700 and a 40 GB harddrive but handles 30 clients 
great. We used IceWM and a hacked ROX-Filer for the desktop environment. 
Firefox, OpenOffice and the Gimp make up the core apps and are currently 
precached in RAM with related libraries for utmost responsiveness(necessary due 
to the slow 40GB 5400rpm drive). There are some games including TuxMath, 
TuxType and a handful of other educational freebies. My favorite client on the 
network is a P75 w/16MB RAM as it truly shows why this approach is one to 
consider. It was an honour to have this project covered by the Gentoo Weekly 
Newsletter and I hope other educational facilities will follow the lead of this 
small private school.

In August our organization is also hosting a festival call OpenCity. We brought 
the ideals/thoughts started with the opensource software movement to the 
attention of the Winnipeg arts community in an effort to build a more 
collaberative approach to the arts and culture in general. We have already 
recieved over $12000 in funding from various doners and hope to make the second 
annual festival that much more successful than the first.

In the spirit of opensource software I thought I would also include a small 
script I have been using to summarize the output of lastcomm(GNU process 
accounting). 

Here is the script in action:

ltsp root # lastcomm hc17 | gawk -f summarize.awk
Process:          Count:    CPU:   Last:
 Xsession               5     0.01   Wed Jun  1 08:48
 cut                    2     0.00   Wed Jun  1 08:48
 fusermount             3     0.00   Wed Jun  1 08:48
 icewm                  1     0.39   Wed Jun  1 08:48
 icewm-session          1     0.03   Wed Jun  1 08:48
 icewmbg                1     0.01   Wed Jun  1 08:48
 icewmtray              1     0.02   Wed Jun  1 08:48
 killlocaldev           3     0.00   Wed Jun  1 08:48
 localdev               3     0.00   Wed Jun  1 08:48
 pacman                19    12.40   Wed Jun  1 08:53
 ssh                    1     0.03   Wed Jun  1 08:48
 ssh-agent              1     0.00   Wed Jun  1 08:48
 sshfs                  2     0.00   Wed Jun  1 08:48
 which                  3     0.00   Wed Jun  1 08:48
 whoami                 1     0.00   Wed Jun  1 08:48
 xscreensaver           1     0.16   Wed Jun  1 08:48
 xscreensaver-gl        1     0.04   Wed Jun  1 08:48
                 -------- --------
                       49    13.09

Here is the script:

#!/bin/gawk
BEGIN {
        SUBSEP = ",";
}

function check_known(target, field, array) {
        for(x in array) {
                split(array[x], subarray, SUBSEP);
                if (subarray[field] == target)
                        return x;
        }
        return 0;
}

function create_date(dotw, month, day, time) {
        return sprintf("%3s %3s %2s %5s",dotw, month, day, time);
}

{
        element = check_known($1,1,uniq_procs);
        if(element == 0)
                uniq_procs[++total_uniq_procs] = 
sprintf("%s,%d,%0.2f,%s",$1,1,$4,create_date($6,$7,$8,$9));
        else {
                split(uniq_procs[element], cur_values, SUBSEP);
                uniq_procs[element] = 
sprintf("%s,%d,%0.2f,%s",$1,++cur_values[2],cur_values[3]+$4,create_date($6,$7,$8,$9));
        }
}

END {
        asort(uniq_procs);
        print "Process:          Count:    CPU:   Last:";
        for(x = 1; x <= total_uniq_procs; x++) {
                split(uniq_procs[x], subarray, SUBSEP)
                printf(" %-15s %8d %8.2f 
%18s\n",subarray[1],subarray[2],subarray[3],subarray[4]);
                total_cpu_time+=subarray[3];
        }
        print "                 -------- --------";
        printf(" %24d %8.2f\n",NR,total_cpu_time);
}

I know the script isn't much to look at but I thought perhaps someone would 
find a use for it and perhaps contribute something to it. Anyhoo before I type 
my fingers off and bore your members I should say a goodbye. With any luck I'll 
be living in your area soon. 

Thanks,
Cory Oldford




_______________________________________________
clug-talk mailing list
[email protected]
http://clug.ca/mailman/listinfo/clug-talk_clug.ca
Mailing List Guidelines (http://clug.ca/ml_guidelines.php)
**Please remove these lines when replying

Reply via email to