Blogbody Rotating Header Image

January, 2004:

Blogging a Privilege? How about technology in general

Danah was asking the question, Is blogging a privilege. I tried to follow the leadup stories to this question, but there was way conversation flying around for my little mind to grasp. While I wouldn’t use the word privilege (or elite), I would agree that the perception is that majority of people online are straight white men. I say perception merely because I have no facts to back this up, but it sure feels to be true. But I don’t think it’s just bloggers — it is technology in general. This is nothing new to me. Being involved in technology is even now (almost 10 years after the doc com “boom”) still primarily for white men (I’m not entirely sure if sexual orientation is as big of a deal on the internet — at least, I’ve never thought, “I wonder if this guy is gay?” while visiting a website).

There has been talk of the “digital divide”, but that is nothing new either. Every new technology (phone, TV, car, fax machine) has always been accessible to the front runners of our society. I am a straight white man and I benefit from that greatly. I know I have a huge advantage. It’s pretty obvious in fact. Actually, it’s obvious for me. Apparently there are many people (usually the same people firmly against any form of affirmative action) that feel our society truly is equal.

Anyway, minorities will get to “blogging” someday. Five years ago minorities barely had email, and now it is much more common (though still not ubiquitous like it is with white society). The sad fact is that until much grander social norms change, white men will continue to dominate our world and will be the front runners on all new innovations (regardless of whether they actually did the innovation or just used it). This is why I am a believer in forms of affirmative action — I truly don’t believe that our current society is functioning in a way that will act as a “Great Equalizer”… at least not in the next 100 years anyway.

So just as blogging is a “privilege”, so is being a CEO, a lawyer, or a doctor. They are all tried together and I think when equality happens in one area (more black CEOs, for example), you’ll find that it will happen in all the other areas shortly afterwards (such as more bloggers)

Turducken

Last night I learned of the Turducken. Good lord that must be the most amazing thing ever invented. The only thing that could top that is if there was chocolate inside the chicken — but I guess not everyone might agree with me on that last part.

Once again, John Madden proves he truly is a genius.

No More Anonymous Comments

After more than a few anonymous comments, I’ve decided that I will begin deleting any comments that are anonymous AND add no value to my blog. Since it’s my blog, I can do what I like. If someone wants to provide constructive comments (positive or negative) that add some real value, I’ll leave the anonymous comment. However, the majority of anonymous comments I see on my site and others tend to lack depth and usually result in mindless name-calling.

I have already deleted two comments from my last post. For the sake of fairness, I’ll repost the comments here. However, this will be the last time I’ll be allowing pointless comments to be posted from anonymous users. Again, feel free to post anonymously, but remember to keep the comment full of depth and actual insight. I’m not doing this to censor anyone who doesn’t agree with me, but rather I’m trying to encourage thoughtful discussion or at least some accountability. You are more than welcome to post pointless comments under your real name, since at least there is some accountability.

Now to the first two comments I have deleted:

From “web@webwork.com”:
The books sucked. Answer this question by youself: Can a reader go beyond the online documentation available for the projects covered to solve real world problem, by reading the book and the answer is a big NO.

From “passerby@yahoo.com”:
Friends have the guts to tell the truth. The rest will kiss your ass. At least, Hani had the guts. Stop whining. Just do a better job next time.

For future reference, I deemed these comments as “delete-worthy” because they don’t actually address anything at all related to my post. If you read my previous posting, you’ll see I make several claims on a point-by-point basis. Comments like “this book sucked” without giving reasons (even Hani gives reasons, although some are incorrect) will quickly be deleted. Likewise, a comment like “this book rocks.” without reasons will also be deleted (if you think I’m lying, try me).

If you feel that I’m censoring you, so be it. I know that I’ll be fair, and you are more than welcome to provide insightful commentary to express your opinion. If you can’t live with that, you are more than welcome to not visit my website.

So, the new rules are:
* pointless anonymous comments (both positive and negative) will be deleted
* pointless comments from real users will stay
* well-thought out anonymous comments will stay

Likewise I’ll most likely start deleting pings that I feel don’t further add to the discussion. I’ve had a few recently and it’s quite irritating.

My Book… Biled

I just got home from a long trip to Tahoe to discover my book had been biled. Ouch. Disclaimer: I’m more than a bit pissed off and have decided to respond before cooling down. Also, keep in mind that Hani and I both spend a lot of time working together to try to hold OpenSymphony together. In fact, I consider him a friend. So seeing this ‘review’ was quite a shock if you can imagine.

OK, first, some point-by-point comments:

Hani’s jab at the title…. I admit I’m not a big fan of the title, especially given that much of the focus is on aspects not related to open source programming, but rather Test Driven Development. But ‘Developing web apps by avoiding all J2EE’? The technology discussed focuses on the Servlet and JSP parts of J2EE, but does not delve in to EJB, JMS, JNDI, or any other part of J2EE. Is that a problem? The book doesn’t claim to cover the entire J2EE stack, so why bitching about this is just whining and nothing more.

As for the JUnit chapter, I don’t see any real complaints here save the concern between not mentioning the difference between and error and a failure. I thought that this was covered, but I will take Hani’s word that it isn’t. This is an oversight.

The complaint about the mock objects chapter is a bit perplexing. While I admit it is a bit light (we point to several online webpages for further information — why repeat content already there?), the complaint that the examples are not ‘real world’ is off the wall. The example calls out to writing some Checkout code that requires a Customer, a ShoppingCart, an Invoicer, and an OrderDispatcher. It notes that the real OrderDispatcher might need access to JMS, JDBC, I/O, JNDI, etc. It then goes on to show how we can mock it in order to test only the Checkout code. I don’t see how this is a bad thing at all.

