Arvont Hill

Tuesday, June 3, 2008

Virtual Wall

I built a virtual wall from these plans to see if I could program the iRobot Create to follow a beacon. The virtual wall puts out an infrared signal just like a TV remote control that the iRobot Create can see. I wrote a program in Python on my mac that controls the robot. When the robot sees the virtual wall it stops, when the virtual wall moves the robot starts spinning again to look for the virtual wall.

Next step...add an ultrasonic sensor and change the program so that the robot can follow the virtual wall in two dimensions instead of just spinning around.

Sunday, May 18, 2008

Wubi+Hardy Heron

Ubuntu 8.04 Hardy Heron came out and I wanted to check it out to see what was new. I only had one machine that was fast enough to evaluate the distro, my Gateway ML3109 laptop with a Celeron M processor and ATI Radeon graphics. It was running Vista and I didn't want to fool around with making new partitions or fooling around with a bootloader. However, after reading an ars technica review of Hardy Heron, I discovered I could use Wubi to install the distro on my laptop as if it was a normal Windows program. Better yet I could easily just uninstall it as well.

So I ran the installer, the installer downloaded about 500MB or so of files. The next time I booted up the Windows boot loader was presented and gave an option of Ubuntu.

I had played around with 7.10 on an old P3 with 384MB of RAM and was satisfied with it. I was anxious to see what 8.04 could do on the faster processor.

Here's my first impression after using it

  • Flash: I wanted to watch a TV show on Hulu but when I got to the landing page it said I was missing a plug-in. I installed the missing plug-in from Firefox and I was soon watching my show.

  • DVDs: This installation can't play DVDs by default. I had to install a bunch of different packages to get a DVD to play on the included Totem Movie Player. There are probably some copyright issues that these packages are excluded. I got hints on what to install from the Ubuntu Help program under the heading Playing DVDs. I followed the steps there to confirm that the DVD would play. Step 2 tells you to run the install-css.sh script. Be careful this will only work if you have the libc6-dev-i386 and libc6-i386 packages installed.

    After I knew I could play a DVD I installed VLC using Synaptic Package Manager. This is a much better choice for playing videos.

  • Compiz: This is a package that let's you do a bunch of visual effects. I wanted to try out the cube so I did some research and found out how to configure it. To get it to work I had to install restricted ATI drivers to take advantage of the 3D capabilities of my graphics card.

  • Sound: The sound volume was low compared to what I was getting with Vista. The DVD audio and other audio seem to be played through the PCM channel on the mixer. A google search gave me hint on how to open up the mixer to adjust the PCM volume. If you double-click the speaker icon it will open the full mixer. I adjusted PCM to full and Master to full and the sound is now adequate. I pretty much have to do the same thing on Vista to get decent sound as well.

Tuesday, March 25, 2008

iRobot Create: Logitech Harmony 520 Remote Control


I bought a iRobot Create programmable robot to play around with and learn a little something about robotics. I had always wanted to have my own robot to play around with and the iRobot seemed to be the best option for me. I didn't want to deal with the mechanics or construction, and I wanted to focus on the modularity of the platform and the software interface.

One of the first mini-projects I worked on was controlling the Create with a universal remote programmed like the standard iRobot Roomba remote.






Logitech Harmony 520

Sunday, July 29, 2007

My first day with the iPhone


The Purchase
I walked into the AT&T store by my house and was greeted by a friendly sales guy. I told him I wanted to buy an iPhone. I chose the one I wanted and about 2 or 3 minutes later I was at the checkout counter with another salesperson.

Since I was an old AT&T Wireless customer that never switched over to an official Cingular plan, I had to choose a plan and officially become a "new" AT&T customer. This made the activation process a little easier for transferring my number to the new SIM. I was asked for my e-mail address. I reluctantly gave it because I was wondering why they needed it. I paid the cash for an 8 GB, and I received the phone and a temporary SIM card. The temporary SIM card was what I could use for my old phone in between the time of the purchase and my in-home activation with iTunes.

The Activation
The activation had one snag that I noticed. I connected the iPhone to my Mac, started the activation and iTunes made it to a page that instructed me to check for voicemail on my old phone because it would be lost as I continued with this activation. Now at this point I tried to check my voicemail on my old phone with the temporary SIM card. Well, I didn't have access to my mailbox anymore. The mailbox wasn't setup on the new SIM and the old SIM was deactivated. Luckily I didn't have any voicemail messages so it wasn't that bad.

Other than that the setup was very smooth. Apple did a good job in my opinion.

Music and Video iPod
The user interface is just as easy to use as the click wheel on the iPod...nothing special here. The video looks pretty good and the audio is adequate. It works just fine.

Bluetooth
My V600 let me setup shortcuts for different functions. That's what I used to setup and activate Bluetooth. The iPhone doesn't have shortcuts yet...at least I haven't found them. To activate Bluetooth, from the main screen: choose Settings->General->Bluetooth. Make your headset discoverable; enter the passcode and you're done. I use a motorola HS820.

Again nothing special here. I just wish I could jump right to the bluetooth screen to deactivate and activate Bluetooth when necessary.


Pinch, Touchscreen, and typing
Pinch is cool, using the touchscreen along with Pinch will take some getting used to though. I found myself having to zoom in on some links to ensure that I was hitting the right link with my fingers.

