Concurrency in Java
Concurrency in Java, session presented by Abdalla Mahmoud on March 22, 2009 01:00 AM in CAT Scope 10 event, sponsored by Database Egypt.
@my public Home{}
Concurrency in Java, session presented by Abdalla Mahmoud on March 22, 2009 01:00 AM in CAT Scope 10 event, sponsored by Database Egypt.

TanJBoss (Tangible JBoss) is a physical modeling project for the three-tier model architecture using JBoss application server.
As a part of the DBE 2008 Summer Training Event, I decided to visualize the three-tier architecture scenario using tangible shiny-colored kids’ toys
I believe that a strong technical concept is more important than the entire implementation tutorials. Thus, I believe that modeling the scenario physically like this is a very good way for delivering the concept simply, quickly, clearly, and funny, as well.
Thank you so much, Khalid Helmy, for contributing to the project. You really did most of the work, man.
Enjoy the final model/project making snapshots ![]()
TanJBoss

EJB Container – Objects with Annotations!

The Making







It seems very hot this summer in Database Egypt!!. I was so excited when I wrote this casual specification of the 2008 summer training there; but after a quick review, I figured out that the specification bundles (either explicitly or implicitly) dozens of technical terms, new concepts, various tools, and much fun, as well
Small-business solutions may run on a single-pc, single-user-application, and an embedded database; Medium and Large business solutions should not! Even the smallest bank ever on earth will not be happy with a system of one-isolated-PC, right?
Here’s where distributed systems earn their living. Thousands of objects are hanging out from one machine to another, serving them by offering some cups of hot java! The scenario is completely controlled by the maestro, Mr.JBoss!
Are you ready for the launch day?
Week1: Getting Started
Week2: EJB3
Week3: Advanced EJB3
Week4, Week5, and Week6:
Work Structure:
project_manager;
team_leader ;
team_members[];
}
Software Development Process:
Lab Machines:
A popular question always asked to me in the training environment; How to learn foo? How to be like foo’s geeks? What

