Bobulate


Archive for the ‘Bla Bla’ Category

FSFE microblogging ; office

Friday, September 4th, 2009

The Free Software Foundation Europe (FSFE) has got an infestation of interns. Under Matthias Kirschner’s lead, they should be blogging and denting away — as well as getting actual work done instead of exchanging witty banter on IM networks. Welcome to Hugo and Lena. If you look closely you can see the current chaotic status of the new FSFE office in Berlin with, as Lena puts it, wires all over the place and no comfy chairs. Maybe you need to be staff to have a comfy chair, eh.

A look into the past (2)

Thursday, September 3rd, 2009

I wrote recently about a little machine logbook I found in a disused storage cabinet in the old science building. The machine it refers to might be one produced by Floating Point Systems, Inc., since I found a processor manual (part #860-7259-003) in the same cabinet, and some of the instructions seem similar. The manual was published in 1979 (heck, I don’t think I had even seen a computer at the time) by FPS Inc. of Beaverton, Oregon. The manual starts out promising:

Historically, array transform processors have been largely integer-arithmetic devices, since the slower processing rate of floating-point arithmetic was undesirable when working with large arrays of data. However, integer methods have problems which make programming awkward due to the limited dynamic range of integer arithmetic. Array scaling and block floating-point techniques either allowed human and other errors to creep into the results or were costly and time consuming. Further, as processing became more sophisticated, even 16-bit integer data words were insufficiently precise for preserving the accuracy of simple 8-bit analog-to-digital converted input data. This is because the many multiplications and additions in typical cascaded array processing can cause the propagation of truncation errors.

You know, I think the exact same paragraph (well, ok, let’s increase the numbers from 16 to 64, for instance) could apply today. Paging forward, we find that the floating-point representation used in this machine is “..a true 10-bit binary exponent, which has more dynamic range than the standard 7-bit hexadecimal or 8-bit binary exponent. FPS then uses a 28-bit mantissa, plus three guard bits in the adder and a double mantissa at the multiplier output, …” Count ’em, a 38-bit floating point representation. Bear in mind that IEEE 754 was created in 1985, with a 32-bit format.

Moving on to the functional units of the processor, we find both a main memory (MD) of up to 64k words (each 38 bits) plus a faster memory (167ns cycle time) called the table memory (TM) of 512 words, each 38 bits. The idea is that you store constants in table memory and use an index into the table memory instead of direct mode. There’s two banks of accumulators, 32 in each bank, so one might speak of having 64 floating point registers. There’s some data path fiddly bits here, and anyone who has read Tanenbaum’s computer design books will understand the trade-off between bus width, control line count and ease of (micro-)programming. The adders and floating-point multiplier are pipelined, with two and three stages respectively.

The processor has DMA capability — not within its own memory, but to the memory of a host machine. In other words, it hooks up to the memory bus of some other processor, can copy blocks of data to the local memory, do computations, and then move them back. So it’s a co-processor.

And the whole thing fits in 16U of 19″ rack space and draws 1200W.

This goes to show that we (as in computer science and the computer industry) have come a long way since 1979. It also shows that there’s very little truly new stuff — stream processors in your graphics card are similar in many ways to this old beast. Also, in the best style of wikis everywhere, the manual ends up with a “help us improve this manual, send in comments on the following postage-paid form.” See, everything old is new again.

A look into the past

Tuesday, September 1st, 2009

At the university of Nijmegen I was an inveterate collector of all-things-strange. The old sciences building was cnducive to that behavior, since it had lots and lots of storerooms with 40 years of accumulated junk, most of which were poorly secured or just left unlocked. So wandering through the basements looking for neat stuff was a good student-lunchtime activity. The building was knocked down a few years back, replaced by a shiny green glass-and-steel contraption that is much nicer to work in, but which has a great deal less charm. I still vaguely regret not nicking the elevator maintainence notebook the week before the old building was chained shut. One thing I did pick up was a notebook labeled “ARGS-Logbook” from the computer graphics department. Kept in meticulous handwriting from july 1981 to july 1985, it is full of notes that are both typically WTF and reminiscent of the problems anyone might have when dealing with machine-language programming.

July 1981 It seems impossible to pass parameters as subroutine arguments. Some “arbitrary” value is taken when referencing to such and argument. Strange is however that RET with a non-zero offset does work. (Solved middle of dec ’81). July 1981 The instructions to turn the scanner on/off works the wother way round, i.e. X is 0 for on and 1 for off!! (Doc adapted). September 1981 The conditional branche does not work properly. CMP followed by BRALT results in a branch if greater than! So the neg/pos bit seems to be set wrong (OK after middle of dec ’81). December 1981 Z Status Register instruction can only be used in a specific way. (after partitioning pictures across planes a new partitioning has to be preceded by an INI instruction = reset).

It seems that this was a machine with hardware for image manipulation (with instructions like ARF, area fill), which got a hardware upgrade at the end of 1981. I’ve left out all the complaints about the monitor which also mostlye went away at the end of that year. New issues show up, though:

August 1982 TST instruction does not work correctly (ok now, november 1982, error in cross-assembler). November 1983 Area fill problem. When pixel value at xset, yset = boundary value, the ARFO instruction hangs. February 1985 Recording screen on video impossible because of 60Hz frequency sync. (For changing video frequency, set switches E11, F11 and G11 in graphics store slot 4, need 33 msec refresh at 50Hz, set to 0011 0011)

The last entry in the logbook is the nicest: 18 July 1985 Key of monitor missing. Solution? (Lock turned 90 degrees so key is not needed).

Cookery (4)

Monday, August 31st, 2009

While I recently wrote something along the lines of “buy local!”, extolling the virtues of vegetables from one’s own garden, I’m also partial to a Dutch saying “wat je van ver haalt is lekker” — whatever comes from far away is yummy. Unfortunately I have not learned to make sinasiri (next time I got to Nigeria, I will have a shopping list), so the followin pan-European thing will have to do: mushroom risotto with salmon and beet greens. I obtained a box of Polish mushroom stock tablets recently from a friend’s mom, a box of Italian risotto rice from a local deli, salmon from the market (presumably Norwegian farmed) and the beet greens were part of our vegetable subscription, so they were from across the river. A 2007 pinot blanc from the Alsace rounded out the European tour. Menu for two or three diners:

Mushroom risotto:heat some olive oil and sweat off an onion until glazed; stir in some chopped mushrooms and allow them to brown. In the meantime, prepare 2 cups of mushroom stock (from bouillon cubes if you like, and the Polish ones do taste better than the Dutch ones). Add one cup of rice and toast it for three minutes, stirring occasionally. Quench with one cup white wine, then stir in the stock, half a cup at a time, and allow the rice to cook (about 16 minutes at lower heat).

Salmon: 400g salmon fillet. Rub down with salt and pepper, allow to stand 15 minutes. Melt butter (actually, I tend to use half butter half olive oil for frying fish) until browned, then add fish (I don’t have a pan that will take a single chunk of fish this large, so I cut it in two and have to shuffle a little). Fry one side 3 minutes, sprinkle dill liberally on upper side, then turn over, fry for another three minutes. Add one pound chopped beet greens over top, splash on some wine and cover tightly to steam the greens for 4 minutes or so (until the fish is just done).

Serve with what’s left of the wine — if the cook has been tippling in the kitchen, don’t give him any more. A selection of cheeses makes a fine dessert.

Mini booth-box

Sunday, August 30th, 2009

I regularly visit fairs or attend development sprints, and in the course of a few years I’ve gathered together something I call a “mini booth-box”. It’s a plastic crate full of odds and ends that are invariably useful at an event; I can either take the whole box or cherry-pick from it for specific events. Like at FOSDEM this year, where I packed 2 19″ flatscreens, a Sun Ray, two keyboards and mice and a laptop into my backpack. Forgetting, of course, the required switch and stuff. Well, the best-laid plans …

Anyway, here’s a list of what’s in that crate, in the hope that it might be helpful for someone else.

Networking: A 24-port hub and its power lead; a 5-port switch and its wall wart; a WRT54GL and its wall wart; a crossover cable; 25m, 10m, 2x5m and a 2m straight UTP cables. Video: DVD-D dual link cable; VGA D-sub cable. DVI-I to D-sub adapter. Input: PS/2 mini-size keyboard; USB keyboard; USB mouse. Misc: 1GB USB stick; bluetooth dongle; 1m eSATA cable; 1.5m USB A-B cable; 1.5m USB A-mini cable; Nokia phone carger (mini-connector). 4-socket power strip. UK-Euro plug adapter.

I know some of that is redundant, overly specialized or just crap, but it serves its purpose of giving me a one-stop shop in house for picking up equipment when going to a fair. I just hope I didn’t forget anything. The Sun Ray thin client doesn’t travel in the box, but it does good service at stands if I want to use my laptop while at the same time leaving the laptop at the booth for display / demonstration purposes.

Cookery (3)

Saturday, August 29th, 2009

Book coverSome folks know that I used to be a fan of the Gallery of Regrettable Food — also a source of recipes to avoid and wonderful pictures. So while re-organizing my house and clearing out shelves, I found a wonderful item: Adelaide Daniels Weight Watching Cooking. The food itself is so-so, typical early ’70s Canadian fare with plenty of evaporated milk and instant coffee and the inside illustrations are just boring. But the cover! So in the interest (questionable, I know) of saving the cover and pitching out the paper (to the recycle bin), I’ve scanned it. Click for full(er) size, 850kB; the scan is a little less vibrant than the original, and both the dithering in the original printing and the texture of the cover show up more in the scan than they do on the book itself. It’s a bit of a shame, because the green glowing lime Jell-o pudding really leaps out at you.

Adelaide Daniels was founder of the Weight Watchers of Ontario, but doesn’t seem to have left much of a biography on the net. The book itself is for sale from some “antique” book-sellers, listing USD 7.95 — maybe I should keep it and wait for it to appreciate more?

Not responsible for resulting queasyness, here’s a recipe for my Jamaican friends.

Jamaican Orange: Fill a 6-ounce goblet 2/3 full of an orange-flavoured, low-calorie carbonated beverage. Add rum extract to taste, and ice to fill the glass. arnish with a lemon twist. Makes 1 serving.

Frankfurt wrap up

Monday, August 24th, 2009

The KDE e.V. board has decided on a location for a new office in Berlin and we will be moving the e.V. office there fairly quickly; we decided this over generous portions of Frankfurter Green Sauce which is quite an interesting substance. Other topics like Akademy 2010 were finished off as well, and we will be doing official announcements on all these later this week. After the meeting I had a few spare hours and it was a gorgeous summer day, so I went over to the Liebieghaus (site doesn’t seem to like Konqueror) and it was just amazing. It was also kids’s day, so the gardens were not restful and quiet but filled with painting and coloring and dance and fröbelen. Inside, the house is a warren of galleries, chapels, turrets and whatnot, and stuffed to the gills with ancient to almost modern art and devotional artifacts. It was the right choice — thanks Claudia for pointing me in that direction. On the train I mucked about with Boost and its compatibility with the upcoming new Apache C++ STL for OpenSolaris.

This week is about conference planning, both attending and organizing, so I have a six month horizon — and it is cluttered. The next one up is OSiMWorld, where I don’t have a booth or anything, but I will be saying “Hi” with my Green and Blue hats to all comers.

A Link Potpourri

Monday, August 17th, 2009

[ This is a brain dump of a bunch of topics collected over the weekend; I also saw a performance of Purcell’s Dido and Aeneas, so that’s why it’s a potpourri and not something more structured. Call me back when I’ve had more coffee, later in the week. ]

From a research perspective: wow! a verified microkernel. I left my formal verification stuff behind at the university (which reminds me I still have a desk to partly clean out and an HP9000 to trash), but the idea of verifying a Haskell program isn’t all that terrifying; getting the Haskell-C mapping and the machine model mapping right and validated is something to lose sleep over, though. Something to occupy a bunch of grad students for a long long time. So hats off to the UNSW for getting it done and also for writing a wonderfully concise and witty FAQ.

There’s a little bit on tax money going to waste, this time around a CMS for Birmingham; given the importance of the specification for l4v (above) one would think that the specs for a CMS would be somewhat hammered out by now — certainly as far as character encodings go. I’m not sure I agree with the middle of the article, though, where it goes (in hindsight): well, we could have just used WordPress, right? Much as I like WordPress (it runs the FSFE blogs, and although it isn’t entirely compatible with Konqueror 4.2.2, it does well enough) I don’t think it’s the solution to every CMS problem. There could well be additional hidden requirements that the article glosses over and that would have mandated a custom solution.

Still, it’s government money, and I do believe that a custom solution funded by government should be Free Software afterwards, as it represents an investment by society as a whole to improve its infrastructure.

BaptisteriumOn Free Software topics, I ran across Why Code For Free? on LinuxPlanet; I’m actually none too happy about that article. It has a lot of woolly thinking in it. It’s 2009, come on, couldn’t we at least get a characterization of the four freedoms that the GPL aims to protect that is both concise and gripping? Let’s not forget, rhetoric (the modern trend of invading, tracking, and trying to control personal use) aside, that freedom 0 is only very very rarely touched upon by any license [mental exercise: if software is delivered without warranty or claim of fitness for a particular purpose, can you add restrictions stating that it is unfit for some purpose or may not be used for some purpose?]. In retrospect, I suppose that the end of the introduction (non-coder, us lowly end users) should have tipped me off that this is hardly a piece to take seriously.

K-Logo mosaicDavid Jarvie is the KDE “date and time dude”. Give him a good long scarf and I’m sure he could figure in Dr. Who. My hat off to anyone who deals with timezones and calendar systems on a daily basis. While tooling around on the topic, I found some interesting definitions of the epoch (an arbitrary moment to start counting time from), a leap back and a more recent reintroduction of the leap back. This time related to standardization and arbitrary kludges in calendars (man -s 1 cal ; cal 9 1752). David, next Akademy you get more beer.

Lastly, I recently took a look at a reconstructed 4th century baptisterium, where I found the K-logo in the mosaic in the floor. So I think that expands the range of dates KOrganizer — and KDateTime — should support easily by a great deal. After all, St. Augustine had appointments too.

Tornado

Thursday, August 13th, 2009

Vacation mapBack from a two-week cycling vacation, just the family, three bikes and a tent. Mira is now six, so she can ride her own bike for about 10km on regular roads before she’s tired. To cover the rest of the distance we got a bike trailer thing that her bike hooks into — it lifts the front wheel securely off the ground, leaving the rear wheel on the road where it can be pedaled as usual, or freewheeled. Still, with the time constraints of packing up, cyling slowly for an hour and kids falling asleep at the wheel (or handlebars), we covered 20-40km per day. Our campgrounds are either farms (SVR) or nature campgrounds; the Netherlands is a good location for family cycle tours, because there’s plenty of camgrounds and nearly always a supermarket every 10km or so. That means lots of contingencies can be handled, including “heavy rain: go play in shopping carts”.

The image is from Google Earth; the data is my GPS track from my Amaryllo logger, which is 27MB — not bad for 5 days of logging, really (we didn’t relocate daily). There’s some gaps in the data, mostly where reception was poor due to heavy rain and tree cover, but on the whole it gives a good idea of where I’ve been, and is nice for supporting my memory of what we did.

Getting back into the swing of things — work, and I totally missed the release of KDE 4.3 and the demise of SXCE — will be the rest-of-the-week activities.

Open.* conferences

Tuesday, July 28th, 2009

Time for my semi-regular Open.* conference reminders; Free Software conferences, Open content, what have you, all kinds of neat stuff that you might still be thinking about attending or sending papers to. Open Rhein Ruhr is the farthest away in time, so lots of opportunity there to still get in a talk. I unfortunately can only submit an English language talk on software licensing, although my German is getting better (only on topics like Vereinsrecht, though). OpenExpo is closest, and looks like a good event where I could wear too many hats at once, if I were to attend (I hope I can figure out a way to do so).

In the middle are two overlapping conferences: the NLUUG Fall Conference on the Open Web on October 29th, and the co-located Linux Kongress and OpenSolaris DevCon. I may end up taking the night train from Ede to Dresden to attend the last day of the latter, because I have to be at the former.

[[ Ooh! And there’s EuroBSDCon as well! ]]