Holy Crap I’ve Got Abs (Kinda)

Share on RedditTweet about this on TwitterShare on FacebookShare on Google+Share on StumbleUpon

In the span of a year, I went from looking like the picture on the left to looking like the picture on the right.

Before and After

This blog post is what I did to get there.

I went from 80kg at about 24% body fat to 65kg at about 14-15% body fat. Most of this blog post will indicate a much higher start point (of which I didn’t have a photo of), at 87kg and about 30% body fat.

Origin Story

My story is pretty standard. I was always the fat kid in school, always prefering sedentary activities to well, active activities. I never liked physical activity much. The excuse I gave was that my pursuits was in the intellectual, not the physical, and I derided people who chose to play sport as nothing but physical brutes. Then I got bitten by a radioactive spider. Then I became obese.

Finding that out was quite a bit of a shock, as I never looked obese, even though my BMI was 30. I finally decided that I wanted to live longer, and with a better quality of life. Future quality of life was the major reasoning for the change in behaviour and attitudes – it wasn’t a problem for Future Me to handle, it was a problem for Now Me to handle.

Now, contrary to what the fat activists/advocates out there on Tumblr say, weight loss is simple, and it’s sustainable. Understanding what works and what does not doesn’t require specialized degrees in nutrition science. All you need to do is educate yourself[1].

Of course that’s not just what I did. Learning stuff from a book and having experienced something are completely different things, and I have a penchant for self-experimentation, so why not.

So what is my conclusion regarding weight loss? Simple: weight loss (or gain) is simply a function of calories in and calories out. One is highly controllable (calories in), while the other is mostly difficult to control without supreme amounts of effort (calories out).



Weight loss may be simple, but it is far from easy. To wit, despite at the beginning of this post I mentioned that it had taken me a year, the diet portion has taken far longer than that. When I say diet, I don’t mean crash dieting, but rather I mean diet in the sense of what I eat.

It began with flirting with Paleo about 4 years ago, and then keto, and then various other diets. At the point I was very much into the Quantified Self movement[2], and it was through data collection of what I ate and the weight fluctuations that I worked out that Calories In vs Calories Out was the sole reason for weight loss.

Yep, even with paleo, keto, whole30, etc, any weight loss (or gain) that occurs occurs due to caloric consumption. The trick is that with paleo, and especially keto, you’d feel satiated a lot quicker due to the higher protein intake, and hence leading to eating less in total.

However, I eventually still did put on weight with those diets. Because I kept track of the data, after analyses, I realized that I eventually ate larger and larger portions as my stomach (and brain) got used to the satiety from the extra protein intake.


Having analysed and realised it, the battle was still ahead for me. To lose weight, I’d have to eat at a deficit from what my body uses. Thankfully, a quick regression analysis showed that my Total Daily Energy Expenditure (TDEE) was somewhere around 2200 kcal (when I was still obese). This was roughly corroborated by the Mifflin St Jeor equation. I was eating close to 2400-2600 kcal at that time.

So I had to eat at roughly 1800 kcal from my habitual 2400 kcal. I didn’t drink soft drinks regularly, so I had no easy way to cut soft drinks. I did however, snack quite a bit – nuts, chocolates, lollies, gummy worms (especially gummy worms!!!!) and raisins – were all my weaknesses. So, cutting out snacks was the first thing I did.


I tried a few things to cut out snacking, some more successful than others. Eventually my solution was to simply not buy anything. Looking back, it was definitely easier said than done, especially when Aldi does ridiculous sales like 5 bags of raisins for the price of 2 – the day I finished 1kg of raisins in a single day was definitely one my less-proud moments.

Things that I tried that didn’t work included snacking at pre-allocated times, smaller plates, putting the snacks far away so I had to walk to acquire them… These all didn’t work due to the general availability of the snacks. There was little to no cost of me getting the snacks to eat. Furthermore, through an audit of time thanks to RescueTime combined with a FitBit, I found out that I was simply snacking out of boredom (or when my mind is on a problem and needs to idle in the background for a bit).

So the solution evolved into simply not buying any snacks. This introduced a large cost when I am bored – I’d have to walk out in the sun to go to Woolworths, which simply is not worth it.

After a while, my weight came down, and eventually my TDEE too changed. But I was still overweight. So I recalculated my TDEE, did some math stuff, and figured out that my TDEE was roughly 2000 kcal. To lose weight at the rate I deemed fast enough, I had to eat at 1600 kcal per day. And thus came the difficult bits: portion control.

Portion Control

I have come to learn that in Sydney, everything is ridiculously portioned, especially if you eat out. It took me a while in my early days of tracking what I eat, to figure out that sometimes the portion sizes were not standard. A standard takeaway box of pad thai, for example, serves 2 – I mean that to say there are enough calories in that one box for two meals.

