Saturday, April 2, 2011

Pulling the plug on Japan


This week we made the painful decision to cancel our trip to Japan next month. I've spent months working out a really nice trip, but the nuclear thing, even though I know it is being overly dramatized by the western media, is stressing us out. I feel bad about bailing out, but we realized that we were so worried about things in Japan, we weren't even looking forward to the trip.

Since we are planning on doing this trip some day, I thought I'd record the original plan I had put together.

3 nights in Tokyo
7 nights townhouse rental in old area of Kyoto : day trips to Nara, pottery town of Bizen.
2 nights stay in buddhist Temple in Mt Koyasan area
4 nights Takayama
1 night ryokan in Takayama
2 nights Tokyo




Sunday, March 13, 2011

Google MyMaps... So close, and yet so far.

We're taking a trip overseas this year, and I'm in full planning nerd mode. I won't have cell phone or 3G service where we'll be going, so I'm trying to look at ways to utilize a mobile device for helping with directions and routes when we will only have occassional wifi access.

I've been tinkering with Maps 5.0 on Android, especially its caching functionality. The caching seems to work pretty well. I think if I spend some time roaming around in google maps on the device with wifi access, it will work well when I dont have wifi.

The problem is in geotagging and routing. While I'm offline wandering around a city, I won't be able to look up the place we're headed to, or get routing information to guide me to the location. So I need some system of locally stored/cached items that have longitude/latitude data with them, and it would be sweet loveliness if I could also have a locally stored/cached routes for our plan for the day.

I was so close with built in Google Maps features of MyMaps for routes and "starred places" for individual locations.

