Java Scripting Talk – Code, Notes, and Audio

Last night (9 Nov 2006) at the St. Louis Java User Group, I gave a talk on “Scripting Your Java Application”. As I mentioned, there were no slides, but rather a handout, the text of which is pasted below. You can download the handout (a tight, one page PDF), the code, audio of the talk (WMA), and audio of the talk (MP3, larger). The audio was recorded with my Olympus WS100 Digital Voice Recorder, so the quality is bearable but not great.

Update: As an experiment, I also had CastingWords prepare a transcript of the talk. It’s somewhat tedious to read (I didn’t edit it at all), but it is available as Google fodder rather than trapped only in audio.
Continue reading “Java Scripting Talk – Code, Notes, and Audio”

Overwhelming blog spam, and Thunderbird vs. POPFile

Kylecordes.com has become popular with blog comment spammers recently; though because I have moderation on, so far only I have seen the spam (in the WordPress admin interface), it hasn’t reached the public site.

In the last week, the quantity has grown enormously, to the extent no longer practical to moderate manually. I’ve installed Akismet, and am eager to see how well it works.

On a related (spam) note, I’ve been very disappointed with the spam filter built in to Thunderbird; it’s real-world performance for me has been awful compared to POPFile. With the latter, I get vanishingly few false positives, and only a small handful of spam messages reach my inbox each day, out of many hundreds that arrive. WIth Thunderbird, even after many, many clicks of training (dutifully identifying both Spam and Not-Spam), it still misclassifies far more often.

Update a few weeks later: Akismet works very well – the comment spam problem is, for the moment, completely solved.

Label Placement in Forms… I was wrong.

In the process of designing “forms” in applications (both web based and rich client), I’ve had several discussions about where field labels should be located on the screen relative to the labeled fields. I’ve usually pushed hard for left-aligned labels, to the left of the fields, because this looks most tidy to me; I assumed that usability would be good also.

Ooops, it turns out that I was wrong. Matteo Penzo found, in an eye-tracking usability study (at UXMatters), that the best arrangement is to put labels above the fields, second best is right-aligned labels to the left of the fields; and of the arrangements studied, my favorite left-aligned arrangement is worst. Bold labels should be avoided… at least I was already doing that right. In the future, I will favor labels-on-top or right-aligned also.

Java Scripting talk, Nov. 9 at the St. Louis Java User Group

This Thursday, I will give a talk at the St. Louis Java User Group on “Scripting your Java Application”, Thursday Nov. 9. Here is the blurb:

First, this talk will show how to plug in scripting capability to your application, using common scripting mechanisms, including those from the scripting related JSRs (223, 274, etc), and point out the tradeoffs in selecting a scripting mechanism and/or language. Then the bulk of the talk will focus on the questions of Why and Where: the motivations for scripting support, areas of an application that warrant such support, and placement of scripting plug-points across client/server application tiers. Lastly, it will address script/application API design and plugability, including the ideal of an end-to-end script plugin.

My current plan is to use no slides, only a 1-page handout and code on the screen. (Yes, I’ve been to an Edward Tufte class…)

Heading to AYE

I’m heading to the AYE conference shortly, as I did last year. My strategy then was to attend many Weinberg sessions, which has turned out to be wise in retrospect, as Jerry won’t be there this year, he is home recovering from illness. I am eager to see how the rest of the AYE team divvies up the load of his sessions.

If you work in software development and haven’t read Jerry’s books (The Secrets of Consulting, Becoming a Technical Leader, The Psychology of Computer Programming, etc.), I heartily recommend doing so.

Software Development Team = Marketplace?

Some months ago, when deciding how to structure a software development project team, I lamented (offline) that what I’d really like the project to resemble is a marketplace – a community of developers all eager to find their niche. As the market clears, each developer would end up doing what they do best, maximizing their comparative advantage while also maximizing overall productivity. We know this works well on a national scale (capitalism), but in a sense, many companies are (internally) little islands of non-capitalism. By saying a team would work this way, I mean internally, in terms of how the various parts of each project are divided up.

Today I read that TopCoder, in addition to their well known programming contests, does something very close to this:

“TopCoder assesses a client’s needs, breaks the project into 30 or so components, and opens the design and development work to a series of online competitions. The coder with the best finished product wins “prize money,” as does the runner-up, which usually amounts to a few thousand dollars. The small pieces are “sewn” together, usually by TopCoder, and delivered to the client.”

Two issues come to mind though, one negative and one positive:

  • In the kind of complex “enterprise” projects we sometimes take on at Oasis Digital, binding together the pieces in to a coherent solution, tends to be a major aspect of the work. Sewing together disparate pieces could easily dominate the schedule.
  • A bunch of separate, talented developers, committing to building a system in this fashion, are likely to produce a highly modular system. It is hard to overstate the benefits of modularity in large projects.

Update… in my next 2 minutes of browsing feeds, I cames across a relevant post about another “industry” far outside my expertise.