Screen Shot 2021-03-30 at 6.45.27 AM

Preview: Online Tool to Generate iOS/Android app starter project

The Codename One initializr is an online tool for generating a Codename One starter project. You can select either Kotlin or Java, then you can download the project and open it in your local IDE.

In this 5-minute video I use the initializr to generate a bare-bones Java project, which I open and run in IntelliJ. I also give a brief tour of the project structure and build targets.

TLDW (Too Long Didn’t Watch):

Here’s the gist. Go to Codename One initializr, select either the “Java Bare-bones Project” or “Kotlin Bare-bones Project” from the “Template” select box, and press “Download”

Screen Shot 2021-03-30 at 6.36.39 AM

Extract the resulting project, and open it in IntelliJ (or your preferred IDE).

Screen Shot 2021-03-30 at 6.39.27 AM

Press “Run” and wait while Maven downloads the build dependencies. It will open the Codename One simulator with the simple “Hello World” app running.

Screen Shot 2021-03-30 at 6.41.00 AM

The project is a Maven project, with the following build targets:

  • iOS
  • Android
  • Mac Desktop
  • Windows Desktop
  • Javascript App
  • Windows UWP App,
  • JavaSE Desktop App
  • Xcode Project
  • Android Studio Project

In the video, I also demonstrate how to add a Button that, when clicked, opens a dialog. This is achieved by opening the common/src/main/java/com/example/myapp/ file, and adding the following to the start() method:

Button btn = new Button("Click Me");
btn.addActionListener(evt->{"Hello World", "You Clicked Me", "OK", null);

I’ll soon be posting some follow-up videos to demonstrate how to build and deploy the project to iOS and Android devices, so watch the RSS feed or follow me (wherever you receive my posts), to be notified when these are posted.

More Background

I’ve been working hard over the past several months to migrate Codename One from Ant to Maven. That process is now complete, and it has enabled us to introduce a new, simpler workflow for creating Codename One projects. The Codename One initializr uses our Codename One App Project maven archetype to generate a starter project. Right now we just have two starter templates: Bare-bones projects for Java or Kotlin. We will be adding more templates soon, including some templates for full-featured apps that you can take and customize.

I’ve very proud of this work, and I’m excited about some of the new things that it will enable.

If you’re a Java or Kotlin developer and you’re interested in making cross-platform native mobile apps, you should give Codename One a try. You just might be surprised at how pleasant the experience is.


Farewell to TenFourFox

I was saddened by the news that development on TenFourFox, the Firefox port for Mac OS X 10.4, will be ending with its upcoming release.

I keep several old Power Macs running 10.4 (which is the last version that will run Classic), and the TenFourFox browser is a staple of my “bootstrap” CD. I don’t use it much, as browsing the web on these old Machines is pretty slow, but it gave me joy just knowing that somewhere out there, someone was keeping the flame of these old computers alive. I liken this feeling to knowing that my childhood home is still lived in by my parents – the feeling that if I returned to visit, everything would be there as I left it, and I could, if only for a brief moment, be a child again.

To the developer behind TenFourFox, I’d like to wish you the best in your retirement. Thank you for your service all these years.


The Water Fight

This is my account of the epic indoor water fight of 1989 that laid waste to Mr. Galvin’s grade 4 classroom. Enjoy

Our classroom looked like an exhibit at the BC history museum. The north wall was covered with a landscape showing the exploration of the “new world” by Europeans like Jacques Cartier. This mural was constructed using an adaptation of the Bob Ross method, whereby we staple the background elements (land, ocean, and sky) to the wall first, and then proceed to add the foreground details, including lots of happy little trees. First and backmost was a layer of light-blue wallpaper representing the sky, which stretched all the way to the ceiling. Covering the bottom half of the mural was darker blue paper representing the Atlantic ocean. Its top edge was cut into waves, and it was book-ended by two brown landmasses resembling the foothills of mountains rising out of the ocean. These brown mountains represented Canada on the left and Europe on the right.

Mr. Galvin had set up the background on his own, but he left it to the class to populate it with happy little trees and the like. The mural was littered with cut-out drawings of ships, forts, people, buildings, tee-pees, bears, and just about anything else that could possibly spawn from the imagination of a nine-year-old when provided with such a juicy blank canvas. Mr. Galvin didn’t tell us what to draw, or how to draw them. The only rule was that it had to be “appropriate”. Drawings were colored using paint, crayons, pencil crayon, and felt marker. A drawing, once approved, would be stapled to the mural by Mr. Galvin.

We started building this mural in September, and continued to develop it throughout the year. At the end of the school year we were told that they would be transporting it to some other location, like the school district offices, so that it could live on. It represented a significant amount of work, and we were all very proud of it.

On the other side of the class was a science fair exhibit which was a little less grand, but also involved lots of paper-based artwork and diagrams. The class had been split into groups of five or six for this science fair. A section of table had been allocated to each group to display their project. Most of the projects consisted of charts and diagrams glued onto some brightly colored paper. Some exhibits also included three-dimensional visual aids that had been constructed out of materials such as popsicle sticks and egg cartons.

It is relevant to the remainder of this story that neither the mural nor the science exhibits were designed to withstand water damage. It is also relevant that our classroom had a sink.

That night, the school would be hosting the annual Spring Peterson Road Carnival, but it was already set up in the gym, and classes had each been designated a time when they could come down and “preview” the carnival during the day.

It was about to be our turn.

“I expect you all to be on your best behaviour”, said Mr. Galvin with his Liverpool accent. He sounded like one of the Beatles.

After he had finished delivering his pre-carnival “expectations” speech, Mr. Galvin directed us to line up at the classroom door. Then he led us down the stairs to the gym where we were set free.

The perimeter of the gym was lined with attractions that were being operated by aspiring carnies (i.e. grade seven students and parent volunteers). They had the usual stations you would expect to find at a fair, from the fishing exhibit (where you throw your clothespin fishing rod over a sea-themed bulletin board, and hope to catch a prize), to the dunk tank (where a teacher who probably drew the short straw, sits precariously on a plank above a water tank and waits for students to throw balls at a target).

My personal favourite was the floor hockey station so that was my first stop. After a short wait, I was invited to step up to the line that had been taped onto the floor. Then the carnie handed me a plastic hockey stick, and placed a bright orange plastic puck onto the line. I dragged the puck back and forth a few times with the stick to get comfortable and looked toward the net, which was about fifteen feet away. It was blocked by a wooden piece of plywood with a hole cut out of the bottom just big enough for a puck to fit through. I released my first shot, and it thudded off the sieve, about a foot off the mark.

“Oh so close!” said the carnie. “Don’t worry, you get two more tries”. Then he set up another puck.

I don’t recall how many tries it took, but eventually I threaded the needle, and was allowed to claim a prize.

The prize vault was a plastic milk crate filled with an assortment of brightly colored plastic goodies and candies. I quickly scanned over the rings, and plastic spiders before settling on a tiny lime-green water pistol.

I completed the circuit, and then Mr. Galvin directed me to return to class. Our departure from the carnival had been staggered and, for whatever reason, Mr. Galvin was the last one to return to the classroom.

Upon my arrival, I discovered that nearly every boy in the class had also won a water pistol. There we were, a room full of nine-year-olds armed with water pistols, in a classroom that just so happened to have a bottomless supply of munitions. For a few minutes we all sat in our desks, harmless powder-kegs awaiting our teacher’s return. Then, someone lit the fuse. A single boy, I don’t remember who, walked up to the sink, and filled up his water pistol.

Then another boy did the same, and they started squirting at each other.

“They are going to be in so much trouble”, I thought, watching these two fools dueling toward certain doom.

But then another boy joined in. And another. Before long it was full-on war. Boys would be ducking behind the science table, then pop up to squirt their enemies, then duck again to avoid the return fire.

I didn’t participate right away, but every boy has his threshold beyond which the temptation to follow his friends off a cliff is irresistable. I rose from my desk, walked over to the sink, popped the cap off the top of my pistol, and ran the water over it. Once it was filled, I pushed the cap back on, and dried the gun on my pants. Then I found a corner that could be easily defended and engaged in the fire fight.

Streams of water arced through the air, splattering the mural, the chalkboard, the science table, and just about everything else in the room. Boys ran with glee around the perimeter and through the rows of desks with their pistols cocked imagining we were living in an episode of GI Joe. We even made the “pew pew” sound effects to accompany our shots.

This continued for a glorious 2 or 3 minutes before we were rudely interrupted by Mr. Galvin’s booming voice.

“What is going on here!”, he yelled with a ferocity that I had never heard from him before.

Instant silence, except for the shuffling of feet of students trying to quietly return to their desks where they could feign innocence.

“Everyone who was involved in this, come up and stand at the front of the classroom”, he continued, in a stern but more controlled tone.

One or two students rose from their desks and sheepishly walked up to the chalk board and turned around. I resisted this first alter-call, as did most of the other boys.

“That’s all?!!”, he yelled incredulously.

And that’s when the fingers started pointing. The boys who had answered the first call started calling out their co-conspirators, and a few of the conscientious objectors to the great war began reciting what they had witnessed in such great detail that there was no denying the war crimes.

Ultimately there were about fifteen of us standing up in front of the chalk board with our hands in our pockets and heads hanging in shame over what we had done.

“Hands out of pockets and stand up straight!” he ordered.

He then proceeded to admonish us for this episode. Some key themes of his speech were betrayal of trust, destruction of property, lack of respect, and responsibility. It must have been a good speech because I felt ashamed. During his tirade, I looked around the wasteland we had left behind on the battlefield. The full extent of the damage was not yet known since the water had yet to dry, but there were already many cases of felt marker drawings bleeding and smudging.

He ordered us all to detention that afternoon. I don’t think there was a single girl among us.


Date Night

Beverly sorted the DVDs in the furnace room a couple of weeks ago, and, as a result, there is a stack of DVD cases sitting on the floor of our basement. Topmost in this stack is “Necessary Roughness”, the 1991 football comedy starring Quantum Leap’s Scott Bakula with a talented supporting cast that included SNL’s Rob Schneider (“Fumblaya, Fumbleroosky!”, Deuce Bigalow, etc…), Sinbad, Jason Bateman (Arrested Development), and lots of other familiar faces from that era. Seeing that case reminds me of the first time I saw the film at Willowbrook 6 cinemas on its opening night, way back in 1991.

Ads featuring the catch phrases and slapstick moments from the film started to blitz the airwaves late in the summer between grade 6 and 7.

“I can’t wait to see that”, I said to Ezra, probably while watching one of its TV commercials. “It looks like Major League, but for football.”

“Sergeant Fumblina Wilkerson fumbles the ball!”, he replied, quoting the film.

We recited a few more of the catch phrases, laughing at each other after each impression.

“You should ask Christina to go”, he suggested.

I paused for a moment to ponder the practicality of this idea. Most people don’t know this, but Christina was my first verified reciprocated crush. In case you’re not familiar with that term, allow me to explain.

To borrow a phrase from the Wonder Years, a “crush” is when you “like like” someone.

A reciprocated crush is when you have a crush on someone, and they also have a crush on you. However, you may not know that they have a crush on you – and they may not know that you have a crush on them.

A verified a reciprocated crush is when you have a reciprocated crush, and both parties of the crush are aware of it.

I had had crushes before Christina, and I may have even had reciprocated crushes (unbeknownst to me), but she was my first verified reciprocated crush.

Our story began four months earlier, in Mr. Wiebe’s grade six class. Christina was new to the school, joining our class mid-way through the year. I was just becoming “interested” in girls for the first time, but I didn’t have any clue how to navigate around the obstacles that were blocking the “friend-zone” exits. Christina, being new, was not afflicted with this complication, which was a big feature. And she was pretty.

I decided to make “my move” one May afternoon after school. I was doing a tour of duty as the desk monitor, so I had to stay behind for a few minutes after class with a clipboard to inspect all of the desks to make sure they weren’t messy. If I encountered a “messy” desk, I was entitled to give them a “ticket”. I don’t recall if I made my quota that day, but by the time I was finished, there was just me and one other student left in the class. This was my chance!

I placed my clipboard on Mr. Wiebe’s desk, then proceeded to the cloak-room, where I slowly placed a few things into my bag and donned my jacket. I paced myself so as to exit the classroom at approximately the same time as the other student. We descended the steps outside the door and continued to walk together towards the bike racks at the front of the school.

And that’s when I made my move.

“What do you think of Christina?”, I asked Ben (the other student).

Sure, I could have just talked to Christina directly, but that would have been risky! (What if she said “no”, I just don’t think I could take that kind of rejection! — George McFly, 1955)

I call this move “planting the seed”. It didn’t come from any playbook. I was freestyling.

“Why? Do you like her?”, he replied in an “oooh” tone as if he had a script.

I made a dramatic pause, to make it seem like I was reluctant to divulge this information. Then I responded with “Maybe”.

“Oooh. That means that you do like her.”, he gently teased.

“Well I guess so”, I confirmed. “But don’t tell anyone”.

Mission accomplished! Now all I had to do was sit back and wait until, inevitably, Ben divulged my secret to someone.

Amazingly, things unfolded exactly as planned. Approximately one week later, I was approached by a couple of girls on the football field with tidings of great joy.

“Do you like Christina?”, they asked. “Because she likes you, and she thought that you liked her”.

That was good enough for me. I confirmed to them that I, indeed, liked Christina, and they were free to share this information with her.

Messengers dispatched with my seal, I was free to resume the lunch-time football game that was underway.

Now, if my “playbook” were a physical book, this is the point where I would turn the page only to discover that the next page is blank. Then I would fan through the remaining pages until I reached the back cover, to confirm to my horror, that there were no more plays in this book. I didn’t think I would get this far, and now I was something of a victim of my own success, as I didn’t have any idea how to proceed.

“Should I go talk to her?”, I thought to myself. That would be too eager. Eventually I would have to talk to her, but for now, I reasoned, it was much better to limit communication to smiles and waves. That way I couldn’t say anything wrong. I mean, I might as well stick to the fundamentals that got me this far. I would let my football do the talking. Surely she would notice all of the touchdowns I was scoring during lunchtime games, and that would impress her.

I basked in the glow of this new world for the next couple of weeks. Everything was going smoothly. I still liked Christina, and, as far as I knew, she still liked me, and that was good enough for me. I planned to wait until the perfect moment to spring my first conversation on her. That moment came during the school field trip to Stardust roller rink. I waited until the day was almost over, then I rolled up beside her and asked if she wanted to skate. She said yes.

I held out my left hand, and we began to skate together under the disco lights. Finally the time was right for our first conversation to occur.

I looked at her and said “I don’t really like this song”. And she looked back into my eyes and said “What??!, I can’t hear you”.

I replied with “nevermind”.

With the pleasantries out of the way we proceeded to skate around the oval, as if we were the only two skaters on the floor. I learned later that Ezra and Stephanie were skating behind us for the whole song laughing (secretly) at us.

After the song ended, we went our separate ways.

I learned a few weeks later, through the grapevine, that she didn’t like me anymore. When I inquired why, I was told that she had said that “we had nothing in common”.

“How could she possibly know that we had nothing in common?”, I thought to myself, in dismay. “We had never even really talked.”

I made a mental list of the things that I knew about her to see if I could identify any common interests. I knew that she liked horses. At least I think that she liked horses. I didn’t really care for horses. Didn’t hate them, mind you; I just wouldn’t call myself a horse person.

“Well”, I thought, “maybe she’s right. Maybe we are just too different.” This was a bitter pill, but I had no choice but to swallow it.

Now that you’re up to speed on the “Christina” back-story, I’ll return to Ezra’s suggestion that I should ask her on a date.

“That would be too weird”, I said to Ezra. “My dad will ask who I’m going to the movie with, and if he finds out it’s a girl, he’ll make fun. Why don’t we do a double date thing? You can ask Suzanne or Stephanie, or someone else to go with you, and then we’ll all go together.”

Making it a double date would accomplish multiple things. Firstly, it could be presented in a more casual light, so I wouldn’t have to stand on the precipice of rejection. Second, it was possible that Ezra could open the negotiations, and save me the agony of having to “ask” entirely. And finally, it would make the experience on the date less stressful, as I wouldn’t be relied upon to participate in every conversation. I could chime in when I felt comfortable, but I wouldn’t bear responsibility for long awkward silences.

Ezra agreed, and we put the plan into action. The next day at lunch time, Ezra informed me that he had talked to a few girls, and that the movie was on. Only, it wasn’t going to be a double date as we had originally planned. Four or five girls in the class had already expressed interest. It was just a matter of finding the right matches, since this was going to be a “date night”. Over the next few days matches started to form, and before I knew it, our little double date had grown into double digits, with 5 or 6 couples pledging to attend.

This little idea had transformed into something like a highschool dance with boys trying to summon the courage to ask a girl, and girls patiently waiting to be asked.

A week before the big day, I still hadn’t asked Christina. I’m not sure what I was waiting for. Perhaps I was waiting for a message from the heavens to assure me that the time was right. Unfortunately, when the message finally came it was different than I expected.

“Steven, you better hurry and ask Christina”, Ezra warned me during recess. “I heard that Rob just asked her, and that they are going together.”

“What?!!” I exclaimed, experiencing a small amount of genuine shock. This was my fault. I had waited too long. Part of me was relieved as I was now absolved of my obligation to ask her myself. No rejection required, and I didn’t technically “chicken” out. It was out of my hands. Oh well.

But then, at lunch time, opportunity reared its ugly head. I was warming up in the gym for lunch-time floor hockey, when Rob approached me.

“Steve, can I talk to you”, he asked.

“Yeah, sure, what’s up”, I pretended to not know what this was about.

“I heard you wanted to go to the movie with Christina”, he said. “If I had known that you wanted to go with her, I never would have asked.”

“That’s OK”, I assured him. “I was just too late”.

“If you want, I can cancel with her, so that you guys can go”, he offered.

I had already made peace with my loss, but this offer seemed like it was too good to pass up.

“Wow! You’d do that?”, I replied. “Thanks man”

That set the stage for my second conversation with Christina. That afternoon, she pulled me aside in the back of class. “Can I talk to you for sec”, she asked.

“Sure”, I replied.

For a brief instant I thought that this would be the magical moment when we would, once again, profess our mutual affection for each other, and make it official that we would be attending the movie as a couple.

I was wrong.

“How dare you make a deal behind my back!”, she said sternly. “I am not some piece of property that you can trade.”

She said other stuff too, along the same lines.

The gist of her monologue was that we weren’t going to be going to the movie together. She would be going with Rob per the original plan.

I handled this rejection with grace, since I had already previously accepted this the first time I heard it. And, I could see her point. But now I faced a new challenge. With only 4 days to go until the movie, I still didn’t have a date, and now I didn’t even have any prospects. I suppose I could have just gone by myself, but that would have gone against the entire concept of a “date night”. Everyone had to have a date.

Luckily, on Tuesday, the universe intervened. Suzanne suggested that I should go with Gail because she also didn’t have a date. Gail was nice and pretty, so that sounded fine to me.

Friday was movie night. My dad dropped Ezra and I off at the Willowbrook 6 box office for the early show (7pm-ish). Once inside the door, we saw Suzanne, and a couple of other kids from our group standing watch in the lobby.

“Necessary Roughness is full”, she informed us. “Only half of us can fit in there. So some of us are going to watch City Slickers”.

To paraphrase the late great Hannibal Smith, I hate it when a plan falls apart. I had seen City Slickers a few weeks prior. It was a good movie, but I didn’t want to see it again.

A lesser man might have lost composure upon hearing this news – screamed, cursed, pushed over a popcorn wagon. But I somehow managed to keep it together, while Suzanne continued to brief us on the situation.

“… We have a row blocked off in Necessary Roughness”, she continued, “and there are two seats left….”

“Hallelujah!”, my inner voice screamed. “It’s too bad we have to split up, but at least I can still watch the movie I came to see.”, I thought. This was a silver lining I could hang my hat on.

But then, the boom dropped.

“Gail is already in City Slickers.”, Suzanne added. “She’s saving a seat for you”.

There is a scene in Good Will Hunting where Robin Williams’ character is telling Matt Damon’s character how he met his wife. He had been entering the gates of Fenway park for the historic game 6 of the 1975 world series, when the most beautiful woman he’d ever seen caught his eye as she was walking away from the stadium. It was love at first sight for him, so he relinquished his ticket, and went after her. Damon’s character, astounded by this, asks if he ever regrets this decision. “Not even when she (eventually) died of cancer”, he responds. (Or something to that effect).

Good Will Hunting didn’t come out until 1997, so it was not available to my decision-making algorithm on this 1991 Friday night. Had it come out ten years earlier, perhaps it would have granted me the perspective to see beyond my immediate desire to watch Necessary Roughness. Perhaps I would have chosen to join my date in City Slickers, and it would be such a life changing decision that I would never have any regrets about what I had sacrificed to sit with her. But it didn’t, so I was wholly unprepared for this dilemma.

I could hear the trailers start to play, so I knew I had to make my decision quickly. I mean, I guess I was sort of obligated to sit with my date…. But on the other hand, it didn’t seem fair to ask a man to suffer through a movie that he had already watched when could be watching a new movie – one that he really wanted to see. Furthermore, I continued to rationalize, it wasn’t really like a “date date”. We were all together as a group. Surely Gail wouldn’t mind if we watched separate movies.

In the end, the decision itself wasn’t that hard for me. The hard part was telling Suzanne.

“Since I’ve already seen City Slickers….”, I began. “I’m going to watch Necessary Roughness. Can you tell Gail?”.

Phew! That was awkward. But it felt good to have all of the obstacles cleared. I could now proceed straight to my seat and enjoy the movie with a clear conscience.

Necessary Roughness is more than a movie to me now. It is a time capsule that transports me back to that Friday night in 1991 when we were still kids, but were beginning to explore the waters of the next frontier for the first time.


The Rivalry

The following is my account of one of the greatest rivalries in elementary sports history. It retells the infamous showdown at the 1992 Langley Grade Seven Boys Basketball Championships between Peterson Road’s heroic grade seven team, and the evil grade six team.

Okay, they weren’t evil ;). Enjoy

