| By Yakov Fain | Article Rating: |
|
| August 9, 2006 06:45 AM EDT | Reads: |
14,319 |
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. Ask your more experienced colleague for help, and s/he'll tell you: RTFM. This means that may be it's about time to open up a book and do some reading. We live in times of open source software, and this acronym gets outdated as there is no manual to read in many cases. That's why I came up with a new acronym: WTFM, which is Where's The Freaking Manual, or something like this. You should use it daily after spending hours trying to figure out how this freaking thing works and why it gives you this meaningless error message.People who develop open source products do not write manuals for one of three reasons:
1. They believe that writing a geeky code is the right thing to do, and writing manuals sucks. Real programmers should be able to figure out how your creation works by using widely available dissasemblers.
2. They do not provide manuals on purpose: since you need this poorly documented software badly, you have no choice but hiring creators of this product as consultants. They can't sell licenses, but can sell services.
3. They have no idea of how to properly market their software.
For example, there is a popular open source JMS transport called Active MQ. I decided to use it from a Web application running under Tomcat. I'm wondering if Active MQ crew have heard of Tomcat? Do you have to have a PhD to figure out that the chances are that Tomcat programmers will try to use it? I've contacted some people from Active MQ and they said that writing about integration with Tomcat is in their plans. I went even one step further and offered them to publish an article on this subject. This did not get them too exited, so I'll consider another MOM provider instead. They just lost at least one customer.
Last year I went for training on some J2EE related software. The instructor Joe declared from the very beginning: "Welcome to imaginary Joe's Enterprise". Whe I tried to ask Joe some advice on best practices, he kept saying that we live in the imaginary Joe's world and he did not encounter these issues just yet. WTFBPM? BTW, it stands for Where's The Freaking Best Practices Manual?
But sometimes you see exceptions from the WTFM rule. At JavaOne 2006 I've attended the presentation by the creator of Maven, which is a build tool and a bit more. The presenter was wearing a shirt and a wool sweater on top and shorts and bare foot beach sandals below. I've heard about the California attitude before, but this was a bit too much for a conference presenter. I thought to myself, "This guy does not respect the audience, so he can't possibly create any good software". Sure enough, last week I had to learn Maven because my client uses it. I was very pleasantly surprised when I found not only a manual, but a free e-book on Maven 2. The software makes sense, and the book makes a difference.
So if you are about to release a new open source software, I have just one question for you: WTFM?
Published August 9, 2006 Reads 14,319
Copyright © 2006 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Managing Director of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Currently Yakov works on the book for O'Reilly "Enterprise Application Development with Flex". He twits at twitter.com/yfain.
![]() |
James Strachan 08/14/06 03:43:36 AM EDT | |||
So Yakov if you genuinely want to work with any open source projects here's some advice. * don't bitch on TSS or other publications about the project - try actually mailing the project user lists to ask questions or request feedback. The more you bitch the less likely you'll get help as we are all volunteers. * posting on TSS or mailing one individual involved with the project != communicating with the community behind a project. I repeat - you have never ever sent a single email to the ActiveMQ mailing lists or used the ActiveMQ support discussion forum to discuss any of your issues * take a look at the user lists (http://www.nabble.com/ActiveMQ---User-f2356.html). See all those people talking openly with the developer community and getting prompt help and feedback? Thats how you work with open source projects - not bitching on TSS. * ActiveMQ has had a wiki page on Tomcat integration for several years now http://incubator.apache.org/activemq/tomcat.html notice how the bottom of the page there is an 'edit' button. This allows you to edit that document if you feel you have anything you'd like to contribute to the project. |
||||
![]() |
Yakov Fain 08/13/06 07:55:31 AM EDT | |||
To James Besides, I've been corresponding with another ActiveMQ person offering help in publication. >so to claim the ActiveMQ crew were not excited about any contribution is a little bizarre. To Andrew: |
||||
![]() |
James Strachan 08/10/06 08:53:51 AM EDT | |||
Yakov I don't see a single email from you ever on the ActiveMQ development or user mailing lists nor a single post to the online discussion forum... http://www.nabble.com/ActiveMQ-f2354.html so to claim the ActiveMQ crew were not excited about any contribution is a little bizarre. The website clearly describes how open we are for contributions - and if you watched any of the discussions on the project you'd see how keen we are as a community to encourage participation in any form http://incubator.apache.org/activemq/contributing.html Maybe next time you could try to actually get involved with the community behind the project - who knows if you asked a question folks could have solved your problem for you or explained how you can add to the documentation - which is all stored in a wiki so anyone in the community can contribute. |
||||
![]() |
Andrew 08/09/06 12:28:28 PM EDT | |||
Yakov, I'm sorry, but you sounded like a frustrated child at times in this article. First, why do you put out an assumption that, 'if you are an open source, you tend not to write the docs.' Better phrased 'if you are a crappy open source'. It's the same statement as 'J2EE != EJB', don't make too much of an assumption. Next, you approached the ActiveMQ guys and asked for a specific document. Most of them are volunteers, and reply you got was expected, though one should always try to. At the same time I wonder how you would have approached IBM with something like 'how do I run MQ with system XYZ'? I doubt you would ever get a more decent reply than whatever you've got already. Of course, you can pay for what you need, but then, why didn't you offer money to an open source project in the first place? So, my point is 'do not assume open source is crap', though sadly it's often the case. Remember there are very different project under OSI licenses. |
||||
![]() |
news desk 08/09/06 07:09:23 AM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
![]() |
SYS-CON Australia News Desk 08/08/06 09:17:01 AM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
![]() |
JDJ News Desk 08/08/06 08:43:16 AM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
![]() |
JDJ News Desk 08/08/06 08:43:06 AM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
![]() |
Pedro Furlanetto 08/07/06 06:31:35 PM EDT | |||
WTFM could be Web the Freaking Manual! (politely) |
||||
![]() |
Dale 08/07/06 06:09:10 PM EDT | |||
Thanks for finally telling it like it is! When I began to use Java I did not even know where to begin in the FM. I think the RTFM response really means either just what you said, there is no FM, or the person on the RTFM spewing side has no business answering questions on a blog if that is all they have time to respond with. I suspect they have not read the FM on how to be polite and help the Java community grow and not push future programmers away with such an arrogant response. |
||||
![]() |
SYS-CON Italy News Desk 08/07/06 06:08:35 PM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
![]() |
AJAXWorld News Desk 08/07/06 05:27:21 PM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
![]() |
SYS-CON Belgium News Desk 08/07/06 04:52:56 PM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
![]() |
SYS-CON Australia News Desk 08/07/06 03:00:41 PM EDT | |||
If you know what RTFM means, you should be able to guess what WTFM stands for. If you don't, here's the polite version: Read The Freaking Manual. RTFM is a part of programmers' jargon. For example, you're trying to figure out how to write something in Java. You tried everything you knew, but it wouldn't produce the expected result anyway. |
||||
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?









































