Thursday, September 26, 2013

Back in Hardware Mode.

So, I stayed up late last night looking though my local Home Hardware superstore's on-line catalog, as I sometimes do, and had one of my ideas. So I went there today, bought some stuff, and before the sun went down I managed to make this.

It's a telescope mount, built from galvanized iron pipe, brass fittings, threaded rod, and some roller-skate bearings. The action is so smooth, I can start it spinning and come back a minute later.

Australians will recognize this as another example of Hills-Hoist based technology.


You can just see one of the bearings on the lower swivel. I've seen a lot of iron pipe used in the construction of amateur 'scope stands and mounts (and even the optical tube assembly) but I've taken it a step further and used matching brass fittings to create bearing blocks that accept standard ABEC 608s.

The bearings can be quickly removed, and disassembled, as I did just then. Those brass parts cost $4 each new, the skate bearings cost me about a buck each back in the day (and have been sitting on a shelf for years) and I had the nuts and 8mm threaded rod lying around from previous projects. 

The real secret (and most expensive item) was the special "self-centering step drill" bit that I used to ream out the ends of the fittings, to create a 22mm 'seat' for the bearing to sit within. I chucked this bit into my drill press, and manually turned the bit, (as if I were tapping a hole) instead of powering up the press.

I have a lathe, but really didn't want to use it for this. Partly this was to find a method that works for people who don't have access to a small machine shop, and partly because I don't like them because they're so insanely dangerous. "Experiment" and "Lathe" are two words that do not go together well.

Each only took a minute or two to carefully ream out to a depth of a couple of millimeters, even by hand. Brass is a lovely material to work... you can feel the chips coming off. (Brass was cheaper and more accurately machined than the equivalent galvanised steel, which was clearly die-cast, and had terrible dimensional accuracy. Don't substitute iron or steel, or use cast parts, you will regret it.)

Actually, the 22mm drill step left the fit a little too snug. The bearings would go in, but getting them out again took a small impact hammer. So I put a small grinding bit in my Dremel, and 'dusted' off a few more thou (just enough to smooth away the drill tooling marks, really) and now the bearings drop in and fall out perfectly. A file, or some sandpaper and time would have worked too.

Total cost for the two bearing assemblies? $20 in parts, and $25 in tooling.

Given that I've see people using four 'pillow block' bearings that cost $15 each on eBay (if you're lucky) I consider this a win. Especially since mine are a fraction of the size, inline, and require no extra mounting hardware to attach to the pipe.

I not only have a new telescope mount, I have a technique for making them at will.

Also, those facing inline threads will come in very useful when I start attaching motors and gearing and torqe plates. I have some designs already, but obtaining Arduinos and servo motors will take a little time. (Assuming I don't reallocate my CNC steppers.)

Sunday, September 22, 2013

I'm floating in a most peculiar way. And the stars look very different today.

So this is where I'm at with my 3D on-line virtual astrometrics laboratory:

A big sphere, modelled on the Hayden Planetarium, stuffed with visualizations of planetary and solar datasets, (middle floor) an accurate 3D orrery (top floor) and a signal processing lab (bottom floor) floating in a virtual skybox.

I don't even have proper gravity yet, it's that primitive. :-)

I've had this web page hooked up to my telescope, and used it to process astrovideo data in real-time. It's not just a pretty face.

Pretty much everything is improved. Framerates are up. Caches are in. The LEP module now only requires 5MB of download to predict the moon's position to 1 meter accuracy, and runs twice as fast. The comms framework has moved beyond bouncing chat messages from ipad to desktop, to a level which allows peer-to-peer video streaming, in theory. (From WebSockets to WebRTC.)

Actually, I seem to be in a slight project pause. This happens from time to time. Usually once all my first-round technology goals are complete, and I realize it's all going to work as well as I hoped, I get kind of stunned by the sheer scale of it. It seems to be part of the process.

