Up to new tricks

You may remember the publisher BetaScript who generates thousands of “books”, by simply printing out Wikipedia articles. I had quite forgotten about them when I got an invitation phrased like this:

Dear Prof. kai,
I am Koushina Tulloo from Lambert Academic Publishing. Your work « title » from University would be of interest to an international audience [I should jolly well hope so, since I presented it at an international conference], and that is why I am writing to you.
We know it is not conventional for a publisher to pro-actively reach out to authors, but we are not a conventional publisher.
Here is what it means for you:
- free of charge publishing
- simplified and fast publishing process
- worldwide sales of your work
- no commitments - you and only you remain the copyright holder of your work
- access to eco-friendly Print-on-Demand technology
We are looking for authors in the field you have researched and your work has caught our interest. We are interested to publish it as a printed book.
Let me know how this sounds to you and I can get back to you with a detailed brochure.
signature block with a glamour picture of the dashing Koushina Tulloo

Now, this of course sounds fishier than salmon-filled tuna with garum sauce and anchovy sprinkles, so time to google “Lambert Academic Publishing”, and…ahahahah! does Google deliver. A quite long article by Joseph Stromberg in Slate not only confirms that Lambert Academic Publishing is a racket of the Who’s Who variety, trying to get you to buy lots of copies of your own book to give away, but, lo and behold!, it is in fact a sister company of the aforementioned BetaScript, and a dozen other scam companies, all owned by OmniScriptum. (And quite possibly Ms Tulloo has borrowed her pretty face from somebody else.) In passing it also explained the mystery of the weird cover of the Betascript book I had ran into before – the cover template only has so many clip art pictures as options for cover picture and apparently a container ship was the closest thing to a destroyer escort that could be found.

Well, I guess my [and my half-dozen co-authors’] three-page short paper will not end up being published as a proper book with ISBN number and all, though it would have been a bit funny of course. Since this seemed to appeal to Stromberg as well, I wonder how much of OmniScriptum’s catalogue is driven by authors who think they have seen through it all, but participate anyway as an ironic lark?


Reading foreign languages

While competition is coming from new Chinese companies, Japanese model manufacturers are still among the most appreciated ones in terms of model quality. The English translations of the instructions are not necessarily always to the same high standards, but usually are sufficient for getting the model built. Still, there is obviously more written in Japanese than has been translated, so, while gearing up for building Fine Mold’s Savoia S.21F (i e Porco Rosso’s flying boat), I thought it would be interesting to find out what all the text in Japanese actually said. A little exploration found two tools: NewOCR, an online service to convert images to text, handling multiple languages and alphabets. So that let me scan the text from the instruction sheet into Japanese text, which I of course still couldn’t read. The next step was to use Google Translate. There is a cool feature in Google Translate, that I discovered then, which is that you can actually draw, in this case, Japanese characters in an input window. This let me correct characters that had gotten corrupted in the scanning. Of course, the characters most likely to have been misread are also the most complex to draw. 翼 (wing) appeared quite a few times, and had to be redrawn manually.

Well, so now I should have a text in English that I could read? Well, of course not. As shown by earlier examples, machine translation is an inexact science, even for languages within the same Indo-european family, but translating Japanese into English tends to render nonsense, like: “Rui is distinguished simply referred to as "F-type" In that, but the repair work Whatever You're in which was whether to follow the Detection Ichiru Suppose that you try.” “In such Ime temporary, please enjoy the Italian machine of power Rahul ma one King between War.”

Interestingly enough, names, that should have been the same string of characters in every place, got translated differently in different sentences – sometimes as the correct Italian name, sometimes as whatever Japanese expression matches the Katakana transcription of the name. Presumably this has to do with the algorithms of Google, that sometimes recognise the context and insert the correct name, sometimes don’t realise there should be a name. I had hoped for at least useful translations of the colours, but “power over key” is the rendition of what we know as ”khaki”.

So, still not entirely helpful.


Veckans ord: porlkran

Jag insåg precis att vattenflödet över innergården i Genève kom från en porlkran. Därför blev det annat ljud i källan.


I maded a film

Reading Devaney’s An Introduction to Chaotic Dynamical Systems, Second Edition I found the description of a solenoid (§2.5) quite interesting: It starts out as a torus, but then you repeatedly lengthen it, shrinking the radius, and fold it back on itself, much like you fold a hair tie, but with the difference that the volume is not retained, so that each folded form fits inside the previous one. I thought that it would be nice to make a recursive function to draw a solenoid to arbitrary depth, and then to make a raytraced animation of the solenoid developing. As it were, I couldn’t quite work out the proper recursive step, so the idea has been languishing for a while (like a couple of years or so).

A few weeks ago I decided that I would get a grip on myself and work out the proper function, since it was obviously simple, if nothing else so to make sure I’m not entirely senile. After a couple of nights of scratching sketches on paper I finally managed to work out the proper order of things and started to transfer data to POVRay, my preferred raytracer. And of course, since I fully subscribe to the idea that glass balls are an important feature of raytracing, I would make the solenoid out of virtual glass. It would also spin, so as to bring out the shape better (on the assumption that viewers would not have access to a stereo viewer).

I soon realised that it was inconvenient to run a C program to generate the coordinates of the object and transfer to a POVRay input file by cut-and-paste every time I wanted to tinker with anything. Happily it is possible to program directly in the POVRay scene description language, so I reimplemented the function and could then work more or less interactively in POVRay. Delaney proposes shrinking the radius of the tube by a factor 10 for each folding, but in my opinion that makes it disappear from view too fast, so I used a factor 3 instead.

My original idea was that I’d render each level and fade it out while fading in the next level, but it turned out to be rather complicated as the surface+interior computational model of POVRay doesn’t really have a concept of fading, to achieve this a large number of (non-linear) parameters have to be adjusted in synchrony. I pondered this a bit, but decided that while I might eventually work out how to do the transforms it was probably easier to instead do the fading on the resulting images, rather than the 3D models, so generated images with only a single object in each and then composited them using ImageMagick and a couple of awk scripts.

This looked OK, but I still wasn’t quite happy with the results, there should be more movement in the animation. In the end I rewrote the solenoid code a bit, so that there would be an animated transition where the next level double-coil shrinks and separates out of the previous level. On a whim I added a background texture and was happily surprised by how much this made the glassiness of the tube pop out and made its structure more distinctive. The full length video took almost a week to render, the later parts requiring about an hour per frame, as the object becomes more complex. For no particular reason I rendered the animation at PAL resolution, notionally at 25 frames/second, but that made the motion a bit too fast in my opinion, so I pulled the output framerate down to 10 fps when generating the video (with ffmpeg) from the individual frames rendered by POVRay. That could then be uploaded to YouTube:

If anyone wants the code to play around with, just ask in the comments.