The Tapestry Bearded Wonder

For many years, I’ve longed to say something about Howard Lewis Ship. I’ve received much fanmail over the years regarding Howard, much of it anonymous, usually laced with pleas to expose this bearded wonder to the rest of the world as the uncaring insensitive naive fatboy that he is.

Sadly, I’ve never quite found something useful to pin on him. Yes, his project (Tapestry) is incredibly stupid. Sure, it has no users and is largely irrelevant as a freak evolutionary dead end (how can someone think that 5 artifacts per ejb2 bean is a bad idea, but 2-4 artifacts per tapestry page is a good one?) Thats not really enough to point out what a turd he is though. After all, it’s all harmless isnt it? So he likes pissing about with open sores and making a living by ensuring his project is impossible to use and keep up with, isnt that smart?

Much to my relief, Howard finally comes to the rescue with an absolute gem of a blog post. I had to read it twice to find the sarcasm and irony that so obviously must be there, but alas, I couldnt find any, so I’ll have to assume he’s being serious.

Howard, for those lucky enough not to be subscribed to JavaBlogs and thus exposed to his unique brand of insanity, has decided to switch to slf4j for his logging needs (from clogging).

What incredibly compelling logical reasons does he give for doing so? He doesnt like the fact that loggers are called ‘Logger’, and prefers ‘Category’ or ‘Log’ (perhaps a subconcious attempt to label all his code). He casualy flaps his michelin man arms about about how easy it’ll be for everyone to migrate, and how its no big deal to CHANGE EVERY SINGLE FUCKING SOURCE FILE YOU HAVE. Even more hilariously, he says that everyone uses clogging with log4j so the abstraction is pointless, yet proceeds to pick another logging framework abstraction. Huh? Its like there are two howards, both of whom enjoy debating with the other but are so set in their beliefs that won’t actually listen to what the other one has to say.

So ridiculous was this decision and its justification, that even the master of all thats inane, pointless, and shiny, Dion Almaer, pokes fun at Howard. I honestly think I’ve never ever found a project that Dion considers dumb or pointless, the man takes delight in a morning poo if it had rounded corners.

This latest pointless move from the bearded wonder highlights precisely why so many users have lost faith in him and his ability to deliver. Here’s a tip howie, a successful framework finds users and sucks and diddles their genitalia, it doesnt bend them over and make them squeel like stuck pigs.

76 Responses to “The Tapestry Bearded Wonder”

  1. Suni Haleiman Says:

    FIRST! And I haven’t even read Hani’s crap yet!!

  2. marc fleury Says:

    Why are you using my style of using CAPS hani??

  3. Dion Almaer Says:

    Haha nicely done.

    Oh there is plenty of crap out there my friend…. such as http://almaer.com/blog/archives/001480.html, which was released when you were feeling sentimental (http://www.bileblog.org/?p=329) for ‘Having someone get up on stage and talk about how “Java is humanity” is touching?’

    ;)

  4. Howard M. Lewis Ship Says:

    Hani,

    You’ve made some dangerous generalizations with this post. Sure, at this point, I might take some lubeless-glee in some violent personal interactions with YOU. Metaphorically speaking of course. Nudge, nudge, wink wink. But don’t take that as meaning I’m not much more caring about my actual users. That’s why I left Jesse in charge of Tapestry 4 :-)

    P.S. I wouldn’t hold my breath waiting for the reach around, either.

  5. Howard M. Lewis Ship Says:

    I love that Dion can’t even create a link to his OWN blog that works.

  6. Dr. Confused Says:

    Suni Haleiman,

    What the heck were u doing reading blog posts at 5 in the morning???

  7. Sony Mathew Says:

    Don’t expect most folks to be moving from Tapestry 4 to 5. Tapestry 3 & 4 had served us well with a few serious issues, and Tapestry 5 looks great (good thing we didn’t use any of that XML Hivemind stuff – cause its gone in 5). The next major change is most likely to higher abstraction frameworks like GWT or Lazlo (not JSF). Howard and gang should invest their energies in similar directions instead.

    p.s. I’m glad to see (with Tapestry 5) Howard is pushing:
    1) Decorators (the original) instead of Interceptors.
    2) Java based IoC binding solutions instead of verbose XML.

    Now eliminate DAO (intro’d by lousy EJB 2.0 Design Blueprint folks) for the original ‘Store’.
    and oh .. rename American Football to Handball cause Football was already taken byatches …

  8. Dhanji Says:

    Hahaha awesome post! I knew this was brewing… I am a big fan of Howard and Tapestry but you’re totally right about everything you say. Particularly screw over old users, total lack of docs and 10 magically registered artifacts to bring a page up. And what about the decision to ditch hivemind and create “Tapestry IoC” admittedly taking much from Guice — NDH anyone?

    Howard, leaving Jesse in charge of T4 is like leaving a rabid wolverine in charge of an autistic infant. Or was that an autistic wolverine in charge of a Rabbi’s infant? Oh well, this should make my point — http://www.theserverside.com/news/thread.tss?thread_id=46083 (read comments)

    Dhanji.

  9. Assfish Says:

    Hani,

    Just to give you an idea of future subject: as a big fan of IBM, why don’t you tell us something about IBM’s new offspring for data acess, JLINQ.
    I’ve read lots of postings about JLINQ, but most of them are full of shit (most of the writers don’t even know what they are talking about).

    If you haven’t encountered JLINQ so far, here something to get started:

    http://www.ibm.com/developerworks/db2/library/techarticle/dm-0708ahadian/

  10. Suni Haleiman Says:

    Dr Confused, you are pretty dumb for a doctor!
    There are other ‘countries’ on the ‘earth’ and they have different ‘time zones’!

  11. Disgruntled ex Tapestry User Says:

    With tapestries insane and arrogant lack of upgrade paths Howard manages to give megalomania a bad name.

  12. blue eyes Says:

    No, this time your the fuck, Hani.

    Howard does right in moving away from something that only causes trouble (and real loads of trouble, too). Okay, changing the logging framework is not so kind to the users, but what do you expect if you adopt a product while it is in alpha? Still, Tapestry 5 looks like a true gem. Too pity you are so obsessed with insulting people’s genitalia that you don’t have time to find out what your talking about.

    It seems to me like tapestry versions are to be considered separate products based around similar ideas. If you don’t like that, you shouldn’t use it. (For version 5 of Tapestry, I would even considered changing the name if I was Howard). Anyway, nobody expects upgrades between major versions to be painless. Hibernate, for instance, changed all the package names between two versions. People use that still, after what I hear.

  13. Zarar Siddiqi Says:

    If a tree falls in the Tapestry mailing list, does it make a noise?

  14. Zarar Siddiqi Says:

    Seriously though, there isn’t even a need for logging abstraction. It’s the most overrated bullshit ever. There’s zero difference between putting something from the org.apache.comons.logging or org.apache.log4j in your source code. I mean what are the chances of Log4J ever disappearing? I’d bank on CL dying before Log4J anyways. Also, I’m sure people are aware of the havoc Tomcat causes when CL is in the mix. It’s worse than Iraq.

  15. Assfish Says:

    Zadar,

    I fully agree with you with the logging abstraction aspect. Why do we need zillions of logging abstractions?
    The whole thing has broken out a long time ago. I’m happy with java.util.logging and I only use it.
    I really do hate libraries and frameworks which EACH require different logging facade or packages (CL, Log4j, SLF4J, …).
    Some of the libraries actually need more than one logging facade. This really sucks!
    And worst of all, it seems like new facades (over existing facades) are coming all the time. So, what’s wrong with java.util.logging
    package?

  16. Mug Boy Says:

    I have been maintaining two web app that use Tapestry 3. I have worked in a commercial environment for 10 yrs as a programmer.

    I can honestly say that, never, but never, have I ever worked with such an awful API as T3.

  17. Kent Brockman Says:

    http://arsenalist.com/2007/09/12/logging-abstraction-is-utterly-pointless/

  18. Juan Who Says:

    Tapestry is for people who haven’t heard of struts. I have a coworker who swears by it but he’s also someone who still uses JDOs.

  19. Marc Fleury Says:

    > he’s also someone who still uses JDOs.

    So because he uses the most advanced Java persistence specification around you have a problem with him ?
    OK, its fair enough to have a problem with someone who swears by Tapestry, no debate there …. most people swear at it … but stick to the facts please

  20. Ray Says:

    Howard

    The fact that youre happy leaving your project with an asshole like Jesse shows you just dont give a fuck anymore.

  21. Jesse Kuhnert Says:

    Ahh… The sweet sound of little bunnies crying out my name fills my soul with such happiness. Don’t fear me my little bunnies, I only strike out against the bad people.

  22. Shifting Sands Says:

    Here is a good explanation on why Tapestry has failed by a Tapestry enthusiast.

  23. Shifting Sands Says:

    http://jroller.com/WarnerOnstine/entry/why_hasn_t_tapestry_been

  24. Obie Bendayhoe Says:

    I’m not really much into evangelizing Ruby and Rails much nowadays other than constantly posting Ruby dribbile on a Java blog site. You know, since we won, I have to admit that it became boring and besides the point.

    However, this FUDdy discussion on the Hibernate blog got me riled up and I’m in a playful mood tonight (wink wink… call me Hani).

    Therefore, mostly for old time’s sake, here is a list of the top 10 reasons that anything (and probably everything) related to Java sucks ass in comparison to Ruby and Rails.

    Please read my post at to get all ten reasons:

    http://www.jroller.com/obie/entry/top_10_reasons_why_java

    I will go over the highlights here:

    1) Most Java Programmers are Morons

    Only people who code in Ruby or other script kiddy langauges are cool.

    This has to do with the number of people in the world that describe themselves as Java programmers and work at day jobs doing Java programming what dweebs. I work for free. All good developers, can’t get paid. We live with our moms. Boo-Yah…. Be my follower!

    What are there, like 2 million Java programmers? More? Suckers! I live with my mom. No rent. No stress. So it’s just a numbers thing, really. There just aren’t that many good programmers overall in the world — and most them wouldn’t be caught dead doing Java. They do Ruby or Eifflel or Squigi or languages that no one heard of just to make sure they don’t get paid.

    It is obvious if a lot people like something… they are dumb. It is the few chosen like myself who truly know the way. Come be my follower! I am the Ruby evangelist! Come use an unpopular web framework with no tools. Only tools use tools!

    I am the bearded lady… err bearded wonder.

    1) Java is too Fragmented

    Java has a gazillion open-source frameworks and they all suck ass. So what do Java teams do to cope? Cobble those suck-ass frameworks together into custom layered homebrews that are nothing more than exponential explosions of sheer, despicable suck-assiness.

    See with Ruby we reinvent stuff like PHP and JSP and act like we invented it. Now that is smart! Suckers!

    In stark contrast, in the Ruby world, we only have Rails. Choice is bad! You can’t trust people to choose. Be my follower and I will choose for you!

    All Rails projects are structured the same way and follow the same conventions, which is great! That’s a good thing, since it means that Rails developers can move across projects with relative ease. The other day I wrote a todo list. Then I worked on my friends todo list (in his basement till his mom kicked us out), and I came up to speed in no time flat. You can’t do that with Spring MVC or Tapestry or JSF. Frameworks that do something are hard to learn!

    Also since I don’t need a job (living in my mom’s basement), Ruby fits my lifestyle since I will never get a real job doing it. Think about it. Oh yeah!

    Ruby *is* slow, compared to Java. And we like it that way. Gives our users think time! You have to be user centric! It is the XP, Agile, Super Agile, Super duper agile language way!

    Java has great and powerful debugging (which is very necessary since most Java code sucks so much ass). Ruby has ridiculously pitiful debugging support, which means if you make a mistake configuring by convention like your code does not match the convention but you think it does… YOUR FUCKED! Follow the conventions or die baby… We don’t need no stinking pansy ass debuggers!

    1) Java Makes a Lot of Money for Vendors

    This is potentially the most subtle of all of the reasons on the list. With Ruby, you are guranteed to unemployeable and you will never have a viable company. Java developers are capitalistic fools! Open source baby!

    Basically, the integrity of most anything having to do with Java is corrupted by the way that it is inextricably linked to a web of intrigue involving money, big vendors and bullshit enterprise politics and pandering. No money for Ruby folks! Money is the root all evil baby! Come be my follower! I am the Ruby evangelist! Ruby doesn’t make major money for anyone except Pragmatic Dave. (I just mentioned Dave so no one will think I am an ass who posts Ruby crap on a Java blog site).

    Come by my mom’s house and kiss my Ruby ring! I am the Ruby pontificate baby! Be my follower before the Ruby inquisition comes baby!

    Obie

  25. Eelco Hillenius Says:

    Obie, maybe when you grow up you might be able to write something that is actually funny.

  26. Zarar Siddiqi Says:

    This Obie guy is a real idiot, pure trash he writes:

    > Everyone knows that the best programmers use Vim and Emacs. If you need to use an IDE then you suck, period.

  27. ClassNotFoundException Says:

    Well, Howards started when there was NOTHING available for proper web-programming in Java. It took 100 times longer to start a simple website
    from scratch comapred to PHP and was free in contrast to WebObjects. So if you know it better, why don’t you start your own webframework?

  28. Haha Says:

    The truth hurts, don’t it?

  29. 59 23 * * 0 flush » One, Very Special Gem Says:

    [...] seems to have provoked devoted readers to express some seriously ill-mannered comments(err, and here, here, and here; the ruthless bastards). Initially I thought the man had a point: commons-logging [...]

  30. jack sparrow Says:

    anyone know where this guy is? Is he still alive?
    Or did one of his subjects finally catch up with him in some dark alley behind a house of ill repute and put two in his ……. head??

  31. jager Says:

    3 months without a single bile, whow!

  32. e.e.coli Says:

    First!

  33. Rob Says:

    Howard has apparently abducted Hani and is sodomizing him repeatedly for his sins.

  34. Jon Says:

    Hey Hani

    Your position as bile king is being overtaken by Zed. http://www.zedshaw.com/rants/rails_is_a_ghetto.html

    Post some new bile so we know you’re alive!

  35. Zarar Says:

    Get off your lazy ass you hairy cunt and make a fucking post.

  36. Ivan Says:

    It’s been months since I’ve been here and there hasn’t been a single update. Grrrrrr.

  37. gib Says:

    Where the heck is Suni Haleiman???!!!

  38. Hani Suleiman Says:

    I died yesterday due to excessive masturbation….
    Hani Suleiman

  39. Suni Haleiman Says:

    I am here, I am here.. just went to the country side with Hani.. donned our cowboy suits.. bit of anal sex, nothing exciting.

  40. Zed Shaw Says:

    I humbly prostrate myself before the God and Creator of this genre of vile ranting. From you issues forth, as inexorable as Fate, the most prophetic and satirical criticism of our age; its decay, its beautification of the fool, its sheep-minded moron herd who even now ape your creative genius, or its pathetic attempts at imagination even here at the dark nexus of your soul’s least profound deliberations, are all equally and clinically dissected by your divinely-inspired, foul forked tongue. And so I cannot hope to be parallel to a god such as yourself — the most prolific neologist of vitriol of our epoch, never seen before, never to be seen again — for I could never even hope to find the eloquence to call to heel that same miscreant, diseased, festering, self-consuming Muse who inspires you.

    My cuntflags are raped by the mere thought of your juicy gibberings,
    Zed “Just A Malcontent” Shaw

  41. Zed 'Fucking' Shaw Says:

    Well, whoever wrote that comment wasn’t Zed Shaw. I don’t capitalize god since he’s just a myth. The word “cuntflags” doesn’t make much sense really. And whoever wrote this reads too much of the “The New Yorker” and doesn’t get that my style is more like:

    I could write a rant that’d make god suck the shit out of satan’s burning anus before passing it out his blood and mucus filled nostrils onto jesus’ cock for mary to blow.

    See, now *that’s* entertainment.

    The Real Zed

  42. are you french? Says:

    ok, ok, i bought ur book, so now come back and keep making me smarter 4 free.

  43. whos zed cghod anyway? Says:

    comment

  44. crillhill Says:

    What a waste of a domain name — years without one and good reading, but now updates stopped since September — does that count as cybersquatting?

  45. Zed's Dead Says:

    Shaw that is

  46. Hani's the Gimp Says:

    When you gonna git another blog up here?

  47. Hani Suleiman Says:

    Sorry Guys….my head is deep in my ass…I can’t take it out……that is the reason why you are not seeing any biles..

  48. crillhill Says:

    “Sorry Guys….my head is deep in my ass…I can’t take it out……that is the reason why you are not seeing any biles..”

    Did that stop you before?

  49. Darryl Says:

    Jordanian Airlines are short of pilots and making him work double-shifts.

  50. Anonymous Brave Says:

    Did Hani choke during a hot buffet session?

  51. Suni Haleiman Says:

    I didn’t choke and I didn’t join the Jordanian Airlines. I am in prison for beating up Fleury. The food here is good, but is not ASS fun as outside.

  52. Godi Says:

    I just wonder why about 6 months after this post has been made nobody has called you on your incompetence and your bluff yet? I’m sorry, I like a good rant, but this sure isn’t one of them. I personally don’t care for Tapestry one single bit, checked it out, didn’t suit my needs, moved on, so I’m surely no fanboy. But your remark about SLF4J (which is the only thing verifiable) is just so plain out of order, it really kinda pathetic. If I was more badly mannered I would say, RTFA!, RTFD! Lucky for you, I am not going to.

    SLF4J is a drop-in replacement for commons-logging, so you won’t have to CHANGE EVERY SINGLE FUCKING SOURCE FILE YOU HAVE, there is only ONE, ONE, ONE line that needs to be changed, it is called your classpath, remember what that is (just checking since you are so far out)?

    Being bold only get’s you so far (wonder why Obie is here, every body needs a hero, right Obie :) , but please at least base your posts on a firm, maybe even knowledgeable (out-do yourself) basis, it just might give you some credibility.

    PS Don’t bother responding, I won’t be checking back.

  53. Fuck Off Says:

    Need… More… Bileblog.

  54. Arsenalist Says:

    You just know Godi checks this post every few minutes to see if someone responded to his little rant….

  55. Crack Addict Says:

    For fucks sake, post something !!!!

  56. WillYouForFucksSakePostSomething Says:

    Hani Hani Hani
    Hani Hani Hani
    Hani Hani Hani

    ForFucksSakeWillYouForFucksSakePleaseFuckingPostSomeFuckingThingYouFucker

  57. Suni Haleiman Says:

    I ain’t posting shit. I wait to see how long it takes for the comments to reach 1000.

  58. Dude Says:

    you asked for it – here’s #8560

    bite me.

  59. Suni Haleiman Says:

    The last post wasn’t by the real Suni Haleiman. I don’t have a discernible style but I’m the real shit. F***off, fake Suni.

  60. God Says:

    Hani, you bastard. Where you are? You should be here right now spanking the fellows from slf4j. Why in fucking hell that piece of junk? why in fucking hell such a stupidity exists? Why in hell people use things like that?

  61. Hani the Suli Says:

    Hani the Suli says: I am walking around naked to make people think out of the box…

  62. VB Says:

    FIRST!

    (Sorry, I miss reading these stupid posts…)

  63. Suni Haleiman Says:

    LAST!

  64. Ray Magini Says:

    LASTER !1!!

  65. Anonymous Hani Says:

    Folks, Hani is abiding by the motto of this site : “If you have nothing bad to say, say nothing”

    Yes, marriage bliss has made all the poo poo in Java land sweet nectar to Hani

  66. Hannibal Says:

    Hani, This is the last warning …write a f**cking bile or your name will be entered for this year’s US presidential race…

  67. Suni Haleiman Says:

    Last warning Fake Suni! Stop using my name, or I will make you eat your own Hot Karl.

  68. Joe Schmoe Says:

    Hey Fate – You’re right about this Tapestry. It’s a mess.

  69. Suni Haleiman Says:

    The party’s over fellows. I ain’t posting any more bile here. I am in my late 60′s so I need to start doing something useful with my life.

  70. Larry Marshall Says:

    I’m saddened to let everyone on this blog know that Hani died last month when his car rolled over. Please send your condolences to formicary.net’s european or us offices. Your messages will be forwarded to his family.

    Regards,

    Larry

  71. Suni Haleiman Says:

    That’s real sad news. Can anyone else verify? Can’t find anything on the web.

  72. Hani Fan Says:

    I am sure Hani would have wanted us to speculate on if he shit himself at the moment of death. So, did he?

  73. BileBlogHater Says:

    Hani, get a life! This is a terrible post! What up?

    How about posting some real bile?

  74. Umanga Says:

    Is this the dumb-ass that talked shit about Axis2 ??? Seems this guys is mentally retarded.

  75. Blog do Márcio d’Ávila » Boas blogadas Java e afins Says:

    [...] pelo contundente Howard Lewis, vem se mostrando cada vez mais sólida e madura, buscando superar algum criticismo contra as mudanças profundas e quebras de compatibilidade retroativa introduzidas na evolução [...]

  76. tony Says:

    ROTFLMAO
    good flame and having to use tapestry on my current project means i REALLY enjoyed this article….
    if you are going to rewrite the world…then get it right…that is why C++ suck and java rocks after all…

Leave a Reply