Awesome Cinnamon Rolls

I am a sucker for cinnamon rolls. Enough of a sucker to willingly spend $2.50 for them in town whenever I get a hankering for the carb-loaded snack. Rather than give the commercial bakeries my hard-earned money for an ephemeral treat, I'd much rather make my own and get the flavour just right. This recipe is one of my favourites.

Cinnamon Rolls

Ingredients:

  • 450g bread dough (either made in a home bakery or by hand)
  • 2 Tablespoons melted butter
  • ⅔ cup brown sugar
  • ½ cup chopped walnuts or pecans
  • 1 teaspoon ground cinnamon
  • ⅓ cup heavy cream
  • ⅔ cup sifted confectioners' sugar
  • 1 Tablespoon milk
  • Dash vanilla

Instructions:

  1. Roll dough to a rectangle, about 45x18 centimetres. Brush with the melted butter.
  2. Combine brown sugar, chopped nuts, and cinnamon; sprinkle over dough.
  3. Starting at long edge, roll dough up, jelly roll fashion; moisten edges and seal.
  4. Cut roll into 18 slices. Place rolls, cut side down, into two lightly buttered round cake pans. Let rise for about 1½ hours, until doubled.
  5. Pour the cream over the rolls then bake at 180°C for 25 minutes.
  6. Combine confectioners’ sugar, milk, and vanilla, adding more sugar or milk if necessary. Drizzle over rolls while still warm.

All in all, this is about a half-hour of work and two hours of waiting. The house will smell absolutely wonderful for a good 24 hours afterwards, too.

Would "Serverless" Be Better for an Indie?

This blog, matigo.ca, has been online almost continuously since October 19, 2006. First under a terrible dyn-dns domain, then japanadian.net, then j2fi.net, then jasonirwin.ca, and finally here. In that time over 2,600 blog posts have been published and a host of other post types have also been added and made available. On an average day there are roughly 24,500 pages served to 3,700-odd visitors and a handful of search engines. With the average page being served in 0.18 seconds, this means my site sees just over an hour of work every day. For the other 23-odd hours it is just sitting around and waiting for someone to stop by. As someone who pays for a server to run 24 hours a day, 7 days a week, this can seem both silly and wasteful. Why wouldn't a price-sensitive or cost-conscious individual want to go with a hosted solution? Not only would it be cheaper, but it would be a better use of resources. In a world where people are actively trying to reduce their energy consumption, this seems like a logical choice. However, when it comes to digital sovereignty or just wanting to have more control over a website, is it the only choice?

This is something I've been thinking about over the last few weeks as I continue work on 10Cv5, the next big update to my publishing platform that will hopefully encourage people to consider saving words and images to their own site before sharing them with closed systems such as Twitter and Medium. Fortunately for me, the servers I have 10Centuries running on see anywhere between 3.8 and 113.2 requests per second every day of the week. There are hundreds of websites with thousands of posts and millions of links that are in demand. The average independent blogger, however, does not need to have a server (or collection of servers) operating every second of every day. The reason we do this is because "that's how it's always been" since the dawn of the Internet. A computer somewhere is on, idle, and waiting.

There must be a more ecologically responsible way of doing this.

Serverless Websites

An idea I've been kicking around in my head involves the concept of "serverless computing". This is essentially using the cloud to host code that only runs when someone specifically requests it. Serverless providers such as Amazon, Microsoft, and CloudFlare all have slightly different ways of doing this, but the end result is the same. You're only paying for the resources that are actually consumed. If a website has 100 visitors a day — which is true for many lesser-known blogs — then why pay for 24 hours of operation when you really only need 20~30 seconds of compute time?

So how would all of this work for a blog? It's pretty simple ... in principle.

Serverless code would be uploaded to a service. A domain would be pointed to the right location. A database and/or flat storage location would be set up to store the content. People would visit, and content would be served when requested. For people going "full Indieweb", things like WebMentions would be completely supported. For people using apps that make use of RESTful APIs, everything would run as expected. With the modern web, things are very much request based. Things only happen when you ask for them to happen.

Is this something that people would want, though? When people have asked me to help them set up a server for a website, I generally try to keep things simple. Nobody wants to hear about how to configure Apache or nginx, how to set up a SQL database, or what to type to install the software prerequisites. Fewer people want to hear me encourage they SSH into a server to apply regular software updates. Serverless could get around some of these issues by abstracting the details away, allowing a person to simply upload functions and open a browser.

Of course, I've been playing around with this idea myself, using Microsoft's Azure service. The idea has potential, and hosting 10C on a platform that can easily scale from 3.8 requests per second to 1000+ requests per second without needing to maintain a bunch of idle servers or spinning up VMs that need to first have their software updated before being added to a service pool would be nice. My costs of operation would remain the same but, for a person who is not hosting hundreds of sites for thousands of visitors to make hundreds of thousands of requests against, an incredible amount of money could be saved. Operating a website for $81 a year (not including the cost of a domain name) is incredibly attractive. Add to that the "green cred" of having a website that uses only the resources it needs and not an iota more, and the merits shine further.

Would people find value in this, though? Or am I once again thinking of a tool for a market that simply does not exist?


  1. this cost was calculated using Microsoft's Azure serverless offerings, flat files to store content, and an average of 1000 page loads a day for one year.

Courtesy

Earlier today I fell into a conversation with a neighbour about Japanese foods that visitors to the country often struggle with. They will be playing host to an entourage from parts of the US and wanted to know what not to offer them. The standards like 納豆1 were known, but they wanted to know if there was anything else that might not sit well with people more accustomed to North American cuisine. The first thing that came to mind was 仙崎活きイカ, otherwise known as Senjaki live squid.

Senjaki Live Squid

Imagine, if you will, eating dinner while your dinner watches you, suffocating and writhing in agony the whole time. For a long time this was something I couldn't imagine eating but, after learning of the significance of the dish, my initial revulsion of the idea completely evaporated.

It is no secret that we eat things that are — or recently were — alive. While growing up in Canada, I knew that the meats I ate came from animals, some of which I would see and feed at neighbouring farms. That said, I was quite sheltered in that I've never had to kill a chicken, pig, or cow and prepare the carcass for consumption. Meats came wrapped in styrofoam and plastic. Fish often came breaded in "stick" form. Other foods were dried in boxes. Fruits were in bags. Vegetables came from the garden in the summer and autumn, and from the supermarket the rest of the year. Everything was very clean and neat.

Things in Japan are sometimes a bit different. While a lot of the food we consume here do follow standard western distribution patterns, seafood is generally served intact. A fish is clearly a fish, complete with bones, fins, and a head. Octopus is clearly octopus. Squid is clearly squid. When you go to a good sushi or sashimi restaurant, you see the food being prepared right in front of you. The fish is fresh, cut open, and turned into dinner right in front of you. While the fish is often frozen when it arrives at the restaurant, it's thawed just enough to be sliced and served for that day's dishes. This is a sign of its freshness and quality. It's a sign that you can trust the food your eating will not make you sick2. When a Japanese person wants to do something really nice for someone, be it a guest or anybody else, they might order some live squid for the table to share. People here will say it's a "courtesy", and this is where something often gets lost in translation.

When I hear the word courtesy, I think of politeness, civility, and a degree of respect. I don't think "squirming squid on a plate". However, when you think about the culture around seafood in many Asian countries, this begins to make sense. People can get sick when eating raw fish that is not absolutely fresh, and anyone who has ever had sashimi at a North American restaurant where non-Japanese chefs were in the kitchen can probably attest to having a sore stomach once or twice after eating there. The same can happen here if you go to a "discount" seafood restaurant that is better known for its 75 Yen sushi plates than its quality or flavour. So by ordering live squid that is cut up and served as an entire cephalopod that is so fresh it's still trying to breathe and escape the plate it's dying on, someone is being shown an incredible amount of respect:

You are my guest, and I am treating you to food so fresh you will not get sick.

Wrapped up in the single word of "courtesy" is an unspoken lineage of custom, respect, and deference that stretches back centuries and has origins involving some of the most regarded figures in Japan's long history. Unfortunately, when some people are confronted with Senjaki live squid for the first time, it can be a little difficult to explain the significance of the dish and why it was ordered. Many of my expatriate colleagues have told stories about when they first encountered this dish and their reactions. More often than not the night is derailed after the squid arrives.

My neighbour found this hard to believe.


  1. Natto, a foul-smelling, awful-looking, fermented bean-based "food" that looks like someone sneezed in a dish and called it breakfast.
  2. Mind you, having wasabi with sushi and sashimi will help your stomach kill most germs that might be in the fish unless the food has already gone rotten.

Blueberry Corn Muffins

Blueberry Corn Muffins

Why must every recipe from my mum's cook books be in imperial units? This weekend I decided to try something new and found a recipe that piqued my interest. Blueberries and corn bread are foods that I've enjoyed separately, but never together. In the famous line from the Blendtec promos; will it blend?

Ingredients:

  • 1 cup almond milk
  • 1 teaspoon apple cider vinegar
  • 1/3 cup melted coconut oil
  • 3/4 cup flour
  • 3/4 cup cornmeal
  • 2 tablespoons cornstarch
  • 3/4 teaspoon baking powder
  • 1/2 teaspoon baking soda
  • 3/4 cup sugar
  • 1 1/2 cups frozen or fresh blueberries

How To:

  1. Preheat oven to 350
  2. Mix almond mix and apple cider together. Set aside
  3. Combine all dry ingredients (including sugar) together in a small bowl
  4. Add almond milk mixture and coconut oil to a mixer.
  5. Using the whisk attachment, add in the dry ingredients all at once and mix until just combined
  6. Portion batter into muffin cups and top each one with blueberries
  7. Bake for 25 minutes or until a toothpick inserted comes out clean

This was quite a bit easier than last week's cranberry bread to clean up, and the results were quite lovely. It's probably a good thing that there are no (decent) bakeries within walking distance of the new house. I have reason to make things myself.

Tools of the Trade

Tools of the Trade

Looking back at the last five years, I'm often surprised that the four tools in this photo have made my current lifestyle possible. A lot has changed, and it's about to change even more given the added responsibilities that are being layered on by the day job.

Servitude

When smart people are confronted with hard problems, the derived solutions — however incomplete — can often appear as magic. This has been seen time and again over the course of history, and particularly the last three decades, when people are given a glimpse of the future in the form of hardware, software, or both. Societal changes are often enabled by technological advancements, and the pace of this evolution seems to increase exponentially with every generation. A large number of the seemingly mundane tasks performed in the 80s and 90s have been replaced by automation, ideally freeing people to work on the more cerebrally taxing elements of a job. However, it seems that a number of us are sprinting in the dark. We spend so much of our time asking if we can do a thing with technology, and rarely step back to ask if we should do that thing.

This is how I feel when I look at a tool like Google's Duplex; an incredible feat of engineering that has required the combined genius of thousands of people, from dozens of disciplines, decades to make into reality.

Google CEO, Sundar Pichai

Whether the demos presented at Google's 2018 I/0 Developer Conference are "real" is irrelevant to the larger question involving the societal consequences of such a convenience. As an expatriate living in Japan, I can see a number of ways Duplex could make my life easier. Saying to a device in English "Okay, Google. Call my son's doctor and book an appointment for next Monday or Tuesday." and having the machine do all the hard work in Japanese on my behalf would save me from having to study things like proper Japanese phone etiquette, varying pronunciations and dialects, and the vocabulary for things like "personal health booklet" and "health insurance card". Then there's the seemingly endless complicated terms involving concatenated words based solely on the kanji characters in a word. Then there's the other hassle of picking up the phone and spending 20円 for every 30 seconds I'm on the call.

My goodness! The convenience!

The list of phone calls I'd never have to make continues. Why call the office to ask for information when I can just ask Google and get a phone call back if my criteria is matched? "Okay, Google. Call the office and ask if Bob is there. Put me through if he is."

Why call a nearby store to ask if they have a widget I'd like to buy when I could just ask Google?

Why call a friend to ask if they're free for coffee?

Why call family?

These questions are not to say that Google's Duplex is a bad thing, per se, but that it can be used in a way that is counter to the foundational technologies it was built upon. Google is an Internet company. The Internet was made possible due to telecommunications networks. Telecommunications networks were built to enable — you guessed it — communication. Duplex eliminates the need to communicate with other people, even if it's just people we don't necessarily want to communicate with.

My concern, which may be completely misplaced, is that people will begin to over-rely on the convenience of tools like Duplex and unintentionally dehumanise the people their digital assistants interact with. I've seen this with the way some people refer to and interact with Uber drivers in the US. I've seen this with friends who use apps to order pizzas in Japan because they can't be bothered to learn Japanese. I've seen this in online communities where differences in opinion begin to create rifts between people. When we're not interacting with the people doing things for us, we tend to treat them as servants or otherwise unworthy of conversation.

Is this the path we want to travel?

This isn't to say that we shouldn't have this sort of technology. It has its uses, and there's a great deal of benefit that can be afforded as a result of the convenience. We do, however, need to be conscious of how we use the tools and how it affects our interactions with the people around us. Despite the myriad of ways modern technology has allowed us to communicate with each other, it seems that many of us have forgotten how.

Awesome Cranberry Bread

Despite all the sleep deprivation, I wanted to try something different in the kitchen. Lately the breads I've been making have been pretty standard fare without much variation. What I wanted this week, though, was something a little more interesting. Back in Canada I would often enjoy a cranberry and blueberry muffin with coffee and a book on the weekends. Unfortunately I'm not quite set up to do muffins since moving to the new house, but this doesn't preclude the ability to make a nice loaf of something.

The first challenge was to find blueberries. Given that these are not yet in season, the only way to get them is to put a second mortgage on your home and hope there aren't too many mushy berries buried under a thin layer of good ones. Rather than spend a fortune on these, I decided to go with just cranberries. These are not especially popular in Japan, but you can get them in cans for a reasonable price.

Next up, the recipe (which was slightly adapted from my mother's copy of Cranberry Thanksgiving):

  • 2 cups all-purpose flour
  • 1 cup granulated sugar
  • 1 1/2 tsp baking powder
  • 1/2 tsp baking soda
  • 1 tsp salt
  • 1/4 cup butter, cut into small pieces
  • 1 large egg, beaten
  • 1 tsp grated orange zest
  • 3/4 cup freshly squeezed orange juice (from about 3 large oranges)
  • 1 1/2 cups fresh cranberries, chopped

With all of this set and ready to go, preheat the oven to 350˚F (180˚C). Grease a 9×5-inch loaf pan and line it with cooking paper to make it easier to slide the cake out of the pan after baking.

Cranberry Bread

First, whisk flour, sugar, baking powder, salt, and baking soda in a large bowl. Using a pastry blender (or your fingers), cut in butter until mixture is crumbly. In a small bowl, whisk together egg, orange peel, and orange juice and then add to the dry ingredients. Stir just until mixture is evenly moist. Then fold in the cranberries. The batter will be thick and there will be small pieces of butter throughout.

From here, spoon the mixture into the loaf pan. Bake for 70~75 minutes, or until a toothpick nested in the center comes out clean. Once done, cool the bread on a wire rack after removing it from the pan.

Cranberry Bread

Now to make a good cup of coffee, grab a book, and enjoy a few minutes of peace.

Stupid Questions

This past weekend I was having a conversation with someone about the challenges of working from home when there's a toddler in the house. The boy has been incredibly patient with both Reiko and I over these past sixteen months while she and I have invested time in building a house, looking for furniture and curtains online, negotiating with landscaping companies, and generally trying to get work done while he's awake. It hasn't been easy to balance the responsibilities of parenthood with all the other things we would like to do, but we're getting better. Eventually the topic of the boy's possible future came about, and how I would react to various "what if" scenarios.

Hypothetical questions involving human development are generally worthless as they lead to hypothetical answers, but some of the questions I was asked were just downright asinine at times. Here are three softball questions I was asked:

What if he hates computers?

That's fine by me. I do not expect my children to enjoy all the same things I do. If they do that's great, but it's unrealistic.

What if he wants to be a musician or artist?

I would love it if he wanted to do something creative with his life. While there is not a great deal of money to be made in either music or art unless you're in the top 0.01%, I would not prevent the boy from putting in the effort to do something he loves. I would, however, strongly encourage him to have realistic alternatives lined up to pay the bills and put food on the table while working towards his goals.

What if he comes out as gay?

Why would this bother me? Some of the most respectable people I've ever met have had sexual orientations different from mine. If he wants to be with anyone at all, I simply ask is that he find someone he truly wants to be with who also wants to be with him. Gender, sexual orientation, and genetic lineages are irrelevant so long as he's happy and safe.

These answers are likely the same that many parents would say. Are they 100% accurate? Who knows. The future isn't here yet.

There are a lot of parents who have very rigid expectations for their children. I am not one of them. My job, aside from the obvious responsibilities, is to make sure he has all of the opportunities available to discover who he is and what he wants to do in life. Given the rate of technological change, people my son's age may very well be part of the first generations of immortal humans. Immortality is a long time, so I want to make sure he has as much an understanding of himself as is possible before my time on this world is up. This way, when he's centuries old on the inside and a couple of decades of age on the outside, he'll have the ability to recognise his evolving self and adjust future plans and goals accordingly.

Am I not taking this parenting thing seriously enough?

Trust Is Earned. Not Given Away.

Dylan Curran recently wrote an OpEd on TheGuardian where he makes the case that information-based companies should put an expiration date on the data they collect, giving people greater freedom online without necessarily affecting profit margins. His argument comes down to two paragraphs buried in his piece:

This is why we need online privacy: we have the right to be curious or conduct digital actions without constantly being tracked, or fearing future reprisals. As Edward Snowden has put it: “Ask yourself: at every point in history, who suffers the most from unjustified surveillance? It is not the privileged, but the vulnerable. Surveillance is not about safety, it is about power. It’s about control.” [...]

Therefore, I propose legislation to allow companies to harvest as much information as they like, but with one caveat: they must delete the information from their servers in quarterly blocks. This would allow us to keep using the services we like in the exact fashion that we do now.

This is unrealistic. Companies like Facebook — the easiest target here — cannot be trusted to follow any legislation. Many of these large organisations have histories of ignoring laws, evading taxes, and buying off politicians to solve problems. Legislation requiring personal data to be deleted on a rolling basis cannot honestly be audited, and will therefore result in little more than lip service. To make matters worse, a lot of the organisations that harvest our data with wanton abandon are completely unknown to most of us.

Ultimately this needs to come down to personal choice. People who are unconcerned with the data collection practices that currently run rampant online can keep doing what they're doing. For those who want to pull back and try to reclaim some form of anonymity online, there needs to be trustworthy resources people can use to learn how to reduce their digital fingerprints. Even with GDPR going into effect this month, it will be almost impossible for anyone — not just citizens of the EU — to ensure that all of their historical data is removed from databases around the world.

The right to be forgotten and personal data management is something that each one of us will likely need to manage ourselves. Hoping companies will "do the right thing" on our behalf, with or without legislation, while we change none of our habits is a level of naïveté that is simply unrealistic.

2600

Round numbers are often treated with more significance than others, and numbers that coincide with memories can evoke a little bit of nostalgia, so it probably comes as no surprise that the 2,600th blog post on this site would be dedicated to the Atari 2600; a console that was great before Nintendo and Sega completely redefined people's expectations of video games at home.

Atari 2600

When I think back to when I used to play games with this machine plugged into the small, black and white TV we owned in the 80s, I'm reminded more of the competition I'd have with my father on a number of games. We'd play the standards like Ms. Pacman, Donkey Kong, and Asteroids, but the game that really stands out in my mind is River Raid. The premise was simple. You're looking down from the sky at your jet which is following — yes — a river, and you need to blow stuff up without running out of fuel or flying over land. My father and I would spend hours taking turns on the game and trying to reach the very end of the river. Neither of us ever did make it to the end, and there might never have been an end to the game, but the competition was real.

Well ... it was real for me.

My father had the luxury of adult muscle control and not having to go to school the next day. I'd often complain that "it wasn't fair" for him to play while I was sleeping, and he'd just laugh and tell me "it's just a game". A line that, to this day, I despise. So when my homework was done, when the chores were finished, and when there wasn't any hockey game or Star Trek to be watched, I'd try to get some gaming in to hone the skills necessary to defeat my father's high scores and see farther than anyone else.

I don't think it ever happened, though. Eventually I wound up going outside with friends or burying myself in books or other toys. The Atari would sit unused next to the VCR. Occasionally I'd hear my father play a game or two of River Raid or Asteroids. I'd sometimes watch or join in. But around the age of 12 I stopped trying to compete with my father. By that time I was taller, faster, and stronger than he was. Though he was smarter, more patient ... and better at River Raid.

A little while later I received an original GameBoy with Tetris, and we'd compete with that game. But it wasn't the same. By that time I had the reflexes and visual acuity to go farther than many, including my Dad. We'd come up with different sets of benchmarks, like how many "full Tetrises" we could get, and who could get closest to the top and then bring the blocks back down to the bottom. It was fun, but not the same.

The Atari 2600 is where I really competed with my father. It may have been one of the few places where we'd actively challenge each other to succeed. And while I did try to out-do him just about everywhere else, like sons have done since the beginning of time, there was rarely any incentive to keep going.

When I remember how frustrated I would get when competing on River Raid, I think about my son and wonder what things he will try to do better. Will he also try to play games better than I can? Probably. Will he try to write software better than I can? Possibly. Will he try to bake bread better than I can? I sure as heck hope so. At some point he will start to do things better, I'll step up my game, and he'll continue to improve until I simply cannot keep up. But what will his Atari 2600 with me be? I'm really curious to find out.

  1. 1
  2. 2
  3. ...
  4. 261