# Monday, 20 February 2017
Monday, 20 February 2017 14:08:00 (GMT Standard Time, UTC+00:00)
# Saturday, 18 February 2017

Yesterday, I posted a list of community technical events in the US Central Region.

I thought this would be a useful reference to those who want to attend or speak at conferences. This is a living document as I learn about more conferences and as conferences announce their dates.

The problem with this post is that it is time-stamped and will farther and farther down the list of posts as the months pass. So I created a copy of this list and pinned it to the top of my site. You can reach this list at any time by clicking the “Tech Events” tab at the top of each page. Or you can just click here.

Saturday, 18 February 2017 03:16:09 (GMT Standard Time, UTC+00:00)
# Friday, 17 February 2017

Here is a list of community technical events (conferences, code camps, etc.) in the US Central Region. I have listed the dates, if they are published. If no 2017 date is published, my estimate is based on last year’s date. I provided a link to each event’s home page so you can check the latest information directly from the source.

Please let me know if I am missing any.

Event Location Start End URL
Event Location Start End URL
CodeMash Sandusky, OH 1/10/2017 1/13/2017 http://www.codemash.org/
SQL Saturday Chicago Chicago, IL 3/11/2017 3/11/2017 http://www.sqlsaturday.com/600
Northeast Wisconsin Code Camp Appleton, WI 3/25/2017 3/25/2017 http://newcodecamp.com/
Indy.Code Indianapolis, IN 3/29/2017 3/31/2017 http://indycode.amegala.com/
SQL Saturday Madison Madison, WI 4/8/2017 4/8/2017 http://www.sqlsaturday.com/604
Twin Cities Code Camp Minneapolis, MN 4/22/2017 4/22/2017 https://twincitiescodecamp.com/#/home
Global Azure Boot Camp Multiple Locations 4/22/2017 4/22/2017 https://global.azurebootcamp.net/
Chicago Code Camp Chicago, IL 4/29/2017 4/29/2017 http://chicagocodecamp.com/
GoTo Chicago Chicago, IL 5/1/2017 5/2/2017 gotochgo.com/
Codestock Knoxville, TN 5/5/2017 5/6/2017 http://www.codestock.org/
Stir Trek Columbus, OH 5/5/2017 5/5/2017 http://stirtrek.com/
Convergence Conference Detroit, MI 5/11/2017 5/13/2017 https://www.convergeconference.org/
Midwest Management Summit Minneapolis, MN 5/15/2017 5/18/2017 https://mmsmoa.com/
Nebraska Code Lincoln, NE 5/17/2017 5/19/2017 http://nebraskacode.com/
Self Conference Detroit, MI 5/19/2017 5/20/2017 http://selfconference.org/
Great Lakes Software Excellence Conference Grand Rapids, MI 5/22/2017 5/22/2017 http://glsec.softwaregr.org/
PHPTek St. Louis, MO 5/24/2017 5/26/2017 https://tek.phparch.com/
Music City Code Nashville, TN 6/1/2017 6/3/2017 http://www.musiccitycode.com/
Codepalousa Louisville, KY 6/7/2017 6/9/2017 http://www.codepalousa.com/
Open Source North Minneapolis, MN 6/8/2017 6/8/2017 http://opensourcenorth.com/
Beer City Code Grand Rapids, MI 6/9/2017 6/10/2017 http://beercitycode.com/
SQL Saturday Iowa City Iowa City, IA 6/10/2017 6/10/2017 http://www.sqlsaturday.com/634
Chicago Coder Conference Chicago, IL 6/26/2017 6/27/2017 http://chicagocoderconference.com/
Detroit.Code Detroit, MI 7/10/2017 7/12/2017 http://detroitcode.amegala.com/
Cincinnati Day of Agile Westchester, OH 7/28/2017 7/28/2017 http://dayofagile.org/
PyOhio Columbus, OH 7/29/2017 7/30/2017 http://pyohio.org/
KCDC Kansas City, MO 8/3/2017 8/4/2017 http://www.kcdc.info/
That Conference Wisconsin Dells, WI 8/7/2017 8/9/2017 https://www.thatconference.com/
MidwestJS Minneapolis, MN 8/16/2017 8/18/2017 http://midwestjs.com/
VSLive Chicago, IL 9/18/2017 9/21/2017 https://vslive.com/Events/Chicago-2017/Home.aspx
Madison PHP Madison, WI 9/22/2017 9/23/2017 http://2017.madisonphpconference.com/
Prairie.Code Des Moines, IA 9/27/2017 9/29/2017 http://prairiecode.amegala.com/
Technology Hub Appleton, WI 9/28/2017 9/28/2017 http://www.technologyhubconference.com/
Midwest Game Dev Expo Columbus, OH 9/29/2017 10/1/2017 https://www.thegdex.com/
M3Conf Columbus, OH 08-2017?   http://m3conf.com/
Tulsa Tech Fest Tulsa, OK 08-2017?   http://techfests.com/Tulsa/2016/default.aspx
CloudDevelop Columbus, OH 08-2017?   http://clouddevelop.org/
Iowa Code Camp Coralville, IA 10-2017?   http://iowacodecamp.com/
DogFood Con Columbus, OH 10-2017?   http://dogfoodcon.com/
Ohio LinuxFest Columbus, OH 10-2017?   https://ohiolinux.org/
DevSpace Huntsville, AL 10-2017?   https://www.devspaceconf.com/
DevUp Conference St. Louis, MO 10-2017?   http://devupconf.com/
MKE DOT NET Milwaukee, WI 10-2017?   http://www.centare.com/mke-dot-net/
Milwaukee Code Camp Milwaukee, WI 10-2017?   http://milwaukeecodecamp.com/
Chippewa Valley Code Camp Eau Claire, WI 10-2017?   http://chippewavalleycodecamp.com/index.html
Detroit Dev Day Detroit, MI 11-2017?   http://detroitdevday.org/
SharePoint Fest Chicago Chicago, IL 11-2017?   http://www.sharepointfest.com/Chicago/
Friday, 17 February 2017 15:14:21 (GMT Standard Time, UTC+00:00)
# Thursday, 16 February 2017

LMB01Last week, Ladysmith Black Mambazo brought a bit of South Africa to Chicago. The vocal group performed at The Old Town School of Folk Music Saturday February 11.

LBM was formed by Joseph Shabalala in Ladysmith, South Africa in 1964. Shabalala did not make this trip, but a number of his sons still perform with the 8-man group. Westerners learned of their talents in the 1980s when they recorded the classic "Graceland" album with Paul Simon; but they have been touring and recording on their own for decades. Their tight harmonies and blend of African and western music make them appealing to audiences all over the world.

LBM delighted the audience in a too-short (about 80 minutes) performance before a sold-out theater. They blended harmonies and melodies and humor and Zulu dancing to entertain us. There were no instruments because there was no need for instruments.

LMB02They sang some songs in English and some in the Zulu language. "Homeless" and "Diamonds on the Souls of her Shoes" from "Graceland" were crowd pleasers; but most of the night consisted of traditional African songs and their own compositions. For most songs, a different member of the band would step to the front of the stage to sing lead, while the remaining 7 harmonized behind him. Some songs were accompanied by coordinated Zulu dances.

The night concluded with a stirring rendition of "Amazing Grace".

Ladysmith Black Mambazo has long been on my list of bands to see live. Now I can cross them off the Bucket List. Until the next time they come to town.

Photos

Thursday, 16 February 2017 19:03:59 (GMT Standard Time, UTC+00:00)
# Tuesday, 14 February 2017

I have a busy speaking schedule coming up. Here are the confirmed events as of today.

Date Event Host Location
2/14/2017 Cloud and Azure intro University of Illinois Champaign, IL
2/16/2017 Building Powerful Applications with AngularJS 2 and TypeScript Northwest Chicago Javascript Schaumburg, IL
2/20/2017 Cognitive Services workshop Womine in Computer Science Champaign, IL
2/21/2017 The Hitchhiker's Guide to Azure Mobile Apps  University of Illinois Champaign, IL
2/28/2017 Big Data Solutions in Azure Chicago .NET User Group Downers Grove, IL
3/1/2017 Effective Data Visualization Chicago City Data User Group Chicago, IL
3/5/2017 Big Data Solutions in Azure Software Development Community Naperville, IL
3/14/2017 IOT Workshop Mission to Mars Chicago, IL
3/16/2017 Adding Image and Voice Intelligence to your apps with Microsoft Cognitive Services Louisville .NET USER Group Louisville, KY
3/29/2017 The Hitchhiker's Guide to Azure Mobile Apps  Indy.Code() Indianapolis, IN
3/29/2017 Adding Image and Voice Intelligence to Your Apps with Microsoft Cognitive Services  Indy.Code() Indianapolis, IN
4/5/2017 Adding Image and Voice Intelligence to your apps with Microsoft Cognitive Services MadDotNet Madison, WI
5/8/2017 TBA Dubuque .NET Software Development User Group  Dubuque, IA
5/9/2017 TBA CRIneta : Cedar Rapids .NET User Group  Cedar Rapids, IA
5/9/2017 TVA Cedar Valley .NET User Group Cedar Falls, IA
5/10/2017 Building Powerful Applications with AngularJS 2 and TypeScript Iowa .NET User Group Des Moines, IA
5/12/2017 Keynote: You and your community Convergence Detroit Detroit, MI
5/22/2017 TBA GLSec Grand Rapids, MI
Tuesday, 14 February 2017 17:43:00 (GMT Standard Time, UTC+00:00)
# Monday, 13 February 2017
Monday, 13 February 2017 16:14:00 (GMT Standard Time, UTC+00:00)
# Sunday, 12 February 2017

When I worked in consulting, part of my job was to interview potential new hires. This often included a technical screening. Here are a few of the questions I would ask on Object Oriented Programming (OOP)

What is the difference between an object and a class?

An object is an instance of a class. A class is a template - or blueprint - that describes what an object based on it will look like and behave. Further, objects have a defined lifetime - they are created and eventually destroyed; not so with classes.

What is encapsulation?

Encapsulation is an OOP principle describing an object hiding its implementation details form the outside world.

What is inheritance?

Inheritance describes a class that is derived from another class or from an interface. The derived class (or child class) inherits the properties and methods of the parent class or interface from which it is derived.

What is polymorphism?

Polymorphism describes to objects that can accept the same message (e.g., the same method call with the same parameters) and respond differently, but appropriately to that message. For example, a Customer class and an Invoice class may each have a "Print" method. Calling the Customer's print method could print a report listing details about the current customer, whereas calling the Invoice's Print method might print a specific invoice.  Polymorphism can be accomplished by implementing the same interface in multiple classes.

What is the difference between a Class and an Interface?

Although each can serve as a templates for inherited classes, an Interface includes only the names and signatures of properties and methods, whereas a class also includes the implantation of each method and property.

Sunday, 12 February 2017 20:32:16 (GMT Standard Time, UTC+00:00)
# Saturday, 11 February 2017

The world of Sunshine is filled with demons and werewolves and a variety of monsters. But the most dangerous creatures are the vampires - undead creatures who prey on humans at night.

sunshine[1] Sunshine is kidnapped by vampires and finds herself chained next to the starving vampire Constantine, who is also a chained prisoner of her captors.

Together, they escape their prison. Sunshine returns to her life but the authorities and her family want her to explain where she has been and how she was able to escape from these creatures (No one ever escapes vampires).

Throughout the book, Sunshine and Constantine and a few human and half-human allies fight a battle against evil and powerful vampires. Along the way, she finds herself drawn to Constantine and learning about her own powers. She wrestles with her identity as she can no longer live the simple life of working in a bakery.

I liked the story and I liked the characters. Sunshine is strong, but flawed. The writing is sometimes rambling but that's ok, because it's written in the first person and that's how Sunshine thinks. Constantine is menacing and distant and alien. But he is likeable. And he strives to understand Sunshine, which sets him apart from the others of his breed.

Sunshine is a good story for those who want a new twist on an old legend without the triteness too often associated with this genre.

Saturday, 11 February 2017 11:37:00 (GMT Standard Time, UTC+00:00)
# Friday, 10 February 2017

If you are interested in speaking at a conference, many of them are currently accepting submissions. Below are some open calls for presentations in and around the Central Region. I have submitted to speak at some of them, so maybe I will see you there.

Event Location Start End Conference Link CFP link CFP Closes
Self.Conference Detroit, MI 5/19/2017 5/20/2017 link link 2/13/2017
Open Source North Minneapolis, MN 6/8/2017 6/8/2017 link link 2/15/2017
Codepalousa Louisville, KY 6/7/2017 6/9/2017 link link 2/17/2017
Music City Code Nashville, TN 6/1/2017 6/3/2017 link link 3/1/2017
Chicago Coder Conference Chicago, IL 6/26/2017 6/27/2017 link link 3/3/2017
Beer City Code Grand Rapids, MI 6/10/2017 6/10/2017 link link 3/14/2017
KCDC Kansas City, MO 8/3/2017 8/4/2017 link link 3/30/2017
That Conference Wisconsin Dells, WI 8/7/2017 8/9/2017 link link 4/15/2017
Madison PHP Madison, WI 9/22/2017 9/23/2017 link link 4/30/2017
SQL Saturday - Pittsburgh Oakdale, PA 9/30/2017 9/30/2017 link link 8/1/2017
NEW Code Camp Appleton, WI 3/25/2017 3/25/2017 link link ?
Chicago Code Camp Chicago, IL 4/30/2017 4/30/2017 link link ?
Friday, 10 February 2017 21:52:55 (GMT Standard Time, UTC+00:00)
# Tuesday, 07 February 2017

Managing Big Data takes a lot of process power. Data often needs to be captured, scrubbed, merged, and queried and each of these things can take many hours of compute time. But often they can be performed in parallel - reducing the amount of time, but increasing the number of computers required.

You could buy a bunch of computers, cluster them, and process your data on this process. But this is expensive and these computers are likely to sit idle most of the time.

Cloud Computing tends to be an ideals solution for most Big Data processing because you can rent the servers you need and only pay for them while they are running.

Microsoft Azure offers a full suite of Big Data tools. These tools are based on the popular Hadoop open source project and are collectively known as "HD Insight".

HBase

HBase is a NoSQL data store that is optimized for big data. Unlike SQL Server and other relational databases, the database does not enforce referential integrity, pre-defined schemas, or auto-generated keys. The developer must code these features into the client application. Because the database doesn't need to worry about these things, inputting data tends to be much faster than in a relational database.

HBase also can be scaled to store petabytes of data.

Storm

Apache Storm is a framework that allows you to build workflow engines against real-time data. This is ideal for scenarios like collecting IoT data. The Storm topology consists of a Stream, which is a container that holds a Spout and one or more Bolts. A Spout is a component that accepts data into the Stream and hands it off to Bolts. Each Bolt takes in data; preforms some discrete actions, such as cleaning up the data or looking up values from IDs; and passes data onto one or more other Bolts. Data is passed as "Tuples", which are sets of name-value pairs formatted as JSON. You can write your code in C#, Java, or Python and a Visual Studio template helps you create these components.

Hive

Hive is a data warehouse. With it, you can query NoSQL data (such as Hive) and relational data (such as SQL Server). Hive ships with a query language - HiveQL - that is similar to SQL. Where HiveQL falls short, you can even write user-defined functions to perform more complex calculations.

Spark

Spark is a visualization tool. In Spark, you can write code in R, Python, or Scala. Jupyter notebooks are a popular interactive tools that allow you to create templates consisting of text and code, so that you can generate real-time reports. Jupyter notebooks support both Python and Scala. Spark also ships with a number of libraries that make it easier to connect to data, create graphs, and perform a number of other tasks.

Clusters

Each of the services described above supports running in clusters of servers. In a cluster, these servers process in parallel, greatly reducing the amount of time required to process the data.  You can easily create a cluster in the portal or you can write a script in PowerShell or CLI.

The ease of creating clusters is a big advantage of running HD Insight over deploying your own Hadoop servers and clustering them yourself. Of course, the other advantage is that you do not have to purchase and maintain servers that are only being used occasionally, which can be a big cost saving.

Warning

One word of caution about using these services. You pay for each server in a cluster by the minute. This can quickly add up. Typically, you don't need to have your cluster running for very long in order to complete tasks, so it is a good idea to shut them down when they are finished. Because of this, it's a good idea to script the creation and deletion of your cluster to make it easy to perform these tasks.

Tuesday, 07 February 2017 18:08:01 (GMT Standard Time, UTC+00:00)