Friday, May 24, 2019

Review: Trying Amazon Music

Amazon and Goodwill
Marcus has been a paying customer of Amazon for over 20 years now.  I could not have imagined that the company I used first for books, then for Music on CDs could have morphed into the most successful online shopping experience globally.

Oh, and the dominant player and one to beat in Cloud Computing

And so I am very grateful to Amazon for just making my life better.  Consistently better, and giving me just unbelievable value for money.

With all this stored good will  I thought I would give Amazon Music, Family Plan, unlimited a trial.   The results, are, well let's just say not good.

In all cases my reference is the Spotify Family plan and they are about equal in price.  15 GBP per month approximately.

In a Nutshell
(AM = Amazon Music)

- It just does not compare to Spotify
- I could not find a single feature that was 'just great' and better than Spotify.  Admittedly I'm only a week old user, but my patience has already expired

+ A lot of music.   There is an almost infinite selection of music.  True that with this plan, and if you keep paying, you need never think to procure and collect a physical music collection.   (like Spotify)

- No Artist Subscription
I can put an Album or song into my library of songs but not an artist.  

- No Release Radar
In Spotify you can select one or more favourite artists.  Then when they produce any new music, even a new version of an old song, or a remix, you have this show up in the auto generated Playlist called 'Release Radar'.  If you have sufficient artists subscribed this list is always full of new music.  No such facility in AM

+ Playlist

You can create them!  Wow

+ Offline
So you can select one or more tracks or albums and have them downloaded to your Smartphone

+ Quality
Like Spotify you can regulate the mobile network streaming quality so that if your mobile plan has a small data allowance you can reduce the quality accordingly

- Artist Radio
On Spotify you can goto a defined playlist of music similar to that chosen. So the Pink Floyd Radio channel contains Pink Floyd and The Who and other contemporary artists of the same genre and time period.  No AM equivalent

- Platform Jumping
On Spotify I can start playing from my desktop then grab my smartphone and continue listening to the same music stream on that.  Further I can find new output devices e.g. remote speakers on the new jumped to device, say Bluetooth speakers or cast-able devices and start using them too.  No such AM possibility or flexibility.

+ App and Web
Both AM and Spotify have Applications and Web Interfaces

- Information
On a Smartphone Spotify wont just display an album cover but sometimes extra information about the artist and song.  If you are a musical geek too then this is sort of cool right?

- Suggestions
Spotify has some sort of Algorithm to make suggestions for music to listen to. This is backed up with other ways to listen to past music like based on favourite albums or tracks by most played.  Much better job than AM

I could not find a single feature where Amazon Music had a preferably feature or implementation to anything that Spotfiy already has to offer.  So for existing Spotify users absolutely no reason in the world to switch.  And for new users, no real reason to subscribe after they have read this brief analysis!

Amazon Music


Thursday, May 23, 2019

Review: ShakesPaw Cat Cafe

After a pretty intense Saturday 5Km parkrun in Stratford upon Avon it was time for Marcus and Agata to indulge our cat tendencies.

We visited the ShakesPaw Cat Cafe in Stratford upon Avon

You are advised to book in advance, so we did so online and this gets you a 90 minute slot for 5 GBP each.  So the format is

- Enter through a double door  (so kitties can't run off)
- You must be an adult
- You pay 5GBP each plus the cost of drinks and food
- You get a 90 minute slot

What can I say.  We had a fantastic time and wewould recommend it to anybody who likes cats,  and especially to those who like us, don't have one at home  yet :-(

Wednesday, May 22, 2019

It Was My Birthday

My Birthday
What happens on your birthday?

As ever Marcus is philosophical and I did spend a portion of that day contemplating life, my current situation and the events and people, good and bad, that got me where I am today.

All those opportunities taken
All those opportunities denied
Good People and Bad
The striving and yearning
The heartbreak and sorrow and joy
The violence and the calm

I do reflect that whilst my life is mostly a product of the hand that was dealt I have tried hard, and continue to try to make it just a little bit of a better place for me, and those friends and acquaintances both close and distant.

One always has to try.

To the substantial numbers who have wished me Happy Birthday,  a big thank you.  Hugs and reciprocal good wishes are returned.

Some relevant music follows





Still Crazy

Tuesday, May 21, 2019

Will No One Rid Me Of This Meddlesome Priest

~Stop Me Now


The EC
The Majority of the American Voting Public
Environmentalists Globally
Google, Qualcomm, Intel, Xilinx, Broadcom, DJI
People of Colour

Is it enough?

When Donald met Kanye

What does the Mueller report really say?

Monday, May 20, 2019

Getting Naked in front of the Doctor

Some news

I'd like to reflect on the duty that I feel I have to help my local doctor perform an accurate medical diagnosis of any medical issue that I might be facing.

My comments are set in the UK but I think they relate to general principles that are valid worldwide

Duty to Care
My Doctor needs to Care about Me
I need to Care not to waste my Doctors time

I start from the premise that I personally visit my doctor when I am sick or injured.  In fact, I try to maintain a healthy lifestyle so that I minimise by dependency on, and burden to, the British National Health Service  (NHS).

So when I do visit, believe me, I will be quite ill and in need of assistance, and not just visiting for a comfortable fireside chat.

Equally when I visit the Doctor I trust that they are trying to cure my ailment.  They have no desire in merely trying to get me naked, if they want to view naked imagery, a google search for an inappropriate video would be a faster and more revealing course of action

Touch Me (Appropriately)
I thought I'd make a quick list of 5 interactions in the last week involving physical contact with strangers:

01 Shaking hands at a business meeting
02 A kiss on the cheek as an introduction to a stranger  (well it's 3 cheeks in Switzerland)
03 My new (female) Yoga teacher manipulating me into a proper position
04 The (male) barman tapping me to compliment me on my choice of meal
05 Picking up a (female) person in the Run club who fell over whilst running

My basic point is that I take physical interaction as expected and normal.  And direct physical contact always trumps 'just looking' at somebodies face IMHO.

Introvert, Extrovert and Naked
There are a spectrum of dispositions in this world, but I submit that even an Extrovert would feel slightly awkward in getting naked in front of your local Doctor.

Missing the Point
Dr Wilkinson, the subject of this debacle is at the wrong end of the hostility scale.   I maintain that I am under a duty to get naked, no matter how uncomfortable I might feel, no matter how much of an introvert I am, if this would meaningfully contribute to my doctor's diagnosis

Marcus chooses to Run and Swim but both these sporting activities include some periods of nakedness, full or semi.

- Changing at the transition point of the Triathlon
- Getting changed in a communal changing room.
- Sometime the changing rooms can even be unisex
- At the end of a race you may need to take a communal shower, naked with people you have never met before.

My Conclusion
As a good citizen in society I need to trust my government doctor.  Even if I am personally very uncomfortable I need to be prepared for my doctor to conduct an examination of me, fully naked as the need arises. This will include looking at all parts of my body including my face, and touching contact as he or she deems necessary.  And this, even if I am male and my doctor is female or vice versa.  They perform the examination for my benefit not theirs.

Physical and Visual interactions are necessary from my doctor.   Period.

UK Doctor faces prosecution

Sunday, May 19, 2019

Running down the Wyre 10K 2019

Running the Wyre 10K

Marcus and Agata ran the first edition of the Wyre 10K.  Actually, we were due to run this with some close friends but they were ill.  For the price that we already paid, we went anyway ...

Marcus' Report

So Marcus basically gave it everything and I even started right at the front.  So my normal moan of having to get past traffic cannot be used.

I was simply not fast enough!  Though now my lung issues are cleared my Oxygen intake and heart rate were pretty good.  It's just those fat and heavy legs that continue to hold me back.  I was 1st in Category and 22nd overall but it should have been better

 I did rather overheat because I was wearing thermals and I was carrying a 200 gram phone, and I ran a 20K yesterday, however all these factors can disguise the fact that I can do better.  To be continued

Agata Race Report

What can I say.  My wonderful wife was 4th female, what a performance and she was smiling all the way.

Dear Organisers
Quite a few points of the Wyre run did not agree with us.  So take note organisers:  Relatively expensive at 25 GBP each.  For that there was a medal, no T shirt and no Goody Bag.  Parked was to be charged an additional 10 GBP, and an infrequent shuttle bus over 2km away. 

Nibbling at the Alcester Food Festival

Today was our local town of Alcester's food festival.  We are experimenting with living with reduced packaging and there is a zero packaging stall.  Basically you bring your own containers, resulting in  zero packaging.    We came, we bought.  Prices are about the same as Tesco supermarket.  So not bad then.

 Now really, this Saturday the Alcester food festival has never been busier.  The 15 degrees plus dry weather helped a lot.

(In your honour dear Kang)

The Cleanup

Actually, our main reason for attending the food festival is as  worker bees in the /Litter Free Alcester/ society.  Marcus, Agata and the rest of the team is responsible for continuously cleaning up during and after the festival.  We got the end of festival slot.

I know what you are thinking.  What a pair of lookers eh :-)

This year the skip was quite literally overflowing.  These events generate a huge amount of waste. But the balance is the pleasure per person attending and I think it is well worth it.

And finally ....

Eurovision 2019

Duncan Laurence: Arcade

To finish off Saturday night Agata and Marcus sat in to watch the Eurovision Song Contest.  It is practically an institution in England, and this year, it is coming from, well Israel.

A great end to a busy day.

Learning Points
Whatever you do during a day, make at least a little time for some exercise.  And some tidying.

Every day.

Saturday, May 18, 2019

Web Wankers

In Marcus' bijou machine room I run a dedicated Raspberry Pi Internet Monitoring computer station.  Since this is in a cupboard I normally access it via VNC from my principal workstation.

To my horror, since I've not installed any monitoring on traffic, yesterday I found another person trying to download in its entirety one of our principal websites.

This is a really shitty thing to do

First it is hundreds of thousands of files, from  a few bytes to over 500MB each.  Downloading everything is an act of total selfishness.  And so I thought I'd document some of the measures I now reluctantly implement due to the irresponsible behaviour of the few

NGINX Rate Limiting

A line like this in each websites configuration file (e.g. can be multiple files if a single NGINX instance serves multiple websites, and I do)

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

will limit requests from an individual IP address to 1r/s 1 request per second.  1r/m would be 1 request per minute.

Obviously put this line in, stop and start the webserver and perhaps observe the access.log file and check that no individual IP address is now flooding your webserver for requests

Firewall Limiting
I used to use Apache Webservers, and they had nice easy to understand ways to limit traffic from domains, IP ranges and other .  But I don't find this in NGINX.

So I have gone back to my boundry firewall on the Mikrotik router running RouterOS and looked into what is possible

Mikrotik can't block i.e. drop inbound traffic except from defined IP addresses, they say that putting in a domain reference for a drop rule would cause a lookup for every inbound packet which would be too much of an overhead.

Instead they have something called Address Lists.  You can put one of more addresses into a list.  Then compose a Drop rule to say: "If a packet comes from anything in this address list" Drop it.

Each address in the Address List can be an individual IP address or it can be a range.

Since most people have DHCP  Dynamically assigned IP from their ISP I have no option when I see a rogue IP address to block a huge inbound IP range 'just to be safe' .  Of course this excludes legitimate users, so the idea is since these entries are timestamped I can block a range today and disable and delete tomorrow.

Whilst Mikrotik allows for this to be done at the command line for the router I'll show the graphical interface as it is easier to understand

So as rule 3 in the Firewall I'm creating a DROP rule meaning that if I detect traffic from any of these imbeciles I will just discard it

So this is the detail of the rule match.  Simply if the source address coming in is matched from the wankers address list, this rule succeeds.  And the action tab will say DROP this request.

And here is the list of tossers who have so far abused my free hospitality.

Log File Monitoring
I've written a basic Korn shell script of just a few lines that periodically checks the size of the NGINX webserver access.log file.   Each request to any webserver gets stored here and the file grows by one line per request.  If this file is getting very large, and for example yesterday it was 10 times larger than normal, then it means usually that somebody from a single IP address is abusing the website.

In this case the issue is emailed to me and I need to take some manual action

In Summary
For over a decade I've build up a vast resource of Vintage computer information that is designed to be used as required.  And responsibly.  I don't take kindly to be taken advantage of. Do not attempt to download the entire website.  You complete and utter ****s

Friday, May 17, 2019

Google IO: Predictably Mundane

Google IO, Day 1, in 13 minutes

Don't get me wrong,  Marcus is the first to be enthusiastic about new technology.  If it works well, meaning, I don't have to babysit it into working, and if it really saves me time and hassle.

Trouble is, the software announcements I see from Google, just don't make the grade

The Plateau of Low Expectations

I don't doubt that some of the features described above will save some very busy people time, but increasingly Marcus and Agata are not so busy!

Some things that I and many colleagues like to spend time doing

- Going to a restaurant, and taking my time to read the menu, and look at the food options.   Don't really want or need a computer to do that

- Booking a restaurant.    Yes, I can do that online or call them.  Not that I eat out very frequently so this makes even less sense

- Telling me useful things as I rush to work.  So, Marcus and Agata try not to rush anywhere and for us Amazon Alexa has far eclipsed Google as a home assistant.  Who is actually using Google these days?  And if I was those breakfast briefings with personalised info, I'd use Alex Flash Briefing.

Some New Phones

Pixel 3a review (MKBHD)

Google let down the enthusiast Android community when it jacked up the price of their Pixel phones, junked the reasonably priced Nexus, and only now 2 years later introduced a new range of wallet friendly and correspondingly  less CPU powerful Pixel 3A phones.

Most enthusiasts went to OnePlus if they were not there already.  Giving us some lower priced phones in 2019, sorry it is too late.

The main plus with the new phones is the incorporation of the regular Pixel camera and software, but the rest of the industry 2019 designs is settling on multiple rear lenses including 48MP main lens.

Developer Bits
I went to the Google Developers channel to check out what media has been created

The full list of events was here  I made this list

[SP a T i AL] Monom, A Recalibration in 4DSOUND
[SP a T i AL] Sougwen Chung, Drawing Operations
10 Best Practices for High Quality Actions
A Fireside Chat with Turing Award Winner Geoffrey Hinton, Pioneer of Deep Learning
A Fireside Chat with X’s Captain of Moonshots, Astro Teller
Accessibility App reviews
Accessible Audio: Android Hearing Aid Support and the Audio Framework
Adapting Android Games Beyond the Phone
Add Serverless Functionality to Android Apps with Firebase
AI for Mobile and IoT Devices: TensorFlow Lite
AI vs Climate Change: Insights from the Cutting Edge
AMA: Metrics in Play Console
AMP for Email: Coming Soon to an Inbox Near You
AMP Stories: Visual Stories for the Web
An Unconventional Look at the Future of Technology with Baratunde Thurston
Anatomy of a Web Media Experience
Android Activities & Windows Office Hour
Android App Reviews
Android Authentication & Autofill
Android Auto
Android C++ / NDK Office hours
Android Camera (CameraX + Camera2)
Android Emergency Location Service: Locating Emergency Calls in a Wireless World
Android Enterprise & Security Office Hours
Android Fireside Chat
Android Graphics
Android Java Language Libraries
Android Memory and Games
Android Privacy Office Hours
Android Runtime (ART) Office hours
Android Security office hours
Android Studio Design Tools & ConstraintLayout
Android Studio Profilers Office Hours
Android Studio: Tips and Tricks
Android System UI (Notifications, Navigation, Multitasking, Sharing)
Android TV App Reviews
AndroidX Test Office Hours
App Growth Best Practices and Decision-Making with the Google Play Console
AR as a Feature: How to Supercharge Products Using Augmented Reality
Architecting Mobile Web Apps
ARCore office hours
Art and Technology Experiments with Google Arts and Culture
Artificial Intelligence: From Social Good to Ambient Intelligence
Augmenting Faces and Images
Best Practices for Developing on Android TV
Best Practices for Using Sign-In for Android Apps
Best Practices for Using Text in Android
Best Practices in Using the Android Emulator
Beyond Mobile: Building Flutter Apps for iOS, Android, Chrome OS, and Web
Beyond Mobile: Material Design, Adaptable UIs, and Flutter
Build a Modular Android App Architecture
Build Apps for Foldable, Multi-Display, and Large-Screen Devices
Build Apps for the Next Billion Users
Build Bigger, Better: Gradle for Large Projects
Build Fast and Smooth Web Apps from Feature Phone to Desktop
Build Interactive Games for the Google Assistant
Build Testable Apps for Android
Building Apps for the Chrome OS Ecosystem
Building for iOS with Flutter
Building Powerful Checkout Experiences with Google Pay
Building Scalable Communities - in India and globally
Building Successful Websites: Case Studies for Mature and Emerging Markets
Chrome Extensions Office Hours
Chrome OS Accessibility for Android Developers
Chrome OS Enterprise/Education Office Hours
Chrome OS Web Office Hours
Cloud Data and ML Office Hours
Cloud Firestore Data Modeling
Cloud IoT Platform Office Hours
Cloud Security Office Hours
Cloud TPU Pods: AI Supercomputing for Large Machine Learning Problems
Code, Build, Run, and Observe with Google Cloud
Community LoungeMeetups
Connect Thread Devices to the Cloud with IoT Core
Create App-like Experiences on Google Search and the Google Assistant
Customizable Delivery with the App Bundle and Easy Sharing of Test Builds
Cutting Edge TensorFlow: New Techniques
Dart: Productive, Fast, Multi-Platform - Pick 3
Data and Insights to Build for the Digital Assistant Era
Declarative UI patterns with Android Jetpack
Deep Learning to Solve Challenging Problems
Demystifying Android Accessibility Develoent
Demystifying Speed Tooling
Design and research for NBU
Design App Reviews
Designing AR Applications
Designing for Accessibility
Designing Human-Centered AI Products
Develop Games with Firebase
Developer Student Clubs: Engaging student developers
Developing the First AR Experience for Google Maps
Dynamic AMP emails
Elevating the Web Platform with the JavaScript Framework Community
Engage and Keep Your Users in Your App with Firebase
Engaging Customers Beyond Payments: Tickets, Transit, and Boarding Passes
Enhance Your Search and Assistant Presence with Structured Data
ExoPlayer office hours
Extend Your Android App to the Google Assistant
Federated Learning: Machine Learning on Decentralized Data
Firebase Predictions, Dynamic Links and In-app Messaging office hours
Firebase Remote Config and A/B Testing office hours
Firebase Test Lab, Performance Monitoring, and Crashlytics office hours
Fireside Chat with Google Payments Team
Fireside Chat with Hiroshi Lockheimer, Google Senior Vice President, Platforms and Ecosystems
Flutter and Dart Team Meets the Community
Flutter Office Hours or #AskFlutter
For everyone, everywhere: accessibility & the next billion users
From Systrace to Safetynet: Android Game Develoent Case Studies
G Suite Developer Office Hours
Game develoent with Google Cloud
Game Reviews
Gaming and graphics on Chrome OS Office Hours
GDG/GDE Italy Meetup
Getting Started with TensorFlow 2.0
GIFs and More: Integrating Expression Search in Your App
Going Big: PWAs Come to Desktop and Chrome OS
Google AI Impact Challenge: Using Technology to Change the World
Google Analytics, Data Studio, Reporting & Visualization Office Hours
Google Assistant & Smart Home Office Hours
Google Assistant Office Hours
Google Cast Office Hours
Google Cloud Platform (GCP) Essentials
Google Developer Experts
Google Maps Platform: A Deep Dive on Building for Performance and Scale
Google Mobile Ads SDK Office Hours
Google Pay
Google Photos APIs Office Hours
Google Programs for Higher Education
Google Search and JavaScript Sites
Google Search: State of the Union Public Focus Group 2
How Material Design Can Be Adopted and Measured for Product Success
How to Build an E-Commerce Site with AMP
How to Build Android Apps for Cars
How to Design a Dark Theme Using Material
How We Built the Google Assistant Sandbox Demos (And How You Can Too)
I/O Ink Tattoo Studio
I/O Landmark Stage
I/O LandmarkAfter DarkMisc
Improve Digital Wellbeing: Google's Approach and Tips for Developers
Improve Your App and Game Quality with Android Vitals
Improving App Performance with Benchmarking
Increasing AR Realism with Lighting
Intro to the Google Assistant: Build Your First Action
Introducing Google Coral: Building On-Device AI
Introduction to the CameraX Jetpack Library
IoT with Sigfox and Google Cloud
Jetpack Navigation
Kotlin for Android Office Hours
Kotlin for Cloud Office Hours
Kotlin Under the Hood: Understand the Internals
Large Scale Multiplayer Gaming with Open Source
Leads of meetup communities: working together and with Google
Let’s Talk: Designing Quality Conversations for the Google Assistant
Lightning Talk: AI for Accessibility
Lightning Talk: Auto-magic Your Quarterly Reports with Our BigQuery Data Connector
Lightning Talk: Building Web Apps like Google with Angular, Bazel, and GCP
Lightning Talk: Fast Pair for Bluetooth Devices
Lightning Talk: Faster Web Navigation with Predictive Prefetching
Lightning Talk: Google Developer Story
Lightning Talk: I/O Arts
Lightning Talk: Introduction to the Perception Toolkit
Lightning Talk: Real-time Updates to 1000's of Clients with Cloud Firestore
Lightning Talk: Web Components: The Secret Ingredient Helping Power The Web
Linux for Chromebooks: Secure Develoent
Live Coding A Machine Learning Model from Scratch
Local Technologies for the Smart Home
Location, Activity Recognition, and Awareness Office Hours
Machine Learning Fairness: Lessons Learned
Machine Learning for Game Developers
Machine Learning Magic for Your JavaScript Application
Machine Learning on Your Device: The Options
Making Art with Artificial Intelligence: Artists in Conversation
Making High Fidelity Android Games Possible with Vulkan
Making the Right Decisions for Your Serverless Architecture
Managing IoT Storage with Google's Cloud Platform
Material Design Components: Android Office Hours
Material Design Components: Web/iOS/Flutter Office Hours
Material Theming: Build Expressively with Material Components
Media Actions Office Hours
Meet the Google Developers Launchpad Community
Michio Kaku on The Future of Humanity
ML Kit x Material Design: Design Patterns for Mobile Machine Learning
ML Kit: Machine Learning for Mobile with Firebase
Mobile Backends with Kotlin and Google Cloud
Modern Web Game Develoent
Modern Web Testing and Automation with Puppeteer
Motional Intelligence: Build Smarter Animations
Music and Machine Learning
My First I/O
New Tools to Optimize Your App's Size and Boost Installs on Google Play
Non-SDK (hidden) API usage and Android app compatibility
On Creativity and Technology, with Legendary Animator Glen Keane
Optimize Your Image Search Results
Optimizing Android Games Performance
Overview of Privacy Changes in Android Q
Play App Reviews
Play Instant Apps Office Hours
Play Instant Games Office Hours
Play Policy App Reviews
Play Store pre- and post-launch marketing Q&A
Pragmatic State Management in Flutter
Progressive Web Apps Office Hours
Progressive WordPress Office Hours
Protecting Users from Deception
Prototyping Voice Experiences: Design Sprints for the Google Assistant
R8 / shrinking app code
Rapidly Building Better Web Experiences with AMP
Reach the Next Billion Users with Your Actions for the Google Assistant
Rendering on the Web: Performance Implications of Application Architecture
Review my site! Tools & checks to improve performance, accessibility & UX
SDK Program office hours
Seamless and Smooth Location Everywhere with the New FusedLocationProvider
Securing Web Apps with Modern Platform Features
Securing Your Apps and User Data with Google Cloud
Security on Android: What's Next
Smart Home 101: How to Develop for the Connected Home
Smart Home Office Hours
Smart Strategies for Growing Your App Business with Ads
Sonic Boom! Audio Programming on Android and Chrome
Sound Design and Sonic Brand
Speed at Scale: Web Performance Tips and Tricks from the Trenches
Stadia Streaming Tech: A Deep Dive
Success in the major developer hubs: Germany, UK & Russia experiences.
Supporting mobile usability with Dark Theme and Gestures in Android Q
Swift for TensorFlow
Taking Chrome Full Screen with Trusted Web Activities
Teaching a Car to Drive Itself by Imitation and Imagination
Tech4Good - Show and Tell
TensorFlow Extended (TFX)
TensorFlow Extended: Machine Learning Pipelines and Model Understanding
TensorFlow Lite
TF-Agents: A Flexible Reinforcement Learning Library for TensorFlow
The Power of Looking Up, with Astronaut Mae Jemison
The State of Unity on Android
Thermal design and consideration for Android app
Thinking in 5G Workshop
Three New Ways to Secure Your App with Firebase Authentication
Tools for Building Better Smart Home Actions
Train Custom Machine Learning Models with No Data Science Expertise
Turn Your App Data into Answers with Firebase and BigQuery
Understand and Engage Your Top Users with Dynamic Audiences
Understand Kotlin Coroutines on Android
Understanding Android Runtime (ART) for Faster Apps
Understanding the role of voice in your app for emerging markets
Unleash the Power of Play Store Discovery
Unlocking New Capabilities for the Web
Updates to Storage in Android Q
Updating Your Apps for Location Permission Changes in Android Q
UX Research Office Hours
Video Markup Office Hours
Voice and Visual: How to Build Actions for Smart Displays and More Devices
Web & Search office hours
Web App Reviews
Web Assembly
Web components
WebAssembly for Web Developers
Website Audits
What’s New in Android Machine Learning
What’s New in ARCore
What’s New in JavaScript
What’s New in Shared Storage
What’s New in the Google Cast SDK
What's changing in Android Q
What's New in Android C++ Develoent
What's New in Android Develoent Tools
What's New in Android Studio UI Design and Debugging Tools
What's New in Android
What's New in Angular
What's New in Architecture Components
What's New in ConstraintLayout
What's New in Firebase
What's New in Gaming at Google
What's New in Google Play
What's New in Kotlin on Android, 2 Years In
What's New in the Android OS User Interface
What's New in the Android Studio Build System
What's New with Android for Cars
What's New with Chrome and the Web
What's New with Google Play Billing
Women Techmakers Meetup
Work Less and Do More: Google Sheets for Node.js Developers
Writing the Playbook for Fair and Ethical Artificial Intelligence and Machine Learning
Zero to App: Live Coding a Cross-Platform App on Firebase

This is a link to the 177 Youtube videos in a playlist

Some of the videos that (as a Systems Guy) I would recommend

Whats new in Android
New in Android for Cars
New in Chrome and Web
Using the Android Emulator
New in Google Play
SmartHome Actions
Location Everywhere


And Finally

Something that is most definitely not mundane ...

Other Links
Dynamic System Updates
IO announcement roundup