Tag Archives: Java

Scala Code Retreat on Saturday, September 25 at SRT

Please join us in Ann Arbor at SRT Solutions, 206 S. Fifth Avenue, Suite 200, for a Scala Code Retreat this Saturday, September 25 from 9 am – 5 pm.  The format is well defined, here: http://coderetreat.com/how-it-works.html.

Basically, we’ll be working together on the same problem.  Novice and advanced Scala developers are welcome.  There will be no IDE wars (we’ll all just use vi … OK, I’m joking).

In any case, SRT is sponsoring a continental breakfast, and lunch is on your own.  There’s no cost to attend.

To register, go to http://coderetreat.ning.com/events/scala-code-retreat-ann-arbor

It’s time to look at Scala

If you haven’t already considered Scala, it’s time.

Scala 2.8 is at Release Candidate 6. With impressive features including named and default arguments and a redesigned collections library (and many more), and several choices for IDE’s, it’s time to make the move from Java.

I’m working on a new project in Scala.  We’ll be using 2.8, and I’m looking forward to it immensely.

See Also

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!

AADND, Software Stimulus Lab, Agile Groupies: oh my!

Tomorrow is the 2nd Wedneday of the month, which means that the Ann Arbor .NET Developer group is meeting at SRT.  If, like me, you're still bummed that you missed last month's meeting with Michael Wood on PLINQ, you probably will want to make an extra effort tomorrow night, when Steve Smith is in town and speaking on ASP.NET MVC.  Steve will be presenting Robert Martin’s SOLID principles of Object Oriented Programming, with examples of violations of these principles in a simple ASP.NET MVC application. The principles are then applied, resulting in a much more elegant and maintainable application.  This is a free meeting, open to the public.

SRT Solutions is inviting all developers to join them at Automation Alley in Troy for a day of software development at the SRT Stimulus Lab. This is a jam format, not a lecture format (which means that it's very hands-on).  We'll start off with some fundamentals: version control (bazaar), continuous integration, unit testing and functional testing. The format is open; you can work on your problems (with encouragement, advice, and help from others) or on our examples, if you just want a flavor of some new languages.  This is a low cost event ($75 for the full day), and it's free for unemployed software developers (limited seats available).  Sign up at http://srtstimulus.eventbrite.com.  If you use the discount code SRTUSER, you can still get the early bird price of $50 for a few more days. 

The Agile Groupies in Ann Arbor will meet at SRT Solutions on June 16, from 6-7:30 or so.  Cost: $10 for food.  Joe Hershey will be pairing and speaking, and the talk is entitled, "TDD is Nonsense".

The Detroit Java User Group will meet on June 17 at Compuware, during the Eclipse DemoCamp and IT Exchange Forum, from 5-8 pm. 

The next Ann Arbor Java User Group meeting is scheduled for June 24.  I'm still waiting to hear what the topic is.

JavaFX, Microsoft Surface, and TDD talks this week

The Ann Arbor area is ripe with events this week (apologies to our spouses).

Join up with fellow coders tonight at NSCoderNight, at Sweetwaters in Kerrytown.

Tomorrow night (Wednesday April 15), you will have to choose between attending a JavaFX talk at the Detroit JUG and a Microsoft Surface talk at GANG (Great Lakes Area .NET User Group).  Jim Weaver has solidly embraced JavaFX, and is working on his second book.  I'm thrilled that he's returning to the area, since I missed his talk at the Ann Arbor JUG late last year.  The meeting will be held at ePrize, 1 ePrize Drive, Pleasant Ridge, MI.  I had a hard time finding the location the first time I went there, so definitely check out the directions. The meeting starts at 6:30.

The Microsoft Surface is also pretty exciting.  VectorForm is a Michigan company that has been doing Surface development perhaps as long as the device has been available.  My first view of the Surface was in the James Bond movie (Quantum of Solace), and then I was also lucky enough to see one at CodeMash.  So if you haven't seen the Surface, definitely head out to the Microsoft office in Southfield (1000 Town Center Drive, Suite 1930, Southfield, MI 48075) tomorrow night.  Joe Engalan and Jennifer Marsman will co-present.  The meeting starts at 6:30.

And after the meeting (around 9 pm), join up with CoffeeHouse Coders in person at Mujo's in the Duderstadt Center on North Campus or on their IRC channel.

On Thursday 4/16 for lunch, choose between the monthly A2 Nerd Lunch or the weekly A2B3.  They're about a block apart, so perhaps you can hit both.

On Thursday evening, you have several choices in Ann Arbor: Ann Arbor Startup Drinks at Grizzly Peak, and the Washtenaw Linux Users Group at WCC.

Also on Thursday, but a little further from home, Dennis Burton is speaking at the Greater Lansing .NET User Group with his talk on "Test Driven Development is Driving me Insane".  Dennis will discuss patterns and techniques for writing tests that are more robust and provide better information, including techniques that you can apply to your design when writing new code to make testing easier, as well as tools for working with existing applications that do not have good test coverage.  If you miss his talk on Thursday, catch this talk again the following week 4/21 in Toledo, at Northwest Ohio .NET User Group.

On Friday, you can learn how (and why) to join a non-profit board in the Ann Arbor area.  A2Geeks is helping to sponsor training at the NEW Center, for just $35.

This is your last chance (mine too!) for the 2008/2009 academic year to visit the MPowered Entrepreneurship Hour at UM.  The speaker this week is Joshua Pokempner of Entrepreneur Toy Company.  The meeting is held from 3:30-4:30.

In Philadelphia, at Emerging Technologies for the Enterprise

I'm in Philadelphia, at the Philly ETE conference, for the second year in a row.  I took a break from working on my slides (my talk is tomorrow afternoon) to carefully consider which talks I want to attend while I'm here.  So, for anyone interested, here's the lineup:

On Friday, I'm looking forward to:

And then, I'll be taking off, so that I can get back to Michigan in time to tuck the kids into bed, but if I were staying through the end of the day, I would have hard choices between James Ward's Architecting Flex RIAs, Clojure and the Robot Apocalypse: Needfuls for Newbies, Introduction to Groovy, and the Agile Round Table: Scrum in the Real World.  Looking forward to both days!  I'm thrilled with the content here, and the organizers do a fantastic job.

Speaking at Philly Emerging Tech conference this week

Last year, I was invited to speak at the Philadelphia Emerging Technologies for the Enterprise conference.  I learned about the confernece through one of the organizers (and fellow devchix member), Andrea Wright.  Much like CodeMash, Philly ETE attracts a mostly regional audience.  A company in Philadelphia, Chariot Solutions, organizes the event, and they do an amazing job.  I'm thrilled to be speaking there again this year.  I'll present my talk "Practical Scala" on Thursday March 26 at 4 pm.  I'm looking forward to several talks, including "Exhibitionism in Software Development", "Under the Covers of the AppEngine Datastore","Legally Agile", "The Future is Clearly Cloudy", "Diets Don't Work: Getting Sustainable Results with Scrum".  I expect to be using the Open Spaces mentality (moving between talks) because there are several running simultaneously that I'm interested in.  AND … all of the keynotes look amazing, especially Andy Hunt's (need I say more than his name?) and another by Jascha Franklin Hodge, the CTO of Blue State Digital, the company who built the Obama technology platform will talk about how they did it.

I'm disappointed that I'll miss David Chelimsky's RSpec talk (coincides with mine).  I met David at the conference last year – he's a great speaker – and I'm really impressed with RSpec.  And I'll miss my friend James Ward's talk on RIA with Flex, since I'm heading home on Friday mid-day so that I can spend the evening with my family.

If you're in Philadelphia this week, I hope that you're able to attend the conference!  (And if you're in Chicago, I hope that you're at PyCon … it's unfortunate that these two conferences overlapped this year!)


Insight into the Java Posse Roundup: Why I Go

The 3rd Java Posse Roundup was held last week in Crested Butte, Colorado.  As I flew back home on the plane, I reflected about why this conference is my favorite conference to attend, and why I start looking forward to the next event as soon as the current one concludes.

The contributing factors include:

1. The people

2. The format

3. The location


The people.

The Roundup attracts some new faces and some diehards. Some come back after missing a year for whatever reason.  Even before the conference begins, an online group is created which starts communication among attendees about housing, flights, what to bring, etc.  This communication is not driven by the old-timers.  Sure, they answer questions, but the new attendees are pro-active as well.  This year, one newbie set up a google map of the areas of interest (houses, etc.) while another set up a list of things to bring.  Discussions were started long before we ever met one another, and houses were shared by complete strangers.

It also helps immensely that the people who drive the conference (in particular, Bruce Eckel, Dick Wall, Carl Quinn, Tor Norbye, and Joe Nuxoll) are all really approachable and inviting.  They invite people into their homes for dinners and for hacking sessions and for discussions that extend long into the night.  Their approachability sets the tone for the conference, and the attendees reflect that with one another as well.  I have never felt intimidated about going up to ANY roundup attendee (including industry luminaries) to talk.  They've all been very nice and generous.  This sense of approachability was described by attendees all week, this year.

Through our online group, the attendees continue to maintain contact throughout the year.  As one attendee put it, there's a lot of benefit in having a personal connection to the other attendees, in setting up that network.  I have certainly made long-lasting friends and those relationships continue to grow.


The format.

The open spaces format of the event is announced/described on the registration page, but even before people experience open spaces, they act in an open spaces way.  The self-starting attitude that the attendees, old and new, bring to the conference is apparent long before we all touch down in Crested Butte.  It doesn't take long for the attendees to understand that pretty much anything goes.  The first day or so is often a bit driven by concerns about where the boundaries are, with newbies asking "should we do it this way", "is it OK to do this".  The answers typically come back as "Sure, go ahead" (when it's an idea that someone has, or "Let's just let things happen" (when someone is trying to impose some additional order on the process).  Quickly, people learn that for the most part, things will happen, but that this is their experience to help mold and create, and they go with it.


The location.

The conference is held in the remote mountain town of Crested Butte, CO.  A town of just 1200 residents, CB is a great place to hold the conference for many reasons.  For one, Bruce Eckel lives there.  He helps to organize the conference with the Posse and holding it in his town certainly simplifies things.  The prior-year attendees are comfortable with the town and with the rental housing there, and that has a bit impact on the interactivity among the attendees. And I think that it's a really big deal that no one (other than Bruce) is close enough to their homes or their jobs to be able to move in and out of the conference.  For the most part, people are on a retreat (or as several people called it "Camp"), and spend the entire week together.  The retreat from "real life" in a region unfamiliar to most encourages the attendees to eat together and to form groups to hack or to ski. I strongly believe that if this conference were held in the Bay Area, we would have a boatload of attendees, but the experience wouldn't be nearly as rewarding.  And the town reflects a casual welcoming attitude as well.  By policy, there are no chain (stores or restaurants) in Crested Butte. That means that visitors are "forced" to local hangouts, where they quickly learn that they are welcome.  People stop and talk, and seem genuinely interested in a conference coming to their town. A few locals have stopped by lightning talks to see what it's all about.  After a while, several of us recognize some of the locals, and we even turned the tables on one of them, with 15 of us visiting his restaurant.   We chatted him up, and he knew who we were.  In addition to being a fabulous town, Crested Butte offers the perfect backdrop to such a friendly conference, but being an approachable town.


What I've decided is that it's hard to separately analyze these factors.  While I definitely think that the Roundup would succeed in another location (because of the people who organize it, and because of the format), I do think that care has to be taken to choose a location that reflects its intimate nature.  On the other hand, I believe that the people and the open spaces format are the key ingredients to the Roundup's success.   And if I had to pick only ONE component that really described why I like to attend the Roundup each year, why I count it as my favorite conference, I would have to answer … the people.  It's really all about the people.

Another Java Posse Roundup comes to a close

Well, I've been here in Crested Butte since Sunday afternoon, for the 3rd Java Posse Roundup. It's been an amazing experience, as always.  I blogged earlier in the week about how this conference evolves to match the interests of the attendees. Of course, I should have anticipated that it was still changing.  The attendees really take charge of this conference, and that's part of why it's so great.

In addition to the new (optional) hackathon day, there were several other changes this year. First of all, the size has exceeded the capacity of the Posse House and so the evening events were held at the conference location.  This gave everyone a bit more breathing room and was just as fun.

The lightning talks offer a wide variety of topics, not all of which are Java-related. I enjoy the non-technical talks and tech talks alike.  Some of the more amusing sessions from this year include Barry Hawkins' "Introducing Change" and Andrew Harmel Law's "Zombies".  The lightning talks will make their way to YouTube at http://youtube.com/javaposse.

The sessions, as always, were fascinating. Ranging from the very specific to the very general, they were all great. Of course, they will be released on the Java Posse podcast channel, and it will be interesting to hear the reaction of those who didn't attend. But I did realize that if you're not here, you miss out on a lot.  Not only will you likely not get the jokes, but you also miss out on the opportunity for "free consulting".  People are very generous with their time and ideas.  I have met some amazing people here over the years, and I do keep in touch with them throughout the year.  We bounce ideas off of one another and I benefit immensely.  I hope that I offer at least a fraction in return. 

The afternoon activities were varied. Some people gathered at houses around town to hack together, while others "networked" (aka, skiied and snowmobiled).  I was thrilled yet again to leave my downhill gear packed because of the interest attendees had in learning how to cross-country ski.  We went out two days (so far; I suspect we will go tomorrow morning as well) and the groups were great! Some footage may make its way to the internet; we'll have to see.  Fewer people downhilled this year than in years past, and I suspect that was a combination of the weather (it was grayish without new snow) and the fact that Bruce had broken his leg a few weeks ago.  I think that his mishap may have spooked people.

The hacking groups had productive afternoons as well.  Dick was able to rewrite his JFlubber app in both JavaFX and Flex. With both Tor and James to work with, Dick seemed pretty happy.

Bill Venners was here as well, and he was able to find several willing participants to work on ScalaTest.  Rumor has it that he and Tor got the NetBeans build working for ScalaTest, which will certainly improve the developer experience "out of the box". We had a group at our house one afternoon, and most of us were having difficulty getting it to build.  I'm glad that they were able to make progress. Bill's done a great job with ScalaTest!

After lightning talks, groups formed.  I never went to bed early, always intrigued by some interesting conversation at my house or another one, that went well into the night.  As is consistent with the previous 2 Roundups, I found that I spent nearly ALL of my waking time with other attendees.  I had one brief shopping trip alone to buy souvenirs for my kids.  That's it.  So, if any employers doubt the "hard work" that we do at this conference, pass this information along.  Even while we were out cross-country skiing, we were talking about "things", either about Java things or business things or the conference.  It's truly an experience in conference immersion.


Oh, and just to dispel the myth that geeks don't socialize and can't cook, here's a story:

Since several of us had rented houses around town (5 or 6 in total) rather than renting hotel rooms, we got together and organized a progressive dinner.  While Wikipedia describes it as a complex process requiring a lot of organization, we didn't have that experience and it was awesome.  So, if you're going to do one, don't do it THAT way.  Try it OUR way … you might be surprised.  Here's the official (LOL) Java Posse/Open Spaces version of a progressive dinner:

  1. Write down addresses of houses that are interested in participating. Each house will prepare "some food" (we left that open).
  2. Pick a start time.
  3. Pick a house to start at.
  4. Pick the successive houses and write down the order on the paper.
  5. Go to first house, and migrate to the next in line until done.

We announced this on Tuesday afternoon, and simply reminded everyone on Wednesday at noon.  40 people traipsed from house to house!  It was a lot of fun.

Pretty simple. And FUN! Not only did it get everyone moving around, talking to different people, it was a great way to see the other rental houses and to learn who liked to cook. We didn't go to the trouble of telling people what to prepare, assigning a course, or even letting one another know our plans.  Our menu was varied and we had a blast. Try it.

The week was way too short.  There was a lot that I wanted to do.  But, as usual, I'll be returning home with my batteries charged and new friends. Can't ask for much more than that.

Alternative Languages on the JVM at the Java Posse Roundup

The Java Posse Roundup conference continues to evolve to meet the interests of the attendees. This year, the first day was an optional day,  with groups coding on alternate languages on the JVM.  Groups formed to share their collective knowledge and interest surrounding several languages. I chose to attend the Scala Hacking session, as did 13 other people.  In other locations around town, there was a similarly sized JavaFX group, and a smaller Groovy/Grails group.  Later in the day, Fan was added.

In the Scala session, we went through some code that we had developed for an evening session last year, implementing some functionality of LINQ (Language Integrated Query for .NET), in Scala.  We based our work on Bill Wagner's article from Visual Studio Magazine.  We didn't make much new progress, mainly because we were trying to dissect what we had dome both for our benefit as well as for those who had never seen the language.  We're hoping to get back to that later in the week.  You can read Joel Neely's blog that summarizes a lot of what we did along with some insight.

Later in the day at the Scala Dojo, Dick Wall demonstrated some of the work he's been doing with genomics, while another group moved over to another house, to work on ScalaTest with Bill Venners.  We spent some time getting our development environments set up, and started with some assignments.  Bill's talking about a release later this week, and is looking for help on the project.  Several people have expressed interest and working together was a good start.  I suspect that wasn't the last Scalatest hacking session either!

After a short break for dinner, we all got back together at the Posse House (as we affectionately call the house where the Java Posse stays during the conference) for a review of how we had all spent our day.  The Groovy/Grails team demonstrated their work on getting a simple CRUD app to work, and the JavaFX team demonstrated an application that they had built, which included a timer that counted down.  By adding some designer work in PhotoShop, they were able to get a styled app up and running, and even included sound.  It was an impressive demo. Joel Neely reviewed what our team had dome with Scala, and Fred Simon (who endured 48 hrs of travel and delays to get here) did a brief overview of Fan, which is a language that targets both the JVM and CLR.

We're all looking forward to the conference starting today, with open spaces sessions.  This year, we have exceeded the capacity of the Posse House for lightning talks (but not for gatherings), so the consensus is that the evening lightning talks will likely be held at the conference location as well.  It's not as cozy, but it will likely be more functional!  I'm sure that at some point today, people will head off to ski, and that's part of the experience as well.

So, off for another day in beautiful Crested Butte. First stop, Camp4Coffee.  Then, conference kickoff!