Frank DENIS random thoughts.

How I changed my body shape in 7 months

I’ve been hesitant about writing this blog post, as it has little to do with computing.

But since it sparked some interest, I finally took the time to summarize a couple things I’ve been recently doing besides writing code.

I never stay in place. I’ve always been walking and hiking a lot. I jog, I occasionally run races from 5K to half-marathons, and the very least thing I used to worry about was my weight.

I felt like I could eat anything, anytime, I would never gain weight. Which was good, because eating is really something I used to enjoy. I had a pretty lean body in my 20s, my habits didn’t change much ever since, so I completely stopped caring about it. Nothing could possibly change especially since I remained pretty active.

After I moved to San Francisco, we had free and excellent food, snacks and drinks at the office. I could afford buying anything I wanted to eat. I had plenty of time to cook, something I really enjoy. I got addicted to Munchery. It was hard to resist all this delicious food.

But moving to San Francisco was also a good opportunity to be way more active than I used to be. I was always outside. I hiked a lot, walked a lot, ran way more, entered as many races as possible. So, I was feeling more athletic than ever.

Still, friends I hadn’t seen for a while began to tease me: “dude, you gained weight!”. When one person tells you so, you don’t care. When a couple unrelated people tell you so, this is becoming a little bit more concerning.

For months, I didn’t care much. I didn’t see my body change since my 20’s. I felt like it had always been the same. People teasing me about me having gained fat were probably projecting themselves. I ignored them and didn’t even bother stepping on a scale. I couldn’t even remember the last time I did so.

One day, out of curiosity, I checked out a bunch of crappy websites calculating a recommended weight according to your gender, height and age.

Shit. All of them had the same verdict: “you’re overweight”.

That. Can’t. Be. I didn’t see that coming.

I feel fine in my body, I can still see my feet, I have a pretty active lifestyle, so how is that even possible? “Overweight”? Seriously?

People can be joking. A crappy website can spit out buggy results that are way off base. But unless they all copy/pasted the same code from Stack Overflow with the very same bug, the fact that they all drew the same conclusion is something I eventually had to pay attention to.

A plan

So, what now?

Let’s forget about googling “how to lose weight” right away. Diets all suck.

They are a dime a dozen, they all look unreliable and boring, they contradict each other, and I don’t see how some generic recipe could be optimal for everyone.

An awesome starting point was this git repository: GitHub - arielf/weight-loss: Machine Learning meets ketosis: how to effectively lose weight

That thing made sense. Something automatically derived from actual data is something I can understand and trust.

So, the plan looks like this:

  • Reduce carbs
  • Eat oily and fatty food
  • Extend the fasting time every day
  • Eat less calories than what I burn

I didn’t know anything about what food contains and how calories work. I had never bothered about these things. And I still didn’t want to waste time with that. Just tell me what I should eat, and how much, please.

Things I bought

  • A Garmin Vivoactive HR watch. There are tons of watches with similar features; just make sure that it has a HR monitor. Watches that can only count steps are useless. The Vivoactive is way cheaper than an Apple Watch, less bulky, hackable (apps can be written in a nice dialect of the C language) and the battery life isn’t too shabby. It automatically computes how much calories you burn. That’s cool. I have one side of the equation.
  • On the phone: the MyFitnessPal app. Type what you want to eat or just scan the barcode, and that thing will compute the calories and other things for you. That app is good. The default database includes pretty much every food you can think of, although the data are not always accurate.
  • A scale. I opted for the cheapest digital one that displays the same number if you step on it twice in a row. Don’t waste money of these fancy connected scales. Manually entering your current weight on the phone literally takes 10 seconds.

The watch + app combo works really well.

On iOS, both share the same data through Apple Health. So when you open the MyFitnessPal app, it already knows how much calories you burned so far (as collected by the watch), and adjusts the number of calories you are allowed to eat accordingly.

Among other things, the app also displays the total amount of fat, carbs, and protein. And also details about all the nutriments, but I didn’t bother with that.

I essentially chose whatever I wanted to eat, then adjusted the quantity or added a few things to:

  • Keep the “carbs” bar down to a minimum
  • Keep the “proteins” and “fat” bars all the way to the right
  • Keep the total number of calories below what I burned

That’s pretty much it. I didn’t worry about the details. Just about how the bars looked.


I planned the meals for the day on my way from the subway exit to the office. And even though I initially didn’t know anything about nutrition, I quickly learned how to mix these things together.

Keeping the carbs down to a minimum means no bread, no pasta, no rice, no cookies; essentially nothing with flour. And obviously, no sugar.

Not enough proteins? Get some chicken or turkey breast. I also bought some lean whey powder from Aptonia, that I strictly used when the amount of protein hadn’t been reached at the end of the day.

Not enough fat/oil? Eat olives (olives with garlic = awesome) and nuts. Once again, this is very convenient if you realize that your goal hasn’t been reached at the end of the day.

Want proteins + fat in a single product? Mozzarella’s your friend. Want to feel filled without adding calories? Add greens, that are also good because you need fibers.

Spices and herbs are also a good way to add variety to your meals.

We had a kitchen at the office, which was really appreciable. For a typical lunch, I threw a bunch of green vegetables into a pan, along with chicken, fish or steak, a lot of olive oil, a lot of herbs and spices, and boom, the thing is ready to eat 5 minutes later.

I wanted to lose weight fast. There was a problem, I wanted to fix it, and get back to the point where these stupid websites stopped pretending I was “overweight”.

Extending the fasting time is apparently one of the most important feature correlated with weight loss.

It doesn’t mean skipping breakfast, though.

Instead, I tried to have dinner early, eating directly after work instead of eating at home. I had a late breakfast at the office, and delayed lunch accordingly.

According to the app, 1500 Kcalories/day was the minimum I had to eat on a normal day.

So, this is what I was aiming for. No more, but no less either. So, my meals were optimized so that the daily total of calories reached 1500, the total amount of carbs was close to zero, and the amount of proteins and fat was slightly more than what the app recommended.

No more bread, no more pasta, no more rice. I ditched all of these and replaced them with greens.

No carbs also means no more fruits, no more juice, no more pastries, no more soda. And boy, I was so addicted to these that it was really tough. Especially soda.

I first replaced Coke and other sodas with sugar-free (but not aspartame-free) Lime Schweppes. It doesn’t taste too bad, and what I enjoyed in a soda gradually shifted from sugar+taste+fizz to taste+fizz.

And eventually replaced it with natural lime-flavored carbonated water, which I drank (and still drink) a lot during the day.

What’s really cool about carbonated water is that it fills your stomach. With air and water, but still, when you fell like you need to really need to eat something, it works pretty well as an alternative to snacks.

Capping the daily amount of calories didn’t mean not dining out any more. You just need to plan accordingly. Eat a little bit less during the day, so that you can still enjoy a dinner out, and stay close to your goals.

Eating at a fast-food is fine, too. Salads, chicken wings and ham are fine. Cheese is fine. Subway’s sandwiches can be ordered as salads, and there is more to eat at a lower price. Low-carb options are available virtually everywhere.

Obviously, you need to avoid beer and more generally, alcoholic beverages.

That said, I occasionally had a couple beers with friends. I occasionally had tons of chocolate and ice cream. I enjoyed big dinners with way more calories that I was supposed to take in. A strict diet would have been painful. Plus, even when you exceeded your goals, there are ways to make up for it.


Walking, hiking and jogging don’t burn much calories. Even long hikes and fast runs mostly make you sweat, but if your intent is to burn fat, it’s a waste of time.

Cardio burns calories way faster. Elliptical bikes are your best friend:

  • They make you burn ~12 Kcal/minute when you crank all the settings up.
  • Thigh muscles are very large muscles. Slightly bigger thigh muscles = more energy automatically burned even when you don’t work out.
  • You can watch videos or read while running.

Whenever I wanted to exceed the 1500 Kcalories bar, I just did. And then did some cardio afterwards, or the day after, just enough to compensate the difference.

I took it as an opportunity to watch a lot of videos. I went through several Coursera and MIT programming courses.

I watched presentations I never had the time to watch before. That was time well spent.


Reducing carbs was really tough at the beginning.

I really missed soda, tarts, cakes and cookies. I didn’t like water, I didn’t like oily and fatty things. I didn’t appreciate veggies much.

And I broke down several times, rushing out to buy ice cream (Haagen Daasz, mmm…) or cookies.

But after a while, my tastes changed. I didn’t enjoy sugar as much as I did. A part of my brain told me “break the rules, and go buy something sweet, you will love it, because you always love it”. But when I finally ate it, I was disappointed. The taste was the same, but it tasted bland.

I enjoyed grilled chicken with fresh veggies way more. I could drink a lot of carbonated water with almost no scent, and it was fine. I didn’t enjoy a fresh Coke any more. I liked the fizz in it, not the taste and the sugar any more.

I didn’t miss bread and pasta, but I missed rice. I tried konjac as a substitute, but that thing is chewy and disgusting.

I had a target to reach. When I realized I was overweight, I weighted about 90 Kg (198 pounds). I wanted to go down to 65 Kg (143 pounds) which was the weight I remembered from the last time I had stepped on a scale, a long time ago.

Then, I would start weight training. Which means that I will then get to eat a lot, including a lot of carbs, yay! That was actually really motivating to keep up with the diet.

One’s not supposed to step on a scale every day. I did, no matter what. When the weight is graphed, it’s trivial to ignore variations and see the derivative instead.

And it worked. My weight decreased linearly and my goal was reached about 3 months later.


And I felt good. Really good. I had more energy than ever, even though I ate less.

Friends and coworkers spontaneously noticed that I looked different, in a good way. In addition to having less belly fat, the shape of my face apparently changed. I didn’t realize than happening, in any direction.

What I did notice, though, is that may pants became way too large. Pro-tip: buy elastic belts, they are great for that kind of scenario.

The most difficult part was to never give up. Plotting my weight, and the ability to see progress and regressions every day proved to be immensely useful. Gaining or losing fat is not something you can “feel”. So, having immediate and regular feedback is essential. I would probably have given up early without that visualization.

It’s also easy to go overboard, and completely stop eating. My watch and the iPhone app were very useful to prevent this. If I hadn’t eaten enough, the numbers would tell it to me. Again, this is not something one can “feel”, except when it’s way too late. So, having real-time data on what went in and what went out was extremely useful.


After the goal was reached, I wanted to make my weight stable. I paid less attention to the details. I stopped recording everything I ate on MyFitnessPal. If only because by then, I had gained some intuition about what food contains.

But I kept stepping on a scale every morning, after a hot shower — if you do it right after waking up, you’re measuring a significant amount of water. If I weighted more than the previous day, I would try to eat less during the day. If I weight less, I would try to eat more. If I had really pigged out the day before, I would do some cardio.

It worked pretty well. The weight loss stopped, but I didn’t gain any weight either. I gradually added carbs (not sugar; mostly rice and wheat) to my daily meals.

I gave myself about a month of stabilization before trying to gain mass.

Gaining muscular mass

Time to try some strength training. My legs were pretty strong, but everything else… not so much.

Things I bought:

  • A book: “Strength training anatomy” by Frederic De Lavier. I couldn’t recommend that book enough. It explains what you can do to exercise every single muscle, how to do it, but also why, from an anatomy perspective, with very clear, non-bullshit explanations and awesome drawings. Available in French as “Guide des mouvements de musculation”. That thing remains my reference guide to this day, and is far more credible than most Youtube videos and discussions on online forums.
  • Weight lifting gloves. These things are cheap, but actually very useful. They give you a better grip, so your position is more correct, and after washing them for the first time, you will immediately understand why this is something you will never work out without any more.
  • A towel. Always have a towel with you. Douglas Adams agrees.
  • A subscription to the gym.
  • Two shakers.
  • Whey protein and oat flakes. There are tons of supplements one can buy, but I’m not convinced that they are safe nor useful, especially if you’re not a professional body builder. Pure whey (not mixed with random additional junk) is probably fine, and supposedly gives your muscles some protein to recover faster after a workout. Ditto for oat flakes, that have a lot of carbs but no sugar.
  • A bag to put all that junk in.

That’s pretty much it.


I started being serious about weight lifting in early December, but unfortunately had to stop due to some minor, unrelated back surgery. I was told to not go to the gym any more for several months, or else the scar would be more visible.

After a month, I was missing working out and decided to forget about the scar and start training again. The longer you pause something, the less likely you are to do it again.

I’ve been working out every day since.

Just like in a weight loss scenario, I need to be able to quantify the results. I need to set up goals.

I did my best, tried to lift as much as I could, tried both many repeats with light weight and less repeats with more weight, but there was little to no improvement. I just felt pain. I didn’t know what my limits were, if I was supposed to do less, to do more, and if there would be any progress at all.

To make a long story short:

  • Initial improvements are not measurable. Muscles build up slowly, especially when you never trained before. And, it’s hard to accurately quantify progress no matter what.
  • If you want to do some cardio, do it after weight lifting, not before. Even if the muscles are not the same, it makes a huge difference.
  • Push-ups are great. You can do them anytime, anywhere. It’s a quick way to warm up at home before heading to the gym, and a good way to work out without any gear when you’re traveling. And that is something you can easily measure progress with.
  • Many exercises only train a couple specific muscles. Don’t waste too much time on these. Prefer the ones that are way more complete and will train many muscles simultaneously. Also, some machines looks very different, yet train the exact same muscles. The book referenced above was very useful to understand this.
  • Focus on your shoulders and on your back first. Many exercises will hurt or feel very difficult at the beginning if your shoulders and your back are not strong enough. Strengthening the shoulders was a game changer for me.
  • An exercise can hurt because you pushed yourself to the limits. That’s good. Or it can hurt because you didn’t do it correctly, and that’s super bad and you can be seriously injured. So: when trying something new, start with very little weight. Yeah, it will look lame compared to what more experienced people do, but with very little weight, you’re more likely to do the correct movement. Do it again and again until the move becomes natural. Then, you can add more weight. It took me some time to understand this.
  • Don’t eat right before working out. Every time I did that, thinking that it would give me a boost of energy, I actually performed very poorly.

Please take these recommendations with a huge grain of salt, though. This is just my experience as a complete beginner.

Measurable progress really started to happen after about 6 weeks of focusing on the shoulders muscles. Then, things become really interesting. I set up goals for everything. I haven’t achieved any yet, but I know that I’m getting closer. And finally, I can feel that my body is changing. It feels both weird and great.


Unlike cardio, there’s no way to watch videos while doing strength training. So, I listen to podcasts instead: BSD Now, Packet Pushers, Go Time, Paul’s Security Weekly, Mr DNS Podcast, Programming throw down, Full Stack Radio, Software Engineering Daily, Learning Machines 101 and more.

After 90 minutes of working out, I’m exhausted. If I keep trying, I will suck at everything, so it’s not worth it. Which is actually good. I know exactly how long I’m gonna spend at the gym every day, and I can plan accordingly.


Drinking whey protein after working out might be completely useless. There’s no way to know if not doing it would make any difference, at least for a complete beginner like me. But it still has a placebo effect. If I’m gonna take so much protein in, it has to serve a purpose, so I have to work out seriously before.

I only get whey shakes after a workout. The rest of the day, I favor raw protein sources.


I don’t use the MyFitnessApp app any more. I just avoid sugar, which has become way more natural than a couple months ago.

I can now enjoy other carbs, especially after working out, which is great.

I’m now eating small portions, but more frequently, every 2 hours or so.

I usually get eggs + veggies + sliced turkey + cheese for breakfast. Heat some olive oil in a pan, use it to turn the turkey slices brown, scramble the eggs, pour them into the pan, add veggies, cheese, herbs and spices, cover with a lid. Wait 5 minutes. Done. I buy big bags of mixed frozen veggies, I cut the turkey slices with scissors; preparing the whole thing is really quick and painless.


Snacks throughout the day are slices of smoked salmon, tuna with salad, bacon slices or sliced chicken. Small portions, along with green tea or carbonated water. It’s enough to not feel hungry until the next meal, and these are efficient protein shots.

The downside is that it can get pretty expensive. Plus, it’s not always practical. Oat flakes and nuts are cheaper and more practical. They won’t give you much proteins, but they bring carbs (not sugar) and fat that are also essential. So, I’m alternating between all these options.

Regular meals include rice, meat, pretty much anything even though I’m trying to favor fish and white meat.

When you eat frequently, the important rule to follow is to eat just enough so that you don’t feel hungry any more. Once you feel full: stop. Wait for the next session. That’s something I’m still struggling with, though.

I don’t drink coffee, but if I ever need a small boost of energy before working out, the One Gum chewing-gum is great. No sugar, no taurine, but chewing one piece of these has the caffeine equivalent of one cup of coffee. Except that it’s way more convenient to carry around. So I always have one pack in my sport bag.


To be continued

So, that’s pretty much it for now. I’ve been mainly gaining muscle ever since I started strength training, but the plan is to go back to a calories deficit for a month or so as soon as the progresses start to stall.

Once again, I just described what I did during the past few months. It worked pretty well for me, but don’t take these as advices you should trust. Everybody’s different, so what worked in my case could be really damaging on someone else.

Keep in mind that going through this can be tough sometimes. Having restrictions on what you can eat can be frustrating. Going to the gym daily or when you need to is not always easy to add to a busy schedule. But witnessing your body change is well worth it.

I truthfully respect people who can achieve big things just by being motivated by a distant outcome. To be honest, that never worked for me as a motivation to write software or to do anything.

I need instant feedback, I need data, I need visualization, I need challenges and ways to estimate how far I am from reaching previously fixed goals. That will makes me work my butt off to complete these challenges. Fortunately, these things can be set up even beyond software engineering.