WiFi
I don't broadcast my SSID from my home home network, and apparently if the SSID isn't being broadcast the iPhone can't use it, even if you enter all of the info manually. I'll have to do more testing to confirm this. Once I had the SSID and WEP password loaded into the iPhone and set my Netgear router to broadcast the SSID I was able to connect the iPhone to the router. However, there was a little snag and I needed to reset my router. I'm not sure what the problem was but it was easily fixed with the reset.

There was a noticeable difference between WiFi and EDGE with the WiFi being much faster.

Syncing
The one problem I am seeing with syncing is that there are 44 music files that get synced every time I sync the iPhone. Oddly enough the files are made up of multiple tracks by each of the following artists only: Beastie Boys, Kanye West, Maroon 5, Justin Timberlake, Snoop Dogg and Knee Deep Shag.

I have it setup to sync selected playlists. I tried de-selecting the playlist where those files are, syncing, selecting the playlist again, and finally syncing one last time. So far this process has lessened the number of files but it didn't fix. For now it's an annoyance that I'll have to live with.

Accessories
I have a Kenwood KDC-MP5028 Stereo with a KCA-iP500 iPod Interface also by Kenwood. Despite the warning on the iPhone's screen all three of them play nicely together.

What's Missing That I need or want
Shortcuts to setup menus
Bluetooth file transfer of photos
Bluetooth transfer of contacts
A2DP Bluetooth streaming.

What's Missing That I'm not to concerned about
Video recording


Further Testing
My Motorola V600 is unlocked and I was able to use my iPhone SIM with it. The next experiment will be tethering the V600 to my iBook with bluetooth to try to use the data plan. Even at a lower speed using the configuration can be more desirable in some situations than using EDGE on an iPhone. If I'm typing a long e-mail or reading a long blog post, I'm much rather use a full screen and full keyboard than the iPhone's UI in Safari.

I also want to see what happens when the iPhone is connected to my KDC-MP5028 when I receive a phone call. What if the headset is on?

Overall Impression
I'm satisfied with the iPhone so far. It delivers what it promises so I could only grade on some kind of arbitrary pass/fail basis. I give it a pass. So far there's nothing outstandingly great nor really bad.

Tuesday, July 17, 2007

July 15, 2007 Bike Ride Transmountain Trail

Here is the file for my bike ride on July 15th, 2007. You will need Google Earth to view it.

Monday, February 5, 2007

Laser Guided Parking - Intro

I was in Home Depot a couple of months ago and I saw an accessory for garages used to replace the tennis ball that people sometimes hang from their ceilings to keep themselves from going to far into the garage. However, this device was pretty cool. A laser beam was projected onto the dashboard in the place of a tennis ball.

I had to have my very own, but the one they were selling was only compatible with a specific garage door opener I don't have. Then I thought I could build one of these pretty easily. I just had to figure out how to do it. My challenges were:

1. Finding a cheap laser
2. Turning the laser on and off. (It's a waste to keep it on all the time).
3. Finding a place to mount it without doing too much construction.



Over the next couple of weeks I brainstormed and came up with an idea for the circuit. Like most garage door openers mine has a light on it that comes on when the door is opened or closed. After a while the light goes off. After thinking for a while I figured I could use a photoresistor in a circuit to turn the laser on and off. In this post I show a block diagram of the little system and a photo of the circuit.



I actually built this thing, and I am working the bugs out right now and when I get it working the way I want I'll send more info.

Friday, February 2, 2007

Let another user on your Mac use your iTunes Library

The following script allows one user to copy his iTunes library to another user. The user receiving the library will then have read access to all of the files in the library of the original user.


1. Make sure iTunes is not running on either account

2. Give read access to the Music folder of the original user with

chmod -R 755 /Users/sourceuser/Music
Where sourceuser is the username of the person sharing his library

3. Here's the script. Copy and paste it into an editor and save it as copyituneslib. You have to make the script executable, so start up Terminal.app and run

chmod 755 copyituneslib


Start copying here.

#!/bin/bash

if test -z "$2";
then echo "Usage: sudo copyituneslib sourceuser destinationuser";
exit;
fi

#copies my "iTunes Library" file to another user
#i have to set permissions on my iTunes folder to allow
#everyone to read it though.
#you also have to run this script as an administrator with the sudo command.

#you will have to do this once
#chmod -R 755 /Users/sourceuser/Music
#Where sourceuser is the username of the person sharing his library

#This means anyone with access to your computer will have read
#access to every file in the Music folder

cp /Users/$1/Music/iTunes/iTunes\ Library /Users/$2/Music/iTunes/iTunes\ Library

#since this whole script has to be run as root(a.k.a. administrator)
#we have to change the owner back to a normal user
chown $2 /Users/$2/Music/iTunes/iTunes\ Library

echo
echo
echo "Check to see that the library was copied."
echo "If it didn't work, make sure iTunes on the destination account"
echo "is not running"
echo



4. Run the script. If you saved it somewhere in your path you can just type

sudo copyituneslib sourceuser destinationuser

or else you have to type

sudo ./copyituneslib sourceuser destinationuser

provided copyituneslib is in your working directory.