Although Java EE is the natural choice for medium and large business solutions, Java SE still has powerful tools for building robust, high-performance, flexible, and user-friendly solutions for small business.
We’re going to introduce a reasonable set of those tools, in addition to some different issues that should be considered when developing your first business solution. We’ll discuss how to plan for your application from scratch, and how to transform the requirements into the product. Finally, we’ll show how to deploy your application and make it ready for the market.
The course cannot be categorized for beginners. However, a previous experience with Java is not required. All you need is a reasonable knowledge of some object-oriented programming language (C++/C#/Java/..), your brain, and some enthusiasm. We’re going to take the first step for starting making money.
Course Contents:
- Java Preliminaries.
- Netbeans IDE Exposed.
- GUI Design with Matisse & MVC Design-Pattern.
- JavaBeans Technology & OOAD (Object-Oriented Analysis and Design).
- Database, the Business Applications’ Backbone.
- Producing/Printing Business Reports.
- XML and its Applications.
- Networking.
- Security.
- Application Deployment.
ISA I will give the course with CAT-Hackers in the mid-year vacation. For more details about the course and how to subscribe: (http://cat-hackers.com/forum/viewtopic.php?p=15446).
Before being an instructor, I have searched a lot for topics about giving a good presentation. Although I read a lot of such topics, I ended up that giving a good presentation is a matter of self-experience, and I’m going to share my experience here.
Want to be a perfect instructor? The best way to be, is to start up immediately! Organize a presentation about any topic you’re interested in, invite your colleagues, give your presentation, then get their feedback. It’s very embarrassing and scary to confront people for the first time? That’s it, so start with your colleagues. In fact, it’s that hard to confront a group of people for only the first two minutes, but you will get more used and more relaxed quickly. Remember yourself when you were an audience, you were alone listening to a single speaker, it’s the same situation here, on the speaker’s bench. You’re a single speaker talking to single listeners!
Great! But how can I start planning for the presentation? Do I have to prepare for each word I’m going to say? In fact, the answer is yes for only the first presentation you’re going to give, but as you’re giving more presentations, your performance will be enhanced, you’ll gain more experience, and you will get used to the situation of talking on the speaker’s bench, giving a perfect presentation without even planning for any detail of the topic!
Take care, NEVER READ FROM A SCRIPT!
Anyway, you have to prepare for the topic, write down the points you’re going to talk about, decide which tools you’re going to use, PowerPoint slides? real objects? it depends. But don’t use a big set of tools, it will confuse the audience. Also, make the power-point presentation as simple as possible, with comfortable colors to the audience’ eyes. And it’s the most important, read CAREFULLY AND A LOT about the topic, even if you’re not going to tell all details you’re reading, there will alwyas be an audience who want to ask and know more. If the audience ars fresh about your topic, don’t forget that they might read more later, and there’s always a nice guy, sitting in the front bench with the audience, who knows some about the topic, and waiting for the moment to embarrass you!
Let “I don’t know” the last answer if you’ve been asked a question that you cannot answer. There’s always some options that you can try first. Make it an open discussion, embarrass the asker, but never try to change the topic, it’s easily noticed and give a bad impression. At last, you can tell them that there’s no time to answer that question now, “Give me your mail, and I will tell you later”
Remember that rule of thumb: Shorter presentations need longer preparation.
Any good presentation will follow this structure:
1- Greet the audience.
2- Introduce your self. Talk about great things you did proudly, don’t worry about saying that you’re conceited, but take care of being so! Be self confident and on your nature, you will gain their trust quickly.
3- Tell them what you’re going to tell them.
4- Tell them what you want to tell them.
5- Tell them what you’ve just told them.
6- Tell them how can they know more than you’ve just told them.
For me, I prefer starting a new topic with an interesting story or with a funny short joke
, then telling them what I want to tell as the other part of the story or the joke! This attracts the audience to you, to your speech, and your message will be sent to them easily, in a non-boring matter. This always valid, specially for boring-technical topics. Even math? Yes, tell them the story of the scientist who developed the formula. I show them the photo of James Gosling, the father of the java programming language, wearing shorts! However, avoid telling jokes, unless you’re a joker by nature.
Use the body language. Move your hands, but don’t be like a silent-actor. Change your place, but remember that you’re not walking in your home garden. Use a good accent, loud voice (don’t SHOUT!!), change your rhythm, but don’t be so excessive.
Look at their eyes equally, don’t focus on someone, it’s not an appropriate time for getting admired to this beautiful lady now, you’ve more time to date her later! Don’t expect a constant head shaking from the audience to ensure that they understand you. As an audience, I don’t shake my head, even if I understand 100% of what I’m listening to. With experience, you’ll be able to ensure when really the audience understands you or not, even if he shakes his head every moment. Never ask them if they understand, instead, ask them if they have questions.
Sleep well, wear comfortable clothes, avoid casual wear, but don’t be very formal, unless the presentation is also that formal. If you will use the white-board, remember that the jacket will bind your hands, and that your back will be visible to the audience! Avoid eating before the presentation. Half-cup of water is enough. Caffeine (in tea, coffee, cola, etc) will force you to pause and go to the bathroom!
- Be on time, end your presentation before getting a written message from the coordinator: “Time out!”
- Show them that you know more than you’re saying, even if you don’t!
- Avoid personal issues with your audience, specially mocking, even if it’s a friendly presentation.
- For languages like Arabic, avoid using “you” for the plural, use “you” for the singular. Imaging that you talk to a single audience, this will make them more concentrated.
- If you ask their opinion about something, raise your hand to encourage them to do so. Use one hand when you ask them about their opinion if yes, and the other hand for no.
My last word, BE ON YOUR NATURE.
Today is the best day in this year, it’s the the last day of exams, and the first day of the sweety vacation.
Ooooh at last, it seemed a very long, infinite year. It was kinda boring, but full of incidents. Regardless of the academic stuff, I have learned a lot about life, true friends, fake friends, and much more. It’s really very difficult to find a true friend, they are very rare!
About academic stuff, it was not that good for me this year, I completely feel wronged in my rank, but anyway, thanks God.
I don’t have more to say, what I’ve just written is everything I feel now about the year, nothing more.
(FULL STOP)

Finally, I’ve finished developing the Data Encoder project that was requested by Dr.M.Abo El-Sood. Although it’s very simple, it took me about three days to be released, because I’m very busy nowadays, preparing for the final exams.
I apologize for not giving more details about the project for now. ISA when the exams are up, I will give more details. For now, you can download the source and the binary distribution jar file (requires JRE 6.0).
Download
(MD5 checksum: 86374ca74ce4b8469e7d1639a21f01ec)