Moving on the Hani’s complaints about the XWork chapter. In fact, OSWorkflow does support XWork (as of today). The fact that the print went out claiming this while in reality this only became true until today is due to an oversight on my part. JPublish does support XWork and I in fact had Anthony Eden, the owner of JPublish, verify the sentance for me (“Version 3.0 and beyond include support for XWork actions in addition to the JPublish API from previous versions”). If Hani is trying to imply that I am deceiving the reader, he should do his homework and speak with Mr. Eden (they both lurk in #java all day long). If there is any deception going on here it would be Hani’s claims that the book says that “JPublish uses XWork”, when in fact the book clearly states that in merely “includes support”. To say that WebWork 1 and XWork are not very similarly designed would be a lie. Hani says this claim is misleading, but as I am the author of both the WebWork 1.x GenericDispatcher (the core in which all actions are executed) and XWork, I can say with absolute certainty that they are indeed extremely similar in concept.

The next comment Hani makes is totally off the wall. He indicates that we (the four authors) did no collaboration. While it is arguable that the final product may or may not indicate quality collaboration, I can say with absolute fact that the four of us worked very hard for 12 months meeting on a weekly or twice-weekly basis. Hani does not and could not know that, so for him to make this claim indicates his bias very clearly. We actually reworked the table of contents several times in order to make the chapter transition as smooth as possible, and I truly feel we did a good job there. However, I must admit it is hard to make perfect transitions when the book is one part reference guide, one part ‘case study’, and one part TDD process guide.

Hani then goes on to show his bias and anger toward Mike by complaining about the mention of JIRA in the book. I’ll admit I was a bit worried that the reference might be perceived as a biased reference, and as such we made sure that alternatives were mentioned. Now if Hani believes that the alternatives mentioned in the book are complete crap, that is his opinion. But it is far from a systematic method of deception. His claim that the IoC alternatives shown (Avalon) were done to make XWork appear in the ‘best possible light’ is just laughable. Keep in mind that Pico was created by Joe Walnes (one of the authors of this book) and didn’t exist until after the manuscript was frozen. None of us were aware of Spring until well after the book went off to printing, and even if we had it would have been increadibly hard for us to change the final drafts so late in the publishing process. Hani hasn’t written a book and as such doesn’t understand the complexities involved with trying to avoid dated material. In fact, the reference that OSWorkflow “supports XWork” is a case of me trying to get ahead of myself — and as we can see this isn’t a good idea as sometimes the material can be false (or false for a short period of time).

In his ‘review’ of the XDoclet chapter, it appears that Hani is complaining about the fact that we chose Hibernate over EJB (recall that Hani is one of the few people that refuses to give due credit to Hibernate or other EJB alternatives). Also, for those that are keeping score, a few years back I wrote a presentation at the San Diego Java Users Group called “is EJB always neccessary?”, in which I explained that proper use of alternative technologies such as Hibernate or Ofbiz when combined with usage of the containers transaction service (where the real magic is, in my opinion), you can usually avoid many of the pitfalls found with EJB. Feel free to google the presentation and decide for yourself if you think I am biased or not.

To me it seems that this isn’t as much as a complaint about the XDoclet chapter but rather his annoyance that both EJB and Hibernate were covered in a book that he tries to play off as otherwise ‘condescending’. Not only do I not believe the book is condescending, but I believe we have made a very fair effort to not knock on any technology that is considered a valid alternative. (one other reviewer has also said this, Grape Ape, aka Robert Nicholson, though his negative review is filled with as much bias as some of the positive reviews I’ve read, so it doesn’t really count for much). For example, here’s a quote from a sidebar in the WebWork chapter titled “What about Struts?”: “Both frameworks are powerful and can simplify your development greatly”. The sidebar also lists pros and cons to using WebWork and Struts. The list seems very fair to me (mature product, huge community, documentation, tool support vs. simpler to learn, easy to extend, clean API, easy to test, decoupled from the web tier). If you believe these pros/cons are inaccurate, biased, or decietful, please let me know.

Apparently Hani doesn’t appreciate the section on communication and tools. I can agree that it isn’t the most solid chapter, but there are some useful tips and advice in there. Not much else to say about that.

Hani is correct that the security chapter and the lack of wrap-up are problematic. There isn’t much I can say about this other than he is right and if we had more time we would have certainly focused more time on those parts. Fortunately those two items are not central to the book and not much is lost.

I don’t know what “style and ideas (mostly the lack thereof)” Hani is referring to, but I tend to thing that I’m very open to outside ideas and anyone who knows me or is on any of the mailing lists I’m involved in knows that I’m very open to alternative ideas. In the end, I feel that we did an excellent job of pointing out alternatives, listing pros and cons, and overall being responsible writers. I can’t say the same for Hani. Then again, his site is called The BileBlog and focuses only on the negatives, so I hope readers keep that in mind when reading his so-called review.

I must say that I pride myself in my honesty and ability to stand strong with my principals. So when I see someone making claims that I deceived my readers I get very angry. If it were true I would quickly apologize and try to rectify the error. However, in this case it simply is not true and it is clear to me that Hani’s anger towards one of the authors of this book clouded his judgment and caused him to state outright lies (coupled with some truths).

Do I think this book is perfect? God no. Do I think it is worth the $30? Definitely. To anyone interested in this book I recommend you not take heed to any of the reviews (positive or negative) as all of the ones I’ve seen thus far have been incredibly biased. Instead, I recommend you go to your local book store, flip through the pages a bit, and decide for yourself.