Blog

Where I talk about programming, rowing, working out, and life. Click on a blog post to read more.

The '19 Canley

8/11/19 · Rowing

This week I had the pleasure of racing in the 137th Royal Canadian Henley Regatta, an international regatta with crews from clubs and schools around the world. Here's a little gallery from Henley Island:

U19 Men's Double
U19 Men's Double

In the double, a great race didn't save us from placing dead last. Facing one of the hardest heats in an older age division proved to be an unbeatable challenge. Nevertheless, the race was another part of the amazing experience.

U17 Men's Single
U17 Men's Single

In the single, I was up against several rowers going into their junior year, but managed to place 4th in my heat. With two distinct groups, I managed to steadily build open water between the group that was behind, but couldn't edge into the leading group despite several move attempts at the halfway and 1500.

U19 Men's Quad
U19 Men's Quad

In the quad event, we placed 5th, fighting off the last few crews and inching up into the leading group to secure a position that we held until about the 1700. at which point we started an energy filled final sprint at a little over 40 s/m to close water on the boat ahead of us and inch up their deck before finishing in the same spot.

U17 Men's Single

The whole experience, from being in the presence of the world's top rowers to spending so much time with wonderful teammates on and off the race course, was completely surreal.

A Comprehensive List of Programming Semantics in Plain English

March 28, 2019 · Programming

Programming, like many other fields, has an extensive vocabulary and requires a solid understanding of all of it to be any good. This can be pretty daunting for beginners, however. Words like array, float, nest, and method are really just fancy ways of saying simple things, but learning how to use them is very important to learning. Documentation for languages, errors, questions and answers on services like Stack Overflow all use extensive terminology that, while correct, will seem like a foreign language to beginners who aren't familiar with this terminology. It isn't very easy to learn these terms, either. A Google search of a term will often just explain it with just-as-foreign terms. You wouldn't try to learn Spanish by looking at an all Spanish dictionary; trying to decipher the vocabulary of programming this way is just as useless. I've created a list of some fundamental and important terms explained in plain English. Let's start with one of the most important parts of programming-creating and storing data.


  • Value: (noun) Any piece of data that is stored in a variable.

  • Variable: (noun) A container for some value.

    • Declaring a variable: (verb) Creating a container that will be used later on. We'll use x as our variable.

    • Assigning a variable: (verb) Putting a value into a container that has already been created. x = 4

  • Type: (noun) what type of value is stored in a variable

    • String: (noun) Basically text. Usually shown in quotation marks. Ex. x = "string example"

    • Integer: (noun) A whole number. Ex. 4 or 5

    • Float: (noun) Short for floating-point number, a float is a number that is not a whole number; it is fractional. Ex. 4.75 or 6.2

  • Function: (noun) Some code that has been written by the programmer beforehand, that can be called.

    • Define (a function): (verb) To create a function and define what it does when called.

    • Call: (verb) To run code from a function.

    • Argument: (noun) A value that a function takes when it is called.

    • Return: (verb) The value a function returns back to you after it is called.

    • Here's an example of a function we'll create called add(). It takes two arguments, a number and another number, and adds them together. Note: This is written in JavaScript, and // starts a comment. (It is not part of the code.)
    • // We declare our function that will add our two numbers.
      function add(oneNumber, theOtherNumber) {
          return oneNumber + theOtherNumber; 
      }
      
      // We declare variables to be used later on. (We are putting an integer into containers "number1" and "number2".)
      var number1 = 4;
      var number2 = 6;
      
      // Then we can log this in the console, where our output will be 10.
      console.log(add(number1, number2));

Most modern porgramming languages use objects. For example, a car is an object. It has properties to it, like color and brand, and actions it can perform at any time, like accelerating and braking. We'll define an object like this in terms of programming.


  • Object: (noun) A collection of properties and methods.

    • Property: (noun) Like features of a real life object, properties are variables that describe their object. They all have a value, and are defined in the object.

    • Method: (noun) Like actions a real life object can perform, methods are functions that can perform an action relating to its object. They are also defined in the object.