Ongoing | October 2022

midjourney ai - a dark blue samurai pulling out his blade

October 2022

I wrote a blog post about using Go Graphics and how to use the graphics functionality to design book covers with Golang. Since I published the blog post it’s become one of the most read posts on my site. I’m enjoying having the time to spend on writing developer content.

I’m even contemplating starting an opinionated blog on architecting solutions in AWS. After running large workloads in the cloud for five years; I’ve got strong opinions on how health applications should be designed and deployed.

I’m presenting at an AWS roadshow in Edinburgh on the 3rd of November. As such, I’ve spent this month pulling my slide deck together. I detest using Microsoft Powerpoint; and have been experimenting with using Asciidoctor to produce the slides. The resulting PDF is pretty good. With minimal changes to the PDF theming file, I now have a PDF file which opens in presentation mode. I’ll certainly be writing up the process in future blog post.

At band, we got sight of the area contents test piece; and so the practice and sectionals begin. On the 12th, we performed a charity concert to raise funds for Hospice at Home, an independent charity committed to providing high quality care and support for adults who have palliative and end of life care needs. The concert at Wigton Road Methodists Church was well received.

For the last two weeks of the month I was full of a cold. This knocked me for six. I felt worse than I did with Covid. It was bad enough to prevent me practicing the cornet.

Body chart markup

I worked on a new challenge this month. I needed to see if it was feasible to create a system to allow clinical staff to mark up digital body charts. The video below shows what I’ve managed to create so far.

As you have JavaScript disabled, I wasn’t able to render the video player for you. However, you can link to the video here.

The system uses a HTML5 canvas tag and leverages Fabric.js to handle the majority of the drawing. Since the video, I’ve also added zoom in/out and panning of the canvas.

It’s starting to show promise, and I’ll be using this on a Dermatology referral request. The doctor would select the location of the moles on the body, and then attach photos to the point. The photos and points would be attached to the referral.

Video file conversions with FFMPEG

This month I learned how to do some video file conversions with ffmpeg. I’d recorded a short screen cast of the body chart software using Kazam to share with colleagues. The resulting MP4 couldn’t be uploaded to Twitter, or shared on WhatsApp as it was the wrong format.

However, ffmpeg could convert the video to the correct encodings with this command:

1ffmpeg -i input.mp4
2    -c:v libx264
3    -crf 20
4    -preset slow
5    -vf format=yuv420p
6    -c:a aac 
7    -movflags +faststart 
8    output.mp4

HLS Video

After reading this blog by xeiaso, I too want to start hosting videos on infrastructure I own/manage.

HLS stands for HTTP Live Streaming. Its a HTTP-based adaptive streaming protocol developed by Apple. The protocol has widespread support in media players and the HTML5 video control can play the videos in most browsers.

I’d never heard of it before, but there is a segmenter which divides the video into fragments of equal length. Each fragment is roughly ten seconds of video The web browser then requests the fragments as they are needed. The segmenter also creates an index file that contains references of the fragmented files, saved as .m3u8.

To covert an mp4 file into the HLS format use the following command:

1ffmpeg -i ./input.mp4
2    -profile:v baseline
3    -level 3.0 
4    -start_number 0 
5    -hls_time 10 
6    -hls_list_size 0 
7    -f hls output.m3u8

The video embedded under the body charting section is using HLS, with a fall back to an MP4 version of the video if HTTP live streaming isn’t supported by the client. I wrote a more depth blog posts at — HLS Video Streaming with MP4 Legacy Fallback.

Links

Reading

Still reading and enjoying the 5th book in the Wings of War series, Of Sand and Snow

Listening

I’m listening to Craig Alanson’s Expeditionary Force, book 8 : Armageddon. This month I subscribed to a new podcast titled CoRecursive the story behind the code. I especially liked the episode with Richard Hipp telling the The Untold Story of SQLite.

Watching

The Sky History channel has a good series called Cracking The Code which I enjoyed. It reveals the greatest codes known to humanity and the brilliant minds that cracked them.

Google released well-produced YouTube video series called Hacking Google. Start with the first one in the series Operation Aurora and then follow the links to the others. Threat Analysis Group, Detection & Response, Red Team, Bug Hunters and Project Zero.

I remember as child I loved watching The Paper Chase with my mum. It follows the lives of law student James T. Hart and his classmates at an unnamed law school. Well the episodes are free to watch on the Internet Archive. I might re-watch them and see if it’s as good as I remember.

A work colleague recommended The Watcher on Netflix. I enjoyed it immensely. Ominous letters. Strange neighbors. Sinister threats. A family moves into their suburban dream home to discover they’ve inherited a nightmare.