Ann Arbor user group meetings, Oct 3 and 4

It's going to be a very cool week in Ann Arbor, next week. And no, I'm not talking about the football game.

Got some time to attend some user group meetings? Next week looks VERY cool; I just wish I could be in 2 places at the same time on Tuesday!

The following announcement is from the Michigan Python User Group on Google.

Python User Group

Arbor Networks

Tuesday October 3, 2007

7 pm

There are a couple of opportunities for people to get exposure to Python next week. First, the Python user group meeting, which is usually held on the first Thursday of each month, is being moved to Tuesday Oct. 3 for this month only, to accommodate a special guest speaker, Titus Brown, the author of the Twill testing tool. Jason Pellerin, the author of the Nose testing tool, may also be present, so this is an excellent chance for people to talk about automated testing with folks in the know.

Bruce Webber will be talking about wxPython, which is always a hot topic.

The Michigan Python Users Group will be meeting at Arbor Networks on  
Tuesday 10/3 at 7PM.

http://michipug.org

The downtown Ann Arbor location worked out well for heading out  
afterwards. Come join us!

———————————————————————————————

Unfortunately this conflicts with a very cool meeting at the Ann Arbor Java User Group (the following is from the Java User Group promo announcement):

An alternative to Code Generated GUIs

Washtenaw Community College

Tuesday October 3, 2007

7:30 pm

BuoyBuilder is a graphical user interface (GUI) designer and object configuration tool. It is for putting together user interfaces composed of windows, buttons, text fields and other visual elements for Java Swing applications. It also allows you to save your designed user interface and recover it back into the tool later for further modifications. But BuoyBuilder is much more than just a layout tool. With BuoyBuilder, you are working with real, live objects. These objects are usually Buoy Widgets, but BuoyBuilder allows instantiation and configuration of virtually any object. It also allows you to make connections between objects, which are persisted when the file is saved and restored when loaded. This leads to a substantial reduction in tedious infrastructure code. BuoyBuilder is a tool for building GUI applications enabling you to get the most functionality out of the least amount of code. BuoyBuilder's philosophy is to simplify application development by reducing the amount of code needed to do the job.

Presenters:

Jack Rosenzweig is the Vice-President and co-founder of 94West, LLC. Jack has worked in the software industry in Ann Arbor for the last 14 years in various roles from field trainer to product manager to IT director to director of development, all at MediaSpan (formerly known as Baseview Products). Jack launched 94West, LLC in the winter of 2006 with his partners to bring BuoyBuilder to market.

Peter Johnson is the President and co-founder of 94West, LLC. Peter has been developing software in Ann Arbor professionally for the last 13 years. Peter is fluent in Java, Swing, J2EE, Objective-C, C++ and C among other languages and environments. Peter wrote BuoyBuilder when he was unable to find anything nearly as good as Apple's Interface Builder for Java GUI design.

Location:
Washtenaw Community College

Click for map:

Contact email:

———————————————————————————————

TurboGears Web Development (Wednesday, October 4)

Ann Arbor IT Zone/Spark Central.  330 E. Liberty, Ann Arbor MI
 Wednesday, October 4, 2006
6:00 PM

Mark Ramm is going to be talking about TurboGears at the Ann Arbor Computer Society meeting on Wednesday October 4. Here’s an abstract for the talk (from AACS promo announcement):

TurboGears is part of a new generation of web development frameworks
designed to make development of database driven, Ajax enabled, web
applications easier.  The discussion will cover:

1. How well designed frameworks can increase productivity, maintainability,
and generally make web application development more fun.
2. How Ajax is integrated into the core of TurboGears, and how you can use it
to make your web applications more dynamic and easier to use.
3. He'll compare TurboGears to some other popular web development
environments, so you can better evaluate when TurboGears might be the right
tool for the job.

Mark Ramm is the author of the forthcoming "Rapid Web Applications with
TurboGears." He is IT Manager for Humantech, inc. Over the years, he has
programmed Web applications in a wide range of technologies, including
Python, TurboGears, CGI, Perl, PHP, ASP, Java Struts, and Ruby on Rails.
He has written for Linux Magazine and various online publications, and
maintains an IT Management blog (http://compoundthinking.com).
In his free time, Mark is working on a project to designing new collaborative
learning experiences around open source technologies.

AACS meetings are free and open to the public.
      Supporting membership is $20 per year, qualifying you for door prizes and voting

MoGo Mouse

Finally! An excuse to use bluetooth AND my PC card slot!

Cool product advice that I picked up at the Reciprocity Ring event that I went to …

the MoGo mouse. The attendee sitting next to me had one, and raved about it. It’s a Bluetooth-enabled mouse that stores and recharges itself in your PC card slot.

Nice!

Social Networking for Professionals

Virtual Reciprocity Ring: web based tool for social networking in business

This morning, I attended a seminar for the Virtual Reciprocity Ring, associated with the Ann Arbor ITZone. It’s an interesting concept, borne out of the social networking movement and research by Dr. Wayne Baker at the University of Michigan. The seminar started with a presentation to explain the aspects of this web-based tool for social networking as it applies to professionals. The idea is to build weak links to a number of people with whom you have a common interest. In this case, it’s a business interest, and you build the relationships and trust, and start interacting within the community.

I’ve been to many networking events at the ITZone, but I have to say that I have never been to one as effective as this, mainly because we could solicit ideas, opinions, job candidates, etc. using the web-based tool, instead of the “cocktail party” approach, where you feel like you’re saying the same thing to everyone, but probably forgot to say it to the one person who could have helped you (or you missed talking to that person altogether). It’s all about fostering relationships.

I have seen this same sort of social networking in play in the physical world. I’ve attended conferences, where relationships were formed, and later continued via email. The tool that was presented at the conference today formalizes that a bit. Instead of having an email group, communication is done via the ring, where communications center around requests for help and offers of assistance. Most of the people that I communicated with today were people whom I still have not met. A few people, to whom I offered contributions (often meaning simply advice), came up and introduced themselves following the seminar.

This sort of computer-based communication is pretty effective for computer geeks (not surprisingly). We don’t even have to TALK. We can just communicate via the computer! Not altogether sure that’s good for our growth as communicators, but at least stuff gets done!

I like it. I think that this specific tool needs some refinement (opinions were solicited toward that at this seminar as well). I think that it could be effectively used in a lot of situations that I come into contact with (computer user groups, etc.), but I fear that the cost will be prohibitive. I think that the effectiveness of social networking tools like MySpace is due to the fact that they are free and widely available. By limiting the use of such a product to those who “pay to play”, I feel that the community won’t benefit as much as it could have. But this isn’t at all a MySpace equivalent. It’s an invite-only group, with stated objectives of sharing ideas, services, etc. and paying it forward.

The real key, of course, will be to see if people continue to participate past the few hour session this morning.

The Reciprocity Ring Website
Check it out yourself

Rocks and Robots

A workshop at the Ann Arbor Computer Society

I had a truly fun experience last night at the Ann Arbor Computer Society. Dr. George Albercook of Rocks and Robots came to “speak” … OK, actually do a workshop on building robots. He typically does this for kids, but he did a fabulous job with the adults (there were 4 kids present).

We haven’t had a hands-on workshop at AACS for as long as I can remember. What fun! We sat down in 5 groups of 4-6 people each, and used his “Flutterbot” to build a little robot. This included electronics (putting components together on a breadboard, including a brief introduction to reading schematics), software (C programming, using the free WinAVR compiler (delightfully pronounced whenever), and writing to the EEPROM (using the AVR Studio). Armed with some really good (and sometimes amusing) manual that George wrote, students are able to follow directions to do several tasks, from getting the Flutterbot to display a name on the integrated LCD, to getting an LED to turn on and off, all the way to building a robot that can track a dark line on a white surface.

The adults had a riot (and the kids did too). George teaches home schooled kids during the school year, and does several summer camps as well. His summer camps, as the name suggests, include BOTH the robot-building and an outdoor adventure (rock climbing at Planet Rock, the ropes courses at UM, orienteering, etc.). All of these are targeted to students in a young age group (9-12) and an older age group (13 and above). He uses LEGO robots for the younger kids, and graduates them up to the Flutterbot. All in all, it seems like this is a summer camp experience that kids can really grow with. And the combination of classroom work and outdoor adventure is really good for the kids, I think. Well, it works well with MY learning style, at least.

The parts George uses are all readily available on the internet, but the value he adds is that he puts everything together in an integrated kit, and includes software and instructions. The real added value here is the documentation. His expertise means that you don’t have to be an embedded systems programmer already to figure out how to do a little embedded systems programming. Check out his kit at www.flutterbot.com (and a photo of the robot we built last night is on the site as well).

Ah, my daughter is only 3, but she LOVES doing the climbing walls at playgrounds. And she loves computers as well, at least so far. I just hope that she will want to do a summer camp like Rocks and Robots when she’s a little older … and that George is still teaching it them.

I did ask how many girls he typically gets at his camps. He said that they have averaged about 10-20%, but that he’s going to reach out to organizations like the Girl Scouts and Brownies and try to do some recruiting with them to try to increase those numbers. I know that I will be promoting his camp with the kids in my neighborhood who are of the right age … and with my nephews as well!

Rocks and Robots
Summer Camp Adventure
Flutterbot
Electronics Kit for building a robot
Ann Arbor Computer Society

Saturday in Crested Butte

After the Web Frameworks Jam …

Saturday was JUST for fun (hmm, as opposed to the other days which were also fun?). Everyone from the workshop (yes, everyone) met for an 8 am mountain bike on the Lower Loop in Crested Butte. It was a great ride, and everyone was at different levels in their riding abilities (and interest) and we had a wide range of bikes. Several of us rented bikes, while others brought them along.

After the bike ride (which took about 2 hours), we all got together for a late breakfast/early lunch before heading our separate ways. It’s always a bit of a letdown to be leaving, but (as with the group in March), I think that communication between the group members will continue and I look forward to it.

Friday in Crested Butte

Web Frameworks Jam, continued

This was the last day of the workshop (Friday). We finished up what we could and then recorded a podcast describing what we had done and detailing our experience.

In general, we all found that one of the barriers is installation and setup of the framework (from a development standpoint). All of us battled installation and configuration issues. Spring is simply complicated. Google Web Toolkit is immature in terms of packaging issues. TurboGears is still in alpha and we were definitely chasing a moving target (versions a6, a7, and a8 were released during our one week stay in Crested Butte). We didn’t battle deployment issues (yet), but these hold concern for all of us as well.

As for my personal feeling? I still want to get some more airtime with Google Web Toolkit. I’ve done a little with it at home, but would like to get into it in more depth and look forward to its maturation. And I’m totally smitten with TurboGears. I’m going to use it for some small projects and see what I think. I have some customers that I think might benefit from it, once version 1.0 is released and things are a bit more stable. Spring? Well, I’m still unsure about that. I think that the question in all of our minds is where IS the limit where the lightweight frameworks break down and more complicated frameworks like Spring (or even Struts) become necessary?

The TurboGears team is hot on doing a TurboGears Jam at some point (and several of the other attendees from the jam expressed interest in doing that as well). Of course, logistically, it’s a bit complicated, so I’m not sure if/when it will happen, but it would be great.

As for the hike, on Friday, we hiked the 401. This is an absolutely beautiful trail, also up by Gothic. We were surprised by a huge tent that someone had dragged up the mountain. It was an out and back, and the wildflowers were gorgeous.

Hike on the 401 photos

Thursday in Crested Butte

Web Frameworks Jam, continued

The TurboGears team finally is all working with the 0.9 release, and we made a lot of progress today. I was able to get the things working that didn’t work yesterday (i.e., the JSON support), and we moved forward, exploring the TurboTunes tutorial and more of the supporting code.

The TurboTunes tutorial is a lot of Javascript, so not as much in terms of kid and pure TurboGears, but it’s a nice looking demo. Here are some of our notes about that tutorial:

TurboTunes Tutorial Feedback

1.tutorial refers to prod.cfg, which doesn’t exist. Assuming should copy sampleprod.cfg to prod.cfg. No big deal, since we were in development mode anyhow (using dev.cfg)
2.In 0.9.a7, sqlite is assumed in dev.cfg … needs to be commented out. This is kind of annoying.
3.Tutorial uses old start command: python turboTunes-start.py, while new version uses start-turboTunes.py
4.Use tg-admin toolbox to start toolbox to access Catwalk. We were able to leave out all mounting of CatWalk, but still need to import model.

The Google Web Toolkit team seems to be doing well with their exploration, and the Spring team is making progress too. During the hiking breaks (and at dinner), we all discuss what people are doing. Ah, it would have been nice to have had more time, so that each group could have looked at another framework as well. Ah, sigh, but realistically, we likely would have just gone into more depth with what we were doing.

This afternoon, we all took a hike to Copper Creek. It’s up by Gothic, which is an old town now used by biologists. The waterfalls were gorgeous and the hike had more elevation (and length) than the previous days.

In the evening, a few of us went to see “An Inconvenient Truth”, which was (IMO) both fascinating and disturbing. In any case, it was great to see someone handing out flyers about how to convert to using wind power in Colorado after the movie.

Ah, tomorrow is our last day here, and I’m hoping that we can look at some more TurboGears in detail.

Copper Creek Hike

Web Frameworks Jam: Wednesday

Another Day in Crested Butte

First, work stuff:

We continued our TurboGears quest yesterday (Wednesday). The “out of the box” tutorial experience isn’t really there yet, but we’re still hopeful about the package. Mainly, if I had been working on my own, I’m just not sure I would have been this motivated to continue working with the package, after encountering the roadblocks that we’ve hit. None of them have been insurmountable, but “real” work would have probably drawn me away from it when I did get temporarily stuck and I’m not sure I would have gone back.

The idea of using Best of Breed Components to put together a framework is compelling, and I’m enjoying getting my feet wet with a little Python as well. The “gotchas” seem to be package installs, at this point, further complicated by the fact that we don’t have a live internet connection at the conference location (which really just inspires us to visit the coffee shop next door quite frequently).

We’ve been making notes, mainly about the tutorial and this “out of the box” experience that I just mentioned. Bruce is going to post them, and I’ll add a link here when he’s done that.

The Spring/Hibernate team is plugging along (mainly focusing on Spring at this point, I think). The Google Web Toolkit team is making progress as well. One of the guys has extensive knowledge of the toolkit (has been using it for a while) while the other 2 have great interest. I’ve seen notes from them as well (extensive!), and I’m hoping that they post those as well. I’m looking forward to reading them in more detail, and I’ll post a link if they get blogged. Pretty sure they will …

In any case, we’ll be getting back to TurboGears this morning. Barry finally has everything working on Debian and Bruce has upgraded to 0.9 from the default install of 0.8.9. We’ve learned a lot about the package, and I’m looking forward to getting through the tutorial and onto new things now that (hopefully) the wrinkles have been ironed out.

And now, the recreation report:

We went for another hike (Slate River) yesterday afternoon, hiking to a waterfall. An old mine is nearby. It was a very nice hike, more elevation than yesterday.

And we had lunch at a great little outdoor Tibetan restaurant (Mo Mo’s). I had curried beef with lentils and rice and some chai. It was fantastic and the outdoor garden setting is amazing.

Last night, one of the other attendees and I attended a community forum at the local school. Ambassador Ed Peck, former chief mission to Baghdad, spoke to a standing-room-only crowd about unrest in the Middle East. Pretty timely. He’s an amazing speaker and probably makes a great diplomat. He really stressed the importance of listening to what people (in other countries, especially) are saying and thinking. Imagine that. This isn’t a political blog, so I won’t go into more detail, but suffice it to say that I’m really glad that I attended. I wish that I were going to be here next week, when Sandra Day O’Connor will be speaking. Wow!

Crested Butte is simply a wonderful place. Costly, but lovely. It’s definitely a great place to visit. Some local tidbits:

·I talked to a woman at Camp4Coffee yesterday morning who had ridden her bike there with her 6 month old baby. We were talking about bike trailers. She said that she bought that trailer when some visitors came to town for a week, bought a brand new bike trailer, and sold it for $70 when they left. Nice deal!
·I spoke to a man in the hotel lobby this morning who is a rancher from Texas who has been coming to this town every year for 30 years. He’s here with his grandson this week.

Web Frameworks Jam, Day 1

Greetings from Crested Butte!

I’m here, at Bruce Eckel’s Web Framework Jam, and (as expected) learning a lot already. We’ve broken up into 3 groups, each working on a different framework. Initial task is to become familiar with the framework. My group is working on TurboGears (the preview version, 0.9), and we’re not just working through the tutorial but also inspecting a lot of code along the way. A second group is working with Hibernate/Swing, and the third is using the Google Web Toolkit.

Each day, there’s time set aside for recreation (hey, if you’re in a beautiful place like this, you really SHOULD get out and do something!). Yesterday, we went on a nice, flat hike at Lake Irwin (flat is good, since we’re all still acclimating to the altitude, 9300 ft). Later in the week, I’m hoping to do some mountain biking. But … as we saw with the Programming the New Web conference here last March, the “breaks” really serve as a way for the groups to interact about what they’re learning as well. A lot (most) of the conversation centers around what we’re doing, something that most people who hang around with computer geeks probably don’t find surprising.

Wildflowers at Lake Irwin