Saturday, 2016 August 20, 19:45 — futures

To Your Scattered Memories Go

Philip Jose Farmer’s Riverworld series (which I’ve mentioned before, upon rereading the first volume) begins with every human who ever died waking up on an artificial planet, resurrected as young adults (unless they died younger). Fashions in scientifictional resurrection have changed since 1971, so here’s how I might do it, given a boundless supply of handwavium. ( . . more . . )

Sunday, 2016 July 24, 12:57 — mathematics

points problems pointers problems

Two-fifths of the links in my sphere arrangements page were broken. Ouch! I found new addresses for a few of them, and used the Wayback Machine for the rest.

Sunday, 2016 June 19, 10:40 — history, religion

next time you hear someone blame Hitler on Darwin or atheism

Nazi racial ideology was religious, creationist and opposed to Darwinism — long and thoroughly documented

Thursday, 2016 June 16, 00:20 — eye-candy, neep-neep

fun with colors

Here, have a couple of Python scripts. Each creates an image file, 2^12 pixels square, each pixel of a different color. puts the coordinates of each pixel in Gray code, assigns each bit to one of the color channels, and converts each channel back from Gray code to choose a color. The assignment is chosen at random from 141926400 possibilities. is my attempt to re-create and extend this: it folds the square eight times to make a cube fitting the color space. The interesting part was maintaining continuity through multiple folds. This one has only 107520 possible outcomes; again they’re chosen at random. I don’t like the result nearly as much as the other, but you might!

You’ll need Python Imaging Library.

On my machine each takes less than two minutes, so with a simple shell script you can whip up hundreds overnight.

( . . more . . )

Tuesday, 2016 May 31, 20:51 — spam


I get this comment a lot:

Hello Web Admin, I noticed that your On-Page SEO is is missing a few factors, for one you do not use all three H tags in your post, also I notice that you are not using bold or italics properly in your SEO optimization. . . .

I probably also don’t sprinkle enough chicken’s blood.

Tuesday, 2016 May 31, 13:12 — bitterness, technology

hilarious title

On a private mailing list, a novelist asks for suggestions: what technological hobbies might a bright teenager have, in Oakland circa 1975? Chemistry sets were mentioned, among other things.

I may have had a chemistry set at age 8 or so; memory is spotty. A few years later we got an electronics kit, consisting of a collection of elements in Lego-like blocks. There was a booklet, starting with easy things like a light switch and an electromagnetic telegraph relay. (Maybe I thought the latter was easy because Dad and I had made one, about the same time as the possible chem kit).

Then on the next page was an oscillator or something. No explanation of why it was an oscillator. I thought, well, if I can’t see for myself why it’s an oscillator, evidently I’m not cut out for this stuff; so I tacitly abandoned it.

My adolescence in a nutshell.

Of course it never occurred to me that perhaps there was no explanation because I was not expected to understand an explanation; I was expected to treat the oscillator as a black box. (Not that I had the concept of “black box”, either!)

Oh well.

Wednesday, 2016 May 25, 09:54 — mathematics

adaptive sampling

I got an interesting idea today.

As you may already know, I’ve been making models of Klein bottles an’ stuff; heretofore they’ve all been in the form of bent rods, but where possible I’d prefer a continuous surface. (A hollow body must have holes so that unused powder can be shaken out; but not all of my designs have enclosed spaces.) How to place a minimum number of vertices so that deviations from the abstract shape are within the resolution of the process? That’s less obvious with more degrees of freedom.

So, today’s idea. Start with an arbitrary set of sample nodes (in the abstract space of the parametric variables, rather than on the target surface itself), and their Delaunay triangulation. Along each edge of the triangulation, measure the deviation of the surface from a straight line; this gives the edge a weight. Move each node to the weighted average of its neighbors (with a bit of noise); thus, an edge whose image is strongly curved gets shorter.

After the movement phase, each edge ought to be checked, whether it’s still a Delaunay edge or needs to be replaced by the other diagonal of the quadrilateral formed by its two triangles. I don’t yet have criteria for adding nodes where existing nodes are too far apart, or merging them if they become redundant.

Next Page »