Showing posts with label i. Show all posts
Showing posts with label i. Show all posts

Tuesday, March 10, 2015

What I learned about agile teams from 8 9 year old girls basketball

I am a very fortunate daddy. I am one of the coaches for my eldest daughters basketball team. The community league she plays in has a rule designed to promote team work that at first glance may seem counter intuitive - "No double teaming". This means that in most circumstances when playing defense each girl must cover her own check and can not help out her teammate. To explain this a little more, Ill give you two examples.

Example 1 - double teaming:

Mary is new to basketball and is tentatively dribbling the ball over half court. Ann is playing defense on Mary and is doing a pretty good job of limiting where Mary can go and who she can pass to. Laura is a very strong player on Anns team and notices that Mary is struggling and that she has an opportunity to make a play. Laura leaves her own check, runs over to Mary (who is now double teamed), steals the ball and races to her own basket where she scores an easy two points. Her team cheers loudly.

Example 2 - helping:

Amber is an experienced basketball player and is dribbling the ball over half court. Kari is playing defense on Amber but is having trouble limiting where Amber can go and who she can pass to. Deanna is a very strong player on Karis team, but because she is not allowed to double team, she does not immediately race over to help Kari. Amber makes a quick move that allows her to get past Kari and race towards the basket. At this point, Kari knows she is in trouble and yells help. Deanna races over and gets in front of Amber to slow her down just enough so that Kari can catch up. Once Kari has caught up, Deanna races back to her own check and Kari resumes playing defense on Amber. No baskets are scored and mild applause is heard.

The nature of community led basketball leagues is that there is a combination of inexperienced but willing coaches and inexperienced but willing referees. This means that most times example 1 occurs without the ref or the coach interfering. While our team has been mostly executing as example 2, many of the teams we play against have been executing mostly as example 1.

Over the course of the season, the result has been interesting. Teams that were beating us at the beginning of the season by taking full advantage of the skills of their best player through double teaming are now struggling to even have a chance to score against our girls. The girls on those teams are trying just as hard, but the double teaming strategy that worked so well early in the season is no longer effective.

We have a team of 10 girls who have each improved. Some of the girls are more skilled than others, but each girl has improved noticably from the beginning of the season. The net effect is that our team has also improved noticably from the beginning of the season. Maybe more importantly, this team supports each other, learns from each other, and trusts each other.

Note: It would be easy to credit our brilliant coaching strategy, but that would clearly discount the effort, teamwork, and skill of the girls on our team. They are a wonderful group.

The parallels for agile teams are pretty clear to me. If you expect your team to perform at a high level, you need to let them improve at every role and reinforce team ownership of the project.
  • If you are the PM, dont take sole responsibility of the budget, tasks, project goals etc. Make these visible to your team and help your team own them and make decisions about tasks and priorities together.
  • If you are the DBA, dont get upset when the database design is insufficient, teach the team how to improve their design the first time. Work with them rather than fixing their work later.
  • If you are a tester, dont assume full responsibility for testing, teach your team how to be better testers by testing every day and pair testing with the developers.
  • If you are the UI expert, involve your team when designing the UI. Lead the exercise, but dont steal the design for yourself.

Of course, the converse of all of these is also true:
  • If you are a developer, take responsibility for the budget and priorities
  • If you are a tester, learn how to code a little
  • etc.
There are other lessons to be learned from 8/9 year old girls basketball, like how to ask for help when you need it, but those are for another day.

Occasionally I meet former co-workers who inevitably ask me what Im doing. When I announce my agile and lean passions and talk even briefly about the differences between traditional teams and agile teams, I often am greeted with a response something like "But someone still has to manage the team and the budget right?" My answer is usually "Yes, but it doesnt need to be you anymore. It should be the whole team."

As the African proverb says, "If you want to go fast, go alone. If you want to go far, go together."
Read more »

Saturday, February 28, 2015

I Have Bragging Rights Because I Am Part 2

  • Part 1 - Teaching Habits That Inspire You Out of Learning?
  • Link to ZaidLearns Del.icio.us Teaching Links

"If you done it, it aint bragging." - Walt Whitman"Its not bragging if you can back it up." - Muhammad Ali
“He who is humble is confident and wise. He who brags is insecure and lacking.” - Lisa Edmondson

In the last episode, we got a taste of a lecturer that only had time to engage the whiteboard, so that he could complete his syllabus. This time around, I will have to put on my student experience goggles and transport myself back to an undergraduate psychology course (Deviant Behavior) I took in the previous millennium. For the identity protection sake, we will name this lecturer Dr. Brag.


