Archive for July, 2003
' overload
Tuesday, July 15th, 2003Why do so many blogs seem to be filled with ' in their comments? Is it a failing of a particular tool, or am I missing something blatant?
People use a ‘ in their text, the engine appears to convert this going into the database or something, but then it converts it again on the way out. Or something.
'MacTech'
Sunday, July 13th, 2003Just a quick note, after all that blogging about the conference. MacTech is a magazine I discovered in the UK. No idea if I’ve mentioned it before, but it’s a US-based Mac programming magazine I’ve not discovered before. Very very good. My first issue from my subscription arrived yesterday, and as many of the Java people out there are also OS X people, I thought they might be interested.
Url for the magazine is: http://www.mactech.com and the US subscription price is 47 dollars per year.
ONF: Post conference…
Sunday, July 13th, 2003Once the last session was over, and the conference was winding down, I spent a short while talking with Jay, Erik and Maciej. Erik’s the first Apache person I’ve actually met and it was a little daunting to lose the anonymity. Plus there was the embaressment that I’d not actually gone to a single of his sessions.
I’d tried hard to juggle the sessions so that I saw every speaker [Craig Silver did one session that I missed] and Erik’s my only failure. I also let slip to Erik that I still use web browsers to read people’s blogs, which is so 2 years ago.
The conference was a great success for me. I’d gone to see if conferences were worthwhile or just a money-sink. I can happily report that not only are the No Fluff conferences utterly worthwhile, they are great social opportunities and superb ways to rejuvenate your java-love.
I’m not the first to say it, but every Java developer out there should be attending a No Fluff symposium once a year. As long as one is within a few hours drive, the cost is affordable privately.
I estimate the three days cost me around 750 dollars max, though I only stayed the one night. It was well worth it.
ONF: Maciej Zawadzki Object Reuse
Sunday, July 13th, 2003Another subject close to my heart. I had planned to goto Erik Hatcher’s eXtreme XDoclet session, in an effort to be enthused by XDoclet, but as we’re going through another iteration at work to improve our source control process, and implicitly our object reuse strategy, this talk won out. Sorry Erik.
It was good to hear a lot of this. Maciej has a 5-level system which details the different types of ways in which projects may be managed. I’m happy to discover that at work we are at level 4. Apache is level 5. So it’s not impossible to succeed in having a much-improved build/source management system.
Part of the talk detailed Anthill, Maciej’s company’s product and a not-yet-released product named Codestation. Although I find Maven b7 to work well for me, b9 has me confused and I still haven’t understood Reactor, so considering other options is a possibility. Anthill itself didn’t seem to offer enough over Maven, but maybe Anthill Pro might.
A lot of this talk was on parts that are already happily integrated in my environments. We have a nightly build at work, and relatively okay cvs marginalisation. What I wanted to hear about was the management process that sat on top of all these tools.
That said, a lot of the attendees seemed to get something out of the talk and the implication that we’re on the right path at work was definitely worth the time. According to Dave Thomas, 40% of US Developers do not use a source-control system [CVS etc].
ONF: Maciej Zawadzki Code Generation
Sunday, July 13th, 2003Maciej’s talk on code generation was something I was half inclined not to bother with. I’ve grown quite bored of other people’s ideas of code generating after reading Program Generators with XML and Java.
It just didn’t impress me and I stopped working on the code generation system I’d been creating (in 2001) [after 2 years of working on one in-house at Internation].
I’m glad I didn’t skip the session. Maciej gets code generating. His system is mature and built on a simple core set of concepts, and has some parallel’s with Internation’s work and a lot of cool differences. Maciej is also very interested in the semantic web’s idea of ontologies and has some very grand plans.
A very enjoyable session. The No Fluff sessions are so dual-directional that I found it hard to stop my constant questions to Maciej from distracting him from his audience.
ONF: John Cornell ObjectBridge
Sunday, July 13th, 2003First talk of the morning on Sunday was a 3 hour period on ObjectBridge.
While there’s a lot of love for Hibernate, I think ObjectBridge will have more legs and I want to get into using it. There were 15 people in the talk, so a lot of others were hunting down info on either XML Schema or JAAS. There were always 3 sessions available, with 4 each day [except for the keynote].
John gave a very solid talk on OJB, the first time he’d given that particular talk, and we didn’t quite finish the last few slides. He showed us how to use OJB in a basic sense, provided nice hints as to things to watch out for and provided some last-minute slides on how to use OJB in a JDO api way.
John uses OS X, showed the presentation on Keynote, has OmniGraffle and uses ‘Sticky Brain’.
This talk was, as with all others, very good. The 3 hour format worked very well for the subject and gave John a lot of time to drill us in ObjectBridge concepts and code. He finished the OJB part by discussing how to easily use Proxies to do lazy instantiation.
The last 20 minutes or so of the talk are a discussion about the layer architecture of a database backend, and why it is important to maintain a data-access layer. A bit of a change of pace, but still very interesting all the same. One thing I learnt was the phrase ‘junction point’ to describe what I’ve always called a ‘design bottleneck’. I’m going to go with John’s phrase from now on as manager’s seem to have a heart attack when I use the b********k word. Even if I’m using it in a positive way
One interesting thing to note.. OJB is using a commons-lang-1.0-mod.jar. Must remember to ask them what exactly the mod is, and whether we can assist.
ONF: Dave Thomas Agile Development
Saturday, July 12th, 2003Yes, I am guilty of equating Agile things with XP and ignoring it. So I completely hadn’t understood that ‘Agile’ is a standard of sorts of which XP is just one implementation. Scrum being another.
They have a series of tenets etc, but I found it interesting that some can be expressed in other ways. Two of them can easily be equated by open source’s “Release early, release often”, which is good when releasing is easy.
I’m not a big fan of how Dave keeps pushing face to face communcation as a high-bandwidth discussion method. I like face to face for a design meeting, although only really because we can draw pictures. Normally I think email is a better form of communication as it is not time-invasive, which allows multi-tasking; it allows you to think more about the things you’ll say and provides a permanent record. It is bad in that it is not interactive. Maybe it’s the years of discussing things on MUDs that have made me very comfortable with the concept. I find most people are unable to communicate in email/irc/aim/whatever.
He says that ‘working software is the measure of success’, but I think working is relative and really he means ‘a happy customer is a measure of success’, so I now plan to spend project money on getting customers drunk.
No broken windows. I love this one from the pragmatic programmer book and periodically berate myself for not caring enough about code [when I go through a disheartened period in which the code is too broken-windowed].
Lovely quote: “There are, in any project team, people who should be farming. “
Said with a certain amount of tongue in cheek, and a certain amount of cynical realism.
He cites Occam’s razor for one of them. Basically “do the simplest thing”. One example he gave was: “If the project can be implemented using a Servlet, or even CGI, why use EJB?”, to which I would answer, “because it matches departmental standards, making code easier”, or “because we have an EJB container deployed, but no CGI container or stand alone servlet container. “
Overall this was an interesting talk, though I found Dave tends to assume we’re all at big corporations and/or consultancies.
He discusses that there should be collective code ownership, which I fully agree on but always worry that people don’t realise that there still needs to be code responsibility. Someone is responsible for the long term planning and keeping clean-ness of a piece of code. And if the current thinking at work goes into action, they’re involved in deciding on version numbering for that component.
From this talk I took the following aims:
1) Have another window mending spree
2) Reflect on ideas in an organised way. That is, when we have ideas in the office, someone needs to note them down [so I’ll start doing that], and bring them up a period of time later [say 2 weeks] and ask if they’ve worked/failed.
3) Have ideas.
4) Conquer worlds.
One question asked was how to maintain buy-in. It seems the solution for this is for everyone to try hard. Which is not the silver bullet I’m hoping for
While Bruce was summarising, and Stu was enthusing, Dave was definitely lecturing. Striving to impart whatever knowledge he can to lift us a tiny iota closer to doing things properly.
ONF: Stu Halloway ClassLoading
Saturday, July 12th, 2003Wow. Stu talks rapidly when in normal speak and then has to wait for people to catch up. One of those people who just leaks ’smart computer person’. Once he switches into talk mode he slows down just enough, but stays fast enough that I felt like it was just a conversation going on about an exciting topic.
I went to this talk for two reasons.
1) I constantly write frameworks which have 1 or more interfaces which a user is meant to implement. I would like to have these user implementations be hot-deployable.
2) I want to have some kind of interpreter which will take custom files and convert them to Classes without the JVM knowing. Writing a class loader seems to be the solution there.
Stu raced around the world of ClassLoading, telling us how Servlets, Ant, JUnit and Struts were all being bad bad projects with their class loading techniques and explaining how it’s meant to happen. Even though I’ve got his book and have read the first few chapters, I found his talk to make things infinitely clearer. Indeed, I felt I already knew what he was saying, but suddenly I grokked it rather than just knew it.
Stu has a great jsp file that helps with debugging class loading in a servlet container. I’ll try to find a url later.
He mentioned that the .Net class loading system was one of the parts of .Net that were utterly utterly different to Java. Or at least that they threw away the Java way. It was a toss-up as to which was better in his view.
Big things learnt:
Don’t write a classloader to load classes from a weird source. Write your own url-handler instead and use UrlClassLoader.
Always remove java.exe and javaw.exe from c:WindowsSystem as Sun copy the user’s JRE’s binaries in there and they’ll override the developer’s JDK’s JRE’s binaries.
Things for me to do next: Learn BCEL or a competitor so I can create class files. Possibly write a url handler which parses a text into a class-stream using bcel. Also research a hot-deployable class loader.
A very enjoyable talk. Stu coded in front of us [he uses IDEA on Win XP, also rates Eclipse, jEdit and NetBeans], which was far better than slides.
ONF: Bruce Tate - Persistence
Saturday, July 12th, 2003First session I chose to goto was Bruce Tate’s Java Persistence Frameworks. Maybe 25 others chose to do the same thing.
Bruce used to work for IBM and apparantly Ohio is a big Big Blue heartland. That explains why all the jobs are for WSAD.
[The water tastes a bit too much of chlorine. I wonder if that’s a Cincy thing]
Nice quote from Bruce: “Object persistence landscape is littered with piles of rusty bikes” [not exact quote, but close enough]
Bruce has a hard time waking the audience up to join in, but I suspect that’s happening in all the sessions. He discusses POJO, EJB, JDO, hibernate and others and is wonderfully not pro any one tool. Instead he has a lot of pro/con balances and explains his thoughts.
Reminds me that I want to get Commons DbUtils wrapped up for a small release someday. It got a bit out of hand.
I wrote a lot of things down, ask a few stupid questions and decide to look at OJB more. It’s taking time to digest the Apache way I think, but I suspect it’ll come back to challenge hibernate soon.
Bruce didn’t mention plog, which I’ve always liked. He did mention IronEyeSQL as a tool which would help with writing enhanced POJO persistence frameworks.
Overall his talk was quite a good summary, though it lacked a punch.
