Yes, it has been over a year since my last post. I've been reading Advogato regularly in the interim but haven't felt moved to write anything.
The trigger this time was experiencing some strange behaviour in my Advogato diary. Maybe I'm seeing the result of code designed to stop spam. Basically most of the hyperlinks in my old diary entries are served artificially so as to point back to my diary. The text of the affected diary entries is unchanged as if I open the entry in [Edit] mode the original links are there. This starts about 32 entries ago. It is not caused by bad links (most of them still work) and they are a mix of random .org, .com and even some .gov sites. I don't see anything about this in the FAQ. Feature or bug?
A fair portion of my older entries describes activities intended to keep old boxen functioning well past their compulsory retirement age. Since my last entry I moved (to a house!) which meant a cycle of packing and unpacking, which meant testing to see that everything survived (although the journey was short). Nearly everything works fine but I've been spurred into shopping for CMOS batteries - maybe I ought to have a regular replacement schedule the way that some do for smoke detectors. One hard drive (a problem-era Western Digital) refuses to spin up and some boxes required component jiggling to reseat memory and expansion cards. The other failure unrelated to the move was the LCD for my IBM T23 laptop. This had been a little flakey (a row of pixels would occasionally turn black) and was caused by me abusing it, often lifting it up by the open lid, and possibly due to my habit of running it without the battery (a state which might have reduced structural itegrity - as it did for my TP500). I grabbed it one too many times and the whole panel darkened and died (not just the backlight). Unlike the person in the Slarshdawt thread I decided to fix it and managed to find a local supplier of refurbished (ex-RMA machine) panels - Alan Computech in Union City. It arrived by UPS. It works. They also gave me a crazy (40%) Mothers' Day week discount. So far so good. This also gives me a better appreciation of the fragility of laptops so, for the meantime at least, I am being a little more gentle with my 8-year old ThinkPad.
Weird! It seems that a reasonably high proportion of the time I visit Central Computers (San Francisco or Santa Clara) Don Marti is there. Clone? Mistaken identity? Eerie coincidence?
Zoiks! Is it just me (Firefox 2.0.0.11) or did someone (<cough> adulau <cough>) forget to close a [bold] tag in their RSS feed?
While using truly Free software allows totally unrestrained joy when passing on tips and tricks to others, there's still some happiness to be gained when the software is proprietary but the recipients of the tip are people with whom you work. Here in the Real World[TM] I have to deal with (non computer) hardware manufacturers who sell overpriced computers running horrible equipment control software and who refuse to give you the "administrator" password, presumably because they believe you'd immediately copy the kludgey software to a more affordable box. Argh! Mercifully there's also equipment specific software written by Real Programmers and they've embedded macro languages that allow you to express yourself and get the job done. Thank you, Oh Sensible Ones! Today I managed to use such a a TIMTOWTDI rich macro language in a strange way and it was clearly The Right Way. It was so beautiful. My co-workers immediately appreciated the extra stability and efficiency, if not the beauty of the code. That was reward enough.
But what if I was working on a project on primate flatulence? How would I find the information I need?
As I mentioned earlier,
I have been allowed some time to play with Mathematica at
work. I
tried to assess it by transliteration of some of those popPK
spreadsheets and in doing so it has grown on me. I do like
the ability
of the random number generator to produce real numbers over
a specified range. For Excel I had been forced to use
RANDBETWEEN() (which only generates integers) and
scale by a large number - this led to many off-by-epsilon
rounding errors. Now I can precalculate the log-normal
probabilities of each of the target limits of the PK
parameters with;
CDF[LogNormalDistribution[mean,
cv/100*mean], Exp[value]]
and then generate a table
of random parameter values for the population
with;
myList =
Table[Log[Quantile[LogNormalDistribution[myMedian,
myCV/100*myMedian], Random[Real, {myMinProb, myMaxProb}]]],
{populationSize}];
This seems to be a small price to
pay for having to use studlyCaps for variable names and for
forever forgetting to use square brackets instead of
parentheses and double square brackets instead of
singles. The other major gotcha was not realising that you
have to initialise an array (e.g. by setting to
Null) if you
want to subsequently add values to it piecemeal (the error
messages generated are way too arcane).
I also had to change my approach when switching programs as in Mathematica it is actually easier to plot a function defined symbolically than it is to generate a bunch of x,y values and use them.
It has been a while since I tried DOSBox so I gave it another whirl and am amazed at just how well it copes with some old programs. I may be able to retire my old 486/66 that I keep around "just in case".
So I can cross another supplier (and another vendor I'd endorse) off my list.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!