JAVA IS #1 …AND STILL CLIMBING

Java is #1. Even better: it still gains share (+1.42%) comparing it to last year. C and C ++ are the ranks 2 and 3. Enjoy Java!

Posted in java | Tagged , | 1 Comment

WHY IT IS IMPORTANT TO CHOOSE A #1 LANGUAGE FOR AN ENTERPRISE PROJECT

  1. The more people are using (and complaining) the more bugs can be fixed
  2. The popularity is related with the amount of available documentation, blogs and tutorials
  3. IDE and tooling support is superb – often there are even several competing IDEs
  4. Usually all your programming questions can be answered by google
  5. The probability to find skilled developers is higher, than in the case of a fancy, esoteric language (like e.g. MOO #49 :-) .
  6. You will usually find a variety of popular open source libraries or projects for every possible challenge
  7. Many commercial providers compete in the same space – your solution becomes less vendor dependent
  8. You will find a variety of commercial and even free trainings
  9. The bigger the company, the less developers tend to be interested in bleeding edge fancy stuff

Reference : http://www.adam-bien.com/roller/abien/


Tip of the day :
Let others lead small lives, but not you.
Let others argue over small things, but not you.
Let others cry over small hurts, but not you.
Let others leave their future in someone else’s hands, but not you.

Posted in java | Leave a comment

How to stop wasting time and focus on (learning) development

Studying programming or web development is not an easy task. It requires time, passion, determination, focus, and active mind ready for trillions of “aha” moments. If one of the elements is weak link, your ending result will drop more then you expect. Here is the step-by-step guide which will help you to achieve your success in your future web developer/programming carrier. I am using all of these methods right now, and it works for me.

1. MOST IMPORTANT PART! QUIT YOUR ADDICTION! NOW!

This is most important step. Everyone faces an addiction sooner or later. For example, I install a video game just to try it out, and it turns into months of non-stop gaming. This is clearly addiction to video games. I am weak to them. That video game (demon) owns me. You must quit your addiction. It turns you into brainless zombie.

Quitting an addiction is hard. Very hard. Whenever I say “now it’s enough” to my addiction, I face that demon inside of me who is saying “but we are having fun!” or “oh come on, you will find time for studying later”. Fighting that demon is almost like the movies you watch on TV, where random guy fights a demon that controls him, it is a fight for your very own life. While I am writing this very sentence I am deleting that cursed video game. If I managed to beat an addiction, I am sure you can too. Limit your hours, or just quit it.

After this very hard first step, everything else will be piece of cake (except of the last part). Just remember, if you don’t quit your addiction now, reading everything below will be almost useless.

2. Start using “pomodoro” technique

“The technique uses a timer to break down periods of work into 25-minute intervals (referred to as “pomodoros”) separated by breaks and is based on the idea that frequent breaks can improve mental agility.” -wiki

What is basically means that, you should work or study for 25 minutes, and then take a small break. And so on. This way you can work for a very long time without losing your focus.

To keep track of our sessions, we will use focus booster application. It is very simple app that is basically a timer. So, when you are ready, click the play button and start studying. Important thing is, not to break your 25 min session by any costs. If you have to pee, hold it. Don’t grab a sandwich or read email. After 25 minutes are over, you get 5 minutes of free time. Then you can read your email, surf a bit, or do push-up or two (it is healthy after all).

3. Don’t listen to music while studying (or working)

I know you feel like music pumps you up, but effect is totally different. Your mind should be focused on your task and not on lyrics or melody. I myself tried studying with and without music. With music, I had to reread lot of sentences because my mind was focused on awesome music and not on meaning of sentences. Also, I remember way more without music.

4. Shut down your net

This is very cruel, I know. Is there anything bad about checking Hacker News for 1 sec or your e-mail or just to read twitter. Unfortunately, Yes there is. You must not break your 25 min session for nothing. IF you keep breaking it for 1 sec, sooner or later you will break it for 10 minutes.

If you don’t want to plug out your net, you can make this page as your new official homepage.

5. Determine how much “pomodoros” will you do tomorrow.

Before you go to sleep, determine your tasks for tomorrow. This way you will find out how much free time you have tomorrow so you can plan how many “pomodoros” will you do. Give your best to do at least five sessions a day. ten is good. More than ten is awesome.

6. Important tasks first, waste time later.

First moment you get free time, don’t read your email, or check your RSS feed. Start your study session first. You can always waste time later in 5 min breaks, or when you are done learning for today. Why am I saying that? Because, when you start surfing before you did your session(s), you are not limited by time frame. That way you can waste your precious time for hours. But if you are done with sessions for today or you are having 5 minute break, “time-waster” time is limited by short break or late night hours/you being tired.

After few days… Doomsday!

You were giving your best for past few days. Studying, working, fighting bad habits… and after another very hard day you went to sleep. While you were sleeping, all evils of this world decided to crush you, because you are on your way to success. They gather all they strength and strike you with devastating blow.

After you wake up next morning, you will feel different… All the passion, focus, determination, will be gone! This is the doomsday. After you sit on PC, you will find that you no longer want to do what you were doing for past few days. Your mind will emit demotivation signals. Like: “This was wrong, being web developer is stupid, you better go learn more about [something else]” or “why don’t you have a break for few days, do [something to waste time]“. If you don’t manage to get through the doomsday, you will fail. You will not be able to get on the track anymore. Believe me, it happened to me multiple times.

So, how do you get through the doomsday? There is no helpful tip. You will just have to stick with your routine you did for past few days.

As I am finishing this blog post… I just realized I got through my doomsday. I hope you will enjoy this article as I did for writing it. If you find this blog good, follow this blog via rss/email subscription/twitter! That way you are giving me more determination to write next blog post.

Reference : http://wayofcoder.com/2011/07/how-to-stop-wasting-time-and-focus-on-learning-development/


Tip of the day :

Don’t believe what your eyes are telling you. All they show is illusion.
Look with your understanding, find out what you already know, and you’ll see the way to fly.”

Posted in Uncategorized | Tagged , | 2 Comments

Java Magazine is here: Grab your free digital copy

The first edition of the Java Magazine has arrived. Java Magazine is fully digital and offers an up-to-date selection of news, how-to’s, technical articles, profiles of innovative Java apps, and more.

Get your free copy by subscribing here.


Tip of the day :
Life is full of hills and valleys,
some of which want us to want to quit along the way.
It is during these times that we need to check our focus and remember that the focus needs to be on the finish, not the difficulties along the way.
Set your eye on the goals.
Do not be worried of the difficulties on your way, keep your focus on your goals.

Posted in java | Tagged , | Leave a comment

7 reasons to love Jboss Application Server 7

jboss-as-7
/as7/mainColumnParagraphs/0/2columnLeftParagraphs/0/image/jbossas7-icons-bolt.png Blazingly fast (<3s startup)

Services are started concurrently to eliminate unnecessary waits and leverage multi-core processors, while non-critical services remain passivated until first use. JBoss AS 7 offers a 10-fold reduction in startup time over previous versions.

/as7/mainColumnParagraphs/0/2columnLeftParagraphs/00/image/jbossas7-icons-feather.png Lightweight

An aggressive approach to memory management and metadata indexing keeps the footprint exceptionally small, enabling it to run with stock JVM settings and on small devices. Profiles can be used to tune the capabilities of the server.

/as7/mainColumnParagraphs/0/2columnLeftParagraphs/01/image/jbossas7-icons-plugin.png Modular core

JBoss Modules offers true application isolation, hiding server implementation classes and only loads the classes your application needs. Class loading is concurrent for extreme performance. OSGi support is available the moment you install the application server.

/as7/mainColumnParagraphs/0/2columnLeftParagraphs/02/image/jbossas7-icons-turnaround.png Hot, parallel deployment

Quick turnaround during development as a result of fast, concurrent deployment and the ability to edit static resources without redeployment in a flexible deployment structure.

/as7/mainColumnParagraphs/0/2columnRightParagraphs/0/image/jbossas7-icons-admin.png Elegant administration

Consistent and powerful management is available, ranging from a polished, user-friendly web console to Java and HTTP APIs to a command line tool to direct XML edits. Configuration data is centralized and user-focused.

/as7/mainColumnParagraphs/0/2columnRightParagraphs/00/image/jbossas7-icons-multiserver.png Domain management

JBoss AS 7 can be launched in two different modes. Domain mode allows you to run and manage a multi-server topology. Standalone mode runs a single server instance, a convenience choice for development. Many settings, such as port offsets and network interfaces, can be controlled with a single attribute. Rolling deployments are available.

/as7/mainColumnParagraphs/0/2columnRightParagraphs/01/image/jbossas7-icons-bestof.png First class components

JBoss AS builds on many best of breed standalone OSS projects: Hibernate, JBoss Transactions, Infinispan, Iron Jacamar, RESTEasy, Weld, HornetQ, JGroups, JBoss Logging, Mojarra, Apache CXF, and more.

Gotta have it? Want to learn more or get you hands on the code? Click here


Tip of the day :
Take time to think…
It’s the key of success.

Posted in java | Tagged , , | Leave a comment

Programming: the benefits of taking a break

  • You work smarter, not harder. Once, I worked really hard at a feature. For two weeks, 12 hours a day, I put in a lot of effort. After those two weeks, I took a break and came up with several ideas that made much of the work unnecessary.
  • You think more clearly. Being tired has a similar effect as being drunk. At the end of a day, I often kid myself that I’ll just get this one thing finished quickly to have a fresh start the next day. In reality, I usually need to clean up yesterday’s messes then. If instead I find the discipline to postpone, it only takes me a fraction of the time to accomplish the same task – with better results.
  • You can be your own pair of fresh eyes. If you want to write quality code, code reviews (including their extreme version, pair programming), are invaluable. If I let things that I have written lie for a few days, I have forgotten enough about them that I approach them with a fresh mind. I’m almost my own code reviewer, which allows me to really improve the understandability of my code.
  • Being nice to your body is good for your brain. Don’t forget that the latter is part of the former and adheres to biological principles. Especially people working with computers tend to focus too much on their brain and neglect the rest of their body. The brain needs oxygen, rest and nutrients to function at optimal capacity, so you need to breathe, sleep and eat properly.
  • Communication is a different way of learning about a problem domain. You can view programming as solving a puzzle in a problem domain, as finding the best tools, techniques, and libraries to write your code. If you take a break from coding, you can attack the problem domain from a different angle – by discussing it with other people. It doesn’t matter whether you do so via talking to face to face, via social websites, via email, via Twitter, or via other tools. Swapping experiences gives you a new perspective on your code without doing actual coding. In a way, web searches are a uni-directional way of communicating, but they have become too much part of the coding routine to be considered a separate activity.

From http://www.2ality.com/2011/07/taking-break.html


Tip of the day :
Anger is a condition in which the tongue works faster than the mind…
Smile is an action where everything work faster except the tongue…
So keep smiling…

 

Posted in Uncategorized | Tagged , , | 2 Comments

How to compile and build Linux kernel 2.6.xx

In this post I want to show you how to compile Linux kernel. I will compile the version 2.6.39.1 which is the latest stable version at the time of writing this post.

I use Debian GNU/Linux, with Linux 2.6.32-5-amd64 with grub2 but generally you can use any distribution to compile it.
Generally compiling and using your own Linux kernel is so easy but if you want to get involved more and want to manipulate some modules! it will be a little hard. but it is so exiting when you work with your own compiled Linux.

Here is the instruction:
1.Get the latest Linux kernel from Kernel.org . I use the version 2.6.39.1 which is the latest        stable version at the time of writing this post.

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.1.tar.bz2

2.Unzip the archive using the following command.

$ bzip2 -dc linux-2.6.XX.tar.bz2 | tar xvf

Replace your own version with XX in the above command.
There is README file in extracted directory that will help you to customize your compile.

3. Now call menuconfig function to config and customize kernel to compile. this command will show you a window to select and deselect different modules to compile.

$$ make O=/home/name/build/kernel menuconfig

The O= option determines the target directory to copy built files. if you use this option for this command you should use it for other commands too.

4. After config, use following command to make kernel. all files will be copied into /home/name/build/kernel

$$ make O=/home/name/build/kernel

5. Know use this command to install modules.

$$ sudo make O=/home/name/build/kernel modules_install install

this command will copy following files into /boot directory.

config-2.6.XX
System.map-2.6.XX
vmlinuz-2.6.XX

6. Know use following command to make a Ram Disk.

$$ cd /boot
$$ mkinitramfs -o initrd.img-2.6.XX   2.6.XX

note : some in distributions you should use mkinitrd -o initrd.img-2.6.XX  2.6.XX command to make a ram disk.

7. finally if you are using grub2, use following command to update grub and introduce newly compiled kernel to grub. this command will automatically scan /boot directory  and update the /boot/grub/grub.cfg  . you should just execute the following command.

$$ update-grub2

Note : if you are  using  grub 1.x  use menu.lst to introduce newly complied kernel.
Now reboot your system. you will see a new item with the version of compiled kernel. in grub menu. just select it and boot your system and enjoy using your own compiled Linux.


Tip of the day :
No one is born happy…
But all of us are born with the ability to create happiness…
So today, make others happy, Flash your sweetest smile…
HAVE A DAY FULL OF SMILES.
Every Little Smile can touch Somebody’s heart …
May U find hundreds of reasons to smile today and
May U be the reason for someone else to smile always …
Have a wonderful time.

Posted in Linux | Tagged , , , | 7 Comments

What If Drivers Were Hired Like Programmers?

Today I found an interesting post about hiring software developers!!

Although that is so funny but there was a really good point in this post, unfortunately in today’s world managers who hire software developers, anticipate that a software developer should know every thing about all  technologies and methodologies  related to software development process.

What if drivers were hired like software developers?

Job title: car driver

Job requirements: professional skills in driving normal- and heavy-freight cars, buses and trucks, trolley buses, trams, subways, tractors, shovel diggers, contemporary light and heavy tanks currently in use by NATO countries.

Skills in rally and extreme driving are obligatory!
Formula-1 driving experience is a plus.

Knowledge and experience in repairing of piston and rotor/Wankel engines, automatic and manual transmissions, ignition systems, board computer, ABS, ABD, GPS and car-audio systems by world-known manufacturers – obligatory!

Experience with car-painting and tinsmith tasks is a plus.

The applicants must have certificates by BMW, General Motors and Bosch, but not older than two years.

Compensation: $15-$20/hour, depends on the interview result.

Education requirements: Bachelor’s Degree of Engineering.

Reference : http://blog.jitbit.com


Tip of the day :
What looks to be nothing, finally that becomes everything..
And what is everything suddenly changes to nothing…
That’s life

Posted in Uncategorized | Tagged , , | 4 Comments

My first post

Hi
I’m so happy that after a long time I had enough time to create my own blog and share my knowledge with all lovely developers in the world.
In this blog you will find topics and posts about Java, Linux, software analysis, software architecture,design patterns and other topics related to technology and life.

Java Linux

By the way I’m always curious  to know about what and why of anything specially different technologies in software engineering and I will try to write about why and what of emerging different technologies and methodologies.

Sometimes you will find some great tips about studying and nutrition!! because I love to learn the best way of studying and memorizing thing!! you see, we, as software developers always face tones of documentations, books, blogs, technologies, methodologies, etc. So we have to learn how to study fast and to be accurate? and memorize tones of docs.
So time is passing by so much faster than us, and new technologies are coming and we have to keep up ourselves with them! and of course in this road we will enjoy a lot! because learning is always enjoying!

Study Hard

But what About nutrition! actually I, as a human(not a software developer), believe that every one should be careful about his or her health and as a software developer I have to eat the thing that will help me to be healthy, to code and think better , and enjoy while I’m eating (the most important one!).

nutrition

Of course I believe that life is not just coding! I love to travel and communicate with people, I love to sport specially running and volleyball and I really love to push people to succeed, even more than coding!!!

volleyballtravelrunning

All the posts that you find in this blog are my ideas and you might find some of them wrong! this way I’m really open to criticism and  ready to read your comments and I will enjoy to discuss about different ideas!

Please don’t forget to comment about my posts or email to Heidarzadeh2 AT gmail.

OK, I think that’s enough for my first post!

Have a wonderful time.


Tip of the day :
Learn to live… &
Live to learn…

 

Posted in Uncategorized | 1 Comment