Being Less of a Fatty

I graduated highschool weighing around 165 lbs.  By the time I graduated college I was up to 178.  On January 1st, 2014, I came in at 192.

As of yesterday, I’m down to 172.

In the past I’ve tried various ways to lose weight.  I’m not the world’s most motivated person, and I hate working out.  It’s not that it’s painful, it’s just so incredibly boring.  “I’m just gonna go run for an hour…. on a machine with a rotating belt… and stare at a wall.”  Maybe if Minnesota weren’t a frozen wasteland, and running outside were more of an option, it wouldn’t be so bad.  After failing to train for a 5k several times, I decided there had to be an alternative way.

My neighbors
My neighbors

Step 1. Eat Better

Food is delicious.  No, seriously.  Have you ever eaten and Fogo de Chao?  If yes, I don’t need to explain the word “meatgasm” to you.  And the Melting Pot?  Skip the fondue forks and just give me a ladle.  I don’t even care if it results in third degree burns.

The quality of food I normally eat is not exactly “healthy”.  A double stacked bacon cheeseburger with a side order of sweet potato fries is mostly on par with a normal dinner.  Oh, and don’t forget an appetizer!  The starting point for being more health conscious has been making small adjustments to what I eat.  Side of fries?  Replaced with a side salad.  Large soda usually refilled twice?  Water.  Burger?  Well, that stayed.  Any time I’ve tried to go 100% with my meal options, they stop being so tasty and I give up.

Step 2. Eat Less

I eat fast.  Stupidly fast.  On one of the first dates with my now-girlfriend, I finished my entrée before she finished cutting her chicken breast.  Maybe that speaks more about her cutting capabilities, but I digress.

My eyes are almost always larger than my stomach, but I also hate leaving an empty plate.  Reminding myself that my stomach doesn’t need as much food as I normally order before opening up a menu has helped me to keep my portions smaller.  Also to help curb my appetite I’ve also been drinking a lot more water, all throughout the day.

Step 3. Optional Workouts

Working out is great for you, but like I said, I hate it.  For the past few weeks I’ve tried to run on the treadmills in our apartment facility.  In the past I’ve treated working out as a work/reward system: workout, eat something not necessarily good for me but delicious.  The problem with that has been it being a net-0 system.

Losing weight, for the most part, can be simplified down to an easy equation: burn more calories than you consume and you lose weight.  Working out burns off more calories, and the reward is now the endorphins that flood my system afterwards.

So delicious...
So delicious…

Step 4. Sweet Sugary Drugs

One of the biggest things that has helped has been a mentality change.  I’ve mentally classified sweets and sugary snacks as “drugs”.  “Drugs” encompasses anything that tastes delicious, makes me happy, but isn’t good for my body.  Beer & ice cream are now on the same plane.

It’s easier to say “no” to something when you can look at it and think, “Yea, that’s delicious, but it’s not good for me.”  Do I still eat junk food?  Of course I do!  Just not as frequent and in as large of quantities as before.

Step 5. Moderate

The important thing has been to moderate everything.  If there is an option to take stairs over an elevator, I’ll do it.  One beer instead of two.  Salad instead of fries.  But as my father once told me, “Everything requires moderation, even moderation itself.”  My will still isn’t strong enough to always resist snacks, or being lazy for a day.  Instead of breaking, I allow myself to bend.  A day off from the strict regime is totally fine, and I can get back into the swing of things the next day.  I’ve found this is exceptionally helpful in keeping up with things long term.

 

With these things in mind, I’ve lost 20lbs.  While I don’t consider this journey “done”, I’ve been exceptionally happy with the progress.  Hopefully be the time summer rolls around I’ll be ready to sport a new swimsuit!

Getting Into Programming

I’ve had several people ask me, “How can I do what you do?”  The answer is simple: start.  Any skill in life takes time to learn, whether that be programming, cooking, playing baseball, or playing the piano.  With any new skill you need to start somewhere.

Below, I hope to highlight a few things that will help non-programmers start on a track to becoming one, for a job or even just for fun.

 

Set Your Standards Low

I am by no means a code guru (much more of a polyglot), though I have been programming for over 10 years.  I started with basic Windows scripting, and moved on to Linux scripting when Counter Strike: Source came out.  For half of that time I’ve been developing iOS applications, with a handful on the store, published either by myself or a company I’ve worked for.

