Longer posts to Mastodon from Micro.blog

After my last post I though my I’d test how longer posts cross post from micro.blog to Mastodon. Maybe I should have added a title. Maybe micro.blog should allow a longer post to Mastodon if the server allows. These are such good questions and someone will know the answer. I just want to know for the future.

That’s enough words - 332

How to make a great presentation

What I am about to go through comes from the research of Dr Jared Horvath and I recommend seeking down his book, YouTube channel and sign up for professional development/learning from him.

I am going to keep this simple (read above if you want the evidence):

  • We cannot multitask. We can jump between tasks but not multitask.

  • We cannot read and listen at the same time. Try it, read a piece of text whilst someone reads it to you. Sorry english teachers, you have been wrong all these years.

  • We want deep notes, not shallow. Deep notes are there to make connections.

Considering these, how do you make a good presentation?

  1. Start with your slides, they should be
    • basic with a plain (white) background
    • have one or just a few words (not a sentence)
    • either no image or a simple one.
    • and yes, this may mean taking 4 dot points an making a slide for each - that's ok your computer can handle it.
  2. If you need a page of information on a slide, DO NOT read it, ask the learners to read it to themselves (no peer reading out loud). Then follow up with questions to check for understanding.
  3. As you progress through your presentation allow time for the learners to gather their thoughts about what has been covered. This may mean summarising key points, providing prompts and encouraging noting/drawing big ideas.

And that is it.

Now go and try it out, I'll give you some homework.

I want you to pick a class and identify what impact you are looking for from making the change. Run a pre test and then a post test implementing the changes. After each test observe the impact.

It could be as simple as observing at how many times students asked what they are supposed to be doing during the lesson.

You can run these tests all the time.

Now to flip the coin, what do you do as the learner?

Remember we cannot multitask

  1. Don't be a speech to text machine.
  2. Remove distractions. AKA the technology of choice.
  3. Fidget widgets are ok because they are not necessarily another task (rabbit hole opened)
  4. Watch and listen to the presenter. Look directly at them
  5. When appropriate, make deep notes and consider connections

Finally, talk to your learners about this, teach them the why and talk about the changes they see in their learning..

Now you know this, you will never see another presentation the same again.

How I use Pocket Casts

Pocket Casts has been my podcast player of choice for a while now. It ticks many boxes including great design, reliability and a great Apple Watch app with offline playback. I believe I have a fairly unique way of using Pocket Casts so I thought I'd share it. The flow is inspired by Castro an iOS app that uses an inbox system to filter new episodes.

I use the Podcasts tab rarely and I have found no need for folders. I subscribe to a small list of podcasts I "always" listen to so maybe that helps my system. Pocket Casts does keep historical data for podcast even if you unsubscribe and resubscribe later, which I think is super neat. Looking at this tab you can see I sort by episode release date, large artwork and I show badges for unfinished episodes.

Pocket Casts whole design paradigm revolves around filters and they are super powerful. Most of my interaction with the app happens with my Inbox filter.

The Inbox filter displays episodes released in the last 24 hours that have not been downloaded. I have the app configured so that any episode added to the queue is automatically downloaded, any podcasts that is automatically set to go on the queue then does not show in the Inbox (or briefly).

So how do I triage what goes in my queue? I have all podcasts set to notify on a new episode and use the scheduled summary feature of iOS 15+. When I check the scheduled summary I will open the Inbox and decide if I want to either:

  1. Add it to my queue
  2. Archive unplayed immediately
  3. Leave to be unplayed and not archived

Anything left will be removed from the Inbox after 24 hours of being released. This keeps the list empty most of the time.

I also use an Unplayed filter as a quick way to work through my list of older unplayed episodes that are not archived. I sort this filter with oldest first.

I have been using this system for a while now and it works really well for me.

Simple App Development with Swift Playgrounds Guides

I have created a series of videos introducing app development using Swift Playgrounds on either iPadOS or macOS. Each video steps through the process of creating a very simple app and I envision this as a great starter to using SwiftUI. I hope you enjoy this basic starter series.

You can jump straight to a YouTube Playlist

Create Apps and Stacks

Adding Colour

Adding Gradients

Adding Images

Adding SF Symbols

Adding Views and Tabs

Issues with Swift Playgrounds and App Development

