Author Archives: Dianne Marsh

Ann Arbor Scala Enthusiasts welcomes Josh Suereth, of Typesafe

The new Ann Arbor Scala Enthusiasts group will kick off on January 16, 2013, at 6 pm, as planned. We’re thrilled that Josh Suereth, software developer for Typesafe and author of Scala in Depth, will be speaking at our inaugural meeting. Bruce Eckel, with whom I am co-authoring Atomic Scala, will be attending as well.

Josh will talk about “Functional programming patterns for the Asynchronous Web”:

Asynchronous programming is the latest hype for web development.  Why block a thread on a database query when the CPU could be looking at the next one?   While Asynchronous programming can help improve total throughput on a mult-core machine, the current state of the art lacks common patterns for how to define asynchronous flow.

This talk covers those patterns, from joining together a series of asynchronous operations to chaining a pipeline of asynchronous tasks.  We’ll present a few core abstractions from functional programming that help define asynchronous workflow.  Finally, using these same abstraction, we’ll show how to write unit tests that run synchronously using the same code as the asynchronous workflow.

This talk makes use of Scala 2.10.0’s new Futures and Promises API.

The meeting will be held at SRT Solutions, 206 S. Fifth Ave., Suite 200, Ann Arbor, MI 48104. That’s at the corner of Fifth Avenue and Washington in downtown Ann Arbor. The nearest parking structures are 4th & Washington or Library Lane.

Please join us for this free meeting, open to the public, and contribute your ideas for future talks.

 

 

Don’t Miss 1DevDay Detroit

If you’re looking for a conference to attend, don’t miss the top-notch, largest, longest running conference dedicated to programming in Michigan, 1DevDay-Detroit. The conference will be held on Saturday, November 17. For the fourth year in a row, David McKinnon and his team of volunteers has put together a great lineup, featuring Living Social’s Chad Fowler as keynote speaker. This year, 1DevDay has moved to Cobo Center, to be able to accommodate more attendees.

SRT Solutions is proud to be a Bronze Sponsor of the event, and we are also happy to be among the speakers. From SRT:

Bill Wagner — Your Asynchronous Future

Chris Marinos — The State of F#: Why You Should (or Shouldn’t) Care

Dianne Marsh — Scala: Objects and Methods and Functions, Oh My!

View the details for these and all of the other sessions on the 1DevDay website.

If you would like to register, go to the eventbrite page.

Hope to see you there!

Meeting Dr. Marina Whitman: what an honor!

I feel very fortunate to live in Ann Arbor and to have amazing friends who included me in lunch today, with Marina Whitman. My business friends will be interested to know that Marina Whitman was the first woman to serve on the President’s Council of Economic Advisers. My geek friends will be thrilled to know that she is the daughter of John von Neumann, the famous mathematician. Dr. Whitman has recently written a memoir, where she talks about building a career of her own in the shadows of her very famous father. I can only imagine how challenging that must have been … but wow did she do it right!

Our lunch was fascinating, an intimate group of several women business owners in Ann Arbor. Dr. Whitman still teaches at the University of Michigan, and I suspect that her class is captivating. She’s brilliant, engaging, and so generous with her time.

I can’t wait to read her book. It’s called The Martian’s Daughter. You can order it now from Amazon, or you can go to her book signing on October 2 in Ann Arbor.

Employable after 50? Surely, yes!

I saw this article today on twitter, posted in Forbes. http://www.forbes.com/sites/quora/2012/09/17/as-a-software-developer-how-can-i-ensure-i-remain-employable-after-age-50/

Basically someone asked (on Quora) how to say employable after age 50. Given that I’m just a few short years away from that particular mid-life crisis, I could have let that hit too close to home. But nope, I refuse to get sucked down that hole. There are some great tips in the article, but I’ll add one — just keep learning. It’s good advice for all ages. I know unemployable folks who aren’t even a decade out of college because they stopped learning about software when they got their diplomas.

This is such an amazing field — with so many interesting things to learn and opportunities to learn every day, from the Stanford video series to Coursera classes, from podcasts to koans.  Local user groups mix learning and networking — why risk posting jobs when the best and brightest will meet you at user groups? Local and regional conferences, like CodeMash, 1DevDayDetroit, and Silicon Valley CodeCamp, offer cutting edge lessons on technologies at a competitive price.

