Sunday, January 31, 2016

Colemak - the slowest way I could write a blog post (for now!)

I am in the process of learning Colemak, an alternate keyboard layout. There are lots of great reasons to do something that seems so masochistic, but it would take too long to type them here (literally). I've gone from ~55 WPM, to about ~15-20, but my goal is ~70 COMFORTABLY by the time I'm done. The top of my right hand especially hurts after prolonged QWERTY use.

A couple guys at work use Dvorak, which I tried to learn in 2005. But as a developer, the punctuation moves killed me so I gave up after a couple of months. Plus, Dvorak was designed without the aid of computers and without any concern for the learning curve coming from QWERTY. Colemak has been easier to learn than Dvorak for me because:

  • Only two keys changed hands: E and P
  • Only three keys moved far from their QWERTY positions: E, P & Y
  • The useless CAPSLOCK key becomes backspace, so you have a way to fix mistakes on homerow
  • Only 17 keys moved in total, and only one on the bottom row
  • WAY more words can be typed without moving from homerow
  • L is more accessible with stronger fingers
The biggest problem for me has been relearning frequent letters like E and S. S has been especially brutal.

Here are the resources I used to make the decision to switch:
All the online resources suggest learning to touchtype over QWERTY keys with the new layout. Hogwash. Last time I put stickers on my keys, and I still touchtyped, but didn't get stuck or frustrated nearly so much as I would have without labels. This time, I have (and highly recommend), this:

