Feeling Inspired by a Changelog

In what is material for another post, I recently decided to take another class in Django. And, in lesson two of Django for Everybody, I thought “I should start a project to practice on.”

That lead to me thinking it wouldn’t be all that much work to get a barebones version of Governors and Generals going. How hard could it be, right?

Turns out, it’s not super-hard–the literate programming preparation I did really helped–but it’s hard to know where to stop.

Enter the eldest son. He’s been looking over my shoulder as I do these things and I try to always have time to explain what’s going on. Some of his suggestions are our of my league (“there should be a 3D version to download”) but on suggestion changed the way I’ve been working: He said I should put a version number at the bottom.

So, I did. It was simply a matter of altering the footer template. And then I thought: “this could be a link to a changelog page that lists the stuff added. Then, I could look back to see the work I did.”

That was done pretty quickly.

Today is my third day of working on the project and I’ve found it to be quieting to finish the day’s portion of work by writing short, bullet-point entries about what I did that day. It’s nice to think “yeah, I got some stuff done.”

What’s more, starting at version 0.0.1 I’ve decided that version 0.0.2 will be reached when I’ve made something to put on PythonAnywhere and ask people to have a look at it. Initially, it’ll just be the framework on which the game mechanics will be built. Using that, I’ll start putting game mechanics together, though I expect there will only be intermittent days of intense coding after that. (At least until I start learning new stuff and updating the front end.)

Literate Programming

To be clear, I don’t think I’ve written a line of code yet this year, at least, not that was for a legitimate project and not for FreeCodeCamp.org.

Still, I work with people who code and, when I was thinking about the Governors and Generals thing, I asked about how to plan a program. One of my colleagues–fresh out of college–talked about using UML to model stuff. Then, one of the more experienced programmers heard us talking about it and told me to Google Literate Programming.

Short aside on Google suggestions

There was a time when I thought people telling me to Google something were just saying “you’re not worth my time.”

Getting older, I realize they’re saying “you seem to be teaching yourself this stuff, but here’s a concept you may not know to learn about. Have a look.” And I appreciate that.

Now, as a rule, when I have the idea something is possible and I don’t know what to search for (I want to update a website dynamically in a certain way) I tend to ask “do you know what I need to Google to figure this out?” It respects the other person’s time and makes it clear that I’m not looking for them to do the work for me.

So what is it?

The idea is that, before you write a line of code, you write out your program in English. The guy who pointed me towards it said that, eventually, nothing should be a mystery: you just have to translate English into code.

That means that you write “here, the cards in the user’s hand are selected and passed through to the Django template to be displayed,” because that’s something I’m confident I can do in straightforward code without having to figure out how it’s done.

The way he sold it to me was that you construct the entire program in plain English before writing anything, so you know what you need to get done and then you just translate it into code.

I’m giving it a try with Governors and Generals

I like the idea. But then, I can be sold on “literate” anything. Because I’m tired of pandemic stagnation, I’ve decided to kick myself in the butt and get an MVP going.

Now, sitting down and pounding out what needs to get done… I’m realizing that there’s a sense to it and I’m excited to see where it takes me. I would like to get back to being a person who makes things.

I’m gaining diabetes chops

I feel weird being “proud” of being good at diabetes. I mean, I’m not super proud to have it in the family–I’m not ashamed, either, it’s just a thing for me to deal with,like gray hair–but it’s a special combination of being both a monotonous, frustrating grind and super scary.

