Sadukie’s SensoRs AdventuRes

The Project

My husband has various temperature and humidity sensors scattered throughout the house, recording data points to a MySQL server. The data is stored on a table that looks like this:

id
<int>
date
<chr>
sensorname
<chr>
sensorvalue
<dbl>
1 31 2016-12-18 22:20:23 temp5 63.6116
2 32 2016-12-18 22:20:23 finalDHTTempF2 68.0000
3 33 2016-12-18 22:20:23 humidity2 36.0000
4 34 2016-12-18 22:25:23 temp5 64.1750
5 35 2016-12-18 22:25:23 finalDHTTempF2 68.0000
6 36 2016-12-18 22:25:23 humidity2 36.0000
7 37 2016-12-18 22:30:23 temp5 63.7250
8 38 2016-12-18 22:30:23 finalDHTTempF2 69.8000
9 39 2016-12-18 22:30:23 humidity2 35.0000
10 40 2016-12-18 22:35:23 temp5 63.3866

I wanted to use his dataset to test my adventures in applying R.

Our current dataset data is a data frame with 198164 rows.

The Problem

Looking at this data, the first thing I thought was untidy. There has to be a better way. When I think of tidy data, I think of the tidyr package, which is used to help make data tidy, easier to work with. Specifically, I thought of the spread() function, where I could break things up. Once data was spread into appropriate columns, I figure I can operate on the data a bit better.

The Adventures so far…

As seen in the date field, the values are logged with their times. This is why we have so many data points. The first thing I wanted to do was group the values into daily means.

Cleaning up Dates

I am using lubridate to make some of my date management a bit easier. I am using dplyr to do the chaining with %>%. I grouped my data by sensor then by date parts – year, month, and day. After grouping the data, I summarized the data to get daily means. Once the data was summarized, I spread it out to make it more meaningful:

year(date)
<dbl>
month(date)
<dbl>
day(date)
<int>
finalDHTTempF1
<dbl>
finalDHTTempF2
<dbl>
finalDHTTempF3
<dbl>
humidity1
<dbl>
1 2016 12 18 NA 68.34286 NA NA
2 2016 12 19 NA 67.77578 NA NA
3 2016 12 20 NA 67.88750 NA NA
4 2016 12 21 NA 68.95625 NA NA
5 2016 12 22 NA 69.74375 NA NA
6 2016 12 23 NA 69.71875 NA NA
7 2016 12 24 NA 70.97500 NA NA
8 2016 12 25 NA 70.85625 NA NA
9 2016 12 26 NA 71.78750 NA NA
10 2016 12 27 NA 71.08750 NA NA
finalDHTTempF1
<dbl>
finalDHTTempF2
<dbl>
finalDHTTempF3
<dbl>
humidity1
<dbl>
humidity2
<dbl>
humidity3
<dbl>
temp4
<dbl>
temp5
<dbl>
NA 68.34286 NA NA 35.80952 NA NA 63.08703
NA 67.77578 NA NA 35.55709 NA NA 62.37841
NA 67.88750 NA NA 35.50347 NA NA 62.41281
NA 68.95625 NA NA 35.46528 NA NA 63.40109
NA 69.74375 NA NA 35.24306 NA NA 64.36713
NA 69.71875 NA NA 35.25000 NA NA 64.33000

Cleaning up NAs

Now some of the data shows NA. If there’s anything I’ve learned with data, NULL and NA can be problematic, depending on the data tool and the user operating said tool. In this case, I can easily convert my NA values to 0 without ruining the data meaning:

finalDHTTempF1
<dbl>
finalDHTTempF2
<dbl>
finalDHTTempF3
<dbl>
humidity1
<dbl>
humidity2
<dbl>
humidity3
<dbl>
temp4
<dbl>
temp5
<dbl>
0 68.34286 0 0 35.80952 0 0 63.08703
0 67.77578 0 0 35.55709 0 0 62.37841
0 67.88750 0 0 35.50347 0 0 62.41281
0 68.95625 0 0 35.46528 0 0 63.40109
0 69.74375 0 0 35.24306 0 0 64.36713
0 69.71875 0 0 35.25000 0 0 64.33000

Presentation

So now that I have daily averages in a format that I can work with, let’s do something meaningful with the data – let’s plot it! I am using ggplot2 for plotting.

Conclusion

So far, I’m having fun putting my skills to work, especially with this dataset at. I’m at the tail end of the 2nd course of an R specialization on Coursera. Between CodeMash and Coursera, I’ve been enjoying my exploRation into R. Here’s to many adventures ahead!

CodeMash 2017 Recap: Conference Talks, Day 1

For the first day of conference talks, I had some things I wanted to see and others that I ended up not seeing, due to a turn in events.  I may have been checking out topics I’ve been interested in, as well as scouting for speakers for Stir Trek (as our call for speakers opens January 15).   These are the adventures from conference talks day 1.

Data-Centric Encryption in Practice

I wanted to see data-centric encryption presented by Wolfgang Goerlich, as I’ve enjoyed his talks in the past and wanted to see what he had to say in this talk.  He is quite the storyteller, including Batman in his story.  For an 8am talk, there was laughter and sitting on the edge of my chair, waiting to see where the story would go.  It was great to see the cast of characters trying to get data as well as where the vulnerabilities lie.  I now have a list of more tools to play with.  One of my favorite words of advice in this talk is – encrypt everywhere, decrypt on use.  Overall, I really enjoyed this talk!

Leadership Journey: From Software Developer to Leader

During the event, my conference family was shaken by a tragedy.  Of all of my friends at the conference, there were a few in particular that I was really concerned about, including my friend Mike Eaton.  When I saw that he was doing a talk on leadership, I suspected he’d reference Jim Holmes’ The Leadership Journey book, and after this event, I wanted to make sure all was well.  Also, knowing Mike’s story about going independent and knowing that he took a job full-time with Quicken Loans, I was curious to see how he brought all of his adventures together in this talk.  Sure enough, I was right in that he mentioned Jim’s book as part of his presentation.  Mike did a great job of keeping himself strong throughout the talk.   One of the questions that Mike mentioned in his transition from consultant to employee and management was What is your ‘why?’  I know my whys for going back full-time and taking the opportunities presented.  I will always have whys.  Another running theme in his talk was People are hard.  I am in the process of transitioning back to management (after years of being away), and it was good to hear Mike’s adventures to remind me of the path I’m getting back down again.  He’s right – people are hard.  But oddly enough, I enjoy those challenges.  And as always, I was glad to catch one of Mike’s talks, as it had important lessons.

TechHappy: Hacking Positive Communities

After I heard that my Microsoft MVP Community Project Manager (CPM, formerly referred to as our MVP leads) was going to be at CodeMash, I made it a point to catch at least one of her sessions.  I wanted to meet her in person, as I missed the MVP Summit last November and end up missing our regional gatherings due to work or family obligations.  Lisa Anderson did a great session on hacking positive communities – taking ideas from positive communities and how we can use them in our own communities and lives.  There was a lot of leading with positivity and happiness.  She mentioned two different leadership styles – resonant vs dissonant.  She mentioned How Full Is Your Bucket by Tom Rath, which is now on my list of books to check out this year.

One of the things I really enjoyed about this talk was the reference to Tina Fey and the improv exercise of “Yes… And…”.  Lisa mentioned Second City in Chicago, and this made me think of the improv sessions I’ve seen or gone through in the past with Mike Hagesfeld at Stir Trek and with Jessie Shternshus at a past CodeMash.  I also had to think of Bob Coppedge – one of my favorite people to talk business with – and his improv background and how he recently retired from Point of No Return, a local improv group.

I also enjoyed how she brought in the discussion of Hacking Your Flow State from a guy from Shots of Awe.  She asked us for how we felt when we feel we are at peak performance.  She also mentioned the Flow Genome Project and Flow Dojo.  Finally, she mentioned positivity and play – and she brought play dough!  I took 2 containers home to my boys, and they really enjoyed playing!

My boys playing with play dough from @LisaAnderson312

Have Your Best Season Yet: Becoming a (Microsoft) MVP

After meeting Lisa, she convinced me to join the MVP panel in the afternoon.  It was great to join in on the panel of what is a Microsoft MVP, what do we do, how do we get to become one, and all of the other details around the MVP community.  The panel was made up of a bunch of Visual Studio MVPs, all of us with varying backgrounds:

One of my favorite questions was about what we’re looking forward to this year.  After having presented Microsoft technologies on non-Microsoft platforms in my past (IronPython on Linux at PyCon 2009… with Jim Hugunin and the IronPython team in my audience!) … I am beyond thrilled to see .NET Core on Linux being an official stance.  I am looking forward to .NET Core, seeing its possibilities, helping talk about it on a non-traditional platform, and see how it gets adopted.

I really enjoy my adventures as a Microsoft MVP, and I am thankful that they renew me.  I am also thankful for the privilege to be on this MVP panel with such a diverse group of techies.

Bringing Up Our Future – On Mentoring Junior Developers

Last year, I had a standing room only talk on mentoring junior developers. This year, they moved me to a bigger room, and I had a lot of fun presenting many of my mentoring experiences and lessons to a larger group.  (For the record, I was wearing my Sadukie Squadron shirt that my Akron Java September 2016 apprentices from The Software Guild created to represent our group.  My apprentices rock!)

Representing #SadukieSquadron

The thing that got me the most excited about my talk was seeing Melinda Walker of One Squiggly Line come into my room with the tools of her trade.  I had seen her in action last year, and when I saw her walk in, I knew what was going to happen in my talk – Sketchnotes!!

SketchNotes from Mentoring Junior Developers, courtesy of DevCoaches

Long story, short – I really enjoyed sharing my lessons on mentoring – both with my interactions with my own mentors and with my apprentices.  I will be writing a couple blog posts in the future to talk more about my mentors and my relationships with them, as well as how to find mentors.

Laser Pong 2 – Taking Back the Record

Last year, they had a record setting laser pong challenge.  Apparently some guys claimed the record after the CodeMash record.  So this year, we came back with a vengeance.  I was hanging out with some of my DevCoaches friends – Dave, Victor, and Matt – and figured this could be quite an adventure for us.  We were seated in section R3 – probably the most united section.  Lots of cheering, lots of competition… however, in the end, Team Bitchin lost to Team Rad 11-7.  While there was a winning team and a losing team in terms of the competition, the main point of this exercise was to reclaim the world record.  Our independent witnesses counted 380 of us to hopefully take the record back!

Conclusion from Day 1 of Conference Talks

Overall, it was quite a busy day.  I really enjoyed the sessions that I caught and even in the ones I participated in.  CodeMash has been exciting, enlightening, and really inspiring… and there was still one more day to go!  I am thankful that my husband encourages me to go to CodeMash every year, and I’m most especially thankful for being able to go this year, as there are more friends to make and more things to explore.

CodeMash 2017 Recap: Pre-Compiler Day 2

As I mentioned in yesterday’s post, one of my personal tech topics that I want to explore in 2017 is data science.  For as long as I’ve known, I love data.  As a hobbyist in my teens, I was playing with Access and reporting on data.  I eventually migrated to Visual Basic talking to Access… which led to me taking an internship right out of high school where I was QAing data sheets and working with a contractor on an app that was migrating an Access database to a VB front end and SQL Server back end.  That contractor saw my curiosity and excitement around data, and he introduced me to the Oracle database administrator.  Fast forward into my career – lots of fun writing data reports in Crystal Reports and SQL Server Reporting Services and wearing the database administrator hat over many versions of SQL Server!  Moving right along, I end up writing and supporting web applications that talk to SQL Server back ends.  Nowadays, I’m working at The Software Guild, writing database curriculum for both C# and Java cohorts and encouraging our apprentices to explore databases – amongst other topics.  I get to play with SQL Server and MySQL.

However, as much as I get to play with these tools and data, I’ve been more curious about the topic that is getting a lot of talk – data science.  One of my friends asked what we wanted to learn more about in 2017, and when I mentioned data science, another friend asked if I had met Matthew Renze yet.  While I hadn’t crossed paths with him at that point, I was curious.  He linked me to his courses, which gave me an idea of what to expect with the pre-compiler.  Most of all, I was looking forward to a day of data science at CodeMash, hoping to see what all the talk was about.

Pre-compiler – Practical Data Science with R

With a name like “practical data science”, I went into the pre-compiler expecting how to work with R and put it in practice.  The name of the pre-compiler workshop set the expectations for me quite clearly.  Reading the abstract and the pre-reqs for it, everything was spelled out enough for me to have reasonable expectations going into it.

R and RStudio

In this Practical Data Science with R workshop, we learned about the R language and used RStudio to run through labs on various topics in data science.  I really enjoyed Matthew’s storytelling, weaving a story around a fictitious guy’s ridiculous idea for a space western musical movie.  We played with a movies dataset for many of our labs, looking at the data and seeing why this guy’s musical idea was a bit ridiculous and unwise. For some other labs, we also played with iris data.

Looking at the R language, it made sense to me.  Everything being treated as a vector… I had seen that in other languages before, so it didn’t seem foreign.  The arrows of assignment reminded me of lambda syntax in Java and C#… oh arrows and lambdas and assignments… again, it seemed familiar enough.  The indexing with the ranges reminded me of my adventures with Ruby Koans of CodeMashes past.    Even now, as I recap this, I am realizing that some of the familiarity is due to my past background – surviving engineering and math statistics courses using MATLAB and Maple.  In fact, during the workshop, I mentioned to my friend Victor that I wish I had this mentality back then, as my advanced math classes may have been more tolerable back then.  Playing with R reminded me of how much I love analyzing data and building out visualizations.

R in Visual Studio

In the workshop, Matthew Renze mentioned that you could also run these things in Visual Studio.  Of course, I couldn’t resist – running a new language for me in a tool I am quite familiar with!  I installed R Tools for Visual Studio and ran through the labs from today in Visual Studio.  I really like that the Ctrl-Enter to execute code in RStudio carried over into Visual Studio.  The visualizations were neat to see when I ran them in Visual Studio.

Inspiration to Play More

After sitting through the data science workshop today, I realized a lot about myself and my love of data.  I realize that my love of data really hasn’t changed in the past couple decades – I really do enjoy seeing what all is in a database, how the data relates, the various trends, cleaning it up, understanding why there are certain trends and what the outliers may indicate.  While I had a quick flashback to younger me not happy in my classes in college that introduced the concepts, I realized that I still like the visualizations and calculations, and with the right teachers, things aren’t as bad as they once seemed.  Playing with data makes me excited, and today’s workshop reaffirmed that.

This really confirmed – 2017 will be my year to have fun with data science.

CodeMash 2017 Recap : Pre-Compiler Day 1

Tech-wise, personally, my goals for 2017 involve learning more about data science (especially R and Hadoop) and playing with .NET Core on Linux.  (Have I ever mentioned how excited I am about writing code in a language from Microsoft on an operating system that is not Windows?!?)  Work-wise, I should probably be focusing on C#, Java, and JavaScript-related topics – including which frameworks may win the framework adoption in the JavaScript realm.  Since I’ve heard Angular 2 was a much different beast than Angular 1, I figured I should probably learn more about Angular 2.  So with CodeMash – I knew I had to take advantage of learning from amazing minds on these things.

Pre-Compiler 1: Introduction to Angular 2 (Part 1)

Knowing we have Angular 1 mentioned in some of our curriculum at The Software Guild,  I figured I should at least know a bit more about what’s in Angular 2.  Seeing an Angular 2 pre-compiler in the lineup, I had to see what it was about.  Now, with Angular 1, we do all things in JavaScript – from templates to directives.  Angular 2, though, looks like a lot of TypeScript.

The pre-compiler’s description mentioned:

We will go over everyting that a developer will need to be productive in Angular 2, including components, directives, pipes, services, dependency injection, as well as overviews of RxJS and TypeScript.

Thankfully, I understand the above concepts very well in numerous languages.  However, I had only seen TypeScript in passing and hadn’t had any experience with RxJS.  That description though mentioned that there would be overviews of both, so I didn’t anticipate any issues.

In preparing for the pre-compiler, I installed my pre-reqs and ran through to make sure versions were correct.    I re-read the pre-reqs and still felt confident that this session would be for me.

Even though we will work in TypeScript, a working understanding of JavaScript is essential…

Experience with a modern web framework is not required but would be very useful (React, Angular 1.x, Ember, Vue)

An understanding of TypeScript would be helpful but is not required nor essential — there are lots of example provided

I’ve been working with JavaScript since the late 90s, so that didn’t phase me.  We cover Angular 1..x in one of our courses, enough for me to gather the overarching patterns of Angular.  However, again, no TypeScript here.

Going to this pre-compiler, I expected a little more guidance on how they structure their projects and how this code talks to each other.  However, there wasn’t much guidance.  The slides were also incorrect, but thankfully I know enough about git to  know how to search his tags and do git checkouts as needed.  For the first couple labs, I would check out the solution and then work backwards to understand how the code comes together and just what is going on in each of the TypeScript files.  Oh yeah… did I mention that this is heavily TypeScripted?  Yeah…

After a couple of labs of working backwards from the solutions,  I started to feel comfortable enough to attempt a solution on my own.  I was mostly there other than missing a little bit of component code.  However, I saw the pattern and started writing TypeScript files based on the pattern presented.  After a couple more labs, though, I realized we weren’t getting enough direction and were getting a lot of glossed-over descriptions of code. I could continue the lab on my own time and work backwards on my own time.  This wasn’t as beneficial as I had hoped – other than starting to pick up TypeScript and bolster my confidence in debugging and working backwards from solutions.  It’s time I use the law of 2 feet:

If you are neither learning nor contributing in a session, you are required to get up and leave and join another session in progress where you feel you’ll be more useful and inspired.

Pre-Compiler 2: Game Development with the Unity Game Engine (Part 2)

While talking with friends at lunch, my friend Victor convinced a couple of us to follow him back to Mike Geig‘s workshop on game development with Unity.  Thankfully, when I was installing pre-reqs for my pre-compilers, I installed Unity just in case I changed my mind.  I’ve known Mike from the conference speaking circuit, and I was curious to see his presenter style as well.  I was a little nervous as I really struggle seeing some aspects of games, and I really hadn’t had any background in Unity.  However, my C# background really helped in this when playing with the scripts.

I really like Mike’s presenting style:

  • Set the expectation of what we’re going to do
  • Do the thing while pointing out each step along the way
  • Recapping what he just did
  • Post the steps for us to do the same thing
  • Recap what we just did

For not having background in this and for jumping into the workshop halfway through, I honestly enjoyed this session a ton.  It was great to see how Unity works, and it gave me some ideas on things – granted I need graphics people for help, but it gets me thinking.  I also look forward to us having Mike come speak at our user group sometime this year, as he has some cool topics and has a presenter style that really works well.

Pre-Compiler Day 1 Conclusion

Overall, I learned quite a bit today.  There’s still 3 more days of learning at CodeMash to go.  However, today was quite an adventure in JavaScript, TypeScript, Unity, and C#.  I can’t wait to see what else I’ll learn!

Exciting Adventures at CodeMash – Part 1, Precompilers

Every year, CodeMash sells out quicker than the last.  It’s growing in size and popularity beyond belief, which is a good thing.  Overall, it’s been a great adventure.  As I mentioned in my past precompiler selection article, it was tough to choose precompilers, as there were so many great ones to choose from that seemed relevant to me.

Speaker Workshop with Leon Gersing

As I suspected, this was a wonderful Precompiler for me to start with.  The room was filled with some familiar faces (such as Cori) and a lot of new faces (including Kevin N., Sharon, DustyJohn, and Evan).  We had a brief eyes forward session on tips and tricks to use while presenting.  Once that was done, then Leon got us involved in group activities.

The first activity involved dividing the room in half.  One half of the room had to stand up in front of the other half of the room.  The seated half was supposed to observe the standing half.  Being up there, I either stood with my arms crossed (as I hate standing up in front of a quiet room where all eyes are on me and the audience has blank expressions on their face) or tried to make them laugh (did I mention that I don’t like standing up in front of blank faces).  For me, when I’m standing in front of a crowd and being observed, I’m typically presenting.  While presenting, I’m also reading my audience and trying to keep them engaged.  So standing still and trying to be quiet up there… not a comfortable thing for me.

Then there was the activity of lining up in groups and then coming to the center and introducing ourselves.  Some people introduced themselves with a question tone – so along the lines of “I’m Sarah Dutkiewicz?”  I knew not to come out with the question tone, but I’ve had practice speaking and had a speech class in college where the speech instructor taught me the tricks and helped me channel the self confidence to get away from that.  However, I started with a long introduction (that I ended up doing 3 or 4 times, so much so that I’m sure most of the people there could repeat it) and then ended with a “I’m Sarah Dutkiewicz!”.    Now I have to admit… doing the introduction a ton of times, I heard a lot of “Hey, Sadukie!” throughout the conference – so I knew my introduction style was effective.  But man, having to introduce myself so many times… I knew why, but I just had to do it.  That, and Leon is my friend and knows that he can put me through that and that I could handle it.

Overall, I really enjoyed observing others and how they carry themselves and then listen to Leon’s critique and suggestions.  Reading body language was quite an interesting exercise as well.  I look forward to putting the experiences in there towards becoming a better speaker.

Creative Problem Solving with Jessie Shternshus

This was the precompiler I really wanted to get into.  Jessie Shternshus of The Improv Effect led this session. They limit the session to 40 participants, so I skipped breakfast (other than peanut butter filled pretzels) so that I’d get a spot.  Well worth it!  Learning how to solve problems creatively by using improv exercises really turned out to be an effective session.  Starting out the session cheering “I FAILED!” and celebrating that set a fun tone for the session.  These are just some (but not all) of the exercises we did.

Defining Randomness

In this exercise, we got into two circles.  As we went around the circle, one person would make up a word and the person next to them would define the word, as if they were an expert on that word.  It was great to see how random the words really sounded and who got really creative with their answers (and how close they could tie to the sounds of the word).  It really flowed well for the group I was in.

Completing Words

In this exercise, we were still in two circles.  As we went around the circle, one person would start a word and the next person would finish the word.  Then, the two of them would have to say their word together.  To give you an idea of how our group went, we had these scenarios:

Person 1: For

Person 2: Play

Person 1 & 2: Foreplay!

Person 1: Shh

Person 2: It

Person 1 & 2: Shit!

Group Telephone

In this exercise, we were in a large circle.  Jessie would start by making an action at Jim (another one of the improv guys), and then he’d repeat it to the person next to him, who’d repeat it and so on around the circle.

Colossa… mama!

Suh, suh… hmm?!?

Oh the phrases and actions we passed around as a group telephone experience!  You learn about people’s different personalities and ways of conveying a message, and you can see how things change over time.  The second phrase started more as a saunter and the “hmmm?!?” was a slower, in-your-face experience.  However, this message travelled twice around the circle and sped up and turned almost into a tribal dance.  It was awesome to watch the evolution of the message!

No, but… Yes, but… and Yes, and…

This was an exercise between two people.  You had to try to carry on a conversation first with starting sentences with “No, but…”.  In the second part of the exercise, you have to try to carry on a conversation starting sentences with “Yes, but…”.  Finally, you had to try to carry on a conversation with “Yes, and…”.  We found ourselves sometimes struggling with the “but” part of the sentence, and when we both agreed on things, it was easy for the conversation to fall flat.  Honestly, I find it hard to carry on a conversation with only one of these.  I tend to employ each of these multiple times in conversations rather than sticking with one.  But that’s just me.

Tear Apart a Commonly Used Object

In this exercise, we got into groups and had to find all the faults in a commonly used object.  I was in a group that tore apart (no pun intended) 2-ply toilet paper.  It sticks to shoes.  It doesn’t make good crime scene tape. It’s a bad raincoat.  These were just some of the things we had to say.  This exercise was helpful in that we can apply it to tearing apart a business’s (or even competitor’s) product and see ways of how to improve the product.

Creative Uses of an Office Object

We had to suggest an office object and then 3 people would be at the front of the room and making suggestions of how else the items could be used.  The first object was a stapler, which the group came up with all sorts of creative ways to use it and the staples inside.  Then, there was the group that had to come up with uses for a pencil.  Let’s just say that the 3 of them seemed to assume it was a wooden pencil and they all tended to stick with a morbid, grotesque theme until the end when it was suggested to use the metal piece as a warmer for food.  This reminded me in a way of the props skits done on “Whose Line Is It Anyway?”  This exercise helps us realize that if we think outside the box, we can use our tools to solve all sorts of problems.

Sentences with the Last Letter of the Previous Sentence

This was absolutely maddening to me!  I would rather have a conversation with someone without having  to think about the letters of the words being used.  I think this is because I’d rather listen to what people have to say and then play off of it.  I learned about Jean from Pittsburgh’s little boy and how his name came from somewhere in the family tree.   It was great talking with her!

3 Words, 5 Words

For awhile, someone would say 3 words and then the other person would follow with 5 words.  Trying to have a conversation while counting words is also maddening!  I opened with “Cards Against Humanity”, which led to a fun discussion – my intuition told me that Jean probably played it too!  But we found ourselves counting words a lot more, which, to me, interrupts the flow of the conversation.

Conclusion

There were quite a few more exercises going on throughout this session – it’s jam packed with interaction and thinking outside of the box.  I loved participating in these and learning how to apply them to our day-to-day dealings.  I am so glad I was able to get into this session, as it was well worth it!

Thoughts on the Precompilers

Overall, I chose wisely as to which precompilers I felt I would benefit from the most.  It was great to be in sessions that had participation other than sitting and writing code.  It forced me to be a little out of my comfort zone and really taught me some things about myself that I never realized.  I look forward to channeling the skills that I’ve learned in these sessions in future presentations.

CodeMash Decisions, Decisions… Precompilers

This morning, as I get settled in after a wonderful holiday season, I’ve been looking at the precompiler descriptions and session descriptions for CodeMash.  It’s hard to believe that CodeMash is next week!  Here are my thoughts so far just by looking at the descriptions.

PreCompiler – Tuesday

This is my short  list for precompilers for Tuesday.

  • Cloud Architecture with Windows Azure
  • Developing Mobile Applications with PhoneGap
  • Developing on Windows 8
  • Speaker Workshop

While the sessions on testing looked interesting, I digest a lot on testing when I’m working with the LeanDog crew, so I’m going to take a break from that.

The Windows Azure session is on my short list for many reasons.  For one, they mention Pottermore in their description and tracking that site’s story from afar, it’s good to see that mentioned.  (No, I’m not a Harry Potter fan.  I’ve more been interested in it from a tech perspective.)  I also have been wanting to work with Azure for some of my personal projects and figured it’d be good to catch a session on it.

The PhoneGap session is on my short list mostly because I’m curious about mobile development tools other than the Microsoft tooling (as I’m playing around with the Microsoft tooling).  Don’t expect to see me playing with Android or iPhone development just yet – taking baby steps as it’s truly nothing more than a side venture at this point.

The Windows 8 session is on my short list because I’ve been enjoying Windows 8 so far and should probably pay attention to Windows 8 development a bit more.

The Speaker Workshop is on my short list because even though I speak at various venues, there’s always room for improvement.  Yes, I’ve been speaking recently for a consecutive 5 years? 6 years?  I’ve been speaking at user groups and conferences (local, regional, and national) since 1999.  But it’s Leon, and I’m sure he’ll have a different perspective on things and offer more nifty pointers for speaking.

PreCompiler – Wednesday

This is my short list for Wednesday.

  • Creative Problem Solving
  • HTML5 Workshop
  • Into the Mind of a Hacker
  • Web Development with Python and Django

Creative Problem Solving intrigues me, as it’s using improv techniques.  One of my mentors is involved in improv, and hearing his tales, it just intrigues me more.  I’ve wanted to catch this in the past but haven’t had the time.  Maybe this will finally be the time for me to catch it!

HTML5 Workshop would help me update my web development roots a bit.  I’ve had a little time to play with HTML5, but not as much as I’d hoped for.

Into the Mind of a Hacker appeals to the white hat in me.  When I was in college, I was known for finding flaws in university systems and reporting them to the engineering’s college computing team.  Boredom at its finest had me getting into things but with good intentions.  Every now and then, I catch sessions like this that remind me of my past.

Finally, the Django and Python session is on my list as I mentioned to them that I may be available to help them with Windows support.  Having tinkered with Python on Windows in the past, it wouldn’t hurt if I helped where I could.  I may be in and out in here though since there are other sessions that I want to catch.

Conclusion

There are too many awesome sessions to choose from – including those that didn’t make it on my short list!  These are just the ones that I personally am interested.  You can see the full list of precompiler sessions on the CodeMash site.

Hope to see you there!

My Love for Local & Regional Conferences

Recently, I was talking with a local guy who wanted to get more involved with the community, as he wants to eventually go the MVP route with hopes of one day working for Microsoft.  He mentioned that some people told him about conferences like TechEd and VSLive.  While those are great conferences, they’re also expensive – not just the ticket price but also accommodations and other incidentals.  In my reply back, I had to recommend looking at local conferences.  Here are a few reasons why I recommend local and regional conferences over the big conferences.

Quality of Speakers

Something to keep in mind is that speakers have some place they call home, even though they may travel a lot for work.  Here in the Heartland District, we have all sorts of speakers who’ve spoken at the bigger conferences (TechEd, VSLive, etc.) who call Ohio, Michigan, Kentucky, or Tennessee home.  Even here in Cleveland, we have quite a few hometown greats who have spoken at national conferences.  So just because we’re in the Midwest and not on either coast does not mean that we’re exempt from having awesome speakers.  What’s nice about having these speakers calling this home is that it’s easy to woo them to speak at a conference close to home – not travelling far from family, giving them time with both the community and their own families.

Cost of Attendance

Looking at TechEd, the student rate is $995.  The student rate – as in a discounted rate –  is close to $1000, which is expensive for a typical student’s budget.  While I may be out of college for almost 10 years now, I remember what it was like to live on a student’s meager budget.  There’s no way I could have afforded going to something like that.  The professional rate is $2195 or that and an additional $400 for the pre-con.  While the “big names” are presenting there, it’s quite a bit of money to see content that we can find online, perhaps by the big name or someone else.  Add to it that this rate doesn’t include travel or hotel accommodations.  All of these numbers add up.

Now let’s look at some of the local conferences that can attract the big names at a fraction of the cost.  Take a look at conferences like CodeMash (in Sandusky, Ohio in January) and devLink (in Tennessee in August).  These conferences have attracted well-known speakers including Steve Smith, Scott Hanselman, Eric Meyer, and Mary Poppendieck.  These are multi-day regional conferences that are typically more affordable – both in terms of conference costs and accommodations.  They offer typically conference talks, workshops, and open spaces, amongst other networking opportunities for their attendees.  These are the two closest to my home and held here in the Heartland District.  Similar conferences include MADExpo and That Conference.  Other conferences that attract similar caliber of speakers include Stir Trek,  CodePaLOUsa, CodeStock, and Kalamazoo X.  The ticket price of these, even at the professional level, aren’t much greater than $300 for multi-day events – much more affordable than even the student rate of TechEd.

