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