The downslide

I spent much of today doing coding tasks as well, after yesterday’s epic effort. I did a lot of tidying up of minor things, in particular setting up the permissions on the IWC forums so people can’t do bad things and can do the things they should be able to do. phpBB’s permissions administration interface is not at all intuitive, and at one point it was configured so that nobody could read anything. I think I managed to sort it out now, though. I also added an anti-spam extension, and a dark theme for users who prefer that. (If you want to use the dark theme, you can access it thus: Click your username in the top-right corner of the forums, choose “User Control Panel”, go to the “Board Preferences” tab, and select your board style as “Prosilver (Dark edition)”, and Submit.)

I also installed a bunch of SSL certificates on all my sites, and then went through the tedious work of tracking down all the security errors and fixing them. Now all my websites should show shiny padlock icons in the URL bar, instead of the scary “Not secure” warning they used to show. (If you see any pages that don’t show the padlock, please let me know.)

Finally, in a stab in the dark, I decided to apply for a position in the 2020 Alaska Robotics Comics Camp. For years I’ve envied everyone who has gone to this annual event, and wished I could go. This time, I don’t have a job to keep me home… so I thought why not apply and see what happens?! It’s a lot of money, getting to Alaska and then paying for the camp, but if I get selected you can bet I’m going to do everything I can to afford it!

New content today:

Debug day

Ugh, what a day. I spent basically all day trying to reconstruct the Irregular Webcomic! forums after yesterday’s disastrous PHP upgrade event on my webhost.

I tried several things, battling with cryptic documentation and apparently non-working installers. I installed a brand new copy of the latest version of phpBB, expecting that I could import/convert the old database containing all the forum poster user data and posts. The installer said there was a convertor included, but when I got to that step, it just wasn’t there. I fiddled around for some hours, trying things, searching for help, discussing with other people. Eventually I tried the installer again, and lo, this time the mysterious convertor interface was there! I don’t know why it wasn’t there the first time.

Anyway, I managed to import the old database, so all of the old forum data is now in the new forums. It looks like it’s working fine, but all of my graphical customisations have vanished. I may try to reinstate some of them, but it was actually the extensive modifications I made to the previous forum’s appearance that caused me to give up upgrading the software in the first place, since the customisations and upgrades interfered with each other and made the upgrade process a real pain in the neck each time. So this time I plan to keep any modifications minimal, so that I can keep the software up to date and hopefully avoid this sort of issue again.

While doing all this, I also got a report that the PHP 7 upgrade has also broken the comics on mezzacotta.net. I spent a bit of time debugging that as well, replacing some deprecated/removed functions. The code now seems to run okay under PHP 7 on the command line, but for some reasons it’s still failing when run via the web page. So I’m currently stumped on that one.

I also squeezed in a few other minor coding tasks in between bashing my head on a brick wall all day. I finally figured out getting an SSL certificate for Darths & Droids, so now the site loads with that trendy padlock icon instead of the “This site is not secure” warning. I’ll add this to all my sites in the next day or so – there’s apparently an interaction with WordPress sites that makes it less trivial than what I did today.

And I set up my new photography website on a brand new domain: dmm.photo. I’ll be expanding this site a bit soon, with a view to offering photo prints for sale. Oh yeah, and it links to a trendy new Instagram that I’ve started too: @davidmorganmar. These two items are part of a campaign I’m beginning to try and make some income as a photographer. Since it’s something else I love doing, like making comics.

New content today:

Good news and bad news

Good news first:

Scully had her behaviour and obedience test today to qualify as a Delta therapy dog (see part 1 from last Thursday). I drove Scully and my wife out to the testing site, where there were dozens of other dogs trying out. This is my wife’s initiative, and she wants to be the human companion when Scully is on duty, so it was up to her to accompany Scully for the test. She didn’t want me around to be a possible distraction, so, I went over to a nearby shopping centre to pass the time.

When I got back, my wife reported that Scully had passed! Now they have to do a day of training, and then I’m not sure what the next step is. But we could have Scully visiting local hospitals to cheer people up pretty soon!

Bad news:

My webhost has been reminding me repeatedly to upgrade my servers to PHP 7.2 (from version 5.6), with a deadline of some time in November before they just do it for me. Well, the upgrade happened today. Most of my sites are fine… except for the Irregular Webcomic! forums. The upgrade has utterly broken them, and the forums are now inaccessible.

The problem is that I installed phpBB forum software ages ago, and upgrading it was always a pain in the neck due to my UI customisations, so in 2005 I gave up upgrading phpBB. Up until today the forums were still running code from 2005. Unfortunately, that code relied on PHP 5.6, and is incompatible with PHP 7.2. Thus the brokenness.

I’m still pondering what to do about this. The database is still there, with all of the users and posts. It’s just the web page code that can’t run any more. Theoretically, it should be possible to install a current version of phpBB and import the data from the old database into the latest database format. But in practice I don’t know how easy this will be. If I can’t find someone with a convenient script to do all the work, the odds that I can do it myself are extremely low. I may have the necessary coding skills, but I certainly don’t have a spare month to do the work.

At this point I have to estimate that it’s probably 95% likely that the old forums are completely gone forever. It’s my own fault, really, for running such outdated software – it was bound to break eventually.

If anyone reading this knows phpBB and would like to help me, please let me know!

New content today:

Comic writing slog part 2

Another day of writing comics. I managed to get some momentum today and finished off the batch, ready to start photographing them tomorrow.

