Fitness update

Fitness update

Back near the beginning of August I wrote about my fitness and plans to get back into a good routine and health. Today I hit a couple milestones so I thought I would give a quick update.

My main goals were to keep my physical activities varied and not only doing one thing. For both biking and running I set some minor goals for myself.

With biking my goal was to be able to make it from the bottom of our hill to the top without stopping. On September 1st I completed that though very slowly.

Since then I haven’t done a lot of biking as I’ve been concentrating on my running. My goal was to be able to run the Valley Harvest Marathon 5K race in under 30 minutes. When I started running again in August it seemed like a long ways away. That race was this morning and I did it.

Another fun milestone that came today was when I jumped on the scale I am now down 30lbs since April of this year. That is when I started but had a few big up and downs before I finally really buckled down in August.

There is still more work to go but I’m finally feeling like I’m back in a good routine with both my eating and activity levels.

Kentville Pumpkin People 2019

Our town has a fun tradition for the month of October. We have the Pumpkin People pop up all over. Each year is a different theme, but I really like this years especially. It is Toon Town, showcasing a bunch of classic cartoons.

This morning we got up and went apple picking again with family and friends and then everyone came back to our place to test out the BBQ on our new deck. Then we went out around town to check out the different displays.

Learning React

Since my last update about my #photo-album-project I’ve been busy gathering up learning resources and have started in on some learning.

A lot of the resources I’ve found are online. I’ve been scanning and bookmarking articles on MongoDB, Node.js, creating APIs and other things. A site I hadn’t come across before this is FreeCodeCamp. They seem to have a great mix of articles about all kinds of different topics. I have a number from here bookmarked to come back to.

Besides online, I also ordered a book for further down the learning road called iOS Apprentice from raywenderlich.com. It was recommended by my esteemed colleague Aaron Douglas.

For my first task I’ve decided to learn is React. I found a great course on udemy.com called Modern React with Redux. I’m about a third of the way through the course, it has over 40 hours of video lecture and activities. I’m to a point now where I could likely get started building the React part of my project, but I want to finish the course. Currently I’m at the point where I’m learning about Redux. It is just early on, but it is a bit of a struggle to wrap my mind around it so far. I could build my app without it pretty easy, but it is a common way to build complex React applications so I want to get a good sense of how it works and will likely end up using it even though it may be overkill.

The structure of this course really works for me. The instructor, Stephen Grider, does a really good job explaining what is happening and for me the right level of how things are working and why to use it, mixed with examples and activities to build little applications.

So fat things have felt pretty straight forward and I’ve been able to go through the lectures and activities with the playback speed at 1.5x, but moving into Redux, I’ve had to slow down and go back and re-watch some sections. I feel like it is starting to come together, and I think I as I go on in the course it will be even better.

Even though I’ve mostly been typing out exactly the code I’m shown in the course, it has been fun to code a bit and see the results show up on my screen. I’m excited to keep going.

Starting a new project

In the spirit of never stop learning I want to start a new project. It has been a long time since I learned anything new related to programming and I’ve been wanting to dust of the rust and build something for a while.

Background

It seems like every time I go to learn a new programming language I use our families private online photo album as my thing to redo. Over the years it has gone through a number of iterations. Each version in a new language went through a few versions before scrapping the old and re-writing it in a new language.

It started out as a Classic ASP script that was pretty easy to use. You would create a folder and dump images into it and it would render a simple gallery to look through them.

From there it went to a Flash version where it used XML files to store information about the images and then display them in a flash format. This is really where the organization started coming in. We created collections of albums which were usually simply a month, but not always, so something like “September 2019”. Inside that collection there could be a number of Albums. Examples of these would be “Noahs Birthday”, or “Back to School”. Then each album would contain images which had a couple fields of information like a title and note you could add to each one. This structure has carried over.

The next version was to move to PHP with a MySql database to store information about everything. This one stuck around for quite a while but re-written a few times and had new features added to it. So lots of iterations. This was one of the tricker ones to get sorted out because I had to write an importer to parse the XML files and insert them into the database.

One mistake I made here as well was to store all the images into one directory. I really liked the idea of the first one where things were organized by folders so that if I just wanted to browser through them the folders had meaning and I could go through them just on the file system. So if I backed everything up and didn’t have a web server to view things on I could still see and have some understanding of when and what the images were from. So in one of the PHP versions I corrected this and wrote a script to go through and create folders based on the Collection and Album names and move all the images into them.

The last iteration which has somehow hung around and kept working for more years than I intended was written in Node.js. It is pretty rough and I kept the MySql database to store everything in. The code for this is not ideal but it is working.

Besides learning some about Node.js I also added some new features which have been useful. I set things up so that when uploading they were automatically stored in shared Dropbox folder so things are automatically backed up there and in the folder structure I mentioned before so they can easily be viewed with out the app. The other fun addition was the automatic creation of different image sizes in a separate folder and sort of a cache. When an album is viewed it checks each image to see if there is a thumbnail version in the cache folder to show and if not it generates one and saves it. It does the same for a more medium size view of the image while keeping the high resolution original to have access to. The last thing was a rudimentary search function where it can search the title and comment fields and show all images that have the term you searched for in an exact word search.

Project outline

For this project it kind of exploded in scope really quickly when I started thinking about it. The first thought was that I wanted to learn to create an iOS app and figured the photo album would be a great way to do it. I figure the best way to do that would be to have an API for the photo album that the app could talk back and forth to.

The current version doesn’t have an API and needs a refresh anyway so I decided I’d start there and re-write it still in Node.js but with a bit better understanding of how it works now and have it be API driven as well. I’ve never created anything API driven before and so it introduces some challenges. One of them being how to secure things properly.

Another thing that has been on my list for a while is to learn React, so why not use it in the re-write. I’ve been using MySql for a long time and I have a good understanding of it, but I was never happy with the database code in the current photo album and so I’ve decided to look at a NoSql database like MongoDB. With that it led me to find Mongoose as well. I’ll have to create a migration script as well to move things from MySql to MongoDB.

This is going to be a pretty big undertaking and I have no illusions about how long it will likely take. Right now I’m still in the information gathering stage and gathering learning resources. I’m going to start with creating the API and then build the web version to interact with it. I’ll start with a blank database and then migrate over the existing data. Once that is all working well I’ll move on to creating the iOS app. Likely in parallel I’ll spend some time learning about iOS development and going through some tutorials.

I’m not going to set a deadline for myself as life is really busy but it will be a slow road. I plan to blog about the progress and start a GitHub Repo to store things in as I go. If you want to follow along I’ll be using the tag #project-photo-album

Happy 10th birthday Noah

Happy 10th birthday Noah

Today may youngest child turns 10 years old. That makes me feel both old and happy. I’m so proud of all my kids and the people they are growing into.

I’m sure this won’t last many more years but for now he is one of my best friends. Soon he’ll get too old and not want anything to do with his old dad. So for now I’ll take all the time I can to be with and play with him.

His sense of humour, his kindness, his confidence, and his determination, all things that can inspire me to be a better person and father for him.

Jen wrote a great post earlier as well which says things better than I do.

I was so glad the Grand Meetup didn’t overlap with his birthday this year so we could be here to celebrate with him. Thankfully the one year I was away from him on it my co-workers helped me wish him a birthday wishes.

I gathered a few pictures of Noah and I together over the years and saved them to this Google Photo Album if you want to check out how cute he is https://photos.app.goo.gl/adCDEZKT7cdbDWSc8

Lonely Working Distributed

Recently I wrote about having connections with my distributed team. Part of that was because people have assumed it must be lonely working from home without seeing people. It’s been rare that I’ve ever felt this way much because of my team but also because I have a great network of family and friends I can do things with and have conversations with outside of work.

Listening yesterday to the Distributed podcast episode with Leo Widrich, they talked some about loneliness. His recommendation was basically what I have, strong work relationships and a good support network at home. Overall the episode was really good and has given me more to think about.

Leo talked about dealing with stresses and how they build up over time. We all have ways to deal with it through auto-regulation like my go to: eating. Instead we need to deal with it through self-regulation. Having a partner or group you can talk with can help the process. This is something I need to look into more and do a better job at dealing instead of distracting myself or eating.

Lately I’ve been going through some stresses again and need to work through them, but also be a better partner for those involved in these with me and be sure I’m there to hear them and help them.

Each of these Distributed podcast episodes have been good so far, but this one has been my favourite and given me things to learn more on. I recommend giving it a listen.

Distributed Team

Recently I was telling someone about my job for the first time. We were talking about how we communicate and how there is almost always someone else online working no matter when you are. They said something along the lines of that it must be like talking to some random stranger.

While that’s true some of the time thankfully because Automattic hires great people there is never a worry involved if I have to message someone I’ve never spoken to before. I’ve yet to have someone be unapproachable or find it hard to talk with them. This isn’t something unique to a distributed work environment either. We have close to 1000 employees, even if we were all in the same office building I wouldn’t know everyone.

There are also many people at the company who I know well and have built good relationships with. These are typically the people I work directly with, and especially my team, or those who have been on my team at some point. With them especially it doesn’t feel much different than people I’ve worked with side by side.

Partially this is because we do get to spend time together in person each year, but also because we talk regularly in our day to day work. Each year we have a team specific meet up where we all travel to one location and work together for almost a week. Then each year there is also the company wide meetup where we have time to spend together as a team as well. The next one is coming up very soon and I can’t wait to see my team again.

While we don’t get to do things the same as people who work in a office together, it isn’t that different, we just have to find different ways to do it. We don’t eat cake together in the break room for everyones birthday, but we do regularly celebrate each others milestone moments in life.

Recently a team member became a Grand Parent for the first time and we got to be there with them and see pictures almost instantly. I’m about to become a Grand Parent for the first time myself and we’ll get to go down this path together and support each other. It took me a while to come to terms that I was really going to have a Grand child and she already helped me come around and see the blessing it will be.

As I’ve written about I’m working on getting back into shape and I share my milestones in that with my team as well. They cheer me on, motivate me, and even push me to keep going and do better. One team member when it had been a couple days since I’d ran went on a run themselves and shared it pushing me to go too. We’re doing it together even though we’re far apart.

Learning to play tennis and I’ve had team members who play giving me tips, and are challenging me to matches if we can make it work when we are together soon.

One of the hard times is when a team member is having a hard time. You badly want to be there for them, close to help, and it is harder being far apart. Thankfully it’s easier than ever to arrange deliveries or ship things to people. Even if it is just a distraction from what is going on in their lives.

Even being distributed I consider my team friends and I’m so glad to be able to work with them. Very much looking forward to getting some in person time again soon.

Fitness Roller Coaster

Fitness Roller Coaster

Fitness, or lack there of, has been a reoccurring topic on this blog and my life. Like many people who struggle with weight things have been a roller coaster. A few years back I thought I had finally broken that and had built all the good habits I needed to stay fit and healthy, but something came a long and I slowly fell back into my old ways.

Fast forward to now and I am at another point of working to get into better habits again. This isn’t new either. I’ve ended up doing well for a couple or few weeks and then slipping again. Right now I’m about two weeks into trying hard to get with it consistently. I’m trying to take a bit of a different approach this time though.

Each time previously I would find essentially one thing and go with it as my go to means of exercise. Julia Michaels fitness videos went a long way to getting me in shape in the past. Now between all the times I’ve started and stopped I’ve done these videos a lot and find it hard to stay interested. For a long time running kept me going. I was able to push myself and I ran a lot. Since March of 2016 I haven’t really run very much except a couple attempts. Back then I hurt myself by pushing too far running and taking the time to get better never really got back into the habit.

This time I’m trying to mix it up and have a number of different things I can do. Things I enjoy. Things I’m not just doing for the sake of getting into shape but for other reasons as well.

There is of course basketball. From helping out coaching and playing with Noah I always end up in a sweat. Basketball is something I really enjoy and it is mine and Noahs thing. We get to spend time together doing it.

I’ve added in biking again. Last year I bought a bike but haven’t used it much yet this year until recently. This is something I’ve always enjoyed doing since a teenager. There are lots of good trails around to explore and I’ve done a few good rides over the past few weeks. I have a good friend who has been coming with me as well. This keeps me motivated and someone to help push me to go out, and push me to go further and harder when we do. It’s also something I can do on my own and am setting a goal for myself around it. Before the end of the season I need to be able to bike up my road with out stopping.

We live at the top of a good hill so it takes a lot to get up. It is about 120m in elevation over 1.5km road. That is almost 400″ over a mile. It’s not a big deal for some and I see people biking up it, but it is a work out for me to even walk up it. I’ve made it up once so far peddling the whole way but it involved a number of stops. Most of the time I have to walk some of the way and take breaks. If I can make it up without stopping I figure that will be a good indicator I’ve made really solid progress.

In the middle of June after a random conversation with my Brother in Law I’ve started playing a bit of tennis. He previously played a lot but hasn’t in years. So I went out and bought a racquet and he is teaching me how to play. I’m terrible so far but he is patient and helping me a long. It’s a fun sport and I’m enjoying learning. This is also another person who invites me out to play. Peer pressure and learning a new sport are both good motivators to get a workout in.

To add another alternative I’ve recently started running a bit again. This might be the hardest one for me. Because I did it a lot in the past and was getting fairly good at it. My brain things it wasn’t that long ago, but my body tells me differently.

Back in February 2016 I ran 10k at a pace of 5:15 min/km. Today I went for a run and could only go 3k and my pace was 6:48 min/km. I’m trying my best not to get discouraged because of where I was a few years ago and use it for motivation to make progress back to that place. I’ve also signed up for a 5k race at the Valley Harvest Marathon. In the past I’ve done the 10k at this event twice. My goal is to be able to run the 5k in 30 minutes. It is in October so I have some time to get there, but need some training.

Now
Then

With all these different items, each with their own motivations, and different people to support and push me I think I’m on a good track.
Over the past couple weeks I’ve managed to have fun and drop about 10 lbs. There is still a lot more to get to my goal, again, but I’m determined to do it.

My favourite way to relax

My favourite way to relax

Tomorrow morning I start back to work after a week off. Previously I had a bad habit of at least checking in on work a few times while I was supposed to be away. This time though I disconnected almost entirely. Not even coming into Slack to socialize with my team.

We spent most of our week in Moncton, around a three hour drive away. It was pretty close compared to some of our last few trips but it was exactly what was needed. We rented an Airbnb with close family. It was exactly what I needed.

We had a great mix of fun and relaxation. We visited TreeGo which is a ropes course is a mix of obstacles and zip lines. It was one of my favourite parts of the trip but physically exhausting. Luckily the next day we headed to the beach.

The beach is our families happy place and this beach is one of the best around. We’ve had our family pictures taken there a few times. The water is pretty warm for the Atlantic Ocean, the sand is beautiful, and the water is nice and calm. Was able to out and play with the kids, but also relax.

Out on the water with the kids playing around, the sun high and warm in the sky, I was able to lay back and just float on my back. The water blocking out most of the noise around, the water calm and warm, and my eyes closed. So extremely peaceful. The only thing that I worried about was the life guards thinking I was in trouble without moving. I could have lay there for hours I think.

This morning I went for a 30km bike ride and the the heat was intense. The last 5km were rough and extremely hot. We ended up heading to the lake in the afternoon which allowed me to to relax and rest my tired legs. I was able to float there but the fresh water is not the same as salt water which makes it easier to stay up.

It was a wonderful way to end a vacation but looking forward to lots of summer left to spend some time on the water with my family and friends.

My hats

My hats

My family likes to make fun of me because I like hats. They say I have too many and give me a hard time when ever I go to buy a new one. I don’t really have that many and most of them serve a purpose or occasion.

Recently I made a deal though that I won’t buy a new one for a year so that I could justify buying an expensive set of earphones. That got me thinking of all my hats and thought I may as well share all my hats.

Basketball

Probably the biggest category of hats I have. Most are Toronto Raptors hats but there is a Michael Jordan Jumpman hat and a Basketball Canada one. As of this writing I don’t have the Championship hat it is still on its way.

WordPress

Most people who know me know I love my WordPress swag. Numerous shirts, pictures, backpacks, stickers, my laptop, and of course some hats.

Baseball

A couple summers ago we took in a Blue Jays baseball game during one of our trips and they are the only Canadian team in the MLB so I of course need one of their hats.

The red W hat is a Kentville Wildcats one which is Noah’s team he is playing for. We also go watch some of the seniors men Wildcat games so I needed a hat to cheer them all on with.

Running

I have two hats for running. While I don’t run much anymore I do plan to get back into it and they come in handy for other sweaty activities as well.

Brands

These are random ones that I just happened to like the hats. I don’t have much affiliation with any of these but they looked good. All but the Puma hat are pretty old and only usually get worn when out in the yard or if I’m going to get sweaty or dirty.

Local

These are hats from local businesses or groups.

One is from New Scotland clothing. Nova Scotia is Latin for New Scotland so a local company started up a brand of clothing around that which I really like.

TAN Coffee is one of my favourite local cafes and coffee roasters. They are the main coffee I drink here at home and used to drink a fair number from them directly before I got my own espresso machine.

The Acadia Axemen is the mascot for the local University. This is where I graduated from and we regularly go to watch the basketball teams play during the season.

There you go. That is all my hats. I don’t think they are that many. While I could likely downsize as some don’t get worn very often anymore I still like them all.