DEVIANT BEHAVIOR
Dr. Brag was not an ordinary lecturer. No, he was an extraordinary lecturer! I used to enjoy coming to his classes, and occasionally he practiced what he preached, too. So, why are you writing about Dr. Brag? Lets begin!

Although, I admired his expertise, experience and knowledge, it got kind of frustrating listening to him brag (boastful statements/arrogant talk) about all his amazing achievements every class. By the end of the course, we probably knew more about him and his familys achievements than the subject matter itself. Every class, we would hear one self-glory ego-boosting story after another, covering his greatness in sports, politics, work, family and education. Yes, he was also writing more than 10 books concurrently at that time. My best friend was assisting him in editing these books, and that must have been reasonably challenging. I wonder if Dr. Brag ever finished writing any of those amazing books.

I have to feel sorry for the guy, too. He had high blood pressure and was a diabetic in a country like Malaysia. Now, that is a bad combination, especially when the classroom is hot and humid with many students who are mentally on holiday. Or sleeping with their eyes open!

Anyway, I was there! Since I had already developed the habit of sitting in the front row and asking questions, the classes got quite lively at times. Although, he bragged a lot, I loved the fact that he would always challenge us. The one bragging challenge that really got to me, was that he was happy to claim that, "No student in my class has ever gotten an A!" I am not sure if that is something a lecturer should be proud of, but strangely some are.

That was a challenge too good to resist. I didnt get that many As during my undergraduate days, but somehow this particular challenge inspired me to get one. And I am really proud to share with you all that I was the first student at the University to achieve an A with him (Am I bragging or what! I hope he was actually telling the truth!). The glory was short lived though, as I heard that others got As with him in the following semesters. Well, I am proud to be the first one at least (Bragging again!).

I suppose Deviant Behavior was a course that came naturally to me, so I should not think so highly of my success. It is also no surprise that I also scored an A in Abnormal Psychology (Oh man, can you stop bragging!). Some students scores As all the way, some score As in only subjects they like, and some dont get a single one. Nothing to worry about, if you believe in yourself and work hard, I am pretty sure you can succeed anyway. Also, scoring As is probably not the best indicator to predict future success in life. Though, it does help to get a few As on your scroll, because it could at least help you to get an interview with a top company. Why didnt I think of that earlier!


REFLECTION
Some argue that Teachers or lecturers join the academic world (of theory), because they are failures in the real (practical) world. Such statements often drive academic staff nuts (even if it is sometimes true!), and brings laughter to students. Anyway, we dont need to go into this discussion here, because it will probably lead to no constructive alignment.

Instead, we could ask ourselves, "why do we like to brag about our achievements?" Do you brag? I certainly do, but I usually feel kind of stupid when I realize it. But then again, we forget fast, because it is always nice to feel appreciated and important. The best thing is when someone else praises us about our work. But if none do, we could always do it ourselves.

The best thing about teaching and bragging, is that we are guaranteed an audience, which will probably just look in shock and awe (some will already be sleeping!). I mean, no sane student is going to stand up, and tell the lecturer, "Give us a break from your pathetic achievements, and please get on with the class!" And unless one or a few students make it clear sooner or later, the lecturer will probably continue semester after semester, year after year. Interestingly, the stories will become more amazing and exciting every time they are told. There might even be 2-3 new versions every semester, especially if the lecturer is teaching more than one section.

Certainly, lecturers that have a lot of experiences relevant to the topic discussed should share them with the class. However, we should also ask ourselves whether we are doing it to assist our students to understand the learning content better, or emphasize an important point, or are we doing it to boost our ego. Perhaps we do it for both reasons.

If you think that your achievements are so great, perhaps you should watch a few TED Talks to put your achievements in a global perspective (do a bit of benchmarking, please!).

In my opinion, the greatness of a lecturer does not lie in what he (or she) has personally achieved. Instead, a great lecturer is a person who is able to consistently facilitate AHA-moments in students (Oh, now I understand!) and inspire (or trigger) them to explore and discover their true potential.
To sum up, Dr. Brag was actually a very knowledgeable and experienced lecturer, but his habit of bragging was something that was in my opinion more destructive than constructive in motivating students and facilitating learning.

Do you brag in class (or at work)? Has it become a habit beyond control? Think about it! It doesnt take much effort to change. I am trying, but I want to be appreciated and feel important! Unless I tell them, they will never respect me, recognize my amazing talent, and look up to me. What was the agenda again?
"Develop success from failures. Discouragement and failure are two of the surest stepping stones to success." - Dale Carnegie