I have found a couple of issues while using Swift Playgrounds for app development, which is kinda frustrating.

  1. There seems to be no way to run the and test on my iPhone without going down the test flight route. This is disappointing as my students live seeing their apps on their own iPhones. I’m wondering if we can get around this with Xcode somehow.

  2. NavigationViews preview like an iPad/macOS app with a side bar etc, I cannot seem to force iPhone only, so its adding a level of difficulty I did not want to cover with my students. I’m getting around this by making sure in my guides I will focus on using the live preview rather than running the app.

If you have any suggestions to get around these two issues please let me know.

Remember this is the first experience my students are going to have with app development and they need simple answers.

Proposed Computer Science ATAR and Python

Recently my local state educational body (SCSA) proposed an update to the Computer Science course that provides entrance to university. The old course was very out of date and it was good to see a change being made. Unfortunately amongst the good was the decision to only allow one programming language to be taught and that language was Python.

I do not have any direct issue with Python, even though it may not be ideal as a language to teach coding, but that is another discussion.

Below is the feedback I provided SCSA during the feedback phase. I’m hopeful there can be a change made, but I am doubtful.

I would strongly advocate changing the requirement of one language (Python) to having more choice. Below are some of the reasons and considerations:

Are there any any other educational systems that have a computer science university entrance course that only have the option for one language?

If one language is a requirement there should be more consultation on the choice of Python.

Choosing one language will help make an online exam easier to create and assess, this begs the questions of why the exam is testing specific coding skills and not be focused more on algorithmic thinking. There is no need to examine specific language skills.

There appears to be a large influence from Curtin University in the choices made, what feedback have other universities provided?

Arguing that there are many resources for Python is a moot point as other languages also have many resources and support.

There is a risk setting a precedent for the K-10 Digital Technologies course to follow suite or teachers and schools will feel compelled to teach Python so that their students are experienced in Python when commencing ATAR.

Overall, this is dramatic change has serious consequences that I do not believe have been considered or weighted accordingly.

It’s multiapping not multitasking

Why do we say multitasking when using multiple apps to get one task done?

Recently I decided that I need to focus on one task at a time and not multitask. I set all my apps on my MacBook Air into full screen mode to “lock” myself in. I realised quickly that most tasks that I complete require multiple apps, for instance composing an email may require checking another email message or dragging in an image or file. I was spending more time swiping, loosing apps and dealing with how macOS behaves when using full screen apps.

I am now back to using apps as windows, like they should be (with 2 caveats). My focus has improved by removing other distractions, which I will post about soon.

For a closing thought, next time someone says an iPad is not good for multitasking do they mean “multiapping”?

2021 in Review

This is my list of the best (mostly tech) things of 2021.

Best App

This one has to go to WorkOutDoors as it has changed my running life. It not only makes an Apple Watch have all the features of a Garmin/Coros etc but it adds so much more. You can create interval sessions, customise screens and has great mapping functionality. If you are on the fence to getting an Apple Watch for running (less than about 6 hours) this should tip you in the right direction.

Runner-Up: PocketCasts my favourite podcast app. A robust app with loads of features and works amazingly well on an Apple Watch even with no iPhone near by.

Game of the Year

I don't think I have been so engrossed in a game for a while as Fantasian. I don't really have time to play games and we do not have a Playstation or Xbox. Included with Apple Arcade, this is a must game for Final Fantasy fans, it's just great.

Favourite Movie

In 2021 I have taken the stance not to visit cinemas and look to streaming as much as possible. I think I could identify more misses than hits. My favourites, though, include Luca, Encanto, Shang-Chi.

Favourite TV Show

There has been so much good TV this year and along with COVID-19, it's possibly why I have not been lured to the cinema. My stand out would have to be Loki. I am not sure if it was that it was unexpectedly good but because there was so much good. The acting is fantastic, the story compelling and amazing special effects. This (I have not seen Spider-Man: No Way Home) is the best Marvel production by far in my book.

Runner-Up: Foundation, it's just such good Sci-Fi with no glaring issues.

Runner-Up: The Expanse, hopefully it continues some way in the future.

Favourite Book

I decided this year to start listening to books as well as podcasts while running. I chose to start with The Expanse series and Leviathan Wakes, and this has been my favourite this year. I’m now on book 3 in the series and hopefully I get through the whole 9 books at some point.