In some spare time I worked on another mezzacotta random generator, this time a random bird name generator. This was inspired by me discussing some actual birds with friends, and someone suggesting that since so many birds are named after colours and markings, it’d be easy to randomly generate new names. And yes, it was very quick and easy, using our generator framework.

Tonight I cooked soup for dinner, and used my new Bamix stick blender for the first time. It works really well – I can tell immediately that it’s better quality than our previous one. The old one got noticeably hot very quickly from the motor, and had to be mashed up and down to access all the vegetable chunks in the soup. The Bamix stayed nice and cool, and it creates a vortex in the soup that sucks the chunks into the blades, so there’s a lot less manual motion required. Really nice. The soup was chick pea, cauliflower, and carrot.

New content today:

Running faster

One week after my first 5k run of the current exercise plan, I returned to the oval today to clock up another 5 kilometres. Again I alternated sprints and walking segments, though I did a few longer sprints than last time. Overall, last week I clocked 6:25 per kilometre, and today 6:19 per kilometre, so that was an improvement! And I don’t think my legs had fully recovered from last week either – they were already a little sore at the beginning.

I walked home from the oval through the Gore Hill Cemetery, which is an old historical cemetery, decommissioned some years ago, and now overgrown, with most of the graves forgotten and untended. There’s an angel headstone here which is one of my favourite photographic subjects. Her mood changes with the season and the weather. Today she was in a spring mood:

Considering a spring day

This afternoon I worked on some website coding for a new project that I’m not quite ready to announce yet. And my wife and I took Scully for a walk down to the harbour where there’s a park where she can run around off leash. For dinner I was going to make pizza, but I forgot to buy cheese today! So we converted to pasta instead, with a pumpkin, walnut, feta, and chilli sauce. (Which would have been our pizza topping.)

New content today:

Holiday Monday

Today was Labour Day, a public holiday in New South Wales (the other states of Australia all have different public holidays – it’s weird, I know). So I spent much of the day out with my wife and Scully. We drove to a rural area on the edge of Sydney, to visit a good bakery we know and get some lunch there. And to stop at a couple of parks on the way there and back to exercise Scully.

The bakery had a special pie today: “USA pie”. It was a smoky barbecue beef brisket and mashed potato pie. I tried it, and it was delicious.

This afternoon and evening I’ve been doing more coding work, this time on the mezzacotta Insult Generator, which we’ve now re-themed as a generator for fantasy insults suitable for use in Dungeons & Dragons games when casting the bard spell Vicious Mockery. Andrew C. did much of the CSS work, and Ian B. contributed cool artwork for us:

Bard mocking

It’s now ready to go live, so we proudly present: Mockery Most Vicious!

Other new content today:

Diary and dairy

It was a fairly lazy Sunday. Mostly I worked on processing more photos from May’s trip to Portugal, and then embellishing day 11 of my travel diary with them to post on my other blog.

Douro River panorama

This afternoon I did some coding work on a new maintenance feature for Irregular Webcomic!. It’s not particularly exciting, but will enable me to keep up to date with some archiving tasks with less work, and will update some stuff that has been dormant for too long. I’ll share it when it’s ready to go live.

Oh, and the dairy in today’s title? I did some grocery shopping and bought two litres of milk, a litre of ice cream, and two large tubs of yoghurt (750 mL each? They were on special).

New content today:

Some cooking

This morning I finished off that new article for 100 Proofs that the Earth is a Globe that I mentioned yesterday. I’m very pleased with this one, as it’s so surprising how the shape of the Earth becomes important to a topic where it initially seems completely irrelevant.

Around lunch time I went for a walk, since the rain finally decided to stop late this morning. We had almost twice the average September rainfall in three days, but nobody’s complaining because it’s the only significant rainfall we’ve had since May and we really need it. The one thing it did was really increase the humidity, and although it wasn’t hot it was a bit sticky after walking a few kilometres.

Besides taking Scully out to enjoy the weather and get some exercise too, I spent much of the afternoon cooking. I boiled up some chick peas I had soaking since the morning, and then fried them up with some chopped potato, carrot, broccoli, onion, garlic, and a bit of tikka masala paste. This became a stuffing to go into some puff pastry, which I then baked in the oven for dinner. I also made some sweet treats for dessert. Mashed up a carrot cake loaf (bought from the supermarket), mixed with cocoa powder, apricot jam, and rum, then rolled it into balls and coated them in chocolate sprinkles – et voila! Home made rum balls. Last time I made them I used a banana cake and they turned out really nice, so I thought I’d try carrot cake as the base this time. Recipes I’ve seen all say to use a plain vanilla butter cake, but I like the extra flavour.

Another small thing I did today was that I found an interesting photo while trawling through my old photo folders looking for photos to illustrate my Globe proof. It’s not a great photo, but it is a photo of some very interesting birds:

Little penguins

These are little penguins, which I photographed back in 2006 while on a trip along the south coast of Australia. They are the only penguin species to nest on mainland Australia – in fact there’s a colony in Sydney Harbour, not far from where I live. The reason I was excited to find this old photo, despite the long distance and somewhat blurred image, was that I hadn’t counted this species among my list of bird species that I’ve photographed. I keep a list, and try to add to it whenever I get the chance, and I’m now up to 276 species.

I maintain a manual list here, and a while ago I started work on a version with a database of all my photos behind it. The new version isn’t fully populated yet, so most of the links lead to empty pages, and the page design needs to be made a bit more fancy, but you can see where it’s going if you click on some of these species: Bell miner, Crimson rosella, Little wattlebird, New Holland honeyeater, Pied oystercatcher. It’s going to be a bit of work adding in all of my photos…

New content today:

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!

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