The one trick I have learned for my eat out habits is that for your standard run-of-the-mill shop, $5 is roughly 500kcal worth of food[3]. So if a meal costs about $8-10, it’s roughly 800 to 1000kcal. This made eating out a lot easier (the only exception is KFC’s 9 for $9 deal thingy on Tuesdays).

Here’s a half-hearted compilation:

Food kcal price
Big Mac 493 4.95
Quarter Pounder 548 4.95
Grand Angus 600 6.75
Mighty Angus 668 6.95
Banh Mi 480 4.50
Pad Thai 1160 12.00
Double Whopper 787 7.60
Bondi Burger 581 4.98
2 Sushi Rolls 500-600 ~5.00

In the early days of tracking what I eat too, I discovered, much to my chagrin, that the servings-per-container of supermarket food doesn’t exactly make sense either. For example, a packet of instant ramen is…. 2 servings, and the calories listed is for one serve, instead of the whole packet. Because it’s clear that you would buy one packet of Indomie and break it in half, and cook two portions out of it. Or that you can only control yourself and eat two Oreos in a sitting.

I was lucky that I realized this early on, and I had started weighing my food on a scale. But still portion control was difficult. A large part of that was a mental hurdle.


When you’ve eaten large portions for a sustained period of time, your brain gets used to it, even if your body doesn’t actually need the energy. So when you you start eating slightly less, your brain sends itself hunger pang signals. I have found, too, that certain macronutrients does indeed affect hunger signals as well.

I tested this idea that there are two “types” of hunger by a simple experiment. The premise is there are two kinds of hunger states – one psychological, and one physiological. The psychological hunger state is triggered by eating less food, or eating less carbohydrates than normal (normal being the average intake in the last 5-7 days). Physiological hunger is triggered by the actual lack of sustenance. The experiment was this: starve for a few days (literally eat nothing). If the effects are the same as the psychological hunger pangs, then I would have invalidated the idea.

From my notes, here is how actual physiological hunger feels like: sleepy, and foggy. The brain DOES indeed receive similar hunger pangs signals as when I ate less, except I could also feel my stomach twisting (not sure if that’s actually happening, but that’s the sensation), of which the psychological hunger didn’t feature. It also only happened about 12 hours after I last ate, for a period of 3-ish hours, and then it stopped. For the rest of the two days I felt mostly sleepy and as if a fog had came over me, like when I’m down with a flu – in fact it does feel almost exactly like that, without the fever or the bone pains.

What was surprising was that I still had energy to do everything I wanted to do. There was no lack of energy, so to speak. I recall energetically arguing with someone while feeling the constant need to sleep. Speaking of arguments, I felt that I was ready to get into fights a lot more often when I was hungry. I felt like I was snapping at my colleagues a lot more than usual. I didn’t keep track of those kinds of data, so I canot say for sure. Real hunger is definitely an odd sensation.

With that experiment done, I was convinced that a lot of my hunger was mental (in fact I had repeated that experiment a few more times in the past 1.5 or so years).

Letting the logical part of your brain take the wheel does wonders psychologically. When the “hunger” signals were received from the brain, I simply delegate to my logical self to explain that no, the evidence and data indicates that this signal is a false signal. Over time, I learned to no longer have these signals. By “over time”, I mean it took me about 1 year to no longer feel “hunger” after small portion sizes.

Chasing Macros

daily macro ratios

I consider myself to have nailed down eating the correct calories by March this year – it had taken about a year of trial and error. By correct, I mean eating to the goal amount of calories. The remainder of the year though, was an attempt at me chasing down the correct macronutrients.

From the start I was very conscious about eating more protein and fats and deprioritizing carbohydrates. And because I decided to lose weight, it’s effectively a protein sparing modified fast type of diet. Now, a calorie is a calorie is a calorie, and the human body is not picky over which macronutrients the calories come from[4]. However, it was clear looking at the data that carbohydrate intake does indeed mess with my daily weigh-ins. When I eat carbohydrates, my weight isn’t as consistent as when I reduce my carb intake. This is what people call water weight.

Cutting carbs was mainly so that I could get consistent readings off my scale, day in day out[5].

Another part of eating an increase protein intake was due to my strength training activities. It turns out (again, backed by data), that eating a higher protein intake would lessen the amount of pain/DOMS I feel after a training session. And increased fat and protein intake does also make me feel full earlier in the meal, helping with portion control.

