Tag Archives: CodeMash

Prerequisites for Netflix Precompilers at CodeMash

In CodeMash-speak, we call the tutorials “precompilers”. If you’re planning to join the Netflix precompilers on Wednesday, here are the prerequisites (downloads, mostly) so that you’ll be ready to get started immediately. We only have 4 hours and lots to do!

Architecting for the Cloud: Hands on With NetflixOSS
Sudhir Tonse
Wednesday, January 8, 8:30-12:30

Browser (preferably Chrome or Safari as Netflix Asgard will not work with Firefox)
JDK 1.6 or later (Oracle SDK peferred)
gradle (See http://www.gradle.org/installation)
(*) git (see http://git-scm.com/book/en/Getting-Started-Installing-Git)
(*) Your favorite IDE. Instructions will be in Eclipse (Juno or later)
Gradle plugin recommended
(*) Apache Tomcat 7.X

The items marked in (*) are optional.
Git is used to clone the existing NetflixOSS repositories. If you dont have git installed, please download https://github.com/Netflix/karyon/archive/master.zip
IDE: Although useful you may also follow along with vi/emacs/<your favorite text editor> as well. We will use gradle to build and run the apps

Setting up your Environment for the AWS Cloud using Netflix OSS
Joe Sondow and Peter Sankauskas
Wednesday, January 8, 1:30-5:30

Your own AWS account (you can convert a shopping account), with Billing and Payments enabled.
Access to AWS console
git installed
Your favorite text editor.

We’ll walk you through the rest!

Looking forward to seeing you on Wednesday!

Netflix schedule at CodeMash

If you’re interested in the cloud and how you might leverage Netflix OSS to migrate your company without starting from scratch, you won’t want to miss the Netflix sessions at CodeMash (January 7-10 in Sandusky, OH). We’ll talk about technology, culture, open source, and how they all fit together to make a great product and an amazing work environment.

Yes, I joined Netflix this year, and I’m thrilled that Sudhir Tonse, Roy Rapoport, Jeremy Edberg, and Joe Sondow will be experiencing their first CodeMash. And it’s gonna be a doozy — starting with snow-delayed travel. And, I’m also ecstatic that veteran CodeMash speaker and entrepreneur Andy Glover has joined Netflix (about a month ago!), and will be speaking as well.

Sudhir and Joe are doing a One/Two punch on precompilers. Sudhir will whet your appetite for NetflixOSS in a morning session on Wednesday. Through a test account, you will be able to quickly experience several NetflixOSS projects in “Architecting for the Cloud: Hands on with NetflixOSS”. If you’re sold on the concept, you can join Joe Sondow for an afternoon session, “Setting up your Environment for the AWS Cloud using Netflix OSS”, which will focus on bootstrapping NetflixOSS. We’ll use Peter Sankauskas’ Netflix CloudPrize winning contribution for usability: bootstrapping NetflixOSS with Ansible Playbooks and Cloud Formation templates. And, Peter will join us as a special guest!

We’ll help kick off the conference by joining a panel on “Open Source in Business” on Wednesday night at 7 pm.

You’ll also meet Jeremy Edberg, who will talk about architecting resiliency through failure in “How Netflix Architects for Survival” and how we created a system that allows us to reduce the bureaucracy around system changes while improving how we resolve problems in “Following the Changing Weather of the Clouds”.

Roy Rapoport leads our Insight Engineering team, a team that collects a lot of data and collates it into information then translates that into insights. He will talk about how Python showed up at Netflix and how our focus on Freedom and Responsibility made that possible. His talk is entitled, “Python in the Back Door: How We Brought Python into Netflix”.

And I’ll be sharing Roy’s theme about how programming languages evolve at Netflix, doing a variation of the talk I did at OSCON, “Sneaking Scala Through the Back Door”. Coincidentally, Roy’s team is almost exclusively Scala!

And — we’ll have a vendor session on Thursday, where we will talk about NetflixOSS in an open discussion format. Ask questions about getting started, why we do it, how the culture works. We’ll be there.

Here’s a PDF of the scheduled Netflix talks.

Looking forward to seeing you. Safe travels to Ohio!


CodeMash last week — functional programming this week

Last week was the 7th annual CodeMash conference. I can’t believe that less than 8 years ago, we started talking about creating this conference … and it’s amazing to see how it’s grown. I was thrilled to present a “precompiler” (tutorial) from our book Atomic Scala with Bruce Eckel at the conference. It was a full-day precompiler and we progressed very slowly through the language, introducing details in small bits that we call “atoms”.

This week, the pace at the first ever Ann Arbor Scala Enthusiasts group will certainly be much faster. Josh Suereth, author of “Scala in Depth” will be presenting”Functional Programming Patterns for the Asynchronous Web.” We’re thrilled that Josh will be traveling from Pennsylvania to Michigan to speak. Kirby Smith, also from Typesafe, will be joining us. Typesafe, as you probably know, is the company that was created by the creators of Scala and Akka, to provide a fully featured, easy to use  package of tools, backed by its commercial support.

Typesafe is also sponsoring the meeting, so please register so that we can make sure that there’s enough food. Tired of regular user group fare? No pizza for you guys! Typesafe will bring sandwiches and salads, which will be a great change after gorging ourselves at CodeMash all week!

See you there … SRT Solutions, 206 S. Fifth Ave., Suite 200, Ann Arbor, MI 48104. We’ll start around 6 pm. The meeting is free and open to all!

Atomic Scala at CodeMash — what to download

Bruce Eckel and I will be presenting a 1-day precompiler from our book Atomic Scala at CodeMash on Wednesday, January 9. If you come prepared with software installed and downloaded, we will be able to jump into the material faster!

So, here’s our recommended download list. Note that we are using Scala 2.10. Some of the exercises will not work with earlier versions.

And no, you do NOT need to use sublime text for your editor. If you prefer to use an IDE (Eclipse, IntelliJ, NetBeans, etc.), that’s fine, but we won’t be able to help you use your IDE. We’ve chosen sublime text for its simplicity in a large group.

– Sublime Text (all three platforms)

– basic Java (or JDK) (all three platforms)
Oracle requires that you fill out a license agreement for download, so go to
first, and then choose the offline installers:
Mac/OSX: Comes with MacOS, but you can grab Java 7 download if you want
Windows 32 bit: jre-6u34-windows-i586.exe
Windows 64 bit: jre-6u34-windows-x64.exe
Linux 32 bit: jre-6u34-linux-i586.bin
Linux 64 bit: jre-6u34-linux-x64.bin
– Scala (all three platforms)

Dear world, we’ve got something going on out here (CodeMash)

CodeMash 2012 has sold out. In 24 minutes. Last year, we sold 900 seats in 3.5 days. The year before, we sold 700 seats in 32 days. But this year …. 1200 seats in 24 minutes.

CodeMash is a volunteer, developer-organized conference held in Sandusky, Ohio, in January. Yes, I said January. We bring folks from all over to the snow belt in January to learn new programming languages, new software development techniques, and have a really good time. This year, we’ll have 108 unique technical sessions, as well as a day filled with tutorials. And because it’s not enough to fill the days with geekery, we have evening events, like a game room. And out of the ordinary talks at CodeMash After Dark. We even have things for geek children (KidzMash) and for spouses who come to manage the geek children (CodeMash Families). We have a water park party and a band and a jam session. If you don’t like the sessions (that the organizers chose from over 700 submissions), we have Open Spaces, where you can convene your own session on a topic of your choice, or join in on one that someone else created.

Did I mention it’s in Ohio? In January? And that we wear shorts and flip flops in the Kalahari Resort/Indoor Water Park where it’s balmy inside and we can watch the snow pile up outside?

Did I mention the amazing speakers? Internationally known speakers and authors like Andrew Glover and Scott Hanselman and Bruce Eckel. And Jon Skeet, coming over the pond from London. Carl Quinn (of the Java Posse and Netflix). Bill Pugh (father of FindBugs). Cool emerging topics like Clojure and ClojureScript. Node.js and Backbone.js. And so much more.

Continental breakfast? Pshaw. If you’re coming to Ohio in the middle of winter, we thought we should feed you. There are eggs. And fruit. And bacon. Yes, bacon. This year, we even have a bacon sponsor. Yes, really.

So if you wondered why eventbrite and twitter were abuzz this morning between 10:24* and 10:48, it was because 1200 software developers were registering for a conference in January. In Ohio. And we’ll be contemplating how the heck to handle registration in 2013.

*Why 10:24, you ask? Well, today IS October 24, of course. And if you want to know why we chose 10:24, you can read the President of CodeMash, Jim Holmes’ blog, where you will learn that “in 1901 Anna Edson Taylor was the first person to survive going over Niagara Falls in a barrel”. And we did want to commemorate her accomplishment. Didn’t I mention the geek part?

CodeMash Recap: Scala Koans Precompiler

Was it just last year that I attended Joe O’Brien’s Ruby Koans precompiler at CodeMash?  Koans are little exercises, designed to provide tidbits of knowledge that when bundled together provide an in-depth understanding.  What an awesome way to learn a programming language!

Last year at CodeMash (January 2010), Dick Wall and a few other people got together to work on koans for other languages.  This year, there was some interest in a Scala precompiler.  Since Dick wasn’t able to make the precompiler, I started looking for folks to help.  I hosted “Six Weeks of Scala” at the SRT offices in October and November, and many koans were written there, with the help of several attendees (notably Jeff Hoover).  Nilanjan Raychaudhuri and Daniel Hinojosa, both selected as CodeMash speakers, agreed to pitch in as well.

The idea of koans is that the student has to make only a very small, seemingly insignificant change to make each koan work.  By crafting koans around language features, students gain focused knowledge around the individual features.  The Ruby Koans set the bar REALLY high.  The EdgeCase folks have made their koans fun, even amusing.  Those who have done either set will agree with the inside joke that the Scala koans are still on their journey toward the path to enlightenment.

On the other hand, the koans were well-received.  We had a half-day precompiler session and we seemed able to keep 20 or 30 people amused and interested.  Many others tweeted after the fact that they too were doing the Scala Koans.  The best compliment we could have ever gotten was the guy who came up to me afterward and said that our koans had changed his opinion of Scala.  That he had thought he hated the language, but that he know thinks it’s “not that bad”.  He said that was quite a change in his thinking.  I’ll attribute it to his open mind, and the mantra of CodeMash, which is “Free Your Mind”.

If you want to try the koans, they currently live in 2 places.  We’ll ultimately consolidate them with the Functional Koans on GitHub, but for now you can find the “solutions set” at https://bitbucket.org/dickwall/scala-koans and the student exercises at https://bitbucket.org/dmarsh/scalakoansexercises.

The Ruby Koans have a script that generate the exercises from the working solutions set, but we’re not there yet.

To run the koans, you just need a JDK (1.6+).  We provided the precompiler attendees with sbt and a script that packaged everything that they needed to get started.

Just run:


~test-quick org.functionalkoans.forscala.PathToEnlightenment

From that point on, you will be able to edit the Scala files and make appropriate changes to get the tests to work. sbt will run the tests when you make changes.  Scroll back through the messages to the first error and make the change to fix the error.

The wiki includes a list of changes that we’re working on, as well as instructions of how to run the koans.


Finally: a CodeMash trip report (and some upcoming community events too)

Finally starting to feel a bit human after CodeMash.  While I scaled back my volunteer time this year, SRT was still pretty busy at the conference this year, with scaling up to a Platinum sponsorship and MobiMash! But I found a lot of time to attend sessions this year, which was great.  It's been a few weeks since the conference, but I did want to highlight some of my favorite moments.

During the precompiler, I went to Ruby Koans, given by Jim Weirich and Joe O'Brien.  What a great way to learn!  Joe and Jim even brought a little humor to their teaching, with the exercises reflecting "enlightenment".  Love those guys! I completed my precompiler day with Mary Poppendieck's workshop on Competency and Leadership in Software. I worked with a small group, created a fictitious company that we could use to analyze for effectiveness. Great fun! Very instructive!  I've been fortunate enough to spend some time with Mary and Tom during 3 of the last 4 CodeMash events.  I definitely hope that they make it next year!

For the Wednesday night panel discussion, the Java Posse invited Bill Wagner (representing C#) and Chris Smith (representing F#) to join them.  It was a great group, with lots of interesting discussion.

The variety of talks at CodeMash this year was impressive.  Jim Weaver's JavaFX demo was thought-provoking, and I suspect that Bill Venners' Scalatest demo spoke to more than just Java developers.  Andres Almiray's enthusiasm for Groovy/Griffon was contagious.  And Chris Smith's "Evil Genius with F#" was well-planned and interesting.  We were also really lucky to get the Java Posse to come to CodeMash, both for their panel discussion and their sessions.  Joe Nuxoll's Photoshop for Engineers and Engineering vs. Design sessions were well-attended and offered insight that I haven't previously seen at CodeMash.  Dick Wall did "Funky Java, Objective Scala" which was both fun and interesting, offering functional aspects of Java and object-oriented aspects of Scala.  Carl Quinn rounded out the Posse talks with his on Tools in the Trenches.

Of course, there were many sessions that I regret missing, such as James Ward's Agile Toolchain for Flex and Barry Hawkins' "User Stories: Closing the Agile Loop".  I also missed various iphone and Cocoa development sessions, by both Chris Adamson and Daniel Steinberg, and Nick Siegler's talk on JRuby. And many more.

I'm already looking forward to CodeMash 2011. In the meantime, there are some interesting community-driven conferences coming up.  On March 13, you can attend "2010 Michigan: Agile and Beyond" in Dearborn.  The early bird rate on that ends soon (February 10!), so register soon to get $29 registration rather than the regular rate of $99.  After the very successful 1DevDay in 2009, I've heard rumblings of that conference returning in 2010.  Watch the Detroit Java User Group for announcements there.  And, of course, don't miss the Java Posse Roundup in Crested Butte, CO.  It runs March 15-19, with the first day dedicated to "Alternate Languages on the JVM".  There's graduated pricing on the Roundup, so the sooner you know you want to go, the better!

This week, being the first of the month, is a busy one for user group meetings in Ann Arbor.  Tomorrow night, the Ann Arbor Study Group features Django.  This interactive learning experience will be led by Darrell Hawley, and hosted at SRT Solutions ( 206 S. Fifth Ave., Suite 200, Ann Arbor).   The Ann Arbor Computer Society hosts Aaron Thul for Postgres SQL on Wednesday, February 3.  On Thursday, join the Michigan Python User Group in their monthly meeting/discussion.  Both of these events will be hosted at SRT Solutions as well. 

My schedule for CodeMash 2010

Or, more accurately, CodeMash

This is the week that software development in many locations in the midwest takes a hiatus so that its developers can beef up on new skills and ultimately provide more benefit to their companies and customers. In its 4th year, CodeMash this year will attract nearly 700 developers to the Kalahari Resort and Indoor Waterpark in Sandusky, OH.  The conference kicks off with the "precompiler" sessions (fast-paced interactive tutorials) on Wednesday, and a panel discussion featuring the Java Posse on Wednesday night.  Thursday morning, the conference will be in full gear, with morning sessions by industry luminaries such as Joe O'Brien, Jesse Liberty, Jim Weaver, Jim Weirich, James Ward, Ken Sipe, and Jim Wooley.    Fortunately, due to "Best of CodeMash" repeat sessions, I can pass up the "Why is Ruby Different" talk during that session in hopes of catching it later and then only have to decide between the JavaFX talk by Jim Weaver and the Flex talk by James Ward.  The next session of the day pits the panel discussion "Lessons from the Rails Rumble" against the venerable Andres Almiray in "The Case for Griffon", not to mention Barry Hawkins' "User Stories: Closing the Agile Loop"  Hard choices: that's what CodeMash is all about.

Once I survive the struggle from my choices from the morning, and after a lunch keynote by Hank Janssen from Microsoft, I'll have to choose between Joe Nuxoll's "Photoshop for Engineers: Going from PSD to HTML" and Bill Venners' "GetHigher with ScalaTest". Then it's a hard choice between Leon Gershing's "Introduction to Cucumber",  Michael Slade's "Techniques for Programming Parallel Solutions", Catherine Devlin's "reStructuredText: Plain Text Gets Superpowers", and Barry Hawkins' "Domain Driven Design".  But I'll almost certainly choose Dick Wall's "Funky Java, Objective Scala", as I've been looking forward to this talk and its domain examples in bioinformatics.  Fortunately, Joe O'Brien's "Refactoring theProgrammer" has a repeat session!  And then there's one more session before dinner, where I'll have to choose between a more advanced Cucumber talk, Chris Adamson's "How do you do that on the iPhone", Andres Alimary's "Testing Java in the Fast Lane", and Carey Payette's "Enterprise Development with Prism".  I almost missed that Nick Sieger is talking about "Five Ways to Cure the Java Blues with JRuby" in this timeslot.  Again the "Best of CodeMash" repeat sessions come to the rescue and I can choose to see Joe Nuxoll's "Enginering vs. Design" talk later.

Thursday night is always fun at CodeMash.  This year, we're adding a concert (Enter the Haggis) to the cocktail party and jam session.  Every other year, I've headed out to the water park for a while on Thursday night.  Not sure I'll have time to do that this year!

Friday morning, there's no keynote (after that late night, probably a good thing!).  We'll start the day with Chris Adamson's "Oh Crap! I Forgot or Never Learned C!", "Going Dynamic with C#" by Bill Wagner, "Being an Evil Genius with F# and .NET", and "Software Design and Testability" with Jeremy Miller.  I really enjoy Chris Smith's banter, and so I'll probably head to the F# talk.  The next slot has several sessions that I'm really interested in: "RESTful Interfaces to Third Party websites with Python", "Come for the Phone Stay for the Mac" (by author Daniel Steinberg) and James Ward's "Agile Toolchain for Flex".

I'm REALLY REALLY excited about Friday's lunchtime keynote with Andy Hunt.  I heard Andy speak at the Philly Emerging Tech conference last year and was thrilled that we were able to get him to come to CodeMash.  And by "we", I mean Jason Gilmore.

SRT's Friday vendor session "MobiMash" should be interesting.  Jay Wren, Mike Woelmer, Dan Hibbits, and Patrick Steele worked together and independently to provide a mobile solution for CodeMash, incorporating scheduling, session rating, and favorites.  And they did it in the 4 major mobile platforms: iPhone, Windows Mobile, Android, and Blackberry.  The iPhone and Android apps are available for download in their respective stores.  The Blackberry and Windows Mobile apps should be available Real Soon Now.  They will discuss the development challenges (and rewards) on the various platforms, using the MobiMash app as a case study.  I'm looking forward to it!

After the vendor sessions, I'll have to choose between "Clojure" and "Tools in the Trenches".   That's a really hard choice, because I'm both really interested in Clojure and yet also intrigued with Carl Quinn's tools talk.  Maybe I can convince Carl to do a lightning talk version at the Java Posse Roundup 2010!

Mobile Development for CodeMash at SRT Solutions

4 developers, 4 platforms, 1 objective: provide the latest CodeMash information on your mobile device.  Whatever device that is.

Jay Wren (iPhone), Dan Hibbitts (Android), Mike Woelmer (Windows Mobile), and Patrick Steele (Blackberry) have been working together on an application targeted the various mobile phone platforms.  Their intent was to provide not only scheduling but also abstracts, bios and up-to-date schedule information.  You can also use MobiMash to save your favorite sessions, watch #codemash tweets, and to rate sessions 1-5 (information goes to CodeMash organizers). 

Stats are provided on www.mobimash.org showing the page loads from each platform. Many thanks to Charlie Sears and Dennis Burton for their work on the mobimash site.

Android and iPhone apps are available for download right now.  The Blackberry and Windows Mobile versions will be released very soon.  And look for an update to the iPhone app, as soon as Apple gives it the green light.

See Mike Woelmer's blog for more info and screen shots: http://srtsolutions.com/blogs/mikewoelmer/archive/2010/01/06/introducing-mobimash.aspx

Come to the SRT Solutions MobiMash vendor session (Friday: 3 pm-3:25 pm) to hear about the development of the various apps, including how Jay Wren used MonoTouch to develop his iPhone app, and the unique development challenges/rewards of the individual platforms.  Or, stop by the SRT booth. 

As for me, I'll be waiting anxiously for the Blackberry version!



Practical Scala slides posted

My talk at CodeMash focused on a transition from Java to Scala, demonstrating the simplicity that Scala brings to ordinary Java tasks, like Swing code.  I believe that as programmers become familiar with the syntax of Scala, they will embrace its elegance.  With that, they will enjoy using it and the functional elements will be adopted over time.

Slides posted here.