It’s been a while since I’ve reflected on all of this in writing, so I thought I’d try to make a list of the things that I’ve learned or am trying to do.

  • Bad sugar is not (always) his fault. I come from a family that expects kids to take responsibility for themselves and my first instinct is to be angry at bad sugar. That’s not super helpful and it’s not always his fault. I don’t always estimate sugar correctly, and I would be the kind of person who forgot a shot when sweets are passed around at school. Being angry doesn’t help. At worst, it probably makes him not want to talk about his sugar.
  • I try to connect his blood sugar to immediate things. This is hard for me because he’s an eleven year-old boy and not super aware of his feelings, anyway. Asking him to sense if he feels different with his sugar high or low–when it’s not an emergency–hasn’t been super helpful. However, I do point out that he had a rough day–and that’s the kind of thing he knows–and I say his sugar was high all day. If I’m doing this correctly, I’m not rubbing his nose in it, but just saying “one of the strategies you have to avoid bad days is managing your sugar.”
  • I try to avoid telling him to take shots. Partly, this is because I want him to learn to get shots on his own. What I’ve been doing for the last weeks is noticing that his sugar is high and saying “hey, this is a great time to do a workout video.” I try to not make it a punishment, but instead to say “then you won’t have to eat any carbs to do a video later, and we want to stay active during the lockdown.” My goal is not to present the workout as a punishment, but to have him notice that my feeling a need to jump into his sugar management is less fun than him managing it himself. (And, to be fair, I also run and do the videos that I ask the kids to do, and he would be doing videos anyway.)
  • I’m getting older and wiser. This doesn’t really belong on the list. I don’t do anything, but I’m gaining experience. I can give a shot before going to bed and don’t feel the need to set an alarm to make sure it wasn’t too much. I understand diabetes–at least, his diabetes–enough to take an active role in the “why didn’t his sugar do what we expected?” conversations, and that makes me feel more competent as a dad.

Christmas is a rough time to have diabetes and, to a lesser extent, rough for the people trying to set up a nice Christmas without sending the kids on a diabetes roller coaster.

But, winding the year down, I feel better about my role in the whole thing.

Blood sugar and behavior

I might not be the smartest person you’ll ever meet, but, given enough time, I can pick up on a pattern. The problem is, when our eleven year-old, diabetic son is moody and aggressive, it’s easy to think he’s heading towards puberty… because he is.

However, sometimes, he’s our little boy again and wants to hold my hand on walks. And I really enjoy those times.

High blood sugar days

It’s become clear that, with high blood sugar, our son is in the middle of his rebellious teenage years: he’s cruel to his siblings, he uses a tone with his mother that shouldn’t be tolerated, and he’s accused me of not loving him. Recently, he even asked what boarding school cost. (When I asked why he wanted to live at a place that he hated, he just rolled his eyes.)

We’ve had several of those days, and, sometimes, several in a row. Especially when he’s already in a mood, he’s not motivated to get his sugar down.

Is autonomy the problem?

Sometimes, if his sugar isn’t super high, we’ll let him deal with it. His mom and I can both see his current blood sugar on our phones, so we have an idea. But, beyond not letting him eat if it’s not where it should be, we let him do his own thing.

The thing is, that tended towards a downward spiral: he’s primed to be angry at us and then we don’t let him eat. Then, when his sugar is down far enough to eat, eating sends it back up before it comes back down again.

By the time it’s down, either the anger has become the day’s defining characteristic or he’s in bed.

Sigh.

Some other ideas

As I keep saying to him, I want him to be the kind of adult who can move away from home and be independent, so it seems ridiculous that I should start monitoring his blood sugar for him. After all, what will he learn from that?

But, as I’ve written, all of my incentives are to keep an eye on it, in the name of harmony at home.

So, I’ve adopted a pair of strategies. First, I point out the correlation to him. Often. I’ll tell him that I had a good day with him, and that he seemed to have a great day, and I’ll point out that his sugar was a factor. Having a good day seems like more of a motivation than some abstract long-term damage.

And, when we’re having a rough day, I’ll point that out. I try to do this in a way that says I’m not blaming him for it being high, but… I’d be the last to say I’m perfect at dealing with him in that state.

The other strategy I’ve only been able to get out once or twice has been fitness instead of insulin. Especially in the lockdown, I’ve been the family’s activity ambassador, putting on mandatory exercise videos or getting out for walks. The family has even started a couch-to-5k program that’s showing results.

