Category Archives: Technology

Adventures with Single Page Apps

Single page gurus Brian Genisio and Dennis Burton teamed up with SRT’s creative staff John Lucas and Anthony Williamson to build Choose Your Own Application as a fun and engaging way to investigate single page applications. You can choose from several popular Javascript libraries, web frameworks, and cloud platforms to build a single page app in many different ways. There are currently 22 paths through the system, and you will earn badges for completing the various paths, as well as for other achievements.

Gamifying learning — why not?

Looking forward to Java Posse Roundup 2013

I’m always excited to attend the Java Posse Roundup, but this year more than ever! The Roundup is in its 7th year (if I’ve done the math correctly) and I’ve made it to every one, so why is this one so appealing?

First of all, our private google group, for attendees, has been hopping with ideas about what sessions people are interested in, and what the open hacking day will be. People are talking about hardware this year: Raspberry Pi, Arduino, and 3D Printers. And there’s lots of excitement around programming NFC stickers. Software excitement is in the air as well: lots of discussions around Javascript and Node.js and Coffeescript. And of course there will be discussions about Groovy/Gradle, Java, Scala, and Go.

Many of the veteran attendees share houses in the town so that the geekery doesn’t have to stop when people go back to hotel rooms. The number of repeat attendees at this conference is very high, but it offers a good mix of newcomers each year as well. I see the newcomers offering great suggestions on the group, so they’re jumping right in too.

As far as I know, there’s still time to join in, although time may be getting tight to arrange travel. The conference is February 25 to March 1, and it’s held in Crested Butte, CO. Registration is at Hope to see you there!



Scala Enthusiasts survey and February meeting

At the inaugural Ann Arbor Scala Enthusiasts meeting, attendees showed interest in some hands-on hacking. So, for the next meeting, on Wednesday, February 20, that is what we will do! Bring your laptop (or a friend with a laptop) and join in the fun. We’ll make sure everyone gets Scala 2.10 installed and then we can either all work together or break into small groups.

I have also published a survey from the first meeting. Please complete the contact info for the survey if you are interested in attending future events, even if you weren’t able to attend January’s meeting.

See you on Wednesday, February 20 at 6 pm at SRT Solutions, 206 S. Fifth Ave. Suite 200, Ann Arbor, MI 48104. We currently don’t have a food sponsor for the meeting, but we can order food delivery from a nearby restaurant if people are interested (or feel free to bring something with you)!

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)

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.

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.