If you’re familiar with programming and you’re switching to iOS development, you can probably knock out an app in a month or two.  However, if you’re new to programming, and you don’t understand what methods, arguments, header files, and variables are, you will have a LOT to learn.  That’s not to say it can’t be done, just that unless you dedicate your whole life to it, it’s going to take a while.

If you go into development with zero background, expecting to make the next Flappy Bird in a month, you will most likely be extremely disappointed.  If you get into things expecting nothing, you’ll be happy with improvement of any kind.

 

Finding a Good Language

There are an extremely large number of programming languages, just look at this Wikipedia page.  What language you start with has a lot to do with what your goals are.  If you pick a language that is in line with your interests, you are more likely to stick with it, and more likely to succeed.  And most importantly, you never forget your first.

Figure out what you want to do with programming: get a full time job, built yourself a website for a hobby you have, or maybe have your computer automatically check you in to flights for Southwest Airlines at exactly 24 hours before departure.  Once you’ve figured that out, pick the language that will get you there.

Java

Java often gets criticized for being slow, but if you’re new to programming you most likely won’t notice it.  Android applications are developed in Java, and Java desktop applications can run on OS X, Windows, and Linux.  The idea behind Java is to “code once, run everywhere”, so you could write a Java program on one computer, transfer it to another, and easily run it.  With some modifications, you can also turn desktop applications into web applets.  Java developer jobs are also highly in demand, so if you want to make a career out of development, Java is not a bad route to go.

HTML/CSS/JavaScript

No, JavaScript is not the same as Java, though they have similar roots.  I’ve lumped that together with HTML and CSS  because those are the three main pieces that make up websites.  Think of them like layers of a cake (the cake being a website).  The HTML is the base, the content, where pictures and text reside.  On top of that is the CSS, which adds colors, applies fonts, adds in background images, and more.  It’s the colorful frosting to your website cake.  At the very top is JavaScript, which is the toy car and candles that the cake lady who also works at the deli threw on top.  JavaScript runs things like animations, images slideshows, and most of what people consider the “interactive” pieces of a website.  You’re not going to be making the next Facebook or Twitter, as contents with dynamic content are run by server languages like PHP and Ruby, but HTML/CSS are the basis for anything on the web today.

If you want to stick your toe into the pool that is JavaScript, CodeAcademy has some free lessons for beginners that are quite good.

Python

Not to be confused with the snake, Python is very powerful programming language.  It is often praised as the best programing language to start with, as it also has a clean syntax and is usually quite easy to read.  Python powers applications such as Dropbox, and is used by large companies such as Google and NASA.

Ruby

Ruby is an object-oriented scripting language.  Built on top of Ruby is Ruby on Rails, which is a framework that allows you to create dynamic websites very easily.  Over the past several years it has started to gain popularity, and many companies are hiring Rails developers.  Websites such as Twitter, Ask.fm, and GitHub have been built using Rails.  If you want to get into dynamic website creation with user generated content, you could start by learning Ruby, and working your way up to using a framework like Rails to make your code even more powerful.

CodeSchool has a great introductory course to Ruby.

PHP

PHP is a server-side scripting language.  It powers sites like Facebook, Wikipedia, WordPress, Drupal, and many others.  It first appeared in 1995, and is what runs over 20 million websites today.  It is one of the most popular web development languages, though not many consider it a beginner-friendly language.

 

Get Feedback

Once you’ve started programming, it’s hard to gauge your skill level without getting feedback.  If you have an experienced developer who can be your mentor, that is great, though not everyone has that luxury.  One way to try and get feedback is to your your code publicly online with a service like GitHub.  Doing this accomplishes two things:

1) You learn how to use version control, which is an invaluable skill once you start working on larger projects.

2) You get used to other people looking at your code.

It’s easy to think “I’m not good, nobody should look at this”, but that is a feeling you need to get used to.  When I look at some of my old code I feel slightly embarrassed, because with each passing day I improve on my skills, and my code from 6 months ago is not nearly as good as code I write today.

Another important note is that a lot of people on the internet can be pretty harsh.  Quite often other developers can be hyper critical of your work, and you’ll have to develop some tough skin to deal with it.

 

The most important thing is to just stick to it.  If you want to get better you just need to keep working at it.  Accept critiques from other developers and improve on your skills.  Once you understand the basics of the language you’ve chosen, you can use websites like Codewars which have little daily challenges on them to keep your mental blade sharp.

Happy programming!