New Music Widgets

Check out the new music widgets in the right hand column!  You can instantly play some of my music via Reverbnation.  If you click on the song links below, you’ll be taken to our website and can read the lyrics while you listen.

The top one is “The Strange Game” which is my current music project with my good friend Ellis.  As you may know, we’re working on putting together a CD, but we’re making some songs available in “pre-release” form for your enjoyment.  “In The Bedroom”  is hot off the press, and that’s also available for purchase on iTunes as a single. “You Can Run” we just finished last night (after many “final” versions – LOL).  No really, we’re done now.

The bottom one “Tim’s Music” is some of my older stuff with a bonus instrumental version of “You Can Run”.

Let me know what you think!


Samsung Galaxy SII – Review


2012-02-21_13-31-48_817The kind folks at T-Mobile gave me one of the new Samsung Galaxy SII cell phones (retail $599.99, or $229.99 with 2 year contract discounts) to evaluate, so I thought I’d share my findings here.

First blush: Inside the nifty, colorful box is the cell phone, a battery, a SIM card, a manual and various warranty/repair paperwork, and one of the new super-small AC Wall chargers (aka:wall-wart).

There is a big warning that tells you that you MUST use the SIM card provided. If you have a SIM card from an older phone, you can’t just pop it in this phone and expect it to work.  That was a bit surprising.

The battery cover is a bit weird.  If you lay the phone on it’s face, there is a small indent in the upper right corner.  You put a fingernail or something fairly thin and sturdy in there and pry the cover off carefully.  There are small plastic tabs all around the perimeter.  I didn’t break any, but I can see that if you were not careful, it would probably be possible to damage it.  I put the battery and the SIM in, and put it on charge.

The phone is really slim.  Compared to a Droid-X, it’s the same thickness but the bulge at one end is much smaller than the Droid-X bulge, so it “seems” incredibly slim (0.37” – 9.4mm):


It’s height is 5.11” (129.8mm), width is 2.71” (68.8mm) and weight is a scant 4.77oz (135 grams).  I had a couple of people ask if the battery was installed when I handed them the device, it’s that light.  Continuing with the Droid-X comparison, it is a little wider (by 0.13”), and a little taller (by 0.09”).

The AC charger adapter is one of the new iPhone style jobbies – very small and cute, and won’t burn two AC sockets like the big traditional wall-warts.  It’s hard to tell from the picture but it is about 1.12” square (2.7cm):


This is a 4G phone, and so if you are lucky enough to have a 4G cell near you, it’s really fast.  If not, then you get acceptable 3G performance as a fallback.  They quote up to 42Mbps download speed with 4G coverage.  I wasn’t able to test that definitively, but it did seem plenty fast.



Inside is a Snapdragon S3 processor with a 1.5Ghz dual-core CPU, running Android 2.3.6 (Gingerbread).  Wi-Fi 802.11 a/b/g/n are supported, as is Bluetooth 3.0


On powering it up, the first thing I (and others who have seen it) noticed is the gorgeous screen. This is a 4.52” Super AMOLED Plus screen with 800×480 pixels, and it’s incredibly contrasty and bright. The blacks are VERY black, and I got ooos and aaahs from everyone who fondled it. I evaluated a couple of phones last year with this type of screen, and their battery drain was horrible. This phone doesn’t seem to be quite as bad, though the factory defaults turn off the screen if you haven’t touched it in 15 seconds. I kicked that up to a minute. It’s really annoying when you are reading something on the display and it goes black on you.  Still, if you charge it nightly and don’t waste your entire day playing “Angry Birds”, the battery seems to last.

The 8MP camera is quite nice, but nothing surprising compared to other Androids.  This does have a second 2MB front-facing camera for video chat.  There is an HDMI output, but that requires you to purchase a MHL adaptor, so I didn’t do that.

For about 15 bucks extra per month, you can enable hotspot tethering.  This works well and supports up to 5 connections.  However, when this is turned on, your phone loses it’s data connection.  This means you won’t get emails or social media updates until you turn the hotspot off.

Speaking of Wi-Fi, one of the interesting features this phone has is Wi-Fi Calling.  This can be very handy – let me give you an example.  Let’s say you work in a large office building.  In the middle of those buildings, there is typically very little (if any) cell coverage.  If you set the phone up to attach to the company Wi-Fi, then when you walk in the door and are in range, the phone will activate Wi-Fi calling (you can turn it off if you want – no worries).  Once it does this, any incoming our outgoing call will go over the Wi-Fi connection, and the internet connection behind it of course as a VOIP call.  This seems to work really well.  Last year, the units I tested were flaky at best.  The only gotcha is if you are on a Wi-Fi call, and you walk outside and out of range, the call will drop.  There is no mechanism to hand the call off to a cell tower.

