Kicking off machine learning

Monday… The final ethics class on the topic of fairness in sports. Tomorrow I write up the notes for the next week of classes. I’m up to doing 10 classes a week now! I also need to get working on that course outline for creative thinking and problem solving.

This evening I am tutoring the first lecture on machine learning for my image processing course. It’s quite introductory, with just an overview of machine learning, very light on the guts of how it works. The technical part is mostly all on probability distributions, which is the fundamental maths required to understand how machine learning works. It’s very different to courses that I’m used to. It doesn’t delve down far enough to understand how everything works in enough detail to implement it from scratch. Which I grant is appropriate for the audience, engineering and business students doing one course in image processing to get some idea how it works, rather than people destined for a career in image processing who need to understand it a very fundamental level.

New content today:

More experimental baking

I had more leftover sourdough starter today, so I decided to try making some sourdough focaccia using it, plus a bit of yeast to get it to rise. (Sourdough rises when the starter is fresh, but not if the starter has been left over and sitting for a few days.)

It turned out pretty well!

Sourdough focaccia

I think I baked it a little too long, and next time I won’t use the base heat setting in the oven, as it made the base very crisp and close to burnt. But otherwise it was really good. For dinner I made a simple tomato and chilli sauce with pasta, and we have that with the focaccia and some extra virgin olive oil and balsamic vinegar to dip it in. A very simple and rustic Italian meal, but delicious.

In other news, Scully had her groom today, and now she’s all fuzzy and velvety with short hair again. I didn’t get a photo to compare with yesterday, but maybe I will tomorrow.

I spent the afternoon working through the exercises for Monday’s next lecture in the image processing course I’m tutoring. We’ve finished the basic image processing stuff and are moving on to machine learning for pattern recognition. I have a very high level knowledge of machine learning, but have never dealt with the nitty gritty aspects of it in detail before, so this part of the course will be more challenging for me. This first lecture is really an introduction to machine learning, and most of the actual work is on probability distributions, which I have more familiarity with. So the work wasn’t too difficult, although I had to struggle with Matlab’s weird syntax issues for a while before getting something to work.

I’ve also started work on a new course for Outschool, to complement the ongoing classes on critical and ethical thinking. This new one will be a fixed length course of about 6 weeks, on creative thinking and problem solving. I plan to teach the kids how to think about problems and come up with creative solutions to them. And as an example context, I thought that over the six-week course we could work on a specific creative problem: designing a simple board game! The goal would be to have a completed, playable game at the end, invented by the kids, with my guidance. I think this should work well as a course, and I have ideas for all the stages. Just need to write it up and then submit the course for approval.

New content today:

Not so warm, expecting rain

Monday… it was supposed to be warm today, but it didn’t quite reach the heat forecast yesterday. It clouded over early, and has been threatening rain most of the day, but with very little actual rain. That should change later this evening and into tomorrow, because the forecast for tomorrow is 45-90 mm of rain! There’s also supposed to be some moderately strong winds. So it should be interesting…

I spent time today working on some comics stuff. And then this evening was the 4th lecture in the image processing course which I am tutoring. It was good that I worked through the exercises on Sunday, because this week a lot of students needed help. It was a tough one fo them to transfer the theory from the lecture into the practical understanding and code needed to answer the exercise questions. So I had to bounce around in a lot of different teams on MS Teams, answering a lot of questions, and giving the students pointers to how to get started. I really earned my pay tonight!

New content today:

Corners and features

COVID update: 830 new cases in NSW, another new record. Australia has never had case numbers this high. This right now is the worst part of the whole pandemic for Australia, and it’s only going to get worse for the next few weeks. But enough on that for today.

Yesterday morning for breakfast I made sourdough pancakes:

Sourdough pancakes with macerated strawberries

I’ve been making sourdough bread every few days as needed, and in between keeping the starter in the fridge. But my friend who got me started on sourdough says he keeps his starter out at room temperature, and feeds it every 2 days, and so generates some excess starter, which he then keeps in the fridge until he uses it for some other thing… such as sourdough pancakes! The other thing to know is that his bread constantly turns out very airy, with large air bubbles, while mine is always very dense, with only tiny air bubbles. So I wanted to try to emulate what he’s doing a bit more to see if I can get my bread to rise more. The result was I ended up with leftover starter at the end of the week, so I tried sourdough pancakes for the first time. And they turned out really good!

