Monday Feb 16, 2009

A bitty week

Last week was a pretty bitty week, dominated by the need to complete some mandatory, examined web training. I have recently completed similar training in Sun's Unified Storage Products which I found useful. This one is not so focused on technology and while useful in that I learned a couple of things, I really wonder if it was a good use of my time.

Prior to getting stuck in, I made some progress on my web estate including Laconica, planet and glassfish. I got a copy of mingle running on one of my Linux images but made no progress on installing Glassfish. I have taken advice and been recommended to use the Sun installer, but I am being stubborn and want to see if I can use the Ubuntu package installer.

Mind you I got fed up with bash & sh and installed the Korn Shell. I was able to use the package manager which is cool. I was expecting that some Linux religous view, or over zealous conformance with the various licenes would prohibit its inclusion, but it works fine. Since I shall only be using it for scripts, I don't need to write a global .kshrc and install it where ever it would need to be. What broke the Camel's back? I felt I needed $(). I had been lectured by Chris Gerhard about using this syntax a while ago because it supports nesting and finally came across a case where it was needed, or at least, coding speed and my skills meant that I decided to move over to it. (It does mean that anything I write may be harder for other Linux users to adopt.) So I'll write in ksh, and port to sh.

I ended the week on Sunday at the Chichester Smith and Western, where the atmosphere, decor and music are fun and the portions enormous.


Sunday Feb 15, 2009

Influencing Planet's output name space

Earlier, last week on the planet developers mail list, Fredric Muller writes

From the help file I read:
# The following provide defaults for each template:
# output_dir: Directory to place output files

Now I am trying to figure out how to have one of those template file
output in a different directory (like they all go into /var/www/planet/
and I would like one of them to go to /var/www/ ).

I can think of a couple of ways of solving this problem. My first way, which may not be the simplest, is based on the fact that I have several planet instances and for the most advanced and thought out installation I have answered this problem as follows. It is designed to answer another problem and so might be overkill.

  • I install planet into its own user and hence home directory.
  • I plan to run more than one planet so,
  • I create a sub directory for each instance
  • I create a Logs directory since I plan to run the planets from cron, pipe the logs into files and keep them for a while. Both the logs and the log name control files are kept here.
  • In the instance sub directories I place the config.ini file and the template sources; the index.tmpl will also be different as will any images used to decorate the planet html file such as feed logos or page decoration
  • In the home directory I create a shell script, which calls to act as the argument to cron and a crontab source file.
  • test the script for each instance of Planet
  • set the crontab using the source file

because I have multiple config.ini's and index.tmpl files, I can (and do) have multiple output directories and also ensure that the HTML pages meet my look and feel requirements. I do this at and and on my development site have a standard planet venus and a mingle solution. I shall be moving the two planets above shortly so I suggest that you don't rely on them for a while. Within Sun's firewall, I have a community feed and one for me (like planet davelevy above) that uses this technique. The original requirement was based on the need for quite different config.ini files, with different input feed lists but Fredric's case is also solved using the technique.

I also have a script to tidy up the logs, maybe I should publish them all. (If you want'em comment or reply to the planet development list and ask. )

The second answer for Fredric's case, is that since I encapsulate ${HOME}/ into a script, I could always end the script with an appropriate cp command, provided there was no contention for the name /var/www/index.html.


Tuesday Feb 03, 2009

Do we need private community microblogging?

Is twitter or microblogging a service that would benefit from more active community management? It would seem that the people at friendfeed seem to thinks so but the people at Laconica have produced a package that allows for the hosting of a microblogging community, which was pointed out to me by Peter Reiser and Scott Matoon.

Despite Peter Reiser’s statement (on his twitter feed at 1.41 am GMT 3rd Feb) that it installs on Solaris like a dream, I chose to install on Ubuntu Linux and there is a specific install page for Ubuntu at the Laconica site. It’s also useful to look at the >>README as it documents the pre-requisities and discusses the location of the site within the webserver's root namespace in more adult fashion than the Ubuntu install page.


I have written up my install notes on my snipsnap, and must try and get them adopted at the Laconica site. I have also repeated them in the [Read More] section below, but once its properly installed I made a post, changed my avatar and checked the RSS, and I did it all in a Virtual Box image.


[Read More]

Monday Feb 02, 2009

About planet and some Python lessons

I have some exciting plans for using the planet feed aggregator and have over the last couple of weeks using the “Venus” code line. I can now install on Ubuntu and the install passes all its tests. I want to be able to write a filter for the my plazes and also see how the foaf output might be used. I met up with my colleague, Dave Edmondson and we discussed the strengths and weaknesses of Python and planet.

The script runs two other python programs called spider and splice.

Spider gets the feeds defined in config.ini and creates a local cahce version, splice, reads the cache and generates the new formats from templates. The diagram below does not illustrate the template source files for the output formats and I shall probably need to dig further into the code in order to understand what needs to be done.

The diagram also indicates the location of Venus' plugin, where the plazes filter should be located.

We also discussed Python. I have been trying to write a game theory solver for a 2x2 formal game. I was representing the game as a dictionary so that I could retreive game scores using the strategy names. One problem is that two dimensional dictionaries get syntactically combersome. 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 =[('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 interation, 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 2x2 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.

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.


Wednesday Jan 28, 2009

Mobile Schmapp

I havn't put Scmapp back onto my laptop yet, but I probably will. They are good enough to re-publish some of my flickr pictures in their town guides. Frustratingly, they now have an Apple iphone/touch optimised application, but unlike the PC version, it is not nomadic. WTF? The ipodtouch is an ideal vehicle for their disconnected tourist guides, which is what they did for the PC. Download the map when connected, read it where-ever. Why have you crippled the application in this way? Its almost the wrong way round.

tags: ""

Monday Jan 26, 2009

Laptop Diaries, 64 bitness & VPN

Over the last couple of days I have been struggling to get my new laptop build up to the minimal level of functionality I require, using Vista 64 as the host operating system. I calculated that I installed 19 applications on the previous minimal build, of which only Scmapp could be considered unnecessary. My colleague, Kar Yang Ho recommended Windows Vista 64 bit as the host and after some experimentation, we chose Virtual Box as the VM manager, primarily because its much cuter about how it takes and reserves disk space.

We use CISCO's VPN solution to access certain services and have been struggling to get this to work from behind my Linksys Wireless-N ADSL2+ Gateway; the connection was failing. Firstly, we discovered on purchase, that one has to use a TCP carrier without NAT. I am seeking to install the VPN client inside a 32 bit virtual machine; CISCO don't have a Vista 64 implementation. Ho says that no one else with this router has the problems I had with it, although we have now fixed the connection by specifying the guest network interface as a “Host Interface” and not the default “NAT”. It seems that the Linksys only wants one NAT function in the configuration.

I am pleased that we have fixed it, as I can now use Virtual Box to boot up Linux and Opensolaris images for experimental work and demonstrations. I also use them as X Server's for remote systems work and I have a Windows 32 bit image for that software that can only run in 32 bit windows such as the CISCO client.

I installed the AMD64 version of Virtual Box on my Toshiba Tecra M10, with 4Gb of RAM on Vista Business SP1.


[Read More]

Wednesday Jan 14, 2009

Fixed my planet bug

I wrote about running up planet venus inside virtual box on my blog. It seems that it was a problem with, the FOAF tests. With help, I have debugged the problem, written a correction and submitted it to the developer list.

This has been accepted, so I am now a content developer for Venus. Hooray for me!


Monday Jan 12, 2009

More about Digg

One the one hand, it seems that rows about the influence of Power Diggers has been going on for ages, its just that I hadn't noticed it because I have not really been a great user of the site, although it seems that people are getting particularly excited at the moment.

On the other hand, I have just promoted Digg Technology to my '1st read' group on Google Reader, and also just discovered,

mobile digg screenshot

This picture is taken by the ipod touch and I have started to read this again. It's chucking up a couple of interesting things/day, so less interesting than the Guardian and BBC, but about par with the Register. So maybe I am more in tune with digg users than I thought.

I find this look and feel pretty excellent for use on the ipod touch, all the buttons are finger sized, including the "Next Page" button and I don't have to muck around with resizing the screen. I am also interested how using the ipod touch is changing my attitude towards web page design, you'll see some of the changes here, if you browse the HTML view and also at


Wednesday Jan 07, 2009

Oops, maybe a bit quick re Digg

Despite my bitchy comments on Monday, the "Shouting in the DataCenter" video made it to Digg's front page.


+1 to virtual box

I installed a planet instance inside an Ubuntu Guest Virtual Box VM, and it failed the install tests. I was gratified to discover that a native instance of planet/ubuntu 8 failed in the same way. +1 to Virtual Box. Now onto fixing it.


3D Worlds, Sun steps up to the plate

Sun has some 3D acceleration software designed to optimise the performance of 3D Worlds, called the Sun Visualization System . This was pointed out to me by Constatin Gonzalez, who has written about it on his blog, "Making 3d work over vnc", and thought I'd be interested due to my articles on VNC and remotely accessing more business oriented 3d Worlds. He pointed this out to me after reading with my experiments with VNC Lite, which he has also played with. The Sun software runs on Linux and Solaris, so its no good for Neverwinter Nights, and I can't imagine it'd work inside a Virtual Box.

Anyway I have enough Virtual Box experiments at the moment without adding to them, so I doubt that I'll be trying this.

tags: "" ""

Monday Jan 05, 2009

Has Digg jumped the shark?

The comments on the Digg post on "Shouting in the Data Centre" [ Youtube | this Blog ] disappointed me. I am not a great user of Digg and very few of my submissions have taken off. It is one of the feeds I subscribe to using Google Reader which is my first choice feed reader today. It seems that I am obviously not interested in the same stuff as most of its users, but to find the majority of comments about the provenance of the Digg takes self reference to the point of absurdity. It reminded me of a very recent a post 'openpeel', called '5 Ways to fix Digg', and it also reminds me of Simon Phipps' comment,

"When you invent a system, you invent the system that games it!".

Its a shame, but I suppose that the social software designers will have to become cleverer. It's clearly a fact that a 'karma' systems attracts people to contribute to the 'wisdom of crowds', but also trying to measure the influence, popularity or even innovativeness/leadership of contributors often leads to anti-social, even destructive behaviour.

I wonder if digg has jumped the shark as its user community has grown beyond an expertise focus and its designers loose the arms race with the gamers. Is there an alternative? I have considered for a while the use of 'clubs', where feed consumers, i.e. me and you, qualify the contributors to our feeds, or membership is gated. I use to keep my bookmarks and thus act as the original source of my contributions to finding interesting news. These thus become available through RSS, and then those I really think are interesting to others, I use Google Reader shares to share them. In the past I have used Slynkr, and have been using Digg to act as an entry point to my friend feed. The Google Share is a cute feature as the Google Reader makes my google friends' shares available to me. I use this to read other people's shared articles. The google shares I post may become my Digg replacement, but there's now no weighting or rating and my community is pretty small, since it is based on google talk/chat friends, which is not my first choice chat protocol.

The Google Share/Talk synergy is another interesting example of leveraging closed communities, and functional synergy by the software authors. Retaining the choice of internet participants against this new "lock in" could be open source's next big problem to solve.

tags: ""


Sunday Jan 04, 2009

You can't do this without "amberroad"

Glenn Brunnette pointed this Youtube Video out to me

which struck me as rather cool in that it demonstrates the awesome advantage of the FISHworks analytics i.e. the management software that comes with Sun's Unified Storage systems. Its such a great way of seeing the power of the software I decided to bookmark it on and digg it, [here], I glad to see I am not the first. I was, however, sad to see that the digg conversation was so trivial, amusingly focused on the effects of shouting at computers, which we've all done, and less so about the track record of the person who submitted the story to digg. Has Digg jumped the shark?


Monday Dec 29, 2008

More VNC Lite

I showed you VNC lite accessing Neverwinter Nights the other day. I finally got project wonderland working on one of my PCs, so here's a picture of VNC Lite accessing my project wonderland instance

project wonderland via vnc lite

and here's one of me accessing Second Life

secondlife via vnc lite

I should point out that MochaSoft, VNC Lite's authors don't recommend these use cases. :)

tags: ""

Sunday Dec 28, 2008

Optimising a Roller theme for printing

Inspired by Phil Harman's Trials with his roller theme I have wanted to create a better hard copy experience for you. I implemented this earlier this morning on my blog's roller files. It has been tested using Opera's print preview on the main weblog page and the comments view of an article and so should work on a view based on a tag, category, or date.

I have implemented a 2nd CSS file. Because my theme's base is so old, it is not conformant to the stylesheet/theme file structures of today's roller so I implemented it as just any old template file. The form lets you know/set the URL. It contains the following rules.

    { display: none; }
    { visibility: hidden;}

It is introduced to the weblog using the following code in the weblog template file, in the HEAD section. The assignment in a LINK or STYLE tag with the MEDIA="print" attribute is what applies this rule only when printing.

    TYPE="text/css" REL="stylesheet" MEDIA="print">

I used the 'new file' form to set the url of the new file as above, but named it _printcss; it needs a preceding _ to become invisible to some of the roller macros such as #showBasicNavBar, and the form won't permit a .css suffix. It might be cleverer to call the file _cssprint, so that the css files are all adjacent to each other in an alphabetic sort, which you get on the 'edit templates' form.

I have applied the 'noPrint' rule to the Banner, the webCategoryChooser and Sidebar. I have not used the 'noShow' rule, which I developed to apply to objects that occupy vertical space in a table. The rules are applied to a DIV for the banner, P for the web catgory chooser and TABLE for the sidebar. Another pointer to the fact I must find time to remove the tables from this theme. I am working on it I promise.





« August 2016