Tuesday, May 27, 2008

Elaborates Reports with EXCEL

In my life as a Software Developer I've been on the need to work with MS-Office in some many programming languages and regardless the language it's always a pain.

EXCEL is the favorite tool for a common user on its daily basic work. For me and for most the people i know, EXCEL if the best software packaged in the MS-Office Suite.

How ever finding a library that suite your needs it kinda difficult sometime.

Currently exist Apache POI, this library intends to be the bridge between all MS-Office package and the Java World, currently its on a very early stage and most of the work its being done on the EXCEL implementation API. This library give you the complete control over the documents and sheets, w
hich i found it interesting when you want to build your report from scratch.


But in the other hand, the JXLS Project which only focus on EXCEL Interoperability, seems for me the right choice when you have a very elaborate template with a fancy design and just want a way to inject data directly into it.

Check the following example and you will know what i mean.

Wednesday, May 14, 2008

Are u a Good Programmer or Not, how to find it out

I found an essay which describe how to identify a good programmer following just some few hints, even thought there are some points i am not totally agree with him, it seems he is pretty close to the reality.

Let me list you the "Criteria Bullets" you can use to identify if a Programmer you know, it may be good or bad :-)

Here you can find the whole article with a detail explanation on each point, please enjoy it :)

http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/

The criteria in bullets

So, in summary, here are some indicators and counter-indicators that should help you recognize a good programmer.

Positive indicators:

  • Passionate about technology
  • Programs as a hobby
  • Will talk your ear off on a technical subject if encouraged
  • Significant (and often numerous) personal side-projects over the years
  • Learns new technologies on his/her own
  • Opinionated about which technologies are better for various usages
  • Very uncomfortable about the idea of working with a technology he doesn’t believe to be “right”
  • Clearly smart, can have great conversations on a variety of topics
  • Started programming long before university/work
  • Has some hidden “icebergs”, large personal projects under the CV radar
  • Knowledge of a large variety of unrelated technologies (may not be on CV)

Negative indicators:

  • Programming is a day job
  • Don’t really want to “talk shop”, even when encouraged to
  • Learns new technologies in company-sponsored courses
  • Happy to work with whatever technology you’ve picked, “all technologies are good”
  • Doesn’t seem too smart
  • Started programming at university
  • All programming experience is on the CV
  • Focused mainly on one or two technology stacks (e.g. everything to do with developing a java application), with no experience outside of it

Friday, May 2, 2008

RIA Development - Choosing the right tools

I've been quite busy these days, but now I’m back with something pretty interesting. During the time I’ve been a Java Web Developer I had pass many of my free time researching about the right tool for the right Job, which mean I’ve test a bunch of tools available in the market.

Even that RIA is not a new term for me, I start wondering myself how would be a full Ajax-Enabled application with no servlets, no JSF, not any framework that tie me up to a Preprocessing Life Cycle for generating dynamic content into my pages.

I know HTML, I know JavaScript (at least that what I think :-] ) , and I know Java, how can I mix this up and build a Web 2.0 Application with zero Page processing (JSF, JSP, Servlets, SpringMVC, Struts, Wicket),because all of them required you to build your JSP/HTML with some kind of markup in order to get processed in the server.

The answer is just at the next corner: DOJO + DWR

DOJO with its incredible set of JavaScript Widget, DOM manipulator utilities and great look and feel, makes you take it seriously as the right tool for developing RICH UI with just HTML and JavaScript.

Check the "Why Dojo"? .

Check the next example as well.

What’s great from DOJO is that you have a lot of JavaScript power for the price of "24K" (Relax, 'K' stands for Kilobytes not Money :-] )

Now in the other hand with DWR:
Which turns to be my Counterpart for the Server Side Processing, since DWR can automatically Marshall and UnMarshall Java Object into JavaScript Object make it perfect as my Transport and Processing Layer between the Client and the Server.

This mean I can have my plain Java Class with access to my set of Hibernate DAO and have communication back and forth without need to write a Servlet or any Special Class that will be managed by the Container.

And since with DWR I can have access to the Http Session Object via the WebContextFactory I can managed the State between my JavaScript AJAX calls. :), for me that something cool.

Think about it, I believe this two technologies can work pretty well if you're a trying to build the Next Web2.0 Application for your Customer. Give them a try and let me know your thoughts.