Archive for the ‘Advocacy’ Category

How to set up the Windows Command Prompt for code demos

In this post I will share a few simple things you can do to set up your Command Window to help ensure a smooth code demo.

  • Change font size and colors
  • Set up the properties for copy and paste
  • Useful commands and keyboard shortcuts

Change the font size and colors

The default colors and font sizes are designed for someone working at their computer and may not provide good visibility when using a projector to display code to a larger audience.

Default appearance of command window

Default appearance of Command Window

You can edit the properties of the command window to change the font and colors.

Right click on the title bar of the window and select Properties.

Accessing properties menu on

Accessing properties menu on Command Window

  1. Select the Font tab.
  2. Increase the Size
  3. Select Bold fonts
Command Window Font Properties

Font Properties

I recommend leaving the font to Consolas, it is a good font choice for code demonstrations. For more tips on font selection see my post “How to rock a code demo – selecting your font”

You may also want to change the colour scheme, darker fonts on lighter colors can be easier to read in a well lit room.

  1. Select the Colors tab
  2. Set the Screen Text color
  3. Set the Screen Background color
Command Window color properties

Color properties

The end result is easier to read commands.

Command window appearance after changing font and color properties

Updated Command Window appearance

Set up the properties for copy and paste

Ah yes, the joys of copy and paste in the command window. Windows 10 brought some great improvements to the command window for fans of copy and paste (which is basically everyone!)

There are a few properties you probably want to ensure you have enabled. Just right click on the title bar and select Properties | Options

Command Window Options Property window

Command Window Options

  • QuickEdit Mode – allows you to use the left mouse button to highlight and select text in the Command prompt window and right click to select the text, then the next time you right click in the window it will paste the text. If you have Quick Edit mode disabled then you get
  • Enable Ctrl key shortcuts – allows you to use CTRL+C and CTRL+V to copy and paste
  • Filter clipboard contents on paste – will remove tabs, and convert smart quotes to regular quotes.
  • Enable line wrapping selection – Allows you to easily copy a command that wraps over multiple lines

Check out the post “How to copy and paste in cmd” by Baz Edwards for a more complete list of copy and paste options, or check out the post “the new features of the Windows 10 command prompt” by Martin Brinkmann for a more complete list of all the Command Window properties.

Useful commands and keyboard shortcuts

Knowing a few commands and keyboard shortcuts can make you look like a pro!

  • cls  clear the screen
  • Up arrow  scroll through previously issued commands
  • Right arrow recreate the previous command character by character
  • Toggle between full screen and windowed mode
  • Enter/Exit Mark mode – When you are in mark mode you can use the arrow keys to move your cursor around the window

34 Useful Keyboard Shortcuts for the Windows Command Prompt by @wjglenn if you want more keyboard shortcuts.

When I published this post, the most current Windows Command documentation was at Docs.Microsoft.com . However, the documentation page has a warning indicating that they are not maintaining the page, so it is possible there have been updates since this page was last updated.

How to rock a code demo – Selecting your font

FontChoicesIn this post I will provide tips on how to select a suitable font for code demonstrations.

One key factor in success when delivering a code demonstration is the visibility of your code. The font you use affects how easily I can read your code.

In this post I’ll discuss four characteristics to consider when selecting the font for your code:

  • Character differentiation
  • Character width
  • Monospace/Proportional
  • Ligatures

Character differentiation

The first thing you need to check is whether your font clearly differentiates different characters. A good test is to compare

  • The number 0 from the letter ‘O’
  • The number 1 from a lowercase letter ‘L’ or an uppercase letter ‘i’.

Variable names and assignments, API Keys, file paths, and URLs can contain a variety of characters. Selecting a font with good character differentiation can help avoid confusion when walking through your code.

Below is a character comparison for a variety of fonts you might find pre-installed in your code editors. Many code editors default to Consolas which has excellent character differentiation.

FontsCharacterDifferentiation

Character width