With him, when I notice his sugar is high, I’ve said that it’s a good time for he and I to get out for a running workout, since he won’t have to actively load sugar. Or, another time, I just said “you’re sugar is pretty high. This is a good chance to get the rowing machine out and row it down to six.” (We measure sugar in mmol/l.)

Needless to say, most people aren’t living in a state of wanting to be surprised by a workout and it’s definitely negative reinforcement, but I try to not make it into a punishment. “It’ll give us a chance to check that off our list,” I say, or, “you told me you want to do a backflip. Remember the guy in the video who said the first thing to do is to get your body stronger? We can do that now.”

So, I try to point out that high blood sugar is an opportunity to do some unplanned fitness (and, to be fair, I spend the day doing random sets of pushups or wall stands and am always ready to join a kid in a workout video) and hope that he’ll decide to become aggressive about monitoring his own sugar, if only in the interest of fending off my fitness.

It’s an ongoing experiment

Whenever I think I’m in a parenting groove that works, some kid decides to grow in a way that throws me for a loop. I’d love to hear about how other parents are managing the tension between seeing our own reasons to keep blood sugar levels in line and wanting the kids to develop their own motivations.

And, most of all, finding ways to avoid making it seem like he’s being punished for having diabetes.

Look at me only paying €55.39 per workout!

I suppose that there’s something positive to be said of a guy who managed to get a €1,439.84 workout down to a mere fifty-five Euros.

Twenty-six rowing workouts later

That’s right, I’ve recorded twenty-six rowing workouts. I sometimes forget to write down that I’ve rowed and then I’m not sure if I recorded it or not, so that number might not be accurate.

So, that’s the first thing that’s changed: I don’t record workouts with tally-marks. I write down the date of each workout and then, if I’m not sure whether or not I wrote down yesterday’s workout, I can see if yesterday’s date is there.

A developing routine

As rowing has become less and less something I “get” to do (there was a time when I looked forward to the next day’s workout and resented the rest day in between) and instead became another thing that I have to make time for, it’s probably inevitable that a certain degree of routine has crept in.

My workouts tend to be one of the following:

  • Steady rowing. This is probably my “laziest” workout. There are days when I don’t feel up to pushing myself, but know I’ll be disappointed if I don’t get a workout in. So, I get the machine out and I try to maintain a stroke rate of 22 for thirty minutes.
  • A complete dark horse workout. There are a couple of workouts that Dark Horse Rowing has made available on YouTube. These always kick my butt and leave me feeling like I did something worthwhile. Generally, I download these videos if I plan to do the workout again, because the ads are less than fun.

I haven’t yet branched out into other rowing channels on YouTube. I like the way Shane Farmer (spelling?) of Dark Horse talks to me, I enjoy his mannerisms, and I haven’t gotten tired of anything yet.

Balancing out rowing

I don’t know if you know this, but Germany is going through another “light” lockdown and most of my work is from home. My step counts are way down, and, if I don’t run, there are a lot of days when I would never leave the apartment.

I’ve begun to get the sense that rowing and running aren’t enough. So, I’ve started doing other exercise videos (including this one, that my daughter picked to do when she was home for a quarantine–it routinely kicks my butt) and pushups and wall stands.

My son has got it into his head that he’d like to do backflips, so we might start training cartwheels. We’ll see.

Fantasy Pilgrimage: The first 329.5 km

Making a fantasy pilgrimage has been a… well, a fantasy of mine for a while. I’ve been saving my workout data on my phone since August, and now seems like an appropriate time to make my first entry.

From August through October, I’ve traced 329.5 km. I guess that’s not bad? I’m content with my level of activity, that’s for sure.

Tracked out on a map, that’s enough to get my to Berlin, Potsday, and then almost to Halberstadt, if I had been running and biking entirely in a straight line and didn’t stop to see anything in any of those places.

Just seeing it on a map is impressive to me.

With time, I’ll try and do some virtual sightseeing around the route and share here what I’ve seen.

Only €143.99 per rowing workout

Ten workouts in

I mentioned when I bought the rowing machine that I’d be keeping track of the per-workout cost as a way to keep myself going. Now that I’m ten workouts in, the cost of workouts is down dramatically… to just a little under a hundred and fifty Euros per workout.

Sigh.

I have made rowing a priority, meaning that I do it every other day, whether or not I ran on the prior day or not. That means that, if I miss a rund day, I don’t postpone rowing to get the run in. The run is just gone forever.

Still, I want to get three runs in per week, and the dual motivations of doing that and also getting in my rowing workouts has kept me pretty active.

Seeing results

It’s been a little more than two weeks of rowing, and I’m beginning to imagine I can see results. Not results that I can see in my body directly, but I am standing with better posture, feeling stronger.

Recently, I was climbing trees with the kids and found myself enjoying having the core strength to hang under a branch and move along it upside down. I didn’t make it far, but holding up my weight that way made me feel strong in a way that few activities have.

So, in that way, I see some results.

Also… I’m sore a lot. Rowing is a lot on the legs and running… You know which muscle groups running uses. So, I frequently start the day with tired calves. However, once I’m up and moving around, I’m back to normal. Because I’m pushing myself so hard, I’ve relaxed my need to get in ten thousand steps every day. I get them on run days, easily, but I don’t push myself on rowing days.

What I’m doing

I still see myself as a beginner and mostly do workouts just to mark them done. My goal has been to get around twenty minutes of rowing during each workout, and I’ve accomplished that a couple of ways, mostly using videos from Dark Horse Rowing on YouTube.

  • I use one of the workouts from his Learn To Row Workouts playlist, focusing on form in some way. Then, I drink some water and then row along with the 15 minutes of silent rowing video in that playlist. I try to focus on the new form elements during those 15 minutes.
  • He also has a longer workout with warmup and cooldown that includes some of what he calls “emotional work,” with him saying we’re rowing hard to stay ahead of competitors. I’ve done this twice and it has kicked my butt both times. I had to take a nap after my first time through… and I love that, but that’s not always an option.

One thing I have learned is to download the videos from YouTube when I think I’d like to do the workouts more than once. On YouTube, the workouts and interrupted by advertisements (I mostly get Peleton–I’m not buying any more big workout equipment!) and that takes me out of the zone, not to mention the fact that the workout is stopped.

Conclusion

So far, I don’t regret buying the rowing machine and it hasn’t been hard for me to find the motivation to row. I do find that it requires less willpower because starting–getting the machine out and setting up my notebook–is fairly painless. By the time I have to sweat, there isn’t much else to do.

I plan to check in again at twenty workouts and would like to be able to report more clear improvements in my strength, though it should be clear that I do feel abstractly stronger than I did before. I’d just like to know that I’m stronger.

Governors and Generals

A resource sharing game

My first foray into programming was because I liked the idea of making a game that would force players into two-player teams with different roles. It would be a sort of mix between StarCraft and SimCity. The idea can be expressed simply–the two players share resources while doing their best to pursue their various roles, both independently and in support of each other–but it quickly becomes complicated.

The players would be either a General, a military leader, tasked with defense and able to secure additional resources by raiding, or a Governor, responsible for development of the civilian infrastructure.

The idea is that each player would have an engaging activity on it’s own which would be made unpredictable and more challenging by the need to both share resources with their teammate and support them. The General would need to provide defense–and could raid other teams or the NPCs for resources–and would be reliant on the Governor to establish food, education, and other infrastructure.

The idea is that there would be insufficient resources to do both optimally and that there would be forced communication and cooperation–as well as frustration–between the two players. It could be both fun and frustrating and the sort of thing that might eventually feel like overcoming a challenge together.

As a card game?

I can’t program it in the form that I imagine it–something of a top-down RTS/city sim. However, realizing that the RR18XX games are a thing, I had the idea that there might be potential to make a slightly nerdier version of the game.

At the moment I’m obsessed with making something that will be purely online with algorithmic mechanics, but involving virtual cards and dice. My idea is that each player would have cards in their hands, but also be able to “play” cards in front of them, visible for the other players to see. The computer would keep track of the resources and perform some of the game mechanics.

Next steps

I guess the next thing to do is to try and map out–perhaps in sketches–the game play for the various roles and to try and see how they would interact, as well as thinking of how the environment would work.

The €1,439.84 workout

I just had a workout for almost one and a half thousand Euros, and believe me: I can still feel it in my legs.

With time, I’d like to feel the workout less, and to get the cost down. Let me explain:

Why a new workout?

I love my running. But, I don’t feel like it’s enough. So, I’ve experimented with various workouts though the years, and I’ve posted about a bunch of them here. (For example: the burpee project and, most recently, an at-home ninja warrior workout.)

Nothing has stuck the way running has stuck. And nothing has made me look forward to the workout the way running did. So, yes, I did find myself doing more burpees in a set or feeling stronger while carrying my kids around… but I didn’t feel success.

Then I read a book…

As with so many things in my life: I got an idea reading a book. The book was recommended by my family for at least a year, but I didn’t think of myself as the kind of person who read books about sports. And rowing? It’s not for me.

Still, whenever I mentioned needing something to read, everyone recommended “The Boys in the Boat.” It’s the story of a Washington University rowing team that, in spite of some unsportsmanlike conduct both in the U.S. during qualifying and in the Olympics, went on to win the gold medal.

It’s a story of the adversity of coming of age in the depression, as well as sticking it to the Nazis? How could I not be enthralled.

(An aside: this is further proof that, when someone you admire recommends a book, you should consider that book. When more than one person recommends the book, go and buy it!)

I found myself watching things like this:

And, all the while, admiring the boys and enjoying the adventure. Each chapter started with a poetic and inspiring observation by George Pocock, who made shells in the boathouse of Washington University. I found myself thinking: I would like to discover in myself some small part of what these young men found in rowing.

Enter the rowing machine

That’s why today’s workout was so expensive. On Saturday, I bought a rowing machine, with limited accessories for €1,439.84. It wasn’t entirely spontaneous: I spent some time researching rowing and rowing machines online. I know myself well enough to know that I wouldn’t want to be the beginner in a 40-and-up rowing crew where the other members have been rowing for the last twenty years.

After assembling the machine–it was a fair bit of work, and, more than once, I had to go back and add washers to bolts that I forgot to add them to–I went though a “your first workout” video which focused more on form and how to sit on the machine. So, though I did about ten minutes of rowing and definitely felt it yesterday, I’m not counting it as a workout on my running costs (see below).

Today, I did this workout focused on the catch, and, feeling that ten minutes wasn’t enough–we’ll see if aching muscles tomorrow tell me otherwise–I added this one as well. After all, when you pay over a thousand euros for a workout, you want it to last more than ten minutes.

Running costs…

I’m intimidated by the amount of money I spent. However, if it keeps me sane–or is even a major factor contributing to my sanity–it’s worth it. There are some factors that I think make it worth the investment:

  • It’s at home, I don’t have to invest time in travel to go anywhere.
  • My kids can see me doing it. That means that I’m a role model, but also that they can say they’d like to give it a try. They’ve all been on it a little. Further, it’s something that the oldest has mentioned as a way to help him manage his blood sugar.
  • It’s something I start and then do all the way through, requiring willpower only once. I’d found myself delaying between exercises when I did other workouts and taxing my willpower over and over again to get things done.
  • It should hold it’s value. I’m reasonably confident that, if I don’t get into it, I’ll be able to sell it for at least a thousand Euros and be four hundred Euros smarter. We’ll see. If I do, I’ll adjust my running costs.

As a motivation, I’m keeping track of the number of workouts I do and trying to get myself to lower the cost of each individual workout. So, this first workout cost the whopping thousand four hundred euros but, as soon as I do another workout on Wednesday, the cost of each workout sinks to €719.92.

My long-term goal is €2/workout (720 workouts), but next I’m aiming at €143.99 (10 workouts).

We will see…