For those of you who like to watch movies on your phone, Netflix, T-Mobile TV, and Samsung Media Hub are preloaded.  While it works, and I guess a lot of people like doing this, I find it uncomfortable to be hunched over a cell phone for any period of time.

Double-tapping the top of the unit (there is no key there, you just bonk it) brings up the Samsung Voice Solution.  This is pretty cool and lets you control a lot of things with voice commands.  It seems to be pretty accurate, and so might be more usable than previous incarnations.  Voice control is always iffy.  My Toyota Prius theoretically has it.  However, I’ve found that no matter what I say, or how I say it, it says “turning screen off”.  Lovely.  Also, one time I tried to get it to display gas station icons on the nav unit.  I got Golf courses.  I even tried speaking with a Japanese accent.  No good – it’s just not usable.  The Samsung implementation is much better.

Like most android implementations, Swype is supported.  If you haven’t used Swype before, you owe it to yourself to give it a shot.  This is a REALLY great input system.  In theory, you can “type” in a note up to 40wpm using Swype.  I’m not nearly that fast, but it’s a lot faster than poking individual letters, and usually a LOT more accurate.  The idea is that you don’t take your finger off the screen.  You just cruise from letter to letter to make up your word (and you don’t have to be all THAT accurate in your motions either).  It’s pretty wild, and very cool.

If you are in a meeting and don’t want to be embarrassed by your goofy ringtone, just turn the phone face-down on the table and it will automatically be muted.

One of the more unusual motion “gestures” I’ve seen is the “tilt zoom”.  Once this is enabled, if you are viewing something (a web page or a picture) that supports pinch-zoom (touch the screen with 2 fingers and pinch them together), then you can use this new gesture.  Touch the screen with 2 fingers (thumbs are convenient), then tilt the device back and forth.  It will zoom in and out.  It’s hard to control where on the screen it’s using as the center of the zoom, so I don’t know if this is really all that usable in the real world, but it will make your iPhone buddies envious just because it LOOKS cool.

This phone also has some features of particular interest to the Enterprise Corporate folks:

  • Microsoft Exchange ActiveSync is built in, allowing real-time communications and sync with your email.
  • Hardware based encryption: Sybase Afaria Mobile Device management can use this to encrypt all your data.  I’d expect other MDM solutions to begin to support this soon.
  • VPN – Virtual Private Network: Cisco’s AnyConnect is included.
  • Cisco Webex is supported

To sync with your computer, Samsung has released the new Kies 2.0 (the old version was 1.5).  You can also use Kies Air to wirelessly sync your data.  This allows you to sync between your phone and computer wirelessly but only when they are both connected to the same wireless access point.

8 minutes of fame – Parenting on facebook, and shooting a laptop

Well, 8:23 to be exact.  That’s the length of the video that Tommy Jordan posted on Facebook in rebuttal to a rant his teenage daughter posted.  His intent was that the same audience who saw her rebellious rant should receive his video.  In the video, he addresses her rant and as then as punishment for her publishing this rant, he followed through on his warning of what would happen if she did this again – he put a few bullets in her laptop.  Personally, I think it’s very important for a parent to follow through on what they say they will do, and be predictable.  So Kudos to Tommy for doing that 🙂

But then, the unexpected happened – the video went viral, and now has over 27 million views!  This wasn’t something he predicted or even wanted, but as he says on his website “it is what it is”.  If he’d just backed his truck over the laptop… a few times… it may not have taken off, but the fact that he used a gun to destroy it seems to really have rocketed this to the forefront of American consciousness.

In order to get this traffic off his Facebook page, and to have more control of it, he’s made a website for it:

Eight Minutes of Fame

It’s quite amusing the different responses to this albeit unusual method of meting out punishment.  Apparently, words were tried and failed, and other methods were tried and failed also.  This apparently got her attention (a tough thing when dealing with teenagers).

Something like 73% of people in a poll (121,000 people responded) agreed with Tommy’s method of punishment.  Of course, there are lots of vocal folks who took issue with it, claiming that his daughter would be scarred for life, and oh how horrible, etc etc.  C’mon people get a clue.  Kids really aren’t that fragile.  Really.  If a parent takes away something and destroys it or sells it or just locks it up so the kid can’t have access to it, then perhaps the kid will learn something.  Or not, but at the very minimum the kid sees that there is a consequence to their actions.  If that consequence is not significant enough to prevent the kid doing something similar in the future, that’s fine, but at least the kid knows that there are consequences for things we do in life, and that will weigh into the decision on whether or not to do “behavior X” or not.