Runner-Up: The Mystwick School of Musicraft is a beautiful story set in a world where magic is created by playing music. My daughter and I loved this one and it’s a great recommendation for 8 year olds.

Favourite Apple Product

iPhone 13 Pro for the camera alone, but so many refinements over my previous 10S Max.

Runner-Up: Apple Watch Series 7 the larger, always on screen has greatly improved my watch life. Who would have thought that seeing the time without throwing your arm in the air would be life changing? 🤣

Best Non-Apple Product

The Polar Verity Sense heart rate monitor has been a great addition to my running, it’s comfortable, provides good data and very easy to use. If you have a running watch and it does not give good HR data (this effects many people, it’s not an Apple Watch thing) then I would highly recommend buying one.

Runner-Up: Weber Connect Smart Grilling Hub. I just love this thermometer for my Weber. Connects via Bluetooth and WiFi and charged via USB. The app makes it easy to keep track of everything even while I’m not at home. It’s not cheap but I appreciate it every time I’m low and slow cooking.

Most Disappointing Product

This is a hard one but Swift Playgrounds 4. Everything about this update is great except that all the app development functionality is iPad only. Some might not see the need for this to work on a Mac, but if you think Xcode is hard being a developer, try getting 14 & 15 year old students to install and run this it on their 3-4 year old MacBook Airs with 128Gb of storage - you will then know the pain is real. I had such high hopes that this will remove one of my biggest pains about teaching app development and Apple somehow missed the opportunity. Fingers crossed they will get an update out for the Mac next year.

Most Life Changing Hardware

Breville Barista Express. I would not think I would find a better coffee machine than an Aeropress, but this espresso machine has changed my appreciation for good coffee.

Runner-Up: Renpho Massage Gun there are many manufacturers of percussion massage guns but this is the one I chose and it's amazing.

Favourite Tech Podcast

Hands down Hemispheric Views. The hosts are funny, knowledgeable and down to earth. It helps that 2 are from Australia and one is from Perth. I have listened to many tech podcasts over the years, but in this show they stay positive and keep a tight ship.

Runner-Up: BubbleSort Show hopefully this comes back, it's been quiet since August but they make me laugh and always cover Apple Tech news so well.

Favourite Non-Tech Podcast

I am slowly working through the back catalogue and listening to the new episodes but Darknet Diaries is well produced and full of great stories about hackers, hacks, government activity, hacktivism and cybercrime. I really enjoy this one. I put this under not-Tech as I think anyone would get a kick out of it and it really makes you change your password.

Endorphin Speed - What went wrong

Back at the start of May I could not have been happier that I’d picked up a pair of Saucony Endorphin Speeds. I had some PB’s and they were seemingly everything the reviews had said. A few weeks later during a mid week training run something went wrong. At the time I didn’t make the link but the injury I sustained then became a recurring niggle when running in these shoes.

On the cool down home my left, outside, upper calf muscle just went “ping”. I ended up hobbling home and needed days off. I think it took about 2 weeks before things got back to normal.

As I continued training and building to running a marathon the “ping” would come back when running fast. It didn’t stop me but I was concerned it might. I still didn’t blame the shoes as I’d never had a shoe specific issue before. Once I picked up the Nike Alphafly’s and started using them for my quick runs, I noticed no “pings”.

My coach and I decided it was time to remove them from my shoe rotation to avoid risk.

After the marathon I decided to give them another go and it was pretty much straight away that the “ping” came back.

I am not sure what is causing the issue, whether it’s the nylon plate or something else but these shoes are not for me. My coach has also said that other runners he trains had issues with the Speed’s so there must be something.

So for now the Saucony Endorphin Speeds are seeing out their days logging some slow, easy miles.

Comparing the last training run with the first 10km of the marathon.

While looking at the data for my recent marathon it became clear quite quickly that something was wrong.

Here is the data for the last workout I did, one week before. This was a 10km run at marathon pace. So I averaged 4:05 min/km and my heart rate was low 160’s bpm.

Now looking at my marathon attempt. I adjusted my planned pace to aim for around 2 hours 55min finish. This equated to running at 4:10 pace. So running slower than the week before. Look at the heart rate, I was sitting at low 170’s, about 10bpm higher. It was clear I would not finish well right from the beginning.

Now I am running 2 Marathons in 2 months

