Category Archives: Technology

PyCon registration is open

PyCon will be held in Chicago from March 14-16 (with tutorials on the 13th and sprints afterward).  Registration is now open at http://us.pycon.org/2008/registration/new/

The tutorials and sessions both look great, and there are also lightning talks and open spaces.   I'm even hoping to lure my scientist husband into attendance.  He has looked at Python about a year ago and liked it.  He's not a programmer, but he did some programming in Pascal in college and briefly looked at C++ a few years ago.  He said that Python was the most understandable of the languages he has seen.  This seems to be a common reaction from scientists, and so I'm hoping that he will go and learn more.  He may even end up using it at work someday!

It's great having a conference like this in the Midwest, and I have already signed up.   I seem to recall that the conference filled up last year (in Dallas).  I didn't want to miss out.
 

So what IS Scala?

The question a lot of people have been asking lately is "What is Scala and why do I care?".  The short and sweet answer is that Scala is an object-oriented/functional hybrid that runs on the Java Virtual Machine (JVM).  This is interesting because it can harness the full power of the JVM, including bringing in Java libraries.

And you care because concurrency is hard to get right.  It's hard in Java and it's hard in C# (I hope you got to see Brian Goetz's talk at CodeMash).  It's hard because writing multithreaded programs with our current programming model is hard.  Deadlock is hard to detect and hard to protect against.  Until now, we've been shielded a bit from the dangers that lurk by single processor machines.  We were writing multithreaded programs that might be interrupted, but often weren't.  But now, you can't really even buy a single processor machine.  It's compelling to take full advantage of the hardware that you have just bought, and all of those little mistakes that you made previously in multithreaded programs may bite you as well.

So we had better figure this thing out.  Erlang's good for concurrency but most people aren't really adept at programming in a purely functional language.  And we have reaped benefits from object-oriented programming, so it's interesting to combine the two in such a way that we can use the functional programming aspects to gain better concurrency without walking away from the productivity gains that we have made with object-oriented programming.

If you still care, check back in.  I'll pump out some Scala blog posts in the upcoming weeks, conveying what I have learned about the language and how I feel about it.  I like it but I'm not jumping to Scala for anything other than personal interest right now.  This is a stage of investigation.  It may well turn out to be a language that I want to use for development, but I'm not committing to it yet.  Even Brian Goetz agrees that Scala and F# may not be "the" answer but may be a stepping stone along the path to more multiparadigm languages [CodeMash quote].  If you are anxious to get started, read the Artima article, "First Steps to Scala" and listen to podcasts with Scala creator Martin Odersky on Software Engineering Radio and on The Java Posse. If you're still hanging on, then definitely buy and read the "Scala Programming Language" book. 

 

Brian Goetz Captures the Essence of CodeMash

The whole idea behind CodeMash is to get people to learn something about languages, platforms, etc. that they don't typically use for programming, to "free their minds".  I was thrilled to hear Brian Goetz express that sentiment in such a positive manner, in his interview with Chris Woodruff on the CodeMash podcast.  Here's the quote:

"If you're able to program effectively in multiple languages, the space of designs that you can imagine is correspondingly greater, and knowing something about another language makes you a better programmer in the language that you are programming with because there are concepts and idioms that you may be able to borrow from.  And so, I think it's a really exciting time because languages are interesting again and it's not a completely dead end activity to learn a new language that may not be popular yet."   He also said that he came to CodeMash because "this conference embraces the diversity in programming languages, unlike other conferences that are focused on Java or focused on .NET".

Earlier in the interview, they had been discussing the interest in new languages such as F# and Scala, and Brian mentioned how thrilled he is that we have exited from the "dark age" where people programmed in only one language and didn't really delve into others.  Brian explained that he doesn't necessarily believe that either F# or Scala is the "solution" to the concurrency problem, but that they may lead to other developments in hybrid languages that ultimately make their way into mainstream programming.  That is definitely a reasonable consideration.
 

Rod Johnson/Spring at the Central Ohio Java User Group on January 24

Our friends in Columbus, OH will host Rod Johnson on Thursday, January 24, from 6-8 pm. Rod is the creator of Spring and a hero to many in the J2EE community for giving them an alternative to EJBs.  Rod will discuss new features in Spring 2.5.  If you're ANYWHERE near Columbus, I think it's worth stopping by.  I'm disappointed that I won't be able to make it!  I would definitely venture deep into Buckeye territory for that talk.

Rich Internet Application Jam: Silverlight and Flex

Last week, James Ward (Adobe), Josh Holmes (Microsoft), and Bruce Eckel (well, Bruce Eckel!) conducted a Rich Internet Application Jam at our office. This was NOT a competitive event.  Rather, in the spirit of CodeMash, people came together to learn about competing technologies in a cooperative manner.  Each attendee decided which technologies to explore, and how much time to spend on them.  Most of the attendees were interested in Flex, but Silverlight was represented as well.  And of course, the Jam included discussions of the strengths of each.  It appears that Flex has strong support for controls, yet to be provided in Silverlight.  Silverlight shines in its support of vector graphics, which Flex doesn't currently provide.

I spent some time looking at the AdvancedDataGrid in Flex 3.  One of the attendees had a customer requirement for a lot of grid data, including summaries and rollups.  The advanced data grid supported what he needed to do, using a combination of summary rows and groupings.  On the summary rows, he was able to choose one of five functions that are baked into the advanced data grid: min, max, average, count, and sum.  Nice!  If you're interested in this, note that the documentation is apparently not available in the Flex 3 docs that are downloaded, but is available online.  Sreenivas Ramaswamy's blog has a nice writeup about this control (and others!).

Andy Beaulieu's site has a cool Silverlight demo.  If you enter an address for which there is Virtual Earth data, you can play a game that allows you to destroy UFO's while flying over that address.  Impressive!

Once again, I was impressed by the Jam format.  With Bruce, James, and Josh to help people over any rough spots, attendees were able to work on exercises that interested them, and spend as much time as they needed on any particular task.  I like this better than the typical situation where a class is in lock step for exercises, and individual attendees are either sitting around waiting for someone to finish, or frantically trying to rush through so that everyone else can move on.  And these people were able to focus on using the technology in a way that is meaningful for their purposes, but have the support of an expert right there.

The attendees seemed to enjoy themselves and learn a lot.  I can't wait til our next Jam: it's a C# Jam with Bill Wagner, Jamie King, and Bruce Eckel.  It will be held at our office April 8-11.  Bruce and Jamie are working on a C# book, and Bill's working on his 3rd C# book.  This Jam will focus on C# 3.0 and its new language features.   The early bird deadline for that event is January 31.

 

Day 1 of the RIA Jam … and RIA at Special User Group meeting tomorrow

Today was the first day for the Rich Internet Application Jam, being held at SRT Solutions' offices.  James Ward (Adobe)  and Bruce Eckel are here, working side-by-side with people who are in various stages of learning Flex and Josh Holmes (Microsoft) is here representing Silverlight and working with people interested in that.  The Jam goes through Wednesday.

Tomorrow night (Tuesday January 15), James and Bruce will present a talk, "Connecting Java with Flex using Open Source Blaze".  The discussion will include how Blaze differs from LiveCycle Data Services and perhaps even a little bit of Scala.  You see, James spent some time this past weekend connecting Flex to Scala.  Interesting.

This is a special joint meeting of the Ann Arbor Computer Society and Ann Arbor Java User Group, and will be held at 206 S. Fifth Ave, Suite 200, Ann Arbor, MI 48104.  The meeting starts at 6 pm, and is free and open to the public.  AACS is providing pizza. 

Python Underground, Scala, and Blaze: oh my!

We have several free events coming up at SRT.

On Thursday, January 3, at 7 pm is the monthly Michigan Python User Group meeting.  Discussions will likely center around a project called Python Underground and I've heard rumors of a discussion of the Rails is a Ghetto blog post by Zed Shaw.

This Friday, January 4, we will hold lightning talks from 3-5.  Anyone is welcome to attend (and speak for 10 minute segments).  I'll be doing a talk on Scala, a preview of a section of my upcoming CodeMash talk. 

On Tuesday, January 15, James Ward (from Adobe) and Bruce Eckel (Java guru) will present "Connecting Java with Flex using Open Source Blaze" for a joint meeting of the Ann Arbor Computer Society/Ann Arbor Java User Group

And, some for-fee events in the area as well:

CodeMash is, of course, Jan 10-11 (and the evening of the 9th) in Sandusky, OH at the Kalahari Resort and Indoor Water Park.  If you are planning to attend, register SOON at $175 for the 2.5 days to avoid the procrastinator fee (of $250).

And the Rich Internet Application Jam will be held at SRT's offices, from January 14-16.  Early bird registration goes through January 4, so register before then to save $100 from the $500 fee.  Note: the registration fee includes a copy of FlexBuilder.
 

 

CodeMash registration deadlines!

If you're a CodeMash 07 alum and planning to attend CodeMash v2.0.0.8 Jan 9-11 in Sandusky, OH, I hope you're online today and registering.  The alumni discount ($110) expires today.

Regular registration goes through Jan 5 ($175) but then the procrastinator rate of $250 kicks in.

And, the last time I checked (late last week), the Kalahari was "out" of rooms in the CodeMash block, but were still honoring the $88/night (vs. $229) rate.  I have no idea how long that will last, or if it's even ongoing.
 

 See you in Sandusky!  

 

Matrin Odersky interview on Scala on the Java Posse

I was just loading up my iPod for my Friday night workout and I was hoping for a new Java Posse podcast.  I'm in the habit of listening to podcasts rather than music while working out.  The time goes quickly and I learn something.  The only downside is that it's not good at ALL for taking notes.  But come on, who takes notes with podcasts anyhow?

So what do I see, but a new episode AND it happens to be an interview with Martin Odersky about Scala!  COOL! 

 So, in the final weeks before my Scala talk at CodeMash, I'm thrilled to see a Scala eBook released and to have this interview come out as well.  Good timing for me.

 Anyhow, so off I go to the basement where we have a Smooth Fitness elliptical.  Having something like this at home is essential, IMO, for parents.  Kids are in bed.  Husband is out finishing up the Christmas shopping (good man!).  If not for the elliptical, I would be in front of the TV … or the computer (oops, wasn't I going?).