Wednesday, February 10, 2010

Coding Up Your Self Improvement Program

I’ll admit that I’m a software developer and that I spend up to 9 hours a day in front of a computer terminal, but I don’t think that it necessarily precludes me from the arena of self improvement. In fact, I have been trying to find ways in helping me to attain my full potential for a while now. And I also use software development methodologies as an aid!

For millennia the human race has been striving to better itself. Individuals try to make sense of complex issues and try to figure out how to get to where they want to be. In order to truly be happy, we must take our fanciful notions and find the best way to implement steps to take these notions and turn them into a final end result. You need a structured approach or else your end results will remain a scattered collection of beautiful, but useless, dreams. For a rather short time in our history, individuals have been trying to write complex software programs; trying to keep the ‘end user’ happy by writing programs that will fulfil their dreams - at least for a little while. Whilst one of these efforts is profound and the other less so, they do share similar strategies.

Writing millions of lines that actually do anything can only be done by using a structured approach. One of the first steps is to break down the task into a series of manageable steps. In IT parlance, this is called modularization. Most things in life are not one solid entity, but rather a heterogeneous collection of parts. So, when we look at any task we can – and must – break it down into its constituent parts. If we fail to do this then the task at hand will be to big deal with as a whole. Programmers identify the modules and write functions; real people identify the areas they need to work on in their personal life and go about devising schemes to improve them, or eliminate them.

In recent years computer chips have become more and more powerful. These chips are the brain of any computer; it is inside these tiny components that all user instructions are processed. As these processors have become faster and cheaper - allowing computers to have more than one chip - programmers have made use of something called asynchronous processing. In ancient times (about 10 to 15 years ago) a computer program would have to execute (implement) each of its modules (little tasks) one by one. When it executed a function, the main program would have to wait until the function had finished its job, before the main program could call the next function and so on. This worked but the process was slow. Nowadays we don’t always have to do this. Instead we can call a function and not wait for it to finish before we call the next function. We call the function and let it do its business. We don’t sit around worrying about it. We let it get on with things; it will tell us if it has any problems. The main thing is we can get on to the next task and complete the whole process much quicker using asynchronous processing.

So, what’s asynchronous processing got to do with real life? Everything. Too many of us spend too much energy on things we shouldn’t. If you’ve read anything on time-management, leadership or why successful people are successful, you’ll have come across the word ‘delegation’. Successful people are the planners, not the implementers. They have the big picture inside their head and they don’t risk getting sidetracked. They delegate the smaller tasks to others. They delegate to someone (or something) and move on to the next task (which they will also probably delegate). They don’t stop and wait for the task to be complete; they’re too busy getting to where they want to be. Successful people run asynchronous systems.

The biggest step in software writing is probably ‘reiterative development methodology’. In the bad old days there was (and still is) a methodology called SSADM. I won’t bore you with the details, sufficed to say that this approach called for meticulous planning before any line of code was ever written. This approach can be successful but in too many cases it was a total disaster. Too much time was spent planning and not implementing. By the time the ‘plan’ was finalised, the goal posts had usually moved, so that by the time the coding was started the project was already hopelessly out-of-date. Aspirations as to what the software should do had changed. As a programmer, there is nothing more frustrating than to finish writing software that no likes or wants.

The reiterative approach allows software programmers to write a small, scaled down prototype. The ‘end user’ can take a look at it and make suggestion as to how it should be changed. The programmer then changes the application to what the user suggests and adds a ‘little more meat’ to the application. The ‘end user’ takes another look and makes more suggestions and the programmer makes the changes and adds yet more meat to the application. This cycle continues until the end user is happy with the application. The advantage with this approach is that the end user can constantly test out the application and if he doesn’t like where it’s going he can request that the application changes direction. Goal posts change so software needs to be flexible to accommodate this.

We all should use this reiterative approach: make changes to our lives, and then re-evaluate. Then make some more small changes and then re-evaluate. It can be a big mistake to invest all our energies into the ‘big plan’. If the big plan doesn’t get us to where we thought we wanted to be, we may not have the energy to make another ‘big plan’. Life and dreams are fluid and so should our approach be.


Article By Robin OBrien

CLICK HERE FOR MORE INFORMATION ON SELF IMPROVEMENT"

Wednesday, February 3, 2010

Questions To Ask Yourself In Preparation For Self-improvement

Be all you can be, but it's not always in the Army. I often see myself as somewhat contented with my life the way things are, but of course it's hard to think of anything else when where are real issues to be discussed.

Still I aspire for something deeper and more meaningful.

So we're all pelted with problems. Honestly it shouldn't even bother or even hinder us to becoming all we ought to be. Aspirations as kids should continue to live within us, even though it would be short-lived or as long as we could hold on to the dream. They say you can't teach an old dog new tricks… or can they?

1. What do I really want?

The question of the ages. So many things you want to do with your life and so little time to even go about during the day.

Find something that you are good at can help realize that small step towards improvement. Diligence is the key to know that it is worth it.

2. Should I really change?

Today's generation has taken another level of redefining 'self', or at least that's what the kids are saying. Having an army of teenage nieces and nephews has taught me that there are far worse things that they could have had than acne or maybe even promiscuity. So how does that fit into your lifestyle?

If history has taught us one thing, it's the life that we have gone through. Try to see if partying Seventies style wouldn't appeal to the younger generation, but dancing is part of partying. Watch them applaud after showing them how to really dance than break their bones in break-dancing.

3. What's the bright side in all of this?

With so much is happening around us there seem to be no room for even considering that light at the end of the tunnel. We can still see it as something positive without undergoing so much scrutiny. And if it's a train at the end of the tunnel, take it for a ride and see what makes the world go round!

4. Am I comfortable with what I'm doing?

There's always the easy way and the right way when it comes to deciding what goes with which shoes, or purse, shirt and whatnot. It doesn't take a genius to see yourself as someone unique, or else we'll all be equally the same in everything we do. Variety brings in very interesting and exciting questions to be experimented.

5. Have I done enough for myself?

Have you, or is there something more you want to do? Discontentment in every aspect can be dangerous in large doses, but in small amounts you'll be able to see and do stuff you could never imagine doing.

6. Am I happy at where I am today?

It's an unfair question so let it be an answer! You love being a good and loving mom or dad to your kids, then take it up a notch! Your kids will love you forever. The same goes with everyday life!

7. Am I appealing to the opposite sex?

So maybe I don't have an answer to that, but that doesn't mean I can't try it, though. Whether you shape-up, change the way you wear your clothes or hair, or even your attitude towards people, you should always remember it will always be for your own benefit.

8. How much could I have?

I suppose in this case there is no such things on having things too much or too little, but it's more on how badly you really need it. I'd like to have lots of money, no denying that, but the question is that how much are you willing to work for it?

9. What motivates me?

What motivates you? It's an answer you have to find out for yourself. There are so many things that can make everyone happy, but to choose one of the may be the hardest part. It's not like you can't have one serving of your favorite food in a buffet and that's it. Just try it piece by piece.

10. What Really Makes You Tick?

So? What really makes you tick? You can be just about anything you always wanted to be, but to realize that attaining something that may seem very difficult is already giving up before you even start that journey. Always remember, that self-improvement is not just about the physical or philosophical change you have to undergo, but it's something that you really want.


Article By Ted Cedar

CLICK HERE FOR MORE INFORMATION ON "SELF IMPROVEMENT"