November 17, 2011 – Lab “F# in three hours”

Special Theme Night: “F# in three hours”

Join us this Thursday as we “up our game” as a development community.

We are going to get started with Microsoft’s excellent functional programming language F#. No prior F# experience is expected. Dan Mohl (a Microsoft F# MVP) will be on hand to keep us moving.

We will start by getting everyone set up with the tools. We will walk through some language basics as a group. From there, we will each pick from a list of seven problems and (using the buddy system) we will solve them. In the third hour Dan Mohl will demo some new features of F# 3.0 (currently in Developer Preview) such as Type Providers.

We will wrap up the lab with a discussion on how we can build a functional programming community in Nashville. Do we want a new F# subgroup? How about a general functional meetup group (F#, Erlang, Haskell, Clojure, …)?  Be there and help us decide.

About F#:
F# is a succinct, expressive and efficient functional (and object-oriented) programming language for .NET. It comes bundled in Visual Studio as a first-class language alongside C#, VB.NET and C++. F# has been described as a feeder language for C# which means new features will be introduced in F# first and will trickle into C# in later releases. F# helps you write simple code to solve complex problems.

Links:
F# on MSDN
Search Twitter for F# news (#fsharp)
- Don Syme’s F# 3.0 presentation from BUILD 2011

Hope to see you there!

November 10, 2011 – Elections, Burke Holland on “HTML 5″, and the winter job fair

Elections (~ 6:20 pm)
We will hold officer elections for 2012. Nominations are open until the voting starts. Here are the current nominations:

  • President: David Neal is currently unopposed
  • Vice-President: Josh Bush is currently unopposed
  • Secretary: Csaba Toth, Delmont Jones
  • Treasurer: Frank Grimmer is currently unopposed
  • Member-at-large: Gaines Kergosien is currently unopposed

The Lecture (~ 6:30 pm)
Topic: HTML5 Techniques You Can Use Today
What is HTML5? What is a polyfill? How do I use a canvas? In this session we’ll take an in-depth look at what HTML5 is, and where it’s going. You should leave this session with concrete techniques and concepts that you can use immediately to jumpstart or accelerate your HTML5 development.