Lew Hollander is 81 years old and still doing Ironman races, as is Madonna Buder at 82 (and she didn’t even start running til she was in her late-40’s)! You can surely wield an IDE and compiler beyond the age of 50 Just do it.

Upgraded to a new Mac Book Pro

My old Mac Book Pro was getting pretty old, and I was due for an update. I made sure the Time Machine backup was up to date and started the restore.

There were just a few surprises:

  • The estimate for Time Machine restore was 48 hours. Ouch. So I had to leave the new shiny machine at the office to complete the restore. All in all, a good experience. It was done when I got back. Not sure how long it took since I worked from home yesterday …
  • I missed that the MBP-RD (Retina Display) didn’t have an ethernet port. Our wireless is often flaky at the office and so I haven’t depended on it. Bought the Thunderbolt to Ethernet adapter right away.
  • I had previously upgraded to OS X Mountain Lion on my old MBP and had to reinstall both Mercurial and the Java runtime. Those updates also had to be reapplied after my Time Machine restore. That surprised me. Does Time Machine ignore the OS files? I guess that sort of makes sense (easy to upgrade the software), but it still puzzled me a bit.
  • I also had to re-enter my Office for Mac product keys. I haven’t (yet) encountered any other software that required attention.

Anyhow, less than 2 hours later, everything is running again. Pretty cool.

Atomic Scala: Splitting an Atom today

Ah, one of the fun things about the title for our book, Atomic Scala, is that I smile whenever I get to say that I’m “splitting an atom”. For one thing, it’s fun to say. For another, it means that we’re simplifying the concepts in the book even further.

You can read about how I’m splitting Values and Data Types into 2 atoms, and how that might mean including the content from Type Inference earlier in the book.

Atomic Scala: A Book Gets Written

 I liked Scala at first glance several years ago, and thought it was a huge improvement over Java. Unfortunately, it suffered from what I like to call “Early Adopter Syndrome”. The early adopters of the language were attracted to its terseness and its flexibility. The combination made the language seem really difficult. It didn’t have to be that way, and I was convinced that it would be a good language for beginners. So, about a year and a half ago, I mentioned to my friend Bruce Eckel that I was thinking of writing a book on Scala. He’s written several very popular programming language books, and I wanted his opinion.
After about a minute pause, Bruce said, “I would like to help you write that book”.
I have some very kind and generous friends. I wasn’t angling for that — but I was floored by the offer. His books are some of the best in the industry. I knew that I had much to learn; I just didn’t know how much! Bruce has kept me focused, pushed me toward simplification, and I have grown in numerous ways as a writer and as a developer because of his generosity. Bruce is in Colorado; I’m in Michigan. Technology (in particular, Google Docs) has made co-authoring this book possible.
The book is now at a point where we think we will benefit from people “testing it out” and where beginners in Scala can benefit from the very small steps (atoms) that make up the book. We named the book Atomic Scala to reflect this and it’s been a lot of fun “splitting atoms” when we felt like we have represented more than one concept at a time.

In October, we will be presenting a weeklong seminar from the book. We will put it to the test with attendees, and we are convinced that this exercise will help us to remove complexities that we no longer see. The seminar will be hands-on, based on exercises from the book. We have targeted our book at beginning Scala programmers, and we feel that completion of the course will put folks in a great position to follow up with Escalate Software’s Scala training from Bill Venners and Dick Wall and/or other, more advanced books.

The seminar will be exciting for me in another way. We’re going to do a print on demand “early access” run for the book, so that we can give one to each attendee. To date, our editing has been in Google Docs, and it’s hard to envision what it will look like in print. We will have an eBook version as well, of course, but I’ve seen those. I will be thrilled to get my hand on a print copy.

We have an active group of reviewers. Google Docs added a commenting feature recently, which allows us to give commenting permission (but not editing permission) as a sharing option. With this, our reviewers can add comments to the document. They can also actually see us editing (cursor moving, backspacing, rewriting sentences)! It’s a fun way to write a book.

