It's life Jim, but not as we know it


Recommended Google I/O 2017 viewing

Google I/O 2017 is over. Like previous years, all the sessions have been published on Youtube.
I'd recommend watching all the sessions if you can, located at this link:

Not sure where to start? Here are some of sessions I attended and found worth recommending..

Android Meets TensorFlow: How to Accelerate Your App with AI
Why:  Good intro to ML, operationalizing for small devices (sorting cucumbers, pruning trees) and just entertaining ! Don't miss the cultural ed at the end.

From Research to Production with TensorFlow Serving
Why: Operationalising Machine learning. 

Past, Present and Future of AI / Machine Learning
Why: insightful and latest thinking from thought leaders in AI.

Effective TensorFlow for Non-Experts
Why: Good intro to ML and TensorFlow

Single Codebase, Two Apps with Flutter and Firebase
Why: How to give a tech presentation and demo. Creative storytelling. Entertaining. Anything with is worth watching anyway - but I'm biased.... 

Applying Built-in Hacks of Conversation to Your Voice UI
Why: Thought provoking - a must for anyone with an interest in UX or building any application or service. If you watch you will realise that a lot of systems you interact with have been designed by people who want to punish you.

Bringing the Google Assistant to Any Device
Why: IoT use case

Supercharging Firebase Apps with Machine Learning and Cloud Functions
Why: What modern application development looks like

Introduction to Kotlin
Why: If you write Java, you should look at Kotlin. 

Open Source TensorFlow Models .
Why: It's Entertaining - using AI in arts, image and audio. Well .. it can't all be about work right?


Improve your command line demos with three simple changes ...

Years ago, at Siebel, I would always set up bookmarks and open multiple browser tabs to make the demo flow smoothly. I never wasted time navigating through screens if I could avoid it. I would also change the default font type and size for any demo I gave. This made the text easier to read on a big screen when the viewer was several feet away. I often had people ask why my version of Siebel looked different - better infact, It told me that, while a font change is subtle - it can make enough of a difference in the demo and the perception of the product overall.

Today, I see a lot of demonstrations carried out from the command line. The same principles can be applied to command line demos - but sadly rarely employed. How many times have you watched a demo where the developer is typing 'cd ../..' when navigating around or you find yourself struggling to read the text in the console window? At one recent demo the developer wasted so much time trying to mess about with his screen resolution that he never completed the demo.

These changes are so simple and only take a few minutes to implement and will improve the quality of your demo and your productivity in general. You could say it's obvious but if you are a developer and just starting to give demos - it's probably not something you have given much consideration but is just as important as having your code work ...

These instructions apply to the Mac - but can be implemented on any OS.

1: Add alias commands to your .bash_profile

1. Open up Terminal. At the prompt enter

nano ~/.bash_profile

2. Paste the following Alias commands into the file.

alias ..='cd ..'
alias ...='cd ../..'
alias ls='ls -aFhlG'
alias ll='ls -l'
alias md='mkdir' $1
alias rd='rmdir' $1
alias cls='clear'
alias kl='kill -9'
alias reload='source ~/'
alias myip='dig +short'
alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"

3. Save the file by typing CTRL X, Yes then enter.
4. Force terminal to reload the file by entering

source ~/.bash_profile

Now try out the aliases from the command line. For example type '..' to move up a directory or 'myip' to find out what your external IP address is. I've provided just a short list but you can add your own.

2: Update your Command line font

There are more readable fonts you can use for the command line. Go to to find free fonts you can download and install. My preference is Adobe's open sourced Source Code Pro located here. It's been designed as a readable font for coding, for example there's no ambiguity between 'O' and '0'.

Download and unzip the font file. Install the font by double clicking the font file and then clicking the 'Install font' button on the font manager. Once you have installed the font you can use it in Terminal by doing the following:

Open Terminal. Click on Preferences ...

Select an existing Profile. Under Font click Change and then select your font from the picklist.

Depending on the font style you may need to change the font spacing (for source code pro I just use 1 for character and line spacing).

3: Create a new Terminal Profile for Demos

This is the easiest change of all. I don't understand why people don't do this more often. Yes you can enter Command + when you are in Terminal to increase the font size - but how many times have you seen the presenter forget, only for someone to mention midway through the demo that they can't read the text, which then throws the presenter off their flow? Do this instead. It's much simpler.

With the Terminal Preferences window still open, create a new Terminal Profile by clicking the '+' at the bottom of the screen.

Alternatively you can clone the Profile you modified earlier reusing your preferred font.

Call the Profile 'Demo'. Then click 'Change' to adjust the font size. Increase the font size to 18 or larger. Now when you are about to start the demo open a new Terminal window or tab and select your new profile.

When you start your demo - everyone can read the text without any issues.

As I mentioned, it's not hard and takes only a few minutes to set up. You'd be surprised how a little bit of preparation can have a big impact on the final result.