STATUS updates
======TODO======
* the formular plugin is giving me errors, need to figure this out (email assignment form)
* update grade not-z scripts to handle/be aware of winter terms
* update system page for (new)www
* redo DSLAB tweedledee/tweedledum with squeeze rebuilt tweedledee, tweedledum on the way
* rebuild DSLAB www, irc, auth as squeeze VMs
* load balance/replicate www/wiki content between LAIR and DSLAB
* adapt LAIR irc and lab46 to use self-contained kernels (how to do this?)
* update system page for db
* migrate nfs1/nfs2 system page to current wiki
* update nfs1/nfs2 to squeeze
* flake* multiseat page
======URLs======
Some links of interest:
* [[http://www.llvm.org/|LLVM]]
* [[http://www.reocities.com/harpin_floh/glglobe_page.html|GLglobe]]
* [[http://www.heavens-above.com/|Heavens Above]]
* http://wiki.debian.org/kristian_jerpetjoen
* http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html
* http://myproxylists.com/nix-brute-force
* [[docs/plan9|My Plan9 Documentation page]]
* [[system/sokraits_halfadder.offbyone.lan|The Sokraits/Halfadder System Documentation page]]
* http://www.egghelp.org/commands/channels.htm
* http://stackoverflow.com/questions/470617/get-current-date-and-time-in-php
* http://www.rjsystems.nl/en/2100.php
* [[http://bitsavers.trailing-edge.com/pdf/|BitSavers]]
* [[http://mir.aculo.us/2010/06/04/making-an-ipad-html5-app-making-it-really-fast/|Time Zone HTML5 app]]
* http://toic.org/2009/01/18/reverse-ssh-port-forwarding/
* Divergent Thinking
* http://en.wikipedia.org/wiki/Divergent_thinking
* http://faculty.washington.edu/ezent/imdt.htm
* https://help.ubuntu.com/community/Installation/QemuEmulator
* Socket Programming
* http://www.linuxhowtos.org/C_C++/socket.htm
* http://www.few.vu.nl/~jms/socket-info.html
* http://www.lowtek.com/sockets/
* http://www.tenouk.com/Module40.html
* http://www.tenouk.com/Module42.html
* http://www.tenouk.com/Module43a.html
* ALIX
* http://markshroyer.com/guides/router/
* http://markshroyer.com/2010/12/openbsd-alix-via-ubuntu/
* http://www.martinmellor.com/freebies/pinouts/IDE44_2_5_pinout.htm (IDE 44-pin pin-out)
* BeagleBoard
* http://elinux.org/BeagleBoardDebian
* Xen
* http://www.tumfatig.net/20110125/running-openbsd-on-xen/ (OpenBSD HVM)
* http://www.mydigitallife.info/fix-gmail-imap-invalid-credentials-or-web-login-requires-failure-error/
* http://manoharvanga.com/hackme/
* http://chneukirchen.github.com/sabotage/
* http://www.linusakesson.net/programming/pipelogic/index.php
======Other Days======
======September 23rd, 2012======
=====gimmeh=====
gimmeh saw more enhancements this morning, many of which were aesthetic user experience tweaks.
Nifty new command utilization of the day- **stat(1)**.
I used it to give a rough release time based on file modification timestamp in the backtitle string:
BACKTITLE="${0##*/} `stat --format \"%y\" ${0} | sed 's/:[0-9][0-9]\..*$//g' | sed 's/[- :]//g'`"
gimmeh now is aware of assignment due dates, and will use them to determine whether or not to display certain menu content:
TODAY="`date +%Y%m%d%H%M`"
...
# DUEDATE logic determines if deadline has passed, and will not
# display the entry if so.
DUEDATE="`echo ${item} | cut -d'-' -f2`"
if [ "${DUEDATE}" -gt "${TODAY}" ]; then
COURSE_OPTIONS="${COURSE_OPTIONS} \"query ${item}\" \"view ${item} information request\""
fi
Dug up another informative whiptail page:
* http://netkiller.github.com/shell/whiptail.html
======September 21st, 2012======
=====gimmeh=====
Finally got some user-requested and user-interface enhancement changes implemented in gimmeh.
Can you say "existing content in input box?" Why yes, yes we can!
Also- asterisks now appear to the left of query descriptions that have been responded to.
Just to make gimmeh all that more useful of a tool. Even did some mild commenting.
======September 18th, 2012======
=====gimmeh=====
More functionality improvements to gimmeh.
Mail forwarding is now setup. The following link was useful:
* http://www.eddieoneverything.com/articles/linux-forward-file-not-working-make-sure-you-have-the-permissions-set-correctly.php
Modified my preferences options, so mkdata had to be updated to provide the new options.
Complete? No. Ready for deployment? Hopefully. It should be getting its first test this afternoon.
======September 17th, 2012======
Three scripts saw full implementation today- mkdata, opuskeywordswap, and gimmeh. Most impressive.
=====mkdata=====
I needed a script, much like mkopus, that would sanely parse through the student data directories making sure all things are in order (necessary files, ownership, permissions), and wouldn't be destructive to existing users on follow-up runs.
Does just what it advertises.
=====opuskeywordswap=====
What I meant to do Sunday, but never got around to it; wrote a script to "randomize" the keywords and distribute them to others in the class for completion of the demonstration section.
Implemented debug support so I can run it on existing users. Also needs to be specified which Opus part.
There **might** be a bug, and might be related to small class sizes (maybe even 3, specifically). HPC1 got some weird results, that seemed to compound with each successive class member. I figure I'll fix it manually and ignore it until next month to see if it exhibits itself again.
=====gimmeh=====
A revitalization of a previous script- I rewrote it entirely from the ground up (didn't actually look at any of the old code- impressive code, but I was taking a different direction this time.)
I should be able to achieve assessMESS-conformance, LAIRalert-certification, WORKDUE notifications, and hopefully even dynamic responses (something the original GIMMEH had as a claim to fame).
Pages of amazingly useful interest:
* http://en.wikibooks.org/wiki/Bash_Shell_Scripting/Whiptail
* http://codesnippets.joyent.com/posts/show/1105
I also, REALLY REALLY, should comment GIMMEH profusely... there's a lot of deep stuff going on that would make the code appear largely unreadable to somewhat not in the right mindset. Especially the nested code when I get to the queries.
=====IFS hacking with success=====
The http://codesnippets.joyent.com/posts/show/1105 link enabled me to finally (and painlessly) enjoy the utilization of bash for loops iterating through space separated data without breaking it up into individually iterable tokens.
The solution is so simple, but my methods of approaching it up until now have either missed some mark, or broke it by trying to be too complex. All I need is ENTER. All I need is ENTER. That's the crux of the solution.
=====Nifty Bash String Parsing=====
Another neat bash trick I learned today (unfortunately I closed the tab) is to hack on string data using bash native manipulatives.
My example- $0, which would display the script name, would also tend to include the absolute path:
/usr/local/bin/gimmeh
I wanted JUST the script name to be reported. The following bash-ism allows for that:
echo "${0##*/}"
I suspect I can derive the meaning, but I just found that example and ran with it.
=====Data Directory Format Change=====
To better support semesters, I have made /home/wedge/local/data a symlink to /home/wedge/local/data.semester. This way it will be easier to swap them out.
=====Gimmeh Directory Created=====
I have created a new gimmeh/ data directory, which will house all class-related gimmeh content (no answers, just the questions). This way it is all centralized, and can be deployed quickly and effectively.
I'll probably want to write a script which enables the deployment of new gimmeh content.
^ [[status/status_201208|Previous Month]] | ^ [[:status|Current Month]] | ^ [[status/status_201210|Next Month]] |