Tag Archives: Java

CodeMash … and Football!

Have I mentioned CodeMash? LOL! Even my conversations IRL these days seem to find their way to CodeMash. So no one will fall over when I mention CodeMash and football in the same blog post, right? Well, at least not my real life friends …

Yeah, we were being daring, putting together developers of all languages and platforms to learn from one another. Back when the conference planning started (ahem, discussions last spring!), we didn’t really THINK about football. But … it’s happened. One of the longest standing rivalries in college football has escalated to be The Game. Not just for the Big Ten Championship, but likely for rights to go to the National Championship. And it is coincidentally occurring on the same year that we’re putting together Michigan and Ohio programmers for CodeMash.

In this family, my 1 year old son signaled “touchdown” before he said “Mommy” (and I was OK with that). And my 3 year old daughter yells, “GO, GO, GO! RUN!”, and “NO!” at all of the appropriate times. Yup, we’re huge football fans. MICHIGAN football fans.

Sadly, even though Josh is an Ann Arborite, he isn’t really a football fan. So, on the organizing committee for CodeMash, it’s me against the Ohio guys (many of whom are in Columbus). They’ve been polite, even as they were apologetic in their hopes that Michigan would lose to Notre Dame in the early season, setting up a OSU/Notre Dame national championship. But alas, we know what happened (reminder to the Fighting Irish: it was 47-21 MEECHIGAN!). I didn’t gloat. I just quietly sat in meetings throughout the year, hoping that both teams would go UNDEFEATED into the UM/OSU matchup.

So on November 18, I’ll be cheering on Chad Henne, Mike Hart, and Steve Breaston (no trash-talking on my buddy Breaston, Kirk Herbstreit!), and all of the other guys including the AWESOME defensive line. And then the following Tuesday, I’ll go back to our weekly CodeMash organizing meeting with “the Ohio guys”.

So come one, come all to CodeMash! We’ve got Java and Python and .NET … and even some people from both Michigan and Ohio State!

CodeMash – I'll be there! 

Announcing CodeMash 2007

Ohio … where you need to be January 18-19

What? January in Ohio?! That’s always the first reaction. But … once I tell them what’s going on (and that it’s at an indoor water park), the tune changes to, “Really? Cool!”.

I’ve been involved with the planning of CodeMash, a 2-day conference for developers, to be held in Sandusky, Ohio January 18-19. 2007. It’s a conference for developers of all flavors: Java, .NET, Python, PHP, Perl … you name it! We’ll have some Ruby on Rails and some TurboGears, some Oracle and MySQL. The goal is to all get together and learn from one another. We all benefit from advances in other languages and platforms.

We’ve scheduled some really cool keynotes. Bruce Eckel is going to talk about issues of design in software development, from a philosophical standpoint. Neal Ford is planning a talk about the evolving programming paradigm. Scott Guthrie will also be doing a keynote.

We’re accepting abstracts right now, and conference registration will be open really soon (you can reserve a spot now, though!). The pricing is phenomenal … early bird price of $99 for the 2 day conference, if you stay at the Kalahari Resort (conference hotel, discounted room rate of $88/night). The regular price for registration (after Nov 30) is $149.

I think it’s going to be an amazing event.

CodeMash – I'll be there!

Code Mash Conference Page

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

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

The “It” Thing …

Some kind of event in Crested Butte, CO, July 18-21

Bruce Eckel was going to do a “Thinking in Java” Open Spaces conference in Crested Butte, CO in July, but interest (or at least enrollment) didn’t seem to be there. After a flurry of email between several of the people that were at his Programming the New Web Open Spaces conference (held in March), he is re-working it as potentially an even cooler event. Check out the link for more details at:

http://mindview.net/Conferences/ThinkingInJava

I really trust Bruce when he says, “We'll find something interesting to do even if we don't know exactly what it is yet. It's in the same vein as an Open Space — where you have a basic topic but you don't know what sessions will appear until people start putting sticky notes in time slots — but taken up a notch. Here, we're not sure what the topic will be, but we assume that something will appear by the time we actually convene.”

I hope that I can be a part of it. My attendance, right now, is only limited by family obligations. If I can work out those details, I will be there. If I can’t make it, I will be really bummed and anxiously awaiting news on how it all turned out.

To be able to go and build something for the fun of it (and for the educational experience)! It would be like summer camp!

BTW, there’s a hostel in Crested Butte. I hear it’s pretty nice and you sure can’t beat the price!

Conference Information
Summary of Potential Topics
Open Spaces
Discussion of Open Spaces Technology
Crested Butte Hostel
Best Value in Crested Butte
Other Lodging/Travel Info
Where to stay and how to get there

Distributed Computing

Ann Arbor Java User Group: Meeting on Distributed Computing

I snuck out of the house last night to attend the Ann Arbor Java Users Group meeting. Topic was Space Based Computing. It far exceeded my expectations.

OK, I’ll confess. I’m a distributed computing geek. I spent a great deal of time (from like 1988 until well into 2001) working on distributed computing applications and research, using rudimentary tools. First applications were on a Motorola “grid” of several 68000 boards. I no longer remember how the thing parallelized. I was just an application programmer. Went back to grad school in 1990 and loved playing around with hypercubes and other parallel processing machines. Did my masters thesis on parallel programming, with an object oriented bent.

My first job out of grad school was at Computational Biosciences, in Ann Arbor where initially we were working on a massively parallel array (human genome applications) but later transitioned to a processor farm, using PVM. Yes, PVM … out Oakridge National Labs. Did anyone else REALLY use this? It was GREAT, but the configuration was pretty rough.

Then, I did some consulting and ultimately started working on a Decision Support System, using a distributed processor farm as well (using CORBA). I left that company in the early 2000’s, but they’re still doing a great job of distributing the workload, as far as I know. I’m not sure if they’re still using CORBA, but they deal with huge datasets … and quickly.

Ah, anyhow, back to the meeting. Owen Taylor did a GREAT job of describing how Gigaspaces has built a foundation on top of JINI for space based computing. He even mentioned Linda (ah, my heart beat faster thinking of way back when)! Furthermore, Gigaspaces provides a community edition of their software, free (even for production use).

Oh, and Gigaspaces even raffled off an IPod. There were only 10 eligible attendees at the meeting, so I figured I had GREAT odds of winning one. Sigh, wasn’t my night. Guess I’ll have to continue to listen to IT Conversations on my laptop for a while longer.

I’m anxious to dig down and play with Gigaspaces a bit, but alas … I have paying clients right now who are totally NOT interested in distributed computing. I’ll have to save it for a rainy day (soon, I hope).

Notes on Linda

Gigaspaces

Ann Arbor Java User Group

Cool Tools

Java Tool Recommendations

Many of our customers come to us, asking for tool recommendations. Choosing and evaluating tools is an incredibly time consuming endeavor. But I got some GREAT recommendations at the Programming the New Web conference, hosted by Bruce Eckel last week in Crested Butte, CO. I’ll try to capture some of those that I found most interesting here, and will try to fill in the blanks as time permits.

In my opinion one of the most intimidating things about Java programming is choosing tools. Microsoft programmers have it easy. Yeah, they’re shoe-horned into their tool selection, but at least they don’t have to go out and evaluate a bunch of (ill suited) tools on their way to creating that first project! Of course, they’re free to choose tools outside of Visual Studio, but do they? Really? Probably only the really stubborn ones!

Yeah, Linux and Java programmers are a stubborn bunch. We like our tools and we like the flexibility to choose them. I so strongly prefer the Unix command line that I run MKS on my Windows box (and will admit to a preference of VIW over WordPad, ssshhhh). But for NEW programmers on the block, it’s a lot to deal with.

So here’s a shortlist of software to use for Java development …

Development Environment: Eclipse (no surprise here)

Unit Testing: JUnit (another given)

Code Coverage: EMMA (use Maven plugin)

Functional Testing: FIT

Quickstart WebApp Development: AppFuse

Version Control: Subversion

Continuous Integration: CruiseControl

Detecting Duplicate Code: PMD’s Copy/Paste Detector (CPD)

I’ll add more as I come across them in my notes.