That all said, I have never actually managed to really control my carbohydrate intake too long. The longest streak in keeping my carb intake under 70g per day was 10 days in August. The typical streaks would be 5 days (weekdays), followed by a couple of days with slightly higher carb intakes (under 200g per day). Now, if you’re familiar with PSMF diets, it may remind you of refeeding periods, which came naturally due to the lack of discipline on weekends.

Chasing the correct macros was significantly harder than chasing a caloric goal. My goal macros were a bit weird depending on when I calculated and recalculated my macros. For example, there was a period in time where my macro ratios looked like this: 31/45/24 (P/F/C) = (~130/~85/~100)g. Eventually over time as I lose weight, they settle to something more normal like right now, where my macro ratio looks like this: 40/40/20 (P/F/C).

This is especially difficult when eating out, given that the amount of carbs I was chasing was low. Outside food is generally high in carbs and fats while low on the protein side. Think of your burgers, pizzas or pad thai – the majority of the content are carbs and not protein. For many people, the solution is to eat out less, and cook more at home. Or find places to eat that serves food that fits their macros. I did similar things, but I didn’t entirely cut out eating out.

One of the more interesting bits about chasing the correct macro ratios is I ended up bringing lunch to work, instead of eating out during lunch time. This had an effect of saving me money as well, but that’s a story for another day.

Amongst my favourite food to eat for macros is kangaroo meat. The protein-to-calories ratio is just nuts. Here’s a favourite kangaroo recipe of mine:


Earlier I had mentioned that weight loss is a function of Calories In and Calories Out. I had also mentioned that one is more controllable than the other. Calories out is not as controllable as one might imagine. For the most part, it is really tied to one’s height. Taller people expend more calories than shorter people.

The whole idea of “eat less, move more” should really be “eat less, move a LOT more”. For a while, I had a FitBit, and then a Jawbone UP and through analysis of my intakes and output, I had come to the conclusion that fitness trackers are a waste of time[6]. It is essentially wankery, and what I usually call “vanity statistics”.

On the topic of exercise, I discovered that only with many hours of cardiovascular activities[7] did I expend a significant amount of calories to offset what I ate. Since I prefer to spend less time in the gym than more, the activities I do were essentially negligible in increasing the expenditure of energy.

Instead, I focused on strength training. Having been considered weak all my life, it was something I was intent on changing. My goals for exercise is not to lose weight, but to gain strength. How did I do? Here’s an idea:

I went from not being able to do a single pull up to being able to hammer out 5 weighted pullups for my working set, in the span of a year. Here is a partial highlight reel:

I’m obviously much better than that now, and I intend to be even better.

The Plan

Since September 2014, I had been training almost every weekday. For a period between September 2014 and March 2015, it was Mondays and Wednesdays at the gym for remedial fixes and some strength training, and Tuesdays, Thursdays and Fridays I’d train with David Mace from MPCalisthenics. After that I ran StrongLifts 5×5 for a bit (actually 3 times!), whilst still doing calisthenics with Dave on Tuesdays and Thursdays. Eventually after the company had made my position redundant, I started doing a PHUL-ish routine, which takes 4 days. None of my sessions ever taken more than an hour per day.

I’m now back on StrongLifts for a while as I’ve just returned from a month long holiday. I eventually plan to get back onto a PPL-style routine after I’ve fully ramped up with StrongLifts.

These were my workouts (there were obvious modifications within those months, but the general structure was the same):

Monday Tuesday Wednesday Thursday Friday
Remedial work: treadmill, basic strengthening of muscle groups:

  • wall squats
  • band stretches
  • goblet squats
  • lat pull downs
Pullups, pushups More remedial work, mainly focused on balance and endurance/stamina. I also learned to run properly at this point. More focused on isometric holds: pullups, inverse rows, handstands etc Legs and core focused: pistol squat progressions, holds, planks

This then became something like this:

Monday Tuesday Wednesday Thursday Friday
Stronglifts: Squats… etc Pullups, pushups, clutch flag progression, leg raises etc Stronglifts Pullups, pushups, L-sits, planks and holds Stronglifts

It was here I started developing SquatCoach. I had kept injuring myself, and short of asking someone to always spot me, I wrote an app to do that for me instead. Here’s the full story on designing SquatCoach. You should probably buy it.

Eventually my plan evolved into this PHUL-based program:

Monday Tuesday Wednesday Thursday Friday
Upper Strength:

  • Flat barbell bench press 5x(3-5)
  • Weighted pullups 5x(3-5)
  • Overhead press 5x(3-5)
  • Tricep extension/rope pushdowns 5x(3-5)

I used to have barbell rows in here but it ended up taking too much of my time, so I ditched it.

