In wake of Sandy Hook, it’s time for gun control

For years I’ve been tolerant of the people who argue against gun control. I’ve understood the constitutional argument, the argument that only criminals would have guns, the ability to protect yourself. But no longer. We’ve seen too many incidents like Sandy Hook. It’s time to act.

“With all the carnage from gun violence in our country, it’s still almost impossible to believe that a mass shooting in a kindergarten class could happen. It has come to that. Not even kindergarteners learning their ABC’s are safe. We heard after Columbine that it was too soon to talk about gun laws. We heard it after Virginia Tech. After Tucson and Aurora and Oak Creek. And now we are hearing it again. For every day we wait, 34 more people are murdered with guns. Today, many of them were five-year olds. President Obama rightly sent his heartfelt condolences to the families in Newtown. But the country needs him to send a bill to Congress to fix this problem. Calling for ‘meaningful action’ is not enough. We need immediate action. We have heard all the rhetoric before. What we have not seen is leadership – not from the White House and not from Congress. That must end today. This is a national tragedy and it demands a national response. My deepest sympathies are with the families of all those affected, and my determination to stop this madness is stronger than ever.”

– Michael Bloomberg, 12/14/12

Titanium Appcelerator and Zipfile module

I was working on an Titanium Appcelerator project yesterday where I needed to download a zip file to a mobile device, then extract its contents. After doing a little research, I found the Titanium Zipfile module out on Github. Ultimately, this is exactly what I needed, but there were some stumbling blocks along the way so I thought I’d document them (and the solutions) here.

First off, the latest Zipfile module (as of this writing) is version 0.1.21. This version is not available as a binary download from the Github repository. Fortunately, this post led me to a download for it.

I found this nice piece of code Dan Tamas posted in an answer to a question about downloading image files. I promptly copied that off to a FileManager.js file to ‘require’ into the app.

As I started testing, it wasn’t working and I didn’t know whether the file wasn’t getting downloaded or wasn’t getting extracted. By default, my simulator run configuration was setup for INFO. Turning to DEBUG revealed that it wasn’t able to locate the zip file. After checking that paths were being set correctly, I found this note at the Github project’s issues tab that applies to the 1.8x SDK codestream.

Replacing the following example code from the documentation:


with this:


did in fact solve the issue and everything works great from there.

IBM Sametime 8.5.2 and Growl

We’ve recently completed a full Sametime 8.5.2 installation for ourselves and it’s really powerful. Chat, group chat, screen sharing, audio and video calls, instant meeting rooms, web meetings, chat gateways to other IM services, lots of great stuff. We’ll probably do a screencast on it at some point in the near future. As a long-time Skype and Mac user though, I miss Growl integration. If you’ve not used Growl, it’s a notification system that allows many applications to register with it and post notifications through it. For Skype, this takes the form of a little grey bubble that appears in the bottom right corner (for me) of the screen when a new chat comes in. It’s visible for about 2 seconds, can be clicked to take me directly into Skype, and then it goes away.

It’s great for monitoring conversations as they go by without necessarily having to command-tab over to that application all the time.

Anyway, I’d like to see a Sametime implementation of notifications to Growl. Growl has an API they call GNTP (Growl Network Transport Protocol), that has many language bindings, including Java with jgntp, Sametime has a Java API so it shouldn’t be very difficult to build a client plug-in to add Growl capability preferences. I don’t think anyone’s done it yet, so there’s your roadmap and ping me when you’ve got it done 🙂

Mobile CRM for Notes: An iPhone client for contact management

If there’s one application that proliferated like wild-fire in the Lotus Notes community over the years, it was CRM (contact relationship management).   Whether internally written, or bought from a packaged vendor, there were hundreds implemented around the world.

While mobile devices have been great at providing a localized set of contacts, it hasn’t been practical to store/sync full CRM datasets that might be hundreds of thousands of records.  In the traditional sense of a client-server solution, it makes sense to have a Mobile CRM device provide an intuitive interface to this data, while maintaining it in the back-end system (whether Notes or something else).

Company ListRecently, my company has developed an iPhone Mobile CRM interface for company and contact information.  This client will be available for free in the App Store soon. What makes the client particularly useful is that when a profile is filled out, it can work against any number of Notes-based CRMs.  The client connects to an intermediate API application running on the Notes server that knows how to get data from the host CRM and provide it to the Mobile CRM client.