After running on Sunday I realised that I would not be able to maintain my planned marathon pace for the Sunset Coast Marathon. Being sick for more than 2 weeks has taken its toll and I still need a week to get back in shape. With less than 4 weeks to go, I had to make a decision of what to do.

I was talking to my colleague at work and she reminded me of the Perth Marathon. The last I checked it was not confirmed and the date did not fit well into some holiday plans that I had previously made. In checking again, the Perth Marathon is taking registrations and better still, it will go ahead a week later on the 17th October.

Last night my running coach and I sat down over video call and started to look at the next 2 months of training and now focusing on the Perth Marathon. Everything has worked out great and he has even accommodated my daughter's birthday, Father's Day and my holiday to Broome.

One of the best part of the training schedule is that I will still run the Sunset Coast Marathon in 4 weeks. I will use it as a "18 mile" marathon pace training run. This means I will run easy for about 3km then 29km marathon pace and then run easy/jog into the finish line (~10km). In doing the maths on the paces there is a chance I could even walk away with a marathon PB. 😎

I am now trying every remedy to stay not sick and hoping everything goes to plan.

Using emoji in calendar event names

In the last Apple AppDev Connect, Jessica Grauds suggested using emoji’s to identify calendar events and make them stand out (you know accessibility). I’ve been doing this since and I love it.

I recommend choosing the same emoji for similar events and I even use an emoji for my daughter for events that are for her. The great things is that once you start using the same type of emoji they will appear in the “frequently used” area making it quicker to add in the future.

Using emoji in calendar event names

Leaving Gmail behind

Yesterday I decide to start migrating off Gmail as my email provider. I am just not comfortable anymore knowing that Google “reads” all my emails and then does “stuff” with the data. I have decided to use my iCloud account as I believe Apple is privacy focused and more likely to exist in the future.

The first step is moving all my archived to my other email account. I am doing this by copying it using the Mail app on my Mac. Yesterday I moved all archives from 2019-2021. In total I have 37,400 emails to move going back 2006.

My next challenge will be migrating any account that sends emails to gmail to now send to iCloud. So far most companies are making this easy. The most difficult is Auspost and Apple (though I have found a guide).

Hopefully this goes well.

Weber Connect Smart BBQ Hub

I decided today that I really did need a new thermometer for my Weber. I have had nothing for a couple of months now and I can only do simple cooking, like chicken wings, steak and burgers. Today I wanted to cook pork belly bits and I knew that I would need to monitor the ambient temperature.

I chose to get the Weber Connect Smart Barbecue Hub mainly as my local shop had them in stock so it was a quick buy. The other thought was even though it was more than I wanted to spend (AUS$200), being made by Weber it should be quality, but who knows?

So far I am pretty happy. I really like:

  • USB recharging
  • Wifi connection (I can check temps while not at home!!!)
  • Longer probe wires
  • Magnetic base
  • Easy to see

I am excited that now I can start doing low and slow bbq’ing again.

My other choice was an Inkbird (which was the make of my last thermometer that broke) or the Meater, which costs even more (for wifi) and only has one probe.

I want to break 3

(Yeah an hour behind Nike and I could sing a Queen song about it. 😁)

I have a goal, I have had it for a while now and 2021 is going to be the year I completed it. Well to be honest 2018 was going to be the year (spinal fusion) and then 2020 was going to be the year (piraformis). 2021 is going to be different, I have a coach and he is doing wonders for my performance, I am breaking PB's all of the time and I have so far only doing the base training. Soon I begin training for a marathon.

Now if only I can find a marathon in Perth that is confirmed (City to Surf cancelled, Perth TBC, Sunset Coast TBC/slow) and not on my daughters birthday (Bibra Lake).

I want to break 3

Walking in lockdown

We had our last walk in lockdown tonight and watched the sun go down.

Back to work tomorrow...

Using WorkOutDoors for logging my Apple Watch runs

Today I started using WorkOutDoors for my runs again and I’m going to provide regular updates on how the app performs.

My wife has recently set a challenge to compete in a triathlon so after much research I decided that a Garmin Fenix 6S would suit her needs the most. While setting it up I realised many of the features that the Apple Watch lacks for running and I started to look into what apps are out there. This lead me to WorkOutDoors which seems to be the runners favourite Apple Watch app.

Of all the things I wanted in the app the ability to have more data screens and be able to do interval sessions easier were most important. WorkOutDoors more than covers these requirements.

