Bento box

Today was a bit of a lazy day, work-wise. I actually spent most of my time at home refactoring code, which didn’t achieve anything tangible beyond making it easier to add on more stuff later.

I also spent a lot of time out. I arranged to meet a friend for lunch at a Japanese place near the station two stops away from where I live. I could have caught the train, but I decided to walk to get a bit of exercise.

Now let me tell you about the area where I live. It ain’t flat. Not by a long shot. There are hills everywhere. My tracking app (I use Strava, if you want to follow my profile) tells me the walk there by the most direct route was 3.72 km, with an elevation gain of 103 metres. (I ended up only 29 m higher than I began, so I also went downhill 74 m.) The restaurant does bento boxes, and I had one with some sushi, a bowl of udon soup, and something I’ve never seen before: fish katsu! It was good.

For the walk home, I took a longer route, covering 5.55 km, with an elevation gain of 72 m. Later in the afternoon I also took Scully for a walk and play in the park. The weather’s turned windy here, but it wasn’t very cold – the forecasters say tomorrow we’ll get a blast of colder air. Anyway, here’s Scully, posing after fetching her ball in the dog park.

Chasing the ball in late winter sunshine

Announcing mezzacotta Café v2.0

It’s Wednesday, Ethics teaching day. I walked to the school, taught my class, and walked home – a total walk of 8 kilometres. Well, I took a slightly indirect route home because it’s a more pleasant walk than along the main road.

Back home, I did a bunch of work for the ISO Photography standards committee that I’m still on. I started on this committee back with my old job at Canon Information Systems Research Australia. When the company decided to close down, I decided to continue working on the committee, since it’s a good way to keep up with professional photographic technology research, and I wanted to make sure Australia maintained its role in the international committee. Anyway, I had a bunch of documents to go through, so that took some time.

Then I spent time solving puzzles from the 2019 MUMS Puzzle Hunt, which started today. I’m part of the team “mezzacotta” with some of my friends.

In between I worked on integrating HTML/CSS to make the new mezzacotta Café look nice. Here’s the old original version. And here’s the new updated version made with our new mezzacotta Random Generator technology. The new version began with the same vocabulary a few days ago, but has had a few new additions made to it already. And it looks nicer!

Colour naming

I spent all day today doing science! If you weren’t aware, I do volunteer work with a primary school, going in to teach science stuff to kids from kindergarten to year 6. I talk to all of the kids at the school, but this year I’m also running a Science Club for 13 of the very keen science students, ranging from years 2 to 5.

A couple of months ago I ran a colour naming experiment with them, to explore the psychophysics of what colours we see and deciding what names they should have. I won’t go into gory detail here, because I described the experiment in detail in a previous post over on my science blog, 100 Proofs that the Earth is a Globe. Today I spent all day (about 10 hours of work as I type this) analysing the results and preparing slides to present to the students next time I see them (on Monday next week). Again, I’ve written a detailed post about it over on 100 Proofs. But here’s a sneak preview of the results:

results preview

Besides showing the kids the results and talking about them on Monday, we’re going to do another new experiment: measure the acceleration due to Earth’s gravity! I’ll write that up over on 100 Proofs too.

Olive oil flavour

This morning I had a blood test, and had to go to the pathology place while fasting, so couldn’t eat breakfast beforehand. I like breakfast. I don’t really understand those people who skip breakfast or who don’t feel any urge to have food until lunchtime. I wake up ravenous every morning and am hoeing into a bowl of cereal within about 5 minutes of getting out of bed every day. So having to wait until I walk up the street and wait for half an hour at the pathology centre is torture. Immediately after I left I raced to the nearest bakery to get something to eat.

Back home, I worked on writing annotations for the batch of Irregular Webcomic!s that I’d made over the past few days. This is the final step before publication, and can take most of a day, depending how much research I do and how much I write for each comic. But it’s a good feeling having the batch completed. And now it’s time to start thinking about writing the next batch…

I stayed in for lunch today and made myself bruschetta. I’m trying to use up a bottle of extra virgin olive oil that I got as a gift, before it passes its “best before” date. And also some caramelised balsamic vinegar.

It got me thinking about olive oil. We have extra virgin olive oil, for stuff like bruschetta and salads and those things that everyone says you should use extra virgin olive oil for, because it has a strong “fruity” flavour. And we have the “light tasting” olive oil that everyone says you should use for cooking, because it has a less strong flavour that won’t dominate a dish.

Now, I don’t know if it’s just me, but I can’t taste any difference whatsoever between “extra virgin” olive oil and “light tasting” olive oil. Not just the current brands we have either – I’ve never noticed any difference between any of the brands of either we’ve had over the years. I’m honestly beginning to think this whole “fruity” and “light” olive oil flavours are really just the Emperor’s New Clothes, and a way to make us all buy more olive oil because we “need” to have two different types. They all just taste equally bland and oily to me – none of them have anything that could remotely be called a “strong” flavour that might dominate anything else. Can anyone actually taste a difference between these olive oils?? Or even taste them at all??

And on another note, I took some photos of flowers. This winter in Sydney has been ridiculously warm. Besides flowers everywhere, there are new green shoots and leaves on many of the trees already as well. This is all at least a month early, possibly more. Take a look: magnolias, irises, lavender, azaleas.

Spring flowers in winter

Sunday Morning Breakfast Cereal

This morning I woke up with the idea for a new random text generator: Random breakfast cereals! But more on that later. First it was a Sunday morning walk with the wife and Scully. We did a roughly 5 kilometre loop, stopping at a nice bakery/cafe along the way for morning tea.

Back at home, I finished work on tonight’s new Darths & Droids comic. Then I implemented the random breakfast cereal generator. Technical coding details follow in the next paragraph (feel free to skip it if not interested in coding nitty-gritty):

One issue critical with this generator was a problem that Andrew Coker and I have wanted to tackle for some time. The idea was to generate a cereal name (e.g. Crunchy Chcolate Bombs), and then a description of the cereal. But the description should use some of the same words as in the name, so that it’s described as “Scrummy bombs of chocolate with extra marshmallow bits” rather than, say, “Yummy shreds of bran with raisins”. To do this we needed to store some of the randomly generated words in a context dictionary and then recall them later on using variable names, rather than just generate more random text. Doing this required quite a bit of code refactoring, and a lot of heavily nested text replacements in the partially munged output string. This of course generated a slew of bugs with other replacements such as capitalisations and stuff. So we worked together to track them down and squash them. After a few hours of coding, we think we have it working properly.

TL;DR: Here’s the brand new mezzacotta breakfast cereal generator!

Another thing I’ve been doing is getting back into my Italian language practice. I’ve been practising regularly on Duolingo for a few years, doing some every day, but I slipped after my last overseas trip and didn’t start up again when I got back home, until a few days ago. Now I’m back into doing some revision every day. Fortunately it seems like I haven’t forgotten too much! If you use Duolingo, you can follow my profile here.

And a photo today, another behind-the-scenes of a set I built for the Cliffhangers theme. It might not be obvious where they are from this, but when you see the actual comic hopefully it’ll be convincing enough.

The train to Abydos

Comic maker, makin’ comics…

It’s Saturday, and the day when I finished off making that batch of Irregular Webcomic! strips that I photographed back on Thursday. I composed some of them that day, but most of them waited until today.

While assembling the comics, I did my usual thing of changing the scripts and punchlines of a few of the strips. For one of them I solicited advice from my friends on our private chat channel, on whether to go for a broad audience punchline that was not necessarily as funny, or a narrower audience punchline that I thought was funnier. They agreed that the narrow punchline was in fact funnier, so I used that. My general philosophy is that I’m happy to target a fairly small niche audience with a technical punchline that nobody else will fully understand, as long as it’s funny enough for the people who do understand it.

On a slightly different note: have you ever wondered how I keep track of which characters have which coloured speech bubbles? Wonder no more! Here is a little image file that I keep handy and always have open when I’m assembling new comics. I can easily use Photoshop’s eyedropper tool to sample the exact colour of each major character’s speech bubbles, so they remain consistent across strips. (I didn’t do this early one, and some of the characters’ bubbles changed colour once or twice, but I’ve been consistent for a long time now.)

IWC palette

D&D night

I’m a few hours later than normal, because Friday was the day of the big Dungeons & Dragons game that I’ve been preparing for. I had a lot of last minute preparation to get done, and then it was off to AS’s place, where he was hosting for the evening.

We had five players, plus me Dungeon Mastering. The adventure was set in Ravnica, a giant plane-spanning city first described in the game Magic: the Gathering. I instructed the players that their characters did not know one another before the adventure begins, and that they were to keep their characters secret from each other. When pizza had been consumed and everyone had settled at the table to play, I began the adventure:

Splash!!

You are woken suddenly by cold water pouring over you. A LOT of cold water. You flail around, trying to get your bearings, and realise you have no support – you’re splashing in a pool of deep water. You find the surface and gasp for air. You instantly regret this move as a horrible stench of decay and filth fills your nostrils and lungs. But you need to breathe, so struggle to maintain your position on the surface. Your legs reach down and can’t find anything to stand on. And as you blink frantically with your wet eyes you realise it’s dark. Very dark. Darker than the deepest night in the narrowest alleyways of Ravnica. And as your eyes try in vain to adjust to the darkness, you realise there are other people next to you, also flailing about in the putrid water.

The first thing they had to do was figure out how to not drown. They were in a sewer, and had to swim to a side of the tunnel where there was a narrow ledge where they could crawl out of the water. Once a couple of them had managed this, the crocodiles attacked. This was when they discovered that their most of their weapons and magical gear were missing. A few had concealed daggers, with which they fought off the crocodiles.

Once they had time to breathe (the foul, stinky air), they could introduce themselves to each other. And begin the process of working out what just happened. None of them knew each other and the last thing they remembered was going to sleep at night after a fairly boring day.

And thus the chain of adventure had been set off! They ended up tracking across the city, encountering a disinterested bath house attendant (nothing in this city surprised him any more, and he only wanted to cadge an extra gold coin off each of them for a fresh set of clothes), ogre thugs, a goblin gang, helpful librarians, a mystical dryad, and a torture chamber operated by a demon. By the end of the night they had some idea what they were doing, and we packed up to continue the adventure another day. I think everyone really enjoyed it!

As a helpful prop, I made everyone reference cards for their magic items, so they could instantly see in front of them what they had, and hand them back to me when used up (for example magic potions). Here’s an example of one card:

Lantern of Revealing card

(Lantern image is copyright Wizards of the Coast, reproduced from D&D Beyond, at smaller size for non-profit illustrative purposes only.)

Another thing was that Andrew Coker decided his character would have the personality trait: Loves a good insult, even when directed at him. To assist in coming up with good insults, he and I worked together on a random fantasy insult generator, using our mezzacotta random text generators code that I’ve been taking about previously. We kept this one secret form the other guys until after the game, so it was all new to them. It was very cool seeing Andrew’s character slinging these amazing insults at everyone he met during the game. Do check it out, and perhaps use an insult next time the opportunity strikes.

So, a good night was had by all!

Comic making day!

This morning I finally managed to get my act together and photograph a new batch of Irregular Webcomic! strips. I pulled out the Lego and started work about 8:30. I had to run down to the garage to get a particular character from the boxes of Lego stored down there – one I haven’t used for over 1000 strips. I also contemplated rebuilding a complex thing for a set, but that would have taken an hour or two extra just to do that, so I improvised with a photographic background.

I finished photographing about midday. That’s about typical for a batch – during which I photograph enough frames for 20 strips – or 4 weeks’ worth at one per weekday. During the afternoon I began assembling the photos into comic panels and adding dialogue. I’m about halfway through that – will need to finish it off another day. And then after that comes the writing of the annotations and then uploading everything to the staging area of the web server so they can update automatically. All up it’s about two full days of work to prepare a batch like this… after the writing is done. Doing the writing for a batch of comics can take anything from 1-3 days, depending how inspired I feel and how easily the jokes flow.

As well as the comic panel photos, I took a few behind-the-scenes shots, to show you what the overall set looks like. Here are a couple of shots of the entire set that I built to represent the Cambridge University particle accelerator lab, as seen in comic #4036. The sets are usually very empty outside the bounds of where the camera will see!

IWC behind the scenes

Apart from household chores, meals, and a bit of Italian language practice, that’s pretty much my entire day today!

D&D prep

Wednesday is Ethics day, and I took my regular Year 6 class again this morning. We discussed various scenarios where people had to choose between friends or relatives and other people who were more deserving by some measure. It was interesting that in each case there were kids willing to argue in favour of either decision. Also there were some circumstances where they clearly favoured the family/friend while in another scenario with different circumstances they favoured the non-family/non-friend.

One scenario was a girl whose parents buy her a new soccer ball because hers is old and worn out. Her friend’s ball is also old and worn out, but the friend’s parents don’t have as much money, so can’t afford to get her a new ball. The question was, should the wealthier child’s parents buy her friend a ball as well? Most of the class said no, the parents had no obligation to their child’s friend.

Another scenario was a boy out sailing in a custom built two-person boat. Near shore, two people call out to him to take them for a sail: one younger boy who is a sailing club member who helped build the boat, but is not allowed to sail it alone, and the sailor’s friend, who is older but not a club member and didn’t help build the boat. In this case, most of the class said the sailor should take the younger boy, because he helped build the boat. (I get these scenarios in the teacher curriculum – I don’t make them up.)

The other thing I did today was visit Andrew Shellshear, who is hosting Friday night’s D&D extravaganza. I’m doing some stuff with projections for ambience, and we tested out his projector and figured out where to point it. He’s constantly designing board games these days, and showed me his work in progress on a new version of a game he’s been working on for a few months. Our group has been playtesting it and it’s pretty good! Hopefully I’ll be able to point you all at a Kickstarter or something in the future.

This afternoon my wife and I took Scully for a walk at a nearby park. I did some more prep for D&D on Friday, and that was the day. Tomorrow morning I hit the photography set for new comics!

Unforeseen events

Today I planned to photograph a batch of new Irregular Webcomic! strips that I’ve written over the past few days. But first thing this morning I had to visit the dentist for a routine hygiene/clean thingy. Alas, it turned out that I had a cracked tooth, which needed filling…

I ended up spending over two hours there, and left with a numb face. Arriving home a lot later than I thought and not feeling the best, I decided to give the photography a miss and leave it until Thursday. Instead I did some more prep for Friday night’s D&D game, and a bit of coding on a secret new random text generator, which promises to be a lot of fun.

Oh, and on the way home from the dentist, I got swooped by a magpie! It’s still the middle of winter, but it’s so warm and spring-like already that the magpies are apparently nesting already. It hit me full in the back of the shoulder and head as it dive-bombed me. I was rather shocked as I haven’t really been attacked by a magpie for several years – I’m usually pretty cautious when I know they’re nesting, but it never would have occurred to me that they’d be laying eggs so early in the year.

It really has been an amazingly warm winter here. There are still trees with autumn and even pre-autumn green foliage that hasn’t dropped, while other trees are sprouting new spring foliage already. And the magnolias are in full bloom: