After all these years, Webb Wilder still knows how to rock.
Last night, during my first visit to Fitzgerald's in Berwyn, IL, I had my first experience seeing Webb live. The small club was packed, but I was lucky to find a seat with 2 friends who had an extra chair at their table. When the show started, I gave up my seat to an elderly woman and moved up to watch the show next to the stage.
For over 2 hours, Webb and his band - The Beatniks - showed off some amazing guitar work. They moved effortlessly between the rockabilly of “Ju Ju Man” to the psychedelic "Voodoo Witch" to the hard rocking "Sitting Pretty".
The band was an excellent collection of musicians. Just 2 guitars, a bass guitar, and drums filled the place like a much larger band. The lead guitarist (I cannot find his name online) manipulated a control panel at his feet to make it sound as if he were playing dozens of different guitars.
Now in his 60s, Webb Wilder still brings the energy of his shows at small clubs like Fitzgerald's. If you are a fan of roots rock, I recommend seeing him live.
Tristan Thorn was born in the town of Wall - so named because of the giant wall that separated the village from the mystical land of Faerie. His father was a mortal in Wall and his mother was a magical woman from Faerie.
As a young man, Tristan fell in love with the beautiful Victoria Forester. To win her love, he promised to bring back the star they saw falling into the land of Faerie. So Tristan set out on his quest across the forbidden land.
But Tristan was not the only one seeking the star. Just before he died, the Lord of Stormhold (a Faerie kingdom) promised his throne to whichever of his sons could retrieve the star. And three ancient witches sought the star because its heart would bring them eternal youth.
Tristan finds the star, which we discover is actually a young Faerie woman named Yvaine, who has broken her leg in the fall from the sky. He sets out to bring her back to Victoria, loses her, finds her again, and encounters a number of adventures as he crosses the magical lands.
In "Stardust", Neil Gaiman creates a world of beauty and wonder and characters both real and magical. The writing style is one of epic fantasy and the prose is beautiful.
Stardust is a fairy tale for adults and I enjoyed it immensely.
I began 2016 with a big change. After more than 18 months living in the Old Town neighborhood of Chicago, I moved to the South Loop. I liked Old Town, but I felt it was time for a change and I wanted to experience a different part of the city. I chose the South Loop because it is close to my office; because it was a neighborhood I did not yet know well; and because I liked the apartment I found. I moved into a high rise in late January and I really like it - especially the view of the city from my balcony.
I spent a good part of 2016 on the road - much of that travel in my car.
I made numerous to Champaign, IL, working with professors at the University of Illinois, organizing workshops, and guest lecturing.
I drove to Minneapolis and to Lexington, KY and to Columbus, OH and to Appleton, WI and to Bloomington, IN. There weren't many parts of the Midwest I did not drive to.
One trip took me from Chicago to Columbus, OH to Detroit to ann arbor to East Lansing to Appleton, WI to Milwaukee. On another, I drove from Chicago to Champaign to St. Louis; then flew to Austin, TX before returning to St. Louis and driving home. But the most tiring trip was when I flew to Sydney, Australia for 3 days to speak at the NDC conference. It took me 2 full days to get there and I ended up spending 24 hours in Vancouver and sleeping on an airport couch thanks to a mistake by United Airlines. When I returned to the US, I drove from Chicago to Wisconsin Dells for another conference; then up to Minneapolis for still another. The year began with a trip to Sandusky, OH to celebrate the 10th year of CodeMash and it ended with a drive back to Michigan to spend Christmas with my family.
It was often tiring, but I'm glad I did it. I got to speak at some amazing conferences and met some amazing people and visited some amazing places. In Australia, I spoke at the prestigious NDC conference for the first time; and to have dinner with my sister-in-law and niece, who live near Sydney.
In May, I visited Romania to speak at IT Camp for the third year in a row. This is becoming one of my favourite conferences. On this visit, I decided to spend a few days in Bucharest prior to the conference. It was an eye-opening experience as Bucharest is a formerly great city that is still trying to recover from the damage caused by Nicolae Ceaușescu and his misuse of public funds.
Overall, it was a satisfying year professionally. When I got enough sleep, I enjoyed it immensely. And when I did not, I tried to schedule an off day or a couple late mornings to catch up on sleep.
Personally, this year was also very good.
I'm continuing to work on improving my health. I hired a personal trainer and have been working out regularly. My heavy travel schedule made it difficult for me to eat well, so I gained some weight in the fall but I've already begun to lose it again. I found a new doctor in the South Loop and scheduled and "annual" physical - something I had ignored for a long time. I scheduled 2 sleep studies and I am now the proud owner of a cpap machine which promises to help me to sleep more efficiently.
My 2 boys (now 2 grown men) continue to make me proud. Nick accepted a job as Director of Basketball Operations Southern Illinois University - Edwardsville and Tim will graduate from Indiana University with a degree in Informatics.
I had a number of visitors stay with me this year, including my sons, Rowena and Sabrina (my brother Dan’s wife and daughter), my friend J from Grand Rapids, my college friend Randy, and my friends Adam and Szofia from Budapest. Other friends (Dave from Florida, Sven from Alabama, Gary and Patricia from Kentucky, and others I cannot remember today) made time to meet up with me while they were in town.
I met a lot of new people in 2016. Most treated me well and a few treated me very well. I met a nice girl a few months ago, and that relationship is going very well.
I made an effort to rekindle my passion for live music and theater, taking advantage of the numerous venues in Chicago. I saw a few plays, including “Stomp”, “The SpongeBob Musical”. and “C.S. Lewis: The Most Reluctant Convert”. I saw some old favourites in concert, including Steely Dan, Stanley Clarke, and Gary Numan. Chicago has an impressive list of theaters – large and small – and I'm trying to take advantage of this.
I continued my efforts to keep a positive attitude by starting each morning thinking of something for which I am grateful and posting that thought on social media. In addition to Facebook and Twitter, I now also record a video of this thought and post it to Instagram.
Technology and Friends - my online TV Show - continues to go strong as I passed 450 episodes in 2016. I expect to air show #500 this year!
2016 began with a big change as I changed my home base, but I spent much of the year working on things I started in 2015. Only harder.
The Illustrated Man despised the tattoos that covered his body. In the daytime, they were beautiful works of art; but at night, they came to life and told stories that predicted the future. And they always predicted a bleak future.
The Illustrated Man by Ray Bradbury is a collection of the stories told by the pictures on the circus refugee's body - 18 dark tales of science fiction and horror.
Bradbury frames the collection by narrating an encounter with the Illustrated Man along a deserted road and relaying the stories acted out by the animated tattoos.
Some of the stories take place on Mars - the site of Bradbury's most famous short story collection - but do not necessarily share continuity with his "Martian Chronicles" stories.
The stories have no common thread, but they are all dark and many explore how man's psyche deals with his place in the universe.
In "Kaleidoscope", the doomed crew of a crippled space ship reflects on their lives as they float to their deaths. The last survivor laments that there is no way he can perform a good act to make up for his "terrible and empty life".
In "The Other Foot", a future Mars is colonized entirely by black people. When Earth is destroyed by nuclear war, spaceships filled with white people arrive, asking to be allowed on Mars, acknowledging the oppression they perpetuated that caused the blacks to flee in the first place.
"Marionettes, Inc" could be a Twilight Zone script. A company will sell you a robotic replica of yourself, so you can escape your responsibilities without your family knowing. Predictably, it all goes horribly wrong for the customers.
The edition I read included the origin story of The Illustrated Man (some editions omit this story), which is the tragic tale of a carnival worker who tries to salvage his marriage and his job by accepting an offer to be completely tattooed by an old witch.
This collection is a good introduction to Ray Bradbury and a good read for those who already enjoy his writings. 
Will and Jim were 13 years old when the circus marched into their small town in the middle of an October night.
But there is something wrong with this circus and its creepy proprietor, the tattooed Mr. Dark. The Merry-Go-Round has the power to change a rider's age: The rider ages if they ride it in the forward direction and becomes younger if they ride it backwards. One catch: Riding the merry-go-round binds the rider to Mr. Dark's servitude forever.
Both boys are anxious to grow up and are tempted to take the magical ride. Adventurous Jim insists on trying, but cautious Will holds him back. When Mr. Dark learns that they know his secret, he and his minions attempt to capture the boys and their families.
What ensues is a battle of good against evil in a dark horror fantasy novel. Will's father - tempted to ride the merry-go-round backward - joins with the boys to battle the evil carny. The 3 of them battle for their souls and the souls of the townsfolk.
Something Wicked This Way Comes is a coming of age story in small-town America; It is a classic horror fantasy novel; and it is an adventure story.
I loved it.
1/1
Today I am grateful to all those who touched my life in 2016. Yes, all of them.
12/31
Today I am grateful for an amazing 2016!
12/30
Today I am grateful for my new electric toothbrush.
12/29
Today I am grateful for all the fresh food that is now in my refrigerator.
12/28
Today I am grateful
-to spend a few days with my family in Michigan
-for my first visit to the Four Winds Casino last night.
12/27
Today I am grateful for:
-The hospitality of Diane and Pat this week
-Dinner last night with Ken -A drink from Paul at The New Parthenon
-Visits yesterday to the homes of my brother, my sister, and my mother
12/26
Today I am grateful to spend Christmas Day with my family.
12/24
Today I am grateful for an excellent dinner last night at a Turkish restaurant in Roscoe Village.
12/23
Today I am grateful that last week's painfully cold weather has abated.
12/22
Today I am grateful to spend much of yesterday afternoon with Nick and to see the SIUE - Marquette basketball game last night.
12/21
Today I am grateful for
-a basketball game at UIC last night
-my second sleep study and my new cpap machine
12/20
Today I am grateful for Christmas presents from Emilija.
12/19
Today I am grateful I get to watch TV shows after they already aired.
12/18
Today I am grateful to see a performance of Stomp last night at the Broadway Playhouse Theater.
12/17
Today I am grateful for free, self-paced, online courses.
12/16
Today I am grateful that I still get to give away stuff that other people paid for.
12/15
Today I am grateful to deliver my final technical presentation of 2016 last night.
12/14
Today I am grateful for 2 user groups in1 day, including a chance to speak at a new one.
12/13
Today I am grateful that I can learn so much, sitting at my laptop in my living room.
12/12
Today I am grateful for my new winter coat.
12/11
Today I am grateful for pad thai last night in Lincoln Square.
12/10
Today I am grateful to see Stanley Clarke in concert last night.
12/9
Today I am grateful for the soreness in my upper body, thanks to yesterday's training session.
12/8
Today I am grateful to attend the Chicago User Group Holiday Party last night.
12/7
Today I am grateful that, after attending for years, I was finally the featured speaker at the Chicago JavaScript meetup last night.
12/6
Today I am grateful that I finished my final work trip of 2016 yesterday.
12/5
Today I am grateful to J. Tower for returning my socks to me.
Aral and Corelia Verkosigan have just married and returned to Aral's home planet of Barrayar. They are looking forward to Aral's retirement and to raising a family. But the Emperor is dying and Aral is forced back into service as Imperial Regent until the heir to the throne - 5-year-old Gregor - comes of age.
They quickly find themselves trapped in the political machinations of the Barrayaran Empire and of those scheming to gain power vacated by the dying Emperor.
Shortly after Aral's appointment as Regent, a failed assassination attempt leaves Cordelia's unborn child severely injured and in danger of dying.
And then, a group of Barrayaran noblemen attempt a coup.
Barrayar is Lois McMaster Bujold's sequel to her first novel - Shards of Honor. It concludes the story of Cordelia - former adversary and now wife of Aral Verkosigan. At the end of the story, Miles Verkosigan is born. Miles is the character upon which much of this series of books revolves.
But for now, we focus on Miles's mother Cordelia - a woman caught in a revolution that she did not plan for. She is the strong female hero often lacking in science fiction stories. And Bujold builds her character well - from her distress at her new environment to her fight to save the life of her unborn handicapped son to her role in battling the traitors trying to usurp power for themselves. We see her as a full person complete with weaknesses to soften her and the strength to overcome those weaknesses.
But the novel isn't just about character development. A Civil War, multiple assassination attempts, and a quest to rescue a princess provide plenty of action.
Barrayar is an excellent follow-up to Shards of Honor.

A friend recently emailed me to say he accepted a job leading the Microsoft practice of a consulting company that doesn’t work much with Microsoft technologies. As part of his job, he is expected to evangelize the practice and technologies. This isn’t the first time I’ve seen someone do this, so I’m sharing my response below.
Congratulations on the new job! It sounds like you are on the right track.
User groups are a great way to connect with the local developer community. They are good for finding customers, but better for recruiting talent. Consider sponsoring. Also, encourage your team to speak at user groups and code camps. This builds credibility and name recognition.
The lunchtime sessions to teach technology sound great. Consider having a long session once a month and inviting the public.
You are smart to focus on Azure. Azure is a big part of Microsoft’s future and, because Azure supports so many open source and competing technologies, it will fit in well with existing projects and existing customers. Key parts of Azure that appeal to non-Microsoft technologists are:
- Web Apps that support Java, node, Python, and other languages
- Mobile Apps provide a back-end for Android or iPhone apps
- Linux VMs on Azure (about a third of all Azure VMs run Linux)
- HD Insight Big Data Analysis based on Hadoop open source supports any data type (and you can code in Python)
- Azure Machine Learning supports any data type (and you can code in Python)
There are others, but this is a good start.
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.
Dream (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.
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.
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.
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.
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.
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:
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...
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.
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)
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.
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.
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
Then, click the “Embed” link (Fig. 2) that appears below the “Share” link.
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.
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&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.
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.