2015 T3

24th August 2015 — 3rd January 2016

Computing Projects

The unit spent 65% of its time on specific computing projects. This is another excellent increase from T2 (40%). Note that no miscellaneous development is included in this.

Webmark Reform

Still pending new individual per-requirement child projects being setup.

Collaborative Latex System - Remedial Work

Final report has been submitted, just awaiting administrative completion.

Lab Exam Desktop SL7 port

This project was implemented and completed successfully within T3. Now just awaiting administrative completion.

School Database Revamp - Phase 1B and 2B

More effort has been put into this project in T3. Stage two testing has been completed (core database schema and roles representation) and a number of toolkit changes folded back. Drift correction in schema from when we froze the old mechanism (about a year ago) has been done. Comments/changes from the peer review of documentation have been incorporated. Focus now is to complete refinement of the toolkit and schema generation and move to deploy an initial early release in service for further testing.

Project Submission

Done, just awaiting administrative completion.

Hadoop on ECDF

Still on hold. The Hadoop environment is being done under the CDT project and the intention is that this will just drop in an work on ECDF as well, although it is unclear that the requirement itself still stands.

DICE Environment for SL7

Done, just awaiting administrative completion.

CDT Software Requirements

Still work being done on the Hadoop environment under Gridengine. Hadoop LCFG component under development to ease configuration and node addition/removal. Also developing a Gluster LCFG componet to meet filesystem requirements (and to replace GPFS).

ITO Progression BoE Reports


Port Research and Teaching Packages to SL7

Done, just awaiting administrative completion.


Project transferred from Infrastructure. In T3 a test TheonUI and TheonPortal were setup using Yubikey and showed that this would work fine and usage could be controlled per-area on the Portal. A test local authentication server was also setup and shown to work. However, LCFGisation of that server would be costly and we are now reviewing this requirement. Irrespective of that we have Yubikeys ordered for COs to do further testing of Theon and assuming that this does not identify any specific issues we anticipate moving the Theon service to second factor authentication using Yubikey within T1 of 2016.

Plans for 2016 T1

Maintain time spent on computing projects. Add more miscellaneous development as micro projects so effort can be attributed. We will continue to schedule BAD-RAT days as these have been successful in clearing low hanging operational and development tasks.

Continuing Professional Development

This is a summary of recent CPD activity carried out by unit members.

puppet (gasp)

Set up a test puppet infrastructure on self-managed machines to see get a basic grounding in its operation. Always good to take a look at the "competition"! By way of direct comparison, it was interesting to see that its configuration can be contrived into a system which looks very much like LCFG machine profiles and function/option headers. There's no reason they can't have machine-specific configuration, though I think machines are expected to have more of a "inferred" profile from a series of classes, than an explicit one.

No deliverables as such from this, but a handful of throwaway Debian/Ubuntu machines got partially configured, then largely abandoned. The bootstrap certification process was somehow more painful than I think it was meant to be.

qslave improvements

Following on from T2 work I added various bits and pieces to the qslave system, including new queries, freshness and timing checks, and made the daemon more robust (it is now capable of running indefinitely and ingesting all logs without omission; I've started relying on its output in routine checks).

The deliverable, such as it is, remains the qslave script which lives in my home directory and can be run by anyone who requests access to the database tables (just ask).

every mistake I've ever made

Not quite, but I wrote a Crichton script which injects the command portion of my every command-not-found to a database. It would be interesting to make this available to all users on an opt-in basis, though at the moment it's designed to allow users to write into their own database. Raises interesting questions about retention and data handling though not perhaps technically very interesting.

The deliverable is probably the data: after a few months' running this on myself I found I make surprisingly few repeated initial command typos (though maybe this is because I spend most of my time running single-character aliases...). However the top three repeated mistakes (forming 8% of all mistakes; more if you exclude accidental pastes, etc.) were:

  • :q and :q! (I've now aliased these to 'exit'!)
  • reste and variations (apparently I can't type properly when I can't see my terminal)
  • 5A (the up-arrow keystroke: presents itself as ;5A when the terminal is in the wrong mode).

The only conclusion so far is that I get my terminals / myself into a confused state very often. Maybe some new CPD required to find out why!


When AFS goes away firefox gets it's knickers...erm I mean data in a twist and ususaly trashes various databases including bookmarks and addresses. Mozilla offer the firefox [sync service to sync firefox data between versions. However this means that the mozilla people have access to all kinds of information; However they have open sourced the service. It comes in two parts, a service to sync the data and a service to handle the authentication. So far I think I've got the syncing working with the mozilla authentication but it's difficult to tell, not least because the authentication process is described as "preliminary and vastly incomplete. "

python c module

Added a C Python module for Gurgle to avoid multiple system calls which will improve performance and provide for potential future optimisation. While this now works including argument passing it only works for one call as Gurgle itself is not re-entrant (too much static initialisation) so some work to do there (not too hard, just moving all initialisation into the principle main function).

Further CPD TBD?

-- TimColles - 25 Jan 2016

Topic revision: r5 - 08 Feb 2016 - 10:04:37 - TimColles
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies