Problems with RSS Monday, 21 July 2014  

RSS Feed

Not sure what did it - maybe I ran as root, accidentally when I didnt mean to, but nothing would update, despite changing permissions and resetting some internal state. In the end decided just to clean it all out and start again. If you are reading the feed, you likely wont notice much and in a few hours, the differing RSS feeds will race ahead with their usual updates.

Despite the simplicity of the code, theres always a surprise lurking in the code - but then, thats the fun of the fair !


Posted at 21:40:49 by fox | Permalink
  A real good read... (Xplain) Sunday, 20 July 2014  

Xplain

I do like a good read, and the above link is a nicely written way to understand X Windows and X11 and related. I remember the first time I heard of X, and had some consultants explain it, a long long time ago. And it took me a while to get used to it - the day I moved from a character based terminal to a Sun/3 workstation with an infinite set of display options, and a whoopingly large 1600x1200 display. It took nearly 20y to be able to afford one of these at home, and today, we finally have 1920x1080 (alas, no more 1920x1200), 2560x1440, 3200x1800 and real 4k and 8k screens coming, with prices dropping on a weekly basis.

Have fun


Posted at 18:45:19 by fox | Permalink
  A sad day...A glorious day Saturday, 12 July 2014  
It is a sad day. I am going to decommission the CRiSP FTP server. This is a macmini - PPC vintage (400MHz) I think. It has performed absolutely admirably. 9y of service - the oldest file seems to be March 2005.

At the time the PPC mac mini came out - it was a brilliant device. It still is. It has not murmured in the last 9y, despite 24x7 operation. A *huge* 80G hard drive, 256MB of RAM. This is a *big* machine compared to my earliest machine. (My earliest machine - had *1K* of RAM; my first real PC had 4MB of RAM, 20MHz i386 and 20MB of disk space). My Galaxy Gear watch beats the pants out of all of these.

The PPC (I cally it "minny") hasnt misbehaved - but it was murmuring a little - but I attribute this to either some DNS lookup delays, or my news aggregator Perl script. The news aggregator (http://crisp.publicvm.com:3000/) has a bug/memory leak, so after a few weeks of operation its used about 200min of CPU and a whopping 40MB of RAM. One of my weekend jobs is to fix the memory leak.

Now the good news. Intel NUC. I keep seeing these devices, and they are cute. Of course, one never buys a machine because it is cute, but, err...ok, I did. The Intel NUC (go see Amazon or Intel for details) is a device slightly taller than the old style Mac Mini, but smaller - about the size of a CD case. I kept trying to decide what to do; previously I had purchased a Raspberry Pi, as a replacement for minny, but I was not happy with the Pi - too low performance, horrible dangly wires and protusions and unreliable power supply. The NUC is good - I opted for the outdated Intel Celeron model - the cheapest. I thought I would use USB for hard drive or an SSD disk. But why pay for SSD. A 1TB disk was about 50 pounds. Add 26 pounds for 4GB RAM, and we are looking at a new machine for about 170 pounds. The machine screams.

I installed Ubuntu 14.04 - the same as my other machines, and I can now divorce myself from the PPC vs x86 binary compatibility problems.

I never filled the 80GB drive in the mac mini and I definitely wont fill the 1TB drive in the new machine. Of course, the new machine needs a name - "nucky" - after Nucky Thompson, from "Boardwalk".

I am presently copying the old crisp releases on to the machine so it can transparently take over from minny. And thats about it.

In all the years of minny - bots have been continuously attempting automated dictionary attacks to break into the machine. Maybe, because its a PPC, that no-one ever succeeded. I like to think they wont on nucky, but, there is nothing to steal from there. It would be darned annoying.

This new "mini" machine is great; I might get a higher end one - an i3 or i5, but the price differential seems obsurd. The Celeron chip is a dual core chip - with a decent size cache. Its a great CPU for this purpose. It might not be for intensive video (but should be sufficient for watching videos), or gaming.

So, say hello to "nucky" the next time you grab some news from the aggregator, or a copy of CRiSP, or a copy of dtrace, etc.


Posted at 19:18:35 by fox | Permalink
  sort -V : Thanks. That was not helpful Saturday, 12 July 2014  
Was just looking at the code in CRiSP which checks whether a new software update is available. It works by downloading an index file with version information, and comparing the version you are running against the master index. Very simply mechanism.

The current latest release of CRiSP (for linux 32/64 bit systems), is 11.0.32. I am staring at the generated file, and it says "11.0.9". So, anyone using the "Check for updates" menu in CRiSP will have no idea that new versions are available.

But why?

Looking at the script to generate the updates - the last time I touched this was in 2003. I know the script worked at some point in the last few years. I rarely need to see if I am running the latest version of CRiSP - so it would not show up as an issue.

The root of the issue lies in how the script gets an index of all the indexed files:

get_latest ()
{
        find . -name crisp-$1-b\*.* -print |
               sed -e 's;^./;;' | sort -n | tail -1
}

The "find" command is getting a list of filenames - files are stored in version directories (eg 11.0.31/). And because the build (b) number is at the end of the filename, we want to sort all the available versions of the files, but we want to sort numerically on the version numbers. This means that something like:

10.0/crisp-linux-b1234.tar.gz
...
11.0/crisp-linux-b2345.tar.gz

would come out in a natural order. The "sort -n" does that in the shell script above.

Turns out the "sort" people changed the behavior of a numeric sort in the presence of text: they ignore the attempt to sort! So instead of generating a list of the most recent versions of CRiSP, we have a list of the oldest versions available instead. Not very helpful. A quick scan of "sort"'s switches shows that I needed to use "-V". I had never seen it before, but am glad it is there and now generates the correct version information.

This illustrates a problem with all software, that by depending on other tools and libraries, you will one day be silently broken and may not realise it.


Posted at 15:01:54 by fox | Permalink