I learned something about keyboards

As it turns out, the empty space between the Alt and Ctrl keys seems to be there for a reason:

The side of the hand needs room here.

On a real keyboard, one with real key travel, if you don’t put your hands on some kind of padding, the meaty side of your right hand will fit in this space!

I learned this when, on a whim and with only one usable keyboard left (a sad Model M) I picked up a little 82-key AJazz AK33 board. This board sports the modern world’s unserious attempt at approximating buckling keys – Cherry Blue-esquers. But, hey, it’s small. Or something. And lighted. And has some key roll-over.

Ajazz AK33 with no slot for the right hand to fit in to.

But it didn’t work for me. Turns out, my right hand would push the left arrow key at random – usually when hitting a burst of keys.

Luck was good, though. I got one of my ~30 year old NMB buckling spring boards working again. They aren’t the best keyboard ever made (i.e. an IBM AT board), but they are up there.

Does rotation matter?

Watch a baby get frustrated with toys that encourage them to fit a piece of wood in to a complex hole the piece is shaped for. Or watch a baby try to fit simple-geometry, 3D blocks through the 2D holes made for them in a box.

The question is: Do babies have a hard time twisting things and/or do babies just not “see” the rotation of an object? Or is there something else going on?

My own memory of those fit-the-pieces toys is not happy. I found them boring. And irritating. The danged thingees just did not fit properly! Like they had secret knobs that stopped them from going in to their holes. But I don’t remember having a hard time physically rotating the thingees. They just didn’t auto-rotate to exactly the right orientation as they should have. I was probably thinking, “Good golly, where is NFC when you need it?!!”

Well, luckily, the world moves on. Some years ago, car companies figured out a key should go in both ways. Now, they’ve figured out cars don’t need keys. Just a push-button. Soon, soon, your infant will be able to drive.

So what does a VR headset feel like if it rotates the horizon to always be level with your eye line? … … … As you see it in real life.

Little Hike in the Rain

In Ella, the big deals are things like a hill, a couple waterfalls, a tea factory.

I took a day to see a hill.

And got watered down while in the usual location: Off the trail.

It seems Costco’s nice, waterproof hiking shoes may not be completely waterproof. But, then, every shoe has a large hole at the top. Such holes in mine may have been a factor. Since I was pushing through thick, chest-high grass on a steep hillside, some of the water the shoes are so liberally soaked with even now, 12 hours later, may, just may, have leaked in fairly. And only one, big finger-cut on the grass, so not much blood to clean off. It was a very short hike, but a complete success.

I wonder what happened to the dog.

dog on little Adam's Peak

In a new place, one can notice separate worlds sharing a space, but only vaguely connected. In Sri Lanka, there are such human worlds. But a couple others become invisible wallpaper if you’re not careful.

Little dogs in the road. Lots of little dogs. Often sleeping. Oddly, with no apparent effort, avoiding being run over.

Little monkeys on roofs, wires and trees. Running around like feral kids. Apparently, they cause some damage. Pull apart roofing to get to food. Sneak in through windows to get to food. What happens to them when they can’t jump from power wire to tree?

Adam’s Peak – Sri Pada Temple

The hill country in Sri Lanka is webbed with roads curling around steep hills. Eventually, modern roads will be put in and trips that take a couple hours now will take a few minutes. Driving roads scaled to long English coastline fractal dimensions at speeds approaching 25 kilometers per hour – notice I didn’t say on which side those speeds are “approaching” – makes short trips complex experiences.

Above those hills looms a stand-alone hill that, in another place would be called “Dragon’s Tooth”. It’s English name is “Adam’s Peak”. Referring to the first dude.

Adam's Peak from afar Adam's Peak from underneath

Adam's Peak from Maskeliya Maskeliya from Adam's Peak