“My documents” folder renaming on a network share

This is a very annoying Windows 2008 R2 bug which was reported way back in 2010 but still there is no fix from Microsoft.  Here’s an example from the educational sector.

Here’s the symptom:  You have a bunch of users and want to keep their “my documents” folders on a network share so that it can be easily backed up, and so if their computer dies, it’s no big deal.

You create the share, we’ll call it “UserData” and share it out to all the workstations.  Then, you go to each windows 7 workstation in turn and start redirecting each user’s “my documents” to a folder with their name in that share.  So “Stan” would get a “Stan” folder inside “UserData”. Nice and tidy.  All of your users now have their own personal sub-directory and it’s easy to see who owns what data.  It’s also easy to back up and restore.

At some time later on (not sure what the trigger is, but it seems it has to do with when the user logs off), this folder is mysteriously renamed to “my documents”.  Now, you have a ton of folders in “UserData” which apparently have the same name (“My Documents”), and you don’t know who owns what data!!!  The links from the Windows 7 PCs seem to stay intact, but it’s impossible to manage at the server level.

Sure, one solution is to have “UserData/Stan” and put a “my documents” folder in there.  But why should I do that?  When you do the “my documents” redirect, it allows you to pick a folder as the redirect target.  If the folder name you’ve picked is not acceptable, you shouldn’t be able to pick it.  But there is no such error or warning.  Everything seems fine until some random time when the system decides to “fix” it for you.

This is what I refer to as “arrogant code”.  Somebody at Microsoft made a conscious decision that they know better than you do, and regardless what you wanted to rename that folder, they will impose their iron will and rename it the way THEY want it.  This isn’t a bug where somebody made a typo in the code.  This is a very poor consciously made behavioral decision.  One might wonder… why?  Why is some engineer at Microsoft overriding the customer’s decision? 

What do you call a family in the animal kingdom

There was a discussion at work the other day about what you call the group of eggs / babies from a particular bird.  None of us could remember the specific term for that species, though we were sure that it was specific and not just a generic “chick” term.  One of the group did some research and came up with a huge list of various animals and what you call their offspring or a group of them.

So for your enjoyment:

