Skip navigation
1 2 3 Previous Next


31 posts is a website for online exams and distance/coached e-learning. I love it! and encouraging all my friends to visit it. A new feature "I believe it is new" has been launched to help shy people who can't request training from their managers :-)

BBF "BlackBeltFactory" build a marketplace for Java training, the portal has a very cool Java courses and anyone can be a coach and get paid for coaching students by the students!

Student can now ask their managers indirectly to offer them training :) check this course page where you can let the system notify your manager about your need for this course, even with the coach name and its rate ;) selecting me will make me happy for sure.

Believe it or not but with this blog post I can earn more contribution points at the website so that I can take more exams for free!!

During Jazoon 2010 I had the chance to chat with many people about Scrum and this motivates me to look around and check website and found this quate on the guide

“A chicken and a pig are together when the chicken says, "Let's start a restaurant!"
The pig thinks it over and says, "What would we call this restaurant?"
The chicken says, "Ham n' Eggs!"
The pig says, "No thanks, I'd be committed, but you'd only be involved!"

JDC 2010 has been recognized from 90 country. The attached report could be useful for sponsors and compaines to know who is looking for JDC. Also it will give you indication about the countries interested in Java technologies in Africa.


Spring Roo, a quick note Blog

Posted by ahashim Feb 13, 2010

I was going through the documentation of Spring Roo, version 1.0.1 while preparing a talk for JDC 2010 about the Spring Roo .. No need to mention the Roo is awesome, amazing and not Magic :-)

Ben Alex , Stefan Schmidt did a great job really in this project. Smart architecture!

"The automated startup-time scan is also very useful as you upgrade to newer versions of Roo. Often a new version of Roo will incorporate enhancements to the add-ons that generate files in your project." check more on Roo documentation . This is very useful, and once there is a new version from Roo, developers will participate in testing it by just running the roo shell in their project's directory!

Spring Roo, I like it :)


Spring Integration Talk Blog

Posted by ahashim Dec 8, 2009

Shadow copy of

I would like to invite you to the Spring Integration session organized by EGJUG. We will talk also in quick about the upcoming JDC 2010 and may go to public restaurant to have light dinner after the SpringFramework night.

Date: 15 December 2009
Time: 6:30 PM - 8:30 PM
Place: FCI-CU, check the map.
Fees: FREE forever
How to register: Send your name,company name, title and mobile to meeting (at)
FaceBook Event

Talk Abstract:
The talk will introduce Spring Integration a light weight testable framework for messaging and Enterprise Application Integration based on the Enterprise Integration Patterns identified by Gregor Hohpe and Bobby Wolf. It will also cover plans for the upcoming 2.0 release and will provide an opportunity for feedback and suggestions on the 2.0 release.

Speaker: Jonas Partner
Jonas Partner is a Founder at OpenCredo a UK Open Source focused consultancy and Spring Integration committer

Based in Cambridge England, a vibrant centre for technological development, Jonas directs the technical ambitions and activities of OpenCredo; a company known for its passionate open source experts who provide unbiased consultancy, education and skilled development assistance across a wide and varied range of open source development technologies.Jonas Partner

Before co-founding OpenCredo, Jonas amassed his considerable experience within the hot-bed of technology start-ups and established businesses that surround Cambridge. Here he brought his sure touch and immense interest in open source development technologies to a wide range of business applications and mobile technology solutions. Most recently he was a member of the team of consultants at Java framework innovators SpringSource.

Jonas is a practitioner of agile development processes and is an active contributor to the Spring Integration project.
Jonas has an MSc in Advanced Computing, Machine Learning and Data Mining.

 I found a cool feature in Google Chrome browser and would like to thank who did it and share it with you :-)

It is "Reopen Closes Tabs" it is available in FireFox using the same short cut but founding it in the right click menu is much easier and visiable to the user. 