Another factor to consider is whether how much horizontal space is taken up by a single character. Ideally you want the code to fit on a single line without scrolling, so a narrower font may make it easier to display your code.

All the samples in the table below are the same font size.

At first glance Verdana and Segoe UI look similar, but Segoe is a narrower font so might be a better choice. You do need to be careful not to pick a font so narrow it becomes difficult to read such as TW Cen MT Condensed.

FontWidth

Monospaced/proportional fonts

General consensus is that you should always use a monospace (proportional) font for code. Monospace fonts use the same amount of horizontal space for each character.

The advantage to a monospaced font when displaying code is a string of 10 characters will always take up the same amount of space, so it’s easier to visualize variable lengths. Punctuation symbols can also be quite narrow and harder to see in non monospace fonts.fontMonoSpace

Ligatured fonts

Ligatured fonts are the fonts which have characters that connect to each other. If you are going to use a ligatured font for coding make sure it is designed for coding. e.g. Fira Code, Monoid, or Hasklig. unless they were designed for displaying code. Scott Hanselman wrote an interesting blog post discussing ligatured fonts. 

Ligatured fonts have a very different look when programming, some people absolutely love it, but it might cause confusion to an audience that is not familiar with this type of font.  The characters on the left are with ligatures, the characters on the right are without ligatures.

If you like ligature fonts, but your audience is confused by them, most code editors give you the ability to turn off ligatures for ligature supported fonts.

DisableLIgatures

There are other decisions to make with regards to font for code demonstrations including font color and size, but picking a suitable font is a great place to start!

 

 

How to add an FAQ bot to your website

Hosting an event? Attendees always have questions, you can bury them on your website or you can add a chat bot for quick Q&A based on your existing FAQ!

In this post I will show you the steps to

  • Create and test a FAQ knowledge base
  • Create and deploy a bot that connects to your knowledge base
  • Get a hyperlink so your website can launch a chat with the bot

This tutorial uses Azure so you need an Azure subscription to continue. If you are a student you can sign up for free Azure without a credit card at aka.ms/Azure4Students . If you are not a student you can sign up for a free Azure trial.

Create and test a FAQ knowledge base

Azure has a tool called QnA Maker which allows you to create a knowledge base automatically from an existing set of FAQ.

Visit the QnA Maker site and select Create a knowledge base from the top menu.

CreateAKnowledgeBase

Select Create a QnA service.

CreateAQnAService

You will be redirected to the Azure portal. Sign in using the account associated with your Azure subscription.

TIP: If you are redirected to a different Azure page after signing in, just go back to the QnA Maker page and select Create a QnA Service again to bring back the blade for creating a new QnA Service.

Specify

  1. Service Name
  2. Select the Management pricing tier (TIP: the ones that start with “F” are free, you can switch to a paid tier later when you need to support more calls per minute)
  3. Select your pricing tier (TIP: the ones that start with “F” are free, you can switch to a paid tier later when you need more storage)
  4. You can change the App name if you wish, it defaults to the name of your service. The name must be unique across all Azure users since it will determine the URL of your service.
  5. You can change the other values if you wish or leave them at their default values then select Create.

QnAServiceSettings2

After a minute or two your service will be created. Go to  Notifications in the top right corner and select Go to Resource.

GoToResource2

Now that you have a QnA Service you can return to the QnA Maker site and create your knowledge base. Refresh the page so the site picks up your recently created QnA Service.

Select your Azure directory, subscription name and services using the drop down lists.

Then enter a name for your Knowledge base

ConnectServiceToKB

Provide the URL for one or more web pages with your FAQ or upload one or more files containing your FAQ.

Select Create your KB to create your knowledge base.

CreateKB

You can add additional questions by selecting + Add QnA pair

AddQAPair

Type in a question the way you think a user might ask it and the suggested response.

TIP: Use the + symbol for any question to add different phrases that might be used to ask the same question.NewAnAPair

Once you have the questions and answers you want, select Save and train from the top menu to save and train your QnA service model.

SaveAndTrain Select Test to test your trained service. Enter a question and see what comes back. Note you do not have to type in the questions exactly as they appear in the FAQ, that’s because the service is using LUIS (Language Understanding ) to figure out the intent of each question.

TestQnAService

When you are finished testing select Test again to collapse the testing window. You can go back and forth adding new questions and phrasing then retraining the model as often as you wish until you feel the most common questions from users will find a suitable response.

When you are satisfied with your responses select PUBLISH from the top menu and select Publish to publish your service and get an endpoint you can use to call the service.

PublishService

Once it is deployed you will see the screen below. You can Edit then retrain and republish your service as often as you want.

You will need some of the details in the HTTP request shown on this screen to create a bot that connects to your service.

ServiceDeployed

Congratulations you have successfully deployed a QnA service. Your next step is to create a Bot and connect it to your service.

Create and deploy a bot that connects to your knowledge base

Return to the Azure portal

Select Create a resource and search for Web App Bot

CreateWebAppBotStep1

Select Web App Bot from the list of search results then select Create

AStep2CreateWebAppBot

Enter a Bot name and a pricing tier

Select your Bot template:

  • Change the SDK version to SDK V3
  • Choose either C# or Node.js as your SDK language
  • Choose the Question and Answer template

MyQnABot

While you are waiting go back to the QnAMaker and select My Knowledge bases

Select your knowledge base

Go the Settings tab

Scroll down to the Deployment details and find the

  • KnowledgeBaseID – This value will go in the QnAKnowledgeBaseID field
  • EndPointHostName – This value will go in the QnAEndpointHostName field
  • EndPointKey – This value will go in the QnAAuthKey field

AppSettingsForBot

Once your Web app bot is created, select it in the portal and choose Application Settings

Scroll down until you see the Application settings

Select Show Values to see the individual application settings and enter the values you looked up for

  • QnAAuthKey
  • QnAEndpointHostName
  • QnAKnowledgebaseId

Don’t forget to select Save after you enter the values

ChangeBotSettings

You can test to ensure your Bot is connected to the knowledge base by selecting Test in Web Chat. Type in a few questions, you should get the same responses you saw when you tested in QnAMaker. If you do not get an answer, you can try republishing the QnA Service in QnA Maker and double check the app settings are copied correctly.

TEstInWebChat

Get a hyperlink so your website can launch a chat with the bot

Now that you have a bot, you need a way to call the Bot.  There are many different ways to call a bot. You can set up channels to call the Bot from Skype or Facebook. Some platforms are quite a bit of work because you need authentication keys from the applications and you have to go back and forth connecting the application to your service passing keys back and forth.

For many of us, the ability to call the chat bot from a website is sufficient. Let me show how to get a hyperlink you can use to launch or an iframe to embed the bot into your website.

Open your bot in Azure and select Channels 

Select Get bot embed codes from the Channels blade

GetBotEmbedCodes

On the pop up page select Click here to open the Web Chat configuration page

WebChatConfiguration

Select Show to display your secret key.

If you want to embed a chat window inside your website copy everything in the Embed code to your webpage. Replace the text YOUR_SECRET_HERE with the secret key from the text box above.

If you want to open the chat window in a separate window, just create a hyperlink that points to the URL https://webchat.botframework/embed/YOURBOTNAME?s=YOUR_SECRET_HERE that appears inside the embed code. Replace YOUR_SECRET_HERE with the secret key from the text box above

LinkToBot

If you open the hyperlink you will get a new tab with the chat window

webchatwindow

If you embed the code in an iframe it will appear within your web page. You will probably want to set the height and width properties of the iframe.

 

<h1>Look a chat bot</h1>

I added this to my web page

https://webchat.botframework.com/embed/AwesomeQnABot?s=xxxxxxxxxxxxxxxxxxx

neat eh?

ChatBotInIframe

Congratulations! You have just created and deployed a chat bot that will answer frequently asked questions using natural language and artificial intelligence!

Find out more about

 

 

 

Ten Tips for writing better blogs posts

This post will share ten specific things you can do to imrpove your blog posts.

  1. Make sure your post is worth reading
  2. Use a summary sentence
  3. Use lists to summarize content of long posts
  4. Use screenshots and pictures
  5. Complement your post with video
  6. Include hyperlinks
  7. Open links in a separate tab or window
  8. Let your personality come through
  9. It’s all in the title
  10. Go back and edit your post

1. Make sure your post is worth reading

Abandon the philosophy “I blog therefore I am”. Writing a blog post can be a selfish act, you may be really happy about something, or really angry about something or maybe you just figured something out and you want to show the world ‘look what I figured out”.

Ask yourself – What will the reader get out of reading this post?

There is too much “stuff’ on the internt. When you add to that collection of stuff, make sure it’s worth someone’s time to read it.  Are there successful blogs that rant constantly? Yes, but the successful ones are deliberately written to entertain or inform. Make sure you have a take away for your reader in mind. What will I learn from your post?  ‘how to install node.js’ ‘how to make a healthy snack your kids will actually eat’ or ‘how to avoid overspending on a laptop’

imageHere’s an example, this Imagine Cup post is a first person story by a student who won first place in a competition. What’s notable is the content helps a student understand the value of participating in the competition. It’s not just a brag about winning.

2. Use a summary sentence

When you search online for ‘what laptop should I buy?’, you get two thousand matches. How do you decide which search results is worth clicking?

The average user spends about 5 seconds glancing at a page before they decide whether it’s worth staying to read that page. Remember point #1 make sure your post is worth reading! The user wlil take about 5 seconds to decide if your post is worth reading. So, provide a single sentence to tell me what I learn if I take the time to read your post.

It helps to make your summary sentence stand out visually by using italics or a different colour.

image

Another advantage to the summary sentence: Your summary will appear in the details of the search results soI know what I wil learn from the search results page as well. I wrote this post two years ago and it still gets hits (Mental note: go update this post so people aren’t finding out of date information…)

image

3. Use lists to summarize content of long posts

Sadly some of the best blog posts are the least read.

Why? Because when someone takes the time to write out all the details to explain something, the end result can be a very long blog post.

Your reader may be looking for something very specific. You may provide that information half way through your post, but they are unlikely to read through 4 pages to see if you cover that one topic. If you break your post into sections, you can provide a list at the top listing all the sections. If you really want to make the user happy, add hyperlinks so your reader can click on a topic and go straight to the section of interest to them.

image

4. Use screenshots and pictures

A picture is worth a thousand words!

If you are going to try and show me how to use a piece of software, or how to bake a cake, please include pictures and screenshots.  It is visually appealing and can be more effective than describing with text. Pictures also break up the endless text in a longer blog post. If I see a really long post with nothing but text I am less likely to read it.

If you are going to share screenshots, invest in software that will let you capture delayed screenshots so you can show pop-up menus. It helps to have an editor so you can add boxes, arrows, and highlights to your screenshots.

All the screenshots in this post are captured and edited with Snagit.

SNAGHTML28ce7630

5. Complement your post with video

If a picture is worth a thousand words, a video can be worth a million!

Whether you are showing me how to apply a compression bandage, how to cook an omelet or how to deploy an Azure website, video can be a great complement to your blog post. But keep it short. If you embed a 57 minute video in your blog post, chances are your video will go to the ‘when I have time’ list along with a number of other excellent recordings that I really want to watch when I have the chance. I find somewhere in the 4-9 minute range is about the longest video I will watch when it is embedded in a blog post. You are better off creating 4×5 minute videos than one 20 mintute video if you can find a way to break up the content.

As with screenshots, take the time to invest in some software for recording your video and a microphone to improve the audio quality of your recordings. The other advantage to short recordings is they take less time to redo when you make a mistake. If you are doing a software demo, increase the font sizes and consider a tool like Zoomit to help highlight and zoom in on the important parts of the screen during your demo.

Watch the video below and try to imagine writing a blog post to explain how to use this feature instead of using video. FYI, I used Zoomit to zoom in and draw a few arrows. (my Zoomit skills pale in comparison to @GeekTrainer who uses it really effectively in his Microsoft Virtual Academy videos). FYI, I used my headset instead of my Snowball Microphone for this recording and I did get feedback from a viewer saying the audio was hard to hear.

Sample video using Zoomit and headset microphone

6. Include links!

When you recommend a tool or resource, please provide a hyperlink!

I LOVE bloggers who include links to related resources. If you are showing me a recipe for a cocktail and the recipe calls has an ingredient of “ginger simple syrup” please give me the link to a recipe for ginger simple syrup, that’s not somethig I can just pick up at the store! If you are writing a technical post and you start tell me I need to have a Microsoft account and Visual Studio installed, give me links on where to create a Microsoft account and where I go to install Visual Studio! Please!

I suspect one of the people who read this post has already clicked on a link in this post. If not here’s one for you to click now.

7. Open links in a separate tab or window

Don’t lose your reader!

You’ve added links to your blog post, but what happens when your reader clicks on them? Do they leave your post? Will they ever come back?

If you don’t open links in a new window or tab, I may click on that link in and never return. You put time and effort into the post, you convinced me to start reading it. Increase your chances of me reading the whole thing by opening links in a new tab or window.

8. Let your personality come through

This is your blog post! You have a personal style, let it come through in your post.

Whether it’s a  tradition of including a picture of your cat in each blog post, links to random silly videos, song parodies, or a tendancy to write run on sentences, something I have been accused of doing from time to time even though that goes against best practices when writing blog posts.

9. It’s all in the title!

You may have written the best explanation of how to change a tire ever! But if you gave it the title “I figured it out and so can you” Chances are I will never find your post when I am searching for tips on how to change a tire.

Your title needs to give me an indication of what I will learn or at least catch my attention so I am curious enough to visit your post and read your summary sentence.

Personally I despise titles with hyperbole such as “The most amazing unbelievably scrumptions chocolate sauce ever” I find them too much and they actually turn me away. So do be careful with adjectives in your title. I prefer a simple descriptive title “An easy dark chocolate sauce recipe” is more likely to get my attention especially when you add a nice photo of a slice of chocolate cake draped in your velvety sauce… hmmm hungry now.

When in doubt, a popular title is Top Ten <fill in the blank>, people often search for top laptops, top video games, top new features, top attractions, so it’s a good fallback title, of course it does force you to come up with 5 – 10 good points to cover in your post!

10. Go back and edit your post!

Edit and then edit again!

Re-read your post and look for spelling mistakes. Spell check won’t catch everything! I recommend reading the post from bottom to top to look for spelling mistakes. After all their mite bee some words that spell check says are syntactically valid but inn you’re post are used inn the wrong context.

A good friend of mine writes short stories and has had several published. She told me when you finish a store or chapter, you should go back and edit it with the goal of removing sentences and words that do not add to the story. When you are finished your edit, your story should be about one third shorter! The result is a cleaner, faster paced story. You would be amazed how much you can remove while still delivering the same message sharper and cleaner!

Go forth and write!

There are many other ways to write great blog posts, but hopefully this helps! Apologies  to all my readers for all the posts I have written where I didn’t folllow my own rules!

Ranking priorities is easier than you think

Whether you are prioritizing your to-do list or requirements for an application. It helps to have a simple way to prioritize, in this post I’ll share my favorite method.

I’ve seen many different methods to rank items on a requirements list or to-do list. Priority High/Medium/Low,  ranking priority from 1-5.  When doing everything isn’t an option (and it never is!) somehow you have to decide what comes first.

When I taught Business Analysis, I came across a wonderful and simple way of ranking priorities: Must, Should, Could, Would. What I love about this method is the fact it is self describing. However, I still find it helpful to describe each category to co-workers when we are trying to decide what to do first.

MUST

For requirements

When I am considering requirements for an application, anything identified as a MUST is a feature that is worth delaying the release to get. Put simply, the application MUST have this feature or it is not worth building the application at all!

For my to-do list

If I don’t do this I am not doing my job! I am not talking about forgetting to file an expense report, I mean my core reponsibilities, what I was hired to do! Sometimes there is a MUST on my to-do list that I dread doing, but when I acknowledge to myself it’s a MUST do, I have to set aside time to do it.

For exercise

We all know we should get some exercise. Some weeks it is easier than others. Did you know that as long as you exercise every third day you are improving? If you exercise the 4th day you are at least maintaining. So for me, a MUST exercise day is when I’ve gone 3 days and haven’t done anything. On Day 4 I MUST do something, otherwise I am actually getting less fit. Of course a must varies depending on your goals.  When I am training for a marathon, the MUST is the long run because that’s the run that you will regret skipping race day)

SHOULD

For requirements

Anything identified as a SHOULD that is not included in a release is going to make users unhappy and may even make them mad! They will be able to use the application but you had better give them a date when the SHOULD requirements will be added. Some of the SHOULD features may be pushed back a release or two but you know the users are going to be complaining until the SHOULD requirements are released.

For my to-do list

If I don’t do this task, one of my co-workers or maybe even my boss is going to be unhappy. Maybe it’s data I promised to try and put together so they could complete a plan. Maybe it’s something I promised to follow up on. My boss isn’t going to start yelling at me because I didn’t do it, but somebody out there will be unhappy if this doesn’t get done.  I certainly try to do all the SHOULD items on my to-do list. But during a crisis, they may get pushed back until everything is under control.

For exercise

If you get exercise every third day, then you are improving. Shouldn’t we all strive to get fitter rather than just maintain our current level of fitness? Getting in a workout at least once every three days is something we SHOULD all do. When I am training for a marathon, hill work falls into the SHOULD category. I know if I do my hill work it will pay off on race day (there are very few marathon courses out there without hills). But if I don’t do my hill work I’ll still finish, it’s just going to be a lot tougher.

 

COULD

For requirements

This is how you make users happy! When you start adding the features a system COULD have the result is a feature that will make the users happy. Something the old system perhaps couldn’t do and caused them frustration. Something taht will make the users lives easier

For my to-do list

When I get to the COULD items on my to-do list I am making the people I work with happy. Perhaps even going a little bit above and beyond. Maybe it’s taking the time to write a little email to their manager thanking them for helping with a task. Maybe it’s taking the time to put together a really awesome graph or report that summarizes the work we’ve done in the past year or the work to do in the coming year. When you manage to get a few COULD items on your to-do list completed you may start to get a little recognition for your effort, even if it’s just a ‘Thank you this is really helpful’ email from a co-worker.

For exercise

Ahhh, now if you can get to the COULD do items on your exercise strategy you should actually start to notice improvements. You could take a few minutes each day to do some situps or push ups. You could add some cardio to your routine, or if you do cardio maybe add a little strength training to your routine.  But, if you want to make it a habit to get to the COULD items on your exercise routine, I strongly recommend doing it with a friend, or making sure it’s something you can turn into a routine. When I am training for a marathon I COULD add some strength training to improve my core and some stretching. I can run a marathon without doing situps, but I’m going to look much stronger in that finish line photo if I can fit it in. Hmmm, since stretching will help me prevent injury, I guess I should really bump that up to the SHOULD list!

WOULD

For requirements

When you interview users and ask them for their list of requirements for a new system, every now and then they will say something like ‘you know what would really be nice’ . These are the WOULD like to have priorities. These are feature we will include if it turns out we can do them without really spending any serious amount of money or time doing it. Every now and then the users request a change that will take very little time to implement,  it may be a feature that already exists in the software but wasn’t implemented or well understood. We don’t often get to add a WOULD to a system, but when you do, the users smile and you get the satisfaction of knowing you made them happier without a big investment of resources.

For my to-do list

Ahhh, I have so many WOULD like to do items on my to-do list. You know all those articles you want to get around to reading, or the things you want to sit down and learn when you have time. When you do have the opportunity to tackle a WOULD item on your to-do list, the result is YOU are happier. You had a little time to tackle something that you wanted to do for you. Keep an eye out for easy WOULD like to do items that won’t take much time. Once in a while you may find a little window at the end of the day, when you really don’t have the energy to tackle the big to-do items and giving yourself 30 minutes to work on a WOULD like to do can re-energize you and remind you why you like your job!

For exercise

What exercise do you actually enjoy? Is it yoga? kickboxing? (I love kickboxing) cross country skiing? A walk along the river? Find a little time here and there to do something you enjoy that happens to be exercise, rather than doing it because it is exercise. When I am training for a marathon, going for a run wiht no goal pace or distance is such a pleasure especially with a friend! Itgives me a break from the gruelling training runs and reminds me why I took up running in the first place.

How do you help someone discover coding?

One hour at a time!

HourOfCodeNEwsletterImageI am very excited to be a part of the Hour of Code. Hour of Code was created by code.org as a way of getting kids interested in coding.

“more than 50% of today’s jobs require some degree of technology skills”

Did you know more than 50% of today’s jobs require some degree of technology skills? That number is likely to increase not decrease! Some of the greatest innovations in technology seem to occur when someone in a field that is not necessarily viewed as technical (e.g. music, fashion, journalism, healthcare) learns how you can leverage computers and technology to solve problems and applies those tools to solve problems in their field.

Let me give you a couple of specific examples

Music

When a musician wants to compose a piece of music on a piano, they typically start by playing the piece, and then they have to transcribe it. This can be done using a midi keyboard so you can generate a midi file that captures the music as you play. But what about the concert pianist on the grand piano, who finds themselves having to record the music and then listen to it afterwards and transcribe it. transcribing the music is a tedious process. There is software out there that tries to convert audio to midi file or sheet music but no-one has really nailed it yet. Enter ClaVision, students from Lethbridge Alberta who were inspired by Beethoven to create software that could analyze a video of someone playing a keyboard and generate a midi file which can then be used to create the sheet music!

Journalism

Nonny de la Pena has taken the technology used for virtual reality game to find an entirely new way to share stories. This could really change the way we think of learning history or journalism. Storytelling becomes more powerful than ever. You can learn more here. (warning the video at that link contains recreated footage of a bombing and a beating that may be  unsuitable for young viewers)

Fashion

Fashion is a multimillion dollar industry, obviously technology is used during the manufacturing, but how about technology being part of the finished product? Here’s a neat little story by Sage Franch (@TheTrendyTechie) that talks about a wearable display you can integrate into clothing! Or what about the girls from Oman d=who saw their sister carrying a huge pile of nail polish bottles trying to find ‘the perfect color’ and designed an app and printer that would allow you to design and print a single application of your own custom nail color.

New people bring new ideas!

When we break down the barrier that technology and coding is for ‘geeks’ we invite people with different ideas and different problems to solve to explore the capabilities of technology. That’s why the hour of code is so important! If we can get kids to explore coding before they develop the mindset ‘Coding is for geeks, I am not a geek so therefore I am not a coder’ then perhaps a 10 year old with a passion for drawing and painting will find a new way to share art with the world. perhaps a 14 year old who dreams of trying to solve world hunger will find a better way to feed the world! The more people we have with different backgrounds and different interests learning the capabilities of technology, the more problems we can solve with technology.