So, when will it be done? Well, that’s a good question, one my family, business partner, and employees ask often. We expect it to be done later this year. But what I typically tell people is that it will be done when Bruce says it’s done. (That’s a compliment, Bruce. I really do trust your judgment on this!)

You can learn more about the book and upcoming seminars from our book website.

Ann Arbor Scala Enthusiasts: meeting is ON!

Have you wondered what all of the fuss is about with Scala? Or are you already sold and just want to hang out with like-minded folks?

Join us for an organizational meeting for this new user group as well as an open discussion on “Why Scala?”.

The meeting will start at 6 pm on Wednesday, August 15, at SRT Solutions. Everyone is welcome — the meeting is free and open to the public.

We’ll have some ceasar salad and cold sandwiches as well as some cookies. Feel free to bring something else if you like. I’m looking forward to it!

SRT Solutions is located at 206 S. Fifth Avenue, Suite 200, Ann Arbor, MI 48104. The closest parking structures are at 4th & Washington or 5th & Liberty. Street parking (metered spots) is free after 6, if you can find a space.

Ann Arbor Scala Enthusiasts to meet August 15 at SRT Solutions

A week ago I posted to see if there was interest in a new developer group in Ann Arbor, dedicated to the Scala programming language. It appears that there is indeed interest, both from attendees and potential speakers.

We will meet at 6 pm on August 15 at SRT Solutions for an organizational meeting and for an open discussion on “Why Scala?”. Regular meetings will be held on the 3rd Wednesday of each month, starting with September. It would be great if we had a schedule for talks or workshops (depending on what folks want) by the time we leave the August meeting.

Join us! The meetings will be free and open to the public. We’ll take a donation for food starting in September.

FYI: Scala is a general purpose language on the Java Virtual Machine. Combining functional and object oriented programming, Scala offers powerful expression that allows developers to focus on solving problems with software rather than being distracted by boilerplate code. Particularly with recent announcements that features expected in Java in 2013 are being pushed back, languages such as Scala are attractive alternatives.

SRT Solutions is located at 206 S. Fifth Avenue, Suite 200 in downtown Ann Arbor. The office is at the corner of Fifth and Washington, with the entrance from Fifth. Take the elevator or stairs to the 2nd floor. Nearest parking structures are at Fourth & Washington or Fifth & Liberty.

 

Gauging interest for Ann Arbor Scala Enthusiasts

Scala is a general purpose language on the Java Virtual Machine. Combining functional and object oriented programming, Scala offers powerful expression that allows developers to focus on solving problems with software rather than being distracted by boilerplate code. Particularly with recent announcements that features expected in Java in 2013 are being pushed back, languages such as Scala are attractive alternatives.

I’ve been playing around with Scala for several years, have been deeply involved with the Scala Koans open source project, and am nearing completion on a introductory book on Scala, co-authored with Bruce Eckel. And while I see a lot of enthusiasm for Scala throughout the country, I would love to see more enthusiasm in Michigan and the Midwest.  That’s my motivation for starting the Ann Arbor Scala Enthusiasts group.

I’m thinking about the 3rd Wednesday of each month, starting August 15, at 6 pm. I would hold the meetings in our meeting space, at SRT Solutions, 206 S. Fifth Ave., Suite 200, Ann Arbor, MI. That’s at the corner of Fifth and Washington, in downtown Ann Arbor. The closest parking structures are at 4th and Washington, and 5th and Liberty (the new, underground library lot).

I would strive for a mix of local and national speakers on a variety of Scala topics, possibly including the following:

  • Why Scala?
  • Scala for Java Developers
  • Play Web Framework
  • Scala as a First Language
  • Developer Tools for Scala
and I would look to the community for additional suggestions and speakers. If the group is small, we could do some hands-on learning and experimenting with Scala.

So — is there interest? Once I know the answer to that question, I will start dealing with the practical concerns, like funding (starving developers arriving at a meeting just after work is never a pretty sight). If there’s any interest at all, I think that I will schedule the August 15 meeting to continue this discussion and for an open discussion on “Why Scala”.  Summer attendance is typically fairly light, but I would love to get this group kicked off as soon as possible.

Please post comments here!