When I downloaded the app I really didn’t like the default screens. I wanted to make sure I could see the data I needed clearly. So that became my first tweak. There are so many options it is mind bending.

Today was just an easy run for 65 min, it gave me a good change to try out what I had set up.

Overall it worked really well and I again made some tweaks which you can see in the image below.

Interestingly it really does seem that Apple really has an opportunity to improve the built in Workouts app and make the Apple Watch more functional. Hopefully this is something on the planning board.

Turning the Timeline into a List on Twitter

Episode 337 of the Upgrade podcast had a great discussion about using lists in Twitter.

I really liked Jason’s idea that by making the timeline a list it keeps everything under control. The only downside is that people may not think that you follow them anymore.

So the setup would be:

  • follow everyone that you want to see every tweet from, that is the first list and the timeline
  • Everyone else goes into a list, for example Educators, ADE’s, Journalists, Companies, Running
  • Check different lists when you have time or want to catch up on a topic

It would be nice if Twitter embraced this more and those in lists are still treated as being followed.

Running 2020

This has been an interesting year for my running. I started off so well and worked hard to complete my first marathon since back surgery. Unfortunately due to COVID-19 my plans were put on hold when the Bunbury Marathon was cancelled and I had to plan for a race later in the year.

Unfortunately again, I suffered from an injury that I am still having issues with. Taking weeks to diagnose and not treating correctly, my piriformis has been a pain in the ass 🤣.

As my recovery continued I decided to investigate having a running coach take over and hopefully set me up to complete a long time goal. At this stage I am super happy and his advice has been awesome. If you are interested he runs Stazza’s Stable and I highly recommend his services.

So this year has been a roller coaster and I can only hope 2021 will bring success. Time will tell I guess.

If you are wondering, I am aiming for a sub 3 hour marathon some time in August or October depending on my training and if events go ahead.

Cooking a brisket

It has been great to finally have a real go at cooking a brisket on my Weber BBQ. It was around 2 months ago where I attended a special class at the Perth BBQ School, where I learned from local brisket celebrity Big Don.

Below are the steps I took over the 26 hours before we ate:

  1. Choose a 5kg Brisket from a good butcher. Big Don says at least 3kg.
  2. Trim brisket for a good shape and uniform fat. I removed a good 200g of meat from mine.
  3. Lightly cover meat in American mustard to help hold the rub.
  4. Add the rub which is basically salt and pepper. Big Don sells his own blend if you live in Perth.
  5. Cook at 120 degrees Celsius using the Weber Snake Method with smoking wood of choice. Also use no water in the tin under the meat.
  6. Cook right through the “stall” which about 76 degrees Celsius.
  7. At 84 degrees wrap brisket in butchers paper. Make sure it’s pink.
  8. Cook through until it reaches 95 degrees. I rotated mine uniformity. At this point it had been 16 hours. This is longer than I was expecting and not sure why.
  9. Rest on bench for an hour to ensure meat temperature was dropping.
  10. Place in an oven at 60 degrees for 12 hours.
  11. Remove from oven and check the brisket internal temperature was 60 degrees. Big Don says this is the optimal temperature for slicing.
  12. Slice from the thin end to about half way where the end meat starts becoming fatty.
  13. Rotate 90 degrees and then continue slicing.

The end result was better than expected and I am looking forward to having another go.

Apple Watch Heart Rate and Hairy Arms

Since owning an Apple Watch, both Series 2 and 4, I’ve struggled with the heart rate sensor whilst running. This lead me to buying a dedicated chest strap heart rate sensor. I’ve had both a Wahoo and a Garmin and they both seem to work well until they don’t. So recently the Garmin one just couldn’t provide data. I changed batteries, tried repairing, basically everything. So I was left trying to decide between dropping another $100 on a new strap or just use the Apple Watch and never get good data.

Then I was relaying this story to a friend and she flippantly pointed out how hairy my arms are and maybe I should shave. Now this got me thinking to the point to give it a go and what do you know - it works!

It makes sense really, as there was plenty of hair to remove and it would only block the sensor working.

So, if you have hairy arms, shave under your watch to get better and more accurate data.

PS after updating the same friend on the story, she told me she was only joking and had no basis to plant the seed.

Cooking Steak on a Weber Charcoal BBQ

