Sticky Tape X-rays
This is the craziest bit of science that I’ve seen in quite a while.
This is the craziest bit of science that I’ve seen in quite a while.
Gigapan is a website which displays super high resolution panoramic images, acquired by a special panoramic camera rig. Today, I got a note from Ed Haas, mechanical tinkerer extraordinaire, that his workshop had been imaged. Check out the 1.7 gigapixel image (be sure to pan in and read some of the labels on things on the shelf. Very cool.
gigapan: Steamboat Ed’s Shop - Detail of Lathe (steamboat_ed_07)
As some of you may have noticed, I occasionally like to write small programs to compute odd little mathematical curiousities. Something I hadn’t done in a long while was to use the Sieve of Eratosthenes to compute a bunch of prime numbers. I suspect that I wrote such a program very early in my exploration of computers, maybe thirty years ago. The basic algorithm is pretty straightforward, but takes O(N) space to find the primes less than N. It’s not hard to reduce the storage to N bits, and with a trivial bit of work you can reduce it to N/2 bits, and with a little more, you can reduce it to 4/15 N bits. That was fun to work out.
But last night I did something a bit different: I implemented a simple “segmented sieve”. Basically, the idea is that to generate all the primes up to N, you find all the primes up to sqrt(N), and save those. Then, you process the rest of the numbers in buffers of sqrt(N) at a time, by sieving each buffer with your saved primes. It’s a really simple idea, but makes sieving larger numbers more practical. I implemented the simplest possible version of this last night, and set it going to compute all the prime numbers up to 1E12. Here’s the log from the run:
[chessboard] % time ./bigsieve 1000000000000 > output 20580.222u 18.741s 5:43:39.10 99.9% 0+0k 0+0io 0pf+0w
And here’s the output file:
78498 primes less than 1000000 148933 primes less than 2000000 216816 primes less than 3000000 283146 primes less than 4000000 348513 primes less than 5000000 412849 primes less than 6000000 476648 primes less than 7000000 539777 primes less than 8000000 602489 primes less than 9000000 664579 primes less than 10000000 ...999989 lines deleted... 37607912018 primes less than 1000000000000
The program doesn’t include any of the basic optimizations, I suspect it woudn’t be difficult to make this thing a factor of 2-4 faster without adding a ton of code. I’ll probably see if I can do that over the next few days. It’s a useless but fun project.
Today, on wsprnet.org, W1BW announced that Wednesdays would be “Special Activity Days”, and that today’s special activity would be to operate on 20m instead of the more common 30m. Overall, I didn’t get as many spots as I typically get during the day on 30m, but I did manage to get a spot from GW4VBE, which counts as my first cross-Atlantic spot. To celebrate, I created a new WSPR spot map:

I really do need a better antenna.
My Ramsey 40m QRP rig needs a keyer, so I ordered this nifty one from K1EL. I should be able to install it in a Altoids tin or something similar, and have a nice, fully functional keyer. Then, all I’ll need is a key.

Probably can make a key out of an old hacksaw blade and some scrap.
At various times I kind of wanted to write an mp3 decoder. Don’t ask why. Anywhoo…. here’s a link:
Just got back from Pacificon. Had a nice time, and managed to pass the upgrade exam. I’m now an Extra class ham. Bow down and worship me! (Just kidding.) The test was a lot closer than I thought it should have been: I seemed to get a lot of questions that were unfamiliar to me, despite a couple of weeks of doing practice exams. Still, it’s all done!
… languages which don’t implement tail recursion properly. You have no excuse. Seriously.
I’m looking at you, Python.
It’s not too exciting, but it’s a start. During a 30 degree pass, I managed to get MacRobot SSTV to decode this partial image. It’s not the greatest SSTV decoder: it seems to miss the VIS preamble almost all the time, and loses sync fairly often when noise interrupts, which when you think of it, is pretty inexcusable. I’m told the various Windows programs are better. But it’s a start, and until I write something better, it’s all I got. I’ll be trying for some more passes later today.

Addendum: During my second pass of the day, the SSTV was off, but we heard the voice of Richard Garriot answering questions (which we can’t hear) but which were very legible in response. It starts out a little scratchy, and there are relatively long bursts of static where we don’t hear the questions, but his answers are interesting. Enjoy!
Richard Garriot Speaks from the ISS (MP3)
Addendum2: Here is a link to a master repository of received SSTV images from the ISS. Check back frequently.
Having completed my little 40m QRP transmitter (pictures to come sometime soon), I was scouting around trying to find the most appropriate keying options. While a straight key is the obvious choice, I can’t help but thin that a little bit of electronics in the form of a keyer would help me make better sounding Morse. There are some excellent choices out there, such as the Norcal QRP keyer and the K1EL keyer, but you can also make a keyer just using some very simple ICs.
Well, I was kind of bored, so I decided to tack together a little CW transmitter. I had picked up a little 40m kit from Ramsey Electronics. It’s a really simple kit: it took me about two hours to solder the entire thing together, I fired it up, and it works! I only had two problems: one was a molded inductor which didn’t seem to match what was described in the instructions, but it was the only inductor I had left when I had put all the rest of them in, so I wired it in, and it seems to work, and the other was my fault: I misplaced a bunch of 0.01 microfarad caps, and thought they were missing until i found them under my work mat. It’s actually a pretty nice kit, including a case and all the knobs and panels. It looks pretty spiffy next to my TenTec receiver that I built last year. Now, all I need is a key, and I need an adapter to wire it to my antenna, and… well.. I better get practicing on my morse. Pictures and video to come.
For the next week or so, Richard Garriot will be aboard the ISS. Richard’s dad was the first astronaut to use ham radio to talk to radio amateurs from orbit, and Richard will be operating ham radio during his stay, including the ability to send slow scan television images directly from the ISS. To get a bit of a head start, AMSAT configured AO-51 to transmit SSTV images, which I tried to record using my hand held yagi. As you can see, it wasn’t that great, but the ISS should have about 20x the radiated power, so I still might luck out and get some good images.

You can look at images as they are downloaded via the ARISS SSTV blog.
Still, it’s kind of cool.
This week I picked up a spot from 9V1LF in Singapore, as well as a few other more mundane state side locations. I’ve had reception reports from 95 separate stations, from something like 38 states, so I thought it was about time to try to make a new map.

Addendum: Redid the map, which is bigger, and includes a plot of contours of distance from my home location to points on the map. It also includes an arc to Hawaii, just because it looked left out sitting by itself out there in the middle of the Pacific.

30m was crapping out after about 2:00AM UTC, and I had heard that Christian, WB5FKC was going to be sending QRSS Morse on 40m, just above 7.0008Mhz, so I tuned down and tried recording some. And, miracle of miracles, I got him:

If you read across (and know morse) you can see that it says (with a bit of interpolation) WB5FKC WB5F.. and then cuts out. He reports using a transmit power of only 50mw, and is almost exactly 1000 miles from my location. The recording covers the time from 10:08 to 10:44 or so PDT.
Addendum: I tweaked around with my FFT settings a bit, did a bit of noise reduction and the like, and managed to get this. If you click on it, you can see that there is a bit of chirp as each dot and dash ramp up in frequency over the four and twelve seconds that each takes, respectively.
