hammertoe

A coffee-loving software developer.

So I thought I'd try making home made bagels. I saw a post somewhere on twitter of someone doing it. I couldn't then find that tweet again so had a hunt around and found some suitable recipes and had a go. They are delicious, and really a lot easier than I thought to make.

Ingredients

for the dough:

  • 7g yeast
  • 1 tbsp sugar
  • 2 tsp salt
  • 450g strong white flour
  • 300ml warm water
  • sesame seeds / poppy seeds / etc to go on top (optional)

for the water bath:

  • 3 tbsp sugar
  • 1 tbsp marmite (optional)

Method

Put the yeast in a mixing bowl or kitchen mixer. Add in the sugar and warm water and let stand for 10 mins for the yeast to active and go frothy. Add in the flour and salt. Mix to a dough and kneed for 10 minutes. Or just turn on the mixer with the dough hook and have a coffee.

Put the dough in a lightly oiled bowl and cover with cling film and leave in a warm place for an hour or until doubled in size.

Turn out the dough onto a floured surface and divide into 8-10 balls. Flatten the balls slightly and then poke through the middle with the handle of a wooden spoon to make a hole. Then twirl the dough around in the air on the end of the spoon to widen the hole until about 3cm wide. That bit is quite fun!

Bring a large pot of water to boil and add in the sugar and marmite. The marmite is optional, but I think really adds to the taste. Even if you don't like marmite. My wife and daughter HATE marmite, but even they loved these bagels.

Pre-heat the oven to 220C/fan 200C/gas 7 (420F).

Drop the bagels into the water 3-4 at a time and let them boil for 1-2 minutes per batch, turning them over halfway. Then fish them out (end of the wooden spoon, or a slotted spoon) and repeat with all the bagels. Put the bagels on a baking tray either greased with a bit of oil or lined with greaseproof paper.

Sprinkle the seeds over the top if you want toppings on the bagels.

Put in the over and bake for 20-25 minutes until browned on top and hollow sounding when tapped on the bottom.

Slather in butter, cream cheese, or whatever you want

Devour!

Read more...

Hit a wall

This is my over-riding feeling this week. I feel I have mentally hit a wall. Not sure if it is a mental thing or physical tiredness. Probably a bit of both. My wife has had Covid-19 symptoms for nearly two weeks now. Today her temperature is under 38 degrees for the first time since the symptoms started, but she still has a tight chest, especially in the evenings. I feel like I am running about all the time, no sooner do I sit down to do some work I'm back up making tea, or food for family.

It has been nice weather here in the UK though, and I've been out BBQing most evenings... mainly as that is my most natural state when needing to provide food. Made some great burgers last night, and baked some buns that came out pretty well too.

One thing I did notice this week whilst out walking the dog... the cherry blossoms at the end of my road. I've lived in this house for nine years now and somehow I've only just noticed them. As you can see from the photo in the header, they are pretty damn obvious. So maybe as a silver lining in all this I might notice things I have not done before.

The IBM Work From Home Pledge

Work have been amazing through all this. Having only worked for SME's / startups / myself before, and having heard some of the horror stories of how people have been treated by large companies recently, I have to say, IBM have been amazing. The General Manager of my division recently circulated this “work from home pledge”:

The main points are:

  • I pledge to be Family First.
  • I pledge to support Flexibility for Personal Needs.
  • I pledge to support “Not Camera Ready” Times.
  • I pledge to Be Kind.
  • I pledge to Set Boundaries and Prevent Video Fatigue.
  • I pledge to Take Care of Myself.
  • I pledge to Frequently Check In on people.
  • I pledge to Be Connected.

And this is not just some twee initiative from some HR person somewhere. This is a message that has been re-iterated and reinforced at every level of the reporting chain from my local team lead, right the way up to the CEO.

Events

This week there was a conference organised by another part of IBM, the AI/ML Online Developer Summit. It was hosted on Crowdcast, which worked pretty well. Although it is not licensed for use outside the US for IBMers due to GDPR issues. There was a good talk by Lavanya Shukla from Weights & Biases (What a great company name! I actually think this would be great name for a bar too) on optimising hyperparameters for machine learning models.

My team are actually running our own event next week on a similar nature, but aimed I think at slightly less experienced audience than the one above. Understanding AI. It is a half-day conference starting at 2pm UK time. There will be about half a dozen speakers, including me. I'll be doing a talk based on my Ceci n'pas Un Canard talk I've done before.