Lower Strength:

  • Barbell squat 5x(3-5)
  • Deadlift 5x(1-5)
  • Leg curls 5x(3-5)
  • Leg extensions 5x(3-5)

Occasionally I’d also do some barbell glute bridges (when there are no women around, as I don’t want to be thought of as a pervert humping the barbell). Also when available, I’d do 4×8 of ab wheel rollouts, else I’d do some amount of plank holds

Rest Upper Hypertrophy:

  • Inclined barbell benchpress 4x(8-12)
  • Pullups 4x(5-9)
  • Arnold dumbbell press 4x(8-12)
  • Cable facepull 4x(8-12)
  • Cable Flyes 4x(8-12)

Cable flyes are swapped out for dumbbell rows every other week

Lower Hypertrophy:

  • Barbell front squat 4x(8-12)
  • Leg curls 4x(8-12)
  • Leg extensions 4x(8-12)
  • Woodchoppers 4x(8-12)

I also do hanging leg raises when the bar is available

This plan isn’t exactly well balanced, but it works for me as I added and removed stuff, optimizing for the least amount of time having to bump into people at the gym.


The key to strength training is progression. It is kinda useless to just go through the motions of lifting some weights up and putting them down. Instead, the idea is to always try to lift a heavier weight than before – the weight becomes a proxy of strength. With calisthenics, the principle is similar, but the amount of leverage is reduced instead of weights being increased.

This was how I progressed for the main lifts over time (since June 2015, due to my misunderstanding of the StrongLifts app, I had accidentally deleted all data everytime I restarted. Mehdi that’s not how you design an app!):


I’m personally not particularly proud of the progress I made with the PHUL-like program. The problem is when you design your own, there is a mental tendency to half-ass it. Whereass with Stronglifts 5×5, the program says: Nope, you do 5×5, or you don’t progress. That’s a hard and fast rule which psychologically affects the actions I take, and the motivations I have to push through.

Optimizing For Different Things

One thing I observed, both through data, and going through the motions, is that different programs optimize for different things. StrongLifts for example, optimizes for increments in mean weights, while PHUL optimizes for increment in total volume. The latter has an effect of not increasing weights as quickly as StrongLifts.

Different metrics are for different purposes. The increased volume of PHUL is linked with hypertrophy, and while I didn’t measure (and I wish I did) the body parts, through pictures, I was able to see that there was increased hypertrophy in the muscles.


The majority of the goals in the past year was to lose weight and gain strength, and I did that by weight training while on a caloric deficit. The only times I wasn’t was in September, when I felt my lifts no longer progressing and someone made a comment that I was too skinny.

Lifting on a cut… generally sucks. The body hurts quite a bit. And that can dampen my motivations quite a bit. There are just mornings where every muscle hurts too much to drag myself to the gym.

However, it’s always been my opinion (read the rest of my blog), that motivation is overrated, and discipline is key. I have no good metric to track discipline, but anecdotally, getting in a routine does wonders for discipline. It’s only hard to get the momentum going, and once I’ve consistently gotten myself to the gym or park, it’s just a matter of just doing it. I wish I had a trick for it, but it was difficult, and took quite a lot of false starts before I ended up going on a streak. This applies to most things in real life as well – jobs, projects etc – all require discipline, and getting started into a streak is the hardest part.

The going back to the training program bits is what I dread the most coming back from my month long vacation. I have no idea how to get myself started back into the habit.

This isn’t to say that motivation is unimportant. In fact, motivation is the main reason why I take progress pictures (see photography section below). Being able to see the changes in my body has been extremely motivating. But in order to be motivated, one needs to have goals. My goals in the last year were to lose weight (and hit 10% bodyfat), and gain strength. I hit one, and kinda missed one by a bit[8].


My goals are to be stronger. Quantitatively, this means by this time next year, I hope to have doubled the average weights I lift. This year’s programs have been generally boring – they’re mostly linear growth rates (though at differing rates depending on program).

Data Science!

I may not be very good at the whole diet and exercise thing, but I’d like to think I’m fairly decent on the statistics front (afterall, that kinda is what I do for a living). I had collected a bunch of data, and I did some analyses on them from time to time. Here are some of the code and conclusions and visualizations and methods I used:

Acquisition and Cleaning

This is 90% of a statistician/data scientist’s job but nobody ever writes about them. Data often comes in in different formats, and part of the job is to make it consistent. For almost all analyses, I want the data to be in this format:

Date | weight | bf | carbohydrates | protein | fat | calories | Exercise1 Sets | Exercise1 mean(Reps) | Exercise1 mean(Weight) | Exercise1 sum(Reps) | Exercise1 sum(Weight) | Exercise2 Sets | Exercise2 ... | ...

I use these tools and apps to collect data:

Before MyFitnessPal, I was using FatSecret, mainly because I didn’t want to have an account on MFP, as my data should be my data, and not something to be monetized by another company[9]. But in November 2014, I lost my phone due to a botched upgrade, and with it, 1.5 years worth of macro and weight data. So I resigned myself to surrendering my data to a corporation, for them to do what they please with it, and used MFP instead. Because, hey, cloud based storage!

Anyway, I digress. Most of these apps have an export-to-csv function. Which is great news, because then I can munge the data around. With MFP, they provide an API, which you must use to build your own CSV. Here’s a quick and dirty script for that (I used Adam Coddington’s excellent MFP package for Python):

Munging the data from other sources is then a simple case of using Pandas. In particular, the unstack() method of Pandas’ dataframe object is extremely powerful. Here’s how to do it in fewer than 30 lines of code:

You might note that the StrongLifts file was already unstacked. Truth is I had a lot of time during my vacation, and had access to a computer with no development tools on it (but had Excel), so I manually unstacked the data from the StrongLifts CSV using Excel.

Figuring Out TDEE

Figuring out my TDEE was quite a challenge, but once the basic principles are understood, analysis becomes simple. I have obviously done a lot of work on this topic, and I can say that any kind of measurement of “Calories Out” will only add to the noise of the data, and you’d be better off ignoring any logged additional “Calories Out”[10]. Instead, we want to figure out how much the body uses. It turns out the Mifflin St Jeor formula (with Sedentary as my activity level) is pretty similar to the results I get thru statistics.

A naïve way to analyze the data is to find the relationship between weight and calorie intake. This is not quite correct, because the premise behind calories in vs calories out is that excess calories causes weight gain and deficit calories causes weight loss.

Let’s say you have a table like this:

Day Weight Caloric Intake
2015-05-01 72.6 1740
2015-05-02 71.6 1068
2015-05-03 71.7 1778
2015-05-04 72 1622

What you don’t want to do is to do a direct regression between these two variables, because logically speaking, your caloric intake would not immediately affect your weight. Instead, what should be done is to transform the data to “Weight Difference” and “Average Caloric Intake”.

To calculate the transformation, first we need to pick a number of days to compare the differences. I picked 7 (because it’s a nice number – we have 7 days a week, and we can hence compare Mondays to Mondays). So we take the difference of a week for the weights, and as for the caloric intake, we’d have to get the average caloric intake within that week[11].

You may find your data a little noisy – in fact it’s the day-to-day noise which discourages a lot of people from keeping close track of their weights. In this case, before I did the difference, I smoothed it out by using the harmonic mean of the past 7 days (see the first chart above in the diet section for what I mean).

This is how it looks like when you plot it out (red line is weight difference, blue line is average caloric intake):


A very obvious thing is that there is a time factor involved. Sometimes the weight change will peak or trough before the caloric changes. However, most of the time the caloric intake leads the weight change. This is a logical result – you don’t put on weight on the same day you eat. This lag or lead is mostly affected by the amount of carbohydrates being eaten in the previous days, and will vary from person to person (my wife for example, has a obvious 2-period lead).

Another tricky thing is that your body’s BMR changes with the weight changes. This means you cannot dump a whole lot of data and analyse it (well, you can, but you have to write pretty sophisticated tools to do that). Instead, you have to do it by chunks. I did it by chunks of 30, 60 and 90 days. The data all aligned up well.

So to find my TDEE, it’s just a matter of figuring out the best fit line:

3500 per pound

Once that’s done, we just have to set Y to 0, and that’s my TDEE.

y = 0.0005506x - 1.206424

0 = 0.0005506x - 1.206424

x = \frac{1.206424}{0.0005506}

x = 2191.1 kcal/day

3500 to a Pound

There is a truism about losing weight: that 3500kcal equals one pound. If you eat an excess of 3500kcal a week, you will gain one pound a week. Likewise, if you eat at a 3500kcal deficit in a week, you will lose one pound per week. I don’t like this mainly because we’re in 2015, and we should really be using kilojoules and kilograms. However, with this, it’s easy to perform a sanity check on our data above.

Weight trend in May

According to the best fit line here, I am losing weight at about 0.0425kg per day.

In the same period, my average daily intake is 1737.67 kcal. This is a 453.43kcal deficit from my TDEE. Working backwards from “3500 kcal is one pound”, we can work the following out:

\frac{0.453592}{3500} \times 453.43 = 0.0588

So according to statistics, I should be losing weight at 0.0588kg per day. According to reality, I lost weight at 0.0425kg per day. It’s pretty close.

The difference in expected and reality is due to the fact that 1 pound of human body fat burn up in a bomb calorimeter to be 3500kcal. When eating on a deficit, you will lose fat and muscle at the same time (which is why I do weight training while at a deficit. Weight training promotes muscle growth, so the net muscle loss isn’t as high). Add to that the various systemic errors that comes with measurements, and the fact that some macros end up undigested in poop and other miscellaneous errors that add up, I think that my estimated TDEE above is fairly decent. I could certainly improve on the systemic error bits but hey, nobody’s perfect.

Macronutrients Don’t Matter (for weight loss)

So now that we’ve empirically addressed that weight loss is mostly due to calories, we can now move on to see if macronutrients do matter. Short answer: no. The long answer is as below.

To begin, we must first undestand what exactly calories are. Calories are a unit of energy. Digestion is largely due to exothermic reactions happening along the GI tract. This means that as food is digested, energy is released. Energy can be released by breaking down one of the four main macronutrients into their component parts: protein become amino acids, fats become fatty acids, carbohydrates become simple sugars and alcohol become esters and sugars.

So from a logical point of view, there isn’t any reason to think that a calorie released from breaking carbohydrates is different from a calorie from breaking down proteins.

Does the evidence support the theory? I ran a linear regression of the smoothed weight differences (as per the section above), and the individual components of the calories, similarly processed as above and this is the result:

     Min       1Q   Median       3Q      Max 
-1.14110 -0.25445  0.03073  0.25689  1.26645 

                Estimate Std. Error t value  Pr(>|t|)    
(Intercept)   -0.9541062  0.2091143  -4.563 0.0000147 ***
harmean.carb.  0.0094769  0.0072935   1.299     0.197    
harmean.p.    -0.0042279  0.0078548  -0.538     0.592    
harmean.f.     0.0114412  0.0172750   0.662     0.509    
perf.cal.     -0.0002891  0.0018204  -0.159     0.874    
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4687 on 98 degrees of freedom
Multiple R-squared:  0.3324,    Adjusted R-squared:  0.3051 
F-statistic:  12.2 on 4 and 98 DF,  p-value: 0.0000000436

Here you’ll note that none of the estimators are statistically significant, and in fact most of the estimated coefficients don’t really make sense either (a 1g increase in carbs leads to a 0.003kg decrease in the average of a 7-day weight change… in fact all macronutrients except fats lead to a negative weight change, which makes no sense).

However, once you understand what calories really are, you’ll note that calories ARE indeed comprised of macronutrients, you begin to suspect that there may be some multicollinearity going on, which in fact it does:

> vif(fit)
harmean.carb.    harmean.p.    harmean.f.     perf.cal. 
     30.02082      16.94114      31.98968     126.10371 

The VIF of the fit is too goddamn high! There is definitely some multicollinearity going on.

In fact, we can regress perf.cal against the carb, protein and fat intake to have an idea of the multicollinearity:

   Min     1Q Median     3Q    Max
-48.48 -23.12  -1.30  20.96  47.68

               Estimate Std. Error t value Pr(>|t|)
(Intercept)   -4.69978   11.53535  -0.407    0.685
harmean.carb.  3.93330    0.07663  51.329   <2e-16 ***
harmean.p.     4.03605    0.15335  26.320   <2e-16 ***
harmean.f.     9.15083    0.25255  36.234   <2e-16 ***
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 25.87 on 99 degrees of freedom
Multiple R-squared:  0.9921,    Adjusted R-squared:  0.9918
F-statistic:  4128 on 3 and 99 DF,  p-value: < 2.2e-16

These values are incredibly close to the theoretical value of 4 kcal per gram for protein and carbohydrates, and 9 kcal per gram of fat. In fact, you may be a little suspicious about the data. And here comes the caveat:

I make extensive use of MyFitnessPal’s barcode scanning function. I had noticed that sometimes the values don’t add up (Aldi products, I’m looking at you). So I have also added notes on whether a day’s record was a “perfect” record or not.

A “perfect” day’s record would mean that I have weighed the food accurately, and recorded the correct calories, and macronutrients. These were days I typically ate cleanly, and cooked my own meals. Any day with me eating out would not be “perfect”, because the calories and macro breakdown of outside food are generally inconsistent[12]. Out of the 350+ days worth of records, I had managed to record 104 “perfect” days. , and the recording of my calories were recorded with utmost care (correct weights, correct macronutrients, correct calories).

As they say, garbage in, garbage out. The regression analyses were done based on the “perfect” subset of data. This simply acts to reduce the noise in the data. It turns out when you measure your day perfectly, the values turn out to be exceedingly close to the theoretical values.

Macronutrients Matter (for strength training)