I’ll be writing more about this in the coming weeks with diagrams of how the infrastructure works.  In the meantime, we’ve got a couple of clients who are beta testing against their own CRMs.  I’m excited about this project as it really gave us a chance to work through the full spectrum of an Appcelerator Titanium project for client server communications to the Mobile CrM and we’ll be able to make this available on the Android platform as well.

Stay tuned, and of course, if you’re a potential customer, we’d love to hear from you at WorkFlow Studios, or go to my Contact page.

Cool Box2D stuff with Appcelerator Titanium

I happened upon the Appcelerator Open Mobile Marketplace the other day, and started looking through the modules.  One that caught my eye was the Box2D module.  Earlier this year, we’d been dabbling with Cocos2d which is a game engine for iPhone, which uses Box2D as one of the physics engine you could use inside it.
Continue reading

6 miles today and the miracle of the 5-1

It’s been a long time since I trained for a marathon, but I can’t tell you how beneficial it is to have done it before.  As I’m getting into the swing of things this time (even though just a half marathon) , all those memories flood back of what it was like to train for it, and perhaps more importantly, that it just CAN be done.  When I ran it last time, I trained with the Jeff Galloway program through Run On.  Here are the keys that stick with me 10 years later:

1.  Run a pace you can run forever.  Which means run about 2 min per mile SLOWER than what you’re capable of doing for 1-2 miles.
2.  If you can’t talk while you’re running, you’re going too fast.
3.  For me, if my heart rate climbs too much over 150, I’m going too fast.
4.  All it takes is a little luck (to avoid injury), and commitment.
5.  Do a long run once a week, and increase the distance 2 miles every week or two until you get to longer distances (10+)
5.  And most importantly, the 5-1 rule.  Run for 5 minutes, walk for 1.

I’m terribly out of shape, yet I ran 6 miles today.  A lot of people who train for marathons aren’t in very good shape, yet they finish.  Why?  I can only guess how others have done it, but the 5-1 rule is critical for me.  The 5-1, or 3-1, or even 2-1, is a ratio of how many minutes running before taking 1 minute and walking.  This is huge.  If you’re sitting in your chair reading this today, you might think you could never run for 2 hours or 3 hours or 5 hours.  But anyone can get to the point where they can run for 2, 3, 4, 5 minutes at a time.  You wouldn’t believe the psychology of that.  You’re going, you’re hurting, you’re lungs are puffing and shins are hurting.  Focusing the mind on it will only be another 2 minutes before you can take a break makes all the difference in the world.

Now any distance is just a bunch of manageable segments.  It’s a giant reset button.  Sometimes we find ourselves feeling good and starting to run a pace that’s too fast.  Hitting that 5 minute mark and taking a break helps you reflect during that 1 minute about whether you’re going too fast and lets you start back at a good pace.  Or you’ve just been running up a long hill and thinking you’ll never make it all the way up.  Guess what, you don’t.  You just have to go for 5 minutes and then you can rest a bit.

Perhaps just as important is the break it gives your muscle groups.  Running and walking use different muscle groups.  If you find your muscles tightening up, walking for a bit relaxes those muscles and gives them a chance to recover and increases your chances of moving on through it.  Take advantage of the 1 minute walks to stretch a bit when it will help.  For me that’s usually about 15 minutes in.

So what happens come marathon time (actually I think it happens somewhere around when you can go 10-12 miles) and where are all these people doing 5-1s.  Your fitness level will definitely go up on this plan.  Sooner or later you find you don’t need the forced discipline of the 5-1 (or at least it was true for me).  You may end up doing 10-1s, or you may just find that you take a 1 minute break when you need it, or you take a little break every time you hit a mile marker or water stand.  So yes, a lot of people don’t actually do much walking by the time they get to marathon distance.  They no longer need it.  But a lot of us would never have gotten to that point without the initial training to get the body used to running long distances.

One last thing, I’m not doing it now and it may come back to bite me.  Train with others.  Guaranteed I wouldn’t have taken off 4 days this week if I’d had someone waiting out in the freezing dark to meet me at 5:30am.  My marathon year, I trained with a group of about 6.  Best thing I ever did, and best group selection I could have made.  One girl was my age, and the rest were her mother and mother’s friends.  They were running a pace several minutes slower than I was capable of (for short distance).  Training with them where the pace was easy and manageable made it extremely easy to keep increasing the distance.

