Tuesday, October 9, 2012

why re-invent the wheel... Music Analogy

have been a curious kid...
used to spend hours finding new mathematical formulae ending up knowing it will be taught in higher class...

have been hearing a preaching since childhood, don't try to re-invent the wheel... but as any other kid never listened
and still don't.....

it's like Religion asking people not to find out how man came into existence as the Book already told...
and it's also like don't improve over it as there is a way to do it by someone very respected.....

now why I suddenly decided to blabber on such a topic where everyone already have there opinion and so.....
again, just trying to re-invent the wheel (else it would remain the multi-gonal irregular shaped)

so, here is a new analogy for people believing in it or not...

Music.....
no no, I wouldn't discuss about different Genres evolving through centuries... that will be very deep and philosophical..... and also not particularly my area of expertise

would just give some example of same (urdu) poetry sung (not re-mixed) by different legendary (Indian/Pak) singers... and not describe anything as for people capable of forming there own opinion, this much is enough... for others, I don't care

Poetry (Ghazal by Mirza Ghalib) : Har Ek Baat Pe Kehte Ho Tum Ke 'Tu Kya Hai?'
#ing is 7,6,5,4,3,2,1 to give a contemporary, old and back flow


(7.) Papon, KarshKale, MidivalPunditz:  http://www.youtube.com/watch?v=7bPU07RQuYA



(1.) by Kundan Lal Saigalhttp://www.youtube.com/watch?v=NkQ0poMB0as


(2.) by Lata Mangeshkarhttp://www.youtube.com/watch?v=8zFw7YMJUSk


(3.) by Ghulam Alihttp://www.youtube.com/watch?v=uvcrWgjLguQ


(4.) by Aabida Parveenhttp://www.youtube.com/watch?v=bi6tSZFIf2o


(5.) by Jagjit Singhhttp://www.youtube.com/watch?v=DinEYZvLuxk

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