Links to get smart:
- HTML5 Rocks (http://html5rocks.com) has a bevy of videos, tutorials, posts and sample code for getting started with HTML5, and…
- HTML5 Doctor (http://html5doctor.com) is a dictionary of HTML5 terms, definitions and specifications for helping you do HTML5 development today.

Speaker: Burke Holland
Burke Holland is a web developer living in Nashville, TN. He enjoys working with and meeting developers who are building mobile apps with jQuery / HTML5 and loves to hack on social API’s. Burke works for Telerik as a Developer Evangelist focusing on Kendo UI. Burke is @burkeholland on Twitter.

The Winter Job Fair (~ 7:30 pm)
After the lecture we will open the floor for a discussion on jobs. We are assembling a panel to keep the conversation rolling. We will also have entrepreneurs, bloggers and open source contributors on the panel to discuss things you can do to control your own value on the market. We are also inviting three recruiting firms (TEKSystems, TrueBridge, and Alltech) to send a representative to discuss what their clients are looking for. Should be fun and illuminating.

October 20, 2011 – Lab “Dev Survival Skills”

Special Theme Night: “Dev Survival Skills”
If you were thrown onto a deserted coding island with a group of strangers would it go more like “Gilligan’s Island” or “Lord of the Flies”? What skills and knowledge does at least one person on a team need to possess to prevent chaos and pain?

Here are three good places to start:

  • a way to coordinate and track effort – such as a Kanban board
  • a simple way to read and write data – with a Micro ORM perhaps
  • a script on how to do version control without server infrastructure – with Git if given a choice

This lab will be broken into three 50-minute sections. Jon Terry will give a crash course on using a physical kanban board to track “who is working on what”. David Neal will get us set up with two (or three) Micro ORMs that are simple-to-learn and simple-to-use. Finally, we will walk through some typical source control use cases using a memory stick as our central repository (primitive islands don’t have WIFI or source servers).

Don’t be a dufus and skip out– it should be a good one. To follow along, please bring a laptop with Visual Studio.

Special note:
Nashville GiveCamp is this weekend. If you are volunteering, this “dev survival skills” lab will be very handy.

October 11, 2011 – Alan Stevens – “Distributed Version Control with Mercurial”

Topic: “Distributed Version Control with Mercurial: A new way to work
What’s wrong with the way we’ve been using source control? Nothing actually, but new tools have come along which empower developers and enable workflows that were not possible before. In this session, we’ll examine the reasons that distributed version control systems (DVCS) were created. We will step through the flow of changes when using a DVCS. We’ll discuss the DVCS alternatives available with demonstrations using Mercurial.

Links to get smart: http://mercurial.selenic.com/ and http://hgbook.red-bean.com/

Speaker: Alan Stevens
Alan Stevens is a father, geek, vegan and software artisan living in Knoxville, TN. Alan regularly speaks at conferences and user group meetings about how to be a better software developer. Alan is an Open Space Technology facilitator. Alan received the Microsoft Most Valuable Professional (MVP) award in C# in 2009, 2010 & 2011. Alan is a member of ASP Insiders. When Alan is not hanging out with his family, posting on Twitter, singing or playing his acoustic guitar, he occasionally updates his website at http://halanstevens.com.

Special Note:
We will be taking nominations for 2012 officers at this meeting. Elections will be held November 10.

Sept 15, 2011 – Lab “Up and Running with RabbitMQ”

Special Theme Night: “Up and Running with RabbitMQ”
RabbitMQ provides robust messaging for applications. Rabbit is open source, easy to use, scales well and is supported on all major operating systems and developer platforms. What can it do for a .NET developer? Using Rabbit will help you write decoupled (better) C# code. It will also minimize the pain of writing reliable, distributed code in .NET. Another benefit is it makes interop between .NET and other languages (and platforms) very simple.

At the end the lab, everyone:
- will have RabbitMQ running on their laptop
- will be able to explain the benefits of messaging
- will have written code to distribute tasks among workers
- will have written code to broadcast messages to many consumers

To follow along, please bring a laptop with Visual Studio. We will start the lab by getting Rabbit installed on everyone’s laptops. No prior Rabbit/messaging experience is expected. If you have used Rabbit please join us, and offer to help out.

Happy to report Alex Robson (area Rabbit expert) will be on-hand to help.

Links to get smart:

  • http://www.rabbitmq.com/faq.html#what-is-messaging
  • http://www.rabbitmq.com/faq.html#scenarios
  • http://www.rabbitmq.com/faq.html#managing-concepts-exchanges
  • Quick start posts and videos: http://www.rabbitmq.com/how.html#quickstart
  • Alex Robson’s devLink slides: https://github.com/arobson/rabbitmq-demos/blob/master/Messaging%20Patterns.pptx
  • Buy the book: “RabbitMQ in Action (Early Access Edition)” http://www.manning.com/videla/

September 8, 2011 – Geek Harvest + David Neal – “REST Easy”

Geek Harvest is a summer-long, parent-kid programming project that culminates in a 10-15 minute show-and-tell presentation to the user group (read more). We will be kicking off the lecture with these cool topics:

Ben and Will Henderson present “Scratch” Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web. As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.

Calvin and Kinzie Bottoms present “Project Euler” Project Euler is a series of challenging mathematical/computer programming problems that require more than just mathematical insights to solve. The use of a computer and programming skills are required to solve most of the problems.

…and after the w00ts and hurrays! have subsided we will move on to the feature presentation

Topic: REST Easy
In today’s increasingly connected, service-oriented world, sooner or later you are likely to use or create Web services that are based on REST. In this presentation, we will learn why REST has gained great popularity, and look at some of the tools for .NET that make it easier to consume and create REST APIs.

Speaker: David Neal
David is the Director of Development for Cell Journalist, an online media service provider for TV stations, newspapers, and radio. Prior to joining Cell Journalist, David was a senior software engineer for Telligent, the premier social networking platform for .NET that powers some of the largest online communities such as Microsoft’s ASP.NET Forum, MSDN Blogs, Dell, and Game Informer. David is passionate about software craftsmanship, user experience, music, and bacon. You can follow him on Twitter @reverentgeek.

August 11, 2011 – Justin Soliz “An intro to RavenDB with NancyFX”

Topic: “An intro to RavenDB with NancyFX”
Raven is an Open Source document database for the .NET/Windows platform and a relatively new addition to the “NoSQL” movement. Nancy is a lightweight web framework for the .Net platform, inspired by Sinatra. Through these, we will explore new and upcoming additions to .NET web development.

Links to get smart: http://ravendb.net and https://github.com/NancyFx/Nancy

Speaker: Justin Soliz
Justin is a developer out of Hendersonvile, TN. In addition to .NET development, he also has a passion for Node.js, Sinatra, and Rails. You can visit his blog at justinsoliz.com or say hi to him on twitter @justinsoliz

Special Note: 
devLink is next week (Wed-Fri). Quite a few of us are going, so next week’s lab will be cancelled. If you are interested in carpooling to Chattanooga join us on Thursday at the lecture and we will help you share a ride.

July 21, 2011 – Lab “Dependency Inversion, dependency injection and IoC”

Special Theme Night: “Dependency Inversion, dependency injection and IoC” Dependency inversion is the “D” in the often-cited “SOLID principles” of objected oriented design. We will discuss dependency inversion as a group and answer the questions “why bother?” and “what’s involved?”  We will also do a series of quick, informal dog-and-pony shows on various IoC containers (Castle, StructureMap, Ninject).  If you’ve struggled with DI / IoC, bring your questions. If you have a favorite container, come tell us about it. Should be a fun night.

In the meantime, here’s a nice, free screencast from TekPub on dependency injection: http://tekpub.com/view/concepts/1

Note to Parents:
If you want your youngsters to grow up to be healthy geeks, come to the lab and ask about the “Geek Harvest”  (more info here).

July 14, 2011 – Josh Bush “Getting Started with CouchDB and .NET”

Topic: “Getting Started with CouchDB and .NET”
“CouchDB is a document database which is gaining popularity in the “NoSQL” movement. This session will introduce you to these non-relational concepts and describe how they compare/contrast with the relational solutions you’re already familiar with. We’ll go through the basics of CouchDB and show how easy it is to use it from .NET.”

Speaker: Josh Bush
Josh Bush is a Sr. Software Developer with 7 years experience developing software for the healthcare industry. He is passionate about web based technologies utilizing the latest that HTML5 and JavaScript have to offer. Josh has developed and maintains a few open source jQuery plugins. You can read the occasional blog post from Josh on his website at http://digitalbush.com or follow him on twitter (@digitalBush).

June 16, 2011 – Lab “All About Testing – Part 2 of 2″

Special Theme Night: “All About Testing – Part 2 of 2″
Last month’s lab was a blast– around 30 people hung out for three of the most fun, geeky hours of the year. This month’s lab will continue on the theme of unit testing and test-driven development. If you didn’t make it last month, don’t worry– you won’t be lost. Even on a theme night, the labs are more like “Gilligan’s Island” than “Twin Peaks”.

We will do some live coding on the projector. We will have test katas for teams to work through. We will have experts on hand to help us out.

To get an early start, check out Derek Greers’s series on writing effective tests:
http://www.aspiringcraftsman.com/series/effective-tests/

…and here’s a nice, free screencast from TekPub on unit testing:
http://tekpub.com/view/concepts/3

Note to Parents
If you want your youngsters to grow up to be healthy geeks, come to the lab and ask about the “Geek Harvest”  (more info here).