Networking on a Local Scale

While you may be wanting to network with people throughout the world, it might be even more helpful to network with those in nearby communities to achieve whatever goal you’re trying to achieve.  Local and regional events are greater for reaching the local audience (as opposed to the larger conferences that target a wide network).  Other local and regional events in this area that are great to check out include  DevDays, Days of .NET, SQL Saturdays, PowerShell Saturday,  TechNet Events, and MSDN Events.  The costs for these tend to be minimal – usually to cover food.  Some of these events may also be free.

Conclusion

In an economy where employers may not necessarily pay their developers well or even cover their training, events like TechEd and VSLive become even less of an option for training.  However, besides going to user groups where you usually hear about one topic and network with the locals, there are other options.  When budgets are tight but you still want to get a great quality of presented content, take a look at local and regional conferences.  Once you look at them, you’ll find a great way for growing your career perhaps in your own backyard!

Submitting Talks, New and Old…

Earlier this week, I was talking with my a few speaker friends on submitting talks for conferences – as I’m specifically looking at submitting talks for:

Strategies in Submitting Talks

It’s interesting to hear some of their strategies. Some of my friends will submit all of their talks that they can do, in hopes of at least one getting picked. Some only submit talks that they’re interested in doing. Some submit talks that they’ve given over and over for the past few years. Some submit talks that they haven’t given yet but would like to give. There’re all sorts of strategies throughout my friends’ speaking submissions.

Preparing to Submit Talks for Multiple Conferences

This morning, I spent time updating my presentation topics and abstracts page. I’ve retired yet another talk, as the technologies have changed and my interests have changed. I’ve also created a new talk, inspired by my recent experiences and research.

I’ve submitted 3 of my talks to CodeMash this morning. One of my talks is brand new, but I think it would fit well with CodeMash and the topics that have appeared in the past and that are still trending. The other 2 talks I’ve given in various forms – separately and mashed together – at user groups and other events. I’ve had fellow community members ask me if I would be giving {insert a topic or presentation here} at {insert a conference here}, and every time I hear people asking for a presentation, I make note of it and try to include it in my submissions. Since CodeMash’s sessions are 60 minutes, I submitted these talks in their whole forms rather than the mashed together version.

By the end of today, I will have my submissions in for Ann Arbor Day of .NET, which happens at the end of October. I’ve got one submission in so far due to requests from the community to submit a talk, but I hope to get at least one more in, possibly my new talk if they’re interested. We’ll see how that goes.

Central Ohio Day of .NET’s call for speakers isn’t open yet. However, they’ve announced their date, which makes it easy for me to check my availability and possibly submit talks. Since I’m already in that groove for submitting talks, it makes it a little easier in determining what I want to submit to Central Ohio Day of .NET.

My Personal Strategies

For me, I’m glad to see all of these Calls for Speakers at once, because then I can get what I want to talk about figured out and submitted all around the same time. These are some of the things I think about when I submit talks to conferences:

  • Is the topic something I’m passionate about? If it isn’t something I’m passionate about, then I’m not delivering the talk. For me as an attendee, I hate going to presentations that are given by a passionless speaker. If they don’t have that positive energy and aren’t excited about the technology, I’m not easily sold on why I should be interested in their topics or ideas. As a speaker, I find that it’s a lot easier to prepare and give a talk on something I’m passionate about. As a speaker, I also tend to notice the attendees engaging more and asking more questions when I show that I’m interested in the topic.
  • Is the topic relevant to the conference? If it isn’t relevant to the conference, I’m not submitting it.
  • Are the technologies/strategies in this presentation still relevant? If the technologies or strategies in a talk are outdated, I look to see (1) if they have been updated, (2) if I am still passionate about the updates, and (3) if they’re worth continuing to present on.
  • Is there public interest in this topic? If there isn’t interest in a topic, then there aren’t people to listen to it or to converse with about it, which means there is no point in delivering this presentation.

I don’t think twice about submitting new talks – every talk I’ve given was a new talk at one point in time. Most of the time, I try to debut talks at a smaller event – be it in an office environment for a lunch’n’learn, at a local user group, or at a developer community event.

Conclusion

There are different strategies out there for submitting talks to conferences. My advice is find what works for you and stick with it. Do you have any strategies or advice on submitting talks that you’d like to share? Leave a comment here!