Counting Calories With MyFitnessPal

In the beginning of May, my in-laws went to Disney World.  They happened to be there during the May the 4th, also known as Star Wars Day.  Disney, of course, had some wonderful shirts available for May the 4th.  My in-laws asked if I’d like one and I told them to get me a size large.  When they brought it back and I tried it on, though, it didn’t fit.

A couple of weeks later, thanks to warmer weather, I took out my short sleeve shirts.  I put one on but it was too snug.  So I put another one on and another and another.  All too tight.  Clearly, it was time to lose some weight.

Previously, I had success with writing down my food intake.  It forces me to really examine what I’m eating and not just shove food into my mouth on a whim.  However, writing food items down in a paper notebook is so pre-smartphone.  I did some searching in the Google Play store and found the MyFitnessPal Calorie Counter.

After entering in my details (height, weight, etc.), MyFitnessPal told me how many calories I had every day.  Then, it was a simple matter of entering what I ate into my food diary.

adding_food

You can search for food.

searching_for_food

You can enter your own food.

create_new_food

You can select food you’ve eaten before.

recent_foods

And, in my favorite feature of all, you can scan a barcode to find and enter food items.

scanning_barcode

The database of food is very extensive.  I had a new variety FiberOne snack cakes and the app found them quickly and easily.

As you enter in food, the app tallies up how much you have consumed and displays how many calories you have left for the day.

food_diary

You can also see a detailed analysis of your nutritional intake.

calorie_nutrient_details

To get more calories to consume, you can exercise.  Exercise is entered just like food only it adds to the calories you have available to you instead of subtracting them.

exercize

All of your data is synced to MyFitnessPal’s servers so you can enter information in multiple devices.  (There are iOS, Blackberry, and Windows Phone apps as well.)  There’s a lot more to the app including weight charts, but as I’ve been using this for less than a week, I haven’t used these yet.

Overall, I’m loving this app.  It’s so much easier to keep track of what I’m eating than a notebook.  I at first found the calorie count too low, but quickly found that my desire to eat bigger portions was more out of momentum than appetite.  In fact, I’ve found that I typically end days with a few hundred calories to spare.  Finally, while I can’t claim any "official" weight loss due to this being my first week of use, I checked on the scale and definitely seem to have lost two or three pounds.  In any event, MyFitnessPal can be an invaluable aid in a weight loss plan.

Don’t Judge A (Mo Williems) Book By It’s Cover

big-guy-took-my-ball

Disclosure: B received some Mo Willems books courtesy of Disney Publishing Worldwide both to review and to help celebrate the Pigeon’s 10th birthday. No other compensation was received.  I wasn’t asked to do anything, but I liked this book so much (as well as the other books), that I decided to post a review as well.

A few weeks ago, we were given the opportunity to review a few Mo Williems books,  While B has her review live today, I thought I’d add in my own thoughts as well about A Big Guy Took My Ball!, by Mo Williems.

Our boys love the Elephant and Piggie series.  They quote them endlessly and love re-reading them over and over.  Now that JSL is learning how to read, he’s finding that he can read these books himself as well.  Nothing is a better confidence booster for him as he sharpens his reading skills than reading a book from beginning to end with little to no help.

I was first attracted to A Big Guy Took My Ball! because it seemed like an Elephant and Piggie tale about bullying.  After all, the story involves Piggie playing with a ball and some big guy taking it from him.

After we read the book, however, we found out that there’s a twist.  Not to give too much away, but it turns out that this book isn’t about a bullying situation at all.  Instead, it is about how people can rush to judge people based on the way they look and based on misunderstandings.

I loved how Mo Williems’ characters handled the situation once the misunderstanding was cleared up.  The characters realized what they did wrong and did all they could to make things better.  They even learned that many pre-conceived notions you have can be wildly wrong.  This serves as a great model for children who are learning to navigate tricky social waters and who might run into people who look or act different.  The world would be a better place if more people lived life following Elephant and Piggie’s examples.

A Big Guy Took My Ball! will be released on May 21st, 2013.  As of this writing, you can pre-order it on Amazon.com for $5.48.

Resolution Conclusion

Last year, I made a series of New Year’s resolutions.  Let’s see how they panned out, shall we?

Sort My Photos

I had a LOT of photos to sort through.   They were all jumbled in an “unsorted” folder and stuck in the (partially date stamped) folder that the camera assigned them.  It took a lot of time, but I finally sorted every last photo from 2011… and then promptly fell behind in sorting the ones from 2012.  Luckily, however, I spent some time on those and now have every last photo sorted.

Improve FollowerHQ

You’ve checked out my Twitter follower management website, right?  If the answer is yes, then thank you.  If the answer is no, then get thee to FollowerHQ!  It will let you see who is following you that you aren’t following back.  Then you can decide whether you want to follow those people back or not.

