Enjoy 🙂

Nice Tools :)

Below are nice tools I used to use as software developer 🙂

1) grepWin:

grepWin is a simple search and replace tool which can use regular expressions to do its job. This allows to do much more powerful searches and replaces.”

2) Notepad++:

“Notepad++ is a free (as in “free speech” and also as in “free beer”) source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GPL License.”


“CSDiff is a free, advanced file-difference analysis tool for Microsoft Windows.”


FileZilla: free FTP solution. Both a client and a server are available.


Cavaj Java Decompiler is a graphical freeware utility that reconstructs Java source code from CLASS files.


FireBug is web devloper tool, some of its features below:

  • Inspect HTML and modify style and layout in real-time
  • Use the most advanced JavaScript debugger available for any browser
  • Accurately analyze network usage and performance
  • Extend Firebug and add features to make Firebug even more powerful
  • Get the information you need to get it done with Firebug.



2011 in review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

A San Francisco cable car holds 60 people. This blog was viewed about 2,100 times in 2011. If it were a cable car, it would take about 35 trips to carry that many people.

Click here to see the complete report.

DZone MVP Certificate

integration spring with jsf is easy, you just needs to follow these steps:

1)in web.xml make sure that you have (context listener + context param) :



2) you need to use “DelegatingVariableResolver” in faces-config.xml:

3) in the managed bean that you want to use the spring bean, you need to add spring bean to the managed bean class as property:

Thats it 🙂

Before couple of days I received the good news that I passed the “Oracle Certified Master, Java EE 5 Enterprise Architect certification”.
The story begins in December 2010 when I took the first part of the exam.
I relied on my hands-on experience in java, Design patterns, web component, EJB.
I just read “Sun Certified Enterprise Architect for Java™ EE Study Guide”.

By the way , at that time I had SCJP, SCBCD 5, SCWCD.
so it was a great challenge to try to get the most valuable certificate in Java which is the Architect certificate.

part 1 questions mainly focused on the higher level concepts , no details or low level questions, my score was 77% .

in April 2011, I returned back to the assignment , in 2 weeks the assignment was done.
in general the assignment is simple, but there are some details you need to take care about.
I worked on assignment using Visio, then exported the diagrams to html pages as they requested, then i packaged the html pages to jar file.
before sending the assignment , you need to finish part2, I went to exam center I answered around 7 questions, mainly the questions about how your design handle security, scalability , maintainability,…. and if there is a use to Enterprise Java Beans and why,…

21 April – I sent the assignment
25 April – I received the confirmation about receiving the assignment, they informed me it needs 6-8 weeks to be graded.
30 May – I sent them an email asking about any updates regarding the result.
2 June – OCP team apologized for the delay , and they told me they may need another 2-3 weeks.
21 June – I sent them any updates email …
22 June – OCP team apologized for the delay!
1 July – I recieved email that I passed the exam.

It was a nice challenge to work on this certificate, what do you think 🙂 ?

2010 in review

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads This blog is doing awesome!.

Crunchy numbers

Featured image

A helper monkey made this abstract painting, inspired by your stats.

The Leaning Tower of Pisa has 296 steps to reach the top. This blog was viewed about 1,000 times in 2010. If those were steps, it would have climbed the Leaning Tower of Pisa 3 times


In 2010, there were 6 new posts, growing the total archive of this blog to 7 posts. There were 2 pictures uploaded, taking up a total of 4kb.

The busiest day of the year was May 6th with 88 views. The most popular post that day was JSF 2.0 AJAX…For Begginers 🙂.

Where did they come from?

The top referring sites in 2010 were java.dzone.com, agile.dzone.com, en.wordpress.com, blog.pulleman.com, and mguillem.wordpress.com.

Some visitors came searching, mostly for jsf2.0 ajax, ajax loader jsf, @+managedbean jsf 2010, jsf 2.0 ajax, and wspublisher not working juma.

Attractions in 2010

These are the posts and pages that got the most views in 2010.


JSF 2.0 AJAX…For Begginers 🙂 May 2010


JAX-WS Deployment Five Minute Tutorial April 2010


Good Technical Team Leader …? May 2010


JAX-WS Five Minute Tutorial April 2010


Arabic PDF Jasper Reports Problem… August 2008
1 comment

Being a good TTL is not it easy … what are the things that TTL needs to have ?

Below are my convictions about this:

1)  Solid Technical.

2)  Ability to break down tasks.

3)  As John Maxwell said “Leaders must be close enough to relate to others, but far enough ahead to motivate them.”

4)  Sorround himself with smart people..

5)  He needs to believe that the big credit for his team not for himself.

6)  Humble.

7)  Learn from his team… they have a lot .. specially juniours 🙂

8)  He needs to trust his team.

9)  Consistent with all team members.

10) Good Communication Skills.

11) Concerned about applying best practices.

12) Keep his team excited… and in continous challenge.

13) He needs to know his soldiers ..
Based on my experience I do beleive that Developers are 3 types:

a)Good Starter:
They like to start with new technlogy,framework, tool,but they hate reading books,best practices,… !!
because of that TTL cannot depend on them totally all the time after the project started… but he can get a great benifit by utilizing there
skills in the early stages from the project and POC tasks.
TTL needs to help him to be good finisher.

b)Good Finisher:
They like reading books, best practices..and they always says we cannot start before reading couple of chapters about this new topic!
TTL can depend on them after starting project to deliver and keep project stable.
TTL needs to help him to be good starter.

c)GOLDEN Devloper = Good Starter + Good Finisher:

14) He needs to keep hands dirty with code !

What you think guys…

Hi, This tutorial for people who wants to start with JSF2.0 AJAX quickly …

ok, lets start..

1) Open your eclipse… create new web project.
2) put jsf-api.jar, jsf-imp.jar under WEB-INF\lib folder.
3)create  juma.mohammad.MainBean class

package juma.mohammad;
import java.util.Date;
import javax.faces.bean.ManagedBean;
public class MainBean {
	private String date = (new Date()).toString();
	public void update() {
		try {
			date = (new Date()).toString();
		} catch (InterruptedException e) {
	public String getDate() {
		return date;
	public void setDate(String date) {
		this.date = date;

Here we used @ManagedBean jsf2.0 annotation .. we marked here our MainBean as jsf Backing Bean..

4) web.xml as below:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-name>Faces Servlet</servlet-name>

our url pattern as its clear is  ” *.jsf ”

4) No need for faces-config.xml… thanks for jsf2.0 annotations 🙂

5)create index.jsp and put it under WebContent folder:

<% response.sendRedirect("main.jsf"); %>

6)create main.xhtml page and put it under WebContent Folder as well:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core">
	<title>JSF 2.0 Simple Ajax...</title>
	<style type="text/css" >
		.ajaxResult { color: #440000;
		              font-weight: bold;
		              font-size: 18px;
		              font-family: Arial, Helvetica, sans-serif;
	<script language="javascript" type="text/javascript">
		function showDateIndicator(data) {
			  showIndicatorRegion(data, "dateIndicator");

		function showIndicatorRegion(data, regionId) {
			  if (data.status == "begin") {
				  document.getElementById(regionId).style.display = "inline";
			  } else if (data.status == "success") {
				  document.getElementById(regionId).style.display = "none";
	<h:form id="myForm">

		<h2>JSF 2.0 AJAX</h2>

		<h:commandButton value="Update Date" action="#{mainBean.update}">
			<f:ajax render="myForm:viewDate" onevent="showDateIndicator" />

		<table border="0px">
				<td><h:outputText value="#{mainBean.date}" id="viewDate" /></td>
				<td><span class="ajaxResult" id="dateIndicator" style="display: none; font-size: 60%"> <img src="ajax-loader.gif" /> Loading data from server... </span></td>



now, to enable Ajax behaviour we just need to use <f:ajax tag > which takes 2 attributes

a) rerender : which is responsible for updating specific area in the page

b) onevent : here we call javascript function which will handle the ajax call, and it will take response data as argument.

we used it here to show ajax indicator message , and once response back from server this function will hide ajax indicator message.
7)put this image ajax-loader.gif under WebContent folder:

8)Export project as a war, and deploy it …

I hope you will find this tutorial useful 🙂

Being an ‘A’ Developer is not easy: you should work hard, and read, and learn from your mistakes.

I tried to summarize my convictions about who ‘qualifies’ as an ‘A’ Developer, below:

1) ‘A’ Developer writes her/his code with a lot of enjoyment and enthusiasm.

2) ‘A’ Developer is not a coder; ‘A’ Developer is an ENGINEER.

3) ‘A’ Developer is always asking “Why” before starting to learn a new technology. For example, “Why Spring?”, “Why JPA?”, “Why JSF?”

4) ‘A’ Developer is Big Picture oriented, not details oriented.

5) ‘A’ Developer believes that Design Patterns are a MUST.

6) ‘A’ Developer should be involved in all tiers.

7)  ‘A’ Developer is a good starter and a good finisher as well.

8)  ‘A’ Developer has v.good communication skills.

9)  ‘A’ Developer does not depend on “Hello World” examples when trying to learn and master a new technology .

10) ‘A’ Developer is always updating him/herself with the latest market news and reads developers articles and comments.

11)  ‘A’ Developer is not a fantasist in terms of the latest framework or technology.

12)  ‘A’ Developer is a very good user to his IDE. He/she knows the most important options and shortcuts the IDE has.

13)  ‘A’ Developer hates the systematic route and always asks: “How I can automate this.”

14) ‘A’ Developer tends to keep things simple.

15) ‘A’ Developer is a reliable, committed, and hard worker.

16) ‘A’ Developer likes new challenges.

17) ‘A’ Developer understands the business before beginning to code.

18)  ‘A’ Developer looks for the best practice for everything he/she works on.

Am I right… what do you think…?!