Saturday, November 19, 2011

heard of Bro.grammer programmers ~ what makes one

recently there was a lot of hyped discussion over what one thinks of Brogrammer

@Quora: huge discussion over everyone's definition for a brogrammer
http://www.quora.com/Brogramming/How-does-a-programmer-become-a-brogrammer

@Hacker's News: if it's a sexist term (.....seriously)
http://news.ycombinator.com/item?id=3168038

@facbook: Get with the brogram
http://www.facebook.com/getwiththebrogram

well according to the general discussion
A Brogrammer is a programmer who instead of acting like a nerd, acts cool like a bro..... dude.

Symbols of a brogrammer
  • look good, always: stylish shades; dress like a hip-hopper or rockstar or be shirtless
  • code hard, test hard: don't leave anything un-tested
  • have a bro-tein: an energy drink
  • fine gadget choice: a cool rig to use technology
  • get a blanket: add on to exclusive look

Monday, November 14, 2011

Let's first make it work.....

Instead of knowing the REQUIREMENT.....

We love to show our capabilities and on our intention of delivering a better product to Client, add a lot more considerations to that Requirement.

I ended up creating an entire socket-programmed Custom HTTP Service and scrapping it off. :(

It's good. But what is not..... Is the act of delivering our considerations along-with the Requirement.

What Client wants is a robust implementation of just & just the requirement stated.
Finish that. Finish whatever more is required.

You'll always have time to come back if there is time and work on your considerations.

Several times it might happen that your considerations get served with the future requirements or get changed with the coming restrictions.
In both cases, you'll end up doing more work on it.

Though you might think Client doesn't understand but requires it.

Work on what they require first, and any problem that might come up because you didn't tackled your considerations can always be presented to them if there are collisions.

Implementing your considerations might become an overkill for actual requirement if not controlled.

Thursday, November 10, 2011

They say release Beta without hesitation... I publish ALPHA

My Problem:
Wherever I see a problem... I start designing/building solution for it.

Control Issue:
When I have solution for something, I start formulating it into a prototype/project or at least a although of entire solution.

Bad Habit:
Without reaching at a stable stage on existing projects, I keep spawning new and unrelated Projects.

After Effects:
* This keeps dividing focus on existing projects' completion.
* Increased frustration for blocked projects
* Some projects don't see day-(internet)-light
* Many ideas don't get implemented 'coz fear of increasing bucket size for started…paused implementations.

I've been thinking of a solution for in past year, and then last year I started of with an approach..... tried it more this year and seems easing the situation a bit, approach to Put a Pin on what you have instead of worrying for what you don't.

Pin IT:
Get done whatever you could in the initial torque on project start so it has a clear theme and evolving design to follow.

PUBLISH it as Alpha, if you don't feel it is better than that.
I've even just mentioned the concepts for the ideas which would require much much more effort.
Your own APP (Alpha Personal Project) would be out there, at least.

This is one of ideas, I'd create a service for..... to post ideas, like Open Ideas for anyone to work upon..... when you would love to have it and don't have time/money/skill for it.

OpenChaos: http://openchaos.cloudfoundry.com

Thursday, January 27, 2011

No Time-Consuming Visionary Optimizations In BEGiN.N.iN.G

Don't misunderstand me, let me make myself clear... I'm so in favor of optimized code and mostly (un)/intentionally break/fuse/remix design principles for optimized code structure.

Maximum %age of developers follow the standard principles and popular practices as a template for all of their work. It's pretty good to follow such development pattern as defining best practices specific to each and every need will highly increase redundancy and raise credibility considerations.

So, follow the most suitable design patterns... use the most efficient development platform...
and make it highly modular and universally reusable stubs...
But everything is good AT A STAGE and TO A LIMIT

[+] AT A STAGE and TO A LIMIT
If you are at initiation of developing a properly designed logic with code stubs that even have a remote possibility of being reused... should go for a generalized code.
But whats the use of spending your time in writing linked-generalized-stubs, when neither they have any chance of being used in another module, nor even being needed again in same module till any major change in requirements is there.


describing it my way, in one bad example:
Don't go RegExp matching variable, when you just have one value to match... and might need to match another value in far future.

Monday, December 20, 2010

encounter with GitHub's A.I. which is "purely artificial and poorly intelligent"

UPDATE: GitHub has pretty nice language statistics now trying to analyze and graph all programming languages used in Project.

+++++++++++++++++++++++++++++

Recently, I had an interesting encounter with GitHub's A.I. which was purely artificial and poorly intelligent.
I have a repo at 'https://github.com/abhishekkr/sitehoster'; it's an experimental web-server developed in 'Java' but it has been marked as 'Javascript'.

Now I'm a bit hard at things which don't work to their potential... but I don't think their is anything wrong in it.

So yeah there is an 'Artificially Poorly Inferenced Logic' implemented in so advanced GitHub
which could have been 'Smartly Easily Granted Control' to not so artificially intelligent Users

Now what this AI of GitHub does?
any GitHub user don't need it when they do all the following tasks manually:
creates an account; provides their ssh-public-key; creates a repository; setup a git repo on their machines; add/rem data to it; commits their code to that repository
And then they are clueless...
Then, this AI of GitHub comes to Rescue of poor, non-AI enabled users and saves their 'incapable minds' from deciding the technology category (language tag to be associated with the github-repositories) for their repository.

As, even though that sane GitHub User are the creator of that repository... they don't have the brain-cells to burn thinking what was the technology in which they actually just developed everything. 

So GitHub comes to your rescue, looks what is the initial code-file extensions committed to your repo... what is the extension of code-files acquiring maximum of disk space. Then it matches the extension with decreasing order of usability of a  'technology'. And you will be blessed with the 'language tag' decided with all this intelligence.

That's not all. This intelligence is so supreme that it's not allowed for anyone to manually edit the tag.
I don't know how tough job is it, a BiG single record change just same as change of repo-name... that too this will be in additional data model of repository, which should be even more easily separated to update.

Now, they don't manually change it... cool if they do, they will have loads of those requests from non-directly-paying customers or say public repo users.

Fine, how much EXXXXTRAAAA Work does it take, to add a new 'text field' ti 'repo-editing-section' and bind its value to 'language tag' section.

Hell yeah... I didn't think it through... I forgot that I never had the AI to identify that my 'Core-Java' developed Web-Server is actually a 'JavaScript' Project cuz of few demo web-apps added to show its security implementations.

I had a mail-conversation with GitHub staff, well they were real helpful in explaining their current state of AI but no proper reason WHY?


There are several more cases similar to mine... as below
=========================
=========================
Reference: http://support.github.com/discussions/repos/4282-language-tag-in-repo-should-be-matlab-not-objective-c
[Chat-Story]@25-Sep-2010
-----
Nick 'github-user' : got a repo at 'http://github.com/insilico/matsnprank' which is written in 'Matlab' but language tag attached to it is 'Objective C' instead.
-----
Tekkub 'responder' : change your file exensions from '.m' to '.matlab', it's your fault naming them particular way
-----
Nick 'github-user' : '.m' is a pretty famous extension used for 'matlab' too. Just changing a language shouldn't be a big deal.
-----
Tekkub 'responder' : there is not, sorry.
=========================
=========================
Reference: http://support.github.com/discussions/repos/5052-how-to-change-the-major-programming-language-for-a-project
[Chat-Story]@11-Dec-2010
-----
Mouhong Lin 'github-user' : I have project 'https://github.com/mouhong/sigma' in 'C#' containing some 'javascript' code. It's shown as 'javascript' code. How can I change major programming language tag?
-----
Petros Amiridis 'responder' : Its done automatically based on total size of all files. I'm afraid there is 'no way to change it manually'.
=========================
=========================
References: http://support.github.com/discussions/repos/3412-override-language-detection-within-source

another conversation on same lines.....
and there are lots more

Monday, October 18, 2010

wanna do Certification Course... think '3ice'

It has been a long time, since I've been hearing from all friends about 'thinking of doing' Certification Courses... and I've been giving them philosophy about why and why not, truly speaking maximum talk was on 'Why Not'.

Recently in pasty few weeks, total 5 people expressed their desire to do a certification course... so I thought why not give it a form, easing my psycho philosophy to be understood by them and all others and may be could also help some make a decision rather just following trends seen among masses.


if (
  ( wanna_buy_a_Certificate_to_your_Resume == true ) ||
  ( likes_Topic_but_unable_to_understand == true ) ||
  ( tried_Learning_but_Confusions_don't_clear == true ) ){

     suggestion = "OK... Just Do It";

}
else{

     suggestion = "Could always get a mentor (next-door or next-tech-forum) to guide,";

     suggestion += "Show your knowledge online 'cuz Certs ain't guarantee either,";

     suggestion += "Online resources are way more richer than what they are gonna tell";

}

 so you wanna do Certification Course... think '3ice'

Thursday, September 23, 2010

FB went offline, people were like they lost their Surrogates

I just remembered the climax of a fantastic 'Bruce Willis' movie named 'Surrogates' (http://www.imdb.com/title/tt0986263/) released last year, if you somehow missed the sight of it.

I was trying to open up my FaceBook HomePage on 23/Sep/2010 night, and it took like 5 minutes to load, followed by an error-message when I tried to post a message. I tried to refresh the entire page and what it said was "Service Unavailable -DNS Failure". Now, I don't know whether it was some un-expected update, a DoS attack, their infrastructure failed or some other digital/mechanical failure.
But, one thing I noticed is the amount of chaos it created and the magnitude of people tweeting, texting and mailing their failure to get on FaceBook. And, when it came back online... the LOL!!! and OMG!!! flying all over my news feeds from all contacts.
Even I tweeted it once... and even this blog-post could be called as an out-come too.

It reminded me of the shell-shocked faces of all human-natives of the Surrogates coming out of their houses when their Surrogates went dis-functional.

"oooooh I lost my Surrogated FaceBook Avatar"

and this reminds me one of fine lines from 'Sharon Stone' movie named 'Sliver' (http://www.imdb.com/title/tt0108162/) which goes like "Get A Life"