Besides my weight, macros, calories and weight training data, I too recorded several other things, like pain and sleep hours. Sleep hours, being recorded by my fitbit, ended up generally not too useful, as I had difficulties extracting the data from FitBit[13]. I have contemplated using my Emotiv Insight to record sleep, but it really wasn’t comfortable to sleep on.

Pain was recorded every morning on a scale of 0-10, like your standard pain scale. If I had a pain anywhere, it be recorded. In retrospect, I should have also recorded a per-location pain scale.

An astounding fact is almost everyday my pain level is at an average of 1. There have been days where the pain climb to a 4 or 5, and once for about 3 days the pain levels were about a 7[14]

Then there was a period – the whole month of September when I had no pain whatsoever. What happened on September? I went from a cut to a slow bulk. I simply ate at a small excess of about 150-200 kcal a day. The pains stopped.

A quick regression analysis had shown that the amount of protein I eat actually does lower the pain levels. Again, the statistical power isn’t great, but my gut feel tells me that this is pretty valid, up to a certain point.

I’m convinced that this makes macronutrients matter a lot more when one is strength training. For one, there is the psychological effect – if I am in too much pain, my motivation to train will be severely depleted. Then there is the physiological effect – if eating more protein means less pain, it means that the body is repairing itself better.

There is also a truism online too, that higher protein intake prevents losing muscles while on a cut. I had no way of figuring out if this is true as my BIA based scale isn’t the most accurate (with 1 decimal place). I did some work in this area, however the results were inconclusive.

Supplements and Substance

Lastly, I was curious about the effects of the various supplements and substances I had on my training. I take creatine as a supplement, and the substances I use include caffeine, alcohols (mainly beers), modafinil, and very occasionally, some trees.

The most interesting one is creatine usage. I think this chart shows it all:

From looking at the graph it might be immediately apparent that the volumes dropped after the creatine ran out, and picked up after I had a new supply of creatine (it took about a month because I was waiting for my whey to finish before ordering from BulkNutrients again, the $12 flat shipping fee is killer). However, it should be noted that I wasn’t able to statistically detect the effect (at a 95% and 90% confidence interval…). Again I will put this down to a lack of data.

Over time, I have cut out alcohols from my diet to my best effort, mainly because alcohol affects my sleep. After a night of drinks, I’d suddenly wake up at 3am, and be unable to fall back asleep until the next night. This happens even with just one beer. It’s irritating.

Modafinil had an interesting effect. I take moda only when I have an intense need to focus (so about 5 times in the past 6 months). It’s paired with a cup of coffee and green tea (I used to take pure caffeine and L-theanine pills). And since I take them early in the morning, the effects would have worn out by 8pm or so. However, moda plus the rest of my nootropic stack has an interesting effect of making me think a lot more, leading to unrestful sleep (even in the presence of melatonin). From anecdotal observations, the lifts on the following days would suffer. I wasn’t able to derive any statistical conclusions from it though.

Lastly, cannabis is a mass gainer. ’nuff said. The three 3600 kcal days were all directly attributable to weed. It doesn’t affect anything else. I don’t use it a lot, as it does nothing for muscle pain either (does help with joint pain though).


Other than your standard diet and exercise, another bit that is quite vital into making the picture above was lighting and photography. Of course, while the photo on the right is largely unedited[15], my muscle definition is really showcased by the lighting setup that I had. Lighting plays a large part in taking nice photographs where the abs pop. Here’s how I lit my scene:

Lighting diagram

The scrims were actually frosted glass doors, and the flash was a YN460 at full power. I tried various heights before settling it at about shoulder height. f/8, ISO 400 at 1/80.

Here is a version of the progress pic that is more consistent (and I use this as a working progress pic)



It’s been an interesting year for me, most definitely. A lot of effort was expended getting my diet right, and I can foresee it being an ongoing thing. A tweak here and a tweak there. In retrospect, I wish I hadn’t been so undisciplined, and have taken more types of measurements – like neck size, arm diameter, etc. That way I could do better analyses, but ah well, I can leave that for next year’s progress reports.

There are a lot of “broscience” that I wish to explore and analyse, but I didn’t really have the time, nor did I have the set up. A lot of times my data end up being low-powered, mainly due to the chunking of data, as such the analyses weren’t of much use.

In closing, calories in vs calories out is very much valid, and my own data proves it. As an additional fun fact, my rs5082 genotype is CC(or GG in 23andme terms). I would love for people to come up to me and say I have the genetic advantage of not being obese. I’ve not checked my genome for the FTO gene though. The point is, there isn’t a reason to blame genetics (or medical conditions) for being fat. There isn’t any moral reason to be fat; conversely there is a moral reason to be fit. Losing weight is simply a matter of discipline (of which I don’t have a lot, and yet still managed to do it) and self control.