Step 1 is to dream your impossible dreams. That's the easy and fun part. Technology is the science and art of making the impossible real, so set out to do something impossible, but cool.

Step 2 is to learn why it's currently impossible. It often comes down to some critical component not being available, like perfect diodes, or superconductors, or a non-exponential algorithm.

Step 3 is to look around and realize that someone created exactly that last year, or found a way to make them unnecessary. Read lots of papers and science journals.

Now you're off to the races.

Because now you're in possession of that most valuable kind of knowledge: a single true fact that 99.999% of other people still believe to be false. You know it can be done, against the prevailing common-sense.

Of course, if you discover the critical component is still impossible, well, too bad. Project over. Try again some other day.

Failure is quick and easy. You write "does not work" and move on to a different approach. It's the usual outcome. It's when it all goes right that you have to occasionally stop for breath... In my case because I didn't really plan this far ahead. I wasn't sure I'd get here.

What matters now is engaging other people in the project, hence the very literal focus on 'Player Avatars' and peer-to-peer protocols. This is where the project strays slightly from the core astronomy focus, and starts involving psychology. For example, the particular choice of avatar that you 'inhabit' can have a profound impact on your self-perception, and even your ability to learn.

For example, I'm thinking of representing all 'players' in the environment as Astronauts. One-size-fits-all generic international space-suit to start with. you may get customizable patches. Michelle had the brilliant idea of letting the suits be 'marked up' by the environment - spend a lot of time in front of the Sun, and you get tanned. That kind of thing. If you have a webcam pointed at your head, we might even be able to go around 'visors up' and see each other's real faces.

At the opposite end of the scale, imagine if, upon entering what was purported to be a Massively Multi-Scientist Online Research Environment, you were embodied in the avatar of Donald Duck. A world populated with multi coloured giant Donald Ducks. There would be an element of cognitive dissonance that would not serve the intentions of the environment.

One excellent researcher said (I paraphrase) "Avatars have a profoundly positive influence when they represent us at our best. As we wish to be."

I'm guessing if you're insanely, professionally interested in the stars, you secretly always wanted to be an astronaut. I know I did.

To this end, I've been watching documentaries on Space Suits from around the world. Even standardizing on suits has the opportunity to introduce a vast range of what I like to think of as 'virtual hats'. From homages to history, through to some rather stylish modern threads.

Wednesday, September 18, 2013

Unboxing iOS7, no WebGL

Well, my iPad2 has finished the download, and is into the updating process. I figured I should fire up a blog post and do this sucka real-time.

My first and pretty much only need in this release is for Apple to enable WebGL in Safari. WebRTC is pretty high on the list as well. These are core HTML5 technologies, and years ago Apple kicked Adobe Flash off their devices because, they said, they had a commitment to web standards over proprietary formats.

Granted, a lot of us read between the lines of Apple's statement as only applying to other people's proprietary formats, but we're a cynical bunch.

And in truth, the web is probably stronger now that HTML5 Canvas is out there. Apple did do us a slight favor with the "dragging kicking and screaming", but a lot of people were left with slightly assaulted feeling.

My update has finished the download, but is still preparing.

Oh, by the way, you need have 3Gb of free space before doing the update. For me, that meant deleting my biggest eBooks and my entire music collection. I doubt anyone who's had their iDevice longer than six months would have that much free space. I really hope I get that space back at the end, since I rather enjoyed using my device for more than merely running iOS.

Still preparing...

The problem is, the advancing HTML5 spec is doing to apple the same thing that Apple did to Adobe. Special feature that only iOS Apps had (like using the camera, compass, and local storage) are now core parts of HTML5. Why use an App when a web page can do it all?

Apple controls the App Store, and it has shown a propensity to attack any program, individuals, or technologies which try to end-run around their tollbooth. It makes perfect business sense, but has been rubbing people the wrong way.

Apple championed open standards when it was a way to leverage their device into the market, let's see if they keep the faith. But cynical me remembers Steve Jobs changing position from "Great artists steal!" to "we must defend our intellectual property!" as soon as it was profitable.