I thought it was about time to share how I cook great steak on my Weber Charcoal BBQ. Now when I say "steak", I mean the kind of steak that you share with your family or "get your meal for free" size steak. So this could be a large cut t-bone or a tomahawk or a ribeye. For my demo I am cooking a 1.1kg yearling ribeye, which will be dinner for my 7 year old, my wife and myself. We will also get some leftovers for lunches through the week.

So first of all I get the Weber set up for the cook. This is indirect cooking so I have an empty basket on one side of the BBQ with an aluminium try adjacent (which the meat will sit above). I leave the access grill up ready for the hot charcoal. I always have my smoking wood ready to go too. If you want to keep an eye on the temperature, you can also use an internal thermometer, this is optional as cooking times should be around 1 1/2 hours with the indirect method. Below is what it looks like.

Weber BBQ setup

Next we light some charcoal in a chimney. I normally measure how much I need with the other empty basket and add a little extra for luck. It takes about 20-30mins to get a nice white glow, which is just enough time to prepare the meat.

Charcoal heating in chimney

So now we are going to prepare the meat, I protect myself with some nitrile gloves. Google these guys and find them from cooking shops or hardware stores. They are kinda heat and cutting resistant, so perfect while working with raw or cooked meat. Also you look really cool.

Nitrile Black Gloves

Now I take the meat out of the wrapper. At this point I will get excess moisture off the meat with kitchen towel.

Yearling Ribeye

Now for the rub. You can pick what you like. I am using Barbecue 101, which I got from a local Perth BBQ school. They also taught me how to cook this 😀.

Barbecue 101 Rub

I then shake reasonably amounts of the rub over the steak and help it out on the sides.

Steak covered in rub

Once the charcoal is ready, its time to get it all on. I will tip the charcoal into the basket and then pick up the strays with tongs. I then add a small amount of water to the aluminium tray, this helps keep the temperature low. The meat is place over the tray and away from the charcoal. Last of all I add the smoking wood to the charcoal and flip down the grill cover. It should look like the image below.

Weber with charcoal and meat

Now we put on the lid and make sure the holes are open on the lid and positioned over the steak so the smoke passes over the meat. I also open the bottom vents the whole way too and only close them if I think its too hot, maybe above 180C.

Now it time to get on with your condiments and enjoy the smells of the meat cooking.

Depending on how you like your steak, you will just need to cook until the internal temperature reaches the required amount. A quick google should provide an answer, but I use this website.

To measure you will need a meat temperature gauge. It is a good idea to use an instant one as they speed up the process. I have a Thermastick, it is great.

Thermastick, instant thermometer

Checking the meat around 1 1/2 hours and you should be close. Mine ended up taking about 1 3/4 hours and around 56C.

Ready at 56C

The final part of the cook is moving the steak over the charcoal. This is why my meat was a little less in temperature than what I wanted. By adding some rest time to the end the meat will also cook further.

Now it’s time for a little rest. At most I’d wait 30mins. I waited about 5 for this cook.

Resting the meat

Now it’s time to slice it up and it looks great.

Cutting the meat

I finished it off with some asparagus, broccolini and zucchini cooked on my gas Weber. Added some cherry tomatoes and leftover potatoes.

The final meal

Oh and it tasted amazing.

Launching an App to the App Store

Super Colour

It has been 2 weeks now since Super Colour was released on the App Store. What started with an experiment in converting Unit 4 from Apples' Develop in Swift Explorations from Xcode Interface Builder to SwiftUI, ended up being a great learning experience and dare I say, a neat little app.

There a number of hurdles to get over when going through the whole process, which probably took more time than developing the app. It is not just a "click submit" and you are done, so keep that in mind if you decide to release something of your own.

From the data I can see it is installed on a whopping 20 iPhones worldwide, which does make me smile 😁. I honestly had the biggest fun making and releasing the app plus I already have plans for my next.

SwiftUI - Adding Tabs

This guide will show how to add Tabs to your app. It is quick and easy, thanks to SwiftUI and allows you start adding multiple views to your app.

[youtu.be/mfgutB37f...](https://youtu.be/mfgutB37fZU)

SwiftUI - Creating New Views

This guide will show how to create a new View so that we can modularise our code, making it easier to modify and maintain.

[youtu.be/i8QwFS13O...](https://youtu.be/i8QwFS13Op0)