“Did you hear that Mr. Page entered the grade sixes into the grade seven tournament?”, John declared. There were four of five of us kids gathered in a cluster outside the grade seven entrance of Peterson Road waiting for the morning bell.

“What?!!”, I said in a surprised tone. “Can he do that?”

“Well, he did it”, John replied.

“Hah. We’re going to kick their asses”, a few others chimed in.

I had to take a minute to process this information. My first reaction was one of dismay. “The audacity!”, I thought. “These upstart grade sixes thought they could challenge us?!! Who did they think they were?!”.

Surely this broke some law. I mean, we had dutifully followed the unwritten protocol of “wait your turn” through seven years of elementary school. My mind went back to the dispute we had with some grade-three kids, when we were in grade one, about who got to play on the soccer field. Our case was dismissed with prejudice by the noon-hour supervisor on the grounds that the grade threes were older. As a part of that ruling, we were assured that, when we were in grade three, we could use the soccer field. This dispute was not alone in its affirmation of the protocol that the needs of the older outweighed the wants of the younger.

We had paid our dues, and now it was our turn to be sovereign. These upstart grade sixes thought they could buck this sacred law skip to the top of the food chain. This insolence could not go unpunished.

My second thought was that this was unprecedented! To my knowledge, no grade six team had ever, in the history of elementary school sports, been allowed to compete in the grade seven tournament. At least not of the school already had a grade seven team.

Better fact-check that, I thought, as my historical knowledge of elementary sports was limited to the past three years and spanned only a couple of schools.

“Has a grade six team ever been allowed into a grade seven tournament before?”, I asked the wikipedia of the day (aka John, Steve, Ezra, and Pat).

“Nope”, they said.

It was confirmed. Unprecedented in the history of sports. Which leads me back to my first thought again. “The Gall!”

If I’m honest with myself, however, the most unsettling aspect of this news was that the grade sixes were pretty good. “What if they beat us?”, I thought. I’m sure this same thought crossed the other boys’ minds as well, but none were foolish enough to express it.

I had been teammates with most of the grade six boys at one time or another. Several of them had been on my baseball teams throughout elementary school. A few of them lived in my neighbourhood, so we would often play street hockey and tennis together. During lunch-time football, we would frequently scrimmage against them, and one of them even played on our (grade seven) team when we were low on players.

They were fast and athletic so I wasn’t immediately confident that we would beat them in a head-to-head matchup.

As a thought experiment, I imagined a pick-up game combining both grades, where I got to “draft” my team. Who would I pick?

Well, my first pick would probably be Quinn, as he was our best player. Quinn was tall and lanky, with a shoe size that hinted that he was going to grow a lot taller. He could jump, dribble equally well with both hands, and make highlight-reel lay-ups from both sides of the hoop. His dad was very tall, and had coached several of our basketball teams throughout elementary school. If he wasn’t on the courting shooting hoops, he was probably carrying a basketball en route to a court.

Having chosen a grade seven as first pick in this fantasy draft, I felt a little bit better, but the subsequent picks weren’t going to be as easy. We had a good crew. We had played together for years in multiple sports, and we knew each others’ strengths and weaknesses well. I could think of four or five good choices for the second pick. Pat, Chad, the other Steve, John, Ezra, Chris. All were good players who I trusted with the ball. But…. I can also think of one or two grade sixes who, If I’m honest, deserved the second pick over my trusted mates, and an additional four or five who would be solid third picks. So it is conceivable that four of the five starting spots in the “dream team” would be filled by grade sixes.

“But we have a height advantage”, I tried to convince myself, “and the experience”. Our sheer will to win would be the difference. We got this.

As far as I recall, the grade six boys were gracious about the situation. They were all good kids, and we got along well with each other. I suspect that if the roles were reversed, we wouldn’t have been as respectful. But they didn’t need to say it out loud – the threat was palpable, and the stakes were high, but asymmetrical. They had nothing to lose. We, on the other hand, had everything to lose. If we allowed to the grade sixes to come into our tournament, and beat us, it would have been demoralizing.

On the first day of the tournament, we arrived in the DW Poppy Secondary gymnasium as a team. The schedule was posted on a portable bulletin board, the kind with wheels and a chalkboard on the back. There were about ten schools listed. I overheard some players from other schools wondering out loud about the fact that Peterson Road had two teams. I thought about explaining it to them, but decided not to. Better to leave them guessing. Information is power!

We had played against most of these schools during the regular season, and I felt confident about our chances. In my mind, only two teams mattered. Langley Central had a kid named John MacDonald who was, hands-down, the best player there. He was five foot ten, and, like Quinn, could dribble equally well with both hands. He didn’t need to jump at all when shooting free-throws, and his three-point percentage was better than most boys’ layup percentage. He was a complete player, who could have been playing senior ball. Because of him, Langley Central was the team to beat.

The other team that mattered was, of course, the grade six squad. In our eyes, it was the only game that mattered. If we managed to run the board against all the other schools, win the championship, appear on TSN for interviews, and be congratulated by the Queen for our achievement, but lose to the grade sixes, we would feel obliged to retreat to a dark corner and curl up into the fetal position, never to be seen again. Yes, it was that important.

As with any tournament, it was possible that we wouldn’t end up playing the grade sixes at all. They could have been placed into a different pool, and then we would only play if we both made it to the finals.

“We play Langley Central second! On the main court”, Chad shouted, looking over his shoulder with his index finger on the schedule, “and then the grade sixes, in the small gym”.

So it was official. Game On!

After winning our first game, we assembled on the main court to start our warm ups for the game against Langley Central. We started with layup drills.

This gym had a completely different feel than the elementary school gyms we were used to. The hardwood floor was a little bit less bouncy than the linoleum I was used to, and the plexiglass backboards were a bit more bouncy than the wooden ones we had. The gym was two to three times the size of Peterson Road’s. It had actual stands where spectators could watch, and a large electronic scoreboard mounted near the ceiling. This was the big time.

After our warm-ups, we returned to the bench where our coach picked a starting lineup. The chosen five stayed on the court, and the rest of the team took their place on the bench. The five included Chris and I sharing guard duty, Quinn in the middle, and Pat and John on the wings.

In professional basketball, they usually have a starting five players, and individual players may be substituted out in the course of the game when a starter needs a rest, or runs into foul trouble. The coach may also make a substitution if they want a particular match-up. In elementary school, however, our substitutions worked more like line-changes in hockey. The starting five would play a few series before being replaced by the second line, followed by the third line, etc..

This made for some dramatic momentum swings in games, as the skill-level of different lines vary wildly.

Quinn lined up against John MacDonald for the tip off to start the game. They won the jump ball, MacDonald tipping it back to their point guard, who took a couple of dribbles before passing it back to MacDonald. A couple more passes, then back to MacDonald under the hoop, who dropped in an easy lay-up.

Not a great start. But now it was our turn.

Chris in-bounded the ball to me and I took it up the court. I saw John open on the right side just inside the three point line, so I bounced it over to him. He gave a quick head fake to the defender then took it to the hoop, where MacDonald was waiting for him. A little fake to the left and then an underhand layup made it up to the rim. After a couple of rattles around the rim it dropped for a basket and we tied at two. We got this.

A few minutes later, with the score seven to two, Langley Central did a line change, and their star player was replaced by a new squad. I found it puzzling that they didn’t just have him play the entire game. With him on the bench, we clawed our way back into the game. A few minutes later, with our team up now ten to nine (or thereabouts), their top line was back on the court, and momentum changed again.

This pattern continued throughout the game. Their top line would run up the score, and then we would inch our way back against their second line. When the final buzzer sounded, though the score was close, we were a couple of baskets shy.

This loss didn’t phase us terribly. We knew what we were up against and the score was close enough to make us feel like we could turn it around the next time, which we assumed would be in the finals.

On to the main event – the only game that mattered – in the small gym.

This gym felt more comfortable than the main gym, as its size was closer to what we were used to. It still had a hardwood floor, plexiglass backboards, and an electronic scoreboard. But it was a newer gym (about 3 years old), and the floor felt a little bouncier. The lighting was also a little brighter than the dull lights of the main gym.

After the pre-game warmups and rituals, both teams assembled on the court for the tip off. Our team wore the white side of the school’s invertible jerseys, the grade sixes were wearing grey and burgundy T-shirts. A moment of calm before the storm as the referee prepared to toss up the ball to start the game. Our height advantage secured an easy victory on that first jump ball – and on most of the subsequent ones.

Unlike the Langley Central game, which was a series of momentum shifts, this game was see-saw. Back and forth. They would score, then we would score. We would stop them, then they would stop us. We went into halftime in a virtual tie – which was too close for comfort. Things were a little bit tense. Players who made mistakes were informed of them by certain other team-mates – just in case they weren’t aware that they weren’t supposed to miss that last layup.

This pattern continued into the second half, while intensity continued to rise. With under thirty seconds to go, we were down by a point. I was watching from the bench as Chad dribbled the ball up the court and the team set up the offence. The sixes were playing tight defence with everything on the line. We passed the ball around the perimeter but couldn’t find an opening. Twenty seconds left. Finally someone got an open shot. Fifteen seconds… the ball arced through the air, our hopes attached to it … 13 seconds… It went off script and bounced off the front edge of the rim and returned to flight, back into the court. 11 seconds. Luckily the rebound found its way into Pat’s hands near the free-throw line. Pat, who was one of our most reliable shooters, made no mistake with it. He stepped forward and released a shot that resulted in a swish.

We all cheered loudly. Everyone on the bench was on their feet, with arms in the air celebrating what was looking like a sure victory. I glanced up at the scoreboard for some assurance. 8 seconds, 7 seconds.

The game was not over yet. They passed the ball in, and started down the court with urgency. With only a few seconds remaining they knew it was all or nothing here. The guard threw up a “hail mary” to their forward near our freethrow line. I watched in horror as the pass was completed, and their player (I don’t remember who), turned to the hoop, and started his attack run. Two dribbles, a step and a half, and he was going up for a lay-up, but at the last second, Chad, dove in from behind and got a piece of his arm just before releasing it.

“Foul!” yelled the ref.

And so, with the score thirty-nine to thirty-eight, for us, and three seconds left on the clock, a grade six was going to the line for two free-throws.

The coach decided to substitute in all of our tallest players at this point to make sure we got the rebounds, so Chad was out, as he was one of the shorter players. I could see tears running down his face as he sat down.

“What’s wrong?”, I asked.

“I lost the game for us”, he said frantically. “It was my foul. If he sinks these, it’s my fault!”.

He was too agitated to sit, so he started pacing the sidelines.

“Hold on a minute”, I said. “If you didn’t foul him, he would have sunk it for sure, and then we would have lost already. This way we still have a chance.”

That seemed to calm him down, and our attention shifted to the court where everyone lined up for the first shot. We watched as the ball traveled toward the hoop, and… bounced out.

An eruption from our bench. Everyone was already on their feet, but now we were jumping and screaming. We had evaded the immediate danger of losing, but they still had a chance to force the game into overtime.

The referee bounced the ball back to the grade six’s hands. The gym got silent. You could cut the air with a knife. Everything was now riding on this one young boy’s shoulders (I really wish I remember the name of the boy – if anyone reading this knows, please share). He bent his knees and raised the ball up to shooting position, then launched it toward the hoop. This time, after bouncing around the rim for a second, the ball decided to drop through the hoop, and just like that, we were going to overtime.

Having been one shot away from victory, I could taste disappointment in my cocktail of emotions. But it was a new game now, and we were going to come out guns blazing.

The electronic scoreboard was updated to read “5:00”, and the ref called the game to order again.

This overtime frame followed the same pattern as the rest of the game, with back and forth action. However, we managed to go up by a couple of baskets early, and we retained the lead throughout. Truth be told, I don’t remember very much about overtime, as the real and memorable drama had already played itself out in regulation time. When the final buzzer sounded with us ahead on the scoreboard, we all rushed the floor to celebrate.

We recounted the memorable moments of the game to each other in between hugs and high fives. “Thank God”, I confided to Ezra, “I did not want to lose that game”.

“I won the game for us!”, I overheard Chad say during the celebration. “If I hadn’t fouled him, they would have won.”

After a short celebration, we lined up for the customary show of sportsmanship to shake hands with our fallen foes – our friends. The optimists among them threw in a “See you in the finals” along with the usual “good game”, but I could see the disappointment in their eyes. The emotion was still raw.

We didn’t end up winning the championship that year. We lost our semi-final game against Wix Brown the next day, which relegated us to a fourth place finish in the tournament. Disappointing as that was, it didn’t really matter that much. We had accomplished the most important feat and could return to Peterson Road with our heads held high and our rightful dominance still intact.


The Go Kart

Another true story from my childhood, that I call “The Go-Kart”. Enjoy:

I wheeled the Go-kart out from behind the shed. One could be forgiven for thinking it was a dune-buggy with its two rear tractor tires, its heavy-duty metal frame and roll bar. But it wasn’t a dune buggy. It was a go-kart – our go kart. My Uncle Ray had built it for us a few years prior, but it was never completed. In its current state, I suppose, it would be more correct to call it a soap box since it’s motor wasn’t functional. But I prefer to define things by their potential, not by their shortcomings, so I’ll call it a go-kart here. But I digress.

The seat was a single, curvy piece of lime-green fiberglass that was moulded into the shape of a cock-pit. It looked a little bit like a bathtub with a high back and a steering wheel. The steering column was moulded into the fiberglass’ contour, protruding up in the center, so that, when sitting in the driver seat, you would slide your legs into position on either side of it – the right foot on the gas pedal, and the left foot on the brake. Behind the seat, on the frame, was mounted a lawnmower motor.

The front wheels, in contrast to the rear tractor tires, were smaller (about 8”), rounder, and far less grooved. They looked like proper go-kart wheels.

She had been collecting dust underneath the lean-to roof behind our shed for years. Occasionally we would pull it out and push it around for a bit, but it was hard work because of its weight, so it mostly just sat waiting for the day when we had the wherewithal to get it “working”. Today was that day. Today was the day that my friend, Ezra, and I were going to finally take her out for a spin.

It was the summer after grade 7, and we had plenty of free time to tinker with the go kart. We had a goal, which was to “fix” the go kart’s engine, which had never been operational, but the plan was half-baked at best.

Ezra yanked on the engine’s starting cord a few times. It didn’t start, but it sounded like it almost did.

“I think we just need to pull faster. If we pull fast, and then let it go real quick, I think that’ll get it going.”

I gave it a couple of feeble pulls with no success, then Ezra took over again. Ezra was bigger and stronger than me, he was usually assigned these brute-force tasks.


“Check the gas”, Ezra said, “maybe it needs more”.

I found the grease-covered gas cap on the top of the motor and turned it to take a peek inside.

“Is it empty?”, Ezra asked.

“I dunno. Can’t tell. Too dark”.

Just to be sure, I fetched the jerry can from the back of the shed that we used for the lawnmower, and topped up the gas tank.

“That oughta do it.”, I said as I twisted the cap back on then wiped my greasy palms with my jeans pocket.

Ezra dug in with his foot on top of the go kart’s metal frame so that he could pull extra hard, then he gave it a tug.

The engine turned and sputtered a bit as the cord was pulled out, but it refused to add its own force and, like all the times before, just whirred down to a stop again.

“Maybe it needs to have a chain”, I said, pointing at the naked gears of the motor that were clearly intended to link up with the rear axle.

I thought for a minute, while Ezra continued to tug on the starting cord. Where could I find a chain? Hmm… Then it came to me. Our old swing set had chains that were used to connect the swings to the monkey-bar frame. Perhaps I could use that chain to link the gears of the motor and axle.

It took a bit of digging in the garage, but after rummaging through a dozen or so drawers of junk, and screws, and old light switches, I finally found the chain that I was looking for. This chain wasn’t the kind of chain that would typically be used in motors. This chain was more like the ones that they used at Zellers to rope off a closed checkout lane. I recognized that it wasn’t quite right, but I still naively hoped that it could be adapted. MacGyver once made a record player out of an Earring. If he could do that, then there was a chance, even a tiny one, that I could make this chain work.

Ezra took one look at the chain, and said “That’s not going to do it. It’s the wrong kind of chain”.

“I know”, I said, “but….”. I trailed off as I began my futile, and frustrating attempt to fit this square chain onto the round gear.

Ultimately I was forced to concede defeat to my cruel and humorless opponent, also known as reality.

This was a set-back.

We stood there for a moment, trying to think of an alternate solution. We had been planning for today. The goal was to take the kart out for a ride, and we weren’t going to return empty-handed. But without a working motor, there could be no “ride”.


“The walkway!”, I said excitedly, referring to the fire lane at the end of the cul-de-sac. If we could push it up to the top of the hill, we could let gravity be our engine. Just let it roll down the hill and hang on tight.

“And it’s closed off to cars, so it would be “safe”, I added.

Small detail, but relevant here: The go-kart, despite having a brake pedal, had no working brakes. “No matter”, we reasoned. “The bottom of the fire lane leveled out and should give us plenty of time to coast to a stop before we hit traffic.”

We discussed all of these safety concerns with sober consideration, and decided unanimously to proceed.

We used our combined might to roll the kart out of the back yard. Ezra walked along side of the driver seat and applied pressure on the steering wheel so that he could steer.. I pushed from the back, both hands on the frame. The first few hundred yards went smoothly because it was mostly level ground.

My house was situated at the “bottom” of our neighborhood. The entrance was at the “top”. By this I mean that if you drive into the neighborhood, the road follows a steady descent in the shape of a wishbone. When you reach the cul-de-sac at the “end” of the neighborhood, you find yourself at the bottom of the hill, and as proof of this, there is a rather dauntingly steep walkway at the end of the cul-de-sac, which leads directly back up-hill to the entrance of the neighborhood. If not for the fallen tree branches littering the path, and its rounded hockey-stick shape, this walkway would have made a fine venue for Olympic ski jumps. There was even a storm drain about three quarters of the way down that made for a perfect jump.

I used to love riding my bike down hills. I would take my hands off the handlebars and hold out my arms like a bird stretching its wings as the force of the wind blew against my body. I was a kite flying in the wind. But I never dared to ride my bike down this walkway. Too steep. Too narrow. Too crazy for my blood. And my bike had brakes.

We rolled the kart to the entrance of the walkway with ease. We were slowed for a moment while we steered around the gate posts, which had presumably been installed to prevent people from taking vehicles onto the walkway. The kart’s steering worked, but it was a little stiff, so it took a couple of attempts to thread the needle, and soon we were cruising again.

To make things fair, Ezra and I switched positions. I took the steering wheel to guide us up the landing, or the “blade” part of the hockey stick shaped run. Once we started rounding the heel, things got far more difficult, and we both had to push from the back to maximize our effective power output. From here on up, every step of the climb would be hard fought. I’m not sure how heavy the go-kart was, but it had to be at least a few hundred pounds. The frame alone was heavier than Ezra and I put together.

We reached the storm drain, and rested the go kart on the ledge that it formed so that we could take a short break and collect ourselves for the remainder of the climb. Beads of sweat were dripping off my brow and down the ridge of my nose. I looked back at the ground that we’d covered, then I looked up at the path ahead, and felt, for a moment, like we were in over our heads. Only a hundred yards to go. Maybe a hundred and fifty. But when every step is a battle, a hundred yards feels like a mile.

Luckily we had nothing else on our schedule for the day, so the length of the climb didn’t matter. If we kept pushing forward, eventually we would get to the top. And we did.

I recall an immense feeling of accomplishment as we approached the top of the path. We reached a second set of gate posts there, but we didn’t have to steer through this time. We carefully performed a 9 point turn with the kart and rolled it to the starting line. This is where we finalized the details.

It was already decided that Ezra would drive. I would stand on the back frame and hold onto the rollbar. We didn’t go immediately as we were exhausted from the climb, and wanted to rest. We also wanted to take in the experience for a while before moving onto the next thing. I suppose we were also a little scared. But what was there to be scared of really?

To recap, there were no brakes. Neither of us had helmets. I don’t recall if there was a seat belt, but if there was it would have been a loose-fitting lap belt. From one perspective, these details demonstrate a clear cause to be scared. But, looking at it another way, it demonstrates that we didn’t consider these things to be important, and thus, we didn’t think there was anything to fear.

We went in with eyes wide open. Before finally deciding to launch, we both took a last look down the path.

“That curve might be tricky”, I said.

“Yeah.”, said Ezra. “I’ll try to take it wide”.

“And watch out for that storm drain”, I warned. “If we hit that, I’ll go flying off the back for sure.”

We laughed for a minute at the ridiculous image of my flying through the air, arms flailing. We made up a few scenarios like the kart flying off the cliff and into the ravine. (Did I mention that the walkway had a cliff on one side with a hundred and fifty foot drop down to a river).

“That would suck”, we both agreed.

“We’d never be able to get it out of there.”

And we laughed some more.

Then things got serious as we prepared ourselves for the final countdown. We backed up the kart as much as we could, then Ezra climbed into the driver seat. I pulled on the back of the frame to prevent a premature start.

“Three, two, one…” I counted down.


I gave it a little push – a very little push as I wanted to make sure I was still able to climb onto the back before it gained too much velocity. It started to roll, so I jumped up onto the frame, and held on for dear life.

There’s a scene in Indiana Jones and the Last Crusade where the Nazi opens the hatch of the army tank just as it is about to roll over a cliff. This was me after about the first twenty feet, so I bailed out. But the kart continued, with Ezra at the helm.

The uncontrolled acceleration I felt in those first few yards had ignited a new fear in me, as I realized that brakes were a good thing. And a lack thereof was a very, very bad thing. I watched from the top of the hill as Ezra swerved from side to side and his momentum increased. The steering was a little tricky, and we’d never tested it at these high speeds before. Perhaps that is why Ezra’s plan to avoid the storm drain and take the curve “wide” didn’t pan out. Or perhaps he thought “what the hell!”, and decided to take the drain head-on. Whatever the reason, he went directly into that jump, and the kart was catapulted 5 feet into the air. I watched for that short eternity as Ezra and the cart sailed through the air.

Amazingly the cart stayed level, and straight. Unfortunately, the path began to curve underneath him, so that the further he flew on his trajectory, the closer he came to the curb.

The run had begun as “Days of Thunder”, but had suddenly morphed into “Top Gun”. Its success hinged on Ezra’s ability to land the aircraft. In slow motion, the harrier jet descended on the runway, inching closer and closer to the edge. And just when it looked like a spectacular crash was inevitable… he landed it! It touched asphalt just inside the curb which served as a sort of roller-coaster rail, guiding the kart around the heel of the hockey stick and into the home stretch. At the moment of touch-down, the universe returned from its suspended animation to a sort of “Three-stooges”-like fast frame mode. (You know, the effect where they speed up the film speed to make it look like the characters are running really fast, and movements become comically jerky). The friction from the tires scraping against the curb caused Ezras head to appear to bobble back and forth, like a small child hanging onto a jack-hammer.

I ran down the hill, screaming “Oh my God!”, and as the go kart started to decelerate on the landing, my fear converted itself into elation.

“That was awesome!”, I yelled. Still running down the hill.

When I reached the bottom, we celebrated briefly, and shared with each other what the view was like from our respective seating positions.

“You got so much air, man!”, I said. “Like 10 feet.”

“Yeah”, said Ezra with an air of new-found experiential wisdom, “I didn’t think I was going to land that”.

“You could have been killed”, I exclaimed, not stating the obvious at all.

I don’t remember who said it, or if it was said out loud at all, but we both heard it.

“Let’s not do that again.”

SSD Upgrade on my Windows Box

I have a Windows 10 box that I used for Windows development. I generally use Microsoft Remote Desktop to remote into it from my main development machine (a Mac Pro). The windows box is running a 6-core AMD FX6300, with 8 gigs of RAM and a 1TB HDD. It is dog slow, but it does the job.

I’m in the process of trying to build CEF (Chromium Embedded Framework) from source. It has been a difficult process on every platform, but I saved Windows to the last. The build instructions are involved, and it takes hours of compiling and downloads before you hit an error message, so it can take some time to get it right. So far I’ve been working on the Windows build for about 2 weeks (!!).

All of my attempts so far have failed with strange errors that even Google doesn’t know what to do with. My next strategy is to try out this docker repo set up for the CefSharp project.

The requirements for building CEF with this are staggaring:

At least 20GB of ram dedicated to this would recommend 30GB total with page file to make sure you don’t run out (older builds like 63 were 32GB with 40GB total). You can have any amount of that 20/30GB as a page file, just beware the less actual ram the much slower linking will be.

My 8gigs of RAM totally would not be up to the task.


So I went on Amazon and bought 16 gigs of RAM, to top my box up to 24 gigs, and I picked up a 1TB SSD. I have long been frustrated by how slow this computer is, and I have the same class of CPU (FX6100) running on UBUNTU and it runs lightning fast. So I’m guessing that the hard drive is the bottleneck.

Physical installation was no problem for both RAM and SSD. All I needed to do was to clone my old HDD onto the new SSD. I thought this was a formality, and surely Windows would have a built-in tool to do this like Mac and Linux do. Boy was I wrong!

Windows doesn’t seem to have a built-in way to clone a drive. You need to download a third party tool. A google search contains many suggestions for such tools, but many were out of date – pointing to software that used to be free, but now is not free.

I added “Open Source” to my search queries to try to find some open source solutions, and found a few – all of which were linux apps, which you were directed to install onto a USB flash drive to boot your computer with.

I created such a boot flash drive with Tux bootloader (which uses CloneZilla), but was unable to get my computer to boot to it. It took a while to get into the BIOS at all as none of the BIOS keys I tried seemed to work. Turned out I needed to connect my PS/2 keyboard in order to access the BIOS – USB keyboard won’t work.

Finally, after a lot of futzing around, I found AOMEI Backupper which seems to clone disks in its free version. It’s running right now as I type, and it had a pretty straight forward interface.

I still find it mind boggling that Windows doesn’t include this functionality with a built-in tool.

IMG_7163 copy

The Advent Calendar

This post is another in my series of personal anecdotes and reflections from my childhood. If you read my blog for my posts about Software development, you can safely disregard this 😉

Christmas is one of the most memorable parts of childhood. There is a sort of lifecycle and growth pattern to the child Christmas experience. The first 3 Christmases you don’t really know what’s going on. You don’t really think about it, or plan for it.. You just wake up one day and find that there are a whole bunch of presents for you. For the fourth Christmas, you’re more aware. At least, I was more aware. That was the year that I started snipping the toys that I wanted out of the Sears Catalog, and started to look forward to the traditions, like watching Rudolph the Red-nosed reindeer when it aired in early December.

The 10 years that seemed to pass between my fourth and fifth Christmas gave me plenty of time to prepare. I decided, this time, not to cut anything out of the Sears catalog so as to preserve its integrity. The snippets I had cut out the year before (of He-man figures, race car track sets, and the C.H.I.P.S. ride-on motorcycle) didn’t fare well, and likely found their way to the garbage prematurely, leaving a completely dysfunctional catalog with everything except the stuff I liked. I would continue this discipline (of NOT cutting up the catalog) for every Christmas thereafter.

In my sixth and seventh Christmases, I began to grasp just how much time elapsed between them. While it still felt like the sixth would never come, when it finally did come I decided that the wait was objectively shorter than it had been for the fifth. And the wait for the seventh, shorter still.

Still, time would seem to seem to stop on Christmas eve. I recall lying in bed, looking out the window at the snow falling through the street lights and trying so hard to to fall asleep because I just wanted Christmas Day to arrive. I imagined that falling asleep was like entering a time machine that would beam me directly to Christmas morning. In entertaining these thoughts, I stumbled into my first ominous glimpse of mortality. if only for a brief moment, I was keenly aware that all would come to pass if I wait. Christmas day would come soon enough, and so too would the next Christmas, and, in fact, all the moments of our lives would surely come and go – both the things we dream, and the things that we dread. It was lying here in bed on Christmas eve, that I first imagined, deep in my mind’s eye, the day that my dad died.
But that wouldn’t happen for a long time. For all intents and purposes, an eternity would pass before I saw that day come. Although these thoughts feel like the distant past to me now, it does not feel like an eternity has passed. But I guess that is the enigma of time. A single moment can last forever, while a lifetime can pass by in what seems like an instant.

Fast forward to 1987. By this time I was a pro at Christmas. I knew exactly when the Sears catalog was expected to arrive in the mail, and when the TV Times came out in the first week of December, I would highlight all of the christmas specials that I didn’t want to miss. I was among the seven grade threes in Mrs. Toth’s three/four split class that year. For those familiar with Peterson Road, our classroom was the end room of the east wing of the school with windows facing north toward the tetherball poles and intermediate playground. The back corner of the classroom was the reading area where we would gather for group activities such as non-silent reading and interactive lessons. In December, this was also the location of a daily ritual where a student would be chosen to open a door in the Advent calendar. This lucky student would get to keep whatever was hidden behind the door. For a grade three, this was a lot of fun. With each door opening, we were a day closer to Christmas. Translating time into this visual format makes it more tractable somehow. I mean to an eight year old, it can be hard to quantify how long 3 weeks is, but it was easy to see that, when only 3 doors remain in the advent calendar, we’re getting really close to Christmas.

Mondays were extra special because the doors for Saturday and Sunday would be opened as well – meaning there were three lucky student helpers on those days; but more importantly, we were three days closer to the big event.

When my turn came, I was hoping secretly that the prize behind my door would be some candy other than chocolate as I was allergic to chocolate. Unfortunately that was not to be. I got a chocolate just like everyone else. I didn’t mention that I couldn’t have it. I just put it in my pocket, and sat back down. I didn’t really mind. I was just happy to have a turn.

I’m sure I’ve participated in the opening of many advent calendars since this one, but none are so memorable for some reason. I’m not sure why that is. It could be because this was my first exposure to the Advent calendar (as far as I recall we didn’t do them in my family). It could be because I was at the peak age for appreciation of such things. The spirit of Christmas is palpable at that age. And I would bask in anticipation for the entire month of December, so anything that fueled that build-up would make an appreciable impression on me. The secret may also lie in aspects that escape my conscious memory, but have embedded themselves into my emotional memory. For example, I think this ritual was combined with other Christmas activities such as reading Christmas stories and poems, like “‘Twas the Night Before Christmas”. Whatever the contributing factors, they have congealed into a perfect snow-globe memory for me.

Thank you, Mrs. Toth for making that Christmas season just a little bit more magical.


The Hustler

I was never much for gambling, but there were times when I wanted to be. The movies made it look like so much fun. A popular plot device in 80’s film and television was for the protagonist to win an improbable jackpot on a horse race or card game to usher in a happy ending, against all odds. Maverick comes to mind but there are countless other examples. I even watched a Highway to Heaven episode that featured this device – though it was framed as the power of God putting his thumb on the scales of probability.

As a child, I understood that television wasn’t real, but I still believed that it was a relatively accurate reflection of reality. I understood that there was no actual person named Brett Maverick who won a poker tournament by wishing real hard for an Ace of Spades. But I believed that there were people like Brett Maverick, and that, while pulling the exact card he needed at the climax of the final poker game was improbable, it was still possible.

With this as a backdrop I’d like to share a short story about the time I got hustled by my sister. I was probably 11 years old, which would make her 13. We weren’t avid card players. We would play games like 31 and crazy eights during camping trips, but we didn’t often play at home. And we didn’t often gamble. We were kids, after all, and didn’t have any money of our own to speak of. The few times that we did incorporate gambling into our card play, it would be in the form of buttons from our mom’s spare buttons bag. (E.g. I’ll see your button, and I’ll raise you two buttons).

For whatever reason, this one time, we started playing card games for real money. I must have had a few dollars that I earned from allowance or doing chores. I don’t remember exactly what the game was. It wasn’t poker. It was probably 31. We started out betting for small change. I lost. She offered “double or nothing”, and I agreed.

As the losses mounted, I started to feel the temperature in my ears and head rising, and I began to worry that I had lost more money than I could comfortably afford.

“Do you want me to loan you more money to bet?”, she asked, after I was out of money.

Of course! I needed to win my money back. So she loaned me more money. And I lost again.

At this point I was in way over my head. Not only had I lost all of my money, but I now was in dept to her for substantial amounts of money. I don’t recall dollar amounts, but I remember thinking that it was so much money that I would never be able to pay off the debt.

There had to be a way out. I wished I had never started this foolish game. If only I could return to the moment just before we started betting. I decided to take my case before the court of “Mom”.

“Mom”, I said, “We’re not supposed to be gambling at all. So Erin should have to give me my money back, right?”

“No”, she said. “If you agreed to it, you have to pay it. This will be a good lesson to you about gambling.”

I’m sure there was some back and forth on this – as I surely would have attempted all angles to get this debt cancelled. But effectively, my appeal was denied. My debts would not be cancelled – at least not by this judge.

It all seemed hopeless, until my merciful sister offered me a way out.

“Steven, I’ll give you another chance to win your money back, with one more bet”, she offered.

“What’s the bet”?, I asked, skeptical – but frankly full of naive hope that this could be the stroke of luck that changed my fortunes.

“I’ll bet you that Charlie Sheen and Emilio Estevez are brothers”, she replied.

Now, before I go on, please understand that in 1989/1990, Wikipedia wasn’t a thing. Also understand, that in my world, brothers always had the same last name. I mean, do the math. Brothers with the same dad (I clarified that they had the same dad before proceeding into the bet) should have the same last name, right? Right??

Having done the math in my head, I said “You’re on!”

And for about 2 seconds, I was sure that I had managed to climb out from under this mountain of debt. Then:

“You’re wrong. They’re brothers.”, she said.

“No they’re not!”, I said.

Eventually this went to the panel (my Dad), who confirmed that Emilio Estevez and Charlie Sheen were, in fact, brothers.

I’m sure that I accepted this decision with a Trumpian display of grace and class.

There’s a silver lining to this tragedy, however. The following year, “Men at Work”, starring Emilio Estevez and Charlie Sheen, was released, which gave me ample opportunity to share this fun piece of movie trivia.

“They’re brothers, you know”, I would say to anyone who would listen.

The Fight

Normally I use my blog to write about software development, but I’ve decided to branch out a bit with this entry. In order to help my fading memory, I’ve decided to try write about small episodes that I can still remember from my life so that I can “record” them for later.

The ones that are suitable for public consumption, I may post on my blog.

So the first instalment of this follows:

The Fight

Everyone loves a good fight. Or at least all men enjoy a good fight. Or, at the very least, all boys love a good fight. So when word spreads that two boys are going to get into a fight at lunch time in grade 7, everyone marks it on the calendar.
I don’t recall the reason for the fight, but it didn’t really matter. All that mattered was that Trevor and Kris were going to have a fight at lunch time. Real fights were a very rare and precious thing. Of course, we were all experienced “play” fighters, but that was different than a real fight. The fact that we had never had a “real” fight at school didn’t didn’t feel like a fact at all. Television had provided us with vicarious memories of countless “real” fights, so I felt like I was a veteran at this fight-watching game.

At 5 foot 10, Kris was the tallest boy in my grade, but not particularly stocky. Trevor was more typical in height. Frankly I don’t remember what a typical height was for a boy in grade 7. I know Kris’ height because he was the tallest. I was 4’11”, which I remember because I was, well, me. And because I was one of the shortest boys in my grade consistently up to that point. I even had the honor of holding the class placard during class photos a few times. So when I say that Trevor was a typical height for a boy that age, I would guess he must have been between 5’2” and 5’6”.

Given the height difference, the smart money was on Kris winning the fight. There was no talk about what the rules were. At least that I can remember. Fight rules were considered self-evident to a 12 year old boy. We imagined that the fight would be over when one of the boys was knocked down or started crying, or “tapped” out. Having grown up with a steady diet of Rocky, I didn’t imagine a “knock-out” was a real possibility. Despite my Dad’s insistence that no human being could withstand the kind of punches that Rocky took by the dozen – I preferred to believe the humans could take 15 rounds of heavy-weight level punches to the face and walk away with only a few bruises.

The morning of the fight, every boy in Ms. Rempel’s grade 7 class was looking up at the clock more frequently than usual. We were counting down the seconds to the 12 o’clock lunch bell so that we could attend the highly anticipated “fight”. Finally, the bell rang so we could get our lunches from the cloak room. Only 15 more minutes… we had to eat our lunches inside the classroom. The 12:15 bell signaled that it was time to go outside to fight… er.. play.

As I mentioned before, this was the first scheduled fight that had ever happened at Peterson Road, so there was no protocol in place. No agreed upon time or place. Only an agreement that it would happen. The first 10 minutes of lunch were spent wandering around the field with everyone asking each other if they knew when or where it was happening. Pairs of us roamed the field, then merged with other pairs and continued roaming as a group until most of the grade 7 (male) student body was roaming the field together. We settled on a venue near the back of the field. Somewhere sufficiently remote that the school supervisors wouldn’t notice what was going down. At some point the group fanned out into a circle to give the combatants a makeshift ring inside which they could safely “fight”. For a good long while, though, Trevor and Kris just stood there at the perimeter of the ring, both acting shy, as if this were an elementary school dance where the boys and girls just stood on opposite sides of the gym – too shy to ask anyone on the other side to dance. At least that’s what our elementary school dances looked like, but I digress..

At some point someone, probably John, said “so is there gonna be a fight or what?”. John was always good at frank ice-breakers. Trevor slowly approached his taller opponent and wound up with a punch

Truth be told, this happened nearly 30 years ago, so I can’t provide an accurate blow by blow. I do remember that each boy landed at least one punch, and the consensus was that Trevor had fared much better than we expected – and in fact may have even won the fight. It was not a stellar display of martial arts skills. It resembled a hockey fight, where both players spend most of the fight all tied up in their own jerseys. Neither fighter had any ground game, which would have come in handy once it morphed into a wrestling match with Trevor and Kris rolling around on the grass.

Unfortunately, our fighting circle was not as inconspicuous as we had hoped. It only took a minute or two for the noon hour supervisors to descend on us and stop it. Trevor and Kris were pried apart. No big bruises. No blood. Both had red faces partly from the exertion, and partly from having taken a blow or two to the face.

After Kris and Trevor were led on a perp walk to the office, some of the rest of us were summoned to principal Swoboda’s office as well.

Now, in my recollection, there were between 5 and 10 of us in the principal’s office, waiting for him. In retrospect, that number doesn’t jive with my earlier image that the “entire male grade 7 student body” was attending the fight, as there were about 30 boys in my grade. I can think of a few explanations for this discrepancy, but in any case, there were 5 or 10 of us in the principal’s office. I remember specifically Steve (the other Steve), John, Ezra ,and Quinn, but there were others.

Mr. Swoboda, always a busy guy, burst through the door and sat down at his desk.

“Do you know why you’re here?”, he asked, rhetorically.

We all looked around at each other – knowing that it wasn’t wise to volunteer to become the spokesperson for this group. “You’re here because, if not for you, this fight would never have happened. The people who watch a fight are just as much, or more, of a problem than the fighters themselves.”

He then began to address each of us individually. Asking questions like “do you think it’s smart to be encouraging your friends to fight” etc…

When he came to me, he asked. “And you! I’m surprised to see you here. What do you have to say for yourself?”

My response: “I guess I fell into peer pressure”.

Ramblings about Xataface, Java, and other software development issues