Thursday, May 14, 2015

Perfmon

I was having a few problems with my Lenovo Yoga 2 the other day.  For some reason it was really dogging, and I was getting close to chucking it all and reinstalling, but then I came across this article, which, while it's advice for a much older machine, I thought that I'd try out what it had to say.

Well, I'd heard of perfmon, but I really never checked into how to use it.  This article suggests running

perfmon /rel

from the start menu or a command prompt.  After you do that, it will collect up data from the past few weeks and present it in a graph form.  Mine looked like:



That's really cool!  So you have a day-by-day look at what your system has been doing, and where it's been failing.  Clicking each of the red x icons gives you a look at what failed on that particular day. The blue information icons tended to be system or application updates.  You can see application crashes and other things that may be affecting your system. 

Enjoy!

Thursday, March 26, 2015

I Want to Speak. What Topics Are Best?

We know that community conferences like That Conference and Codemash fulfill multiple roles in a technology community.  They provide networking opportunities, sure.  But they also provide educational sessions for people to learn new technologies, transition between technologies, or enhance their knowledge within their own skill set.

It's easy to figure that the topics at a conference run the gamut of all possible talks, and that you should just speak about what you know.  To first order, that's sort of true.  But not all topics are created equal, and I thought I'd share what I've found most useful, when attending conferences.

For me, conference talks fill that space between blogs about technology, and books. They're the perfect hybrid of dynamic, up-to-the minute content that books don't have, coupled with the story-telling dynamic presentation format that blogs just can't quite reach, most of the time.  Books work well as references.  Blogs work well as permalink content that can be searched on the web for little bits of esoteric information and deep dives.

If that's the space that conference talks generally fill, then what topics to I find most useful? The topics I look for as an attendee are those talks that
  • Help people get started
  • Help people transition
  • Help people improve
If you're a prospective speaker and are thinking of submitting a talk, here are some ideas that fit the bill:

Introduction to "X"


Obviously, this talk is to help people get started.  In an introduction, you start people with the basics: what open problem this X technology or platform solves, why X is a better solution to those problems than other solutions proposed in the industry, how to get started.  In this type of talk, it's more of a survey designed to help people completely new to this technology, or maybe new to technology in general.  Advanced features and deep dives are unnecessary, and you won't get extremely detailed questions, so this type of talk may favor the new speaker.

"X" for the "Y" Dev


This type of talk is very similar to the Introduction to "X" talk described above, but it has a much more targeted focus: help someone transition from an existing technology to a new one.  Every technology has its way of looking at things and those memes are not obvious.  It's easy to write C# that looks like Fortran.  

These talks tend to have titles like "F# for the C# Developer : Learning to Funtional After Objecting All Your Life" or "TDD for the PHP Developer... Really!"  The point of these talks is still introduction, so the talk can't dive deep into the target technology, and you spend a great deal of time arguing by analogy from one language/platform to the other.  This type of talk favors the speaker that has made such a transition in the past and has good handle on what it takes to be successful with the new technology.

New Features in "X"


Technology changes all the time.  If you happen to be working with the next version of some product, there are people that need your guidance.  These types of talks help people grow in their current skill set.  You can assume a base knowledge for your audience, and sometimes get into really cool demos, as new features are generally put in to have a bit of a "whiz-bang" factor.  Here, you also have the ability to take a deep dive or two.

Top "N" Lists


This format can feel pretty tired, but I personally like seeing these talks.  These are talks like "The 5 Best Underused Features in Angular" or "9 Stories from the TDD Front Lines".  What I like is that while the presentation is centered on one particular topic or technology, you can tell quite a few disparate stories without the need for segue.  It's the presentation equivalent of a book of short stories, and if one doesn't really appeal to you, you wait five minutes and see if the next one does.  Also, some of the items can be beginner topics, and some can be advanced, so you can have a fairly diverse audience.

Real-World "X"


Probably my favorite type of topic.  If you are a frequent practitioner of any particular technology, you've run into situations where things didn't work out the way they did in the demos (Entity Framework? I'm looking at you!).  Your experience in the real world can save your audience time and bring some realism to a topic beyond the hype of the company that promotes it.

Remember, Call for Speakers for That Conference opens soon.  If you want to come out and share your experience, maybe one of these topics is right for you!

Tuesday, March 24, 2015

How to Be a Great Speaker

Full disclosure: I am not a great speaker.

I have spoken at precisely one user group and one community conference.  I love community, however, and want to offer my perspective on what makes a great speaker from a frequent audience member.  These are things I strive to do in my talks, but still don't have down.  Each one of these tips has personally affected my enjoyment (positive or negative) of a talk I've been to in the past year.

That Conference call for speakers opens in about a week, so you may not be at this stage yet, getting your abstract ready and such, but keep this handy for when you're preparing for your big day on the conference stage.

Practice, Practice, Practice.


This should probably go without saying, but the speakers that seem to do best have everything down. They've rehearsed their demos over and over.  They have their slide transitions down.  When its clear that you're winging it, unless you have a true gift for extemporaneous speaking (you probably don't, even if you've always thought you did), you lose your audience really fast.

Never Complain About the Conference Setup.


I was at a conference recently, and one of the speakers was having trouble moving his mouse in the limited space on the lectern.  That was pretty obvious from his frustrated mouse movements, but on top of letting the frustration show, about every five minutes, he would articulate that frustration. As an audience member, there was nothing I could do, but it made the talk feel like a downer.

Here's the thing: the audience doesn't care about excuses.  They don't need to hear why things aren't smooth. Make them smooth.  If you can't, move on as best you can.  The show must go on.

Give the Audience a Progress Bar.


This is a tip that hits me subtly, but no matter how rapt my attention is during a talk, at one point or another, I end up thinking, "Gee, how much is left in this talk?"  If you put this information right on your slides (Slide 21/44), the audience never has to move their eyes from your presentation, but if it's not on there, then the listener may switch on their phone, see the time, but also see a tweet from a good friend and think to respond.  At that point you may lose your audience member and not get them back.

Never Forget Your Fans.  


Good speakers are public figures.  They are authors, actors, and performers.  Just like the most famous of those, people will follow you.  These people are fans.  On twitter, they will follow you. IRL, they may follow you.  You may see them at every talk.  They're probably not even stalkers. Note that you might be a huge inspiration to them, and they may be starstruck.  Yes, over little ol' you. Embrace that.  These are like-minded folks in your tribe.

Never Complain About Your Time Slot.  


I know all time slots are not created equal.  Speaking over the lunch hour, or maybe very early in the morning when people were out the night before, or maybe last in the afternoon, when everyone's brains are hurting and full - yeah, I get that those time slots have issues.  You may not get the full room you'd hoped for.

But never say that to the audience that is there.  They have given up their lunch or come exhausted to give you the gift of their time and attention.  To learn from you.  Don't insult them.  Remember, you are happy to be there.  You're changing their lives.

Never Diminish Your Subject Matter.


In a recent presentation, I heard a speaker introduce a bit of their presentation by saying "This isn't very exciting."  Really?  Then why include it?  Actually, I haven't seen it, so it's totally exciting, to me.  Don't tell me what I should and shouldn't find exciting either.  I'm in tech.  I like lots of weird things.  I like to learn, too.  I'm interested.

Also, your material was good enough to get you a speaker slot to talk to your peers.  Never sell your material short.

Don't Recognize Comings and Goings.


I've seen lots of speakers do it.  It's like a reverse heckle of people who are coming in late.  "Thanks for gracing us with your presence."  Or "Ok, now that you're here, we can start."  No kidding, I've heard people say this.  People coming and going may be obeying the Law of Two Feet and coming from another sessions they knew wasn't going to be as awesome as yours.  Maybe they are leaving yours because they thought it was going to be more basic than you're aiming.  Maybe all the bacon has their stomach in a knot.  You don't know, so don't give comings and goings any recognition.

There is an exception to the rule.  If you have a packed house (good for you!), people who walk in may assume there are no more seats left and stand against the wall or sit on the floor.  It's reasonable to interrupt what you're saying to let people know that they can come closer and fill in gaps up nearer the speaker.

Don't Criticize Other Speakers.


I've heard speakers actively criticize other speakers.  As an audience member, that does nothing for me. But praising other speakers?  I love when a speaker does that. I'm always looking for great new speakers to check out.  Guide your listeners toward other great speakers.

Make It Easy to Follow Up.


Given that your material may create fans, followers, or folks with interest in what you have to say, make yourself available.  If you Twitter, then offer your handle.  If you have material to offer from your presentation, make sure you let the audience know how to reach your material, whether it's on Slideshare, GitHub, whatever, make sure you offer all links in some kind of url shortener.

Those are just some tips I wanted to share with speakers and prospective speakers.  Given that the Call for Speakers for That Conference opens up soon.  Get out there and speak!