Prep finished, I pressed the install button (before it self-pressed) it verified, and now I've got the reboot screen. Waiting....

WebGL means that 3D games and systems can be written in the browser, not as an App. We know apple has ported the technology, because you can do HTML5 WebGL in iAds. Frankly, that's a little galling. Advertisers have access to better technology (in the in-app banner adds) than web developers do in their premier browser. Some people are beginning to release special browser apps that enable this one feature. (Not available in the app store, of course. You have to download and compile it on your OSX developer box. Oh, you don't have one? Too bad.)

The install bar is over a third of the way through. This is going to take longer than I thought.

Mmmm. Coffee. Over half done now.

So, here's the test. Will Apple enable a technology that creates a better cross-browser experience for everyone, if it means reducing the value of the App Store?

Oh, it's saying "Hello" now. It's user friendly, my dear chum.

First impressions:

  1. The keyboard feels 'sloppy' now. Like, an extra 50ms or so before the press is registered. I built a HTML keyboard that felt more responsive than this, clearly worse than the old keyboard. 
  2. They Skeumorphisms are gone, just like they promised. At least there's that.
And now for the big test.

FAIL. No WebGL. No UserMedia extensions.


Well, thank you Apple, for not helping. You've just managed to derail a major part of my project with one self-interested decision. I was hoping to use your hardware platform to do some interesting things, like map the entire of cis-lunar space using a network of internet connected telescopes, but I guess I'll have to use Android for that instead. Frankly, I don't have time to rebuild my apps for your gated cul-de-sac. It would have been nice to include your users too.

At least it works in iAds, eh? Now we know who you care about the most.

Saturday, September 14, 2013

Fire Map Updates - South Australia Feed Interruption

Temperatures have been ticking up again, so I thought I should review the Fire Map. Good thing I did, because South Australia changed their KML namespace from "" to "" which meant all their dots had disappeared from the map. (No bells went off because technically there was still a valid XML document being retrieved - it just seemed to be empty from the old namespace's point of view, something which is often the case in the off-season.)


Sorry about that. Fixed now. I rather wish there was an RSS feed for people who depend on the RSS feeds so we could be informed about changes to the feed before they occur. Just saying.

I also would have liked to fill in the final missing square - the Northern Territory - but they still don't have any kind of public incidents feed. At least the MODIS satellites provide hotspots. Shame; It looks like there's a lot on fire up there at the moment.

And I really need to check in again with Queensland Parks and Wildlife, (well, whoever is left) and try to get at their incidents data again, since they essentially cover half the state. (The half where QFRS don't go.)

Alas I haven't been privy to the long-term forecasts for this year, so I'm not sure whether it's expected to be a wild fire season like last time. Let's hope not, but still make plans for if it does.

Thursday, September 12, 2013

Beatmatching the Internet

The primary skill of a DJ is 'beatmatching'; playing two songs together so their beats perfectly overlap and it sounds like one song. (Do it wrong, and the whole room groans from the cacophony.)

The next issue that I have to solve is how to keep a network of thousands of browsers running my peer-to-peer app synchronized with a single network clock. If they don't share common time, then peers can't swap physics state, because positions, velocities, and accelerations are all time-related quantities.

So the paper I've been implementing this week is:
Gossip Based Clock Synchronization for Large Decentralized Systems

The basic principle is stolen from Fireflies. They blink in synchrony with each other in swarms of thousands, or even millions of the little bugs. They clearly don't have a central network-accessible timeserver, so how do they do it? Well, it's also the same way a crowd 'locks on' to synchronized clapping at basketball games. We all have our own 'clapping rate' and we adjust that rate to bring it into perceived synchrony with what we can hear - which is your neighborly 'subset' of people within audio range.

When that principle is in operation (defined as "taking the alpha-trimmed mean of all known peers". "alpha-trimming" is just ranking the list, and throwing away the top and bottom quarters, or some other fixed percentage. In essence, "going with the majority".) crowds that started with pure chaos have order spontaneously emerge, and within seconds the entire ensemble is in perfect lock-step.

Now that's all well and good, but I have also learned the secret pain of all true timekeepers: General Relativity.

Special relativity is enough trouble on it's own, but the concept of speed-of-light delays is entirely tractable and is built into the internet at a fundamental level. Instantaneous communication would really help the problem of keeping remote clocks synchronized, but isn't strictly necessary. So long as the flight-time to and fro are equal, we can cancel them out with some math.

General Relativity explains that there is no such thing as a single reference timeframe. And frankly, we've tended to ignore that as not relevant to our daily lives, but it's no longer the case. If you like having a GPS that gives better than 30 metres of accuracy, then you're invoking full General Relativity, because they have to 'slow down' the clock ticks that the GPS satellites send out because they are higher in the gravity well than us, and therefore time passes slightly faster for the satellites than us.

If you remember your Popular Science, this is the Twins Paradox. We have a situation where the atomic clocks in orbit seem to go faster because, literally, time is faster up there. Send two clocks along different spacetime paths with different time dilations, and they will perfectly record the time they individually experienced getting there, and will legitimately disagree. So we can't do the classical trick of starting a clock in Greenwich and then moving it to Mars, because the path we take will change the result.

If they did not account for that effect, your GPS system would not be accurate to the city block.

But then how does this affect the concept of internet timekeeping? Well, the internet is expanding out into the solar system, catching a ride with the various probes we send. All our protocols are based on an Earth-Greenwich-centric concept of universal linear time, which is fundamentally not true. That's an issue for the JPL planners right now.

And as our clocks get better, we'll begin to notice the same effect across the surface of the globe. If you live on a tall mountain, or in one of those gravitational anomalies, then clocks in your area are going at a different rate. At some point we'll have to add corrections to our internet routers to account for the warp, or packet times will be wrong. Your mobile phone will need know the local rate of time in order to get sub-millimetre GPS accuracy.

As for our Legal System? I'm waiting for someone to divorce an astronaut, and for the lawyers to explain whether the change in marital status propagates at light-speed, or faster. (Is it like a neutrino?) Or more importantly, what 'before' and 'after' actually mean for high-frequency nanosecond trades in the global financial system.

At least for me, at the moment, the accuracy of browser timers isn't sufficient to really show up this problem. Thermal noise will have a bigger effect, so I can get away with purely classical ideas of time. At least, in this version. Call it an open problem.

But now I know why internet timekeepers have such a crazy look in their eyes. For them, the wibbly-wobbly nature of time is a physical presence who comes into their labs and beats up their fragile human conceptions of one-thing-happening-after-another. On a daily basis.

Be kind to them.

Oh, and I got a message from PayPal explaining the new way in which they are being stupid from next month (upgrading from HTTP 1.0 to 1.1 on your servers shouldn't require the entire internet to upgrade their software simultaneously.) in ways which I expect will seriously damage the credibility of the company when thousands of small internet stores suddenly break on Oct 9, and then have to dig through their spam archives to figure out why. But frankly I'm bored of that entire kettle of stupid. My forehead can't take the face-palming anymore.

Wednesday, September 4, 2013

Cosmic Update

I've been busy with Delaunay triangulations, since they're vital to a couple of things I have going on. And then this evening I saw this:
Oh my.

It's like Carl Sagan regenerated and came back as Neil deGrasse Tyson. Parts of my head exploded.

I am so very, very tempted to wrap a vertical fin around my existing virtual astronomy dome in fanboy appreciation, but since I already planned to have one version of the Starship Imagination 'docked' for use as a presentation theater, I can simply make a place for another.

We are all clearly inspired by the same background material, and the shared feeling that it's again time for some Real Science. (Try it!) So I await in eager anticipation. No, better than that... I'll race you. 2014 it is. Let's show the world how incredible the universe really can be.