I am able to 'star' something on a map, and Google Maps will sometimes sort of cache my list of starred places (but not reliably caching)... But... While I search for the item by the English name, in my "Starred places" list, they tend to be listed in kanji (we're going to Japan). I can't find a way to rename a spot I have starred. That's going to really limit my ability to use this feature.

MyMaps would be perfect for planning siteseeing, except it doesn't cache at all.

i'm almost tempted to build a PhoneGap app that pulls POIs from locally stored stuff, and then invokes Maps with it. Mmmm... would I still be able to have fully functional Maps 5.0 caching? Is there a way to plop a route on it? Before I launch off on that, I'll probably poke around and see if anyone else has already coded up something.

Monday, February 28, 2011

Finally!

I haven't been doing much in the way of electronics recently because I've been spending all my time researching/planning our upcoming vacation in Japan. ( it also doesn't help that my workshop is out in the chilly garage. )

I finally have our route and hotels planned out. Here it is: Tokyo - Kyoto - Mt. Koya - Takayama - Tokyo. In Kyoto we are renting a traditional wood machiya (townhouse), and plan day trips to Bizen City and Nara. In Koyasan we are staying with monks in a Buddhist temple, and we have one night in Takayama in a traditional ryokan with a smazzy dinner.

We still have lots of planning to do, but somehow there is a certain comfort in knowing where you will rest your head each night.



Saturday, February 5, 2011

The power of creation.....errr.... Programming

I recently took phonegap for a spin around the block. I've found that I learn best by flinging myself at something and doing/creating/making something. Phonegap is pretty cool. It creates platform independent hybrid apps for mobile devices. It basically uses JavaScript as its programming language, and provides APIs for using all the sensors on your device. That means you can use whatever JavaScript libraries you want, and you can compile your app for android, iphone, and blackberry.

One of my pain points in developing augmented reality apps has been that getting camera access meant developing a native app, which in turn meant porting waz painful. Granted, I think for vision based AR, a true native app is still the way to go because you usually need to do some crunching on images that you grab from the camera. But once video support is added to phonegap, things get really interesting for location based AR.

Anyway, I created a simple phonegap app that grabbed a picture from my camera, displayed it in the app, and then used jquery to push it to my waiting php script on my server. I learned a lot from it, and was struck by one thing. I realized that in the space of an afternoon that I had sort of implemented a rough cut version of what my Eyefi setup does. My Eyefi pushes images from my camera to my NAS, and the phonegap app does a similar thing, using all open source. Open source is so cool that way. It's like no matter what I need, there is always a waiting set of open source power tools for the task.

Tuesday, January 11, 2011

Finally testing the ups

Power went out this morning, and now I can test the ups. This is cool. I sitting in a dark house, but still have connectivity with AT&T uverse. My router and my NAS are hooked up to a ups. I'll probably get one for Vermont, since the cabin tends to have more frequent power blips.

Unfortunately, the coffee maker isn't hooked up to it, so my next cup will be luke warm. Connectivity is more important than hot coffee. I wouldn't have said that 10 years ago. If the power stays out much longer, I'll get to find out if connectivity is more important than heat. It's 30 degrees out.



Thursday, December 30, 2010

Bucky haz balls

I recently got some buckyballs. They are small highly magnetized metal balls that go into different shapes. They are meant as a geeky desk toy, and are probably really really hazardous as cat food.

Here's a pic of making them into circles. They are on a standard sized placemat, so you can see the scale of them:



And here's a more difficult arrangement I made by making a bunch of hexagons, and sticking them next to each other. I found it harder to get the little suckers to line up than I thought it would be. Definitely a good geek toy.



Thursday, December 23, 2010

Geeky, or lazy, or both?


I picked up a $40 Eye-fi device today. It's 4G of storage and wifi capability in an sdcard sized format that you use in your camera. It wirelessly copies photos from your camera to your computer and/or your choice of online flickr-ish picasa-ish web sites. I find the automagic moving of photos to Facebook or Flickr to be a bit trigger happy, maybe because I always take tons of photos, and then sort down to a few decent ones to post. Anyway, I configured mine to plop photos and videos onto my NAS drive, so they are then accessible from all my different devices, ipad, galaxy tab, laptops, and even on my tv (thru my PS3).

If I use FileBrowser app on my iPad, I can locally store a photo from my NAS, which then means I can pull it into BlogPress for posting here. A bit convoluted, but it gets the job done, and it means I'm not constantly pulling the sdcard out of my camera when I want to pull pictures from it, and then hand copying them to somewhere my iPad can read from.

If I like it as much as I think I will, I might get the uber sweet one that also geotags photos based on wifi location, and supports pushing RAW format.

So i wonder if getting an Eyefi is geeky, lazy, or both?

Wednesday, December 22, 2010

Testing out blogpress iPad app

I really prefer to post from my iPad, yet the browser interface is a bit rough in places. So I'm testing out blogpress to see how it does. One feature I want to test is posting images stored locally on the iPad, if this works, I'll probably snag the camera/USB card attachment for iPad.


This is a photo of a delicately posed rock in Big Bend National Park, with the Chisos mountains behind it.

Tuesday, December 21, 2010

Gesture Recognition in Snowstorm

Today a patch was released for the Snowstorm Second Life viewer that enables gesture recognition. It scans the video stream from your laptop's webcam and determines if you are shaking your head up/down, or if you are waving. It then plays animations matching those in Second Life, so everyone around you in SL sees you waving or nodding.

https://jira.secondlife.com/browse/SNOW-820?

It is very early code, so don't blame me if your machine explodes, but it is kinda fun to play with. It pops up a side window showing the outlines of what the gesture code finds, including a nice box around your head. During testing I had to make myself humanoid, since my funky woolly caterpillar avatar didn't grok the head nodding.


It's Alive!

Watch out, the software geek is spinning servos. I made my first robot yesterday. My emphasis was on not destroying any of the parts i was using, so they could be reused in future projects. First, a shot of how messy my work area out in the garage was during building:
As you can see, I've really got to spend some time getting stuff organized.

The bot is built on a sheet of yellow plastic that's fairly strong yet easy to  cut with some grunty swipes of the utility knife. It uses a single power source connected directly to Vin on the arduino. The battery pack is mounted on the underbelly (6aa NiMH rechargeables). The arduino and mini breadboard are mounted on top. For locomotion, i have 2 gws continuous servos connected to the regulated 5v output of the arduino. I have a switch on the breadboard controlling the servos, so I can start and stop them independently to the arduino.  For wheels, I use leftover CDs that i drilled holes in and mounted to the servo horns using wire. For a 3rd wheel, I used one of the slippery pad things intended to go on the bottom of chair legs to help it slide. With the batteries, it weighs 1lb, 2oz.  It's programming is dead simple, I basically just turn on both wheels and roll. I did break out the wheel functions to a separate file (not a library, just crammed in a .h) to aid in reusing in my next bot.  I think I have a power thing I don't understand with this one (alert:software geek doesn't know which end of a capacitor is up). I have loop() do a serial.print() each time it gets called, and that print stops happening when the wheels start. I'll be damned if i can can find meaningful data on the servos to tell me what their peak power draw is, so it perplexes me. It will perplex me less when my motor driver arduino shield arrives, because i think that will help. I also need to start driving the motors from a different power supply than the arduino. I'm imagining my next bot sagging under the weight of all these batteries.

It scoots around the kitchen floor, it is rather cute. I did learn a lot by building it. Here it is ready to roll: