Home
Why be a Veggie?
Archive
Books
whoami?
writings
Email the
Author
|
|
Here's one common problem that most of us face in *using* the Internet:
Scenario: Moby Sanders (a.k.a Motupalli Sudarsanam) is feverishly working on
an R&D project. He works with a company called Santanam Software Pvt. Ltd.
(a fully-owned subsidiary of Santanam Inc., a U.S. based multi national. ) His
aim is to find out the best technologies for EAI and his management has asked
him to figure it out. He has a week time to come up with a presentation on what
are all the existing technologies (products/frameworks/application-servers with
built-in support/SOAP/EAI.. you get the picture). He has about three more weeks
to come up with a final document and some prototypes which can be demonstrated
to potential clients.
Like most others, he start with his unpaid consultant: Google. He does a
search for "EAI products". It results in some links to Sun's
website, IBM's site and some other names which he's never heard of. He starts
MTTP Tunneling. (In case that's a new term to you, it means: Mental Theme Transfer
Protocol and tunneling is the process of getting the stuff from the external
world into one's mind using various methods like reading/listening to tapes
etc.)
It is almost four days from the start and moby is still searching. He's about
two hundred different PDFs downloaded, half-a-dozen hundred HTML documents he's
browsed through (he's even saved some of them for future reference in his
R&D folder)! He attempted making a couple of diagrams to visualize different
scenarios, but he could never get beyond the first block which said O/S layer.
Its the fifth day, he's two more days (weekend) to go to complete his first
presentation. Tony (Taaniah), who is a colleague and a very good friend of
Moby's comes by and says to Moby:
"Moby! Watz wrong man? You look so dull and dreary?"
Moby: "Darn this R&D! Darn my life!! Why on earth did I ever make
this choice of attempting something as stupid as googling a subject that I never
ever heard of before!!"
Then Moby goes ahead and explain the problem. Tony gives a knowing smile and
says: "Relax friend! Don't lose your confidence. I'll tell you an easy but
a very effective way out of your problem. This is a proven way, which lot of
people have used and trusted, but which has been forgotten by some of us. In
fact, you already know the solution." Moby gives a look of distrust. Tony
then says: "Get ready for the solution. Let's go!"
So saying, Tony takes Moby to a book store: "Anna Enterprises, WE SELL
ALL KINDS OF COMPUTERS/BIO-TECH/PHARMACY BOOKS AT 20% DISCOUNT". Tony asks
the sales boy:" What books do you have on EAI?" The boy answers:
"Enterprise Application Integration with J2EE", ".NET and EAI",
"EAI - concepts and methodologies". Moby realizes that he needs two of
them, buys them, goes home and reads them over the weekend and is ready with the
presentation on the day he's supposed to deliver it!"
MORAL OF THE STORY: If you're inundated with excessive information from the
web, go buy yourself a book. :)
This is another of those stories starring (*ing) a
software engineer and a stack trace:
Once upon a time, in a holy land called as Bharatha
Varsha, there lived a man called softy. He was
interested in working with soft stuff (no
naughty ideas there!). He believed that Latte and
Java was the best combination that God had ever
created. And so he lived his life brewing Java and
adding syntactic sugar to it. It so happened one day
that this bright engineer of ours, was doing UI. He
knew that he was in the learning phase of doing these
bright looking pages. He also knew that ultimately
these pages get converted into the syntax he knew
like the back of his hand. But, on that
unfortunate day, the series of events seem to prove
otherwise.
He started with a fresh brew in his hand and fired
up the morphed 'eclipse' platform, aptly
named w-SAD! He never knew that the 'w' was just
that, a pre-pendix! Confidently, he opened up his
revision control system, star team. His confidence
stemmed from the fact that he'd completed the whole
page the day before and all he had to do was to
run it once with the new check-ins in place. It was
just a feel good factor, or so he thought.
The unholy moment arrived when he got the server
running, did a right-click on the JSP page,
selected run-on-server and clicked it. He sat back,
relaxed, sipped some coffee, smiling and thinking
about the "Joel On Software" articles he was going
to read that day with all the time he'd saved by
coding the page before schedule. And then lightning
stuck! The page refused to compile. He tried
his usual tricks of compiling the generated servlet
and what not, but nothing seem to happen.. he
tried..tried..tried..triiiiiiiiiieddd and ... tired!
This happened for almost two days, the next day
spent in giving up and coding something else and
being pulled this way that way by some incomprehensible
metrics and some numbers, he din't seem to understand.
The next day night, he was gone for two hours, and came
back and he found out the problem in no time! That problem
which he couldn't solve was visible right before his
eyes in a moment. This was a moment of satori, when he
realized for the umpteenth time that. "Latte and Java was
the best combination that God had ever created." and that
sugar was something that he knew like the back of his...
What had changed? Some say, he just said to himself
that, "Its gonna be easy today. I'm gonna figure
out problems with ease". Some say, he visited a
library that two hours and thats the reason for his new
found knowledge which solved the problems. His
colleagues contradicted saying that all the books
he reads are electronic...
Here's the holy stack:
[02.07.01 20:34:13:233 GMT+05:30] 1b2c760a WebGroup X Servlet Error: Unresolved compilation problem: Syntax error on token "g",
"interface","class" expected
: java.lang.Exception: Unresolved compilation
problem: Syntax error on token "g", "interface", "class"
expected
at
auth.ApprovalForm1_jsp_0._jspService(ApprovalForm1.jsp
:496)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJsp
Base.java:139)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.runtime.JspServlet$JspServletWrapper.
service(JspServlet.java:286)
at
org.apache.jasper.runtime.JspServlet.serviceJspFile(
JspServlet.java:415)
at
org.apache.jasper.runtime.JspServlet.service(JspServlet
.java:544)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.ibm.servlet.engine.webapp.StrictServletInstance.
doService(ServletManager.java:827)
at
com.ibm.servlet.engine.webapp.StrictLifecycleServlet
._service(StrictLifecycleServlet.java:159)
at
com.ibm.servlet.engine.webapp.IdleServletState.service
(StrictLifecycleServlet.java:286)
at
com.ibm.servlet.engine.webapp.StrictLifecycleServlet.
service(StrictLifecycleServlet.java:106)
at
com.ibm.servlet.engine.webapp.ServletInstance.service
(ServletManager.java:472)
at
com.ibm.servlet.engine.webapp.ValidServletReferenceSt
ate.dispatch(ServletManager.java:1012)
at
com.ibm.servlet.engine.webapp.ServletInstanceReference.
dispatch(ServletManager.java:913)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.
handleWebAppDispatch(WebAppRequestDispatcher .java:499)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher
.dispatch(WebAppRequestDispatcher.java:278)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.
forward(WebAppRequestDispatcher.java:105)
at
com.ibm.servlet.engine.srt.WebAppInvoker.doForward(
WebAppInvoker.java:67)
at
com.ibm.servlet.engine.srt.WebAppInvoker.handle
InvocationHook(WebAppInvoker.java:123)
at
com.ibm.servlet.engine.invocation.CachedInvocation.
handleInvocation(CachedInvocation.java:67)
at
com.ibm.servlet.engine.srp.ServletRequestProcessor.
dispatchByURI(ServletRequestProcessor.java:122)
at
com.ibm.servlet.engine.oselistener.OSEListenerDispatcher
.service(OSEListener.java:315)
at
com.ibm.servlet.engine.http11.HttpConnection.handle Request (HttpConnection.java:60)
at
com.ibm.ws.http.HttpConnection.readAndHandleRequest
(HttpConnection.java:313)
at
com.ibm.ws.http.HttpConnection.run( HttpConnection.java:242)
at
com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)
|