Weight training has given me a lot more strength – though I’m not sure what exactly to do with it. My own goals are to keep improving my strength, just for the fun of it, really. Although many people have claimed working out makes them feel better, I cannot say the same – I still don’t quite like the gym, or the disgustingness that is the sweat when training. However, I really enjoy chasing goals and achieving them. That, and the ability to sculpt the human body into whatever I want – complete control and mastery over the body – is what makes training enjoyable.

Lastly, I did enjoy the side effects of losing weight and getting stronger. I have more stamina, and my productivity (as measured by RescueTime) has improved a lot year on year. I also did enjoy writing SquatCoach, and learning the mechanics of various body parts. New knowledge is always welcome in my head.

In summary, these are the things I learned over the year:

  • Caloric restriction works
  • All the fancy diets – paleo, whole 30, keto, IF etc – are various different types of method for caloric restriction
  • Figuring out TDEE via statistics is a LOT more fun than figuring out your TDEE via the Mifflin St Jeor equation[16]
  • These are my tricks for cutting:
    • Cut snacks altogether (by not buying them)
    • Since $5 is 500kcal (in Sydney), split your meals into $5 portions
  • Macros don’t really play a part in weight loss – carbohydrate intake does affect short term weight change (this is commonly known as water weight) – so use 7 to 14 day weight change instead.
  • Macros play a small part in training – more protein means less pain when training while on a cut
  • Creatine appears to have an effect on total volume – the statistical power is not strong, but given more data, I’m sure it will show more strongly
  • How simple the analysis of TDEE, macros etc can be. Anyone with Excel can do it, and verify for yourself!
  • Fitness trackers are a waste of time, and add noise to your data. Don’t use them if you are not using them for motivation
  • You should try out SquatCoach if you want to learn to squat with proper form and you have nobody to spot you
  • Lighting and photography also plays a part in getting nice progress pics


Got fat from overeating. Cut down on food, lost weight. Did some weight training, gained strength and got abs. Got injured, wrote an app to prevent injury, advertised on my blog. Got data, did some analysis, and confirmed various well known ideas, effectively adding nothing to the knowledge of the world.


These are the research papers which I had read over the past year (and many more which can be found in the citations that these papers have) that guided my experimentations:

  1. [1]To those who get the reference, it’s been a pleasure flaunting my thin privilege at you shrimpdittles
  2. [2]Now I’m not so much a fan of tracking everything for the sake of tracking everything, which seems to be what QS people are all about. I’m more interested in tracking data to be used to modify my own behaviours
  3. [3]Obviously this trick only works in Sydney, you’ll have to find the dollar value equivalent elsewhere yourself
  4. [4]For reference: Protein and carbohydrates contribute about 4 kcal per gram, while fats can contribute between 8 and 9 kcal per gram, and alcohols contribute to 7 kcal per gram
  5. [5]Sure, I could have factored in my carb intake when doing my analysis, but really that’s a lot of extra murk in the analysis phase which I didn’t want, it was better to consistently intake less carbs and make my readings as consistent as possible, and reduce the amount of random error, which is high enough as it is.
  6. [6]For the purposes of tracking output, that is. There are other motivational things a fitness tracker does to your psychology but that’s for another day
  7. [7]defined as having a sustained elevated heart rate for a period of time. For me it was above 160bpm for higher intensity activites and above 150 bpm for low intensity steady state stuff like walking. YMMV
  8. [8]I had hit 13.9% body fat before my vacation – which after my month long vacation, has sorta climbed back to 15%
  9. [9]we’ll talk about data privacy politics on another post
  10. [10]Your body uses calories just to survive, it’s called the BMR
  11. [11]alternatively, and arguably clearer in narrative – you can also take the sum, but this article uses the average, and all calculations will be done assuming the average was used
  12. [12]Here I would like to shout out to McDonalds… out of all the fast food listed in my MFP, it would appear that McDonald’s values are the most accurate to what they claim.
  13. [13]There was also this
  14. [14]but that was because I suspected I had dengue fever… which is a story left for another day
  15. [15]There are definitely some edits: mainly to crop the image, and to change the white balance a little. There was also some frequency separation (force of habit), but no dodging and burning to make anything pop.
  16. [16]bearing in mind that I’m technically a professional statistician, so I definitely find stats a lot more fun
  17. [17]I edited it out of the section above because interpreting the regression coefficients require some finesse, and could easily be misrepresented if I don’t explain it well, and the blogpost is at 7000 words as it is right now

Leave a Reply

Your email address will not be published. Required fields are marked *