Weeknote 2020-37

My weeknotes seem to becoming fortnightly notes. I need to get back onto the regular pattern. I think at the moment my issue is I wait too long then have too much to say, which then gets overwhelming.

Funnily enough, I saw a post by another Matt, Matt Jukes, this week. He was the person that inspired me to write Weeknotes. His post in turn is looking at the “rules of blogging” by yet another Matt, Matt Webb, who was the person he credits for getting him into weeknotes. If there is anyone else out there called Matt who has been inspired to start doing weeknotes from reading my blog, then please let me know. Let's see how far we can get this chain of weeknoting Matts.

Anyway, I'll let you read the “rules” and the analysis of them. I think there is definitely something in there. Mostly it comes down to less-is-more and JFDI.

Back to School

My daughter is now back to school as of last week. She was extremely anxious about going back, but seems to have settled in again now she is back with her friends. A few things have changed, mainly around parents dropping off and picking up kids, and trying to isolate year groups a bit more. But otherwise seems not too different.

The main difference has been on me. As I've got the school runs to do again now. So whilst I'd gotten into quite a habit of working late in the evenings when everyone has gone to bed and getting up around 8:30 – 9am, I'm now having to get up around 7am. But I'm still working late. So means I'm getting less sleep, and has a less productive week this week. I am also remembering not to schedule any meetings at 3pm as I've got to go pick her up again then.

Yak Shaving

Yak shaving is a phrase often used in software development to describe having to do some tedious or useless task(s) in order to achieve a greater task. Often it is caused by having to get some tooling or platform in place to do what you wanted to do.

This week I've spent a lot of time yak shaving. I currently have a backlog of videos to publish and blog posts to write about the videos. At IBM, as with most companies, we try to track the effectiveness of what we do. My job as a developer advocate is to help developers learn about new technologies and tools in general and also about products IBM has that can help them. To that end we have a metrics system that allows us to trace back which events lead to someone signing up for a free IBM Cloud account, and possibly ultimately converting to being a paying customer. This system is based around actual physical events, e.g. conferences, webinars, workshops etc. But I wanted to track in more general terms links from blogs and live streaming sessions. So I decided to build a tool to help generate those tagged links.

It should be pretty quick right? I just need a form with a few fields to fill in, and then it is a case of substituting the fields into a particular URL format. So I was holding off publishing any new videos and blog posts until I had this in place. But what should be simple ended up taking several days, which takes more on to...

Modern Web App Development

Hooooollly shiiii...... when did web development get so insanely complicated?!

I originally started doing web development in about 1997 and then it was just HTML and CSS, then along came a bit of Javascript. Not long after I switched to writing server-side code. As that, at the time, was where all the logic was of web apps. Over time, much of the logic has now moved back to the web browser. And a number of frameworks have been created to facilitate this. E.g. React, Angular, Vue.

And they are so damn complex! Maybe using one for my simple app was overkill, but I wanted to use IBM's Carbon Design System. And the easiest was would be through a framework it supports. I went for Vue, as that seemed like the cleanest of the three frameworks supported. But this is a whole new world for me.

I got there in the end. And most importantly (why I love this job) I learned a lot along the way.

And even better... I reached out to Wietse Wind, the developer of the Xumm app, who has agreed to do a live Twitch stream with me soon. He is someone who can turn and idea into a working site in an incredibly short time due to mastering the power of some of these frameworks. So I'm looking forward to having him on the stream and he can help me better understand some of the terminology around modern web app development. Stay tuned!

Streaming

Speaking of streaming, I've ben continuing to do the Twitch streams. I got a new webcam (Logitech Streamcam) as my old webcam was doing some strange thing where it would every so often just so into some kind of oversaturated mode and the colours went all strange.

I've got some fantastic upcoming Twitch sessions in the next few weeks:

  1. This coming Tuesday (15th Sept) I'll be joined by my colleague Simon Metson to work on seeing if we can train a neural network to detect and classify modules in a modular analog synthesizer. He is a big synth nerd and came to me with this idea, so we are going to use it as a mini-project and develop it live over a number of live streaming sessions
  2. Streaming the “hallway track” of the upcoming IBM Hybrid Cloud Digital Developer Conference. This is a new idea, but I'm really looking forward to it. Myself and two of the other regular IBM Twitch streamers, Spencer Krum and JJ Asghar will be hosting a parallel live session on Twitch to the main conference online. Each of us will be taking a 2 hour slot and will be joined by some of the main conference speakers after their talks. So if anyone has any questions or wants to chat further about any of the talk topics then they can join us on the IBM Developer Twitch channel.
  3. Analysing crime data with fellow developer advocate, Margriet Groenendijk. Margriet will be joining me live on the stream and we'll be looking waves to visualise data using the GeoPandas library.

New Blog Design

I've been doing a bit more work on the re-design of my blog. It has been slow going, but getting there. This week I've been getting the design I did previously into the static site generator I use, Pelican. And updating the code I wrote a while back to pull posts for from Coil for republishing.

Choirless

Well we are through to the final 3!!!! We find out if we won this week. The grand winner reveal is on Tuesday. I will be being interviewed live by Willie Tejada, GM & Chief Developer Advocate for IBM. So fingers crossed!

This week I also finished the 3rd generation of our audio synchronisation algorithm that uses a feature called “spectral flux” to detect the onset of notes and align the pieces. This seems to be much more accurate than previous approaches we have tried.

We finished off the IBM Canada “Coast to Coast” production. Showing IBM Canada's diversity in action. Singers, non-singers, all ages, genders, ethnicities, languages, inclusiveness. Doing their Covid-based song, Coast to Coast, 35+ IBMers, families and pets across two oceans.

It was then showcased, with fantastic reception, in a “town hall” session for IBM Canada.

We have also had our first church choir/band start to produce something. This was one of the first use-cases we though Choirless could be used for, and about a third of the beta testers we've had apply are from churches across the globe who are desperate to sing together, but can't due to COVID-19.

Singing “Amazing Grace” and with guitar, bass, and two singers it is already a beautiful piece. And since I uploaded this in the past hour another vocalist has joined in. I think this is really going to be something quite spectacular once it is finished. What you see above is what has come out, there has been no editing or manual processing. Just three people picked up their instruments and voices and joined in.

Well.. if you read any of the “rules of blogging” linked at the start then you will know I have broken pretty much all of them... so I'm going to call this a wrap and get some sleep!

Header photo by Lieve Ransijn on Unsplash