Behavior, Content, Money – 3 Things you should never give away for free!!!

BCmoney MobileTV

Will the real Developers please stand up!

Posted by bcmoney on February 26, 2014 in Java, Mobile with 1 Comment


No Gravatar
Graphite, on tan wove paper, laid down on comm...

Early “Standing Work Desk” (Photo credit: Wikipedia)

In my industry of IT (and indeed all Technology jobs in general), it is extremely easy to develop unhealthy and border-line self-destructive habits. From staring at a screen for too long to bad posture slouching over a keyboard, and from tendonitis in the wrist due to bad hand/wrist joint alignment to forgetting to stand up regularly in order to keep the blood circulating; these are just some of the many common pitfalls of being a developer, engineer or technologist of any kind. Furthermore, in our digital society, these now also apply almost equally to the majority of other professions as almost everyone has to use a computer or electronic device of some sort in their line of work today. Compounding this even more is the fact that once we get home, we are often interacting with more and more computers and devices (interface in our cars, on mobile phones, TVs, personal computers, tablets, etc). It’s not too surprising that digital overload is a major trending health concern in the 21st century.

Recently, if only in the interest of self-preservation, I’ve become extremely interested in the growing Fitness movements online to take one’s health back from the digital distractions and electronic that seek to steal it away. What started out innocently enough (yet often times insulting/disgustingly/self-deprecatingly enough) with Reddit’s Fitness discussion thread has now grown into an experiment with several different Fitness Tracking, Calorie Counting and Nutrition Planning tools, as well as keeping track of any ailments or injuries that cropped up during my training using Patient-to-Patient Networks and related resources. At this point I had not yet gone full “Fit Geek” yet, as I wholeheartedly rejected one of the primary driving forces behind this so-called “Fit Geek movement”; namely, the “wearable gadgets” fitness technology category. I knew things were really starting to get out of hand though, when my own mother got into said technocratic gadgetry craze by purchasing a FitBit ONE which is basically a Pedometer, Heart Monitor, Sleep Analyzer and Watch/Timer/Stopwatch all in one, complete with a secured Web 2.0 style RESTful API to allow you to access your personal Fitness Activity data.

So, not to be outdone by my own mother, I finally decided to crack and give this fit tech thing a try (stubbornness and rejection of mainstream trends/agendas aside, I really do need to know about this health & fitness technology stuff at a deep level since I believe it will be tightly entwined with my career in Health IT). Not being exactly sure what I was looking for, and at the same knowing I didn’t want to put much time, money or effort into this investigation initially, I decided to take up Nintendo on their offer of a free downloadable copy of $59.99 Wii Fit Plus for people who already had the Wii Balance Board that came with previous versions of Wii Fit who purchased the WiiU FitMeter before January 31st, 2014. Sadly, if you’re reading this, you’ve missed that deal; but I can tell you that I’ve been pleasantly surprised about the ease of use and convenience of using the FitMeter to track your distance walked/jogged/run/skied/biked and a rough estimate of the total calories burned from that basic activity.

The only complaints I would bring up are that it would be nice if the infrared pairing to the main WiiU Game Pad worked smoothly (I often have to re-scan several times to get my entries into the system), and perhaps most importantly, that Nintendo needs to provide a secured API for accessing Personal Fitness Data as soon as possible if they want to sustain this melding of the Video Game industry and Fitness industry, or, have any hope of competing with the other major players in the space. Not being able to share, export, reuse, analyze and graph/view your data in unique ways not thought out by the original Wii Fit U programmers is a major setback. All that aside though, the Wii FitMeter scores big for me with its low price tag and simplicity compared to other devices. If you got it while it was $19.99 it was a great deal, if you’ve missed it then consider your needs before purchasing at full price, and consider a meter that provides an API to access the data.

Before trying the WiiU FitMeter, I mentioned that I was testing out several other Health & Fitness services to build an online profile of my activities and caloritic intake .vs. expenditures. Fitocracy has been far and away the best Fitness Tracker (the only one that came close was MyFitnessPal for its ability to combine activity and calories). The thing I like most about Fitocracy is their approach to “gamification” of the mundane physical tasks of daily life and of one’s fitness endeavors. It also provides an annual summary of your Fitness progress and how much you lifted (according to mine I guess I lifted over 500,000 pounds in the 6 months I was using it in 2013). For Calorie Counters I would suggest the one from LiveStrong (LoseIt! is the runner up here, with special mention for Canadian readers of the revamped PCPlus app & rewards by SuperStore which are also good because they do a decent job at encouraging healthier eating options). I’d also like to point out Strength Standards for measuring your lifts against global standards and the useful Tabata Timer for timing your HIIT type workouts.

MyFitnessPal (iOS, Android)

Starting Simple

There are certainly some much simpler lifestyle changes one can make as a developer, IT or other office worker, and I will list these here:

  1. Get a few plants if your building doesn’t already have them (apart from air quality & moisture improvements, see my post on Radiation Exposure in IT)
  2. Eat organic when possible; at work go raw or cooked fresh (time-permitting)
  3. Minimize Microwave usage and use alternative re-heating methods (hot water, slow-cooker, etc)
  4. Get an ergonomic assessment or perform your own using this checklist (helps make sure you maintain a healthy posture at your desk)
  5. Consider a standing desk, exercise ball as a chair, or other alternative desktop working arrangements
  6. Exercise early in the morning before work, or, (time-permitting) in the middle of the day
  7. Get plenty of sleep when times are good, and when under deadlines try to avoid excessively late nights spent coding/researching/debugging when possible
  8. Remember to STAND UP and move around at least 10 minutes out of every hour (or if that’s not easy to remember to do or find time for, then at least stand up and move/stretch for 1-2 minutes every half hour)

