![](http://www.codemash.org/images/badges/animals.png)
I attended my third
CodeMash this past week and it was a great time.
For those that have never heard of CodeMash, it is a Software Developer conference in Sandusky, Oh at a water park. Developers come to the conference to tune-up their skills or learn something new. The best part about CodeMash is the conversations you have outside of the sessions.
ConfTron, the best conference app for Android!
Found in the Android Market, ConfTron is a great companion app for any tech conference, not just CodeMash. One of the best things about ConfTron is the developer, Ben Von Handorf. He attends CodeMash as well as many of the other conferences in his app. Ben is very open to suggestions to improve his app. People would pass him by and mention a suggestion or bug to him, and he would fix it before the end of the day. I think he sent out 5 or more updates during CodeMash.
Celebrities
This year, CodeMash had celebrities attend and give sessions. These were not the celebrities you see walking down Hollywood Blvd., but celebrities to software developers. Scott Hanselman and Carl Franklin were among the attendees. Carl Franklin co-hosts the popular .Net Rocks! podcast where Scott Hanselman is just a big .Net Guru that works for Microsoft. I admittedly have not listened to .Net Rocks! in a while, but I do follow Scott Hanselman’s blog and videos. I think I will need to start listening to .Net Rocks! again.
My Thoughts
CodeMash is a great conference and I look forward to attending next year’s conference. My thanks goes out to the organizers of this conference. All of them put this conference on in their spare time. They don’t get paid for it and they put a lot of hard work into it. So a big thanks to Jim Holmes, Brian Prince, Jason Gilmore, Diane Marsh, and the many others that put this conference on.
I have compiled my “review” of the sessions I attended below. I provide my feedback so that the presenters and organizers can get an idea of what I felt about the session. CodeMash doesn’t give you a way to give feedback, so I thought this would be a good way. If you are the presenter, please take my comments as constructive criticism on how you can improve on or continue doing your presentations in the future.
Precompilers
Precompilers are focused sessions held before the main conference starts. Some of these sessions are half day, some are full day. I attended two half-day sessions.
Android Development Workshop
I have been interested in developing applications for Google TV as well as Android Tablets and Phones. Now that my Google TV can load market apps, I was a little more interested. Jeff McWherter and Scott Gowell tag teamed the session giving a brief introduction of concepts and then going into a live demo. We were given the opportunity to download some sample code and then run them on our own machine.
Getting started with Android development requires a lot of setup on the PC, that isn’t always straight forward. Scott and Jeff did a great job in helping everyone to get their environment working. While one was speaking, the other ran around the room helping people. In my case, I had some additional challenges because I wanted to do development for Google TV and that requires a Linux Distro because it uses KVM for the emulator. (Hmm, maybe I should write a blog about my experience setting this up…)
The only area I think needed more explanation was the use of Intents. I was a little familiar with Intents, as Ben Von Handorf gave me a good overview before this session, but I would have liked more. I think this is an important topic in Android development and should have been covered with more detail.
Overall, I enjoyed this workshop given by Jeff and Scott.
HTML5 is here, and the Web will never be the same
Brandon Satrom and Clark Sell gave this excellent talk about HTML5. The number of attendees was so large, we had to move to a different room halfway through the session!
This session gave a good overview of all of the new HTML 5 features. Brandon and Clark gave a good explanation of each feature, spending a lot of time on semantic tags. They also tried to cover some of the changes to JavaScript, but we simply ran out of time.
In the usual Microsoft fashion (they are Microsoft employees) labs were included in the session. As I understand the value in doing labs, I think they could have been left out. This session had too much content to present with the labs in 4 hours. Regardless, I did walk away with a lot of valuable information.
Main Sessions
Each session is about an hour long and presented in a classroom style environment.
What the heck are they doing over there? Inside the Microsoft Web Stack of Love
As I admitted, I am a fan of Scott Hanselman, so I had to attend one of his sessions. I have seen Scott’s sessions on Channel 9 or other conferences, but it’s not the same as attending one live. The room was full and entertaining has Scott showed several You Tube videos while we waited to get started.
I thought this session was going to be about things I already knew, but was I wrong. Scott went over the new features that Microsoft is working on in ASP.Net vNext. Some of the things presented I already knew about, but others I did not. I was glad I attended this session.
Building Windows 8 Applications with HTML 5 and jQuery
There was some excitement about Windows 8 at the conference. On occasion you saw someone caring a Build Tablet, using it like any other tablet. Rich Dudley gave an overview of how to build Metro style apps using Html and Javascript.
Rich did a good job of giving a brief overview of the new architecture in Windows 8. He explained the difference between WinRT and Win32 well as this has been a big concern for many developers. He went over some sample code that he developed in a Windows 8 VM. I did get something out of the session and Rich was a very good presenter.
Hands-On Responsive and Adaptive Web Design
Ben Callahan gave an excellent talk on how to build responsive and adaptable HTML 5 web sites. I’ll admit that I was expecting something different when I walked into this session, but I wasn’t disappointed. Ben gave good examples of how web sites need to adapt to the screen size rather than use a static grid. He showed how you can make your website change dynamically from Desktop to mobile and anywhere in between. I will diffidently start using some of the techniques he presented.
Windows 8 Metro App with Near Field Communication
The subject of NFC has always been an interest for me, so I wanted to hear what Parag Joshi had to say about it. Parag presented his entire session from a Windows 8 tablet, which I thought was a great idea. Unfortunately this presented problems because the tablet required an HDMI cable to the projector and none of the cables provided were long enough. After about a 15 minute delay, he got his presentation up and running.
Parag went over the different technologies of NFC and showed off some code in a test project on how to communicate with the built-in NFC reader in the Build Tablet. He had some sample tags and demonstrated a cash register concept application. His presentation was well organized and informative. Now I can’t wait to get my own Windows 8 Tablet!
Android: Where you can stick your data
Since I’m new to Android Development, I thought I would attend Ted Neward & Jessica Kerr’s session on saving data to the Android. They gave an excellent overview on how to store data on your Android, focusing on SQLite. Jessica gave an example of an application that stored data in a SQLite database and how we can retrieve that data using the emulator. The session was very informative and I plan to use some of the techniques presented.
Bring the Users: Integrating UX into Your Organization
I walked into this session expecting one thing and got another. I always viewed UX as how to create great interfaces that are intuitive for the user to use. This session focused on another area of UX, finding how your users use your application. Unfortunately for the presenter, Carol Smith, her laptop decided to reboot after doing a Windows Update at the beginning of her presentation. As a result, she had to present from memory with no slides. As a result, the presentation turned into a Q & A session about the topic. The information was valuable even if the presentation material failed.
Dealing with Information Overload
I debated about attending another Scott Hanselman session, but the topic interested me enough to go to it. As developers, we are constantly interrupted by others in the workplace, either through phone calls, emails, or the over-the-shoulder conversation. Scott presented tips and tricks on how to manage your workday with these interruptions. The great thing about his presentation was the explanation about the theories he presented with facts to back them up. At times you felt he was an expert on social engineering and not software development. I plan to start using some of these techniques right away, great session!
Putting Web API Security Issues to REST
API security has always been a challenge in my professional life. You read about different methods for implementing security, but you are never sure if you are doing it right. Adam Goodman gave a talk about security issues in API’s. Most of the material presented was mostly review of concepts I already knew, so I didn’t get much out of it. He had a long discussion about SSL and its vulnerabilities that I didn’t think was necessary. For me, the meat of the discussion should have been ways to implement Authorization and Authentication. Unfortunately Adam did not spend a lot of time on this topic. He explained that you shouldn’t invent it yourself but to use something that has already been invented and works. For his example, he suggested using Amazon’s method of authentication with a little bit of explanation as to why. Unfortunately this was my least favorite session.
Intro to RavenDB: NoSQL is Rapping at Your Door
I always have an interest in document databases. David Neal gave an excellent presentation on RavenDB, the fully .Net developed document database. He gave us a brief overview of how we went from SQL to NoSQL and some of the benefits of NoSQL. He jumped into code giving us examples of how to do standard CRUD operations with RavenDB. This session made me feel better about using a document database, so job well done David.