Monthly Archives: January 2014

Learning as an indie

16 Jan 2014
by mjeaton, posted in Independence   |  2 Comments

I was recently asked the following question on twitter:

how do you ever learn new technologies & languages? It’s not like you have copious spare time.

Instead of trying to answer in a bunch of tweets, I decided a post would be the best way to answer.

The fact is, it can be a struggle to learn new things. Many times I’ll learn new technology on the fly, as-needed by a given project. I actually don’t mind learning this way. It brings a certain amount of focus that more casual learning doesn’t. On a recent project, I found myself having to do a lot of bit manipulation. Since I don’t have a Computer Science background, this was new to me. I learned by diving in, writing a TON of tests and figuring it out. It was really satisfying to see my tests pass, and even more satisfying when the firmware team I was working with gave my code the “thumbs up”.

Over the years, as my network of friends and colleagues has grown, I’ve started going directly to the experts in a given technology and getting some great one-on-one instruction. For example, a little over a year ago, I need to get up to speed on all the Microsoft Azure offerings. I wanted more than the normal marketing fluff from Microsoft, so I asked my friend (and Azure MVP), Mike Wood. We connected via skype where he gave me a solid couple hours of instruction. I did the same thing with Jim Holmes when I needed to learn about the telerik test studio, specifically in the context of testing WPF applications.

While a little off-topic, I also like to pair with friends when I’m stuck on a problem. The majority of the time, all it takes is getting them on skype and explaining the problem to them before I have that “AHA!” moment.

Conferences, for the most part, are more about the social aspect than sitting in sessions. Recently though, I’ve started seeking out sessions on tools and technologies I’m interested in. I know I won’t come away an expert, but I’ll have a much better idea of what I need to know and where I can find more information. A recent example from Codemash 2014 – I’d been hearing about scriptcs and it sounded interesting so I made sure to hit my friend Kevin’s session on the subject. I now have a better understanding of what it is, how I’d use and where to look for more information.

As a long-time speaker, people ask if I like to pitch “unknown” topics to conferences so I’ll be forced to learn the subject. While many speakers do this successfully, it’s not something I like doing. When I go into a room of attendees, I want to know the material inside and out. I want to have actually used it on a project so I can talk about it in terms of “production code” versus “demo code”. I recently had a good friend (and mentor) tell me I should do this regarding some web technology. While I respect his opinion, I still can’t bring myself to do it. :-)

I do try to carve out a couple hours a week for learning, whether it’s surfing to find material, reading one of the many tech books that I have on my bookshelf (most are on web related technologies since I know that’s a weak spot I *need* to improve on) or watching videos on Pluralsight. I’m not as consistent with this as I need to be, but that’s only because billable work (or Lite Accounting work) is always waiting.

Specifically on the subject of Lite Accounting – there are times when I’ll work on something in a branch, commit it and then have Matt review it. Sometimes he’ll just “fix” my code and send me the diff, but other times he’ll tell me what I can do better. I find this a great way to learn.

I hope this answered the question. :-)

Books I read in 2013

13 Jan 2014
by mjeaton, posted in personal   |  Comments Off

Ugh, unlike 2012, I didn’t read nearly as many books as I wanted. I was doing really well up until about October, then I started traveling and just didn’t find the time.

My goal was 35 books, but I only read 15. Once again, I read books about people who have gone through some extraordinary situations in their lives…

From the list, there are definitely some highlights. I’ve also included _some_ of the highlights I made while reading (if I read the book on my Kindle):

Lone Survivor by Marcus Luttrell
Read this book. Do it. Don’t just go watch the movie. Read the book first. Don’t want to see the movie? Read the book.

World War Z: An Oral History of the Zombie War by Max Brooks
Loved the book. About the only thing the movie had in common with the book was the name…and ummm…zombies. Read the book!

Guests of the Ayatollah: The Iran Hostage Crisis: The First Battle in America’s War with Militant Islam, by Mark Bowden
I’ve enjoyed all the books I’ve read by Bowden. He’s a fantastic author. This book was long, but I loved it. Really, really interesting.

Against stupidity the gods themselves labor in vain.

Metrinko was at peace with his own behavior. He had fought his captors and insulted them every day, right up to the ride to the airport, and he had fresh scrapes and bruises to show for it. His fifteen months in captivity would be summed up many years later by Ebtekar: “We thought [him] to be deranged; [he] hated everyone and was hated in return.”

Outlaw Platoon: Heroes, Renegades, Infidels, and the Brotherhood of War in Afghanistan by Sean Parnell, John Bruning

You cannot lead men who are unwilling to be led. You must inspire them to give you the power to do so. That power comes only from their minds, their hearts, not from discipline or devotion to army regulations.

It is easy to be a virtuous man in good times. It is easy to be judged a success when luck runs with the fortunate son. But when adversity strikes, the true measure of a man percolates to the surface.

Always Looking Up: The Adventures of an Incurable Optimist by Michael J. Fox

Before a catastrophe, we can’t imagine coping with the burdens that might confront us in a dire moment. Then when that moment arrives, we suddenly find that we have resources inside us that we knew nothing about

As a way of motivating people, cultivating fear is easier than investing the time and effort necessary to engender respect. Respect requires greater knowledge, and in my experience, the more you know, the less you fear.

We are where we are. If we keep moving, we’ll be someplace else. We’ll know when we get there.

Man’s Search for Meaning by Viktor E. Frankl
This was an incredible book. I have 24 highlighted passages. These are the top.

He who has a Why to live for can bear almost any How.

The greatest task for any person is to find meaning in his or her life.

Suffering in and of itself is meaningless; we give our suffering meaning by the way in which we respond to it.

Forces beyond your control can take away everything you possess except one thing, your freedom to choose how you will respond to the situation. You cannot control what happens to you in life, but you can always control what you will feel and do about what happens to you.

Don’t aim at success—the more you aim at it and make it a target, the more you are going to miss it. For success, like happiness, cannot be pursued; it must ensue, and it only does so as the unintended side-effect of one’s dedication to a cause greater than oneself or as the by-product of one’s surrender to a person other than oneself.

Without suffering and death human life cannot be complete.

The Only Thing Worth Dying For (P.S.) by Eric Blehm

and following your ideals is the only thing worth dying for. Just remember that: Don’t ever put your life on the line for something you don’t believe in.

I read several other books, some amazing, some not so amazing.

This year, I’ve set my goal to be 25 books. I think it’s doable and I’m already on track.

Codemash #8

13 Jan 2014
by mjeaton, posted in business, personal   |  3 Comments

It’s hard to believe it’s been 8 years since the very first Codemash. I was one of the 220 people that first year. What’s funny to me is that I didn’t know many people that first year, so I stayed in my room and played WoW during the attendee party. In the years since, I’ve come to realize the importance of networking, especially at an event like Codemash.

I’ve been lucky over the past 4 years to have been asked to present my “Going Indie” talk as both 1/2-day and full-day Precompilers. This year, due to the weather, I was asked to do two 1/2 day sessions on Tuesday to help fill in for some speakers dealing with weather-related travel issues. The first session I delivered was “XAML: So easy a web developer can do it”. It’s a fun session to deliver. Even though it was announced at the last minute, I still had a good group of about 30 attendees. When I asked what session they had planned to attend, many said “the MVC session”. I also really enjoyed having Jon Skeet sit in on my session. A couple times I wrote some questionable C# to which he said, “Please don’t do that” ;-) He also pointed out a new feature in C# 5.0 that I didn’t know about. Good times.

After 4 hours of XAML, I delivered a 4-hour version of my “Going Indie”. This session is always popular, and I had a great group. The session is always evolving because the longer I’m an indie (13 years and counting), the more I learn. On Wednesday, I delivered the full 8-hour version of the session. Unfortunately, my planned co-presenter, Jeff Strauss, was one of those with travel issues. I was bummed because Jeff, as an attorney, brings a lot to the session. Where I tend to skim legal areas, he’s able to go a lot deeper. While he wasn’t able to make it, my friend and fellow indie, Jim Christoper sat in and helped out. Near the end of the day, Jay Harris also dropped in to help bring yet another perspective to life as an indie / small-business owner. It was also very cool of Eric Lawrence to talk about product development in the last few minutes of the session.

After delivering 16-hours of content over two days, my voice was shot. :-) Thankfully, I had no other talks scheduled, so I was able to enjoy several sessions. Full disclosure: I’ve been on the Codemash speaker selection team for the past 2 years. Whittling the 700+ submissions down to roughly 140 is tough. In my job as the .NET Track Chair, I had to find the best 17 talks out of 140′ish .NET-specific submissions. It sucks having to “reject” so many good talks, but in the end, the 17 I selected were pretty damn solid. If I can give people advice for how to get selected, I’d simply point them to this blog post by Jim Holmes.

Some of the sessions I attended: “C# on a diet with Scriptcs”, “An honest look at independence”, “Lessons from a grizzled speaker” (to which I also contributed at least one tip), “Navigating the open source legal waters” and “Becoming an outlier”.

While I did attend many great sessions, I spent a fair amount of time with friends including the one and only Matt Darby. Monday and Tuesday nights were spent in my room playing some epic games of Cards Against Humanity (The Bigger, Blacker Box). Wednesday, Thursday and Friday were spent talking to good friends with bourbon in hand. I avoided the “big” parties this year. It’s always too loud to actually hold a conversation and honestly, there was no way I was leaving the warm comfort of the main resort to go to the Villas. ;-) I also avoided the waterpark.

I’m sad that Jim Holmes and Jason Gilmore are stepping down from Codemash, but I know they’ll both be happier without all the stress that comes with Codemash. I’m also happy for my friend Jason Follas and his new role on the Codemash board.

I went into this years Codemash thinking it might be my last, at least for a while. I’m less convinced now than I was a week ago. I’d love to help out again for the 2015 event. I’d also like to continue delivering my “Going Indie” Precompiler. Hopefully the new board will ask me back.

Oh, before I forget, I also won a cool drone!! Thanks to PayAnywhere!