30 Jan 2011 nutella   » (Master)

Spam in mailbox has gone down but non-useful new accounts at Advogato seem to be on the rise. I don't know if this is due to their appreciation of Google-juice or due to most real people posting indirectly through syndication, so that they don't see it happening. Having said that, the system for flagging annoyances is a big help.

I realised that I don't read language descriptions for fun any more. This occurred to me when I was writing a little script for my TI-89 Titanium and the syntax for statistical functions was a little bit unexpected. I didn't know this ahead of time because I didn't RTFM in advance. In contrast I have warm and fuzzy memories of a younger me going to the library checking out programming manuals for Fortran, ALGOL and PL/I even though I had no real access to any kind of computing resources to try them out. The nearest I could do at the time was to fill out programming forms with BASIC code and hand them in at school to be mailed off to be typed in to an ICL 2900 Series machine, that we were never able to see. I liked reading those old manuals and in my untutored way I could see the strengths and weaknesses of the languages. I continued reading with Jensen & Wirth's Pascal book (and Wirth's Programming in Modula-2), Leo Brodie's Forth books and Clocksin & Mellish on Prolog. Naturally K&R was easy and compulsory reading.

Now I realise that I don't read manuals for fun any more. I think that this is due to a mixture of recent languages being *big* (there are way too many ways to do things), the availability of electronic help (contextual or through the internet) and because I am older, impatient and more pragmatic. With small languages like C differences in code implementation are more at the algorithmic level (flamewars on brace style notwithstanding) whereas bigger languages have many options to write essentially the same code. This makes bigger languages more for lone coders as they are somewhat write-only (unless institutions force you to use a particular style or your coding partner is your conjoined twin).

This lack of pre-reading was probably exacerbated by my target for today being my TI-89 Titanium. No context-sensitive help there. Graphical calculators are also somewhat schizophrenic as they are simultaneously trying to be a fully fledged computer you can hold in your hand, but also a simple little calculator where functionality is intuitive and you never have to look at a book. Some people think that these calculators will go the way of the sliderule as they are replaced by netbooks and smartphones but I like the challenge of optimising my code so that it takes less than a minute to run. I'm not so much of a junkie that I'm programming with TIGCC or M68k assembler but I have fun. I also don't know whether the designer of this calculator should be shot or praised as the key labeling is illegible under dim or fluorescent light (GAR!) but this means my muscle memory has been forced to improve so now I almost never have to look for the [2ND] or [DIAMOND] functions. Anyway, I should have realised that a calculator with a built-in algebra system would be happiest being told that ranges can stretch to +/-infinity. Instead I watched my mis-implemented code fail when it crossed a particular boundary. It doesn't help that the TISTATLE functions seem to be happiest when called from the List Editor rather than used in a program and the documentation for them is fairly sparse. But it is available...

Latest blog entries     Older blog entries

New Advogato Features

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!