Michael's Random Thoughts

Saturday, February 20, 2016

I'm moving future posts to my Wordpress site on robbeloth.com -- not that I have ever published too much, but just in case you're wondering (you're probably not :) ).

Friday, November 23, 2012

Zagg Flex Bluetooth Keyboard & Samsung Note 10.1

Once I gave the Zagg Flex Bluetooth keyboard some time to charge, it was able to sync to my Samsung Note 10.1 tablet with ease. The keys are a little tight and interference causes the occassional dropped key, but it does allow touch typing at around 80% my normal touch typing speed--good enough for now. This is something I could not do on my iKross bluetooth keyboard, which was highly portable, but had a very poor build quality as one wouldn't pair and the spacebar on the other wouldn't work. It also forced you  into two finger touch typing as the keys were too small for even my small hands (6 1/2 ring size).


Saturday, August 27, 2011

Frustation with Camtasia Mac 1.2 .2 Advanced Export

I was trying to export a video with Camtasia 1.2.2 for Mac OS X using the Advanced Export feature and was ending up with really garbled video. The standard export worked just fine, but with the inherit limitations that come from letting the program choose default settings. To make a long story short, I noticed that the Data Rate field had the most significant effect on the quality of the exported video. The default chosen by Camtasia was 256 kbps, which made the video unusable regardless if you selected different screen sizes, optimization targets, etc.. What does work? A data rate of at least 1024 kbps. What type of connection is needed to support this data rate. If you believe Camtasia, it recommends a T1 or 1.5 Mb/second connection to support a data rate of 1024 kbps, which most households in the US support today.

Consider this entry along the lines of,"The more you know...," PSA.


Sunday, July 24, 2011

Gateway and Synctoy Annoyances -- Can't Change Drive Letters or Folder Pairs

I recently installed a second optical drive. Actually, I thought my original had broken when it wouldn't eject any discs, but came to find out that it was just the special right side push buttons of the Gateway DX4300 case that were wearing out. For now, I'll just apply extra pressure on the right or front side until the spring(s) break and/or some part of the plastic push button mechanism breaks and I'll order a replacement.

(Interesting sidebar: you do not need to remove the right side panel on the Gateway DX4300 case to remove the drive. You just need to remove the front case by pushing the tabs on the inside of the case and the drives side out the front after removing the holding screws. There is no support manual describing this little facet unless I missed it in the generic user manual.)

After installing the second optical drive, I notice the drive letters had changed. This does not play well with Microsoft's SyncToy, which I use to synchronize documents, pictures, and so on with an external hard drive for backup purposes (automated using Windows' Task Scheduler). Initially, I found out it was not possible to change folder pairs' locations for a given synchronization entry after it was created (http://social.microsoft.com/Forums/en-US/synctoy/thread/4dc979b2-6a54-4364-85c0-46fca9dd6c2e/). I didn't buy this explanation right away and noticed there was a binary file called SyncToyDirPairs.bin in %localappdata%\microsoft\synctoy\2.0 or %HOMEDRIVE%\Documents and Settings\%USER%\Local Settings\Application Data\Microsoft\SyncToy\2.0 . I wondered if I could at least change the drive letters using a hex editor like Hex Editor Neo (http://www.hhdsoftware.com/). It turned out to be a simple find and replace operation.

I suspect for path modifications you could use a combination of search and replace along with insert commands to make the necessary changes. Of course, it might be simpler to just recreate the folder pair at this point. However, for a drive letter change, the hack is quicker and could be made even better by creating a script to update the file.

I do have to wonder after doing all this if Microsoft ever intends to update SyncToy. The last update was November 2009. If not, it would be nice if they would open-source the software like they do for products like Wix (http://wix.sourceforge.net/).

Saturday, March 05, 2011

Downloading Our Daily Bread Devotions

Typically, I like to read my devotions at work during a quick noon-time break. Unfortunately, the RBC website is blocked at work. Although I could just order Our Daily Bread in printed form, they have a Java Mobile Application that you can download and then install on your smart phone. Since I own an ancient XV6700, I use the Esmertec Java Runtime to install and run these applications. So, wanting to automate this manual process to some degree, I wrote a Powershell script to download the jar file from the website and then copy the file onto the memory card of my docked XV6700. The code is as follows (feel free to reuse):

#Script to download latest devotionals for the month
#Copyright 2011 Michael Robbeloth
function getODB ()
# Load PSMobile add-in, find it at http://psmobile.codeplex.com/#
# WARNING Add-in only supports 32-bit Powershell
Add-PSSnapIn PSMobile

# Setup, target puts the jar directly on my smartphone memory card
# provided it's in the dock
$cInt = new-object System.Net.WebClient
$date = Get-Date
$jarname = "MobileDevos.jar"
$target = "c:\temp\" + $jarname
$year = $date.Year
if ($date.Month -lt 10) {
$month = "0" + $date.Month
else {
$month = $date.Month

#$target = "Mobile:\Storage Card"

# For a generic target, use a temp directory
#$target = "c:\temp\" + $jarname

# Build url to access
# http://www.rbc.org/mobile/apps///MobileDevos.jar
$url = "http://www.rbc.org/mobile/apps/" + $year + "/" + $month + "/" +


# Download devotional jars for the month
write-host 'transfering from' $url 'to' $target
try {
$cInt.DownloadFile($url, $target)
catch {
Write-Host $_.Exception.ToString()

$copySrc = $target
$copyDest = "Mobile:\Storage Card"
write-host copying $copySrc to $copyDest
ConvertTo-WMFile -Force C:\temp\MobileDevos.jar -destination 'Mobile:\Storage Card'

There are three downsides to this process:
1. You have to use the 32-bit Powershell with the aging PSMobile add-in
2. I don't know how to automate the actual installation of the jar file in Esmertec. However, this is a minor point for a monthly activity
3. If RBC changes their scheme for storing these jar files, I'll have to adjust the code.

It will then be necessary to schedule an automated task in Windows scheduler to run this script on the first day of every month. The application path to use is:


The command line argument to pass is:


Note that I did not pass the filename of the getODB script. I wrote another small script to kickstart the other one:

cd 'C:\Users\Username\Documents\Scripts\Powershell\'
. ./getODB

It probably goes without saying, but you should replace username with your acutal Windows account username.

I hope someone finds this script to be useful.