Category Archives: Technology

My Reading List

My Reading List

I thought I would share what I’m reading now, and what I’ve been reading recently. And I added some podcasts, for good measure, and even a link to a cool development tool that I learned about at the Java Posse Roundup.

Online

Read today: article on JavaScript libraries

http://www.sitepoint.com/article/javascript-library/2

Blogs:

Blogs that I read regularly:

Bruce Eckel: http://www.artima.com/weblogs/index.jsp?blogger=beckel

Kathy Sierra: http://headrush.typepad.com/creating_passionate_users/

Joel Spolsky: http://www.joelonsoftware.com/

Bill Wagner: http://www.srtsolutions.com/blogs/BillWagner/default.aspx

And, of course my own: http://www.srtsolutions.com/blogs/DianneMarsh/default.aspx

Here are some blogs from the Java Posse Roundup, which are sure to become regulars for me:

Josh Marinacci’s blog: http://weblogs.java.net/blog/joshy/

Michael Levin: Swampcast and also Michael Levin's Weblog

James Ward: www.jamesward.org

Others that I used to read have become somewhat inactive. You know who you are …

Books

In progress:

Implementing Lean Software Development, Mary and Tom Poppendieck, 2007.

Comments: good source for lean software, but also draws a lot from lean manufacturing. Recommending to people in other disciplines as well. I’ll post a more complete review when I finish the book.

On my desk, in hopes of reading soon:

Software Estimation: Demystifying the Black Art, by Steve McConnell, 2006.

Podcasts

Most recent podcasts:

  • DotNetRocks, from 2/19.  Guest: Steve McConnell
  • Java Posse #107, Special from Crested Butte
  • Java Posse #106, News from 3/7
  • Ruby on Rails: Camping, Episode II
  • Several episodes of “60 Second Science”, from Scientific American

 

Podcasts I follow regularly:

  • JavaPosse – great podcast for keeping current on Java
  • DotNetNukes – entertaining podcast for .NET world

 

Podcasts in my queue:

  • TedTalks podcasts

Development tool that I’m going to try next

http://www.cenqua.com/

Java Posse Roundup: Day 4

Friday, March 9

Friday was the final day for the Java Posse Roundup. We had 2 regularly scheduled sessions followed by a final session which included everyone.

For the first session of the day, I attended a session on JNI, convened by Josh Marinacci of Sun. A major part of the discussion centered around the idea that perhaps JNI is overly complex for what people often use it for these days, and that maybe some assumptions CAN be made about the atomicity of calls made in the JNI (if the programmer says it’s so). Maybe we should have JNI, as it currently exists, and also JNILite.

JNA is also a good replacement for many of the common usages of JNI. Instead of the programmer writing JNI code, annotations are used to access native libraries, all without writing a single line of native code. Interesting perspective arose that there aren’t many Java programmers who actually WRITE C code anymore, and so the availability of something like the JNA is a good thing.

Many comparisons were made to Microsoft’s CLR and unmanaged code.

And, a lot of us remember the old recommendations to AVOID doing things using JNI because it wasn’t “pure Java”. Well, it sounds like we need to get past that, and use the right tools for the job. If it needs to be in native code, write it. Josh did a really cool demo during one of the lightning talks where he wrote a small amount of JNI code (I think he said one line!) to communicate with the motion sensor on his Mac, using that motion to change a display shelf of pictures to move to the next page. VERY cool! And totally impossible if you wanted to avoid JNI code, since the PCs don’t generally have motion sensors. We really need to be able to use the native interface for things like this, and for creating innovative user experiences. Maybe instead of scaring people away from the JNI, we should come up with some recommendations and (dare I say?) best practices for its use.

Next, I went to a discussion of applets, positioned as “Applets: Does Java need an answer to Flex?”. Very quickly, it became apparent that there was agreement that applets have a certain “suck factor”. When the audio of this session becomes available on the Java Posse, this is something that I think both Java programmers and Microsoft programmers will find interesting.

With applets, there’s simply not enough attention paid to detail. Flash, on the other hand, provides a user experience where you can’t really even tell that it’s a Flash app because the plug in was done so well.

The recommendation was made that we change the applet architecture. Perhaps a 2 phase load would make sense. Everyone agreed that a spinning Sun logo, reminding the user that s/he’s waiting on a Sun applet is bad marketing! The slow loading is not in the JVM, but rather in the plugin.

A competitive requirement is that desktop apps can directly connect with web apps. And pretty much all agreed that Flash is winning on web for user interface from a Java perspective. A great amount of stress was generated in the group, centered around how to move forward. Waiting for Java 7, even as Java 5 is still being rolled out into corporate environments, probably means death for Java. The question was ultimately raised, “Is it worth solving this problem?”. I agreed with the group of people in the room who don’t believe in playing catch-up, not with Microsoft, not with Adobe. Pick the sweet spot that Java has and work in interoperating with Flash using Flex. Forge an alliance with Adobe.

IMO, Microsoft would take both paths. They would fix the plugin AND they would forge an alliance with Adobe. I don’t know if Java will take that direction, and that’s OK as long as they don’t continue trying to play catch-up.

This session was ultimately attended by everyone who was still in the building. Little by little, the crowd grew. The energy was amazing. The audio for this session will be incredible, and I would urge anyone to listen to it, both for the ideas and for feeling the energy of an open spaces event.

The last session of the day was the closing session for the conference. We all met together, and went around the room to suggest what improvements could be made. The appreciation for the Open Spaces format was evident the night before, when the Java Posse did a live podcast recording at the house that they were renting. And Camp4Coffee got a big plug too (“second best consistent coffee in the US, according to Pete from Australia).

Anyhow, so instead of asking how people felt about the event, format, etc., the question was asked about what could be improved. This was all recorded, and will be made available through the Java Posse at some point. My suggestions included involving the people at home more. Since the Java Posse podcast has a large audience, of which only a tiny percentage actually attended, I feel like somehow keeping the people who couldn’t come involved would be a great way to build the community and keep events like this populated in the future. As it was, I think that when registration opens for Java Posse 2008, the event will sell out quickly.

For those of us who have attended several of these events, we’re cautious about changing much about the format. It works. Tread lightly so as not to break it. But one thing that a lot of people suggested was ancillary to the conference itself, and more personal in nature. It would be nice to be able to include the spouses and families in a more formal way. Bruce and I have talked extensively about arranging childcare in Crested Butte so that my family could come (without my husband being in a hotel room with 2 kids, staring off at the snowy mountains that he can’t ski). Others echoed this. Even for those who wouldn’t be bringing kids, it would be nice for the spouses to have a parallel board, where they could arrange activities among themselves. That really relieves the pressure on people who are feeling guilty about leaving families at home!

As it was, many of the spouses attended the lightning talks in the evenings. If there had been scheduled spousal activities, people felt that their spouses would have wanted to attend. I’m looking forward to that in the future, even if my spouse ends up being the only male in the group!

Java Posse Roundup: Day 3

Thursday, March 8

By Thursday, people were really getting the knack of open spaces conferences. Those who had held back in earlier days were right in the thick of things at this point. People were resisting the urge to lecture, and getting into the collaborative exchange of information that really gives Open Spaces its edge.

The first session of the day, for me, was on UI Design. Joe reminded all of us that it’s a huge mistake to have our data model reflect the UI design, and vice versa. Instead, it’s important to really drill down to what the user needs to do, and solve that problem from a user interface perspective (and to solve the data storage problem in a sound, but separate, way. Nods were given toward OmniSoft’s Graffle product, which sadly I can’t use because it only runs on the Mac.

Next, I attended a session that Tor had convened on nice looking fonts, typography, and pretty user interfaces. This was a bit out of my area of interest, and I had actually thought it was going to be a different session. I hung around for a bit and learned some things about font rendering (like that Java has its own font rendering engine, that Apple uses bitmapped fonts to ensure consistency in scaling, and that fonts look fuller on Macs and PCs than on Linux). I also learned that there’s a different gamma setting on PCs than Macs, by default. At some point, I realized that while this was interesting, I wasn’t really contributing and my interest had waned, so I exercised the Law of Two Feet (a tenet of Open Spaces).

The Law of Two Feet is “uncomfortable” to exercise until you get the hang of it. The idea is that it’s not only your prerogative to leave if you are not interested or participating in a conversation; it’s really your duty. The very presence of a bored or disinterested party brings down the energy of the group. By leaving, the overall energy increases because only those who are REALLY interested are in attendance. I probably would have left sooner, but that this session was in the lower level room and it was pretty comfy down there … complete with couches! Anyhow, I did leave and got some tea and relaxed until the next session. I could have joined another session in progress, but I decided I needed a break instead.

The last session of the day was on the GWT, and I was really interested in that. Robert Cooper has written a book on GWT, GWT in Practice, and he has an refreshing, pragmatic perspective. While he’s clearly a power user, he’s not afraid to say where Flex is stronger, and where GWT and Flex, working together, might offer some advantages.

GWT does play well with other Javascript libraries, like Scriptaculous, Yahoo UI, etc. More GWT wrappers will be available soon as well. Mostly, the toolkit works great for replacing desktop apps with web apps.

I have a friend who writes a lot of server side code and I pinged him when GWT was first released. He jumped on the bandwagon and has been effusive about it ever since. He loves GWT and finds the model very convenient.

Evening Sessions at Java Posse Roundup

Java Posse Roundup After Hours

 In addition to the daytime (morning) sessions, we’ve been getting together in the evenings.  Someone suggested lightning talks in the evenings, and posted a signup sheet.  8-10 talks per night were quickly filled up.

The evening talks were a mix of technical and non-technical.  All talks were limited to 5 minutes.  Well, it quickly became apparent that 5 minutes was a bit too short, so we set the timer for 5 mins and gave the person 1 more minute to wrap things up.

The first night, there was an attempt to record the sessions, but they were highly visual, and since no one was really set up to capture the sessions with Camtasia (or the like), listening might not be all that useful.

So, Wednesday night, we had talks on such diverse topics as:

Thursday night, people got a little bit more creative in terms of talking “outside of the Java box”.  It was a tribute to the format of the lightning talks that several people chose to bring their spouses that evening, and everyone seemed to have a good time.

Those talks included (not complete list):

  • Yahoo Pipes
  • Flex running with Apollo (and communicating between them)
  • Orienteering
  • Java Docs in the year 2020
  • More racing from Joe (book link: http://tinyurl.com/2bd6vp)
  • Optimal letter spacing from Joel (who does beautiful calligraphy)
  • Right brain vs. left brain

We did the lightning talks at the very large house where the Java Posse was staying.  It was really perfect for this sort of a gathering.

On Thursday night, after the lightning talks, the Java Posse surprised us by telling us their intended format for that evening’s recording of the podcast.  As *** put it, “We provide this show for YOU guys all of the time.  How about this time, we just start it off and then go around the room and ask each of you what you thought about the Roundup?”.  Nice idea, but much stress in the room as we all contemplated actually speaking.  All in all, it was really great (for those present at least) to hear what the others thought about the Roundup, the Open Spaces format, the skiing, etc.

On Friday night, it was even more laid back.  Everyone showed up at the Secret Stash (a unique Crested Butte restaurant, that serves interesting pizza).  The menu is online, so I’m able to share our selections here:

ME & MY UNCLE'S PIE
grilled chicken ~ black beans & corn ~ chipotle sauce ~ cheddar cheese ~ fresh cilantro ~ roasted red peppers

KALADI'S FAVORITE
Grilled Assorted Veggies ~ Fresh Goat Cheese ~ and our Balsamic Reduction

We also had a blue cheese pizza, but I don’t see it on the online menu.

We sat at a table on the floor, with pillows.  This was a bit uncomfortable for the (inflexible) guys with long legs, but I was OK!  A good time was had by all, and those who drank a local beer called Mojo gave it high ratings.  After that, we all descended upon Bruce’s house and watched amusing stuff on YouTube, Google video, etc. well into the night.

 

 

Java Posse Roundup: Day 2

Java Posse Roundup: Day 2

Session 1: Java Development Environments

I convened a session on Java Development Environments (IDEs, tools, etc.). My question was, “Is it a benefit or a detriment that we have choice in our tools?”. For comparison, when programming on the Microsoft platform, developers are given tools that work together out of the box. If they choose to add new tools to their arsenal, they can (especially see Jim Holmes book, “Windows Developer Power Tools”, which includes a lot of open source tools for use on the Windows platform.

In any case, as Java developers, we’re not only free to choose our own tools, but sort of forced into choosing and configuring. Yes, there are packages like MyEclipse and NetBeans which bundle things together, but the IDEs have gone back and forth many times in the past several years. I’ve personally tried at least half a dozen. Currently, I’m using Eclipse, but on the recommendation of the group here, I’m encouraged to give NetBeans another try.

The consensus of the group was generally that we’re glad to have options. I’m still left thinking, however, that we spend a lot of time spinning our wheels, evaluating tools, instead of actually solving problems for our customers (or employers).

Session 2: User Groups

The next session that I attended was on User Groups. Graham, a Crested Butte local, is considering starting a user group here, in Crested Butte. He was looking for ideas and suggestions about how to get started, while others were looking for ideas about how to grow their user groups or to keep people coming back.

I held the position of president of the Ann Arbor Computer Society for 2 years, and I got some great advice from past leaders of that group: DELEGATE. I’m not always good at it, but it’s a good objective. Having a strong leader that can delegate tasks to get done is pretty critical, I think. Several (3) of the guys in the session were from Atlanta, and the AJUG has a dynamic and energetic leader, and it sounds like he does a phenomenal job of keeping their user group going. In addition to an annual DevCon, which is well attended, they offer Job Postings for both potential employers and job seekers (JRecruiter). The Ann Arbor JUG also has this, but I want to look at what they’re doing in Atlanta, because it sounds more effective than the blog-like postings on the AAJUG.

Remote user groups (Taos, Crested Butte) face different challenges. There are few area users, and having a JUG may be too restrictive. It sounds like Dean from Taos and Graham from Crested Butte may create a more encompassing group that serves all software developers, rather than limiting to a JUG.

Chris Adamson was also in attendance. He is an editor for java.net, and he offered to help solicit updates for the JUG list that they maintain. GREAT IDEA, since they really have gotten out of date.

The basic “take-aways” from the session were:

1.Start small. None of the big groups started big. We all started with 2 or 3 people who wanted to get around and talk about cool stuff.
2.Have a compelling reason for people to attend meetings. Good content, opportunities to learn about jobs, etc.
3.Mix in local and national speakers, if you can. National speakers provide visibility to the group, while local speakers get experience talking to a group of people.

Some groups charge dues, while others are free. Some are corporate sponsored, others are not. You just have to find what works in your area.

I would love to create a “meta-group” of JUGs or other user group leaders who might communicate on an eGroup or such to toss ideas back and forth. Maybe we can start with the list on Java.Net?

Java User Groups on Java.net: http://tinyurl.com/36r2ku

Here’s a view of what Sun coined as the Top 50 JUGS:

http://wiki.java.net/bin/view/JUGs/SunTop50JUGProgram

Session 3: Convergence of Desktop/Web/Mobile

Joe Nuxoll convened a session on the convergence of desktop, web, and mobile application development. Questions were raised about how to determine which platform to develop for, or if it made sense to sometimes build a web app that could be used on a desktop. Mobile has its own set of challenges, but even so, we’re becoming more demanding about what we expect in mobile apps.

One real key is that a lot of time users don’t even know where they’re running up against web/desktop boundaries. One good example of this is Google Earth and Google Maps. Google Earth is clearly a desktop app but it accesses the web to get data that Google maps also uses. Sketchup is a nice application that also pushes these boundaries, in connection with Google Earth.

Joe’s pretty adamant about good user interface design, regardless of desktop or mobile or web. Everyone pretty much agreed that we have to use the right tool for the job, and that it’s not always clear what people need when looking at what people are CURRENTLY doing. Sometimes we need to mix stuff up and come up with a new way of interacting with the user. There are some really cool demos from demo.com that really push this envelope.

Java Posse Roundup Day 1

The conference officially begins!

 

The Java Posse Roundup officially started today.  About 25-30 people have gathered here in Crested Butte, Colorado.  Bruce Eckel and the Java Posse together organized this open spaces event, and I’m really enjoying myself so far.   I won’t try to transcribe the sessions here, since the Java Posse will be putting them out in podcast format, assuming the audio is all fine.  It’s a great experiment, and I hope that it comes out great.  

 

The day started out at the event location, with Bruce describing the structure of Open Spaces.  I’ve blogged about that before, and I’m a total convert.  The ability to be able to put up ideas for discussion while at the event, thereby shaping your own experience, has totally ruined me for the eyes-forward (eyelids dropping) conferences.  

 

It always seems a bit strange to newcomers, but those of us who have done this before eagerly rushed over to the board to grab post-it notes and write down ideas for discussions.  We egged on the others, and soon the boards for all 4 days were pretty full, with 4 concurrent sessions. 

 

The first session of the day offered many choices, all difficult to choose from.  I went to a talk on Dynamic Languages on the JVM.  It started out with a discussion about dynamic languages, but quickly headed toward Domain Specific Languages (easy to build with dynamic languages).  At one point, we realized we had diverged, but everyone voted to keep going.  We had a great 1 hour talk that included mention of Jython, Groovy, Spring, Scala, CLOS, LISP, Ruby, tuples in Java, Domain Driven Design, performance of exceptions, and many many more topics. 

 

And, as always a huge number of book references came out of the discussion.  Some were technical, others fun but also offering some perspective to technical things.  I’ll list them here, just for fun (and so that I have a place to look when I want to read a new book):

 

Poignant Guide to Ruby (online book)

Innovation Games (by Luke Hohmann)

The Design of Everyday Things (by Donald A. Norman)

 

That was it for the first part of the first day.  We all headed off to ski, and planned to meet up later at Bruce’s house for a BBQ.  While most people downhill ski at these events, I had a hard time ignoring the Nordic trails, so off I went with another attendee and we skied the “Town Loop” (a free, flat loop in town).  It was great, just what I needed while I was adjusting to the altitude.

 

And yes, after skiing, everyone headed over to Bruce’s, where geek talk went on well into the night.  I finally left around 9:30 pm or so … it had been a long day.

 

 

Web Frameworks Comparisons at the Java Posse Roundup

Java Posse Roundup Day 0

 I’m here in Crested Butte for an Open Spaces conference, The Java Posse Roundup.  The conference officially starts this morning, but we had an “extra session” last night at Bruce’s house.  Graham Ullrich presented his experiences with TurboGears and Django, both web application frameworks written in Python. 

Graham’s experience with TurboGears was in the summer of last year, with about the 0.9 release.  Since then it has been released as 1.0, and I think that the documentation has been improving steadily.

The major drawbacks of TurboGears include:

  1. Kid templating errors are hard to decipher
  2. SQLObject is limited in functionality

Both of these can be addressed now, as you can drop Genshi in place of kid (and Genshi has awesome error reporting), and SQLAlchemy is more powerful than SQLObject (and arguably than the ORM built into Django).

The major drawbacks of Django include:

  1. Incomplete documentation
  2. Newforms development incomplete 
  3. Not easy to understand what to do with static content

The Django project was poorly advised to put a note in the documentation that new projects should use newforms, since there are major pieces that are not implemented.

Overall, Graham reported that his experience with Django was more “pythonic” than his experience with TurboGears.  It’s hard to tell whether that’s because he was using an earlier version or whether it just feels more natural to him.  In particular, he likes the admin interface and database mapping.

Here are some more comparisons of the 2 toolkits:

http://www.oreillynet.com/onlamp/blog/2006/02/a_brief_djangoturbogears_compa.html

http://www.petersblog.org/node/1083

And, if you missed the presentation and want to read through his slides, he's provided them (see below).

Graham's presentation on Django vs. Turbogears

CodeMash 2007

Well, the CodeMash conference has come and gone. Ah, all of that planning and now it’s over. How will I spend my days if I don’t have to help plan and publicize this event? Maybe I’ll actually get some work done (and see my kids)!

The conference was very cool. One problem in helping to arrange the event is that I had a lot of input into which talks were accepted. That meant that in every time slot, there were multiple talks that I wanted to attend! Ugh! So I moved in and out of the talks, sampling each. Sometimes, I got captivated with a talk and stayed until the end. Other times, some conference organization thing came up and I had to step out. But all in all, people seemed thrilled with the talks, the keynotes, and the venue. And I had lively conversations with attendees and speakers alike, WAY past my bedtime. The 6:30 am organizer scrum came very early on Thursday morning (since I had barely gotten to sleep, it seems). I dashed off without so much as washing my hair (eek, I had to be on stage to introduce Bruce Eckel’s keynote and there would certainly be photos!). Sigh. I had planned to get more sleep on Thursday night, but instead, I found myself talking to speakers and other attendees, including both Mark Ramm and Mike Levin (who I hear continued the conversation even later!) until 1:30 am. Friday night, much of the same. Oh well, maybe I can catch up on my sleep this week.

We kicked off the conference with an “Expert Panel on Languages”, which was moderated by Bruce Eckel and panelists included: Neal Ford, David Stanek, Bill Wagner, James Ward, and Jay Pipes. Many thanks to both Jay and James who stepped in at the last minute to round out the panel!

In addition to the scheduled talks, I attended (and convened) some Open Spaces talks. These are interactive conversations, decided by the makeup of the group. I was introduced to Open Spaces by Bruce Eckel at several conferences in Crested Butte (the next of which is the Java Posse Roundup in March). As he warned often happens, Open Spaces conferences have really spoiled me for eyes-forward talks. Sure, sitting in a lecture and listening to someone talk about something is often an effective way to learn. But I LOVE the interaction of Open Spaces, where every participant is actively involved in the conversation, sitting on the edge of their chairs, engaged. Not falling asleep.

Ah, anyhow, since Bruce was at CodeMash, we had him introduce the concept of Open Spaces and provided a board where people could post talks. His conferences are ALL open spaces, while this one had open spaces “on the side”. I think that we could have done things better in this regard, but I saw some engaging open spaces talks, including some convened by Bruce Eckel (for questions after his keynote) and Mary Poppendieck (for questions after her talk on Lean Software Development).

Other Open Spaces sessions that I attended …

Social Networking for Nerds (Versions 1 and 2):

One of the scheduled talks, for example, was “Networking for Nerds” (hardware stuff), but a few of us were thinking that a “social” networking for nerds might be a good thing to do, so we convened an open spaces session, “Social Networking for Nerds”. But as we were about to begin, there were rumblings about hitting the water park (CodeMash was at the Kalahari Resort and Indoor Water Park in Sandusky). So, we simply moved the “social networking” open spaces TO the water park. “Meet at the Lazy River!” And we did. A bunch of geeks in swimsuits … hmm, that knocks down some social barriers. As I explained to Josh Holmes later, “Once you’ve floated down the Lazy River in a raft, or raced down a water slide side by side with another conference participant, you don’t really feel too shy about asking if you can sit next to him at lunch!”.

Later, we did convene a second session, “Social Networking for Nerds 2”, in a more traditional venue … in the Nia Conference Center midday on Friday. It was well-attended as well. I think about 20 people showed up. I voiced my one regret in my career as not having kept in touch with people from prior jobs in my 20 years as a professional developer. One guy said that he keeps birthdays in Outlook and emails people yearly! He doesn’t feel like he’s “using” another person when he has a question for them later. Good idea (and it was his birthday as well, so we all wished him a happy birthday). Another guy (Barry Hawkins, who I first met in Crested Butte), indicated that his first Java User Group meeting was an eye-opener for him. He realized that people went and heard the presentation, but didn’t interact otherwise. So he announced a “pre-event” meeting where he would be at a local restaurant beforehand, and he gets a great turnout for that. Like our “social networking” session, it’s self-selecting. Those who are interested in networking, go! And while geeks have a bad reputation for being antisocial, I think that those who attend conferences perhaps have a bit more interest in socializing than the standard geek. The consensus seemed to be that most of us feel socially awkward at one point or another, but we push on and do it anyhow. And so we get better at it, just like software development!

Building a TurboGears Widget with Flex:

James Ward, Flex evangelist from Adobe, and Kevin Dangoor, the creator of TurboGears, paired to build a widget in TurboGears that embodied a Flex component. They built a DisplayShelf widget and deployed it to the Python Cheese Shop in under an hour. In a nice demonstration of pair programming, it actually worked the FIRST TIME. Phenomenal. About a dozen people sat around and watched the two at work, and later went to work themselves, grabbing the widget from the cheese shop and quickstarting a TurboGears app and using it themselves. When I got home from the conference and explained this to my husband, he insisted that I do the same. I easy_installed the widget and had it working in about 16 minutes (including copying images to use), in spite of me NOT wearing my glasses. Impressive.

Women in Software:

We brainstormed a bit on why there are so few women in software development these days. Mary Poppendieck explained that when she first got into software, about 40% of the developers were women. She thinks that companies were afraid to hire men because they might be drafted for Vietnam, and so it was “safer” to hire women. And women did it. Another attendee landed in software development from a secretarial field because of an awesome role model and mentor in her (female) boss. Another woman who attended came from a mechanical engineering background. Several men attended as well. We tried to work out some differences, and the one thing that kept coming up was … what drives us. Several of the women in attendance were really drawn by fulfilling customer’s (or company’s) needs. HELPING people. As a generalization, the men seemed more drawn by “building cool things”. Interesting. So maybe when we talk to girls about computer science, we need to talk to them about the human interaction component? That’s a thought. Mary Poppendieck brought up an interesting point as well. She doesn’t think that we need to reach young girls to convince them to go into computer science. She thinks we need to reach their PARENTS. Ah, interesting, especially since many of us indicated that our parents were guiding influences in our choice of professions. So we didn’t come up with “a solution” but that wasn’t really the goal. We have some insight and that’s a start.

User Stories: Reaping the Benefits of Agile Software Development:

Barry Hawkins convened an Open Spaces session on User Stories. A few of us gathered and described why user stories are so critical to the success of agile development. We delved into the representation of personas and we all really feel that these are key to user stories. It’s not all that productive to talk about “the user” as if my 67 year old retired dad and my 23 year old neighbor with a college degree see and use software in the same way. Should we just ban the words “THE USER” in our discussions? OK, maybe not, but building up personas really does help us keep in mind how people use software differently. And building stories for what the components are in software is a great way to help management define not only the complexity of a task but also how essential it is. Ah, now that we all clearly SEE what we’ve been talking about, maybe we can live without it. Or maybe it’s even more critical and needs to be elevated in priority. User stories really help that.

There have been a lot of blogs about CodeMash, since the conference ended. Those that say that they’re glad that they attended and that they would come again, or that they would recommend the conference to their colleagues, make me feel like I didn’t spend the last few months planning this conference for nothing. The real benefit in community-organized events is, however, in letting people know what you would like done differently next time. We’re not a bunch of conference organizers. We’re developers. As I said several times at the conference, this is the conference (and content) that WE wanted to attend. If others in the development community pitch in with ideas and speakers and keynoters and what to do differently, it can be even MORE awesome next time. Did I say “next time”? EEK! Don’t tell my family …. But do join the CodeMash google group and provide feedback, suggestions, etc.!

CodeMash website

CodeMash google group

TurboGears 1.0 is released!

TurboGears, which has been at 1.0b1 for a while now, was released as 1.0 today. Here’s a link to an IRC chat that describes what that means, and more about the future of the TurboGears project.

http://irclog.turbogears.org/archive/freenode/turbogears/2007/01/03 (scroll down to timestamp 17:00 for the relevant info).

This is all great timing, since the TurboGears Jam is starting in just a week and a half, here in Ann Arbor. It’s January 14-16 (more details on Bruce Eckel’s site: http://mindview.net/Conferences/TurboGearsJam/).

Here’s Kevin’s mention of the TurboGears Jam from the IRC chat:

Next minor item: I'd just like to remind folks that Bruce Eckel's TurboGears Jam is happening here in Ann Arbor, Michigan in less than two weeks. It should be a lot of fun and I hear that Bruce creates a great learning environment at these kinds of events. I will be at the Jam as much as I can. Also, I'll be introducing TurboGears at CodeMash in Sandusky, Ohio later that same week.

I’m really looking forward to the TurboGears Jam, and I’m excited to see what 1.0 has to offer that I haven’t already seen in 1.0b1. If you haven’t already signed up, I think that there’s still room for a few more people. Join us! Sunday is “introductory day” with pricing that allows you to attend Sunday only (great for those who want exposure to TurboGears, but can’t justify it to their bosses … yet). Monday and Tuesday should give us a lot of time to experiment.

My responses to Kathy Sierra’s blog on 5ish questions

As often happens when Kathy Sierra posts a new blog entry, I find myself compelled to get something in writing. Her writing really does provoke passion and interest … what a great job she does!

Last week, I read her blog (late) about women’s t-shirts at conferences (ahem, lack thereof). Since I’m in the midst of helping to organize the CodeMash conference, I’m really pushing women’s tees. If we pull it off, I’ll definitely send Kathy one (and anyone else who wants one). Our logo is cool (check it out). Anyhow, women’s tees cost an extra $3/shirt but heck, so do the XXL’s and we’re buying THOSE, so why not!

Anyhow, back to this week’s Creating Passionate Users blog entry, where Kathy turned the “5 Things You Don’t Know About Me” question around a bit, and asked it of her readers. Certainly, it’s great to know who’s reading, but I think that she’s built up a community around her blog posts and REALLY just wants to know who’s in it.

So here are her questions, with my answers.

0) What's your name and website URL? (optional, of course)

Dianne Marsh, www.srtsolutions.com

1) What's the most fun work you've ever done, and why? (two sentences max)

I worked for a small startup (5’ish people) from 1992-1996, doing human genome software (specifically sequence analysis). This was the most fun application area I’ve been in, to date: interesting, challenging, personally rewarding.

2) A. Name one thing you did in the past that you no longer do but wish you did? (one sentence max)

Triathlons: I can’t say I ENJOYED them but it was good to be training.

B. Name one thing you've always wanted to do but keep putting it off? (one sentence max)

Learn to play the piano.

3) A. What two things would you most like to learn or be better at, and why? (two sentences max)

Patience and relaxation. Life seems to get away from me, and stress seems to take over.

B. If you could take a class/workshop/apprentice from anyone in the world living or dead, who would it be and what would you hope to learn? (two more sentences, max)

My three year old daughter, as an adult. I would love to be able to understand the impact of my parenting on her, and learn from that experience (even though I couldn’t apply it!).

4) A. What three words might your best friends or family use to describe you?

Bossy, opinionated, dedicated

B. Now list two more words you wish described you…

Neat, polished

5) What are your top three passions? (can be current or past, work, hobbies, or causes– three sentences max)

My children, the environment, and community (both web and IRL)

6) (sue me) Write–and answer–one more question that YOU would ask someone (with answer in three sentences max)

Q: Have you chosen the right profession?

A: Yes; I enjoy what I’m doing and there’s plenty of opportunity for me to keep learning about things in my profession throughout my career. If this weren’t true, I would change professions. Life’s too short.

[Bonus: What is one question you wish people would ask themselves?]

Q: WHY do you think you need to eat trans-fats?