Tag Archives: Scala

Functional Programming and Scala Koans: upcoming talks

On Saturday, May 5, 2012, I will be presenting “Functional Programming for the Masses” at the Great Lakes Functional Programming Conference. This one-day event is developer organized and will be held at Washtenaw Community College. You can register at http://glfpc.eventbrite.com/. Tickets have been selling quickly for the event. Here’s an abstract for my talk:

Have you heard about functional programming but aren’t sure what should be your next step toward adoption? Are you looking for ways to introduce functional programming without scaring your coworkers and your boss? How can you convince others than the paradigm shift is worthwhile? That it will provide business value while making the programmers and customers happy?

You will come out of this talk with the techniques to bring functional programming to your organization with minimal stress. Whether you use Java, C#, or are gunning for Scala, this talk is for you. We’ll show examples of how to weave in functional, starting with how to talk about functional and ending with real code examples, showing that functional programming can be … well … functional.

The Scala Koans in Detroit will be rescheduled for a later date, through Detroit Dev Days. On Thursday, May 31, I will be delivering the Scala Koans with Bruce Eckel in Detroit, at the Madison Building. Organized by Detroit Dev Days, this will be the first full day Scala koans event ever. Join us. More information and registration available at eventbrite. Lunch will be provided.

On Monday, July 16, I will again be delivering the Scala Koans with Daniel Hinojosa in Portland, OR, at OSCON. Monday is the Tutorials Day, and requires a separate registration. You can get more information about our session here and register for the conference here. Daniel and I have teamed up several times in the past (both at CodeMash and StrangeLoop) to deliver the koans, and we have given them individually as well. The koans continue to grow, and we think it’s a great way to learn!

Presenting the Scala Koans with Bruce Eckel in Detroit

I was thrilled when David McKinnon of the Detroit Java User Group invited me to present the Scala Koans in Detroit on May 31. The timing worked out perfectly for Bruce Eckel to be in town, so I asked him to join me. Bruce and I are working on an introductory Scala book together, and the Koans are a great way to learn Scala as well. The koans are self-paced exercises. You can do them from home, but in our experience in presenting them at StrangeLoop, CodeMash, and 1DevDay, the group atmosphere offers an additional facet for learning. Other participants ask questions and contribute ideas, providing a unique experience at each event.

Join us on the 5th floor of the newly renovated Madison Building, 1555 Broadway, in Detroit on May 31 from 9 am – 4 pm (lunch provided).

You can register at http://detroitscala.eventbrite.com/. Early bird pricing is in effect until April 30 and regular registration runs through May 25. Hope to see you there!

 

Hacking Day at the Java Posse Roundup 2012

When people first ask about the Java Posse Roundup, they see that we often ski during the afternoon break and sometimes ask if it’s a “real” conference. It absolutely is; this is one of the most engaging conferences that I have intended, with non-stop attendee togetherness from about 8 am til 11 pm most days.  When we do ski, we often ski in groups and the geek culture means that the discussions continue. If you follow along with this series of blogs (and later listen to the podcasts of recorded sessions), I think that you will agree that this is indeed a “serious” conference.

Day 0 is set aside for hacking. It’s a full day and has a different flavor from the Open Spaces discussions that we have on the other 4 days. During the hacking day, we concentrate on learning something new, most often in a group. I wasn’t really sure what I wanted to do this year, until I heard that James Ward was going to do a session on Play 2, the emerging web framework on the Java platform. We spent the morning with Play + Java + eBean, and finished by deploying to Heroku. We spent the afternoon with Play + Scala + Coffeescript, then meandered into Anorm and eventually Squeryl. The end result of our efforts is accessible here:

Java: https://github.com/JavaPosseRoundup/foobar

Scala: https://github.com/JavaPosseRoundup/day0playscala

Other teams worked on other projects and we finished off the day with 9 pm lightning talks to “show and tell”. A lot of work was accomplished, including:

  • a graph database solution to scheduling carpools
  • a quantum state machine in Groovy
  • a video player for conference talks, allowing the viewer to move the presenter video around on the screen.
  • a distraction-free Android editor
  • a DSL for describing Jenkins jobs

The source code for the Roundup is publicly available at https://github.com/JavaPosseRoundup.

Scala koans in Ann Arbor on October 5 (full day workshop)

SRT Solutions will be presenting the Scala Koans in a full-day workshop on Wednesday, October 5, from 9 am – 4:30 pm. The Scala Koans provide an interactive and fun way to learn the language.