The other feature here is the strawberries. There is currently a huge oversupply of strawberries in Sydney, apparently caused by the COVID lockdown. Everybody is buying groceries online (either for delivery or “click & collect” pickup), rather than browsing around in the supermarkets. And apparently strawberries are primarily an impulse buy – not something that people add to their baskets when doing grocery shopping online. So nobody’s buying strawberries. And so the price has crashed… I picked up three punnets for what I would normally pay for just one. I might get more this week if the price is still low.

Today I worked on getting up to speed with the next lecture in the image processing course I’m tutoring on Monday evenings. Lecture 4 is on feature detection in images, primarily Harris corners and SIFT features. While I know about these things and had a basic understanding of them in my time at my previous job, I’d never fully internalised exactly how they work, at least not to the point where I could remember the details. So I had to do some reading up and make sure I understand the basic principles and how to implement them. And then I tackled the tutorial questions for the week, writing some Matlab code so that I have a ready-made solution which I can explain as necessary to students who need guidance at various stages. It took me well more than the hour that the students have assigned to this task!

After finishing that, I worked on assembling comics in time for Monday. I’m cutting this batch pretty close to the bone – I’ve been so busy with stuff lately that I couldn’t get to it earlier to ensure a comfortable buffer.

The other thing of note today was the weather. It was warm. Sydney recorded 25.4°C, up to 28.6°C in some suburbs. It was also very smoky, with hazard reduction burns being carried out in several forest areas around the city outskirts. The northerly wind blew this into the city, and where I live it varied between barely noticeable to strong smoke smell and dull orange sunlight throughout the day. The forecast for tomorrow is even warmer, up to 27°C in the city.

And it’s still winter. We’re starting to wonder what this summer is going to be like.

New content today:

Applying binary morphologies

This evening was lecture 3 of the image processing course that I am tutoring, dealing with some more basic image operations such as edge detection and binary morphological operations. By combining these you can do quite a lot of interesting things, such as image segmentation – identifying the shapes of objects and structures in an image.

The lecturer tried a workaround for the problem I had last week with unmuting my audio. During the tutorial time, he set Zoom so that nobody could unmute themselves. It turned out that this was a useful workaround – because when I joined a team chat on MS Teams, and unmuted myself, Zoom popped up an error dialogue telling me that it couldn’t unmute me because the host had disabled it. So I could talk on Teams without also talking on Zoom, like happened last week. But it does definitely indicate that clicking the unmute button on Teams is – for some reason – attempting to unmute me on Zoom as well.

I discussed this with some friends and they seemed to think this must be because the mute functions in both Teams and Zoom are implemented by accessing the global audio settings of my computer, rather than settings local to each program. So seemingly I can’t unmute just one program – both programs actually tell the system to unmute the whole computer. Which seems a completely daft way to implement things. And also – why do only I seem to have this problem? Why isn’t the net full of people making the same complaint??

Anyway, technical problems aside, today’s lesson went more smoothly than last week. I joined several student team chats and helped the students with various problems and questions. It’s good doing useful work and having students appreciate the assistance.

Other things I did today included the final lesson of the ethics of machines and robots with my Monday morning group. And going out for a walk at lunch to get some fish & chips and eat with Scully in the park overlooking the harbour.

The weather by the way is very spring-like. Warm and sunny, and many trees are starting to put out new green shoots and foliage. It’s definitely the start of the new season already… a very early end to winter. August is usually cold and very windy here in Sydney, but no sign of that at all yet. Temperatures for the next week will be 20-24°C.

New content today:

Erosion and dilation

Today I went through the material for Monday’s third lecture and tutorial on image processing. It’s about image segmentation and morphological operations (such as the titular erosion and dilation). I know about this stuff and how it works, but I’ve never actually done work with it or implemented it, which is what I have to teach in the tutorial session on Monday. So I worked through the exercises and got familiar with how to do them all in Matlab.

There was also another big walk with my wife and Scully today. We have a new favourite route, out along the peninsula west of us, and along a bushwalk track by the harbour shore, which emerges near streets at a small grassy area, which is quiet and where we can get Scully to run around chasing a ball for a while. It’s near the panoramic photos I posted in this entry a week ago.

COVID news was very bad today, with a new record high 466 cases in New South Wales. This has finally prompted the state government to strengthen the current lockdown restrictions, introducing them across the whole state, and reducing the distance you can travel from home from 10 km to 5 km. There’s a range of additional restrictions and removal of exceptions to get people moving around less as well. If only they’d done this 8 weeks ago when this outbreak began, we wouldn’t be in this current mess now.

New content today:

Late image processing Monday update

I was busy Monday evening with the image processing university course that I’m helping to teach. It was the first lecture to be followed by actual exercises for the students to do, which is the part I’m helping with. I spent much of the afternoon preparing by going through the exercises myself, and teaching myself a bit of Matlab at the same time.

