Experiences (Reloaded) 2007-02-02T20:01:28Z A space to share my experiences, ideas and thoughts... tag:blogs.armondavanes.com,2007:/experiences/1 Movable Type Copyright (c) 2007, armond FW: Resume Driven Development (RDD) 2007-02-02T20:01:28Z 2007-01-23T11:38:02+03:30 tag:blogs.armondavanes.com,2007:/experiences/1.31 2007-01-23T08:08:02Z Great post about Resume Driven Development going on at many software firms nowadays! Definitely recommended...... armond http://www.armondavanes.com Armond555@yahoo.com IT Related Great post about Resume Driven Development going on at many software firms nowadays! Definitely recommended...

]]>
SiteMesh to decorate any web site? 2006-12-25T20:09:16Z 2006-11-30T13:54:33+03:30 tag:blogs.armondavanes.com,2006:/experiences/1.30 2006-11-30T10:24:33Z Okay, according to the project explanations here, it is definitely possible to decorate any web site backed by any server side technology (assuming the server has J2EE support too) using SiteMesh. Anyone reading those explanations for the first time may think of an off-the-shelf support, like you drop SiteMesh jar and your web.xml and it works! But how much is this true in real world especially when you want to apply such solution on a living website which is already in production not just a test "localhost" site? Don't get me wrong... SiteMesh itself is a great framework and I've... armond http://www.armondavanes.com Armond555@yahoo.com Java Okay, according to the project explanations here, it is definitely possible to decorate any web site backed by any server side technology (assuming the server has J2EE support too) using SiteMesh. Anyone reading those explanations for the first time may think of an off-the-shelf support, like you drop SiteMesh jar and your web.xml and it works! But how much is this true in real world especially when you want to apply such solution on a living website which is already in production not just a test "localhost" site? Don't get me wrong... SiteMesh itself is a great framework and I've promoted it everywhere I've started a new project but it's not that easy to apply this framework on other non-java server side technologies. Here is my story:

A few weeks ago, I moved my personal domain to a new hosting which supports J2EE too (from my previous PHP-only one). It had been a mess to maintain the look&feel of my site in a mix of static HTML and PHP environment, so I decided to do such decorations using SiteMesh. The framework I've used in every single J2EE web application I've developed in the recent years, but never got the chance to use it on my own site because of the lack of J2EE support.

Extracting the current look&feel of my site, designing a new navigation system and setting up SiteMesh to decorate my static HTML pages was just a matter of few hours of work. Very easy, straight forward and rock solid.

But as for my PHP pages I was a bit in trouble! The site was going to be backed by Apache2 for non-java stuff (as the master server) and Apache Tomcat for my j2ee applications (as slave), and the connection between these two was via JK_Module. Obviously Apache2 was serving the static contents (like images, CSS files and so) and PHP files. The rest were forwarded to Tomcat.
The first problem was here!! Tomcat (thus SiteMesh) didn't even get the PHP requests because Apache2 was directly catching the requests and serving them without forwarding. The result was that the PHP pages were not getting decorated although SiteMesh was present there and I've set its apply pattern on "/*" :-) Ok! It just took me an email to hosting support and they were kind enough to quickly modify the configuration files so that even *.php requests get forwarded to Tomcat (for my domain only) and Apache2 no more was in charge of processing them.
But wait, the second problem! Does Tomcat have any built-in PHP processing support? NO! So how's it going to do this? Well, poking around a bit (obviously googling), I found out that there is a pre-bundled Servlet with PHP Distributions which makes *.php request processing possible. It's actually a proxy Servlet which you map *.php requests on it, and it processes them using the command line PHP interpreter. So far so good! Again I contacted the support to make PhpServlet jar file available in Tomcat's common/lib folder. It was done within some minutes and in the meanwhile I'd modified my web.xml to include PhpServlet configuration block.
After a couple of hours of debugging because of an output flushing issue (that caused SiteMesh not to get the input from PhpServlet when the volume of input was not hitting the minimum threshold to be flushed), the server was ready to serve and to decorate the PHP files. Yes, finally got it working and started to give it a more thorough test.
Hey wait! Why does my site go completely down after each time I try to access an invalid/unavailable PHP page? Oops! Seems that Tomcat crashes when it gets a "404 Page Not Found" error from PhpServlet. Googling again showed me that this is a common problem and many have reported this issue but there is still no solution. Well, end of the story :-) Fortunately my PHP codes were not a lot or complicated, and I could easily translate them into JSP and you know the rest.

