Before Neil Gaiman became a famous novelist, he was a famous comic book author. And one of his most famous comic book creations was The Sandman.

The Sandman debuted in his own DC Comics title in 1989 and was moved to DC's Vertigo brand a few years later. Gaiman penned the first 75 issues over a 5-year span.

The story begins in 19th century England as a group of amateur sorcerers attempt to trap Death, but mistakenly capture Dream instead. After a century of imprisonment, Dream manages to escape and return to his dominion.

SandmanDream (a.k.a.. Morpheus, a.k.a. The Sandman) is one of The Endless - a family of god-like beings, each with control over a specific dominion. His siblings include Death, Destiny, Delirium, Despair, Desire, and Destruction. Dream is as much human as god and shows many of the weaknesses of a human, similar to the pagan deities of ancient Greece or Rome.

Although we saw very little of the DC superheroes in the pages of The Sandman, many character's from the horror and macabre titles of that universe were featured. Cain and Abel of The House of Mystery and The  House of Secrets respectively made frequent appearances.

Gaiman introduces us to a host of new characters that populate and interact with the Dream World. But he also sets the series firmly in the DC universe by brining in established characters. Mainstream super heroes, such as Batman and Superman make brief cameos; but we see much more of the alternative and macabre DC personas. For example, we learn that the House of Mystery and the House of Secrets (and their caretakers - Cain and Abel, respectively) are located in the Dream World. And Dream's brother Destiny is the same Destiny who narrated Weird Mystery Tales and Secrets of Haunted House. Other pre-existing characters in this series include Etrigan the Demon, John Constantine, Doctor Destiny, Mister Miracle, and The Fury. We also get brief appearances by Golden Age Sandman Wesley Dodds and the bizarre Jack Kirby Sandman of the '70's. Even a teenage US President named Prez - an obscure character from a 4-issue run in the mid-1970s is referenced in the story.

The stories are dark, but entertaining. They require more focus than most comics, given the complexity. Storylines may take a year or more to resolve, while other subplots unfold.

Some might be turned off by the artwork, which tends toward more abstract and sketchy; but this fits the dark mood of the series.

A few years ago, DC released a set of 10 paperbacks that include Sandman #1-75. Rather than making each volume of equal length, DC chose to keep related stories together, so that subplots are introduced and resolved in the same volume. This is how I read the series and I would recommend others do the same.

I loved the mythology of the story and I loved the humanness of it. We see Gaiman evolve as a writer over the course of the 5 years he wrote the series. If you are a Neil Gaiman fan or a fan of dark fantasy comics, I recommend this series.


StanleyClarke (7)This is not the Stanley Clarke I remember. I remember Stanley Clarke in the 1970s and 1980s recording Jazz-Rock fusion and collaborating with the giants of the day, such as Chick Corea, Al Dimeola, and George Duke. He was all that was new and modern with his electric bass and his giant afro and his talking guitar.  The albums he recorded with Return to Forever are among the best of the genre.

Friday night at S.P.A.C.E. in Evanston, IL, Clarke began as the electric jazz hero. Now in his mid-60s, he no longer sports the afro, but he retains the energy of his early days.

StanleyClarke (32)Clarke began the show, electric bass in hand, playing songs reminiscent of his fusion heyday. But halfway through his set, he swapped the electric bass guitar for an upright bass. One song later, his keyboardist slid from an electric keyboard set to a baby grand and suddenly the jazz was more straight ahead. And more sweet. The music ranged from fusion to funk to bee bop, including a few bars of Coltrane's classic "A Love Supreme".

His quartet consisted of 2 keyboardists, a drummer, and Stanley himself. The 3 others were between a third and a half Clarke's age, but they blended really well and Clarke still brings the energy of his own youth.

Clarke ended with an frenetic encore that included a call and response with the crowd.

His drummer - Mike Mitchell, aka "Blaque Dynamite" - was especially impressive.

Based on the energy and enthusiasm I saw Friday night, I expect Stanley Clarke will be entertaining audiences for a long time.




November 2016 Gratitudes

Comments [0]

12/4
Today I am grateful for the first snow of the winter.

12/3
Today I am grateful for a week in New York City and all that I learned there while coding with smart people.

12/2
Today I am grateful to see a Nets game at the Barclay Center last night.

12/1
Today I am grateful to see "The Book of Mormon" on Broadway last night.

11/30
Today I am grateful for a walk around Times Square last night.

11/29
Today I am grateful for my first visit to New York City in over 3 years.

11/28
Today I am grateful to relax and watch the NFL on a Sunday afternoon.

11/27
Today I am grateful for a dinner party at Emilija's last night.

11/26
Today I am grateful for a few days in Michigan.

11/25
Today I am grateful for Thanksgiving dinner yesterday with my siblings and their families.

11/24
Today I am grateful for an afternoon in St. Joseph yesterday.

11/23
Today I am grateful for my first visit to New Buffalo, MI.

11/22
Today I am grateful for those who said they were inspired by me in the same way I was inspired by others.

11/21
Today I am grateful there is a gym inside the building where I live.

11/20
Today I am grateful that I still live in a country where freedom of speech is guaranteed by the Constitution.

11/19
Today I am grateful for: -an after-work drink with Jon -the Flatlanders concert last night at the Old Time School of Folk Music

11/18
Today I am grateful for my first-ever sleep study last night.

11/17
Today I am grateful to David, who made me look good this week.

11/16
Today I am grateful to meet one of my work goals for the current half-year with 6 weeks to spare.

11/15
Today I am grateful to get a new laptop set this morning up after mine died yesterday.

11/14
Today I am grateful to eat lunch on my balcony in mid-November. In Chicago!

11/13
Today I am grateful for extra sleep last night.

11/12
Today I am grateful to see Dr. Strange during a rare visit to a movie theater yesterday.

11/11
Today I am grateful to our nation's veterans, especially my late father Lt Cmdr E. Normand Giard, US Navy.

11/10
Today I am grateful for dinner with Kevin last night.

11/9
Today I am grateful for a Personal Trainer session yesterday for the first time in months.

11/8
Today I am grateful for: -a visit from Randy the past few days -a chance to cast a vote for elected officials

11/7
Today I am grateful for a walk through the Linne Woods Forest Preserve yesterday morning.


Recently, I spoke with Komal Dadlani if Lab4U – an educational startup based in Chile. We talked about how they use mobile technology to bring low-cost labs to low-income schools and how they are leveraging Azure and BizSpark.

You can watch the interview at this link or below.



Murphys (1)Alert readers will recall that I spent a good deal of time in 2015 exploring the coffee shops of Chicago. As I wrote in this post, I used this journey as an excuse to explore the neighborhoods of Chicago. Chicago is a big city and I was new here, so my love of good coffee gave me a reason to drive to Pilsen or Ravenswood. While sipping a latte, I had a chance to explore the neighborhood.

This year, I decided to repeat the exercising by exploring the city's famous hot dogs. If you have spent any time in Chicago, you know that the city is famous for 2 kinds of sausage: One is legendary "Chicago-Style" hot dog, which tops a regular hot dog with a variety of garnishes, including pickles, poppy seeds, onions, relish, and sport peppers. The other is the Maxwell Street Polish, which originated at Jim's Original in University Village and features spicy peppers and mustard on a polish sausage.

I used this list as a guide for my journey, which lasted several months.

ViennaBeefFactoryStore (6)

My hot dog trek took me back to some of the same neighborhoods, but also landed me in a few more, including a visit to Fat Johnnie's Red Hots - a tiny weatherworn shack on the south side in a neighborhood that looked like it might be dangerous after dark.

Boring menus and mediocre food quality caused me to wonder why Gene & Jude's and Red Hot Ranch made the list, but I suspect they were included for their historical significance. Big & Little's also seemed an odd choice - not because the dogs aren't good, but because they are better known for their other offerings, such as fish tacos and po' boys.

Some highlights of my sausage survey were:

  • The pickled tomato used by SuperDawg Drive-In
  • The extra spicy peppers on the Polish Sausage at Jim's Original
  • Chili on everything at Fat Johnnie's Red Hots.
  • The fresh-tasting toppings at Byron's, Wolfy's, Fluky's, and a few others.

I've seen a good part of Chicago now, so I plan to take a break from these culinary pilgrimages; but I may start up again in the sprint - maybe chasing the best Chicago-style pizzas...

Chubby Weiners (2)


Photos of my expedition

Shards of Honor was Lois McMaster Bujold's first novel and it introduced the universe that came to host the multi-volume Verkosigan Saga. It is an interesting beginning because Miles Verkosigan, the main protragonist of that series, makes no appearance in the novel.

Shards of Honor tells the story of Cordelia Naismith and Aral Vorkosigan, 2 commanders on opposite sides of an interplanetary war. Cordelia is an engineer exploring a new planet when she is captured by Aral, whose crew has just mutinied against him. Cordelia has heard stories of Aral's brutality; but he treats her with a dignity inconsistent with his reputation and she eventually discovers the stories about him are false.

Bujold shows a talent for storytelling and for creating memorable characters. The best character in Shards of Honor is Cordelia Naismith, who withstands the dangers of her crew, an attempted rape by an enemy officer, and conflicting feelings of loyalty to her home world and respect for her adversaries. Verkosigan is almost as complex. He is noble but his strong code of honor sometimes leads to killing in order to uphold that honor - even killing those on his own side. The villains of the story, such as Admiral Vorrutyer and Prince Serg are 1-dimensional and far less interesting, serving as backdrops to the relationship between Cordelia and Aral.

Shards of Honor is filled with political intrigue and action and heroics and betrayal.

And it's a love story.

And I enjoyed it.


In the distant future, man has conquered the galaxy. We have not encountered any other sentient species.

But we did create one.

On a space station between planets, geneticists created a new type of humans - the "Quaddies". Quaddies have no legs; An extra pair of arms exist where one would expect legs on a human. This difference makes it easier for Quaddies to work in zero gravity, where dexterity is more important than walking. Though sentient, the Quaddies have no rights; they are enslaved by their creators, who even decide with whom they may mate. Having known only servitude, most of them aspire to nothing more.

Trouble begins when Claire and Tony - a pair of young Quaddie parents - are informed that Claire must mate with someone else for her next scheduled pregnancy. They are in love, so they try to escape to the surface of the nearest planet - an environment for which they are completely unsuited.

The lovers are recaptured, but their plight is noticed by welding instructor Leo Graf. Leo takes up the cause of the Quaddies - arguing for their "human" rights and ultimately plotting their liberation.

Falling Free is chronologically the first book in Lois McMaster Bujold's famous Verkosigan Saga, although it takes place centuries before the birth of Miles Verkosigan, the protagonist and namesake of that series.

The book tackles issues of human rights and dignity and the morality of enslaving a people who are brought up never dreaming of freedom. The rights and responsibilities of the creators - those who mastered the genetic engineering that made possible the Quaddies - are questioned and resisted.

But it is also a love story and Bujold creates some interesting characters, even though many of them lack depth (the main villain is a corporate bad guy, driven only by profits and hate).  The notable exception is Leo, who begins the book as an uninterested bureaucrat and transforms into an emancipator, willing to sacrifice his life for a people he did not even know existed a few months before.

Although it is not the first book Bujold wrote about the universe in which Verkosigan dwells, Falling Free is a good introduction to the series.



Recently, I sat down with Charles Wright and Ian Easton of ADATA to talk about how their company migrates and integrates data across platforms. That interview is now available on channel 9. Click here or view it below.


The Conquering Sword of Conan is the third and final volume of the complete Conan stories by Robert E. Howard.

I felt a feeling of accomplishment by completing these stories - finally experiencing the source material of this iconic pulp character after a lifetime of awareness.

Most of this volume consists of the final 5 short stories published by Howard. Much of the action takes place in Africa. Conquering Sword also includes a number of story synopses and first drafts, giving an insight into Howard's writing process. Howard wrote for pulp magazines (primarily Weird Tales) and struggled to make a living during the great depression, so he would often rewrite rejected stories and change the characters and/or locations before re-submitting them.

In the 5 completed stories Conan continues his travels around the world of the Hyborian Age, hunting for treasure and battling bad guys, sorcerers, and monsters. In Beyond the Black River and The Black Stranger, Conan has his first encounter with Native Americans (known as "Picts"), who sail to Africa from a set of islands that would eventually rise into the continent of North America after the destruction of Atlantis.

The stories do not lack for adventure and many contain a moral lesson in contrasting Conan's barbarian code of ethics and chivalry with the hypocrisy and treachery of more civilized men.

Still, there are elements of Howard's writing with which I am uncomfortable. He routinely portrays women as the spoils of war, often hypersexualizing them. Worse, there is often a direct correlation between darkness of skin and savagery.  The brown-skinned people of Conan's world tend to be the most superstitious, the least intelligence, and - in some cases - cannibals.

I'm willing to take into account that Robert Howard grew up in the American south over a century ago and that his prejudices were almost certainly influenced by his environment and his peers. Given our country's current racial division and polarizing political rhetoric, this seems a timely and relevant question to ask ourselves. Can we separate art from the artist? Can we forgive him his prejudices if he grew up in a place and time where those prejudices were the norm among his peers.
Do we vilify Thomas Jefferson because he owned slaves? Or do we forgive him because he grew up in an era when every gentleman farmer owned slaves?  Personally, I am willing to forgive Howard, acknowledging how the artist he was likely socialized. Still, I fully acknowledge my views are filtered through the lens of the life of a white male and I welcome comments of others - particularly women and people of color who have read these stories.

If you are willing to look past or forgive Howard for his racism and misogyny, the Conan stories will entertain you.


This week, Microsoft hosted the keynote event in New York City. Although attendees could travel to New York to attend in person, most who watched the keynote (including me) watched a live stream or recording of the keynote and breakout sessions online.

There were a number of important announcements, including Microsoft joining the Linux Foundation; the upcoming Visual Studio 2017; and Visual Studio on a Mac.

Here are the notes I took during the keynote:

VSCODE
    Support for multiple languages
    Intellisense support for hundreds of npm modules
    Docker extension (constainerize app)
   
Azure App Service now supports running on Linux

DocumentDB
    Cloud-scale document database
    Global replication
        Click on data center in map
    Configure API to be MongoDB API compatible
   
OPEN SOURCE
    Most active contributor on GitHub
    Microsoft joins Linux foundation as a Platinum member
   
XAMARIN / VISUAL STUDIO 2017
    Visual Studio for Mac preview now available
    Free with MSDN
    Community Edition will be free to everyone
    .NET Core Support
    Visual Preview of Xamarin.Forms XAML
   
DOCKER
    Visual Studio integration
        Right-click
            Create container
            Publish (dialog is specfic to containers)
            Debug in container
            Release Management / Continuous Deliver supports Containers

AZURE FUNCTIONS
    Write code that runs in response to events in Azure (or outside Azure)
    Languages PHP, Python, Powershell, C#, etc. supported
    Write Functions in Visual Studio
        1-click publish
        Debug
    Available today
   
SQL SERVER
    Gartner: SQL Server is least vulnerable database (past 6 years)
    In-memory advanced analytics
        R Language support
    SQL Server 2016 SP1 released today
    SQL Server on Linux (public preview available today)
    Advanced security
    Advanced compression
   
AZURE BOT SERVICES
    Conversational app
    Built on Azure Functions
    Integrate with Slack, Facebook, etc.
   
VISUAL STUDIO
    Install, uninstall faster
    Icons in code margin indicate failing tests, passing tests, and uncovered code
    New Exception Helper
    Style Rules enforced in editor
    Indent Guides (dotted vertical lines) match beginning & ending brackets
    Helpers at bottom of dropdowns
        Filters results in list
        CTRL+T search to activate
   
C#
    Tuples: Allow you to return multiple values

WinApp Driver
    UI Testing of Windows apps
    Doesn't care what language app is writtenin
   
.NET Core
    60% of contributions from Community
    .NET Foundation
        Many repositories
        .NET Core on Tizen OS (courtesy of Samsung)




October 2016 Gratitudes

Comments [0]

11/6
Today I am grateful for dinner last night with Randy and Emilija.

11/5
Today I am grateful for lunch yesterday with Aalap.

11/4
Today I am grateful that I recovered a keyboard that I left weeks ago in a Starbucks 140 miles from my home.

11/3
Today I am grateful to sip scotch and watch baseball last night with J.

11/2
Today I am grateful for a 7-game World Series.

11/1
Today I am grateful for a quiet corner table I a restaurant to unwind while traveling.

10/31
Today I am grateful for open and honest debate, free of ad hominem attacks and untruths. I do wish they were more common.

10/30
Today I am grateful to see a Jeff Daniels play last night at the Windy City Playhouse

10/29
Today I am grateful to ride my new bike to and from work yesterday.

10/28
Today I am grateful for my new phone.

10/27
Today I am grateful for a friend who will listen to me rant when I'm feeling overwhelmed.

10/26
Today I am grateful for dinner with Manohar last night.

10/25
Today I am grateful for lunch yesterday with Jimmy in Austin.

10/24
Today I am grateful for drinks last night with Jeff and Chrissy.

10/23
Today I am grateful for college students with a passion for learning.

10/22
Today I am grateful to be part of DevUp this year.

10/21
Today I am grateful to be back in St. Louis.

10/20
Today I am grateful for dinner with Nick last night.

10/19
Today I am grateful Emilija was able to meet for a late dinner before I leave town for a week.

10/18
Today I am grateful that an old friend called me to ask for some advice.

10/17
Today I am grateful for these 2 bikes that I bought from my brother last week.

10/16
Today I am grateful for my first visit to the Milwaukee Public Market yesterday.

10/15
Today I am grateful for dinner last night with Gary, Patricia, Andrew, and Lisa.

10/14
Today I am grateful for 3 years at the best job I've ever had.

10/13
Today I am grateful for a day in Champaign, IL.

10/12
Today I am grateful to my 2,000 Twitter followers who think I'm saying something worth listening to.

10/11
Today I am grateful for:
-Great crowds at MSU and #SEMJS last night
-Lunch with Matt yesterday.
10/10
Today I am grateful that my brother, my nephew and I had a chance to visit my mother yesterday.

10/9
Today I am grateful for a weekend in Detroit.

10/8
Today I am grateful for an afternoon with my mother yesterday.

10/7
Today I am grateful for:
-Attending and speaking at #dogfoodcon for the first time
-An unexpected drink with Stuart and Michele last night.

10/6
Today I am grateful for a full room at each of my presentations yesterday.

10/5
Today I am grateful for audiobooks on a long drive.

10/4
Today I am grateful for:
-Lunch yesterday with Thad
-Dinner last night with Dan

10/3
Today I am grateful for all the people who came out to hear my presentation on a Sunday afternoon.




Microsoft Cognitive Services provides a number of APIs to take advantage of Machine Learning. One of the simplest APIs to use is Sentiment Analysis.

Sentiment Analysis examines one or more text entries and determines whether each text reflects a positive or negative sentiment. It returns a number between 0 and 1: A higher number indicates a more positive sentiment, while a lower number indicates a more negative sentiment.

To use this service, POST a JSON message to the following URL: https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment

Unlike some web Cognitive Service URLs, this one takes no querystring parameters.

In the HTTP header, pass the following information: Content-Type and the Ocp-Apim-Subscription-Key.

The API is a simple REST web service located at https://api.projectoxford.ai/emotion/v1.0/recognize. POST to this service with a header that includes:
Ocp-Apim-Subscription-Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

where xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx is your key.

In the Content-Type, pass "application/json".

For the Ocp-Apim-Subscription-Key, include the the Text Analytics key. You can find your key at https://www.projectoxford.ai/Subscription?popup=True

In the body, pass a JSON object that contains an array of documents. Each document contains 3 properties:

language - the Language of the text you want to analyze. Valid values are "English", "Spanish", "French", and "Portuguese".

id - A string that uniquely identifies this document. Used to match the return value to the corresponding text.

text - the text to analyze

Below is a sample JSON body:

{
"documents": [
{
"language": "English",
"id": "text01",
"text": "This is a great day."
}
]
}

After you POST this to the URL, you should expect a response that includes JSON. If all goes well, you will receive an HTTP 200 response and the returned JSON will include an array of documents (the same number that you passed in the Request body). Each Response document will contain

id - matching the id of the document in the Request document.

score - A value between 0 and 1. The higher the score, the more positive the sentiment of the text; The lower the score, the more negative the text sentiment.

You may also receive an array of errors. Each error contains the following properties:

id - matching the id of the document in the Request document.

message - a detailed error message.

Below is an sample response JSON body

{
"documents": [
{
"score": 0.95412,
"id": "text01"
}
]
}

Here is a bit of code to call this API from JavaScript. I am using jQuery's Ajax method and displaying output in a div, like the following:

<div id="OutputDiv">div> 

var subscriptionKey = "566375db01ad43dc8f62dcc8dc3e5c1f";
var textToAnalyze = "Life is beautiful";

var webSvcUrl = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment";

var outputDiv = $("#OutputDiv");
outputDiv.text("Thinking...");

$.ajax({
type: "POST",
url: webSvcUrl,
headers: { "Ocp-Apim-Subscription-Key": subscriptionKey },
contentType: "application/json",
data: '{"documents": [ { "language": "en", "id": "text01", "text": "'+ textToAnalyze + '" }]}'
}).done(function (data) {
if (data.errors.length > 0) {
outputDiv.html("Error: " + data.errors[0]);
}
else if (data.documents.length > 0) {
var score = data.documents[0].score;
if (score > 0.5){
outputText = "That is a Positive thing to say!";
}
else{
outputText = "That is a Negative thing to say!";
}
outputDiv.html(outputText);
}
else {
outputDiv.text("No text to analyze.");
}

}).fail(function (err) {
$("#OutputDiv").text("ERROR! " + err.responseText);
});



Lately, I've been using Visual Studio Code to create TypeScript projects.

When working with TypeScript, I always create a file with ".ts" extension and allow the TypeScript Compiler to create a ".js" and a ".map" file. It's rare that I ever open the js or map files, let alone modify them. In fact, it's a fool's errand to modify these files because they will be overwritten the next time the ".js" file changes.

So it is generally easier to work with a TypeScript project if I don't even see these files.

Visual Studio Code allows me to hide files in a project. To do so, select File | Preferences | Workplace Settings.

This creates a ".vscode" folder in the root of my project and adds a file named "settings.json" to this folder. In settings.json, add the following code:

{
"files.exclude": {
"**/*.js": true,
"**/*.map": true
}
}

Of course, you can add any file mask to this "files.exclude" extension to hide specific files or folders.

File matching patterns are described in this Help topic.

Save this file and the specified files will remain on disc but will not clutter the left pane of Visual Studio Code.


This was not the book I was expecting.

Joe Jackson's recording career has spanned decades - from the late 1970s until the present. But this memoir ends where that recording career began - with the release of his excellent debut album Look Sharp.

"A Cure For Gravity: A Musical Pilgrimage" details Jackson's education and the evolution of his musical style before he secured a recording contract.

Jackson was an outsider in the working class town of Portsmouth, England. He was sickly and introspective and no good at sports, which made him unpopular with his classmates. And he was obsessed with music, which made him odd.

But he loved music enough to pursue it - almost single-mindedly - for his entire youth. He attended the Royal Academy of Music during the Day, while performing at small pubs nights and weekends with rock & roll or punk bands. He was the musical director of a cabaret in order to save money to record an album of his own material.

Through Jackson's education and his musical experience, he encountered many characters and many different styles of music and he was influenced by them all. This helps to explain why his recorded music crosses so many different genres - from jazz to rock to reggae to new wave to classical. "When people ask who has influenced me", he writes, "I always sense that they're expecting to hear certain names: John Lennon, David Bowie, Graham Parker.  The truth is that I'm influenced by everything, but especially by the people I've worked with closely, people no one else has heard of."

Jackson's style is often clever and frequently self-effacing. He acknowledges his youthful awkwardness and his lack of success with women. And he tells stories of driving for hours and waiting all day outside a pub, then changing in a small restroom to perform for a small, audience that didn't want to hear a band or didn't like the music they played.  He speaks freely of his musical frustrations and his inability to find his voice. But his love of music kept him going.

Jackson was driven to succeed in music, never considering any other career. "I had to succeed in music," he insists. "I was no good at anything else."

Although Joe Jackson had a hit album at age 22, "A Cure for Gravity" chronicles what it took him to get there. The book gave me new insights into an artist I have loved since my high school days when I first heard his music on an A&M sampler LP and (a few months later) when I saw his concert at the Punch and Judy Theater in Grosse Pointe, MI. "A Cure for Gravity" is a delightful story that this lifetime Joe Jackson fan enjoyed immensely.

JoeJackson
Joe Jackson in concert, 1979
(photo by D Giard)


In the beginning,there was CodeMash - a small Tech Conference at the Kalahari Resort in Sandusky, OH. CodeMash was a developer conference run by volunteers, but it had a twist. The Kalahari features an indoor water park, so attendees could slip away to enjoy the water slides or bring their families, who would enjoy the water park while they attended sessions.

CodeMash was successful enough that some folks in Illinois and Wisconsin created a similar conference - That Conference - at the Kalahari in Wisconsin Dells, WI.

Last year, a Kalahari opened in Pocono Manor, PA, so naturally someone had to create a tech conference and host it there.

The inaugural TechBash took place September 28-30 at the Pocono Manor Kalahari and I was honored to be a part of it. I delivered 2 presentations: "Adding Image and Voice Intelligence to Your Apps with Microsoft Cognitive Services" and "Building Powerful Applications with AngularJS and TypeScript". The classroom was completely full for the latter talk.

The 3-day conference featured 2 keynotes: Pete Brown opened the event by showing off some of his favourite maker projects; and Glenn Block opened the final day of the conference talking about some of his favourite open source projects.

Speakers came from all over the US and one - Iris Classon - traveled from Sweden to present.

With a limited budget, the organizers did not have a lot of frills at this conference. Meals were simple and after-hours events were limited. There was no bacon bar or giant-size Settlers of Catan game, as we've seen at the other - more established - Kalahari conferences. But the content was excellent and I heard positive feedback from many both attendees and speakers.

Many attendees and speakers brought their families to enjoy the water park - either during the conference or on the weekend following the conference.

At 170 registrants, TechBash is about the size CodeMash was in its first year. The organizers announced their plans to host TechBash 2017 and plan to grow it in attendance and scope.

TechBash2016a



September 2016 Gratitudes

Comments [0]

10/2
Today I am grateful for dinner with Emilija last night.

10/1
Today I am grateful for:
-The organizers and volunteers of the inaugural TechBash for all their hard work that paid off in a very good conference.
-Stephen showing me how to connect to my company's VPN.
-Making it home last night, despite a flight being delayed, then canceled.

9/30
Today I am grateful for dinner last night with Kendall, Joel, Ondrej, and Glenn.

9/28
Today I am grateful for dinner last night with James, Glenn, and Justin

9/27
Today I am grateful for fact-checkers.

9/26
Today I am grateful for a photo walk around the South Loop to capture all the local artwork.

9/24
Today I am grateful for a productive week.

9/23
Today I am grateful for coffee yesterday with Lwin, Min, and Tierney.

9/21
Today I am grateful for coffee with Pete yesterday.

9/20
Today I am grateful for
-dinner and drinks last night with Tierney, Jason, and Claire
-my first (awful) taste of Jeppson's Malort

9/19
Today I am grateful for a weekend with Tim.

9/18
Today I am grateful to watch the Spartans defeat the Irish at Notre Dame Stadium yesterday - my first game there since 1989.

9/17
Today I am grateful that my son is in town this weekend.

9/16
Today I am grateful for a week in the Seattle area.

9/15
Today I am grateful to attend an offsite event with teammates I don't see often enough.

9/14
Today I am grateful for a boat cruise last night around Lake Washington and Lake Union.

9/13
Today I am grateful to see many of my teammates from across the country yesterday.

9/12
Today I am grateful for:
-My first Seahawks game at Century Link Field yesterday;
-Dinner with Ted and Charlotte and friends last night.

9/11
Today I am grateful for lunch with Kelly yesterday.

9/10
Today I am grateful for an infinite selection of online music.

9/9
Today I am grateful that my son played for a Hall of Fame basketball coach.

9/8
Today I am grateful for my first time guest-lecturing at the University of Illinois.

9/7
Today I am grateful I had a chance to spend time yesterday with Matthew after he arrived in Chicago and before I left town.

9/6
Today I am grateful for finally finding the motivation to clean my bathroom.

9/5
Today I am grateful for a short vacation to Milwaukee, including my first visit to the Milwaukee Art Museum.


Thousands of years ago, society began to collapse on the the planet Arbre. The intellectuals of the time retreated into concents - monasteries in which the occupants are sealed off from the rest of the world - sometimes for centuries at a time.

Although the concents were founded to preserve the knowledge of Arbre, most of the occupants (known as avouts) are kept ignorant and even forbidden from learning many things about the world around them.

Erasmas - an avout of the Concent of Saunt Edhar - has his world turned upside down when his friend and mentor Orolo discovers an alien spacecraft orbiting Arbre. Orolo is thrown out of the Concent for daring to use forbidden technology that allowed him to observe the spacecraft. Shortly afterward, Erasmus and his friends are also exiled and pursue Orolo to discover what he has learned.

The novel climaxes in a battle between the Arbrelings and one faction of the aliens.

It takes a while to get there as it explores the concept of how alternate versions of the same reality can manifest themselves in multiple cosmos and what happens when people move between these alternate realities.

Anathem satirizes the idea of those who try to preserve knowledge, but restrict access to new information and discovery. The novel succeeds brilliantly with its social satire and its attention to detail. For some, it may fall short with its slow pacing and lack of action.

If you prefer your science fiction more cerebral than swashbuckling, Anathem is for you.



Yesterday, I posted a YouTube video of a recent presentation. The group that recorded the video began recording well before I went on stage, so the video contained over 10 minutes of silence and a couple minutes of announcements.

I wanted to embed the video on my blog, but I wanted it to start playing at the moment the organizer introduced me.

YouTube provides an easy way to embed a video. Click the “Share” icon (Fig. 1) below the video

image
Fig. 1

Then, click the “Embed” link (Fig. 2) that appears below the “Share” link.

image
Fig. 2

If you click the “SHOW MORE” link, you will get a few options for your video (Fig. 3) but not the option to change the default start time. By default, your video will start at the very beginning when the user starts playing it.

image
Fig. 3

YouTube provides HTML that you can paste into your web page to embed a video. It looks similar to the following:

<iframe width="560" height="315" 
 src=https://www.youtube.com/embed/9wpN7Ho7DBQ?rel=0 
 frameborder="0" allowfullscreen>
iframe>

To set the start time, add a “start” parameter to the end of the URL in the iframe’s “src” attribute, as in the following example.

<iframe width="560" height="315" 
 src=https://www.youtube.com/embed/9wpN7Ho7DBQ?rel=0&amp;start=753 
 frameborder="0" allowfullscreen>
iframe>

The value of the “start” querystring parameter is the number of seconds from the beginning at which you want the video to start playing.

I wanted my video to start at the 12 minute, 33 second mark, so I had to do some math:

(12*60)+33=753

So I appended “start=753” to the src URL.


At the Chicago Geekfest meetup last week, I delivered a presentation on AngularJS 2 and TypeScript. You can see the presentation below.

It’s worth watching just to hear Chris’s introduction at the beginning.


Last month, I delivered a presentation on Cognitive Services at That Conference in Wisconsin Dells, WI. Carl Schweitzer of MS Dev Show interviewed me to discuss the features of these APIs. My interview starts at the 7:58 mark of the video below.



Kassandra Perch on Auth0

Comments [0]


August 2016 Gratitudes

Comments [0]

9/4
Today I am grateful for all the information and code samples available online.

9/3
Today I am grateful that my son Tim continues to make me proud 22 years after his birth. Happy birthday Tim!

9/2
Today I am grateful for the start of the college football season.

9/1
Today I am grateful we are finally starting to code this project we have been talking about for months.

8/31
Today I am grateful for students at Purdue last night who were eager to learn.

8/30
Today I am grateful for drinks with Kevin last night.

8/29
Today I am grateful for a visit to Jane Adams's Hull House at UIC yesterday.

8/28
Today I am grateful to attend the Frank Lloyd Wright Home and Studio tour yesterday in Oak Park.

8/27
Today I am grateful that I have no overnight trips planned for the next 2 weeks.

8/26
Today I am grateful for meetings at Microsoft this week that addressed my number 1 concern: better communication.

8/25
Today I am grateful for a reception at the Purple Café in Bellevue last night.

8/24
Today I am grateful for the espresso machine in my kitchen.

8/23
Today I am grateful for a day at home to catch up on a hundred little things.

8/22
Today I am grateful for the flights of Wine at Andie's Mediterranean in Andersonville last night.

8/21
Today I am grateful for a visit to Madison, WI yesterday.

8/19
Today I am grateful for:
-Seeing the "America After the Fall" exhibit at the Art Institute of Chicago
-Stumbling upon the "Chefs on the Grill" event at Millennium Park
-Dinner at Vapiano for the first time
-An apology from United Airlines

8/18
Today I am grateful for 2 days in Champaign, IL.

8/17
Today I am grateful to kick off this project at the University of Illinois.

8/16
Today I am grateful for sleep. Lots of sleep.

8/15
Today I am grateful for:
-a visit with my mother yesterday morning
-touring the MSU Museum & the Art Broad Museum in E. Lansing yesterday afternoon
-my first visit to the Journeyman Distillery in Three Oaks last night

8/14
Today I am grateful for dinner last night with my siblings and cousins.

8/13
Today I am grateful for 2 days in Minneapolis - one of my favourite cities.

8/12
Today I am grateful for:
-Help on my software project from Jeremy and Jon
-Attending a St. Paul Saints game last night

8/11
Today I am grateful for kind words by my boss during my annual review yesterday.

8/10
Today I am grateful to the organizers of #ThatConference for another great conference.

8/9
Today I am grateful for an excellent audience for my presentation yesterday at #ThatConference.

8/8
Today I am grateful to Ondrej for a ride to Wisconsin yesterday.



I have a number of presentations scheduled in the next few months. I hope you can make it to some of them.

Date Event Location Topic  
8/27/2016 PyData Chicago Chicago, IL Adding Image and Voice Intelligence to Your Apps with Microsoft Cognitive Services link
8/30/2016 University recruiting event Purdue University Adding Image and Voice Intelligence to Your Apps with Microsoft Cognitive Services  
9/20/2016 GeekFest Chicago, IL Building Powerful Enterprise Apps with Angular 2 and TypeScript link
9/28/2016 TechBash Pocono Manor, PA Adding Image and Voice Intelligence to Your Apps with Microsoft Cognitive Services link
9/28/2016 TechBash Pocono Manor, PA Building Powerful Applications with AngularJS and TypeScript link
10/5/2016 Dog Food Conference Columbus, OH Adding Image and Voice Intelligence to Your Apps with Microsoft Cognitive Services link
10/5/2016 Dog Food Conference Columbus, OH Microsoft Azure without Microsoft link
10/13/2016 Technology Hub Appleton, WI Open Source Technologies in Microsoft Azure link
10/20/2016 DevUp Conference St. Charles, MO Adding Image and Voice Intelligence to Your Apps with Microsoft Cognitive Services link
10/20/2016 DevUp Conference St. Charles, MO The Hitchhiker's Guide to Azure Mobile Apps link
11/28/2016 Mobile Monday East Lansing, MI The Hitchhiker's Guide to Azure Mobile Apps link

"Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman" by Dave Hoover and Adewale Oshineye is written primarily for people entering the profession of software development.

Hoover and Oshineye draw upon their years in the industry to provide advice on how to succeed - how to advance your skills and improve your career.

They present this advice as "patterns" - a term taken from the software design patterns made  famous by Gamma, Helm, Johnson, and Vlissides. Like the software patterns, these Apprenticeship Patterns favor general guidance over explicit step-by-step instructions. Often a chapter will end with a qualifying sentence, warning the user not to be too dogmatic in following an approach to its logical extreme.

Each pattern is presented briefly and concisely and includes action items that the user can apply to his or her own career.

Many of the Patterns provide advice on how to approach education. They begin with learning your first language and "Unleash your Enthusiasm" to motivate your quest for knowledge; applying that education to "Concrete Skills" in your job and  "Confront Your Ignorance" to recognize and address gaps in your knowledge.

Later chapters provide advice as you begin to master skills, including "Reflect As You Work" and "Record What You Learn".

Ultimately the book promotes Software Craftsmanship - a growing movement designed to improve the overall quality of the software industry. The authors relate the book's patterns to how they achieved a level of craftsmanship in their own careers. Hoover and Oshineye provide numerous examples of times that they and people they know applied these patterns in real-world scenarios.

Apprenticeship Patterns was published in 2009, but remains relevant today as thousands of young people continue to pour into the software industry. In fact, this book is more relevant than the vast majority of technical books written at the same time. This advice does not go out of date as new technologies are developed.

People beginning their software careers will benefit from this book. So did I, despite the fact that I switched to this profession decades ago. I read  good advice on expanding my skill sets; and I read good advice to pass on as I mentor junior developers.

I wish this book had existed when I first entered this profession.



Last week, I interviewed Olivier de Jong of Airwave, a startup in the Netherlands that offers video conferencing. You can see the interview below or at this link.




July 2016 Gratitudes

Comments [0]

8/7
Today I am grateful for a walk along Loyola Beach last night.

8/6
Today I am grateful for dinner with Emilija last night.

8/5
Today I am grateful for 3 days in Sydney, Australia - my first visit since 1998.

8/4
Today I am grateful for the opportunity to speak at and attend #ndcsydney.

8/3
Today I am grateful for a cruise around Sydney Harbor last night.

8/2
Today I am grateful for dinner last night with Rowena and Sabrina at a revolving restaurant at the top of the Sydney Tower.

8/1
Today I am grateful for
-a day in Vancouver for the first time in years
-finally arriving in Sydney after many delays.

7/31
Today I am grateful to participate in a successful Nodebots Day yesterday in Chicago.

7/30
Today I am grateful to spend much of this week learning Xamarin.

7/29
Today I am grateful for the party last night hosted by CJUG, ChiPy, and ChicagoRuby that extended well past its scheduled time.

7/28
Today is the birthday of my friend William Fink, who passed away in December. Today I am grateful that I had the opportunity to visit him and become closer to him in the last months of his life, when we both knew he was dying. And I am grateful for the lessons he taught me about facing tragedy with courage and dignity. Happy birthday Bill. Rest in peace, my friend.

7/26
Today I am grateful to dine in Chicago's Greektown yesterday for the first time.

7/25
Today I am grateful for lunch and coffee yesterday with Sven and Ebony.

7/24
Today I am grateful to see "C.S. Lewis On Stage: The Most Reluctant Convert" at the Mercury Theater yesterday.

7/23
Today I am grateful for:
-Breakfast yesterday with Debbie and Diane
-A visit with my mother yesterday.
-A quick trip to my brother Doug's Pawn Shop
-An afternoon with Megan
-A stranger who stopped to help me yesterday evening
-An unscheduled dinner and outdoor concert in East Lansing, MI last night
-Arriving safely home, following a few days in Michigan and a long drive home.

7/22
Today I am grateful for:
-Drinks with Ondrej, Godfrey, and Ed last ngiht
-The hospitality of Debbie and her family
-A great crowd at the Troy .NET User Group last night.

7/21
Today I am grateful for:
-My first time back at #MIGANG this year
-The hospitality and kindness of Ondrej and his family.

7/19
Today I am grateful to go to a movie theater last night - my first visit this year. (I saw Ghostbusters)

7/18
Today I am grateful for:
-A Cubs game at Wrigley yesterday
-A weekend with my boys

7/17
Today I am grateful for
-An evening at the IO Theater in Old Town.
-Taking Nick and Adriana to their first-ever improv show.

7/16
Today I am grateful for dinner and drinks last night with Nick, Tim, and Adriana.

7/15
Today I am grateful to have Tim Giard in town for a few days.

7/14
Today I am grateful for:
-2 days at a resort in Orlando
-drinks with Joe and Chris
-presenting in front of a new audience
-help on my Angular project from John

7/13
Today I am grateful for fireworks outside my room last night.

7/12
Today I am grateful to make it safely to Orlando.

7/11
Today I am grateful I was able to get my laptop working again this morning.

7/10
Today I am grateful for my first time at the Taste of Chicago.

7/9
Today I am grateful for a good night sleep for the first time in weeks.

7/8
Today I am grateful to those who take the time to tell me they enjoyed one of my presentations.

7/7
Today I am grateful for coffee with Chris yesterday.

7/6
Today I am grateful for lunch yesterday with my new teammates.

7/5
Today I am grateful for a weekend in Lexington, KY.

7/4
Today I am grateful to celebrate the marriage of Christopher and Katie last night.


In The Stand, Stephen King tackles the question: What would become of society if nearly all of the people disappeared within a few weeks.

At the beginning of the novel a biological weapon leaks from a quarantined military base and people begin to get very ill very quickly. The U.S. government tries to cover up its error and the weapon it created - often through violent means - but within 2 months, over 99% of the world's population is dead.

In America, the survivors group together - drawn by visions in their dreams. Some travel to Boulder, CO to join with 108-year-old Mother Abigail and some go to Las Vegas, NV to follow the the mysterious Randall Flagg. Mother Abigail has a good heart and talks of love for one another;  Randall Flagg is a malevolent wizard who delights in the chaos created by this epidemic.

Along the way to Boulder and Las Vegas and the final confrontation between the two camps, King explores a myriad of characters and their journey to either the light side or dark side. Even many who end up in Boulder with Abigail are tempted by the dark wizard Flagg. The characters are rich and their back stories before the disaster help us to understand their actions after.

I loved the evolution of characters: Larry Underwood was a self-absorbed and irresponsible rock star before the plague, but found himself willing to sacrifice himself for those he loved after the tragedy; Trash Can Man and Nadine Cross cannot avoid the blackness of their souls and where their destiny takes them, but they still find a way to partially redeem their lives.

It's not surprising that many King fans list this as their favourite novel. King pits good against evil; God against the Devil; chaos against order; and the collapse of civilization against attempts to rebuild it. The climax is a long time coming, but the payoff is excellent.  I've read over a dozen of King's books and this is now my favourite.




Recently, I was interviewed by Matthew Groves for his Cross Cutting Concerns podcast. We talked about Machine Learning in general and Microsoft Cognitive Services in particular. You can listen to the interview here or in the embedded link below:

Or better yet, subscribe to this podcast!




The legend of King Arthur is so familiar to most of us that it is surprising to find a fresh re-telling of this story - particularly one as clever as T.H. White's The Once and Future King.

White recounts the life Arthur from his education as a boy by the string wizard Merlin to his rise to the throne, where he conquers England and attempts to use his power to bring a new age of peace and chivalry to his downfall at the hands of his enemies - particularly his son Mordred.

The story spans 4 books - The Sword in the Stone, The Queen of Air and Darkness, the Ill-Made Knight, and The Candle In The Wind. Originally, White planned a fifth book - The Book Merlyn, but he did not finish this before his death and many of the stories from this book found their way into the other volumes. The story is told chronologically and follows Arthur and his closest friends and enemies throughout his life. Each book stands on its own but is best read as an entire series, in order. (The Book of Merlyn is optional reading.)

White often omits details of Arthur's story, referring the reader to Sir Thomas Malory's "Le Morte d'Arthur". Instead, White focuses on the characters' thoughts and feelings and motivations. How did Merlin's training of the boy Arthur affect King Arthur's philosophy during his reign? What were psychological damaged was caused Lancelot when he was drugged and tricked into losing his virginity? Why does Mordred hate his father and plot revenge?

The books become darker as the series advances; The Sword in the Stone is a lighthearted story featuring bumbling knights and anthropomorphic animals; while the final 2 books focus on the cost of human sin and weakness.

Through it all, White maintains his wit and keeps the characters fresh and alive.

I recommend this series for any fan of the Arthurian Legend.

My notes on the individual books are below.

The Sword in the Stone

A fun story of the youth of King Arthur, when he went by the unflattering nickname "The Wort" and served at the castle of Sir Ector, doing the bidding of Ector's son Kay, until he met the wizard Merlin in the forest and convinced Ector to hire Merlin as his tutor.

Much of Merlin's tutelage consisted of turning the Wort into various animals and allowing him to interact with other animals, learning their ways and their values. We will see these lessons put into practice when Arthur later rises to become King of England.

The Queen of Air and Darkness

Arthur battles King Lot to gain control of Britain and decides to form his famous Knights of the Round Table, who will promote and enforce chivalry in his new kingdom. We are also introduced to Arthur's half-sister Morgause (the "queen" of the book's title), who plots to seduce Arthur through witchcraft and give birth to Mordred, leading to Arthur's destruction.

Although this book is short and contains less action than others in the series, its introduction of key characters and concepts make it an important book in the series.

The Ill-Made Knight

This volume follows Sir Lancelot - his arrival at Camelot and friendship with King Arthur; his affair with Arthur's wife - Queen Guinever; his wanderings in search of both the Holy Grail and redemption for betraying his friend's trust; and his return to Camelot and his battles with his own conscience.

Lancelot is universally regarded as the greatest knight in the world and he believes that his power comes from his purity. But when he loses that purity (he betrays his friend's trust and also fathers Gallahad out of wedlock), he loses not only his power, but his self-confidence and, for a while, his senses.

Candle in the Wind

The climax of the story in which Arthur's rivals (led by Mordred) convince Arthur to try and execute his wife for adultery and to go to war with Lancelot. Arthur's adherence to his law is tested against his love and loyalty to his wife and best friend.

The Book of Merlyn

Unpolished and incomplete, but published after White's death. Merlyn returns to Camelot when Arthur is an old man. He takes Arthur back to some of the animals who had originally taught him lessons of justice, peace, and war and Arthur begins to find meaning in his life, which he had suspected was wasted. Some of these stories found their way into The Sword in the Stone.


<< Older Posts | Newer Posts >>