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.

Tags:

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.

Tags:

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!

Tags:

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.

http://www.wi-ineta.org/DesktopDefault.aspx?tabid=23

 

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

Tags:

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:

http://www.meetup.com/MADdotNET/events/97636912/

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!

Tags:

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.

Tags:

MachineLearning | Technical Community

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

Tags:

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:

 

http://www.wisconsinzombiemudrun.com/

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

Tags:

Personal | Technical Community

Hard Work and the Golden Hours

by Damon Payne 19. April 2013 20:00

I’ve been reading Alex St. John’s blog for a while, and it’s just amazing. His stories of ancient Microsoft history, his tracing popular video game features to fundamental human behavior shaped by evolution, his insistence on the importance of hard work and commentary American Privilege. A couple of his articles lately, though, have kicked me right in the throat. If you have any entrepreneurial aspirations, I highly recommend:

Educated Idiots

Café Easy

I might also throw in this less recent one from Hanselman:

I’m a Phony. Are you?

Over Sharing Inbound

I sometimes feel like these articles were written directly to me, probably because I’ve internalized a lot of guilt. Guilt about not taking action on my ideas. After all, since software is eating the world it doesn’t seemed too far fetched that every competent software developer is sitting on a gold mine. The only thing between me and amazing success is the will to make it so. Yet, I have no idea what I did with my 20s (professionally) and despite often thinking about and working on business ideas, I’m still a wantrepreneur in my late 30s. The Saint’s comments on work-life balance are what really got to me. My week night schedule might be something like:

•    Get up at a questionably late hour, go to my good-paying job.
•    Come home, make an unnecessarily elaborate dinner.
•    Hang out with kids, clean up, etc.
•    Hang out with wife
•    Devote a few pre-bedtime brain cycles to open source projects, blogging, continuous learning, and modeling stuff for one of my business ideas.

Unsurprisingly, I can think of no successful business owners who share my story. Have you ever read an interview with a truly successful individual that sounded anything like “Yeah, we worked 10 hours a week or so on this, no big deal, until it was done and we hit it big.”


I’m doing better than I ever have before in my life, yet it’s still not enough. One of the reasons why I haven’t been participating in community as much is because I’ve been writing huge amounts of code. It’s not enough, it’s not getting done fast enough for my taste. There needs to be more hard work. Some people may find themselves in an existential dilemma trying to figure out what to cut out so there’s time for more productive work. In my case, this has been an evil exercise. I shouldn’t spend less time with my kids! Surely not less time with my wife! I need my sleep and exercise. I need my movies and video games to decompress from the “hard work” and “stress” of my day job. Yet I shed a tear when I think about how much time I played Diablo 3 last year. (Not really, but I should be ashamed!).


This is where The Saint’s words hit home. If you’re content with the overall trajectory of your life and career, there would be nothing wrong with seeking balance between work/sleep/games/movies/wife&children/hobbies.  If you’re not, though, you need to think really hard about how much down time and “balance” you actually need. If you’ve always wanted to be a blogger with a million followers or a successful Micro ISV writing phone apps, or to become an independent consultant,  what value will you place on ‘balance” when you look back and realize you are no closer to those goals than you were years ago?

Golden Hours

The real problem in insisting that a few days of productivity entitles one to some marathon gaming sessions or re-watching all of Battle Star Galactica is the value of the particular hours when most of us are doing our side work or learning projects. I call these the Golden Hours.


Many of us, in our day jobs, are not afforded much focus. We may be committing code on multiple projects, reviewing our peer’s code, and generally participating in various unfortunate unproductive activities. No so during the Golden Hours.


My home workstation setupis slightly better than what my employer gives me. There’s a door I can close and I can play music through my excellent Klipsch PC speakers. The house is quiet, my family is asleep, there’s some red wine on my desk, and the time of night where my mind is most awake and focus approaches. What to do with this time?


If you have the numbers available, take a look at your favorite PC games (or Xbox or PS3) and see how many hours you spent playing your favorite games. Suppose that number was 400 hours last year. (oh, if only it were a mere 400 hours last year) At your day job that 400 hours may represent a fiscal quarter worth of office hours and you may have built a major module or accomplished a similar cog-in-the-machine type of contribution. But now, you’re at home. You’re using only the tools you love, only the libraries and frameworks you love. No architect has told you what you can’t do and how you can’t do it, no scrum master has told you Boring Crud Screen must take priority over Interesting Problem from a later sprint. The Golden Hours where you are awake and in your most productive environment approach. Now what could you do in 400 hours?


This, for me, is the true tragedy of seeking balance with hobbies, entrepreneurial dreams, and the stuff that actually must get done. Many of us have ambitions and skills, but proceed to spend the most productive time we have available surfing hacker news, watching zombie movies, online gaming, engaging in meaningless debates on twitter, or re-connecting with people we hated in high school on Facebook.


You may in fact reach a point where your brain is Jell-O and you truly need some downtime in order to return to productivity. Most of us probably indulge ourselves way, way too early though. I suspect that, like training your body with a “couch to 5k” program, you can train your mind to expect a life of more and more productive work and less and less Archer or Game of Thrones.


It’s easy for a programmer to do incredibly well in America today. If you want more, though, If you want to be really disgustingly successful, you must evaluate every activity through a simple heuristic: is this simply indulging my entitlement to wealth and leisure, or is this moving a possible revenue stream forward?

Tags:

Personal | Business | Technical Community

On Stock Options

by Damon Payne 13. February 2013 13:26

I have always considered stock options to be Monopoly Money. I came of age in the 80s and 90s and grew up watching the creation of Microsoft Millionairs and .Com millionairs but I never put much stock (pardon the pun) in this as a source of wealth. It's easy to look at successful companies like Microsoft whose stock split so many times and think of stock options as a path to wealth for the average worker bee.

I've spent my career up to this point in the midwest, and I saw some of my friends working heroic hours to make something happen for their company. Their motivation was going public and (at least) paying off their homes with stock sale proceeds. For a long time part of my fear of stock options was due to a bit of small-minded thinking: I couldn't envision any of these small Wisconsin companies making it big, and therefore viewed these stock options as essentially motivating a lot of free effort for the company by promising the moon to employees eager to cash out on a big deal.

My main issue, though, is that I find employees are generally woefully under-educated about exactly what kind of stock they are given and what they can do with their stock options. This Ars Technica article is just the latest in a long stream of examples. Stock Options, and Common Stock in general, often exist at the pleasure of the company. This is not to say that in-writing agreements are discarded at will when it's convienient, but rather that employees are not usually presented with the whole picture. You will happily sign something saying "We are granting you XXXX shares of Common Stock" without knowing there may be so much preferred stock that the likelihood of you getting any money out of a company sale is incredibly small. As Dell employees are now finding out, the bylaws of any company may also allow so many restrictions to be placed on stock options that only the narrowest sequences of events could even lead to an employee exercising & selling in a moderately profitable fashion.

As an aside: this also brings to light one of my personal biases. I'm extremely old-fashioned in that I greatly prefer stocks that regularly pay dividends out of profit. I find this a much more sound concept than the current practice of what essentially amounts to speculation on stock price. So many non-market forces (rumors, etc) can affect the market valuation of publicly-traded companies.

As the article about Dell points out, the higher you are on the food chain the more likely you are to do well with company stock. Call me cynical, but it's hard to look at this situation and call it anything but the top-decision makers fixing the game in their favor. Enron-style practices that allow executives to sell stock while employees are in a blackout period are common. Preferred stock agreements that gaurantee minimum share prices for executives even to the point of employees earning nothing from a sale are common.  The rules are complex and often hidden in secret company charters or in SEC filings that only employees with extremely deep financial knowledge can decipher. While the premise of encouraging the best employee actions by giving them a piece of the pie is a sound one, it's sometimes hard to look at these stories as anything but a case of fraud.

 

Tags:

Business | 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