The headlines are saying that “sitting is the new smoking“. While it might all seem like a bit of typical media alarmist over-hyping, the health risks of too much sitting are very real, and include:

  • Diabetes
  • Cardiovascular diseases
  • Cardiovascular and all-cause mortality
  • Musculoskeletal symptoms
  • Chronic kidney disease
  • Breast & colon cancer
  • Undesired/Uncontrollable Weight gain
  • Development of Obesity
  • Metabolic syndrome
  • Decreased pulmonary function
  • Poor circulation and blood clots
So let’s start there. To combat this major risk in my own software developer’s lifestyle, I’ve written a handy yet simple little Java application to remind you to stand up every desired interval period. In fact, this was written generally enough that it could remind you to do just about anything (or fire off tasks of any kind as well), so it has uses beyond self-preservation.

This timer reminds a computer user to stand up every seconds, number of times per day. The “Stand-Up alarm” could be scheduled daily at the start of regular work hours or upon workstation/desktop login (to do so in Windows put a shortcut to the Batch script under the “Startup” menu item in your Program Files or use the Task Scheduler; in Linux-based systems use the init.d runtime settings or a CRON scheduler; in Mac use a plist everyday task setting or the built-in Login/Startup Items feature.

In windows, use the Batch Script, on Unix-based systems like Mac or Linux, use the Shell Script.

They both could be run using the following command:

-> PomodoroTimer

As in:
-> PomodoroTimer.sh = PomodoroTimer 1800 16 (by default)
-> PomodoroTimer.bat = PomodoroTimer 1800 16 (by default)

Runs the reminder every half hour for eight hours (16 times).
To set your own preferred reminder alarm timings and frequency, you could alternatively call the Batch or Shell script using:

-> PomodoroTimer <INTERVAL> <REPETITIONS>

Here’s the JAVA code for the “PomodoroTimer” so you can compile for most environments:

package net.bcmoney;

import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JOptionPane;



/**
 *
 * @author bcbcope
 */
public class PomodoroTimer {

    public static final int TIME_IN_MILLISECONDS = 1000;
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       int interval = 0; //time interval in between calls (in seconds)
       int frequency = 0; //number of times to call per run before exiting
       if (args.length >= 2) {
           interval = Integer.parseInt(args[0]);
           frequency = Integer.parseInt(args[1]);
       } else if (args.length == 1) {
           interval = Integer.parseInt(args[1]);
       } else {
           interval = 1;
           frequency = 5;
       }

        //1- Taking an instance of Timer class.
        Timer timer = new Timer("PomodoroReminderTimer");

        //2- Taking an instance of class contains your repeated method.
        RemindToStandUp task = new RemindToStandUp(frequency);

        //First Parameter is the task to run (our Pomodoro Timer "Stand Up!" reminder)
        //Second Parameter is the specified the Starting Time for your timer in MilliSeconds or Date
        //Third Parameter is the specified the Period between consecutive calling for the method.
        timer.schedule(task, 0, interval*TIME_IN_MILLISECONDS);
    }
}
/**
 * RemindToStandUp
 *   A Pomodoro Timer is a single-run or interval-based reminder and notification
 *   system. In this case, the timer is used to remind a computer-user to stand
 *   up once every set amount of time in seconds (i.e. 30 minutes=1800,
 *   1 hour = 3600, etc)
 *   NOTE:
 *    TimerTask implements Runnable interface so must override run method within
 *    our Pomodoro Timer code block.
 *
 */
class RemindToStandUp extends TimerTask {
    private static int repetions = 0; //total number of times to call
    private int times = 0; //tracker for number of times called

    public RemindToStandUp(int reps) {
        this.repetions = reps;
    }

    @Override
    public void run() {
        times++;
        if (times <= repetions) {
            System.out.println("Pomodoro event sent by timer...");
            JOptionPane.showMessageDialog(null, "REMINDER: Stand up!" +
                    System.getProperty("line.separator") +
                    " Walk around a little, maybe get some fresh air.");
        } else {
            System.out.println("Pomodoro series over...");
            //Stop Timer.
            this.cancel();
            System.exit(0);
            System.out.println("Timer stopped!");
        }
    }
}

Conclusion

Fitness Gadgets have definitely come a long way since I first checked them out, however there are surely some health benefits to be gleaned from checking out of digital distraction, turning away and putting off all our devices from time to time. At the end of the daythe se are all just various tools in your arsenal in the fight to maintain (or regain) good health, and as long as the tool helps your to reach your goals rather than hinders you and does not require you to change your lifestyle in a drastic (i.e. fad diets) but rather a sustainable way (i.e. switching to organic food), it is quite possibly worth your time and effort to make use of it. So developers, techies, IT professionals and people of all walks of life as Bob Marley says "get up, stand up" and stay active!