Tuesday, November 8, 2011

Senior Developer Training on a Budget

So you've been in the business for over ten years and the technologies continue to change. Now everyone is talking about HTML5 and JavaScript isn't just a way to validate data or show dialog boxes. You're expected to use CSS to style your website instead of those trusty tables and this stuff is complicated. You could probably go to a local user group meeting or a conference to see a one hour presentation on the topic, but lets face it, you're not going to become a web ninja in an hour. What you need is a college level class that will take you from intro to advanced.
I'm sure I'm not the only one who's felt this way. Software developers have to be self taught, to some extent, but many things can only be learned through experience or taught by someone who has that experience. This got me thinking that maybe we need an opportunity for continued education that's more affordable than auditing a college class and taught by someone who actually does it for a living.

We're still working on sponsorship to pay for the laptops, lining up professors and scheduling the facility, but if all goes we may be holding the first classes in January 2012. What topics/technologies would you like to attend?

Friday, October 21, 2011

Knockout.js, AmplifyJS, FubuMVC and RavenDB

Working on a project for Street Theatre Company at Nashville Give Camp with Chris MeadowsJim Cowart and Alex Robson. I get to play with lots of nifty frameworks. We're using Knockout.js to bind the html view to the JavaScript object model. The AmplifyJS publish and subscribe (Pub/Sub) library allows us to wire up client-side model events to the Request layer. FubuMVC is a front controller pattern that we're using to serve up the model through RESTful endpoints.

Alex was the primary resource for data access and spent many hours working with RavenDB and FubuMVC. "Raven was huge", Alex said. "It made storage trivial. I loved how Fubu enabled us to build something that was test-able. I also think that Amplify and KO made it possible to deliver a UI that the customer (and a few devs) liked." We did encounter problems with FubuMVC handling REST and AmplifyJS receiving 500 response codes, but overall it worked well.

Of course, there was more to this project than technology. Jaime Janiszewski and Cathy Street from Street Theatre Company made themselves available all weekend and did a great job at working with us on what features were most important to them and could be accomplished during the weekend. "I was delighted with how easy it was to talk through things with Cathy and Jaime and would honestly request the opportunity to do more work for them in the future if given the chance," said Alex. Jim commented, "I loved interacting with a knowledgeable, appreciative and exciting end user."
"I loved GiveCamp, it was a great experience and we learned so much through the experience that we can't wait until the next one."
-Alex Robson

In the end, Give Camp was a great success. The charities got some great websites and the developers/designers had a blast. Many thanks to the organizers and sponsors who made it possible.


Monday, September 19, 2011

Board and Card Games on the Go

Technology is great, but I'm a huge fan of old fashioned card and board games. I'm often invited to gaming pot lucks and meetup groups and always seem to bring an arm load of games so we'll have plenty of choices. Unfortunately, lugging around boxes of board games is a pain so I always ended leaving something behind, often the very game someone was looking forward to playing.

Recently I noticed the contents of most of the games were much smaller than the boxes they came in so I came up with a system that allows me to take a virtual library of board and card games pretty much anywhere.

Here's a photo of just some of the games I've included:

...and here are those same games (plus many more) condensed into a few bins and bags:


It doesn't take a rocket surgeon to figure out you can put cards and board game pieces into a few boxes to save space, but the types of containers make a world of difference.

Cards
Cards were probably the easiest part once I found the right containers. Plano Molding Company makes a wide variety of plastic containers, but one in particular seems to be just about perfect for card games. It's model number is 5325 and is described as a "Jumbo Card case 11.25 x 8.5 x 3.75". I tried model 5305, but while it's a perfect fit for euro cards such as Dominion, once I sleeved them they no longer fit. This jumbo card case gives a bit more room to allow for card sleeves as well as a wide range of card sizes.
This box contains the basic Dominion set plus the Intrigue and Prosperity expansions with room to spare:

For smaller decks of cards I store them sideways so height isn't an issue and they are all easily accessible:


Pieces
As you can see from the photo above, I make use of extra space by bagging game pieces and placing them along side the cards. I've made sure to store all the pieces and cards for a game in the same box to avoid confusion. If you have games that did not come with small bags for the pieces, most stores with a craft section sell small zip-lock baggies that are perfect for dice and wooden markers. Baggies also work well for small decks as they keep the cards together without damaging them like rubber bands.


Boards
If you've tried this before you're probably saying that this is all fine for cards and small pieces, but many games have big boards that wont fit in these boxes. I measured my boards and most modern games are in packages no larger than 11.5" x 15". My original idea was to pick up an artwork portfolio (zippered folder) as it would be perfect for carrying around a bunch of cardboard, however I had trouble finding one the right size at a decent price. I soon realized that the size of my boards were about the same as a notebook computer. I ended up using an old laptop bag to carry my boards as the computer compartment is not only the perfect size, but it's padded for protection and has a strap to hold everything in place. The flat sections gave me a perfect place to stash rules where they won't get damaged.

I also had a spare netbook bag which was the perfect size for some of the smaller boards in the event that they wont all fit in the big bag. I still think a portfolio might be a better solution, so if you can find one for cheap that will fit A3 paper (11.69" × 16.54") let me know.

Eliminating Overlap (aka. Currency)
There's one final area where you can eliminate components from various games and end up with a better play experience and that's money. Some games call it gold and in others they're just called chips, but many games use some sort of currency and keeping track of a bunch of paper money isn't my idea of fun. My solution is a set of mini poker chips from MeepleSource. They're very reasonably priced and will provide you with enough chips and denominations that you should be able to leave the paper money at home. You can also purchase additional chips in various colors to customize your set. As you can see, I purchased many different color chips with the denominations printed on them so everyone knows what they're worth.

Note: Some games require that you keep your resources secret and provide paper currency with the same backing on all denominations. In this case poker chips will not work since your opponents will be able to tell how much you have.

Conclusion
I hope some of this overview of my board and card game packing system has been helpful. I welcome any questions, comments or suggestions you might have.

Tuesday, March 8, 2011

Code PaLOUsa Speaking Experience

I ended up driving up to Louisville on Saturday morning, giving my talk on HTML5 for Mobile Development, catching a bit of Open Spaces, then heading back to Nashville. It was a lot of time on the road that I used to listen to podcasts such as Scott Hanselman's "Hanselminutes" and I felt surprisingly alert and ready to present for having been on the road all morning.

Unfortunately, my lack of experience speaking at regional conferences became obvious as I blew through my slides and demos far faster than I anticipated. Most of my experience has been with speaking to user groups and development teams, and I believe those environments tend to encourage discussion and questions throughout the session. Even though the room wasn't any larger than our regular user group meetings, it was soon clear that the attendees were strictly there to observe.

I did receive a number of positive comments about my presentation and hopefully everyone walked away having learned something about HTML5 and how to implement it's features. Next time, though, I'll be prepared with more content to fill a full session without audience participation. Lesson learned.

The slides for this presentation can be found at SlideShare.

Tuesday, November 23, 2010

HTML5 Mobile Development

I received an email this morning with the master schedule for Code PaLOUsa and it looks like I'll be speaking on HTML5 Mobile Development. I'd love feedback on the session topic/description.

One of the biggest hurdles for mobile development is bridging the gap between incompatible platforms. From the very beginning HTML has been the only true cross platform solution and, with the introduction of HTML5, developers are now able to create rich applications. Microsoft has even begun shifting away from Silverlight and stated at PDC that HTML5 is the future. This session will provide the tools and techniques you need to get started developing mobile applications using HTML5, CSS3 and JavaScript.

Also, here's what I came up with for a speaker bio. I'm sure it could use some tweaking and would appreciate input.

Gaines Kergosien is a .NET Solutions Consultant for TEKsystems and is currently working with HCA Physician Services. Gaines founded the Nashville Web Developer Group and serves as a board member for the Nashville .NET User Group. With over 12 years in solutions development using Microsoft technologies, his work includes consulting for such companies as Lexis Nexis, Gibson Guitars, and Cardinal Healthcare.

Friday, August 6, 2010

My Windows Phone 7 Apps

Today I attended two Windows Phone 7 sessions at DevLink and am excited to jump in.

I started working on a Windows Mobile application a while back to record scores when playing disc golf. Unfortunately, I fell prey to feature creep and got swamped in trying to make it do too much cool stuff (like downloading content from the web) so I still don't have a release version to show for it.

On the up side, Windows Mobile is on it's way out and Windows Phone 7 release is quickly approaching and, having learned from my mistakes, am ready to begin development for the next generation of phones. Once I have a basic scorekeeping app under my belt I have plans for some more intricate projects.