Lustre

Lustre is the premier HPC parallel file system.

It was originally an open source project which Sun Microsystems bought and when the Oracle aquisition occurred it seems that Oracle failed to run with it

Here are some links I found,

Unfortunately the last of these points to an old Sun web site page, that  no longer works and I can find no reference to the Lustre .rpms on the Oracle Site, except on this Oracle Technet page about HPC.

I want to install it to run some tests but can’t find the rpms.

So it seems that http://www.whamcloud.com/ have picked up the ball.

pkgs.org points to http://pkgs.org/centos-5-rhel-5/puias-computational-x86_64/lustre-1.6.7.1-0.4.PU_IAS.5.x86_64.rpm.html

The US NRAO says this about it, detailing the Red Hat sources

An alternative might be http://www.pvfs.org/

Configuring NTP

I want to configure NTP on this box, i.e. the Cobalt Qube as its losing time. Badly.

Dhis is now done, I have a very simple ntp.conf file and am using DNS hostnames. This is not advisable under Linux because you must have a valid DNS service available when the daemon seeks to resolve the addresses. It might be possible to resolve the dns names vis the /etc/hosts file. The Howto article below is quite good.

The test should be ntpq -p to see if the deamon is working Ok, I don’t think the Cobalt ntpd script does this; it browses the process table.

So

  1. check ntp isn’t running
  2. Add the server lines to /etc/ntp.conf, you really need two. Use time servers from organisations that permit or don’t care that one’s taking a feed.
  3. Enable port 123/udp on the firewall
  4. Start the daemon
  5. Test the service using ntpq, can you see all the configured servers
  6. If the drift is significant from the time server, then take the service down and then use ntpdate -u to set the clock

The Linux chkconfig utility is set up for the rc script and I shall therefore invoke it using chkconfig -add.

I have found the following links

I returned to this in 2011, and found http://www.pool.ntp.org/en/use.html. It’s all got a lot easier.

Municipal WiFi

In Jan 2012, the Telegraph ran a story on how Westminster and Kensington & Chelsea boroughs have agreed with O2 to build the world’s biggest free wifi network, this is mirrored at this thread at South East Central.

  • Municipal Urban WiFi at Wikipedia, includes a list of Cities with fee Citywide WiFi, in the UK, Bristol and Norwich. (Liverpool has a paid service and the funding status for Newcastle in County Down is unstated.)

San Francisco

San Francisco famously experimented with free city wide WiFi. It was started with quite a splash and I was visiting it on a frequent basis. It seems they have suspended municipal investment in the programme in 2007 and invest in more directed programme to resolve the digital divide.

Python

I returned to Python in Oct 2010.

I have two problems to solve,

  1. converting my bliki to wordpress
  2. scripting for KDB & Hadoop

Notes on the old Bliki

  1. http://davelevy.dyndns.info/snipsnap/space/Dave/Python+datetime, a list of notes
  2. http://davelevy.dyndns.info/snipsnap/space/Dave/Python+2.x, an article about my initial python build on the Cobalt Qube. This is really no longer relevant, and an example of content, that should NOT be brough across.

Notes on File I/O

  1. http://docs.python.org/tutorial/inputoutput.html
  2. http://www.penzilla.net/tutorials/python/fileio/
  3. http://www.techniqal.com/blog/2005/05/17/python-simple-file-read-and-write/

Notes on Date and Time

Python does not load the datetime, calendar or time modules as default. They need to be imported.

  1. http://docs.python.org/library/datetime.html
  2. http://docs.python.org/library/time.html

I also found the following tutorial useful.

There is an example of how to use gmtime and strfdate in my wiki entry, on Snipsnap to WordPress.

Notes on blogs.oracle.com

Originally posted on my sun/oracle blog in Feb 2009, copied here in July 2016.

We also discussed Python. I have been trying to write a game theory solver for a 2×2 formal game. I was representing the game as a dictionary so that I could retrieve game scores using the strategy names. One problem is that two dimensional dictionaries get syntactically cumbersome. I had ended up with a list as the key. In theory it should make the programming easier, where game is a dictionary attached to class instance g.

i.e. score = g.game[(‘decoy’, ‘defend’)]

makes great sense where decoy and defend are blue and red strategies, however, I have usually placed the evaluation of a score in an iteration, and so coding the strategy names is rare e.g.

strategies=['heads', 'tails'];
for s in strategies:
    # some iterated code

It is probably simpler to represent the game as a 2×2 matrix held in a list and to use the classic technique of holding the names of the strategies in an ordered list so we can translate the matrix cell location such as n(1,1) into n(tails,tails) by looking co-ordinates up in one, or two name lists.

strategies=['heads','tails']
score=matrix(strategies.index('heads'), strategies.index('heads'))

This would also have the advantage that I could look for and use the matrix manipulation packages that exist to avoid writing a lot of code. The code would look a lot simpler, and not just because I have put a lot of it in an external package; this is usually a good clue that the answer is correct.

Lesson 1: Be careful when using dictionaries.

Python Path

Actually PYTHONPATH, according to my findings, the python module loader looks for modules in the same directory as the top level file, the PYTHONPATH, the standard library directories and then the contents of any .pth directories.  The last technique is useful for windows and where you want it towards the end of the search order.

Socket Programming

It has to be Python

Don’t ask.

controlshift.org

Introduction

This the web platform for Vanessa Garlick and Liz Gorman’s final year undergraduate project.

WordPress

WordPress gives us most of what we need, most importantly identity and authentication functionality. The one thing we are obviously missing is a voting solution.

I have found two,

  • Post Voting, this is their web site, it is available via the ‘install themes’ page.
  • Vote it Up, this is on the wordpress site.

We want to vote on Posts aka Places, Proposals and Comments. This means that we need to distinguish between comments and proposals. This may require using templates to force the use of pictures. a ‘Proposal’ tag and forcing the inclusion of the voting panel. The installation of votes into a theme, may involve editing the .php files. WordPress document ‘the Loop’ on the codex, which needs to be understood. The voting themes give us a way of reporting the votes.

Domain Name

I ordered this domain name, but got the web interface wrong. It placed the domain in a separate commercial package. I rang ‘one and one’ who talked me through the transfer. The support call id is 245322465. Thanks.

Header CSS

I added an 8px margin top to the header logo.