User Tools

Site Tools


haas:status:status_201002

STATUS updates

TODO

  • calcweek on Feb 1st still reporting as week #1
  • UNIX quests for week #2
  • How to handle UNIX journal keywords?
  • Need to finish writing up HPC0 projects
  • the formular plugin is giving me errors, need to figure this out (email assignment form)
  • Before LAIR classes, have a terminal attached to wildebeast's console
  • use include plugin to include a page containing various prior month status pages
  • can ngircd do any CTCP/DCC stuff?yes it already does
  • install a working dokuwiki MathML pluginlatex plugin
  • can I install writer2latex on wildebeest herd without needing gcj??

URLs

Other Days

February 21st, 2010

dokuwiki latex plugin

So I went and completed the latex plugin install on dokuwiki.

www:/var/www/lib/plugins$ wget http://darcs.erazor-zone.de/php/dokuwiki/latex/latex.tar.gz
www:/var/www/lib/plugins$ tar -zxf latex.tar.gz; rm -f latex.tar.gz
www:/var/www/lib/plugins$ cd latex
www:/var/www/lib/plugins/latex$ mv class.latexrender.php{,.bak}
www:/var/www/lib/plugins/latex$ mkdir tmp
www:/var/www/lib/plugins/latex$ wget http://www.mayer.dial.pipex.com/latexrender.zip
www:/var/www/lib/plugins/latex$ cd tmp
www:/var/www/lib/plugins/latex/tmp$ unzip ../latexrender.zip
www:/var/www/lib/plugins/latex/tmp$ cp otherPHP/latexrender/class.latexrender.php ..
www:/var/www/lib/plugins/latex/tmp$ cd ..
www:/var/www/lib/plugins/latex$ rm -rf tmp

Edit class.latexrender.php, and very that any paths to binaries both are valid (and that the binaries referenced exist). In this case, all was as it should be.

To tweak the rendering sizes, edit class.latexrender.php, and adjust:

  • $_formula_density (I set it to 140 from 120)
  • $_font_size (I kept it at 10 since that seems to match wiki text size)
  • also you see various x, y, and string limit variables

I tested this out, and it looks fantastic!

playing with lyx

With a renewed exposure to LaTeX, I figured I'd take the opportunity to get LyX setup on some machines to play with.

LyX is in the Lenny package database (I would have been surprised if it wasn't)… I installed it as follows:

$ sudo aptitude install lyx chktex dvipost gnuhtml2latex groff noweb rcs tex4ht texlive-latex-extra wv texlive-latex-recommended  texlive-fonts-recommended preview-latex-style dvipng imagemagick psutils latex-xft-fonts xpdf vim-latexsuite

As a result it wants to install the following:

The following NEW packages will be installed:
  aspell{a} aspell-en{a} busybox{a} chktex doc-base{a} dvipdfmx{a} dvipng dvipost 
  eject{a} esound-clients{a} esound-common{a} evince fam{a} gawk{a} 
  gnome-icon-theme{a} gnome-mime-data{a} gnome-mount{a} gnuhtml2latex groff hal{a} 
  hal-info{a} iconx{a} initramfs-tools{a} klibc-utils{a} lacheck{a} latex-beamer{a} 
  latex-xcolor{a} latex-xft-fonts libaiksaurus-1.2-0c2a{a} libaiksaurus-1.2-data{a} 
  libart-2.0-2{a} libaspell15{a} libaudio2{a} libaudiofile0{a} libbonobo2-0{a} 
  libbonobo2-common{a} libbonoboui2-0{a} libbonoboui2-common{a} 
  libboost-filesystem1.34.1{a} libboost-regex1.34.1{a} libboost-signals1.34.1{a} 
  libdbus-glib-1-2{a} libeel2-2.20{a} libeel2-data{a} libenchant1c2a{a} libesd0{a} 
  libfam0{a} libfreezethaw-perl{a} libgail-common{a} libgail18{a} libgnome-menu2{a} 
  libgnome2-0{a} libgnome2-common{a} libgnomecanvas2-0{a} libgnomecanvas2-common{a} 
  libgnomeui-0{a} libgnomeui-common{a} libgnomevfs2-0{a} libgnomevfs2-common{a} 
  libgnomevfs2-extra{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libklibc{a} 
  libkpathsea4{a} liblzo2-2{a} libmalaga7{a} libmldbm-perl{a} libmng1{a} 
  libmysqlclient15off{a} libnautilus-extension1{a} libnotify1{a} libpoppler-glib3{a} 
  libpoppler3{a} libqt4-dbus{a} libqt4-designer{a} libqt4-network{a} 
  libqt4-qt3support{a} libqt4-script{a} libqt4-sql{a} libqt4-sql-mysql{a} 
  libqt4-xml{a} libqtcore4{a} libqtgui4{a} librsvg2-common{a} libsexy2{a} 
  libsmbclient{a} libsmbios-bin{a} libsmbios2{a} libspectre1{a} libsplashy1{a} 
  libtalloc1{a} libuuid-perl{a} libvoikko1{a} libwbclient0{a} libwnck-common{a} 
  libwnck22{a} libwriter2latex-java{a} libwv-1.2-3{a} libx86-1{a} libxres1{a} 
  lmodern{a} lyx lyx-common{a} mysql-common{a} notification-daemon{a} noweb pgf{a} 
  pm-utils{a} powermgmt-base{a} preview-latex-style prosper{a} ps2eps{a} 
  python-support{a} qt4-qtconfig{a} radeontool{a} rcs shared-mime-info{a} 
  tex-common{a} tex4ht tex4ht-common{a} texlive-base{a} texlive-base-bin{a} 
  texlive-base-bin-doc{a} texlive-common{a} texlive-doc-base{a} 
  texlive-extra-utils{a} texlive-fonts-recommended texlive-fonts-recommended-doc{a} 
  texlive-generic-extra{a} texlive-generic-recommended{a} texlive-humanities{a} 
  texlive-humanities-doc{a} texlive-latex-base{a} texlive-latex-base-doc{a} 
  texlive-latex-extra texlive-latex-extra-doc{a} texlive-latex-recommended 
  texlive-latex-recommended-doc{a} texlive-pictures{a} texlive-pictures-doc{a} 
  texlive-pstricks{a} texlive-pstricks-doc{a} texpower{a} texpower-manual{a} tipa{a} 
  usbutils{a} uswsusp{a} vbetool{a} writer2latex wv xdg-utils{a}
0 packages upgraded, 151 newly installed, 0 to remove and 0 not upgraded.
Need to get 274MB of archives. After unpacking 620MB will be used.

Once this installed, I turned around and started removing stuff, to see where this dependency nightmare was coming into play…

$ sudo aptitude purge vbetool gnome-mount hal uswsusp radeontool purge libfam0 libgnomevfs2-0 libbonoboui2-0 libgnome2-0 libgnomeui-0 libgnomevfs2-extra evince esound-common libgnomecanvas2-0 libaudiofile0 libasound2 esound-clients libgcj8-1 libgcj9-0 gij-4.3 libgcj-bc libgcj8-1-awt libgcj8-jar libgcj9-0-awt libgcj9-jar bsh-gcj java-gcj-compat java-gcj-compat-headless libjaxp1.3-java-gcj bsh libjaxp1.3-java libjline-java liblog4j1.2-java liblog4j1.2-java-gcj libmx4j-java libregexp-java libxalan2-java libxalan2-java-gcj libxerces2-java libbcel-java libwriter2latex-java libxerces2-java-gcj openoffice.org-java-common openoffice.org-writer2latex writer2latex gcj* libgcj-common

Removed a bunch of unnecessary stuff. 'evince' was the culprit, being a gnome app (didn't know it at the time).

Additionally, I wanted to clear out all the removed but still resource-file-potentially-present packages (those marked with 'rc' in dpkg output):

$ list="`dpkg -l | grep '^rc' | cut -d' ' -f3`"
$ sudo aptitude purge $list

Then, because I wanted to get writer2latex (which needs java):

$ sudo aptitude install sun-java6-jre

I need to figure out how to make “java2-runtime” be installed (it is a virtual package, and sun-java6-jre satisfies it… but other things that can be satisfied by java2-runtime still want to install gcj).

With some tweaking, I can avoid some unnecessary packages.. use this aptitude line instead!

$ sudo aptitude install lyx chktex dvipost gnuhtml2latex groff noweb rcs tex4ht texlive-latex-extra wv texlive-latex-recommended  texlive-fonts-recommended preview-latex-style dvipng imagemagick psutils latex-xft-fonts xpdf vim-latexsuite

wildebeest herd latex update

I installed lyx and related latex bits on all members of the herd, updated fluxbox-menu accordingly (and also the ever-ready fluxbox-menu-good backup).

February 20th, 2010

LaTeX

So I thought about taking care of the math rendering issue on the Lab46 wiki… with ASCIImathML being out of the picture, I wanted to explore my originally desired direction: LaTeX.

I went and settled on the following dokuwiki plugin: latex

This plugin requires a working LaTeX installation, so I obliged:

www:~$ sudo aptitude install tetex-base texlive-latex-recommended texlive-fonts-recommended imagemagick gs-common tetex-extra latex-ucs

All was going to plan, everything right up to the pages of errors in package installation.

Long story short (for it was long)… the issue was the etch LaTeX packages were date-encoded for 5 years… following that point, a nag screen would pop up indicating it is older than 5 years and that you should update LaTeX.

After some discussion over the appropriate adjective to describe the bug, and initial attempts by some maintainers to ignore it, solutions came forth .

My fix? I edited:

  • /usr/share/texmf-tetex/tex/latex/base/ltpatch.ltx
  • /usr/share/texmf-tetex/tex/latex/base/latex.ltx

In latex.ltx, I changed:

%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion{2003/12/01}

to:

%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion{2009/12/01}

I also changed the ! error dialog shortly thereafter to:

  \typeout{^^J%
+-----------------------------------------------------------------^^J%
|  You are attempting to make a LaTeX format from a source file^^J%
|  That is more than five years old.^^J%
|^^J%
|  If you enter <return> to scroll past this message then the format^^J%
|  will be built, but please consider obtaining newer source files^^J%
|  before continuing to build LaTeX.^^J%
+-----------------------------------------------------------------^^J%
}
   \typeout{To avoid this error message, obtain new LaTeX sources.}
   \typeout{LaTeX source files more than 5 years old!}

In ltpatch.ltx, I changed the date to:

\def\fmtversion@topatch{2009/12/01} % This patch will not work with
                                    % any other release.

as it was also dated 2003 or so.

This solution was a successful avoidance tactic that only buys time, and doesn't actually fix it. No, that isn't entirely true… the changing of the error message dialog from !'s to non-!'s, and replacing the otherwise error output statements to simple typeouts, in 5 years (I sincerely hope www is still not an etch matchine in 5 years), the warning will re-manifest itself, but will not cause errors.

The date haxx will successfully put off the dialog (that now should no longer generate errors).

And sure enough, this worked… I got them installed.

February 19th, 2010

status page

I added @lair edit ACL to both this main status page and edit to pages in the status namespace.

February 18th, 2010

ASCIIMathML

Yanked the ASCIIMathML dokuwiki plugin, as it was responsible for the disappearance of the editing toolbar and word count in editing windows.

It was generating a javascript error (a variable, ASCIIMathML, was not defined)… and I couldn't find an easy way of fixing it, so for now I just pulled it out… cleared the wiki's cache, and things look to be back to normal.

As a result, removing this plugin also seems to have cleared up Joe's imagemap extraneous links.

bots

UNIX bot implementations are coming along, slowly. Been learnin' some good stuff.

nice things list

Re-arranged my “I deserve nice things” list, hopefully more usable/accessible.

February 17th, 2010

Joe visited the LAIR this morning, and I wandered in to share in the joys of being in the LAIR. Set him up with some wiki infrastructure knowledge, as he is looking to possibly make some particular uses of it.

Lab46 ruby

I reverted the default Ruby interpreter back to Ruby1.8, and also installed various Ruby packages (rubygems, and some http/hpricot/networking libraries)… if all is successful, Wezlbot may soon have a Facebook presence.

script optimizing

To reduce the potential for maintaining consistency among my growing inventory of scripts to support my classes, I finally got around to breaking out the semester detection logic and dropping it in a script of its own– semester.sh

All that this script does is perform the same semester detection logic I've come up with, and output it, so that other scripts can now merely call this script and capture its output… that way I don't have the same 20 lines scattered across a handful of scripts, and therefore needing to change it in a million places if I find a need to alter the logic.

Here it is:

semester.sh
#!/bin/bash
#
# semester.sh - calculate and output (in short form) the current semester
#
 
##
## Semester-detection logic
##
month="`date +%B`"
year="`date +%Y`"
 
fall="(August|September|October|November|December)"
spring="(January|February|March|April|May)"
summer="(June|July)"
 
fchk="`echo $fall | grep $month | wc -l`"
schk="`echo $spring | grep $month | wc -l`"
if [ $fchk -eq 1 ]; then
    semester="fall$year"
elif [ $schk -eq 1 ]; then
    semester="spring$year"
else
    semester="summer$year"
fi
 
echo $semester
exit
##
#### End of Semester Detection Logic ###############################

Now I just have to get around to changing all my scripts to using this.

checking my attendance checking

In an earlier modification of my attendance processing logic, I had all the attendance data broken out into individual files per student per class, and then twice a week, would then install that data into their data directories.

I did this to afford myself some time to go in and make changes (in the event of a snow day or people forgetting to log into lab46 when they actually were in attendance).

But, I also have not been as persistent in checking this until it goes live… so, here's a script to assist with that process— by e-mailing me the output earlier in the day so I can easily glance at it, and then be more inclined to make changes (ah, push technology).

Behold! acheck.sh:

acheck.sh
#!/bin/bash
#
# acheck.sh - attendance processing check. Generate e-mailable output prior
#             to actual processing of attendance data to correct any gotchas.
#
 
semester="`/usr/local/bin/semester.sh`"
cd /usr/local/etc/attendance/${semester}/processing
 
for class in `/bin/ls -1 | cut -d'.' -f2 | sort | uniq`; do
    echo "$class"
    echo "------------------------------------------------------------"
    for entry in `grep . *.$class.* | sed -e "s/ /_/g" -e "s/\.$class\.class//"`; do
        user="`echo $entry | cut -d':' -f1`"
        point="`echo $entry | cut -d':' -f2`"
        msg="`echo $entry | cut -d':' -f3-9 | sed -e 's/_/ /g'`"
        printf "%-8s\t%s\t" $user $point
        echo $msg
    done
    echo
done | mail -s '[Attendance] Processing Status Update' wedge@lair.lan
exit

For historical significance, acheck.sh is the first script to use my new discrete semester.sh script.

As far as automating this is concerned, I arranged it in an intuitive manner:

##
## Process attendance data into per-user data directories
##
04 18 * * 2,5   wedge   /usr/local/sbin/acheck.sh
04 23 * * 3,6   wedge   /usr/local/sbin/fortitude.sh

Tuesdays and Fridays at 6:04PM, perform the check and e-mail me… then, Wednesdays and Saturdays, at 11:04PM, actually make available the attendance data to the users… this way, I'll get bugged pretty much after class is done, and have over a day to do something about it.

February 16th, 2010

Wildebeest herd updates

There were some OpenOffice updates available for the herd… I also made sure to install gdb, povray-3.6, povray-doc, povray-examples, and povray-includes on all 4 machines…

Added povray to the fluxbox menu, and synchronized the fluxbox-menu-good on all 4 machines.

So all the major updates in recent memory to the wildebeest herd are now in place.

dokuwiki math plugins

Additional dokuwiki functionality was requested.

The following new modules have been installed:

asciimathml

February 10th, 2010

Some say it should have been a snow day today. Doesn't look too bad downtown, but it isn't often downtown that is the problem… especially with campus being up on the hill. So of course they didn't call a snow day, and lots of out of town students complained or just didn't show up, and they ended up canceling lots of planned campus activities… I knew there was a good reason why I shouldn't have classes on wednesdays this semester :)

Cleared up a username issue, removed the invalid one. (LDAP user removal knowledge from january was quite helpful).

wildebeest herd tweaks

I made some customizations to the fluxbox themes on the wildebeest herd; created a new theme called LAIR, and put on a background image that contains useful commands.

I basically made a copy from /usr/share/fluxbox/styles/BlueNight to /usr/share/fluxbox/styles/LAIR, and rolled out my changes, which were:

style.name:                          LAIR Theme v1
style.author:                        wedge@lair.lan
style.date:                          Wed Feb 10 2010
style.credits:
style.comments:

background: fullscreen
background.color: rgb:00/00/00
background.pixmap: /etc/X11/fluxbox/clibg.png

…right at the top. Currently the rest of the file is identical.

I dropped the desired background image, a file called clibg.png into /etc/X11/fluxbox, and altered /etc/X11/fluxbox/init to the following:

session.styleFile:  /usr/share/fluxbox/styles/LAIR

Bam! Good to go.

February 9th, 2010

Set up a port forward on koolaid to port 3201 on vm03 to play with some jabber experiments. This was after discovering (after many confusingly failed attempts), that I had already directed port 3200 somewhere (the original port I intended to forward for this).

Some of the students attempted to get Starcraft working on the video wall, and I had to lay down the education on some of the work involved in doing such a thing.

February 8th, 2010

The HPC Systems and Networking class has commenced on further tweaking the video wall, including custom scripts and wake on lan… we cut the res down to half (640×480 on each screen), and once again had playable video.

Joe's projects class is hopefully going to start using the wiki, rolled out some ACLs, created a few accounts.

February 7th, 2010

Spent some more time hacking on gnu… and finally got it up and working.

I discovered something, which may have been a cause of wildebeast's ailments— running an nfs server and also mounting nfs shares from another nfs server… I discovered some familiar-to-wildebeast errors, and ended up throwing all the netboot/nfs stuff onto nfs itself, so gnu is merely an X network resource.

I discovered the issue because automount was not working, yet was working, before installing the nfs server… now it seems quite happy.

I also figure that, since nfs is rather beefy, it can handle it… plus, if it goes down, there's other problems anyway…

Being reasonably satisfied with my results of gnu, I duplicated it 3 times to create: wildebai, antelope, and wildgoat.

4 X network resource VMs, each available to serve the LAIR pod stations. I rigged up a round-robin-ish delegation (last octet of IP modded by 4)… so the load will be somewhat distributed amongst the users who more or less semi-randomly place themselves throughout the room. In the end, no more than 4 users to one of these machines. Should help with overall performance.

February 6th, 2010

Updated LAIR backup infrastructure to use network-nearest nfs as the dump point (so on the DRBD volume under /export/backup/dump)…. so we won't be, every month, punching tons of traffic over jb2. I'll then rig up a copying of data from the nfs volume to backup… so we'll even have a little extra redundancy.

I should also explore actually backing up user directories, as that is one thing we still do not really do (and is in many respects more vital).

February 5th, 2010

As a second response to the wildebeast lockup annoyance, I created gnu, a new VM which I will transplant the fat client functionality to.

My efforts are documented at system_gnu.

Video wall was rebuilt… full-screen video seems to have some performance issues. Need to investigate.

February 4th, 2010

wildebeast locked up again. Annoying.

February 3rd, 2010

I ended up really not doing anything along the lines of administrating or rigging stuff up. An all-around celebration of doing other errands and wasting time on the internets.

I was made aware of the existence of something great: Ladder Goat!

http://www.youtube.com/watch?v=ggB33d0BLcY&feature=player_embedded#

February 2nd, 2010

There was a problem with the grade not-z script, where it analyzed weekly journal entries and did a LINE count instead of a WORD count (whoops).

Fixed that. Had to go in and fix everyone's results.

As a result, it flipped all the UNIX people's puzzle.box status, so I had to go and fix that, rewriting quest #1 to allow for resuming.

Still need to process the Computer Organization stuff.

February 1st, 2010

My status rollover script seems to have worked… I need to add an entry to the previous month for increased accessibility.

calcweek

calcweek isn't reporting that it is week2, so the journalweeklyprocessing script didn't run… I need to look into that… it may be one of those “on the day” need to fix problems.. where tomorrow it WILL report it as week 2, and I just need to back that up by one day.

After some debugging, I realized a familiar problem— the numbers were being interpret as octal because they had leading 0's… today, feb 1st, is the 032nd day of the year, but bash ended up evaluating it as an octal value (so something less than 32(dec)). Since date doesn't seem to offer a formatting option to strip out padded leading zeroes, I called upon sed to “do the deed”.

The deed is as follows:

date +'%j' -d 20100125 | sed -e 's/^00*\([1-9][0-9]*\)$/\1/'

bam! No more leading zeroes. Be it one or two (basically the first 100 days of the year).

Suffixed that sed logic to each invocation of date in calcweek.sh, and lo' and behold, we're now in week 2! :)

wildebeast

Wildebeast locked not once, but twice today during UNIX class… its ailments are certainly increasing…

I'm going to restore it from the backup I made just prior to the semester and transport it onto a freshly formatted filesystem, to see if that mitigates some of its maladies.

<html><center></html>

<html></center></html>

haas/status/status_201002.txt · Last modified: 2010/09/16 18:30 by 127.0.0.1