Koans, as referenced in wikipedia, “may consist of a perplexing element or a concise but critical word or phrase (話頭 huàtóu) extracted from the story”. This is the case with the Scala koans as well. Students of the koans use a simple test-driven process to insert missing information from an exercise to make a test pass, before moving onto the next exercise. The cumulative knowledge from working on each koan builds to provide an in-depth understanding of a particular language feature that can later be applied in the context of solving a software problem.

The Scala Koans were conceived at CodeMash 2010 and have been growing ever since. The Scala Koans have previously been presented as half-day workshops at CodeMash, the Java Posse Roundup, and Strange Loop. Koans are available in many other languages, such as Ruby, Javascript, and Clojure.

Cost for the full day Scala Koans workshop is $100 (early bird, until 9/30) or $125 (10/1-10/4). Lunch and snacks will be provided.

The workshop will be held at SPARK Central, 330 E. Liberty, Lower Level, Ann Arbor, MI 48104. For more information or to register, go to http://srtscalakoans.eventbrite.com/. Please call Lisa Zuber at SRT Solutions (734-929-3211) if you have any problems or questions with respect to registration.

Greetings from the Strange Loop Conference in St. Louis

Strange Loop is a conference held in St. Louis, MO, started by Alex Miller. Much like CodeMash, Strange Loop is a developer-organized conference, and is offered at a price (around $250 for 2 days) that attracts those who self-pay and those who work for small companies. I’ve found that the self-motivated individuals are engaged attendees! I decided last winter that I wanted to branch out to attend other regional conferences beyond CodeMash and Strange Loop was top on my list. I was thrilled when Alex asked me to present the Scala Koans at Strange Loop as a 3-hour workshop on Sunday.

The koans approach to learning computer languages offers small exercises, in a test-driven manner, so that people can learn a language by through small steps and self-discovery. Offering a koans workshop is an effective way to encourage people to work on the exercises, since they can ask questions and stay engaged. Particularly while the koans are being developed, any gaps in our “lessons” can be addressed by the instructors, on site. Strange Loop targets 30-40 attendees for workshops, so I asked Joel Neely and Daniel Hinojosa, both who have experience with the koans, to co-present at Strange Loop. This offered a 10:1 student to instructor ratio, which ensured that people were able to make good progress in the 3 hours. (Having 3 presenters also allowed one of us to slip out and order some pizzas for our hungry students, since our session ran 11:30-2:30 and hungry brains don’t focus well! And no, we didn’t plan to order pizza ahead of time!). Our session was well-attended and we got some great feedback. Hallway rumblings and tweets seem to indicate it was well-received. For those who are interested in learning more about the koans, I’m in the process of bringing up a website to provide resources, code, and other hints at ScalaKoans.org. It’s not live yet, so I’ll let you know when it’s up (expecting in the next week or so, depending on how much time I can find to get the content there). In the meantime, you can access the student exercises at our bitbucket site.

Back to Strange Loop. The workshop day was an optional day. The first full day of the conference was on Monday. I attended some interesting sessions, including:

I also attended a purely fun session, “Learn to play Go” by Rich Hickey, creator of Clojure. Finally, I may be able to figure out what to do with the Go board that’s been sitting in my basement for a very long time! I was able to play a game with another newbie and we were very evenly matched!

The Scala talks were interesting. I tend to focus on the simplicity of Scala, as a better language than Java for the JVM. These talks were focused on getting the most out of the functional aspects of Scala. As the industry sees momentum toward using functional for what it does best, this will be very relevant. Strange Loop, in general, has a fairly functional bent to it, and that’s quite fun!

I’ll fill in about day 2 of Strange Loop later. But there are more talks to attend!

Scala Koans Workshop at Strange Loop Conference in St. Louis in September

Wow, that’s a lot of S’s.

Join Daniel Hinojosa, Joel Neely, and I for Scala Koans at the Strange Loop conference in St. Louis on September 18. The Scala Koans, inspired by the Ruby Koans, were previously presented at CodeMash 2011 and the Java Posse Roundup 2011. We solicited feedback at both of these events, and we’re adding to them, incorporating some of your suggestions as well.

I’m excited to be attending Strange Loop.  Alex Miller has done a great job, starting it in 2009 and growing it every year since. My friend and co-presenter for the Scala Koans, Joel Neely, attended last year and had high praise for the conference. I’ve already signed for another workshop in the afternoon of September 18, and I’m looking forward to seeing the full schedule!