Monday December 8th, 2014, I will be co-presenting a webcast on how to get started coding with Sage Franch. You can see it here.
I am also presenting it to a grade 8 class, to a group of kids at Pathways to Education, and last year I presented it to a grade 5 and a grade 6 class. Anyone can do an hour of code, and that includes you! Just deliver your own hour of code at a school or community group near you, or maybe just share it with a son or daughter, niece or nephew, one of my coworkers shared it with her parents! Who would you like to introduce to coding?

Here’s a few resources to get you started:

  • Check out http://aka.ms/startcoding for a self guided tutorial
  • You can also visit http://aka.ms/learn2code to find other courses aimed at helping kids explore the world of coding (Warning: you may be subjected to me as a presenter in a couple of those courses Smile, there are few things I love more than helping people discover the power of code!)
  • You can also visit code.org and find more tutorials for kids young and old!

If you have discovered the joys of coding, consider introducing it to a new generation! You might even have a little fun on the way!

Not convinced yet? Check out this great little video and see if it inspires you to share an hour of code!

Learn from improv–it’s not about you!

There are some basic rules in improv comedy that more of us should apply to the workplace!

I know when you think of improv you have visions of Robin Williams or Whose Line Is It Anyway? They may make it look easy, but there is a lot of practice and training required, along with some quick wits.

Some of the rules you are taught when you explore improv comedy are rules we should apply in the workplace as well. Here’s one of my favorites:

You look good if you make your partner look good

DSCF6051If you didn’t watch that Whose Line is it Anyway clip, watch it now. Notice how Colin & Ryan set each other up?  Neither one is trying to steal the scene. When they set up Wayne to sing a song they give him song styles that play to his strengths. Fans of Whose Line will know Wayne is good at  songs in the style of Tina Turner, Prince, and Sammy Davis Jr, the rest of the cast are fully aware of his go to characters and give him every opportunity they can to work them into a song.  If it’s Brad singing, they will throw him a B52 number, because he does a great impression of the lead singer of the B52s. They know that if the song works, the skit works.  An improv skit relies on the whole team and when one team member tries to control the entire scene,  hog the stage  it falls apart.  If a team member sets up a team member to fail the entire scene fails and they look bad too.

How does this apply at work? Imagine you are doing a joint presentation with a co-worker. During the presentation a demo isn’t working and an audience members asks a question that is the area of expertise of your co-worker.

Let’s suppose you are focused on making yourself look good:

Maybe when your co-workers starts their part of the presentation you tune out, maybe you are reading ahead on the slides to review your upcoming topic, or you are having a side bar conversation with an audience member when your co-presenter’s demo goes wrong. They end up spending 5 minutes with the audience watching as they try to fix it. Your co-worker is getting flustered and the audience is getting frustrated. Now later an audience member asks you a question when you are presenting, you think you know the answer but get something slightly wrong.  Your co-presenter who is an expert in that area realizes you’ve made a mistake in your explanation and either has to correct you in front of the audience, or leave the audience with misinformation.

What happens if each of you is trying to make your co-presenter look good?

You are paying attention as they present, nodding and looking attentive. When they start having trouble with their code demonstration, you can give them time to fix it by discussing a related topic while they dig through their code to get it fixed or restart the demo, or perhaps engage the audience to help out pointing out that live code demos are always a challenge (my go-to joke is “the number of typing mistakes you make is directly proportional to the number of people watching you type”). The audience is focused on your discussion not the struggling co-presenter, or they are sympathetic to the co-worker and trying to help out a fellow coder. Later, when you get a question on a topic you know is their area of expertise, you pass the question to your co-worker who provides a complete and accurate answer.

For the record, I think of myself as a pretty good presenter, but I have been guilty of the acts described in scenario one. We all slip from time to time. Hopefully this post will help keep me honest in my future presentations!

Think of it this way: instead of trying to be more successful on your own, you are trying to be more successful as a team. A succesful team can accomplish much more than a successful individual. How well would Whose Line is It Anwyay skits work if there was only one actor on the stage?