Bottom line:  Do you really care if 20 years from now someone says you ran a slow marathon?  Or would you rather say, “I was going to run a marathon, and I could run a 7 minute pace, but I pulled a muscle training. Or, I just couldn’t make it past 8 miles”

Since he made such a big difference for me, I guess I should point you to the source, Run Injury Free with Jeff Galloway.

Missile Launcher and back on the track

My daughter, Lauren, has been waiting 7 years to have a little sister.  Now she has the next best thing, a 2nd grade girl living next door,  Megan.  Once they both got over the idea of going over to see each other, this last week has been great for both.  Last night, they had a sleep-over at Megan’s house along with another of Megan’s friends, who we also know through the Lakewood community.

At 7:30 this morning, they all came be-bopping over to come play on the trampoline and snark some chocolate chip muffins, pancakes and bacon.  After breakfast the girls had me play, “momma in the middle”, and I introduced them to “missile launcher” which is where I lay down under the trampoline and as they are bouncing up, I push up on the bottom of the trampoline sending them an extra 2-3 feet up in the air.  We used to do this at the old house, but hadn’t done it in awhile.  Lauren’s gotten so big that if she takes a really good bounce she can certainly reach me unless I’m lying completely flat underneath, (maybe I’ve gotten bigger as well).

I can’t believe I didn’t make it running again after Monday.  We went today, and it was pretty painful.  At least we could do it, that wouldn’t have been the case if we lived back east where friends are getting 24″ of snow and more.  But that’s another 3.5 miles behind me, and I’ll see if I can do the 6 miler tomorrow.  Only 37 more days until the Rock ‘n’ Roll Half.

Learning the Pick and Roll

The last few days we’ve had some nice weather (not today), and the kids and I’ve been playing basketball in the backyard.  With a little two-on-one, I’ve been teaching the kids how to take advantage of their numbers to beat Dad.  Once I taught them what a pick was, they took to it rather enthusiastically.  In fact, part two of the training had to be reinforcement of the stationary pick versus the follow Dad hanging on to his leg pick, which while successful is also highly illegal and somewhat dangerous for all parties.

It’s also been fun teaching Lauren how to back in with your dribble and establish contact so that you can get position and pivot into the basket.  She’s suprisingly good at it, with the exception of only being able to dribble with one hand which kind of limits her pivot to one direction.  Even so, she scores pretty regularly on it.  I guess I’ve only been waiting about 10 years now for my kids to actually want to be taught anything about sports.  Fun times.

1st step in preparing for Dallas Rock & Roll Half-Marathon

As you may already know, I decided that New Year’s Day starts the day after Lotusphere is over, which this year, meant January 22nd.  I always use New Year’s as the opportunity to say, “Time to get in shape, eat right, etc…”  then Lotusphere comes along to ruin it with conference food and free booze for a week.  Usually I need a week after that just to detox and sleep, and all New Year’s plans are already shot to heck.

This year I knew I’d start afterwards, making the whole stressful runup to Lotusphere much easier.  It also helped temper my intake knowing I’d have to get started the day after.  So, I’m 2 weeks into it now.  Turns out my mother-in-law is going to be visiting us in March because she’s going to run in a half-marathon.  I checked it out this morning and it’s the Dallas Rock ‘n’ Roll Half Marathon.  This got me thinking…hmm, 42 days away, my current long run is about 3 miles, could I get ready in time?  Going back to my Jeff Galloway training days, you can increase your long run 2 miles every week, at least until you start hitting +12 distances.  So I went out this morning to see what I could do.  Two keys that I remember, use the 5 min running, 1 min walking to build up endurance, and find the pace you can run forever (or in my case, keep a heartrate between 150 and 160).

I ran a route I thought would put me between 4 and 5 miles which you can see at, what a neat site by the way.  I came home, could plot the route, put in my time, and see what my pace was, elevation change, and calories burned.  My pace right now is about 12:30, which is pathetic, but perfectly ok with me right now.  When I ran the marathon I was on an 11 min pace, and guess what, it’s not about speed.  It’s about being able to finish, and being able to keep doing it.  I never had an injury when I trained for and ran the marathon, and I know lots of people who could run 7-8 minute miles who never got close to it.

So, I’m in town all week, I need to get at least 3 3-mile runs in this week and next Sunday I can shoot for 6 miles.  Off to to see what route I can create to do that.