Programming Summer Camp in Colorado, July 25-29

I went to summer camp orientation over the weekend for my elementary school aged children. I muttered to my husband afterward that I thought that the camp should organize a week for the parents. Sailing, swimming, lacrosse, soccer, archery … what’s not to like?

And then, I was reminded that I am going to camp this year too. Programming Summer Camp. A camp for grown-ups! It’s in Crested Butte, CO (which is in the mountains of Colorado and gorgeous!). Like my kids’ camp, it’s a day camp. Without family commitments, most of the folks will have some time in the evenings to hang out as well. In conferences that I have attended previously in Crested Butte, the attendees tend to hang out from early morning til late night, going back to their hotels or B&B’s or shared houses only to sleep.

The camp is set up to support “campsites” proposed by participants. I’m going to be involved with one of the 3 tents at the Scala campsite. Attendees are free to propose campsites of their own or join one that has already formed. (Note that we’re not talking about real “tents” here; this is not a rustic summer camp … it’s held indoors). The price ($200) was set super low, to cover costs only, with profit going to charitable organizations. Your travel to Crested Butte and lodging will be the majority of your expense.

While we’ll be working on programming topics during the days and into the evening, what is summer camp without some time for the great outdoors.  Mountain biking and hiking are amazing in the mountains during the summer, and groups will surely form. In fact, there’s time built into the conference for such activities. I’m looking forward to biking the legendary 401 trail, often described as the best trail in CO:  “At the top there are spectacular views, to the east you can see the Maroon Bells. From here, the scenery can’t be beat… start the narrow singletrack downhill through fields of wildflowers and aspen groves. There are about two more steady climbs after the long downhill back to your car, take your time and enjoy the views!”

I biked part of it once before, and I’m looking forward to tackling it once more. Without the thunderstorm this time!

Sometimes folks worry that events like this might be low on the learning, high on the play factor. I’ll counter that. I’ve been to many conferences and I have never learned more than at these interactive events. Yes, people head off to go hiking and mountain biking, but when they’re in the learning part, they’re truly engaged (and energized). It’s a great experience.

And so yes, the “parents” get to go to camp too. To register, sign the release form and it will take you to the registration. Yes, every self-respecting camp should have a release form!

See you in Colorado!

Impromptu Ann Arbor area meetup Wednesday with Java/Scala luminaries

Dick Wall (Java Posse, Locus Development), and Bill Venners (ScalaTest, Artima), and Bruce Eckel (MindView Inc.) are in Ann Arbor this week for Escalate Software Scala training. If you’re interested in joining us for an evening meetup, stop by Cafe Habana after about 7 pm on Wednesday, May 25. Cafe Habana is at 211 E. Washington, Ann Arbor, MI. There’s no agenda; this is just a social event.

Scala training in Ann Arbor next week

If you haven’t already signed up for Scala training with Bill Venners (author of Programming in Scala and ScalaTest) and Dick Wall (Java Posse, Locus Development, Inc.), don’t delay. The first 3 days (May 23-25) will focus on Applied Fundamentals, what you need to effectively use the language for software development. The last 2 days (May 26-27) will focus on more advanced topics. The 2 “sections” are priced separately, with a discount for taking both. Discounts are also available for large groups. You can register at Escalate’s site.

This is a great opportunity for local software developers to get training from experienced trainers who use the language every day. The momentum behind Scala is growing:

  • Scala 2.9 final (stable build) was released last week.
  • Typesafe, a commercial entity was launched and promises to accelerate commercial adoption.
  • The list of companies using Scala is growing, and includes familiar names such as LinkedIn, Twitter, FourSquare, The Guardian, and Siemens.

I’m looking forward to the training class.  Hope you will join us!

A Business Case for New Languages …

Learning new languages has always been a part of our jobs as software developers. We’ve had a pretty long streak with Java and C#, but it’s time to move onward and take advantages of more expressive languages, like Scala.  I’ve written an article for Artima, “A Business Case for New Languages: The Benefits of Scala over Java“, and I hope that business leaders will be encouraged to talk to their staff about how their product development might benefit from moving to Scala.  And, it’s timely.  Bill Venners and Dick Wall, of Escalate Software, will be in town to hold a public training course on Scala the week of May 22.  They will take you from novice to fully comfortable in the language in that 1 week.  I’m looking forward to it!