5-PART SERIES
  • Part 1 - Whiteboard And I Are One! 
  • Part 2 - I Have Bragging Rights, Because I Am … 
  • Part 3 - Is PowerPoint Evil? 
  • Part 4 - No Stupid Questions! I am Serious! 
  • Part 5 - Show Up to Throw Up! 21st Century Thinking? 
Read more »

Tuesday, February 3, 2015

Programming lessons I wish I knew when I graduated part 1

Ive been writing code for about ~13 years. Ive had jobs in the software industry since 9th grade: while my friends spent summers slaving away at their McJobs, I was in an air conditioned office browsing the web. I got my BS and masters from a good CS department, consistently ranked top 5 in the nation. Despite all that, when I got to the "real world", I absolutely, positively, unconditionally, sucked.

Actually, I still suck, but Im much more aware of it now and am actively doing something about it
There are many things about "professional" software engineering that you just cant learn in school. This post will go through several hard lessons that every programmer must eventually learn or remain in perpetual suck-land forever. This list certainly isnt comprehensive, but hopefully itll help some newbie programmer out there so s/he can suck just a little less when its time to go "pro".

1. Maintenance
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. [Rick Osborne]
The nature of being a student is that most projects are short lived: you spend a few nights on it before the assignment is due, hand it in, and never think about it again. In the professional world, its often the opposite. When an employer asks you to build something, remember: they are also asking you to maintain it. Possibly forever.

Just about every company is mired in "legacy" code that has been around for years and someone gets the soul-sucking work of keeping it running. Try not too laugh too much when you see it: before long, your own contributions will be part of the mess that someone else is maintaining. Once you start dealing with this crud on a daily basis, youll learn the true value of writing clear, understandable and maintainable code.  Dont cry too much when you come across some horrendous pile of spaghetti code, tear your hair out to understand it, curse the author and his whole family... only to come to the realization that it was something you scrawled together 6 months ago.

Pro tip: learn that programming is part engineering and part writing. You must write code that can be understood by two audiences: the computer and your fellow programmers.

2. Testing
Whenever you are tempted to type something into a print statement or a debugger expression, write it as a test instead. [Martin Fowler]
Programming is hard. Really hard. Some people cant do it at all. And of those who claim they can, they often suck at it, badly. Given how difficult it is to produce correct code, it is all the more appalling to find programmers who barely test what they write. Ive seen people refactor classes, modify hundreds of lines of code, totally rework core pieces of logic and then check-in with no more than a cursory glance at the output. This is horrifying.


Part of the problem is that programming education is often based around manual testing: run this, click that, and if the output looks correct, youre done. It makes sense to do this in an intro level CS course, as its hard to write code to test your code if you dont know how to, er, code. However, once you get beyond this beginner stage, I dont think any university course, coding tutorial, or book should ever encourage or accept manual testing again. For example, Id love for every CS course to require each project to include an automated test suite: you are graded not just on the correctness of your code, but also on the (very related) issue of the effectiveness of your tests.

Pro tip: get really good at writing automated tests. They are the "healthy diet and regular exercise" of software engineering.

3. You dont know what you dont know 
On two occasions I have been asked, "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" In one case a member of the Upper, and in the other a member of the Lower House put this question. I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. [Charles Babbage]
I came out of school and thought I knew almost everything I needed to know to be a successful programmer. I oozed overconfidence. In reality, the gaps in my knowledge were so huge that I didnt even know what was missing. I was not just a carpenter who only knew how to use a hammer, I didnt even know that screw drivers, pliers, or saws existed. And I was a worse programmer for it.

Oddly enough, finishing school was just the beginning of the learning process. Every new programming language I learned, every new technology I mastered, and each new problem I solved didnt just add a single item to my toolbelt: it exponentially increased the range of problems that I could solve and the efficiency with which I solved them.

Pro tip: you cant predict the benefits of learning something until you actually learn it. The only way to become a great programmer is to take the plunge and try to learn just about everything you can. Read all the blogs and books you can find and get involved with open source as soon as possible.

To be continued...

Continue on to part 2 of this series to learn about screwing up, how to get things done and how to be recognized for it.
Read more »

Monday, February 2, 2015

I am on Telegram NOW!

Hi to all,

You can now contact me in Telegram. I dont have a viber because I do not have a 64bit Linux OS it only work in a 64bit Linux OS as of the moment. Telegram works in 32bit Linux OS. I can reply to you ASAP when I got your message,

I may not be able to reply to you through text because I seldom reload my phone/SIM.

Here is my contact:
Telegram: 09126753342
Hangouts: gadgetzboyz@gmail.com
Read more »

Monday, January 26, 2015

How I lost 43lbs

My bodyweight during 2008:
  • 04/15: 223lbs
  • 05/24: 210lbs
  • 07/07: 200lbs
  • 08/28: 190lbs
  • 12/05: 180lbs
Thats 43lbs in less than 8 months (with a disproportionate 4 months spent on the last 10lbs). Was it the Atkins diet? South Beach diet? Zone diet? Broken bathroom scale? Did I just hack off a limb?

Hell no. It was physics. Nah, seriously - my weight loss is 100% attributable to the law of conservation of energy. I wouldnt say the weight loss was easy - those last 10lbs in particular seemed to take forever - but it was surprisingly effortless. I ate any food that I wanted, I never felt hungry, I had tons of energy and my diet became a seamless part of my daily routine. All it took was following two basic rules:

  1. Calories In < Calories Out. This is the only formula that really matters in weight management. Eat less than you burn and you are guaranteed to lose weight.
  2. Maintain Lean Body Mass. The weight you lose from following rule #1 will consist of not only fat, but muscle as well. Since the actual goal is to lower body fat percentage, it is essential to maintain as much of your lean body mass (LBM) as possible.
Lets discuss these one at a time.

Rule 1: Calories In < Calories Out

This is the formula for weight loss. You can try every crazy diet on the planet, but if you eat more calories than you burn, you will NOT lose any significant amount of weight. As I said, its basic physics: the human body requires some amount of energy X, measured in calories, to do its basic functions. Moving, thinking, breathing, walking, and just about everything you do requires energy, with the exact amount depending on a persons genetics, age, health, activity level, etc. The only two sources of energy readily available for the human body are the food you eat and the muscle/fat you already have. In general, your body will use the energy from food before it starts digesting the muscles/fat in your body. So, lets assume you eat Y calories per day and look at the 3 possibilities:
  1. Y > X. Due to the law of conservation of energy, if you eat more calories than you burned, the calorie surplus (Y - X) has to go somewhere. In the human body, there are two main places for it to go: it gets turned into muscle or into fat. In either case, you gain weight.
  2. Y = X. If you ate and burned the same number of calories, there is no surplus or deficit to worry about, so you stay the same weight.
  3. Y < X. Once again, due to that pesky law of conservation of energy, if you ate less calories then you burned, that deficit must come from somewhere. In the human body, the two main sources are muscles and fat. In either case, you lose weight.
Eat less than you burn and you WILL lose weight. Thats really all there is to it. Now, I know that Im simplifying biology here, but on a large, week-to-week scale, this is a pretty accurate picture.

Ok, So How Do I Satisfy Rule #1?

The first step is to start tracking how many calories you take in and how many you burn. Dont just try to guess or approximate, as you are all but guaranteed to get it wrong: after all, thats how you got fat in the first place. Instead, I highly recommend using a website like thedailyplate.com or fitday.com. They are free, have massive databases of foods with all the nutritional information, have all sorts of useful tools (like calorie calculators, graphs, weight tracker, etc) and take most of the guess work out of it.

Log in, plug in your height, weight, age and activity level to get an approxmiation of your basal metabolic rate. This is how many calories you burn daily by just having a beating heart, eating, breathing, thinking - in short, existing. For the average 59", 175 pound male, merely being alive burns around 2000 calories per day. Any exercise or physical activity you do would add onto that.

Once you have this figured out, start recording every single item you put in your mouth. Youd be surprised how quickly those little snacks can add up. Now, remember that ALL calorie tracking is an approximation. You will never know exactly how many calories are in that pastry or exactly how many calories you burned during your jog. Dont worry about it too much and just put down your best guess, using the estimates on the websites above as a base. For one thing, if youre honest about it, your errors - an overestimate here, an underestimate there - will often cancel each other out. Secondly, use a scale to track your weight: if your weight is going in the right direction, youre doing a good job of estimating. If your weight is not going in the right direction, even if you think youve been on a caloric deficit, dont just give up and assume the laws of physics do not apply to you. It just means that your estimates have been inaccurate (or incomplete). Keep at it, tweak your numbers, and eventually youll get pretty damn good at it. Oh, and dont bother weighing yourself more than about once a week: your weight can fluctuate daily due to a number of unrelated reasons (water retention, weighing yourself at different times, etc), but over the longer term, these fluctuations tend to average out.

Rule 2: Maintain Lean Body Mass

Rule #1 only ensures that you will lose weight, which includes both fat and muscle. As it turns out, muscles are metabolically more "expensive" to maintain than fat - that is, it takes a lot of calories just to keep them around. If you are on a caloric deficit, your body may be very tempted to burn the muscle up for energy both to make up the energy deficit in the short term and to reduce the possible deficit in the future. However, losing weight at the cost of losing a lot of muscle mass is a bad idea for a number of reasons, including:
  • Losing LBM lowers your basal metabolic rate, which is very counterproductive for dieting. If your basal metabolic rate is lower, you burn fewer calories per day. Therefore, to continue losing weight, youd have to eat even less, which makes dieting even harder. If you continue losing muscle mass, youll gradually see diminishing returns with your weight loss until your metabolism slows to a crawl, making weight loss virtually impossible.
  • Obviously, losing muscle mass typically means performing worse at sports, struggling to move that couch, less energy through out the day, and so on.
  • For the most part, a persons appearance - whether you have "toned" abs, firm thighs, cut shoulders, etc - is much more of a factor of body fat percentage than it is of total weight. You could lose a lot of weight, but if a large percentage of that weight loss is muscle, then your body fat percentage wont actually be that much lower. As a result, despite all your efforts, you wont necessarily look any better. Dieters who have had this happen have nicknamed it becoming "skinny fat" - youre much lighter, but still look just as flabby.
Therefore, the main goal of a diet for most people should be not to lose weight, but to lower body fat percentage.

Lowering Body Fat Percentage

There are only two ways to go about this: you either need to increase the amount of muscle in your body while keeping the amount of fat relatively constant ("bulking") or reduce the amount of fat in your body while keeping the amount of muscle relatively constant ("cutting"). To bulk, you must eat a caloric surplus and convince your body to turn the extra caloric energy into muscle mass. To cut, you must eat a caloric deficit and convince your body to get the missing caloric energy from your fat. Can you build muscle and lose fat at the same time? Not very effectively - see the FAQ below for more info.

Since this post is about weight loss, our goal is to cut weight while maintaining as much muscle mass as possible. To do this, you need to convince your body that your metabolically expensive muscles are worth keeping around. Here are several good ways to do this:

1. Eat lots of protein. This is absolutely essential. You need protein to build/maintain muscles, so make sure your body is never running short of it while on a caloric deficit. This is especially important if you are doing any sort of exercise. Try to eat around 1 gram of protein per pound of bodyweight: for example, if you weigh 175 lbs, try to eat 175 grams of protein per day. The same websites I mentioned for tracking calories automatically track protein intake as well. If this seems like a lot of protein, check out the FAQ section below for more info.

2. Weight training. Consistently using your muscles to lift heavy weights is pretty much the single most effective way to tell your body that it should NOT digest its own muscles. In fact, its pretty much the only way to keep the weight loss as close to 100% fat as possible. The most effective routines are those that work the entire body and focus on compound, low rep, heavy weight movements with free weights (e.g. Starting Strength, Stronglifts 5x5, Bill Starr 5x5, Crossfit). Yes, even women should do weight training. NO, you will not get "big". Not only is it extremely difficult for the average woman to get "jacked", when youre on a calorie deficit, your primary concern will be trying not to lose muscle mass. Of course, doing weight training has many other benefits besides maintaining LBM, such as increased strength, increased sports performance, injury resistance, increased bone density, increased metabolism (helping accelerate future weight loss), improved balance and coordination, and so on. Despite the popular myth that weight training automatically makes you gain weight, I really cant stress enough how great of a tool it is when dieting.

3. Use a moderate caloric deficit. If your caloric deficit is too big, your body will go more and more into a "starvation mode" where itll digest a LOT of your muscle mass and actually try to conserve your fat for the future - the exact opposite of what you want. Therefore, dont go overboard with the caloric deficit: a daily deficit of 250 - 750 calories is reasonable range for most people and will let you lose about 0.5 - 1.5 lbs per week. Any more than that and a larger percentage of it will be muscle.

FAQ

What about other diets, like low fat diets, Atkins, Zone, South Beach, etc?

If any of these fad diets works, its simply because it tricks you into eating less calories than you burn. They all have various strategies for accomplishing this, but I personally prefer to skip to the heart of the issue and skip all the BS in between. In exchange, I get to decide what I eat, when I eat and how much, so long as I follow rules #1 and #2.

What foods should I avoid?

You can eat whatever you want, so long as you follow rules #1 and #2. From a purely weight loss perspective, it doesnt matter if all your calories come from eating nothing but candy dipped in melted butter. If you eat less calories than you burn, even if all the calories are from candy and butter, you WILL lose weight. Having said that, Id take note of the following:
  1. Most people should be concerned with more than just their weight. For one thing, the need to keep your protein intake high (as in rule #2) will make it tough to live on a diet solely consisting of buttered candy. Secondly, your overall health relies not only on your weight or body fat percentage, but also on your diets vitamin content, your blood cholesterol levels and many other diet-influenced factors. Each person should obviously consider these when deciding what to eat. So, while you could lose weight eating nothing but butter and candy, I wouldnt recommend it.
  2. Staying within your caloric limit can be difficult without feeling hungry. You will find that some foods are a much better "bang for the buck" - that is, you can eat more of them and feel fuller without eating too many calories. The "What does 200 calories look like?" webpage does a great job of illustrating this. If youre staying within your caloric limit, youll naturally find yourself gravitating towards foods towards the top of this page rather than the bottom, quite simply because you can eat more of them. As it happens, these calorie-sparse foods also happen to be the ones we traditionally consider "healthy".
What about macronutrient breakdown? Glycemic Index (GI)?

From a weight loss perspective, both of these are relatively minor factors. As long as youre within your caloric limit, the body doesnt care all that much whether those calories came from carbs (whether high GI or low GI), fats or protein. The one exception is if your body fat percentage is already very low - below 10% for males - at which point losing more fat becomes much more challenging and every little detail must be monitored. However, the vast majority of people are nowhere near this level, so these are not particularly relevant.

Having said that, I must again point out that from an overall health standpoint, you may want to be aware of these issues. Picking foods with a lower Glycemic Index can have many health benefits, such as reducing hunger, cholesterol and the risk of heart disease. A proper macronutrient breakdown, such as the 40-30-30 (carbs-protein-fats) of the Zone Diet, may help with hormone balance in the body, which can impact every aspect of your life, from mood to weight management. But as far as just losing weight, they probably arent terribly important.

Id also note that, from personal experience, I have found that by picking foods that let me keep a caloric deficit and keeping my protein intake high (~1 gram per pound of bodyweight), both of these factors took care of themselves. I typically found that lower GI foods were also less calorie dense and I preferred them as I could eat them in larger quantities. Moreover, keeping my protein intake high naturally created a 40-30-30 macronutrient breakdown in my diet with no extra effort.

Should I eat many small meals per day?

If you keep caloric intake constant, eating multiple small meals a day versus several larger ones has no advantage as far as weight loss goes. In other words, the idea that eating more often raises your metabolism and somehow burns more calories is a myth. However, there are other benefits to eating more often that might make it worthwhile. The main one is that you can prevent yourself from getting hungry due to long breaks between meals, which can make it easier to stay within your caloric limits.

What about cardio? Should I exercise in the "fat burning zone"? What about HIIT?

From a weight loss perspective, cardio is primarily an efficient way to burn more calories - to increase the "calories out" portion of the equation in rule #1. Of course, cardio has many other benefits that make it a very worthwhile activity that have little to do with weight loss. These include improved endurance, stronger heart and lungs, and improved blood cholesterol levels. Cardio activities can also help with maintaining LBM, but not nearly as effectively as weight training.

As for the type of cardio, its really up to you. There are studies that show that keeping your heart rate in the "fat burning zone" during cardio gives you the most favorable ratio of fat burned vs. muscle burned while exercising. Other people claim high intensity interval training (HIIT) is better. Whether or not they are right is, frankly, irrelevant. I really like this quote from Alan Aragon from an article about the "afterburn effect":

Caring how much fat is burned during training makes as much sense as caring how much muscle is built during training.

Perhaps you burn a slightly higher percentage of fat while in the "fat burning zone", but when you look at the big picture, this effect is pretty damn insignificant. All that really matters is how many calories you burned and from that perspective, you should just do whatever cardio you enjoy and can do consistently.

How do I get a 6 pack? Should I do crunches or sit-ups?

The first thing to understand is that having visible abs is, for all practical purposes, completely a factor of body fat percentage. If your body fat percentage is too high, it doesnt matter how many crunches you do, your abs will NOT be visible. You can buy the ab lounge, the bo-flex, and do crunches for days on end, but as long as there is a layer of fat over your abs, you wont be able to see them.

The second thing to understand is that, realistically, the concept of "spot reduction" is a myth. By spot reduction, I mean the idea that by doing exercises on some specific part of your body, you can lose fat from just that place. The classic example is people doing sit-ups or crunches in the hope that this will reduce fat around their midsection. It wont. Sit-ups and crunches may make your abs stronger and boost their endurance, but they WILL NOT decrease fat specifically around your stomach. You could do a thousand reps on those goddamn adductor machines at the gym and it wont magically burn fat off your ass or thighs.

To be more specific, you will only lose fat - from any part of your body - when on a caloric deficit. Where the fat is lost from is entirely up to your body. You really dont have any say in the matter. If your body decides to lose a ton of weight from your stomach, but none from your thighs, there is nothing you can do about it. However, as a general rule, when you lose weight, you lose weight fairly evenly from all over your body. Having said that, most people tend to have a body part or two that keeps an disproportionally large amount of fat. For men, this is usually the stomach and love handles. For women, its usually the thighs and butt. These parts of the body are usually the first ones to gain fat and the last ones to lose it. The only solution is to just keep doing what you are doing: once your body fat percentage gets low enough, you WILL lose fat from even these troublesome areas.

Is it possible to build muscle and lose fat at the same time?

As I discussed before, muscle growth happens as a response to a caloric surplus while fat loss happens as a response to a caloric deficit. Although there are a few minor cases where both can happen, it should be obvious from the caloric formula alone that doing both at the same time isnt very feasible. It can be accomplished at a very slow rate by eating roughly "maintenance" calories (ie, calories in = calories out), but people typically have much better success (ie, achieve more muscle with less fat in a shorter time) by repeatedly alternating bulking and cutting cycles.

Its also true that beginners to weight training, for a short while, can burn off fat and build muscle at the same time. This typically happens with overweight and completely untrained individuals, as their bodies are primed to use fat as fuel and their muscles, in total shock from the foreign stimulus of weight training, adapt very quickly ("beginner gains"). The result is that, for a few months after beginning weight training, many guys will see their waist lines shrink while their shoulders and legs grow. Its yet another awesome incentive to do weight training, but of course, it doesnt last. After a while, to really effectively continue to add muscle mass or burn off fat, you need to gear your diet towards one or the other.

So how long do I need to do this for?

Well... forever. Or, at least as long as you want to have control over your body weight. A diet cannot be a temporary thing, because if you go back to your old eating habits, youll undoubtedly also go back to your old weight.Worse yet, the more weight you lose, the harder it gets. For one thing, as your bodyweight gets lower, your basal metabolic rate drops as well. This means you burn less calories per day, so to maintain a caloric deficit, you have to eat even less (or exercise more). For a small amount of weight loss, this effect will be minimal, but if youre losing 20lbs or more, youll need to take it into account - the calorie tracking websites I mentioned actually do this automatically for you. This is yet another reason maintaining/adding muscle mass is so beneficial for weight loss: for the same amount of mass, muscles take more calories to maintain, which means merely having them lets you burn more calories.

But dont worry, its actually not that hard. After a few weeks, it becomes a part of your life and does not feel like a chore. Moreover, seeing results is an unbelievable motivation. Losing weight will make a significant daily impact in your life. Everything from getting up from the couch, to running up a flight of stairs, to how you perform at sports and exercise will improve. Youll boost your energy levels and your confidence. Of course, depending on how much weight you lose, your old clothes might not fit you any more, but I think youll get over it. Also, when you finally reach your target weight and switch from a daily caloric deficit to eating maintenance calories, youll find that you can feel totally stuffed every single meal and not gain an ounce.

Do I have to do Crossfit like you did to lose weight?

No, not at all. In fact, my first Crossfit workout was on July 7, by which point I had already lost 23lbs. Before that, my only real exercise was some weight training 3 times a week using the Bill Starr 5x5 routine. The main role of exercise in my weight loss was as a way to help maintain LBM and to increase how many calories I burned per day. Exercise has many other benefits as well, but its definitely not a requirement for weight loss. You could just eat less to get to a caloric deficit and I guarantee that youll lose weight.

How do I eat so much protein?

The typical daily recommendation is around 1.0 grams of protein per pound of body weight. This is a pretty hefty amount, but it definitely goes a long way towards helping maintain LBM. Of course, not everyone needs that much: if you dont do any exercise or are very heavy to begin with (over 300lbs), you can probably do just fine with closer to 0.5 grams of protein per pound of body weight. In any case, if you need to up your protein intake, youll probably need to rework your diet around foods that are high in protein, but relatively low in calories. One gram of pure protein has about 4 calories in it. For any given food, you can divide the number of calories it has by the grams of protein. The closer this number is to 4 (which is the theoretical minimum), the "cleaner" a source of protein it is - that is, you can eat more of it to up your protein intake without increasing your caloric intake too much. Below is a list Ive compiled of high protein foods and their calorie to protein ratio. Foods closer to the top give you a better protein "bang for the buck". These numbers are from thedailyplate.com and will obviously vary with different preparation, cuts, brands, etc.

Whey protein isolate: 100 cal, 23g, 4.34 cal/g
Spirulina: 26 cal, 5.92g, 4.39 cal/g
Turkey breast: 146 cal, 33g, 4.42 cal/g
Ostrich steak: 160 cal, 36g, 4.44 cal/g
Turkey breast (deli slices): 60 cal, 13g, 4.62 cal/g
Canned tuna: 70 cal, 15g, 4.66 cal/g
Chicken breast: 130 cal, 27g, 4.81 cal/g
Casein protein: 120 cal, 24g, 5.0 cal/g
Shrimp: 90 cal, 17g, 5.29 cal/g
Smoked salmon: 70 cal, 13g, 5.38 cal/g
Cottage cheese (0% fat): 70 cal, 13g, 5.38 cal/g
Clams: 50 cal, 9g, 5.56 cal/g
Cottage cheese (1% fat): 90 cal, 16g, 5.63 cal/g
Salmon filet: 130 cal, 22g, 5.91 cal/g
Greek strained yogurt (0% fat): 90 cal, 15g, 6.0 cal/g
Sirloin Steak: 260 cal, 43g, 6.05 cal/g
Chicken breast (deli slices): 70 cal, 11g, 6.36 cal/g
Buffalo burger: 280 cal, 43g, 6.51 cal/g
Button mushrooms: 15 cal, 2.2g, 6.28 cal/g
Shiitake mushrooms: 21 cal, 3g, 7.0 cal/g
Canned salmon: 90 cal, 12g, 7.5 cal/g
Mussels: 70 cal, 9g, 7.78 cal/g
Beef jerky: 130 cal, 16g, 8.13 cal/g
Hamburger (90/10): 200 cal, 23g, 8.70 cal/g
Oysters: 57 cal, 6g, 9.5 cal/g
Pork chops: 152 cal, 15.6g, 9.74 cal/g
Skim milk: 80 cal, 8g, 10.0 cal/g
Mozarella: 60 cal, 6g, 10.0 cal/g
Soybeans: 100 cal, 10g, 10.0 cal/g
Portabella Mushroom: 26 cal, 2.5g, 10.4 cal/g
Chicken wing: 98 cal, 9g, 10.7 cal/g
Egg: 70 cal, 6g, 11.66
Yogurt (0% fat): 70 cal, 6g, 11.66 cal/g
Lamb: 331 cal, 27.57g, 12.0 cal/g
Provolone cheese: 70 cal, 5g, 14.0 cal/g
Italian salami: 100 cal, 7g, 14.29 cal/g
Hamburger (80/20): 290 cal, 23g, 14.5 cal/g
Bacon: 103 cal, 7g, 14.71 cal/g
Muenster Cheese: 120 cal, 8g, 15.0 cal/g
Kashi Go Lean Protein Cereal: 200 cal, 13g, 15.38 cal/g
Cheddar cheese: 113 cal, 7g, 16.1 cal/g
Tofu: 610 cal, 35g, 17.43
American cheese: 70 cal, 4g, 17.5 cal/g
Black beans: 140 cal, 7g, 20.0 cal/g
Peanuts: 160 cal, 7g, 22.85 cal/g
Pumpkin seeds: 46 cal, 2g, 23 cal/g
Sunflower seeds: 262 cal, 10.48g, 25.0 cal/g
Peanut Butter: 190 cal, 7g, 27.14 cal/g
Almonds: 312 cal, 11g, 28.36 cal/g
Quinoa: 636 cal, 22g, 28.9 cal/g
Sesame Seeds: 158 cal, 5g, 31.6 cal/g
Cashews: 240 cal, 7g, 34.23 cal/g
Walnuts: 688 cal, 14.7g, 46.8 cal/g
Read more »