IT Infrastructure and Software Development from the Customer's Perspective
I’m posting this from my laptop sitting outside Marc’s Karate dojo with my iPhone in my pocket providing my Internet connection over Bluetooth. I can’t help but be geekily happy about this. I never bothered to set up the tethering before OS 3.0, so it’s new to me. This is old news to the hardcore users.
I guess a new thing is that Fido is cool with the fact that I’ve tethered. Not that I care what they think, but phone companies are vindictive enough to actually cut you off if they detected you were tethering, so I feel a little better that it’s legit. (Make sure you read the details to be sure you’re legit.)
The best instructions I found are here. The instructions here show the actual commands, which is useful to know when you’re debugging. It wasn’t smooth for me because I didn’t do the sequence in perfect order, and it looks like once I messed it up I just couldn’t get it to connect. By going System-> Preferences-> Bluetooth and undoing the Bluetooth pairing, I was able to go through the steps from the start and get it working.
The part I had out of order is that I didn’t check to see that the iPhone was actually connected to my laptop before attempting to tether from the laptop. The Bluetooth screen on the iPhone has to say “Connected”, not just show the name of your laptop.
While writing this I lost my connection and couldn’t get it back until I restarted Bluetooth on my laptop (sudo /etc/init.d/bluetooth restart). I have no idea what that’s about, but I’ve seen others on the Internet complain that the connection isn’t always reliable.
I just watched the Google Wave preview video. What I find intriguing about Wave is that they may have made version control accessible to the masses. Of course, they don’t call it version control. That name is part of the reason why it’s never been accessible to the masses.
Click here to see my del.icio.us links to the URLs they give at the end of the video.
I went to Open Web Vancouver 2009 last week. It’s a two day, low-key conference about open technologies for developers, testers and others at that level of the business. It’s a very well-run, well-attended and interesting conference, and very inexpensive.
The most interesting thing I heard about was PhoneGap. It’s JavaScript that runs on all the major smart phones, so you have fewer cross-platform issues. And it gives web applications access to some of the functionality in the phone not normally accessible to a web application. On the iPhone, this means the current location and vibration.
There was a good workshop with City of Vancouver staff about their recent direction to open up the city’s data, as well as moving to open standards and open source software. The first priority is the data. They’re hoping that people will take the City’s data and mash it up in useful ways. There’s a Google Group about this at http://groups.google.com/group/vancouver-data.
18 months ago there was a lot of stuff about Ruby on Rails at this conference. This time the Drupal community was big. There was a presentation from Momentum magazine about how a volunteer built their website in Drupal. I thought they’d found money to have a professional develop the site, it’s so good.
And Mozilla Messenging (i.e. Mozilla Thunderbird) is based in Vancouver. Who knew?
I needed a test environment where I could test mounting and accessing Windows shares on a Linux machine, using identities and permissions obtained from Active Directory (AD). After the initial setup, I wanted to run a processes periodically in the background, without user intervention. Therefore, having the user enter the password each time wasn’t an option. Also, the background process would be run periodically forever in the future. I didn’t want to store passwords because the processes would fail after the user changed their password (and it’s not a good idea to store passwords anyway).
The Kerberos authentication scheme in Windows and Linux uses tickets, which can be used to prove that a process is acting on behalf of a user. A user gets a ticket by requesting one and providing their password. Until that ticket expires, processes that support Kerberos can be run with the permissions of that user.
So let’s say we want to access a Windows share as user “testa”, which is a Windows user known to the AD server. The Linux machine asks for a ticket for testa, using testa’s password. The AD server validates the password and gives the Linux machine a ticket. The Linux machine can then mount the Windows share using Kerberos authentication. Accesses to the files and directories on the share will then be allowed or denied based on testa’s permissions.
I built an AD server on Windows 2003 Server SP2. The client machine was Ubuntu Desktop Edition 9.04.
Here’s how I went about it:
For a while I was getting “mount error(2): No such file or directory” when I tried to mount. It was because I hadn’t installed the keyutils package.
I’ve tested this up to and including the mount. I haven’t finished testing the background process I originally wanted to build. I may modify this post based on my testing experience, so check back later.