aardvark: aarmory
albatross: rookery
alligator: congregation
alpaca: flock, herd
ant: colony, nest, army, swarm, bike
antelope: herd, cluster
ape: shrewdness, troop
***: pace, drove, herd, coffle
auk: colony, flock, raft
baboon: troop, flange, congress, tribe
badger: cete, colony, set, company
barracuda: battery
bass: shoal, fleet
bat: colony, cloud
bear: sleuth, sloth, slought, maul
beaver: family, lodge, colony
bee: colony, grist, hum, swarm, hive, cluster
beetle: swarm
bird (general): fleet, parcel, dissimulation, flight, volery, cast, flock, aviary
bison: herd, troop, gang, thunder
bittern: sedge, flock, siege
bloodhound: sute
boar: singular, sounder, herd
bovine: herd
buffalo: gang, troop, herd, obstinacy
bullfinch: bellowing
bullock: drove
butterfly: rabble, flight, swarm
buzzard: wake, flock
camel: flock, train, caravan, herd
caribou: herd
cat: clowder, clutter, pounce, cluster, colony, glorying, destruction (wild cats)
caterpillar: army, nest
cattle: drove, herd, bow, bunch, draft, drift, mob
cheetah: coalition
chicken: brood, clutch, flock, peep, hatching, battery
chimpanzee: cartload
chinchilla: colony
clam: bed, flaccidity
cockroach: intrusion, swarm
cod: lap, school
colt: rake, rage
coot: cover
cow: herd, drove, pack, team
coyote: pack, rout
crab: cast
crane: sedge, siege, flock, herd
cricket: orchestra
crocodile: bask, nest, congregation, float
crow: murder, horde, parcel, hover, muster
deer: herd, leash, bevy, game, quarry, bunch, mob, parcel
dog: gang, legion, kennel, pack (wild), litter (young)
dolphin: team, school, pod, herd
donkey: drove, herd, pace
dove: dule, duet, flight, troop
duck: brace, flock, gaggle, paddling, team, raft, badling, bunch, waddling
eagle: convocation, brood, aerie
eel: swarm, bed. draft, wisp, knot
elephant: herd, host, flock, parade, memory
elk: gang, herd
falcon: passager, cast
ferret: business, cast
finch: charm, chirm, trembling, trimming
fish (general): school, shoal, draft, nest, cast, draught, run, catch, drift, haul
flamingo: stand, flamboyance
fly: business, hatch, swarm, community, cloud, grist
flying fish: glide
fowl: plump
fox: leash, skulk, earth, troop
frog: army, colony, froggery, knot
gerbil: horde
giraffe: tower, troop, corps, herd, group, stretch
gnat: cloud, horde, swarm, plague
gnu: herd
goat: tribe, trip, flock, herd
goldfinch: charm, chattering, drum, troubling, vein
goldfish: troubling
goose: flock, gaggle, skein, line, wedge, nide
gorilla: band
grasshopper: cloud, cluster
greyhound: gallop, leash
grouse: covey, pack, brace, drumming
guinea pig: group
gull: colony, pack
hamster: horde
hare: down, husk, leap, , leash, flick, kindle, drove, warren
hawk: cast, kettle, boil, leash, mews, aerie
hedgehog: nest, array, prickle
hen: brood, battery, parcel, roost, mews
heron: siege, sedge
herring: army, glean, shoal
hippopotamuses: bloat, pod, herd, huddle
hog: drift, drove, herd
hornet: nest, bike, swarm
horse: harras, herd, pair, team, stud, field, mob, troop
hound: cry, mute, pack, kennel
hummingbird: charm, chattering, drum, hover, troubling
hyena: cackle, clan
impala: herd
jackrabbit: husk
jellyfish: smack, brood, smuth, smuck, fluther
kangaroo: mob, troop, herd
kitten: kindle, kendle, litter, intrigue
lark: ascension, exaltation, bevy, flight
lemur: group
leopard: leap, prowl
lice: flock
lion: pride, tribe, sault, sowse
llama: herd
locust: host, plague, swarm, cloud
louse: colony, infestation, lice
mackerel: school, shoal
magpie: tiding, gulp, murder, charm, tittering, flock
mallard: sord, brace, puddling, flush
manatee: herd
marten: richness
minnow: shoal, steam, swarm
mole: labor, company, movement
monkey: troop, barrel, tribe, cartload
moose: herd
mosquito: scourge, swarm
mouse: nest, colony, harvest, horde, mischief
mule: barren, pack, span, rake
nighthawk: kettle
nightingale: watch, flock, route, match
orangutan: buffoonery
ostrich: flock
otter: romp, bevy, lodge, family, raft
owl: parliament, stare
ox: yoke, team, drove, herd, nye
oyster: bed, hive, cast, culch
parrot: company, flock, prattle
partridge: covey, bew
peacock: muster, ostentation, pride
penguin: colony, rookery, parade, parcel
pheasant: bouquet, nest, nide, nye, brood, covey
pig: drove, litter, drift, flock, hoggery, herd, sounder
pigeon: flight, loft, flock, dropping
plover: congregation, wing, leash
polar bear: aurora, pack
polecat: chine
pony: string
porcupine: prickle, family
porpoise: school, crowd, herd, pod
possum: passel
prairie dog: coterie, town
quail: bevy, covey, drift
rabbit: colony, nest, warren, bevy, bury, drove
racoon: nursery, mask
raptor: cauldron, kettle
rat: horde, mischief, rabble
raven: unkindness, congress, conspiracy, parliament
reindeer: herd
rhinoceros: crash, herd
rook: building, shoal, congregation, pack, parliament
salmon: run, bind, gib, school, shoal
sardine: family
scorpion: bed, nest, colony
sea horse: herd
seal: pod, herd, school, trip, rookery, harem, team
shark: shiver, school, shoal
sheep: drove, flock, herd, drift, fold, mob, pack, trip
skunk: stench, surfeit
snail: escargatoire, rout, walk
snake: bed, knot, den, pit, nest, slither
snipe: walk, wisp
sparrow: host, flight, quarrel, tribe
spider: cluster, clutter, venom
squirrel: dray, scurry, colony
starling: murmuration, cloud, chattering, clutter
stork: mustering, flight
swallow: flight, rush, swoop
swan: bevy, wedge, flock, game, team, ballet, regatta
swine: drift, sounder, herd
swordfish: flotilla
termite: colony
tiger: streak, ambush, hide. ambush
toad: knot, nest, knob, lump
tortoise: creep
trout: hover, leash, troup
turkey: rafter, posse, gang, dole, flock, raffle
turtle: bale, bevy, nest, dule, turn
turtle dove: pitying
toucan: durante
viper: nest, den
vulture: wake
wallaby: mob
walrus: pod, herd, huddle
wasp: nest, knot, bike, swarm, colony, pail
weasel: pack, gang, sneak
whale: gam, herd, grind, pod, shoal, school, mob
wild boar: sounder
wolf: pack, rout, route, horde
wombat: mob, warren
woodcock: fall, covey, plump
woodpecker: descent, gatling
worm: bed, bunch, clew
wren: herd
yak: herd
zebra: herd, cohorts, crossing, stripe

Happiness, productivity, and brain chemistry

This is a great video sent to me by a friend (thanks Jeff!).  Shawn Achor not only has some really interesting points about the way the brain responds to being happy, but he’s quite funny too!

Flash seems to have some odd behavior with "Ted" videos – you'll probably get an error about not being able to load languages.  Just click OK, the video will play just fine anyway.

WordPress migration from Windows 2003 IIS to a Linux Ubuntu appliance (Debian)

This took me quite a while, and you may have noticed the downtime on this site as a result.  I thought I’d share my process and solutions in case anybody else is trying to do something similar.  These are my working notes from the migration, so please excuse any lack of polish.  Word to the wise: Don’t do this if you are in a hurry.

  • Installed Windows 2008 R2 on a brand-new box, then enabled HyperV 
  • Created a virtual server, and installed a wordpress (turnkeylinux) appliance from .ISO file.  I set this up for 256M and gave it a modest amount of disk space.
  • Configured the virtual to have a legacy NIC and removed the Virtual NIC, as Ubuntu doesn’t support the virtual NICs yet.
  • From wordpress admin on my old server, exported to an XML file (and checked "include content")
  • Using wordpress admin on new appliance, imported the XML file. This set up WP with just IP addresses instead of machine names, which is perfect for now.
  • Installed Arjuna theme on new WP (I wanted the new one to look exactly like the old one)
  • On checking wp_content/uploads, it looks like the export/import process already moved those images and things – a pleasant surprise. I thought I was going to have to transfer those manually.
  • In my browser, I opened new and old sites in different tabs (using IP addresses), and marched down "plugins" – adding plugins to new box, and configuring them where possible.  I have quite a lot of plugins (about 25) so this took a while.  Also, I suspect these plugins are what was contributing to my memory/swap usage issues below.
  • Using Firefox/FireFTP, transferred contents of wordpress /HLIC folder to the new box. This folder contains images cached by one of the plugins (If I link to an image on the web, this plugin grabs a copy, puts it in this cache folder, then updates the html so I am not reliant on external websites to serve those images).
  • Created DNS and pointed to the old server, added to IIS. As of today that old server is still alive, so you can hit it if you want to compare, though obviously no content is being updated there.  I’ll probably decommission that next month.
  • Changed hostname of linux box to
  • Edited /etc/postfix/ so that outgoing emails would be happier (then did "postfix reload"). Changed "myhostname" to – this makes outgoing email come from
  • I upgraded the virtual to use 600M of RAM but I’m still having "hang" problems.  Ubuntu and HyperV don’t play well together so you can’t make it a “dynamic memory” virtual.  Ubuntu will never request more memory, so it’ll stay at whatever your starting allocation was.
  • Memory usage seems fine (check with "top"), but swap seems exhausted. This makes little sense, but I'm adding more swap via a swap FILE:
    • apt-get install dphys-swapfile
  • This seemed to help, but didn’t solve the hang problem.  Technically, it doesn’t “hang” anymore, it just responds so slowly that you think it’s hung.
  • From net.wisdom, and my own observation, the default apache2 configuration is very memory hungry, so tweaks are needed:
    • The Apache2 config file is /etc/apache2/apache2.conf
    • I Changed KeepAliveTimeout to 3
    • In the mpm_prefork_module section, I made it look like this:
      • StartServers 1
        MinSpareServers 1
        MaxSpareServers 5
        MaxClients 50
        MaxRequestsPerChild 5000
    • Then, I restarted apache:
      • /etc/rc6.d/K09apache2 stop
      • /etc/rc6.d/K09apache2 start
  • Note, to keep an eye on this, fire up "top", and then type G followed by 3 (must be capital G). This displays memory usage in descending order.

It's been a couple of weeks now and I have no hangs, and performance seems to be good!  I hope this information will be helpful, and best of luck to you in porting YOUR blog!

“The Strange Game”, our latest release: You Can Run

As you probably know, I’m involved in a music project called “The Strange Game” with my friend Ellis. 

We have a new song called “You Can Run” which we released late last night.  Click HERE to give it a listen, and we’d love to know what you think.

This has also been released on and

Also, while I’m at it, our song “In The Bedroom” was released recently on those sites, plus is available for purchase as a single on iTunes