Karma in 2014

by Damon Payne 19. February 2014 21:27

I believe in the concept of Karma. Not in the mystic sense, but more in the "Big Data" sense, the Chaos Theory sense, the Economists' "Unintended Consequences" sense, the Software Architect's "Action at a distance" design flaw. Given a sufficiently limiting scope of time ( say a human lifetime ) and a real or virtual community (the state of Texas, the Stack Exchange community, the Milwaukee Startup Scene) your actions will come back to you. It's never a good idea to make that hard sale, it's better to say to that customer "Listen, this is our value proposition, but it's starting to look like we may not be a fit right now." It's better to tell that potential employee "Listen, I'd love to have you, but I get a sense from the questions you're asking that we can't give you that kind of environment right now." Yes, there are many people out there who won't recognize what you've done for them with your honesty. Some will even hold you in contempt for it, "Moron! He almost got me to sign!" Generally speaking, though, people in America are generally good. Half of them are of above average intelligence. The next time that failed business deal needs to be sure they get an honest answer, they may remember the person who gave them the truth to their own detriment. The almost-employee refers their friends to you, the almost-client mentions you to their friends. It's a long term view in a world that focuses on short-horizon $200million startup exits. It's a view worth considering.


Business | Personal | Technical Community

Surface Pro 2

by Damon Payne 26. November 2013 16:23

I like gadgets, and my daughter needed a new machine to play Minecraft on which would also run Visual Studio, so I took a risk and bought a new Surface Pro 2, 256 GB SSD. The red Alienware machine many would recognize from my speaking engagements is now helping my 10 year old learn HTML5, CSS, and Asp.Net MVC 5.

Despite being in much better shape than I was in my 20s, I've steadily downsized laptops. From giant 17" desktop replacements, down to 15", down to the 13" Alienware, down now to this 10" 2lb tablet/laptop combination. 

Since I was just at the 2013 fall Global MVP Summit in the Seattle/Redmond/Bellevue area I had a chance to live on this device for a week. How did it go?

Generally speaking, I like it. The wifi seems to have some odd slowness on my at home network despite no other kindle/iPad/Kindle Fire/Windows Phone/Nest thermostat/Playstation 3/Xbox 360/laptop ever having had issues. Once I got past that, I got Visual Studio 2013, SQL server 2012 and my other tools install and threw some real projects onto it. Ok, I also put Diablo 3 on it...

The machine is quite usable for medium-sized project development with the new backlit type keyboard. The keyboard itself has a different key layout than the Microsoft Natural ergonomic keyboards I've been using for 10+ years so some of my muscle memory for Visual Studio chords is thrown off. There is also the known "doesn't rest well on my lap" issue but I was mostly using this on tables and airplane tray tables. In addition to the keyboard shortcut re-learning, I had to adjust my standard Visual Studio layout to auto-collapse most of the panels in order to be able to have more code on the screen. VS 2013 makes it slightly easier to run tests without the full Test Explorer panel open.

Battery life was a concern, particularly when traveling, at a conference, or in a crowded Starbucks with only one outlet. I've never owned a laptop I could do development on with even remotely satisfactory battery life, and indeed the Surface Pro 2 was given mediocre marks by both Anandtech and Jeff Atwood as soon as it came out. Your mileage may vary, but I was impressed. In one completely unscientific experiment I opened up the Surface Pro 2 with a full charge to see how close to a full day it would last:

  • Running Visual Studio 2013 doing active development, compiling code and running unit tests
  • SQL 2013 in the background
  • Wifi on at all times reading Newsblur and checking email with Outlook 2013
  • Bluetooth off

I was also in sessions this day, so it may not have been the most keyboard-banging intense development possible, but I booted up at 9am and at 4pm when I was ready to head back to the hotel I had 10% battery left. Not bad at all.

All in all, I'm pretty happy with the device. I can do real development on the road, it's small and light, and it works great as a tablet at home. I would be interested to see a slightly larger model: allowing for a larger screen and also a larger Type Cover with a more standard keyboard layout.


Technical Community | windows 8

That Conference – Wow!

by Damon Payne 16. September 2013 11:49

I've been back at work after That Conference 2013 for a while, so this is a month late, I have my reasons. Nonetheless I just have to say Wow! While there were lots of great sessions, it was the family aspect that really blew me away.

My session on machine learning was accepted so I got a few speaker emails that members of the general public did not. One of the suggestions from the organizers was to bring your family to the conference since there was a Family Ticket, but also to bring them to watch your session. My wife and kids sitting through an hour of Machine Learning code? Interesting.

See, I’ve been traveling and speaking for quite a few years now so my family is used to me being away at whatever technical community event is going on: TechEd, MIX (RIP), the Global MVP Summit, user groups, code camps, StartupMKE. It’s kind of a big part of my life that my family only had vague ideas of: Dad goes away for a few days, says he can’t talk on the phone tonight because the GitHub Drinkup is a really important part of the conference experience, family has no idea what that means.

So I brought my family with me and we all had a blast. Hosting the conference at The Kalahari helps, but the whole experience was great. Since I’ve been doing this for a while I couldn’t walk ten feet without running into someone I needed to catch up with, and I got to introduce them all to my family. There were tons of great family sessions. My daughter has already been doing some programming but being able to sit with her through some kid-oriented technical exercises was really great. And, yes, my wife and two children sat through an hour of statistics, C#, and my bad humor as recommended.

All in all it made me very happy to be able to show my family first-hand what happens at tech conferences. I’m glad they got to see me shaking hands with all the great people I’ve met over the years, at the podium talking about Machine Learning, and even making a fool of myself during Battle Decks. I’m not sure if this is a feature unique to That Conference, but in the future I think they should sell the hell out of it!


Personal | Technical Community

Machine Learning at the Wisconsin (Milwaukee) .NET User Group

by Damon Payne 9. September 2013 21:46

Well the demand for the machine learning talk I've been doing is increasing. Admittedly, this is a hot subject right now. The talk will be at the Milwaukee Safenet offices on Tuesday, September 10th.



Edit: registration for the meeting has been closed, it's full, sorry!


MachineLearning | Technical Community

Machine Learning at MadDotNet

by Damon Payne 20. August 2013 22:47

Wednesday, September 4th at the Madison, WI .NET User's Group I will be presenting "Getting Started With Machine Learning". Details here:


I will be altering the content slightly from the That Conference version of the talk. k-Means clustering is a touch dry (and problematic with my test data) so we'll spend just a little time on that at the end and I'll spend some time going over either Neural Nets or Decision Trees instead.


I hope to see you there!


MachineLearning | Technical Community

Getting Started With Machine Learning Follow Up

by Damon Payne 12. August 2013 08:56

Slides from my talk at That Conference 2013.

Download Power Point.


The code is forthcoming, I'm making modifications for my upcoming talk on this topic in Madison. The code will be posted to GitHub.

Since a few people asked, here are some books that do a pretty good job, you'll find that Python is pretty easy to learn. Python's list comprehension syntax is a little odd at first but you get used to it.


MachineLearning | Technical Community

Use Powershell for Visual Studio Build Events

by Damon Payne 8. June 2013 19:18

If, like me, you are working on frameworks but are not completely up to speed on MSBuild you may have tried to use xcopy in a Post-build event to copy your binaries to a distribution folder. As an old Unix guy I have to scratch my head at “xcopy has exited with code…” errors. Use Powershell instead for behavior that makes sense:

Powershell.exe  -command "cp $(TargetPath) $(SolutionDir)\Output"
Powershell.exe  -command "cp $(TargetDir)$(TargetName).pdb $(SolutionDir)\Output"
Powershell.exe  -command "cp $(TargetDir)$(TargetName).xml $(SolutionDir)\Output"

Powershell works better than vanilla MS DOS commands for your build needs.


Re-order Windows Phone 8 Playlists

by Damon Payne 14. May 2013 22:34

I lit up my Twitter stream in frustration today when I sat down to create a playlist on my Nokia Lumia 920. Zune software, which is still my #1 choice for music playing, is out of the picture for WP8. The “music” app can create playlists but seems unassociated with the phone. The Windows Phone WinRT app cannot create or edit playlists. The steps I found online to create a playlist on the phone are annoying and error prone.

Once you’ve created a playlist on the phone there is no way to add/remove/change the order of songs. Wow. I was poking around to see if there was a way to do this in code and came up empty handed. I also hoped that perhaps the playlist format was something I could parse and build an editor for. I found the following by exploring the phone:


Looks promising, but I’m unable to open these files using code or any application, including Sysinernals.


All I wanted was to more easily build an energized playlist for my Wednesday night workout. I’ll leave the profanity to my twitter stream and just say that the shipped playlist experience on Windows Phone 8 is DoublePlusUngood. The only relief I’ve been able to get so far is that the “Reference” tab does in fact let you remove & reorder songs on a playlist on the phone:


I’ve only tested this on Windows 8 so far. Not great, but I hope this helps someone out.


Windows Phone | windows 8 | WindowsPhone8

Machine Learning at That Conference 2013

by Damon Payne 8. May 2013 13:37

I am honored to announce that I've been accepted to deliver a talk at That Conference this summer. I was unable to attend the first ever That Conference due to a scheduling conflict last year, making me double happy to be able to attend this August. Full details on my session can be found here. I hope to see many familiar faces there as well as connect with those of you I've only known virtually up to now.

Getting Started With Machine Learning

 Data mining, Big Data, predictive analytics, machine learning. Developers hear these buzzwords constantly but may not have a firm grasp of exactly what is involved in this exciting area of computer science. In this talk we'll explore some fun and easy to understand yet practical examples of both supervised and unsupervised machine learning. Example code will be in C# and we will focus on logic and algorithms over hardcore math.  Come and learn how to make your software better just by feeding it more data!

 Level: 200 - Category: Other

Tags: Analytics, Big Data, Machine Learning


MachineLearning | Technical Community

2013 Wisconsin Zombie Mud Run

by Damon Payne 24. April 2013 16:15

While my Taekwondo and Hapkido training are getting me close to my pre-children level of fitness, I have been avoiding running. TKD is hard on my shins and the sciatic nerve has been acting up again lately. Here's to hoping the chiropractor can work some magic because I'm entering my first race since the 2003 Al's Run:



 If you're interested in running with me or heckling, I'll be running at 11:30am.


Personal | Technical Community

About the author

Damon Payne is a Microsoft MVP specializing in Smart Client solution architecture. 

INETA Community Speakers Program

Month List

Page List

flickr photostream