Due to some limitation on my business laptop, Firefox is crashing all the time without hope to get it fixed and company internal web sites (10's) is supported in IE6 only and could not upgrade to IE7 so I had to live with Google Chrome as much as I can, I found it  very good.

I did a couple of presentation on IEEE Open Source week at Cairo university, Faculty of Engineering. The power point presentation are attached, and if any one has a question send me hashim {at} EGJUG Session
Open Source Software
Egyptian Java User Group is organizing a Free NetBeans platform training by Geertjan Wielenga. Check EGJUG page for more details.  
JSR286 or Portal 2.0 is the next step in Portal development. It takes long time to get a step in this area; although the commercials solutions like Oracle Portal and Microsoft Sharepoint Portal are far ahead from the standards and open source solutions. The questions is, did any vendor implements JSR286 100% including IPC "Interportlet communication" with JSF& AJAX Integration? I want to develop a simple portal out of the commercial solutions, stick to the standards to achieve cross-application server compatibility. On the same time, I will not write a Portlet Servlet or JSP pages like what I have done 4 years ago, I wanna use the latest technologies like JSF, RichFaces, DWR, Dojo, Flex and reuse the JSF stuff I have did so far. All claims that JSR286 is implemented, but I didn't find anyone talking about IPC and JSF Integration. Can anyone correct me if I am wrong "I hope so"? If I am right, what is the hell is going to be happen in the communities?  
Usually if you are working in a "big" project and doing a code review; if you have a vendor who develop some application for your company; if you have a fresh graduate developer ... you will find a lot of bad-practices in the code being written! I don't like to seeSystem.out.println() in the code .. because simply, it doesn't appears in the log files!!! As a solution, you can use Aspects to figure out the pointcuts in the code which uses "SYSO" and the advice will be to log the message yourself. Let's have a look into the code and how this will work:- 1- the idiot code will be like that aop1.PNG as you see, the method add() will print some info the default output stream which is the console. This method is called from the main method. If you are an eclipse user, you will notice that there is a small orange arrow on the left side of the code editor referring to the line of code uses "SYSO"; we will back to this arrow after while ;). 2- We will now create a new aspect to solve this problem, the BPAspect will looks like the following:-aop3.PNG to define a pointcut to SYSO, the pointcut definition will be pointcut syso():call(**(..)); which means: define a pointcut named syso and get all places which call a method print,println as a members in the PrintStream class, take any argument and return any value. then, mark the called for this method as warning in your code and display this message "Don't use SYSO" declare warning:syso():"Don't use SYSO"; then, how to log the message? the advice will come to do this job after():syso(){[0]);} 3- What about the orange arrow? it indicates that there is an pointcut which this line matches with. There is a panel also shows the aspects which reference the code in this class aop2.PNG on the other side, if you open the aspect code, the panel will show the code referenced by the aspects. aop4.PNG you will see also that there is a warning message in this line aop5.PNG 4- Now, we can run the application to see how it will work It will print the to the console Add 1 to 2 2008-07-24 14:28:22,828 [main] INFO BPAspect - Add 1 to 2 and prints to the log file 2008-07-24 14:28:22,828 [main] INFO BPAspect - Add 1 to 2  

Beside Java ... Flex Blog

Posted by ahashim Jun 10, 2008
Few months ago I did my Hello World Flex, I used Adobe Flex Builder and founded it interesting to produce RIA. After than I tried a simple application for file download and discovered some features in Flex. Now, I came with a new project and decided to use Flex to do the job. What is my project? It is a small and smart product catalog with search facilities and customer reviews. Why I decided to make this site with Flex? Java is not suitable because of the hosting issue, finally I want to upload my application in my cheap host which supports PHP only. Why not PHP? because I plan add this small project to a current projects, some of them developed with PHP and other with ASP. I thought about Flex to make it easy to plug to any website The first problem I got is the DB connectivity, there is a way to connect to DB through PHP code or Java, but I didn't like the idea; it will be the same problem again. I asked one of my friends, he is a Flex fan and he told me about a new project which add the feature of DB connection from Flex. The Action Script SQL it is a very new project and tried it yesterday .. it works well as early beta version.  
High Performance Web Sites by Steve Souders is one of the most important books front end engineers should read to be able to develop a proper web sites. In 14 chapter, you will know 14 of the best tips to enhance the performance of your website. The good thing in this book, it is quick read and specific, the author gives example by numbers and statistics about the top 10 websites on the internet. In each tip Steve tells the effect of applying this tip on the top 10 websites.
In this book, you will learn some great tips in web development like (Minimizing the number of Http Requests sent to the server, improve the caching in your site, compressing the content to save time and resources, best location for scripts and styles and other interesting tips) I highly recommend any engineer working in the front end tier to read this book and apply the tips inside on the web pages. Ahmed Hashim, EGJUG Leader, Software Engineer, Etisalat.  

Helwan JUG sessions Blog

Posted by ahashim Apr 15, 2008
Yesterday, I did a couple of presentations about Java platform and Open Source for HelwanJUG, Faculty of Computers and Information at Helwan University. download the sessions Java Platform Open Source Software
Yesterday I made a presentation about Java platforms, it was an introductory session for students and graduates in Faculty of Science AinShams University. It is the same session I did last week with some additions like Security, Connection Management, Scalability and Messaging. Download file