I had a bunch of ideas to improve it, but couldn’t find the time to work on them.  I would do a bit of work here and there, but things always seemed to get in the way.  My latest effort was my best one, though.  Spurred on by some big Twitter API changes, I’ve come up with a pretty radical alteration to FollowerHQ.  I’m tentatively calling it FollowerHQ Version 2 (because I’m just that awesome at naming things).

I did a ton of work on it, but have recently gotten side tracked.  I had a good excuse, though.  I was invited by Disney to preview their New Fantasyland.  (See the ongoing posts at that link.)  Now, I’ve just got to pick up where I left off, get it ready for beta testing, and then get it ready for release.  (If you are interested in beta testing, let me know in the comments or on Twitter.)

Promote Blog Posts

At the time of my resolution, my only promotion of my tweets was an automated “Hey, this post is now live” tweet.  After that, I relied on remembering to tweet about it.  That is to say, I never tweeted about it.  You can write the best blog post in the world, but if nobody knows about it, does it matter?  Now, I could spend every second of the day promoting my many posts and doing by best to drive traffic to my blog… except that I have a day job.  I can’t spend all day promoting blog posts when I have day job work to do.  I can’t spend all night promoting blog posts either because I have to work on new posts as well as make dinner, clean up, organize photos, etc.

The solution?  I found a WordPress plugin called Tweet Old Posts.  It did just what it sounds like.  At an interval specified by me it would take an old blog post of mine (how old is up to you, I set mine at 2 weeks) and tweet it out.  It took some minor fiddling with the settings to find the sweet spot of “too much tweeting” and “almost never tweeting”, but I’m happy with the result.  No, it’s not a hand-crafted promotion, but it’s the best I’m going to get given my limited time.

Cook More

On one hand, I love cooking.  Spending time in the kitchen turning a bunch of raw ingredients into a delicious dish.  On the other hand, I hate cooking.  Especially when I’m tired from work, put in a lot of effort to cook a meal, and then hear a rousing chorus of “Ewwww…. I don’t want that…. I don’t eat that… I want something else!”  Nothing punctures my Will To Cook faster than the prospect of making one meal for B and me, one meal for NHL, and one meal for JSL.  If I’m going to do this, I might as well toss some food in the microwave and hit the buttons to get dinner ready.  Why bother doing more just to hear how nobody likes the food?  Especially when I can hear about how great a cook I am when I toss frozen chicken on a paper plate and heat it in the microwave for 3:30.

I’ve had my cooking moments, though.  The weekends have been taken over by making eggs, toast, and “fakin’ bacon” (soy bacon – we’re Kosher in the house) for breakfast.  It’s a simple thing, but so much nicer than cold cereal or pop tarts.  NHL has been getting more adventurous with his eating too.  Now, if I could just lure JSL away from the “I don’t eat anything different than the things I’ve always eaten” camp.

Give B More Breaks

