Weeknote 2020-50

4 weeks since my last weeknote. I will be honest, I've had a hard time motivating myself to write this. Not because there is nothing to write, but just trying to work out where to begin. So much happening right now.

Work has been extremely busy, which has been great. But on the flip side, my wife has not been too well and I've spent quite a lot of the past few weeks looking after her. Also all the general excitement around Christmas coming, and my daughter's end of school term.

Christmas is due to be a low-key affair at our house this year. And I'm actually pretty glad about that. With everything going on, trying to keep things as simple as possible is actually a positive. We've bought just a small (live) Christmas tree and decorated that, and put up a few decorations around the house. But the living room is still a bomb-site, and needs tidying up. I feel I get one part of the house tidy and the rest goes to chaos (“Damn that rising entropy!”). I've got next week off, so hopefully with tackle it then.

Choirless

Lots has been going on with Choirless. There have been countless Christmas carols being sung, and people organising concerts etc. Some key things to call out:

My daughter's school produced their Nativity play using Choirless. they used Choirless for the singing of all the various songs, and I then cut them together with some acting parts and slides of drawings in iMovie to create a full video. Alas I can't show it here, due to permissions but it was excellent.

Choirless was also showcased in the Q4 UKI IBM “Town Hall” meeting. I got to do a 2 minute talk to 1,100 colleagues and then we had a short performance of “We wish you a Merry Christmas” by some IBMers.

An interesting statistic, the Choirless rendering engine has used 1170 cpu-hours of compute time. That means that if it ran on a single processor, end-to-end non-stop, it would take 7 weeks to process what it has processed so far.

Two other fantastic public performances using Choirless are the City Church Bristol “Christmas Stories” event that premiered this morning

https://www.youtube.com/watch?v=SdoAl_xnRUg

And the upcoming London Youth Choir Festive Concert 2020 tomorrow (Monday 21st Dec):

https://www.londonyouthchoirs.com/festive-concert-2020/

We've had performances coming in non-stop and hence not had time to actually do too much work on the Choirless itself. That said, Glynn has created an awesome Choirless Shell that enables us to move around the songs like a directory structure to make any manual adjustments to the sync offsets of volume:

https://github.com/Choirless/choirlessshell

And Sean has been working away on some additional UI enhancements.

Workshops & Events

We also did a talk and workshop for the Dutch group 'Tweakers'. This was a really great fun, live session with Sean, Glynn and I being interviewed and chatting with Frank from Tweakers, and then a hands-on workshop for 1.5 hours on deploying your own serverless functions in IBM Cloud. The workshop is available to follow along at your own pace here:

https://github.com/IBMDeveloperUK/Hands-on-IBM-Cloud-Functions

That same day, I also did an hour long workshop on Generative Adversarial Networks for an IBM Client... I think I worked out I was streaming for 5.5 hours that day. My throat was pretty raw the next day!

I also gave a lightning talk at Plone Conference 2020. Plone is an open source content management system that I was heavily involved with from about 2000-2015. It was great to go “back” and attend a conference. Made easier by COVID actually as the conference was entirely online.

https://cinnamon.video/watch?v=471791071769134851

Live Streaming Setup

I have been asked a few times about the setup I have for live streaming the Twitch sessions I do. I did a write up on DEV of the setup:

https://dev.to/ibmdeveloper/my-setup-for-streaming-livecoding-4k37

And recorded a video about the setup, along with a bit of behind the scenes video of how I have things setup and how I do the streaming.

https://cinnamon.video/watch?v=477254144894174297

This is a more practical video on the setup, and covers both what I am trying to achieve, and how I do it both in terms of physical setup and also the filters used in OBS.

This is a follow-on to a talk I did at the IBM Technical Consulting Group on why I do live coding on Twitch:

https://cinnamon.video/watch?v=454771028871088073

Home Networking

I've been wrestling with my house networking recently. I upgraded our internet connection to 300Mbps fibre to the home, which is great.... but... the rest of my home network is showing its age now. The main issue I have is I live in a 3-storey townhouse — the supplied wifi router is on the ground floor and my office is on the top floor. The wifi just about reaches up here, but slows down and not able to take full advantage of the new fibre speed.

I dug out an old pair of TP-Link AV500 powerline adapters to try them again. I bought them years ago, but stopped using them as they interfered with the VDSL connection to the house. Now that we are on fibre, I thought I'd give them a try. And they are actually working pretty well. Nice stable connection, and fairly low latency. But they are pretty old. So I've got my eye on some newer Devolo ones, that have a theoretical speed of 2400Mbps:

https://www.devolo.co.uk/magic-2-lan

I might get them after Christmas, if these ones continue to do well.

XRP

I also wrote a random blog post based on a discussion I had with a friend who is an Ethereum developer about some of the features of the XRP Ledger. A lot of people are just not aware that you can issue you own currencies on the XRP Ledger and it has a built-in decentralised exchange:

https://dev.to/hammertoe/issuing-assets-on-the-xrp-ledger-for-ethereum-developers-25e0

I'm sure I've missed a whole bunch of things, but that is all I can think of.

Take care all, and Merry Christmas! :)

Header photo by Rodion Kutsaev on Unsplash