(this post was not easy to type, so when/if I get better, I'll follow up).

Monday, January 25, 2016

Microblogging and the false need to write big, profound thought-pieces

I haven't blogged in like 3 years, and it's for one simple fact - Facebook took over as a way to give and receive informal updates, blowing the need for a personal blog out of the water. I, like many others, found that personal blogging lacks meaningful feedback and instead attracts trolls or worse, silence. But Facebook became its own evil, forcing me to make a decision last year to quit that entirely - the obsessive status checking, the self-promotion, the addictive encouragement, and of course, the incessant behavioral tracking. I've never found value in Twitter - too little can be said with too many people saying it and for what exactly? So, maybe the result of all this discovery in the age of social media is that, for someone like me who lacks any real sense of FOMO and naturally experiences JOMO before it was a thing, maybe it's time to not worry so much about presenting a perfect self or a perfect thought or perfect written prose on that thought and just share what I have on my mind today and let that be good enough.

Saturday, November 16, 2013

Sugar! Ah, Honey Honey!

This is, at its heart, a diet story.  Sorry for that.  I have no doubt that it will annoy some of you to read this, unfortunately.  Why do I say "unfortunately"?  Well, this really isn't some product promotion, self-promotion, health promotion, or even diet promotion.  I'd keep it to myself entirely and enjoy the personal victory, except that there's some brain science and nutrition science and people science here that is undeniably interesting.  Hidden within all the talk about diet within our chronically overweight society are some serious myths about food, exercise, and dieting that continue to confuse and frustrate those of us who want to be healthier, but lack the willpower, drive, knowledge, or ability to do so.  Also, this is a story about ME - consult your own doctor if you want to try anything described here.

I have 3 goal weights.  I've had them for the past 10+ years.  My first goal is to get to a BMI less than 30.  My second, to reach my wedding weight.  And my third is to weigh no more than 10 pounds more than I weighed my Sophomore year in college; the year after I reached my current height and man-build, so it's not terribly unrealistic (BMI <25).  Each of these goals is about 15 more pounds than the other, for a total of 45 pounds.  I have essentially 180 McDonald's quarter pounders strapped to my belly, butt, and face.  I also have a sweet tooth, a sedentary job, a sleep disorder, higher than normal biometrics, and a stubborn man-attitude about doing things my way in my own timing without being told what I should do with my life.  Needless to say, I've not been very successful at attaining any of my 3 goals.

I've tried exercising at the workout room at work.  I've tried doing a daily workout routine with a Wii Fit and making it a game.  I've tried walking 10,000+ steps a day with a FitBit One.  It always somewhat worked (s...l...o...w...l...y...), but a small regression over a holiday weekend would offset the whole thing.  I've tried counting calories, which proved too hard too.  There's too much you can't get a calorie count on, even when crowd-sourced through apps like My Fitness Pal.

On Tuesday, October 29th 2013, I made a real change that I'm happy to say actually works.  This morning, 11/16/2013, I have hit my first goal.  I now have a BMI less than 30.0, which moves me from obsese to merely overweight!  That's 18 days for 16.3 pounds.  And, I'm not being fancy, faddy, or dangerous about it.  I'm quite simply counting daily carbohydrate intake, and using a FitBit Aria wifi scale to track my progress.  I've been eating as much as I want, as long as it does not contain bread, starch, or added sugar.  Currently, I am limiting my intake to less than 20 total grams per day.

If it sounds like I'm just talking about Atkins or South Beach or any of the other for-profit fad diet solutions, fine.  So be it.  I'm essentially doing that, but I've made it simpler than all that.  No books.  No special packaged and labeled food.  No changing my fast-food lunch trips.

Here are my simple rules:
  1. Do not be hungry!  Ever.  Eat anytime I want to; just drink water first to ensure I really was hungry since often we mistake hunger for thirst.  Cravings are okay.  Hunger is not.
  2. Know (with reasonable certainty) how many carbs are in anything I eat prior to putting it in my body
  3. Do not exceed 15 grams of carbs per day with a +5 gram buffer to compensate for incomplete data on rule #2
  4. Weigh myself at the same time in the same way daily using my FitBit Aria.  If I keep losing, stick to eating the same tasty things that worked, and change course if it appears I accidentally got into some sugary/carb-y foods the prior day.
Why is this working?  I think it's pretty simple, actually.  Our bodies were designed to store sugar as fat, but our bodies don't turn ingested fat into body fat.  Sugary fruits were only available in the warm summer months and served to provide us what we needed to make it through a long winter.

"Consuming fatty foods makes us fat" is a huge lie, and low-fat foods are the thing that is actually killing us by trading that fat for added sugars and high carbs.  Don't believe me?  National Geographic recently published an article about sugar and how our bodies process it and how humans have never had such free access to this poison as we do in modern society.  It's an insightful read, but the astounding takeaway is that on average Americans eat 77lbs of sugar annually.

So again, how is this diet really working for me?  Well, for one thing, it's causing me to eat a lot fewer processed foods.  Processed foods have too many hidden carbs.  It's also EASY to NOT BE HUNGRY!  Wonder of wonders!  Foods higher in fiber, fat, and protein are more filling.

Cheats:  Let me caveat that this is not Atkins.  While I am seeing Induction-like loss in my first weeks, I have not cut out caffeine, diet coke, nuts, or tomatoes.

Myths: This is not a meat diet.  Though I could do that, it's bland and boring and not good for me in ways other than my weight.  I eat lots of veggies, and get most of my allotment of carbs from those.

Downsides:  I won't lie to you.  The first week was hell.  Not because of the food, but because I couldn't have my morning Starbucks.  Though I was having caffeine, I never liked unsweetened coffee so I didn't have any.  The headache was beyond brutal.  No sane amount of diet Coke will fix it, though diet Mountain Dew might have.  Regardless, it took 7 days to get through my caffeine withdrawal.  It also stinks throwing buns and bread away.  It feels wasteful.  I also crave fruit.  I miss bananas.

Pleasant surprises:  Though I have no gall bladder, I have had no digestive problems with this diet.  I also was pleased to discover that I can have Chipotle, as long as I avoid tortillas, corn, beans, rice, and the chips.  A salad bowl, no dressing, with fajita or tomatoes, meat, sour cream and cheese is still an option.  Yum!  I also have a lot more energy, and don't feel worn out.  And I'm hunger pang free, and have discovered the art of using spices to flavor my food in ways that beat the heck out of sugar.  I can have tabasco and do so regularly.  Raw veggies aren't required - I can cook them in plenty of olive oil and season them appropriately.  They're tasty and low-carb.  Ranch dressing is good too.

Guts:  If you notice the dates, I'm doing this through Halloween, Thanksgiving, and I'm planning to break on Christmas Day and assess my next steps.  Passing on the candy wasn't too tough.  Passing on the stuffing, sweet potatoes, mashed potatoes, cranberry sauce, rolls and a whole lot more at Thanksgiving will be tough, no doubt.

Lifestyle:  There's no doubt that this is a lifestyle change.  Even when I have attained my goal weight, I need to be careful adding carbs back.  Each person's metabolism can only handle so many carbs per day, and the trick will be finding that balance.  Perhaps I can have my Starbucks, but not white sandwich bread.  We'll see.  When I'm not lugging around all this weight, building some muscle to increase my body's ability to process carbs will be next on the list.

Weight from Oct 22nd - Nov 16th Diet started Oct 29, the top of the cliff

Saturday, August 31, 2013

iPython Notebook and LinqPad

I attended PyOhio 2013 in July.  The week prior to the conference, I was on vacation and discovered Python.  Call me crazy, but I like programming - it's what I'm built for, even if it's not my official day job now.  So anyway, I'm on vaca and playing with Node.js trying to accomplish something that should be easy, but the libraries are immature and the documentation is lacking or flat out wrong in places. I got frustrated with trying to actually get something done with Node.js and in a fit of insanity opened up PyCharm and made a Django project and started fresh.  Boy was I glad I did.  I'll probably write more about this later, but essentially, I've been hooked on Python for a couple of month's now having picked it up for the first time in a fit of Node rage and then shortly thereafter stumbling into one of the best tech conferences I've attended - PyOhio.

One of the big takeaways for me from that conference was learning about iPython Notebook.  What a great tool!  Go see what I saw here.  All the talks from the free PyOhio conference are posted for free too.  Like I said - great conference!

Back to iPython Notebook - it let's me develop a little working bit of code in small chunks, testing and trying things along the way.  While Visual Studio is hands-down the best IDE out there, I wouldn't call it the best development experience.  Often I find myself hacking out a solution to a problem in LinqPad of all things.  Perhaps this is similar to what the "Test-First" TDD crowd is trying to sell, but doesn't quite get all the way there.  With iPython Notebook, I can do what I want when I'm hacking, which is build small, working, lego-like structures in code and assemble those into a larger whole.  It's a beautiful thing, and doing that highlighted for me the frustration of developing with statically typed compiled languages.  The edit-compile-run-test-repeat cycle gets to be tedious.  It's nice to get away from the .NET ecosystem and see what else is out there.  Doing that makes me a better developer all around.  And LinqPad has become my iPython Notebook for .NET.

Thursday, November 15, 2012

iPhone - Silent but Violent

I saw an interesting thing on a TV show I was watching the other day.  A character's iPhone "rang", while on vibrate.  I recognized the distinctive iPhone vibrate sound right away.  Think about that - the purpose of the vibrate feature is to silence your phone to only alert the owner to an incoming call, yet the sound is audible and distinctive enough that it can be used in a TV show to convey an incoming call without using the Marimba sound like the show Phych goes for.  So, when I saw Apple was doing this, I applauded loudly... on vibrate.