I’ve had quite a few Just The Boys days.  We’ve gone to parks, museums, restaurants, and more.  They love spending time with me and I love spending time with them.  It is a refreshing change from the usual times I see them during weekdays (before going to work when I’m in a rush to get out the door and after coming home when I’m tired and not looking forward to the nightly fight over dinner.  About the only reason that I’d say I haven’t done this enough is that I can never spend too much time with my boys!

More Date Nights

We’ve gotten a few nights out alone.  We’ve even had a trip to Disney World where we (*gasp*) didn’t bring the kids!  In the case of the former, it’s great to get out so it is just the two of us.  In the case of the latter, it was great to not only have a few days where we didn’t need to worry about the kids, but it was nice being able to decide what to do in Disney World ourselves instead of catering to the boys.  We could walk for longer, ride rides that we wanted to go on, and go sightseeing in a way that would have led to a pair of very cranky kids.  We returned home exhausted, but also refreshed.  Yes, we love our kids more than anything, but it is good to get away from them from time to time as well.

How did you do with your 2012 resolutions?

DDOS Suspension

I’m going to take a break from Disney posts to make note of something that happened early last week.  On Monday night, April 30th, I opened up Windows Live Writer to quickly post from Disney.  As I hit Publish, Live Writer told me that there was a problem publishing my post.  At first, I figured I did something wrong.  I loaded up my website and saw a terrifying message: Account Suspended.

My mind began to race.  My sites were down.  All of them.  TechyDad.com, TheAngelForever.com, FollowerHQ.com.  All down.  And not just down, but proclaiming to the world that we were suspended.  A quick call to my host later and our accounts were restored to full access with the explanation that a page on our sites had caused undue strain on the server.

Let’s put aside for a moment the suspension reaction… I’m dealing with them on how better to react.  In fact, a similar problem a couple of days ago resulted in my sites being taken down with an error message for a few minutes – a much better solution.

Back to the strain, though.  When I got back home, I loaded up the log files.  Now, a typical log file, for a single view of one page, will contain multiple entries.  After all, as you’re reading this, you’re likely seeing images, there are colors and text styling via CSS files, JavaScript files and more.  This is part of what I saw in B’s log file:

46.137.130.60 - - [30/Apr/2012:13:21:03 -0400] "GET /2012/04/a-floral-splash-of-color/ HTTP/1.1"
46.137.71.213 - - [30/Apr/2012:13:21:03 -0400] "GET /2012/04/dole-whip-cravings/ HTTP/1.1"
79.125.64.99 - - [30/Apr/2012:13:21:03 -0400] "GET /2012/04/the-cupcake-club-book-giveaway/ HTTP/1.1"
46.137.130.60 - - [30/Apr/2012:13:21:05 -0400] "GET /2012/02/falling-in-love-with-disney/ HTTP/1.1"
46.137.130.60 - - [30/Apr/2012:13:21:03 -0400] "GET /2012/04/selecting-phone-sounds/ HTTP/1.1"
46.137.131.104 - - [30/Apr/2012:13:21:04 -0400] "GET /2012/04/views-from-a-friends-birthday-party/ HTTP/1.1"
79.125.88.69 - - [30/Apr/2012:13:21:06 -0400] "GET /2012/04/time-for-ubp-2012/ HTTP/1.1"
46.137.130.60 - - [30/Apr/2012:13:21:06 -0400] "GET /2012/04/photo-gifts-for-mothers-day/ HTTP/1.1"
46.137.131.104 - - [30/Apr/2012:13:21:05 -0400] "GET /2012/04/disney-natures-chimpanzee/ HTTP/1.1"

As you can see, these were requests for only the HTML code of the pages. No CSS, images, or JavaScript downloaded. Just repeated calls to pages on TheAngelForever.com.  Different IP addresses were used, but they all seemed to originate from Amazon Web Services in Dublin, Ireland.

So what happened?  I have two theories.  The first is that a content scraper was trying to pull all of B’s content via an Amazon Web Services hosted script.  Something went wrong and it made so many requests so quickly that it bombed the site out.  The second is that the person behind the script didn’t care about content and the rapid requests/site bombing was by design.  In this scenario, our mystery script runner isn’t a scraper, but instead launched a DDOS attack on TheAngelForever.com.

(Quick explanation for those who don’t know what a DDOS attack is.  A DDOS, or Distributed Denial of Service, attack is when a group of computers request so many services from a server that valid visitors can’t get through.  To use an analogy, imagine a restaurant that thrives on delivery orders.  Now suppose a group of people (thus "distributed") repeatedly call the restaurant’s phone and hang up.  If they do this often enough, valid would-be customers can’t get through (i.e. "denial of service").

Stopping a DDOS attack is tricky.  We can’t block the attacker because they are coming from so many IP addresses.  You can block a group of IP addresses (e.g. 46.137.*), but then you might be blocking a lot of valid users.

So how can we keep this from happening again?  There are some network tools that our hosting provider can employ, but not much B and I can do.  It might happen again tomorrow or it might never happen again at all.  So if you ever see that message again, just be patient (and perhaps tweet me) because the site will be back soon.

Smartphone Bound

IMGP5679_PhotoScapeTwo years ago, when we renewed our cell phone contracts, we added unlimited texting.  Until then, we scoffed at the need to text anyone.  As our use of social media expanded, though, sending status updates on the go seemed more and more doable.  Plus, the ability to send photos to people on the fly was just too tempting.  So we bit the bullet and upgraded from simple flip phones to more complex texting-capable phones.

Still, we decided against getting smart phones.  While it would have been nice, we balked at paying an extra $30 per phone per month.  However, as the months passed, smartphones were talked about more and more.  People were getting them, posting social media updates from them, taking photos from them, checking e-mail from them, playing games on them, and browsing the web with them.

I have to admit that I began to get some tech-envy.  Part of me felt like a fraud.  Here I am, TechyDad, and I didn’t have the latest and greatest technology in my hands.  My "why would I ever need this" attitude was giving way to "I really, really want this."  I also began hearing rumors about family data plans coming.  Instead of paying $30 per device per month and getting a set number of gigabytes for each phone, you would pay a certain amount and share your data across all phones.  This seemed like the ideal plan, so we watched and waited.

Then, B won a smartphone.  And we were invited to the 2012 Disney Social Media Celebration.  Suddenly, we began to wonder about how long we could hold out.  The rumors of family data plans persisted, but nothing concrete was emerging.  (The latest is maybe in the summer… perhaps.)  We began to explore providers and plans.

After this past weekend, we believe we’ve made our decision.  There are a few more pieces to get into place, but we are officially smartphone bound.  A whole new world of technology is about to be opened to us.  Here’s hoping my final "non-smartphone" week passes quickly.

1 10 11 12 13 14 15