One of the issues we are starting to see is that due to the lack of natural 'borders' now we are moving events online, that some events are starting to clash with each other. Previously it didn't matter if an event on one topic happened at the same time in two physical locations. You couldn't be in New York and London at the same time. But now we are holding events online we need to be more aware, as it can give quite confusing messages. I even managed to tweet out the wrong date for the conference I'm speaking at next week, due to getting it mixed up with a conference of near identical name happening the week before!

Twitch Stream

I did my second Twitch stream this week. This time on Scraping Web Content using GraphQL and Python:

https://www.twitch.tv/videos/592661499

I was showing how to fetch data from Coil itself in order to archive, process or republish the articles elsewhere. It was great to see some of the XRP Community members in the chat, and had some good two way interaction debugging an issue I had (Thanks Kev!).

On a technical level it seemed to work better than my first attempt. The two changes I made were that I tried to capture my desktop as opposed to just the Firefox window in OBS. This seems to use less CPU from what I have read. I also found that my webcam was not set to the highest resolution it could go to, that and switching off the overhead light in the room seemed to make a difference. The video stayed in sync this time and my lockdown-hair was in full crisp clarity.

I was impressed with the stats from this live streaming session:

A total of 121 unique viewers of the stream!

What was interesting in this topic, was that the HTML parsing library BeautifulSoup was actually the bit that most people seemed to take value from. So I might do a session sometime based directly on that.

Read more...

My wife: “You know what would be really good is a pudding “

Me: “You not full of Easter egg? “

Wife: “I’m poorly and need looking after “

Me: “And what would you fancy my dearest?”

Wife: “What ever you can knock up “

To be fair, she has had a temperature and tight chest still. So pretty sure she has Covid-19 and been in isolation in the bedroom on her own for the past week.

So I wanted to make something, but having just demolished my own chocolate easter egg I was thinking of something non-chocolate for desert. And quick.

We had some strawberries in the fridge, so I made up some strawberry cookies:

Preheat oven to 180C (350F)

  • 1 egg
  • 2 tbsp lemon juice
  • 100g (½ cup) of vegetable oil
  • ½ tsp vanilla extract
  • 120g sugar (¾ cup)
  • 1 ½ tsp baking powder
  • 150g (1 cup) chopped fresh strawberries
  • 230g (1 ¾ cup) plain flour

Whip the egg, lemon juice, vanilla and sugar in a bowl. Add the flour and baking power and mix in. Stir in the chopped strawberries.

Line a baking tray with baking parchment. Spoon on desert-spoon size dollops of the mixture with a bit of space for it to spread as it bakes.

Sprinkle a bit of caster sugar on top of them.

Stick in the oven for 15-20 minutes.

Enjoy!

This is a tutorial based on a live coding Twitch session I did earlier this week. The full Twitch session (about an hour long) can be viewed here:

Outline

The UK has been in 'lockdown' for the past couple of weeks due to COVID-19, with all non-essential travel prohibited. There is a lot less traffic as no commuting going on. Bristol City council have a number of environmental monitors around the city and provide an open data feed we can use to collect the data and see if we can visualise it. Will we be able to see a change in the measured air quality as a result of the lockdown?

[The NOX sensor on Colston Avenue in the centre of Bristol City]

This is a step-by-step Python notebook covering the same topic based on what was coded in the Twitch session. In this notebook you will learn:

  1. What is Watson Studio and how to get started on using it for data analysis in Python
  2. What is the Pandas library, and how you can use it to process and visualise data
  3. Fetching data from a public API

Results

In the session we looked at the data in a couple of different ways. Firstly we looked at the total NOx levels from multiple sensors in the city.

We can see a noticeable drop in the overall NOx polution level around the start of April, shortly after the lockdown started.

We then looked at the overall sensor data over a week before and a week after the lockdown grouped by hour of the day and plotted it both as a scatter chart...

...and as a line chart using the mean values across all days:

It is very clear that the overal NOx level is lower after the lockdown. More specifically, the morning rush hour polution peak at 9am is significantly smaller, and that the end-of-work-day peak has vanished completely.

Notebook

Below is the full notebook that you can run, you can click on the link to go to get the full version and run in live yourself. To use Watson Studio you will need to create a free account on IBM Cloud.

So keep tuned for future sessions on Twitch on the IBM Developer Twitch channel.

Quite a productive week this week. I think our team is starting to work out what our place is in this current online-only environment. We are used to running in-person workshops and so it has been a challenge working out how to move them online, and yet still offer something different from the usual run-of-the-mill online offering already out there.

Meetups

I attended two meetups/conferences this week:

COVID-19 and AI: A Virtual Conference, hosted by the Stanford Institute for Human-Centered Artificial Intelligence (HAI). This was a full day of talks, in a traditional 'conference' format. Divided into four sessions:

  1. Opening Remarks, Landscape and Framing
  2. Social Impacts & Bio-Security
  3. Tracking the Epidemic
  4. Treatments & Vaccines

I think some of the speakers were feeling a bit out of place doing their talks remotely, and I felt a lot of them were just reading a pre-prepared text they had. Whilst that sometimes works in-person, it very much doesn't add anything online.

There was disappointingly actually very little AI in the content. Much of it was just looking at policy and stats. That said it was very interesting talk by Kate Starbird talking about the spread of misinformation during a pandemic. And a great talk from Jason Wang on Taiwan's use of data analytics to track and control Covid-19.

But overall the format of 30 minute speaking slots followed by a panel discussion with all speakers seemed to work pretty well.

I also “attended” a BrisTech meetup in which Warren Boult, and engineer at Candide spoke about Kubernetes-native ML pipelines with Argo and Seldon. This is an area I think I'm going to need to be looking at more in the near future, as I think one of the next challenges is deploying ML models and training.

Creating Content

I great post shared by a colleague on “How Content Creates Content”. The post talks about how you can re-use and re-package various bits of content in multiple formats and for multiple attention spans.

This is a format I'm hoping to try and use myself going forward and be a bit more planned in my content and how it all relates to each other. So for example, I'm going to be doing Twitch streams on certain topics, and then write up a blog post about the topic covered. Those topics will then be used to generate in-person (online currently) workshops in which we go into more depth. And then those workshops used to generate tutorials, for example.

Twitch

So yesterday I did my first live Twitch coding stream! Whilst I've presented live shows before, this is the first time I've coded live. And it all went pretty well.

There was a panic at the start as due to a communication mix up I didn't get the key to the streaming account until literally the minute I was due to start. And apparently my webcam was lagging a bit, but the screenshare and audio seemed to be in sync.

The fans on my Macbook were going like crazy, and I had to put a noise cancellation filter on the audio as you heard the fans in the mic otherwise. I was using an AKG Perception 120 USB mic that I've had for a while, and a Logitech C925 webcam. The quality seemed to come out OK, although I think the light from my windows was causing a bit of a white-out on my face. I'm due to be getting a green screen at some point, but for now had my trusty triffid in the background. We worked out that that plant is only a few years younger than the youngest member of my team!

I was demonstrating Watson Studio and pulling in some live data from Bristol City Council air quality monitors to see if we could see a change in the level of pollution compared to before the lockdown. To find out the answer (you can probably guess!) stay tuned for a dedicated blog post in which I walk though it.

Pronouns

I've always been aware of pronouns and what people want to be referred as. My eldest two kids are both transgender, and so it is something I've become very much accustomed to with both them and their circle of friends. But having said that, I've not really bothered with the listing of pronouns I want people to use for me in my bios on sites. Why? I'm a white, cishet, male... I'm the 'default', right?

Well yesterday I saw something that changed my mind. It was a combination of two things. Firstly a colleague of mine, who I only just 'met' (online) I would have assumed uses female pronouns has listed their pronouns as (they/she). So it prompted me to use the pronouns they want me to use without asking... but secondly and more importantly, we have a new CEO at IBM, and with that we have a new President too (moved over from Redhat). And in the first communication the President sent around, at the bottom, without any fanfare was this:

He has listed his pronouns. This was picked up on the IBM LGBT & Allies slack channel and the response was overwhelmingly positive. One particular comment stood out:

I’ve been following Red Hat for about 10 years and I’ve heard a lot of positive things about Jim. This is the first time I’ve had any communication directly from him though, so it counts for a lot

The small things. They matter. So why does it matter that people like him, or I list our pronouns if they are 'as expected' from our names and appearances? Because it normalises the practice. Five or ten years ago, if my colleauge above had listed their pronouns it would have seemed 'odd'. It would have been an abnormality. If the President of the company does it, then it is just one of those small subtle signs to others. That they are welcome, regardless.

So I am starting to update my bios to include my pronouns. 🏳️‍🌈

The submissions are now open the the 3rd annual Call for Code. This is an inititve from IBM to encourage developers to use their skills to help work on solutions towards tackling climate change. Here is a short video from Willie Tejada, IBM Chief Developer Advocate introducing Call for Code:

You could have chance to win $200k and deploy your solution worldwide.

The submissions are now open, go to the Call for Code website to register your interest.

This year, we also have included a challenge related to COVID-19, running in parallel to the climate change challenge.

So IBM are calling on all peers across our industry to take on the challenge. We are calling on you — the world's technologists — to build solutions to combat the effects of COVID-19 in the following areas: Crisis communication, remote education, community cooperation.

8 out of 10 developers, first responders and activists agree that Climate Change is something that can be reduced or combatted with technology.

Commit to the Cause. Push for Change. Answer the Call.

Office

So, I have my 'office' sorted out now. One side effect of the lockdown is that all the recycling centres are closed, as are the charity shops. And no-one is able to collect anything you sell on Gumtree, etc. So hence, as you might see in the header pic, I have a mattress still in my 'office'. I have dismantled the bed, but no way to get rid of the mattress at the moment!

Covid-19 continues, and we are all working from home still. Things seems to be getting into a bit of a routine in our house. My daughter is getting into home schooling. One advantage is she can dye her hair (not allowed at school). And so she currently has one magenta streak and one blue streak... looks like a mini Harley Quinn.

As you can see in the photo, I've managed to dig my Bose speakers out. They've been packed away in the garage for the past 3 years as I've not had a home office. I forgot how good music played on decent speakers sounds. Now 'decent' is always relative, but I don't have a hi-fi setup at home at the moment. And these powered, built-in amp speakers actually work pretty well. I have a big pair of Eltax floor standers in the garage, but no space to put them right now.

Also, I dug out from my garage my whiteboard. Again, not used this for about 3 years, since I had my own office. I used to work for enquos, a 'quantified self' company. We were building an amazing app for tracking all aspect of yourself, excercise, daily activity, nutrition, mood, etc. all in one place. I still had attached to the whiteboard some of the “personas” we created during an early development sprint in Berlin.

These “personas” were fictional users we created. We had about ten in total, and we used them to help drive the development of the product and reference who would be using which features and how. Bit of a throwback!

Oh, and also there was this...

My daughter was 6 at the time and in my office during school holidays. She would often come and spend the day with me and do some colouring or artwork. This time though she wasn't as happy!

Feel: Down, grumpy because Daddy isn't listening to me over and over again

Well she forgave me it seems. Now we are on lockdown, it reminds me of that time she used to come play in my office.

She would spend a lot of time bouncing on the sofa, dancing. You can see some of the personas behind her, and a combination of network diagrams (me) and Merida from Brave (her).

First Online Meetup

Our team held it's first online meetup this week. It was a workshop on GeoPandas, a python library for working with geospatial data (e.g. maps and the likes).

The workshop was run by my two colleagues, Yamini and Margriet using Webex. I was online helping people out in the chat session with any problems they had following along. Overall it went amazingly well. The number of attendees was far more than we imagined, and the number of people that stayed the whole way through was above what we expected. It is one thing running an event “in person” after work with drinks and food and networking, but another thing running it in in the evening when people are at home and other time pressures.

The workshop itself is all online in our Github repository if anyone else wants to do it. You will need to sign up for a free IBM Cloud account. Look out for more workshops coming up. I'm hoping to do one on machine learning soon.

Twitch

I'm hoping to do my first Twitch session this week, I need to get a slot arranged, and will then announce a time. This has now likely to be even more a part of my role at the moment as my colleauge Sean who was also going to do it has now moved full time on to a volunteer project he is working on...

3D Printed Face Visors

Sean is working with a collective of UK people printing protective face masks for medical staff here in the UK:

And the project took off over the weekend...

So Sean has been allowed to move full time onto this endevour, which is fantastic. So I'm going to be taking over the role of co-ordinating the Twitch content that our team do. Which by allowing Sean to work on the masks at least gives me a feeling of helping out our front line workers.

