Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

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