3000 feet up in 2.5 to 3.x miles. Most of the e-gain in the last third of the trail. The whole trail is stairs. All stairs. Nothing but stairs. Robust people do it in a couple hours. I took 3. Along with several guys hauling concrete and potatoes and video gear and whatever else is needed for the “season” to start tomorrow.

An easy part of the trail to Adam's Peak A harder part of the Adam's Peak trail

I stayed in another empty “hotel”. In a town named Maskeliya, not near the trailhead. That would be the last time I’ll book ahead, or even think ahead. This hotel was not only empty, but felt closed. The owner did try hard to make things OK. But I moved on. To a place chosen on the spur of the moment simply because a couple people in the Hatton railway station said it existed. Ella.

And write this in a comfortable, 1-person guest house there in Ella. Where ever that is.

Here’s a tea field between Hatton and Ella. Taken while standing between the rail cars, hanging out, seeing the sights. Catching tiny stickers from grassy stems brushing my hands as the train trundles by.

Tea field - many are the hills covered by tea fields

In Kandy

A long walk through the Buddha-tooth temple/museum/what-not left me very tired. The walls gurgled in the last museum I walked through at a pace like shopping with a woman. The afternoon rains had set in.

Sandstone Buddha

But the rain stopped and I walked back to the hotel, always ready to flag a Tuk Tuk if the rain started again.

Kandy Lake street scene

From LAX to Kandy, Sri Lanka

Emirates through Dubai. 16 hour flight from LAX and, really, cheating a bit on an around the world path. Look at the globe. This flight goes over the North Pole, more or north-coast-of-Greenland less.

Anyway, several bad movies later, I had a 7 hour layover at Dubai. So the metro runs quickly in to the Very Tall Building – sometimes pronounced Burj Khalifa. But not quickly enough. By the time I walked around it, there were no more slots to the top that night. Maybe next time. It is kinda cool, though, from right underneath.

Burj Khalifa

In Colombo airport: Waited with eyes closed for the immigration line to disappear. Didn’t try the net, where I would have found an email from the owner of the hotel in Kandy. The email said a car had dropped someone off and could take me directly to Kandy. Which would have been a good idea, probably.

But the issue was moot. My well-washed passport was finally explained by the Sri Lanka immigration guy. The mag strip isn’t readable. So that’s why I had to go to the empty and mysterious “Room number 3” to get back in the airport in Dubai. And why every passport official fusses about the passport. How did they ever survive back in the day?

Train to Kandy. Struck up a conversation with a doctor. Seems ultrasound scans are $6 or $7 dollars in Sri Lanka. Bit like train and bus prices. Which are, to outside eyes, free. Multiple hour trips across half the country are in the 2 dollar range here. Not sure who’s picking up the tab.

And after a tasty dinner at the almost-empty Majestic Tourist Hotel, I slept for 26 hours.

Majestic Tourist Hotel

Installing opencv 2.x on Ubuntu Lucid

Lucid include opencv version 1.x. That version doesn’t cut it.

Here is how to get the latest (as of March 15, 2014) opencv going under Lucid.


sudo aptitude install cmake libdc1394-utils libjasper-dev libavcodec-dev libavformat-dev libswscale-dev

#
# cd to some temporary directory, download the latest opencv ZIP file and then ...
#
unzip opencv-2.4.8.zip
cd opencv-2.4.8

#
# Get around that we need a newer cmake according to the Internet - commenting out the problem is the easy way to fix it
#
cp ./cmake/cl2cpp.cmake ./cmake/cl2cpp.cmake.original
perl -ne "~s/string\(MD5/# string\(MD5/; print" < ./cmake/cl2cpp.cmake.original >./cmake/cl2cpp.cmake

#
# -D MAKE_FFMPEG=OFF 'cause we need a newer ffmpeg - so opencv will just not be able to do things ffmpeg allows
#
mkdir -p release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=OFF ..

# make using as many CPUs as you have - 4 in this case
make -j4
sudo make install

# verify this version of opencv works with a usable language
python -c "import cv2; print cv2.__version__"
2.4.8