Speaking of which, on Thursday we has a national applause for the UK medical staff working so hard at the moment. It was one of those things you see about and you wonder if anyone was going to actually do. And yet, at 8pm most of our street was out clapping for them. In the centre of cities this could be heard throughout the area:

The lockdown economy

I want to draw attention to a great local website someone has started here in Bristol, The Lockdown Economy site:

It lists a whole load of local, independent businesses (yes, Bristol is mainly beer and yoga!) who are all offering delivery services or remote offerings.

One of my favourite cafes, The Cauldron were one of the first to quickly adapt to the new situation and rebranded themselves the Cauldron Dispensary. Rather than being a walk-in cafe/restaurant then switched quickly to being a 'village stores' type place, offering food and supplies. Then when the lockdown came into effect they pivoted again to now offering deliveries of food and supplies. They sell 'provision boxes' with local grown veg from the farm nearby, local coffee from the roaster up the road, meat from the butchers next door. A way to support multiple businesses at once.

And one thing they now do... Sunday roast dinners! The “Sunday roast” is a British tradition, and they are supplying all the ingredients and everything you need to make sure you can still do a Sunday roast at the moment (many big supermarkets are out of stock of meat, for example).

IBM Call for Code

This deserves a blog post all of it's own, so stay tuned.

Take care all!

So, this weeknote is a bit late as this is the second attempt at writing it as for some reason the first attempt was lost halfway through :(

It's been a weird week again, with Covid-19. Whilst I'm used to working from home and working remotely, this does feel a bit strange. The UK went on lockdown last night and so now we are only allowed out for exercise once a day, and out to go for essential shopping. Most of the shops, besides food shops have closed. I've been in isolation for the past two weeks, so not much has really changed for me, but still feels a bit stranger now.

Working Environment

This is still a work in progress, I've managed to get spare bedroom upstairs cleared (since one of the kids moved out) and going to convert that to an office. Have had to dismantle the bed there, to move it out the way, so as to fit in the sofa bed that is in another room, that needs to be moved out, to be replaced with a single bed for another kid. Feels like one of those sliding tile puzzles... know the ones I mean? Once I've got that sorted out I think will be easier to concentrate on work.

We've also been having a number of 'social hour' type hangouts online with colleauges. This again, does feel strange as we spend so much time communicating online anyway in my line of work, it sometimes seems unnecessary. But it does seem to be helpful to chat, even if about other random things. Some colleagues have produced videos on ranges of their hobbies, such as bee keeping and coffee making. One colleague created a virtual 'bar'. It was nothing more than a video-based group chat, but the surround of the screen was themed like a bar. He talked about doing various ones, Tiki bar, Irish pub, gay bar, etc. Whilst a subtle change, he did say it seemed to have quite a big psychological effect on his friends when they were chatting as didn't seem as formal or sterile as your average Zoom or Webex call.

Meetups

Well most meetups have been moving online now. We have been having quite a discussion in out team how this affects things. The main role of our team is to do in-person meetups and workshops for developers. Hard to do when all under quarantine! So it has been a case of trying to work out which of the gazillion video conferencing solutions will work best for us. As I said, one of the areas we add value is that we are there to help people out as they work through the workshops. Trying to replicate that online is a challenge.

But here is the head of our team, Mo, talking about what we are going to be up to in the near future:

Interestingly, had a bit of a throwback this week. I used to be heavily involved in an Open Source Content Management System called Plone for many years. I even organised the annual Plone Conference for a couple of years with 300 people from 30+ countries all coming to Bristol. The conference moved around to a different city each year. In 2006 it was held in Seattle, Washington. But also simultaneously... in Second Life:

This was put together by a group of people led by Christian Scholz. And was clearly waaaaaay ahead of it's time, as this week a colleague has suggested Second Life as an idea for our virtual meetups. If not Second Life, but maybe something similar?

If there is one silver lining that may come out of this whole mess is that maybe we will start to work more remotely where possible, and reduce our impact on the world. In fact, I've seen some disabled people say “Hey, welcome to my world!” now. Suddenly everything has had to be made more accessible. And some disabled people are actually feeling less left out (besides the obvious fear of Corona Virus) and that there are more things accessible to them. I've seen online workout shows, online churches, online cookery sessions, online poetry readings, online musicians gigs. Many universities and educational institutions are putting things online. In the UK the schools are now all closed, so we are all now homeschool teachers and distance learners.

Twitch

Did you know that IBM Developer had a Twitch channel? I'm going to hopefully be streaming some sessions from it in the near future. I'm thinking about some more stuff about getting more people started with AI and machine learning. So some live coding sessions around the “Intro to AI/ML” talk I've been giving recently.

The great thing with Twitch, is it will be a “warts and all” session. It will be live, generally unscripted, development. So you get to see how everything is done and see everything without the gloss.

Blockchain

I've had a chat with the technology focal for blockchain in the IBM Developer Advocacy group to find out more about blockchain in IBM. So far my exposure to blockchain has been on public permissionless blockchains (mainly the XRP Ledger). But there is (counter intuitively) a real use-case for permissioned blockchains in organisations. So this is something I'm looking to explore more. IBM mainly uses Hyperledger, which is Java based. My Java is pretty rusty, but I'm hoping to dust it off a bit, or try and see how I can interact with it in Python.

One of IBM's most known Blockchain projects is the IBM Food Trust, which is a system for tracing the origin and handling of food throughout the supply chain.

Other Stuff

Call for Code – IBM has launched the 2020 edition of Call for Code. This is an annual competition open to everyone to develop solutions and projects around climate change. There are cash prizes for the best projects and a chance to get further funding and support in developing projects. There is also this year a Covid-19 track as well, for people who have ideas for projects related to helping tackle the pandemic.

Girls Who Code – Code at Home. This is a fantastic resource of projects and free computer science educational resources aimed at getting kids (of any gender!) interested in computing and occupied during this time of homeschooling. I'm looking to start doing some of them with my daughter. There are new projects released weekly.

Podcasts

I've started to get back into podcasts. It seems like this medium is having a big resurgence recently. I've also found now working from home, that sticking on my noise cancelling headphones, and putting on a podcast whilst doing the vacuuming or dishes is a great way of making mundane tasks more pleasant.

Command Line Heroes is a podcast produced by Saron Yitbarek and tells the epic true tales of how developers, programmers, hackers, geeks, and open source rebels are revolutionizing the technology landscape. She has a great storytelling voice and the production value is excellent on it. All leading to quite a spellbinding podcast, that I've found myself really drawn into.

So it has been a very strange week. I'm not on the train as I usually am about now heading to London, but instead working from home self-isolating. Two of my colleagues attended and spoke at a conference recently in which there have been some confirmed cases of Corona virus, and so as a precaution, having spent the day with them last week I'm now also self-isolating. The risk is likely low, but my daughter has had a cough and been off school all week ill, and both my wife and I have got sore throats. Most likely just the general winter lurgy, but rather not take the chance, and so keeping movement down to a minimum.

But still... lots happened last week... as I mentioned, I went up to London to meet up with the team, and another new starter, Liam, was joining us too. Due to other events going on, we only had half the team out to lunch.

No, the team is not all male! By pure chance, Margriet, Yamini and Angela were not able to make it. But still it was great to get to meet some more of the Developer Advocate team I will be working with.

Corona Virus

This is, of course, a big topic on everyone's minds. My new role involves going to speak at conferences and meetups i.e. where lots of people are. Most of the major tech companies have all cancelled their big developer events. Apple's WWDC, IBM's Think, Google I/O... all have had to cancel physical manifestations and go online-only. This could potentially have a silver lining as a lot of these event by their very nature have been self-selecting. Unless you have the funds to travel across the planet and stay in a hotel then you can't attend. And whilst there are some remote opportunities, being there is the main attraction. By moving to online-only it will put everyone on an even footing and hence be more inclusive by its very nature.

Many smaller conferences are being cancelled too. I was due to be speaking next month at DragonPy in Slovenia. I was very much looking forward to visiting Ljubljana, but that will have to wait until later in the year. The organisers have done the responsible thing to postpone it.

Local meetups are also being cancelled or moved into an online format. One tidbit of history I learned today, was that meetup.com itself was founded in the aftermath of the 9/11 attacks on the Twin Towers in New York City as a means to get people out and meeting face to face and build community. So it has historically eschewed advertising online events as that was against the original ethos of getting people face to face. But, they have realised that changes are needed at the moment, and have said they are happy to promote meetup events that have moved to an online format for now.

Data Visualisation

One thing that has come out of this virus is a great visibility of data visualisation as a tool to try to explain what is going on. The number of people confirmed infected by the virus is doubling every 2-3 days. In some ways this has been so striking because of the stark reality of exponential curves. And if you plot an exponential curve on a logarithmic scale, then you get a perfectly straight line. It is almost eerie how perfect some of these lines fit and how all these countries are following in the exact same trajectory as Italy, just delayed by a week or two.

This was taken from the excellent work on CoVID 19 Worldwide Growth Rates by Mark Handley at UCL.

Another very well written article from a data science perspective on this is from the people behind fast.ai and explains a lot about the pressures it will put on the health systems around the world. It includes [although I don't think was the original source of] this, now famous, chart and the phrase “flattening the curve”.

This chart shows how we have a finite amount of medical capacity (beds, ventilators, medical staff). By taking measures to slow the spread, even if the total number of people affected remain the same, we can “flatten the curve” such that is is less of a shock to the healthcare system.

I won't repost all the heartbreaking tweets coming out from Italy at the moment, but suffice to say, it is not a good situation. And it will be hitting other countries too to a greater or lesser extent.

The Washington Post published a fantastic simulation that showed the effect of how “social distancing” can greatly reduce the spread of the virus. It show several scenarios and lets you visualise the spread of a disease through a population.

And lastly, a visualisation that has nothing to do with Covid-19, but I found amazingly powerful in how it shows data, is a piece published in the New York Times: How Working-Class Life Is Killing Americans, in Charts By David Leonhardt and Stuart A. Thompson.

In the article they look at the marked difference in suicide rates amongst young white adults over time. They compare the rates of those with and without a degree and talk about “deaths of despair”. It is pretty grim reading, but from a data visualization point of view, it is amazingly powerful.

IBM Help With Corona

Some people might remember back to the “Computing for Good” project by Ripple in 2013 in conjunction with the “World Community Grid” project that was co-founded by IBM and allowed people to “donate” computing power for social good in return for XRP. It was one of the first ways for people to acquire XRP. The project has been doing work on helping combat Zika, AIDS and many other diseases. Alas, they have said they won't be getting involved with Corona, but there is a far more formidable force that has been involved... meet the IBM-built Summit Supercomputer at the US DoE:

Comprising of 4,608 IBM Power Systems AC922 server nodes, each equipped with two IBM POWER9 CPUs and six NVIDIA Tensorcore V100 GPUs, gives it a peak performance of 200 petaflops, more powerful than one million high-end laptops.

Summit was needed to rapidly get the simulation results we needed. It took us a day or two whereas it would have taken months on a normal computer,

[said Jeremy Smith, Governor’s Chair at the University of Tennessee, director of the UT/ORNL Center for Molecular Biophysics.

](https://newsroom.ibm.com/US-Dept-of-Energy-Brings-the-Worlds-Most-Powerful-Supercomputer-the-IBM-POWER9-based-Summit-Into-the-Fight-Against-COVID-19)**Tensorflow Quantum**
I've started to wrap my head around quantum computing this week. It is something that I have vaguely understood for a while, but I want to get much more knowledgable about. Hopefully soon I'll be involved in organising some workshops around quantum computing. Did you know that IBM have a bunch of actual real quantum computers you can use?! I'll go into more detail in a separate post, but there is the IBM Q Experience that lets you actually write and submit programs to run on them.

So this week, my mind was blown when I discovered Tensorflow Quantum a machine learning library that allows you to create hybird classical/quantum machine learning models. I can't even conceptualise what that looks like... so need to do more reading, but looking forward to having a play with it.

IBM is bringing Project Debater to Watson

This week IBM announced plans to integrate Project Debater into Watson Group products like Watson NLP, Watson Knowledge Studio, and Watson Discovery later this year. This is the first commercialization of Project Debater since IBM Research introduced the AI capable of maintaining debate with human champions in June 2018.

This has given me the idea of a project to fetch auto-generated transcripts of YouTube videos and summarise them using Watson NLP. Stay tuned!

Remote Work

This week I have been working from home in an attempt to prevent spread of the Corona virus. Myself and my family have a few of the symptoms, but no idea if it is Corona or just random seasonal lurgy.

But this has brought into sharp focus for many people, the issues of working from home all of a sudden. I am lucky in that IBM are extremely well setup for working remotely. And previously I worked for three years for a completely geographically dispersed startup company. So I'm pretty used to it. But not everyone is, and the sudden requirement has thrown a lot of people into unfamiliar territory. One of the big issues has been space to actually work. I've seen people on Twitter creating ad-hoc desks in their hallways from laundry baskets.

Many people offering tips and advice for the physical and mental changes of working from home. I recently 'lost' my study at home as it needed to be converted back into a bedroom for daughter moving back home again. And so I wrote up about the standing desk / breakfast bar I recently hacked from some Ikea parts. Hopefully might be useful to others.

Meetups

So with so many events being cancelled, my plan of trying to attend one local meetup per week has been hampered. However in a random bit of synchronicity an old friend of mine Calvin Hendryx-Parker, who organises the IndyPy meetup in Indiana, USA, had invited an IBM Developer Advocate to present there. And they were streaming it live online. The talk was on Bias In Machine Learning. The whole area of ethics and bias in machine learning is something not only interests me, but is a major area as a society we need to keep an eye on. Svetlana Levitan from IBM was presenting about AI Fairness 360, an Open Source toolkit developed by IBM to help you examine, report, and mitigate discrimination and bias in machine learning models.

The event started about midnight my local time, but was worth staying up to listen to live. There were a few issues with the sound being a bit choppy at times, but was very interesting to experience as a participant given that we are going to have to be moving most (if not all) our upcoming events to an online format.

Wow... I thought I had not been very productive this week... but this has been a much longer weeknote than I anticipated! I'm not sure I'll be able to keep this level of detail up, but it has certainly been motivational to look back at everything I've done/read/learned this week.

Take care all!

I've seen on Twitter recently a lot of chat about people who are now self-isolating due to Covid-19 and their various work setups at home. Some people are seasoned WFHers, but for some people this has come as a big change to their working routine.

One common topic is that of workspaces. If you use a computer for work, where do you put it? Where do you sit with your laptop? What if you live in a studio apartment and several of you are trying to isolate? I've seen posts of people with laptops on top of laundry basket in the hallway.

When I moved into a new office myself about 4 years ago, I had no desk at the the time and used a pile of boxes of leaflets as my make-shift desk, and a smaller pile as my chair.

One common complaint is, of course, ergonomics. If you are suddenly sat for an 8-hour work day using a dining room chair or kitchen stool versus a proper desk chair, how long before you get aches?

I used to have quite a nice setup at home for my home-office, in which I had a nice Ikea sit-stand desk:

Then one our grown up kids needed to move back home and I lost the 'study' I had as we needed to convert it back into a bedroom again. So I made a desk up in an alcove in the bedroom. I bought a worktop and some table legs from Ikea, and then cut the worktop to fit exactly in the alcove... worked pretty well:

Then the other grown up kid needed to move back home as well... damn kids! And so we lost that bedroom too.

And so I was relegated to my computer on the kitchen table. Alas, the kitchen table in our house is a 'dumping' space for general stuff, and also there isn't much room, so I was constantly in the way, and everything was getting a mess.

So, I decided to build a quick-and-dirty standing-desk-come-sideboard-come-storage. [editors note: 'come'? 'cum'? Hrmmm... me: “I think the 'cum' is latin” son: “that sounds too jizzy, that is not the best way to describe furniture”]

I thought this might be of use for other people suddenly needing to make/find some space at home to work.

And the result:

Another Ikea-hack masterpiece. It is made of two Ikea Metod 60x37x100 wall cabinets screwed together side by side and similarly sized Bodarp Green-Grey doors. I added few packs of Utrusta shelves to go inside. The top is a piece of Eckbacken concrete-effect laminate worktop cut slightly shorter to fit the space. The entire thing is mounted on some casters as well so can be moved away from the wall if needed. There is a radiator behind it, hence the gap you see from the wall. This radiator is only on low as the kitchen already gets quite warm from cooking. The total cost was something like about £180.

It also gives us some extra storage space in the kitchen, which we greatly need:

The entire thing is perfect height for me to stand and work (I'm 5'9” / 175cm) if you are shorter you might need to forgo the casters, taller and may need to add spacers between the cabinets and the worktop.

So I now alternate between standing at the counter working, or sat on the sofa with the dog:

Take care everyone!

Read more...