Just three final thoughts which I found them the real hurdles:

  • Suppose that PhpServlet works just fine or I could come up with another solution to tackle this and PHPs are correctly decorated and served from my site... What if I want to decorate an ASP.Net or a Cold Fusion site in future? Are there plugins/wrappers available for any kind of server side technology to be served within my J2EE application server? Obviously not!
  • Even if I find a wrapper for my server-side technology, is it stable enough to be used in production mode? Because such solutions are usually used on sites which are already alive and in production mode but you just want to apply a decoration layer without changing the underlying technology. Is it worth to have a decorated-with-SiteMesh site in price of losing stability because of an unstable Servlet wrapper?
  • Since many of us are using shared hosting environments, sometimes it's impossible to make any changes in your hosting configurations to forward the needed requests to your J2EE server! Or even worse to make the J2EE server as the master one to capture all the requests. Simply not possible with many hostings.

Armond

]]>
FW: A Collection of JVM Options 2005-02-16T04:20:13Z 2004-11-17T09:11:32+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.29 2004-11-17T05:41:32Z A perfect set of JVM options on SPARC/Solaris platform but not all of them are platform specific. Very handy... Well, actually dropping it here for my later reference ;-) Armond... armond http://www.armondavanes.com Armond555@yahoo.com Java A perfect set of JVM options on SPARC/Solaris platform but not all of them are platform specific. Very handy...

Well, actually dropping it here for my later reference ;-)

Armond

]]>
100% tested code? 2005-02-16T04:19:51Z 2004-10-07T18:34:43+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.28 2004-10-07T15:04:43Z It was just a few days ago I was talking to some guys on how to setup their development environment, how to apply some good development practices, setting up the build system, automation and so... Our focus was on testing and mostly TDD then the next day I came into this crazy idea on Aslak's blog and a tool called Guantanamo. The idea is to remove any untested code on building process. The tool can be exposed as ANT task to do the job! Frankly, all I've ever used, have been reporting tools such as Clover to give me an... armond http://www.armondavanes.com Armond555@yahoo.com Java It was just a few days ago I was talking to some guys on how to setup their development environment, how to apply some good development practices, setting up the build system, automation and so... Our focus was on testing and mostly TDD then the next day I came into this crazy idea on Aslak's blog and a tool called Guantanamo.
The idea is to remove any untested code on building process. The tool can be exposed as ANT task to do the job! Frankly, all I've ever used, have been reporting tools such as Clover to give me an estimation on where I'm going, and they didn't touch my code because of untestablity! Really don't know how I would feel if I miss 20% (or any X percent) of my code in the software bundle becasue I've been lazy to not go for full test coverage? :D But after all, I like the idea!
How do you see this?

Armond

]]>
X [Design] Patterns 2005-02-16T04:18:59Z 2004-08-04T10:58:11+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.27 2004-08-04T07:28:11Z Well, seems that the X [Design] Pattern subjects are hot these days and more and more of such stuffs coming into scene... It was just a while ago when I got into Dating Design Patterns book but I'd simply forgotten it (as usual!) till now that I read this blog entry. Anyways, it's another set of patterns but this time, they're for dating ;-) Perhaps so useful for many of IT geeks who understand the patterns language the best! Have Happy Datings! Armond... armond http://www.armondavanes.com Armond555@yahoo.com IT Related Well, seems that the X [Design] Pattern subjects are hot these days and more and more of such stuffs coming into scene... It was just a while ago when I got into Dating Design Patterns book but I'd simply forgotten it (as usual!) till now that I read this blog entry.
Anyways, it's another set of patterns but this time, they're for dating ;-) Perhaps so useful for many of IT geeks who understand the patterns language the best!

Have Happy Datings!

Armond

]]>
FW: Resign Patterns 2005-02-16T04:18:25Z 2004-07-25T14:54:09+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.26 2004-07-25T11:24:09Z Great set of Resign Patterns, Ailments of Unsuitable Project-Disoriented Software, by Michael Duell. Real competitor to GOF Design Patterns ;-) Lots of fun there! Take a look if you're a strict fan of the patterns! Armond... armond http://www.armondavanes.com Armond555@yahoo.com IT Related Great set of Resign Patterns, Ailments of Unsuitable Project-Disoriented Software, by Michael Duell. Real competitor to GOF Design Patterns ;-) Lots of fun there! Take a look if you're a strict fan of the patterns!

Armond

]]>
BMW & iPod integration... What a class! 2005-02-16T04:17:51Z 2004-06-23T14:11:55+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.25 2004-06-23T10:41:55Z armond http://www.armondavanes.com Armond555@yahoo.com IT Related Seems that portable micro devices are getting integrated more and more each day into our everyday's life! That's the way to take the most advantage... Well, reading BetaNews when I got into BMW & iPod integration
Nice and cool integration! I wish I had a BMW ;-) Although it's not the most perfect and the best integration but defeinitely a great start for car manufacturers to consider these kinds of stuffs. It can open a vast amount of cool and crazy ideas.

Call me crazy but I would like to see Jini handled these things all without much trouble! When can we see the first JVMs in our cars, home electronical devices? And all communicating, discovering and knowing each other with no pain, no wiring or so? Ah, writing a few lines of java code to program my own car will be really interesting ;-) A little science fiction but we'll see them in real use pretty soon...

Armond

]]>
Which digital photo format? 2005-02-16T04:17:15Z 2004-06-13T10:10:03+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.24 2004-06-13T06:40:03Z Photography has been my new love recently and a great hobby for me since I've got my Canon G3! As many of you there I'm also learning about the techniques both on digital concepts and pure photography, and really enjoy following the discussions. Bob Atkins has put a very good article on Photo.net about the common file formats the digital cameras support and how they differ. Yes, RAW, JPG and TIFF are three of the main players these days on digital photography world, but you should know which one is suitable in any time. Nice responses from people, even you'll... armond http://www.armondavanes.com Armond555@yahoo.com Photography Photography has been my new love recently and a great hobby for me since I've got my Canon G3! As many of you there I'm also learning about the techniques both on digital concepts and pure photography, and really enjoy following the discussions. Bob Atkins has put a very good article on Photo.net about the common file formats the digital cameras support and how they differ.
Yes, RAW, JPG and TIFF are three of the main players these days on digital photography world, but you should know which one is suitable in any time. Nice responses from people, even you'll learn a lot more than what the article itself gives you :-)

Just wishing some day in near future we can see JPG2000 format support on the cameras which will be a huge improvement.

Armond

]]>
From java history! The old days ;-) 2005-02-16T04:16:22Z 2004-06-12T15:37:03+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.23 2004-06-12T12:07:03Z Just thought it may be interesting for you to see how java.sun.com site looked like in the old days of java, even when there was no such technology announced. I was surfing the net while I got into this page from Martin Hardee :-) It's amazing when you compare the first (March '95) and last (Dec '03) screenshots. Lots of changes but I'm not sure they couldn't get into this point little sooner! Armond... armond http://www.armondavanes.com Armond555@yahoo.com Java Just thought it may be interesting for you to see how java.sun.com site looked like in the old days of java, even when there was no such technology announced. I was surfing the net while I got into this page from Martin Hardee :-) It's amazing when you compare the first (March '95) and last (Dec '03) screenshots. Lots of changes but I'm not sure they couldn't get into this point little sooner!

Armond

]]>
Job Interview Quality 2005-02-16T04:15:37Z 2004-05-23T14:20:28+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.22 2004-05-23T10:50:28Z Surfing among my RSS feeds when I got into Daniel's posting ("More on Job Hunting") and the pretty nice thread with all different but great opinions, he'd mentioned on his blog. Here is what I believe and experienced in my life. Please note that these are all about hiring a developer and so, neither a consultant nor designer or so, as their interview types differs a lot from view... I've never been directly in charge of hiring nor owned a company or so, but in many cases, I've been asked for doing the technical interviews. So to me, as an... armond http://www.armondavanes.com Armond555@yahoo.com Java Surfing among my RSS feeds when I got into Daniel's posting ("More on Job Hunting") and the pretty nice thread with all different but great opinions, he'd mentioned on his blog.

