Wednesday, December 12, 2012

Google says don't stop searching!

Google summarizes 2012 in an inspiring video :)


Monday, December 10, 2012

What do you like in Java? - Part (1)

As we all know, Java has many flavors. You can find it around you in many environments. There is wide range of applications that can be developed using it in different environments such as desktop, web, enterprise, embedded and mobile applications. I have asked some colleagues who develop using Java the question titled in that post and bellow are the answers.

Rana Osama, Android Developer and Technical Consultant at Edraky.
Me: What do you like in Java?
Rana: Because she is your girl friend (That's because my relationship status on facebook says that I'm in relationship with Java Development :D).
Me: No seriously :D.
Rana: Because of Java I liked programming. As a programming language, it's an easy one. When I studied other languages, I liked Java more than the other programming languages. I can't mention a specific reason for so but I like coding in Java as it's easier and not complicated. Also, I'm able to develop whatever I think about using it. And when I started developing mobile applications in Java I liked it even more and more because I understood it in a better way.

Ahmed Elmahdy, Software Developer at ITS (International Turnkeys Systems Group).
Me: What do you like in Java?
Ahmed: I don't like Java :D.
Me: No seriously :D.
Ahmed: It gives just a job to earn money.

Hamza Mohamed, Software Developer at ITS (International Turnkeys Systems Group).
Me: What do you like in Java?
Hamza: She is nice, little bit cool, still conservative and proud. And both of you suits each other :D (Same thing like Rana that's because my relationship status on facebook says that I'm in relationship with Java Development :D)
Me: No seriously :D.
Hamza: Ok hmmmmm open. Whateven is there I can see and watch how it's done. For example, I can know how JSF and Struts work exactly because I already know how Servlets and JSP work. They are just layers on top of them. In .Net I could never see how it works and how is the lifetime of a server page processed in details. I could only use my imagination. In Java, I can make my own JSF or EJB and that's exactly what they are, developed by people like us.

Nahla Mortada, Mobile Application Developer At Kngine.
Me: What do you like in Java?
Nahla: Everything is represented in a clear implementation for the OOP concepts. This helps in code hand over from any team member to me so I can easily track the classes and objects.

JRebel Episode (1): Stop wasting your time!

While talking with Amr Hesham about an implementation for a certain idea as a web application, he mentioned the JRebel. Regardless that he was thinking that it's free (:P) as it's actually under a propitiatory license, I was glad to check about this amazing compiler plugin. As I'm currently suffering the problem that could be fixed using the idea of JRebel. Well, allow me to mention what is JRebel bellow here.

What is JRebel?
JRebel is a JVM-plugin that makes it possible for Java developers to instantly see any code change made to an app without redeploying. JRebel lets you see code changes instantly, versioning classes and resources individually and updating one at a time instead of as a lump application redeploy. When developers make a change to any class or resource in their IDE, the change is immediately reflected in the deployed application, skipping the build and redeploy phases and preventing an average of 5.25 work weeks per year in redeploys!

Why use JRebel?
JRebel is an alternative solution to updating classes which does not require a debugging session to be started. Instead it monitors the file system for changes and updates the classes in-memory. This means that only classes compiled to ".class" files will be updated and changes to classes in JAR files will be ignored. JRebel imposes a performance overhead on the application and should not be used in production or performance tests. It is meant to be a development tool only.

Support
JRebel is supports a wide range of containers, IDE's and frameworks. For a complete list of all of these you can check here.

Get JRebel
You can download it from here. This is a free trial for 14 days only as it's licensed as proprietary.

To be continued:
JRebel Episode (2): On the spot

References:
http://zeroturnaround.com/software/jrebel/
http://en.wikipedia.org/wiki/JRebel
http://java.dzone.com/articles/reloading-java-classes-401

Friday, December 7, 2012

Hello World!

Yes I did it. Thanks God I finally decided to start blogging again. I used to blog before but I stopped a long time ago. Now I'm back with more knowledge and experience to share. This is like a win-win situation. Because people may find something useful here. And also I will have a place to keep my ideas and other things referenced here. I hope you would have a good time sinking with me ;)