Friday, November 25, 2011

Synaptic Self

Some change is necessary .... the weather is changing ... Pearl Jam unplugged show is still magical and inspiring ... it's interesting how the best things and the worst things overlap ... like right now that they can both happen with the exact same probability ... how black and white co-exist on top of each other and an ant's step is the dividing distance ... NBA 2K12 is one of the best pieces of software I have ever seen ... no one will ever be better than MJ ... need to redefine the priorities ... need to reorganize and re-assemble the crew ... authenticity is better than eccentricity ... I'm still alive .... how easily do we not see all that needs to be seen ... how easy can it all slip ... how easy can opportunities fade ... how easy can friends betray without anyone even themselves sensing ... need to get back to workouts ... Eddie is real ... Slayer is on top ... American Music Awards sucks big time ... all winners are in fact winners of the pretending contest ... devoid of meaning ... authenticity lost ... real men are still there ... the pillars to construct on ... Wade's moves have a flow like no one else ... I hate lies ... miss Seattle sound so much ... the attitude mainly ... miss teaching ... Opeth rules ... the AI and animation in NBA 2K12 are unbelievable ... what was pure imagination in the basketball games of yesterday have become the actual concrete reality today ...Whiskey so smooth ... Even Flow ... thoughts arrive like butterflies ... he don't know ....so he chases them away ... should I chase them away? .... oh ... I'm still alive ...

Monday, September 12, 2011

Refactoring

Refactoring code is like being in the middle of a combat field. You study, change, fix, enhance, test, change, design, observe, reduce, change, optimize, extend, measure, change ... just like you would slash, guard, run, move, stop, breathe, hit, defend, jump, focus, push and attack in the middle of an ancient war.

In both, the outcome is good as long as you are alive, moving, changing, doing and commanding every second. Your failure is the moment you feel secure and satisfied.

Both do not rely on grand design and strategies, both bring out the best out of you, both often require you to do before you think, both show you the meaning of every instant, both value your sub conscious self over your conscious reflection, both need you to hug the opportunities of failure with ultimate courage and both require Real Men!

When no colossal armies are around, waves of uncertainty in the horizon, gotta grab the sharpest blade and dive into the adrenaline pumping moments of life, looking for none but miracles and staying true, every moment.

Just like nature itself, how it continually moves and makes and breaks.

Lets work carefully on good creations, only to watch them shattered to pieces while being done better, all by us, lets embrace the destructive nature of change and look forward to the rising sun...

Tuesday, September 06, 2011

The Rare Breed

Looking for a programmer for an upcoming unannounced game project. The ideal candidate should be able to carry a Generalist Programmer title and have:

Mandatory Attributes:
1 - Showing to work on work days.
2 - Being able to self manage.
3 - Honesty.
4 - Willing to learn new things.
5 - Willing to write any code.
6 - Carrying a bigger sign of Pragmatism than Idealism.
7 - Not afraid to fail.
8 - Aware of the concept of self sacrifice for team excellence.
9 - Willing to help the group.
10 - Responsible.
11 - Familiar with the word: Commitment.
12 - Disciplined.
13 - Able to see out of the box.
14 - Brave.
15 - Time conscious.
16 - Creative.
17 - Passionate.
18 - Believer.
19 - Patient.
20 - Good focus abilities.

Optional Attributes:
1 - Good knowledge of Programming.
2 - Good knowledge of c/c++.
3 - Relevant work experience.

Drop me a line if you are one or know one around. (I am aware that this is a rare breed!)

Friday, August 26, 2011

Zen Coding

You wrote the code, now you have to build it, it takes a while before you can see the results. You see the results, bring down the application, write more code and build again. In most serious applications the build time is something considerable. It is the time the machine needs in order to be prepared for your commands. To you it can feel like a short recess, or is it?

The build time is very clear for the machine but it is a very critical time for the coder. Why you say? Lets see. There is a huge tendency for coders to fly away during this time, which can be sometimes rather long (it can include both the code build time and the application startup and initialization time), it seems to be the best time to check the emails again, read a bit more of that article in the open browser, do a few more clicks on that sporadic junk web MMO, try to be cool in the social net or a million other small time suckers that we are all aware of. Why should it matter anyway, the machine is building and there is nothing else for me to do!

Well, there are three main issues with the above scenario:

1 - A shift of attention during this time is a context switch for the brain which can help you forget all the thought process and data you had regarding your problem in your mind. The longer this break away is, the higher the risk and it is quite easy to completely forget what it was you were working on once the application is up for testing.

2 - The time when you stop coding and wait is the best time to focus more on the problem at hand and even if you stop thinking about anything in particular (a zen state), your subconscious will carry on and try to work on the problem from different aspects. This could increase your problem solving quality and over the course of the day, highly reduce the number of times you would need to follow the code/build process for one specific problem. (Providing you with a lot more free time at the end of the day)

3 - Once you are carried away, there is no guarantee that you will come back and test the application once it is up and ready for you, you might spend a lot more time on the other task you started and who knows, maybe even get involved with the article for more than thirty minutes.

So before jumping out to do something else right after you initiated the build process next time, double check and see whether it is going to really be in your benefit and consider the negative effects it can have to your overall development quality. It is not easy but it could be well worth it.

If the problem at hand is too easy and there is absolutely no need for thinking more on it, you can always think about all the things you can do to reduce the lengthy code build time.

(from http://xkcd.com/303/)



Wednesday, August 03, 2011

The new Hell

We recently thought it was a good time to upgrade the tools and library code that we use. So we went on and upgraded to VS 2010, used the latest version of OGRE 1.8 (un-stable), upgraded almost all other dependent libraries like PhysX, NxOgre, OgreVideo, Theora, ogg, vorbis, ...etc. Recompiled all the ones that had the source code available using VS 2010, quickly fixed the errors related to porting and put all where they belonged and tried to run the game with the old levels we had. Guess what, nothing worked!

Serious crashes and hangs everywhere.

Hmm... it might be related to the new OGRE we thought, maybe because of the way we have changed the use of Threading? Maybe an incompatibility with the new OpenAL? Can it be related to VS 2010? So we started.... we started to try out all different permutations possible with the libraries, ... the new code with the old OGRE, the old code with the new OGRE, the new code with VS 2008, OGRE 1.7, ... OGRE 1.6 ... and any other imaginable configuration, hoping to find the exact module causing the new issues. After almost a week, nothing was found! Strange stuff happened with every change.

Now we are back to the old code base that runs perfect on VS 2008 with all the rusty libraries that are rock solid. Will follow the upgrading of the libraries sometime in the future but this time one by one with proper test suites to run after each change.

Lesson learned: Do not upgrade everything possible over NIGHT!

Wednesday, July 27, 2011

Looking Back

Captain Gustav stared at the tides ... face looking as dead as death itself ... thinking about how it ended this way ... re-living the events to mark the mistakes with his sharp blade ... givin' it a blow with the revolver attached to his belt ... sipping the Whiskey ... feeling down and strong ... he watched the match go on fire after a seemingly useless attack at the match box ... giving life to his cigar just to watch it die ... his mind wandered everywhere ... remembering the cold storms and the many times he danced with the angel of death while holding stiff to the wheel ... taunting and screaming at the mighty Poseidon with tears merged with the burning storm rain ... inhaling the soul of his cigar while watching the climax at its tip ... reminding him of the god defeating moment while he was one with his ship ... one with his crew ... predicting every motion of the raging sea ... seeing from the eyes of the god of the sea ... exhaling the baptized soul of his cigar while watching the still sea from his motion-less and quiet vessel ... but feeling the storm stronger than ever .... the frightened and shivering smoke moving away from him crying about the storm they saw ... understanding very well how he would like to torture the whole cigar and lett its pure soul experience the most frightening of all storms ... his storm inside ... the one not played by Poseidon ... the one that caused the god to blow the wind of death on the sea ... how he felt the Whiskey running away when vaporized by the heat of this storm ... the illumination of another inhale ending moment calming everything inside him for a moment ... whispering to him how fortunate his lost crew were to not have been by his side in this storm ... Captain Gustav gazed at his revolver ... this time lying innocent ... looking like a savior ... how it might have freed many souls from their inner storms ... the storms with no preparation signs ... his left hand freed the cigar ... threw it in the dead sea ... with a hidden hope that its burning soul might awaken the life sucking waves of the honest storms ... something ... anything to calm the inner chaos ... this .. he had to bare ... this ... had to go away .... this ... should inject more will into his old and tired body ... this ... needed to go away .... dark cold killing storm is in the horizon ... Poseidon shall rise again ... with a confident face and a brittle body ready for handing over the throne ... alas ... no god has fought the inner war!

The End of the Line

What would have happened next if most of the seven Samurai had not died after trying to defend the village? How would they have felt after the success? Would they have regret the unpaid effort? Would they have extracted meaning from the whole scenario? Would Kyuzo have continued his swordsmanship practices like it was the first time he had the blade in his hands? Would Kikuchiyo have maintained his built up attitude? Would they have stood for the village again? Would they have witnessed their own descent? Would the hunger have fed with greed?

Is death the only option for eternal success? ... maybe yes... maybe not ... probably not for the people raised with Bushido which is said to be the "Way of Dying" or living as though one was already dead!