Here is what I believe and experienced in my life. Please note that these are all about hiring a developer and so, neither a consultant nor designer or so, as their interview types differs a lot from view...
I've never been directly in charge of hiring nor owned a company or so, but in many cases, I've been asked for doing the technical interviews. So to me, as an interviewer, it's really important to perform the same way which I would like to see when I'm in interviewee position. While having some basic questions about some general stuffs can help the both sides to know more about each other, I'm not much for non-technical ridiculous questions while going for technical interview! Going to some technical information exchanges fit the best for me and I really love them. In this way I can really expose my experiences and see what other side has to say, and perhaps learn a bit from him/her both on interviewee and interviewer cases (yes! why not?).
It's really boring for me to sit there for hours to fill the interview forms (specially those nastily copied from the Certified exam sheets) and answer many dumb non-technical questions in a-question-from-them-an-answer-from-me kind!! Hey man! It's technical interview... Start hitting me with real world practical cases and questions. See what I have in my resume and check their validities by some technical discussions.

Someone at the above thread had said that he'd been asked for the differences between SAX and DOM parsers and so... It's just reminding me of an interview I'd gone for many years ago as a java developer (not so much separated editions then). You just can not believe the question types they asked me (yes! four technical guys there to interview me). All pure academical questions which none of them matched any of their working acreas. Can you beleive that they were asking me mathematical questions? Ranging from the grade I'd scored in "Differential Equations" course in university to what particular sections a compiler has (name and describe them) to what an automata (from "Theory Of Languages" course) is and how it's being used!!
I was just like "eh?! Are they going to hire me as mathematical engineer to do their Mars Lander programming/calulations or I'm gonna do some pure java stuffs and so?"

Much more to say in this regard but not quite enough time... I would be glad to hear your thoughts.

Armond

]]>
Java Desktop again on the track? 2005-02-16T04:14:42Z 2004-05-09T11:57:36+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.21 2004-05-09T08:27:36Z armond http://www.armondavanes.com Armond555@yahoo.com Java Really excited to see the bunch of contributions, improvements and enhancements to client side java listed on JavaDesktop (from all community, developer and end-user point of views). A whole lots of new components which J2SE was really missing them, perfect, professional and sexy Look&Feels and much more turned me ON easily, after a while being far from hard-core GUI development!

Will java be back on desktops? I've always been a GUI development fan and I'm very hopeful now by seeing all those sexy stuffs ;-) Hey! I've really missed the old days developing client side!

Moreover, you'll find a lot on client side toys here:
- Javio
- JGoodies
- Javootoo
- L2FProd

Woohoo... Great job guys!

Armond

]]>
No emoticons on MT+Textile! 2005-02-16T04:14:21Z 2004-05-08T17:43:51+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.20 2004-05-08T14:13:51Z Hrm... when I'm going in WIKI notation on my blog, usually I forget that I'm not using Confluence... Heavily making use of macros, interwiki links, emoticons and so on then find out you have none of them is a total piss-off! Having my blog here (MovableType) support Textile plugin, I wish I had the full Confluence notation support on Textile too. Alas... Armond... armond http://www.armondavanes.com Armond555@yahoo.com IT Related Hrm... when I'm going in WIKI notation on my blog, usually I forget that I'm not using Confluence... Heavily making use of macros, interwiki links, emoticons and so on then find out you have none of them is a total piss-off!
Having my blog here (MovableType) support Textile plugin, I wish I had the full Confluence notation support on Textile too. Alas...

Armond

]]>
Quite right concerns on EJB 3.0! 2005-02-16T04:13:42Z 2004-05-08T16:59:11+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.19 2004-05-08T13:29:11Z While I'm closely tracking the discussions, reviews and talkings on the next generation EJB architechture (and really glad to see the officially acceptance of POJOs and DIs/IOCs by major vendors), I do agree with Dion on the concerns he has. Really why should they see the backward compatibility as mandatory while they're going to go for simplicity by changing the whole model and architechture? A trick to keep the current vendors still as the main players without allowing any new comers to expose what they have for EJB 3.0 only ? Look at Spring ... I'm sure there will be... armond http://www.armondavanes.com Armond555@yahoo.com Java While I'm closely tracking the discussions, reviews and talkings on the next generation EJB architechture (and really glad to see the officially acceptance of POJOs and DIs/IOCs by major vendors), I do agree with Dion on the concerns he has.
Really why should they see the backward compatibility as mandatory while they're going to go for simplicity by changing the whole model and architechture? A trick to keep the current vendors still as the main players without allowing any new comers to expose what they have for EJB 3.0 only ?

Look at Spring ... I'm sure there will be many guys out there, want to drive their projects by EJB 3.0 only. No need to have application servers to support all those nasty and foolish 1.x/2.x classes, interfaces and architechture, to call them EJB 3.0 compliant :-( I wish this can be changed in the final version!

Armond

]]>
Experiences Reloaded ;-) 2005-02-16T04:13:00Z 2004-05-06T09:53:29+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.18 2004-05-06T06:23:29Z Experiences finally got its new home on my own domain, up and running here! Great thanks to Mike and Atlassian for hosting my blog so far... The sad news (at least for me!) is that my hosting doesn't have any Java support so I have to go mostly with CGI, Perl and PHP! Since I've been using MovableType from the day one and I found it far better than other PHP players out there, so just decided to stick with it. Also having no data migration headache push me more on this way... I wish I could install Confluence for... armond http://www.armondavanes.com Armond555@yahoo.com General Experiences finally got its new home on my own domain, up and running here!
Great thanks to Mike and Atlassian for hosting my blog so far...

The sad news (at least for me!) is that my hosting doesn't have any Java support so I have to go mostly with CGI, Perl and PHP! Since I've been using MovableType from the day one and I found it far better than other PHP players out there, so just decided to stick with it. Also having no data migration headache push me more on this way...

I wish I could install Confluence for both my site WIKI and Blogging stuffs! Man! I really love Confluence like my child :D It rocks! Especially with the latest fixes and improvements we've done on WIKI rendering and exporting (HTML, XML and PDF) engine, it will fly for v1.1! Something really mature and usable which easily bits any other Content Management and WIKI system out there (both java and non-java ones)...

Well, Experiences new home is accessible under:
http://blogs.armondavanes.com/experiences/index.html
And for the RSS Feed, here it is:
http://blogs.armondavanes.com/experiences/index.xml ( RSS 2.0 )
http://blogs.armondavanes.com/experiences/index.rdf ( RSS 1.0 / RDF )

Armond

]]>
My Photo Album! 2005-02-16T04:12:36Z 2004-03-31T11:40:47+03:30 tag:blogs.armondavanes.com,2004:/experiences/1.17 2004-03-31T08:10:47Z Well, finally I have my own web photo album up! Did I mention it has been generated with my favorite java-based album generator software JAlbum and my own BluPlusPlus skin? ;-) It's mostly about nature photography with some exceptions on my own photos too! I've shared as many as I could as I had plenty of spaces there on server to go on and more will be added later... Please let me know if you get into any flaw, or have any comments, suggestions and so on. Armond... armond http://www.armondavanes.com Armond555@yahoo.com Photography Well, finally I have my own web photo album up! Did I mention it has been generated with my favorite java-based album generator software JAlbum and my own BluPlusPlus skin? ;-)

It's mostly about nature photography with some exceptions on my own photos too! I've shared as many as I could as I had plenty of spaces there on server to go on and more will be added later...

Please let me know if you get into any flaw, or have any comments, suggestions and so on.

Armond

]]>