8. July 2005 23:15
Well I have wanted to get an external drive to solve one primary problem I have. Desktop and Laptop synchronization. First Some Background
I am a permanent virtual employee for a company in Scottsdale Arizona. I use the company desktop PC in my home office. I routinely travel to Scottsdale which forces me to take along a laptop. The main problem I have is getting my files off the desktop and onto the laptop for the trip. Then when I return from the trip I like to move the files from the laptop onto the desktop. Well to transfer a large amount of files over ethernet from desktop to laptop and back can be a very slow process while VPNed in. The transfer goes through Scottsdale. I can't even use local IP addresses to route the traffic. Currently I only had one option. Disconnect from VPN and transfer the files. This basically keeps me from working at all while the copy is happening. So I needed another solution. Enter the solution
Since I had a Comp USA gift card of a sizeable amount I decided to start at my local store looking for an external drive solution. I had an old 5 1/4 30 gig hard drive that I intended to just get an external USB case for. The drive came out of an old computer and I wasn't even sure if it was fully functional. Looking at external cases they where around $40. Seemed like a large amount of changed to drop on just a case. So I started to look for another solution. I stumbled across the Hammer Storage 80 gig USB 2.0 device that was on sale (with rebate) for $69. Most other external drive solutions started at $99 so this seemed in my price range. So I grabbed one of these drives and took it home. Conclusion
I am very happy with the device. You don't even have to load any drivers for it! It just works! I made some simple batch files to copy the data from my desktop to the external drive. And it worked relatively fast. The best thing is that I can continue to work as it is copying files. Now getting my laptop ready for a trip is no longer a painful process.
30. June 2005 20:26
Noticed another little problem with my copy podcast program
. I need to do some clean up on the directories of the destination (SD card). After I delete podcasts on my pocket PC many empty folders start to accumulate. So I need to add a process to clean up empty folders on the destination folder.
So far I have been using this program for almost 2 weeks. I like this setup a lot better than just relying on Doppler and Microsoft Media Player to manage the synchronization process. All I need to do is make the copy program a little more friendly and add a few abilities to the Media Player to support bookmarks and auto delete.
22. June 2005 14:45
In my program that copies podcasts over to my SD card
I noticed a few things that need to be changed.
The way I am using this the copy process is really a move. I am moving the file to the SD card from it's original place on the local PC hard drive. This means the file should retain it's original date. I do not think it is doing that in my program.
Files should be moved in chronological order. This helps to ensure the oldest files get copied first in the event there is not enough room on the destination.
21. June 2005 00:35
This is a follow up on my post about Listening to Podcasts
. I went ahead and developed a small application that grabs the podcast files and moves them to the removable media card. Here is a little idea on what it does.
- Tests to be sure the destination folder (removable media card) is available
- Looks for files of type MP3 in the source folder walking all the directories
- If a file is found verifies that enough room is on the destination folder
- Copies the file to the destination
- Removes the file from the source
- When all files are processed it looks for empty directories in the source directory and deletes them
All I have to do when I am done with listening to the podcast on my Dell is delete it. The only problem I have left is that the Windows Media Player does not support bookmarks.
Room for improvement:
Currently the application must be launched manually and pass into it the source and destination directories. It would be nice to have a service that just watches the source folder for new files and process them as they come in. The program looks for mp3 files only. It would be nice to add support for other media files.
19. May 2005 06:53
I have been doing a lot of Unit Testing in my day job using NUnit as the framework. I find writing code to test code is very interesting and makes my coding efforts less bug prone. However in my off time I often mess around with non .Net programming projects and I miss the ability to write test code in these projects. Well it is not too hard to follow the same sort of unit testing practices when you do not have a testing framework in place.
Just recently I was writing some BX24 code for a robotic project. I needed to create some conversion procedures to go from a Byte/Integer to a String and a String to a Byte/Integer. How would I determine that my new procedures would work as designed? Certainly I could not rely on the production robot code to test the conversion procedure.
The BX24 programming language has the concept of projects and source modules. A project is nothing more than a collection of source modules. One of the source modules must be the main entry point of the project for starting execution. This concept allows me to simply create test projects that are designed to test a single source module.
So I moved my conversion procedures into a Conversion Module and made a Conversion Test project. Then I proceeded to write test code in the main module of the Conversion Test project to exercise the Conversion Module. I now had unit tests that exercised the outer bounds of the Conversion Module. I proceeded to fix bugs in the Conversion Module until all tests passed.
Of course without a framework I did not have the nice GUI with Red/Green lights to tell me a test passed or failed but it sure did help me determine if my module was fully functional or not. So if you have a programming project that does not have a nice unit testing harness but your IDE supports module level programming you to can use the above techniques to write bug free code.
11. April 2005 15:24
Looks like Scott Hanselman is gearing up for some .Net Hardware related articles
. Some of his brainstorming ideas are similar to my Home Automation Ideas
. Like the use of X10 and a Video Monitor for the front door (Although I see I never documented the Video idea on my wiki). Maybe I can leverage some of the ideas Scott is going to write about.
Although his Lego Robot idea may not be Home Automation specific it sure comes close to the project I did with the ER1 robot from Evolution Robotics a couple years ago. I used C# to extend the capabilities of this wonderful robot.
I think I should break my project into more manageable sub-projects just to get something going. My Home Automation project is not getting off the ground so far. At least I documented a few ideas so I can get back to it.
5. March 2005 06:27
I have been listening to several podcasts over the last couple of months. I have to say I am hooked on some of the technical shows. Whenever I am in the car I listen to a podcast. The radio in my car is rarely tuned on. I use a Dell Axim x50v
with Media Player 10 and iPodder
1.1.4. I have been spending a lot of time trying to get the content to synchronise correctly. I am not sure if it is iPodder, Media player or my Active Sync program that has problems with this. But for some reason at times I noticed podcasts that are on my PC but are not on my Pocket PC. I think there is an update to Active Sync I do not have so I am going to try this first to solve my problem.
I have a few grips on this setup
- There needs to be a purge podcasts after x days setting.
- Finding new podcasts on the device is a real pain. Need a playlist that can be settup to show podcasts added in the last x days.
- Organizing podcasts with playlists is a real pain.
- Deleting podcasts on the Pocket PC should delete it from the PC. I don't want the podcast once I hear it and I listen to 90% of them on the Pocket PC.
- I need bookmarks. Stopping a podcast and starting it later is a pain.
- The media center interface is clunky. I have to click too many menu items to get to a playlist.
- The buttons and the screen on the Pocket PC are way too easy to bump while listening to a podcast.
I found one product that made finding podcasts on the pocket PC while driving real easy. Voice Command
from Microsoft. However I am not convinced I want to stick with Microsoft Media Player just yet, so I have not purchased Voice Command. The trial version worked out very well. I could ask the device to play music and it would come back with questions that would lead me down to a particular play list. Once in a play list I could easily skip ahead to next tracks without taking my eyes off the road.
3. March 2005 06:07
Well I signed up for the CodeCamp
that is coming to Charlotte, NC on April 30th 2005. Early registration was opened to Developers Guild
members. There are only 200 seats so I was glad I got in early. I have never attended a CodeCamp
before but as I look at the Session Lineups of other CodeCamp
s I think I will not be let down. It was announced at the Developers Guild
meeting this month that Design Patterns was the top track requested so far on the polls they did.
18. February 2005 18:20
Well I finally got around to checking out Vault by SourceGear. I used to be an avid source safe user for a long time. I have even used SourceGear's SourceOffSite for a while on a project for BattleBots. However I have been forced to use PVCS at my day job. I have never liked the client for PVCS and now that I work virtual I dislike it even more. I won't go into details about why I dislike PVCS because this post is about Vault.
Some reasons I chose Vault:
- Free for single users
- Works on SQL Server
- Built on .Net Built with remote users in mind
- Seems to be getting good reviews from users
- Works a lot like source safe (from a functionality perspective). Have I mentioned how much I hate PVCS :)
- Integrated with a Bug Tracking program also authored by Sourcegear
You can see some other good reasons why to use Vault over Source Safe from Eric Sink CEO of Source Gear.
Installing Vault on my local machine was a real breeze. Installing it on WebHosts4Life was a little trickier, but not that bad at all. Using the client application has been a real joy. I have used it off and on for 2 weeks now and I have to say it has some cool built in features. It is also very responsive as far as I can tell. I don't have any real big projects under source control yet, but just using it with what I have is very fast.
Some of the coolest features I like:
- Adding new files by folder with file extension filtering (already tailored for .Net development).
- Showing what source is out of sync due to changes made localy or in the repository.
- Merging local files with repository files is a breeze when local changes where modified without the source being checked out. All you have to do is check out the files and an automatic merge can be done.
- Searching for files by many options
- Treating check ins as one complete transaction (although I don't see how to place new files in this transaction, but that is not really necesary)
All in all I would highly recommend Vault to anyone. If I ever get a project that requires multiple developers I will definantely be using Vault as my source control program.
I am in the process of adding NAnt tasks for Vault command line operations. I know I can do this already by using the NAnt exec task but I wanted to capture the errors and success state that comes back as xml from the Vault command and expose them as properties that can be acted appon within NAnt build scripts.