The lecture part was good, with close to 200 students joining in on a Zoom meeting. Then we split up into teams of 5 students, each team with two assigned tutors to assist them. For this we used Microsoft Teams, where the lecturer had assigned each group to a separate team within the app. I had to jump between several teams to see if the students needed help and then assist them.

The problem I had was that several of the teams started voice chats to discuss the exercises. I tried joining one and was initially muted. I hit the unmute button and started talking… and after a while someone in the Zoom meeting said that I was talking there to all 200 students! I placed the MS Teams and Zoom windows so I could see both on my screen. I hit the unmute button in MS Teams, and I saw that Zoom also indicated I was unmuted there. Zoom was responding to mouse clicks and keyboard commands that should only have gone to MS Teams!

So I had no way of unmuting myself in MS Teams without also unmuting in Zoom! After a few minutes I had to shut down Zoom so that I could use voice chat in MS Teams. But even after I’d done this, the unmute function started to work intermittently in Teams – sometimes I’d start talking, thinking I was unmuted, but they couldn’t hear me, and sometimes they could. It was incredibly frustrating.

So I spent most of the time just using the text chat feature in MS Teams to provide assistance to the students. I’ll have to look into the muting function and see if I can work out what’s going on, and why there’s a weird interaction with Zoom. By the end of the hour assigned for the exercises, I felt like I’d been useful for several of the teams, so that was good at least.

With the class ending at 9pm I neglected to write this up and just wound down before bed time.

New content today:

First image processing lecture

This evening was the first lecture and tutorial of the image processing course that I’ll be tutoring for this semester. I had a bit of a mad scramble today when I realised that I needed a Zoom account based on my new university email address, and also a Microsoft account with the same address for using MS Teams, and then realising I had no idea how to get them as the university domain had been reserved by the university with both Zoom and Microsoft, so I couldn’t just create a new account and choose my own password. I had to go via the university somehow.

In the end I figured out MS Teams, but I still haven’t figured out what to do about the Zoom account – I may need to contact the university IT department or something. Thankfully I could join the Zoom lecture as a guest, and told the lecturer my predicament (via email) and he let me in.

The first lecture was very introductory, and the tutorial segment was just the lecturer going through some basics of how to use MatLab. Next week we get stuck into some more meaty content, and the tutorial part will be the students doing exercises while I supervise and assist, mostly via MS Teams I think. There are 5 tutors and I think each will be assigned a subset of the students to look after, so I’ll have about 30-40 students to handle. So next week will be the real test of how well I do with this! Hopefully I’ll get a Zoom account sorted by then.

New content today:

Training and practice

Saturday… I had to complete the pre-job training I started yesterday. I was wrestling with trying to get the online training module loaded in Firefox, which was stated to be necessary because it didn’t work on Safari or Chrome. But My Firefox was refusing to let me log in, for a couple of frustrating hours until I realised I had JavaScript disabled. 🙄

Then I did the training which was supposed to take an hour, but ended up taking maybe 90 minutes.

And I’ve spent some time working on the Galactic Puzzle Hunt with friends. A bit too much time, perhaps…

New content today:

Administrivia day

170 new COVID cases in New South Wales in the last 24 hours, which is a welcome drop from yesterday’s high. Fingers crossed that this is the start of a downward trend, although to be honest I’m not very confident about that.

I spent much of today doing administrative tasks for the new casual tutoring job that I applied for a few weeks ago. I’m now on the University of Technology Sydney’s staff list as a casual academic. I needed to sign a contract, submit a passport quality photo for a staff ID card/access pass, activate my staff email account, do an online training module on occupational health and safety, do another online training module on sexual harassment, update my academic qualifications in the human resources database, add emergency contact person details in the HR database, check my banking details were correct, and then check out the course outline and presentation materials for the course I’m going to be tutoring. At some point I should also download MatLab and try out some of the exercises. (Being a staff member gives me a MatLab licence!)

It’s a course on Image Processing and Pattern Recognition. The lecturer is an associate of mine from my previous job. My role is as one of the course tutors, giving advice and assistance on the subject to individual students during the practical work portions and the end of semester project. The course begins on Monday, running in the evening from 6-9pm. Normally it would be face-to-face at the university, but because of the current COVID lockdown in Sydney, it will be all online for the first few weeks at least.

Tonight is another virtual games night with my friends. We’re doing an Olympic themed night. Each one of us has picked a country and we’re recording firsts, seconds, and thirds in each game we play.

New content today: