Summary
This edition of my occasionally-published newsletter, which also goes out by email, covers upcoming events and the status of various projects.
Advertisement
Contents
TurboGears Jam, January 14-16, Ann Arbor, Michigan
Keynote & sessions, CodeMash, January 18-19, Sandusky, Ohio
The Thinking in Java OpenLevel™ Seminar, January 22-26, Ann Arbor, Michigan
The JavaPosse Roundup, March 6-9, Crested Butte, CO
Hands-On Java CD
Thinking in Java 3e and TIC++ V1 Solution Guides available
Thinking in Java 4e Solution Guide
OO Design Consulting
Training
Seminars on DVD
Weblogs
TurboGears Jam, January 14-16, Ann Arbor, Michigan
TurboGears is a Python-based web application framework that was developed in Ann Arbor. We'll have a fascinating 3 days working on apps, along with Kevin Dangoor (creator) and Mark Ramm (TurboGears book author).
You can drop in at any level of experience, from beginner to expert. This is a free-form, collaborative workshop.
Keynote & sessions, CodeMash, January 18-19, Sandusky, Ohio
CodeMash is a developer conference geared toward bringing together developers of all types to learn from one another. It's at an indoor water park in Sandusky, OH and should be a lot of fun (apparently they have perfect waves that you can surf on, something I haven't done for years). The speakers will talk about Ruby on Rails, TurboGears, Java, .NET, Python, PHP, and more. I will be giving a Keynote called "The World is Dynamic" which I hope will make you think differently about what you do. I will also be doing several sessions, including moderating a panel on programming languages. Neal Ford, Scott Guthrie, and Brian Goetz will also be giving keynotes. It costs $99 for the 2-day confererence, but the early bird pricing ends on Monday, Dec. 18. That's also when the hotel will release the block of rooms (and the $88 nightly rate will go up to $150).
The Thinking in Java OpenLevel™ Seminar, January 22-26, Ann Arbor, Michigan
For the longest time I've felt like the traditional "eyes-forward" style of seminar is suboptimal. For one thing, research has shown again and again that lecturing is not a particularly effective way of transferring information. And that kind of seminar tires me out, so I resist doing them -- and I consider this a good sign that something should change.
So I've created the OpenLevel™ Seminar (my term), loosely modeled after the OpenSpaces concept. People work on exercises of their own choosing, at their own pace, with help as needed. Groups will form, and the unique format allows the class to serve beginning to advanced students in Java 5.
You can find a more detailed description and register here:
The JavaPosse Roundup, March 6-9, Crested Butte, CO
The JavaPosse is a very popular podcast dedicated to the Java Language, delivered by four Java experts: Tor Norbye, Carl Quinn, Dick Wall and Joe Nuxoll. The JavaPosse is one of the most effective ways that I keep up on Java news and developments (usually while driving).
We've decided to do an open-spaces style conference in Crested Butte, focused on "Java on the Desktop," (that's just the main theme; any topics that someone wants to do a session on are fair game.
We'll have sessions in the morning, ski in the afternoon, then have informal evening time for dinner, discussion, etc.
The conference is limited to 70 attendees, and you'll need to get lodging ASAP, so don't wait!
With a move to another server, the sales system for this broke and hasn't been fixed yet. I apologize to those of you who have been frustrated by this. I'm in the process of moving to a Paypal-based order system which should be quicker to implement and more reliable.
The fourth edition of the CD, promised in the fourth edition of TIJ, has been languishing on the back burner for awhile.
Thinking in Java 3e and TIC++ V1 Solution Guides available
The server move also broke the sales and delivery system for these, but I've recently resurrected them via Payloadz.com, a service I've been quite happy with so far.
This is in the process of being copyedited, after which a couple of technical passes will be made. Because of the new Payloadz.com sales and delivery system, it will be available very quickly once it is done.
OO Design Consulting
Consulting can be tailored to your needs. My particular
interest is in providing object-oriented design assistance,
where I work with your team to discover or refine your
requirements and to develop a domain model for your system.
In the process, your team learns how to tackle object-
oriented designs while working on their own project.
I've been having very good success by working with your
development team to quickly capture stories and create the
domain model, then test the validity of the model and
further develop it by rapidly implementing it in Python. By
using a lightweight language, we can effortlessly make
changes to the implementation and domain model; if the
implementation is in a heavyweight language there tends to
be resistance to design changes. This approach produces the
best domain model in the shortest time, and allows a faster
and more confident transition to your target language
because fewer surprises happen once the domain model is
shown to be satisfactory.
My current plan is to transform all my training courses into the OpenLevel™ format.
Seminars on DVD
It's been a slow process capturing two seminars, turning
them into DVDs and getting them ready to sell. I will
announce new developments first in the weblog and on the web
site, and later in a newsletter.
I am not a programmer by trade, so I can afford the luxury of making programs for my use and those people who work with me in the areas of finance and product management. Last month I did a simple - but very useful - CAGR calculator in Java. I liked it, it was simple to distribute to the rest of the office, and it had a lot of data validation to make sure no one got the data wrong. But the UI looked so... Java? Besides, I used Netbeans, which adds so much code of its own, it's hard to make changes without getting lost.
Then I decided to make the same program but in Python, using wxPython. I thought it would be easier. Validating the data was longer than in Java. For some reason, my OO design in Java was cleaner with the use of inner classes, while in Python OO sometimes gets lost in the indentation or syntax. But the result was a nicer UI. Better windows, better menues and sharp fonts... Sizers are an odd topic, but the code was clean enough to understand line per line, unlike Netbeans' use of nested layout managers which are very hard to follow.
It was by reading your Java and C++ books that I got into Python, so I would like to know if you have any experiences worth mentioning in Python?
And if you ever decide to write a book on TkInter or wxPython, I will be the first in line to buy it!