Monday, July 04, 2011

Motivation, Ambition, Concentration for Technical Mastery

Motivation, Ambition, Concentration

******
MOTIVATION: ENFP Champion appeal
Q) Why should "I" learn this? In what way will it help me or others?
Ans)
A) Real life example which will HELP an actual person(Myself/Others) by
a) Making me stronger.
b) Making it more understandable.
c) Removing/Reducing work.
d) Making it faster.
e) Making it do more in less.
f) Making it easier.
g) Making it better.
h) Making it more adaptable.

ex: Re-scheduling work items in a cafeteria will help both the cook and the customer give and get better service.
Both of them will bless you for your help.

B) The reason for learning DS or Algos is:
1) It mimcs the way the mind works (as in AI)
2) Smarter programs which organise better and make better informed choices.
3) Faster, cheaper, better.

Q) What is the Relevance of what I'm learning to what I want to achieve?
I need to search through billions of search items within seconds.
What you need is a HashTable. Size doesn't matter with HashTables.
A Hash Table can chomp through millions or billions of search items within milli-seconds.

Information Ingestion: INTP/Visual Intuitive appeal
Absorbing information parallely:
Find the right source of info - Find a book which you would write for yourself.
**Analogy - Train as a linked list. Room Keys mapped to Room No is a map.
Clock uses modulo to fit 2*12*60*60 seconds in just 60 positions.
Completely explains concept with just an example.

Diagrams - showing systems and subsystems with relations to one another, the flow of information from one to another,
Timelines - to show time related order of processes,
Graphs - intuitively sense the general trend that is followed. Stay on track during text explanation by orienting self through the source, destination and approximate path.
Example: Case-study exhibiting how and why the paths are taken through the system.

Experimentation: Get the info by experimenting on a simulation or code.
Coding - Code in highest level possible. Use lower levels for optimization (done last).

Glossary of Terms - explanation for commonly used terms.
Tutorials - Read up tutorials and annotate them for future reference.

Prototyping:
Mapping to Known systems - mapping to same things in other places.
Check the input/output/error interfaces of your model ie whether it snaps into place instead of the real thing.
Test the model using normal input first and then wrong input and perverse input.
Check the implementation ie the subsystems Do a walkthrough of the UseCase Scenarios to check that all subsystems are also modelled accurately.

********
[STARTING TROUBLE. Getting your feet wet with exploring/understanding a system]
Associating with the thing. Getting a feel for this thing by walking all round it.
Trying to see it from slightly different angles.
Feeling in some way in sync with it. Trying to get under its skin.
Knowing the flow of control in the system - "First it goes here, checks for this, then in case 1 does this else does that..."
Avoiding making eye contact with the system, hoping that if you don't do that you won't have to really take the trouble of making friends with it. Effort to get past the unknowns and strange things it may offer.
Black-box view works so why tamper with it to open a Pandora's box i.e. why multiply unknowns.
Why go from "I don't know how the whole thing works, to, I don't know how these subsystems work" which is exactly the mark of an expert in the making.
"I don't know mathematics at all!!" is more solidly formidable than
"I don't understand matrix multiplication".
It's always easier to reject the whole thing than its part.
I can hope to learn matrix multiplication within days/months but learning "Mathematics" is another ball game. Similary learning Matrices is tougher than just the multiplicaton.

"The negative of the system as a whole is more than the sum of the negatives of its parts."

Solution:
+ List the unknowns as explicitly as possible on paper.
+ List the known as much as possible.
+ To even be able to list the unknowns requires reflection and research. Just enumerating and classifying unknowns increases both knowledge and familiarity with the system.
+ Fleshing out the bones in an iterative manner.

A feeling of being overwhelmed by
1) The branchiness of the system 2) The depth and width of the branches.
Generally prefer balanced/symmetrical binary trees?? i.e. compactness.

Not all branches may be as deep (actually may be scanty).
Jumping to conclusion that if one particular branch is dense depth/width wise same will be the case for the rest of the branches.
Solution:
1) Determine the distribution of density/complexity across the problem.
2) Determine the relevance of knowing a particular branch currently.
3) Choose which compartment of the cupboard you're going to start with. Choosing a small symmetrical compartment with good logical structure is best as it sets the mood for the rest of the clean-up.
3) Use paper/pen to work out a particular branch. Draw diagrams to illustrate the flow.

Chunking the info to keep the details organised.
Tidy up the mental closet by concentrating on understanding/tidying only a part of it.
(Not wanting to associate with it.
Trying to keep a single view of it.
Not bothering with getting different views of it.
Not wanting to "invest" time and effort in getting to know it.
I'm not really going to be doing this anyway etc.)


Draft material for a blog on Motivation, Ambition, Concentration
>>>>>>>

Instances which overcame resistance to learning something :

Positives :
----------------

"This is easy pickings"

"I only need to repeat this formula so many times and I'll get the prize. If that's what it takes so be it..."

"I only need to learn these basic steps to be able to do this"
(howto approach, need-to-know, selective ignorance, acknowledge the fact that you're no expert)

"If I understand this one crucial thing I'll understand the whole thing"
(holistic, top-down approach, crux of the matter, less effort turns complex to simple)

"If I do this I'll get an edge" "I must learn this esoteric factoid for future use in emergency"
(special knowledge)

"This is powerful and highly desirable"

"If HE can do it, I can do it no probs", "How does HE do it"
(watch, observe)

"If I don't do it, I'm a dead duck"
(ask for help, acknowledge your ignorance)

"I'm going to become strong by doing this"

"Hmmm... This is interesting... Wow.... Wonderful... How does this work..."

"I'll show him how to do it the buffoon. Hmmm... It's not as easy as it looks... Maybe I'll have to put in more effort"

"I'll prove him wrong. I Know I can do it..."


Negatives :
----------------

"Maybe if I ignore it, it'll go away"
(If I ignore it anymore I'll no longer be able to have a choice and then I'll have to lump whatever happens)

"You mean to say that I've got to jump through so many hoops to do such a simple thing.... Maybe I'm better off doing what I already know."
(Learn by rote esp. Learning specific short-cuts for a task,)

"I don't even know the words you're saying. It must be a very complex thing..."
(Learn the talk/terminology relate it to graphs, sensations...)
(Learn by Doing - many things are more complex in words than in actions.
Example:
1) It's easier to use the wizards in Visual Studio than to describe how to use them,
2) xml books make the subject esoteric but writing and tweaking xml files is easier to get it to work
)

"It looks very dark in there, I wonder what kind of devils live there who'll eat me alive...."
(Gather first hand knowledge by "Take a breath, Jump-in and Hope for the best", be part of a group aka job interview)

"There are too many things I need to keep in my head at a time"
(slow down, solve one thing at a time, write down on paper, capture the many things into a mind-map, concentrate on the root of the problem, play with a toy problem, concentrate on point-solutions instead of a general solution )

"There are too many things happening in parallel at a time"
(Graphs, Flow diagrams, timelines, time sequence diagrams etc...)
(Heuristics i.e. knowing the safe zone while driving behind another car)

"I only have 2 hands how can I do so many things at once"
(Tools, delegation)

"That looks too complex maybe if I learn something else it'll become easy"
(Prepare for the final task so you'll need least adaptation finally. Toy projects help in simplifying the task but keeping it the same)

"I don't even remember all the details"
(put down on paper what you remember, extend what you know, try to remember scenes instead of information)

+ Hearing/discussing a problem with someone. Classroom introduction helps.
(Not having to initiate the learning process, reduces the effort to be put in.)

+ Necessity to understand a concept for performing a task.
Being faced with a new and previously unknown/unpleasant task.
(Getting into new project, delivering a seminar, teaching a course)

+ Seeing someone else doing something makes it look achievable,
(ease of learning something specific  - from seeing someone do it, instead of learning the whole hog or spending time in trial and error.)

+ Not taking the task seriously
(Playing around with it as in guitar, attending an exam with acceptance of failure.)


+ Preparing for something which is not be needed now.

Wednesday, January 12, 2011

Back to Basics - The 3 R's of Education - Reading, wRiting, aRithmatic

Reading comprehension
Writing - Essay and Precis writing
Arithmatic - hmmm.... (mental math perhaps)

Frequently Unseen Skills:
Resourcefulness
Creativity

Before one complains of not having a perfect academic record here is what businessmen say they want from employees : India's lost generation: A systemic risk?

Like 'paper money' certificates follow the law of demand vs. supply. Certificates act as a filter but do not by themselves ensure quality. Quality in terms of reasoning ability, deductive ability, reading/writing/speaking skills or creative ability.

I think creativity though bandied about a lot is only "required" for creators like inventors, designers etc who are labelled with "need to be creative".

What an employer looks for are basic delegability i.e. if I give this task to him/her will they complete without requiring help. This of course requires resourcefulness or jugaad as per expectations of employer.
At most having bit more vision as in directing/assigning tasks to others and "getting things done" will get you to managerial level.

Ironically, any more creativity/resourcefulness than that might require self-employment :-)
----
Either way Relax, YOU have an opportunity NOT a problem!! :-)

Suggest you to start or join an open source project on github.
The sooner you start the better esp. when you've loads of time to learn new tools and explore more. You can learn a lot from others while working hands-on on a live project.

Each hour you spend finding out how to do something is like a trainee pilot logging in flying hours. You'll become real good with every passing day, week and month.

You already know some web development so you can join any of the web apps developed using php, python, rails etc. You can pick up any language as you go along with an interesting project. Internet is full of videos, wikis, howtos, free resources to learn. All you need is interest and time.

The below list may seem like a lot of work. It's not, it's a free education you won't get in any college or work-place. You're self-learning all the SKILLS you require to be a good software engineer (irrespective of years of experience).

Best to start with
1) Installing the software on different operating system (using virtual machines).
2) Finding, reporting installation bugs or bugs found while using the software on github repository. This will help you get used to bug-reporting do's and don'ts.
3) Find gaps in the documentation and suggest changes via github pull requests.
4) Finding work-arounds or fixes by searching the Net for the error message. You can include the fix in the pull request to main project source code.
5) Write plugins or extensions to the code.
6) Add features that you require and contribute them back.

If you do this for a year or two you'll learn more than any course can teach you. You'll teach yourself all SKILLS you need to know. The degrees will be paper certificates for job applications only.

Finally, unlike most other candidates you can actually show-off the quality of your skilled work by just going to github.

Tuesday, January 11, 2011

Youth For Seva Workshop on using FOSS softwares for Teachers

Youth For Seva Workshop on using FOSS softwares for Teachers

1) Though many schools don’t even have electricity let alone computers it won’t be very long before laptops etc become easily available for cheap.
2) All those older computers that are being replaced by newer ones can be used for free by teachers, schools and students.
3) By the time we can build up free learning resources for children - similar to wikipedia but more targetted as learning sites- the other resources will come through somehow.

Good to hear that YFS is doing all this and more.
Thanks to Naren Ramakrishnan for sending the YFS website and info.

See Also:
My blog post on Moodle info
Edubuntu (ubuntu linux for education)
Edubuntu Software Screenshots
Edubuntu Applications list

Edubuntu for Intel PC download DVD by torrent
Virtual Edubuntu Trial Session online
----
Expanded list of Edubuntu Resources below with brief descriptions:

KDE Edu usage videos by Google Code-In Student:
----
Gbrainy for puzzles, brain-teasers, memory-trainers, visually and auditorily activating your brain
----
GCompris Learning Games for children age 2 to 10
----
Tux4Kids learning games and edutainment (Math, Paint, Typing)
----
Gnome Nanny protect kids from bad sites/regulate internet time
----
iTalc - monitoring and remote controlling your school's network for teachers
----
LTSP - Share resources like servers/software/internet/anti-virus etc among school computers
----

Saturday, January 01, 2011

IISC CEC (Continuing Education Centre) Technical Courses

IISC Technical Short Term Courses (4-5 months on Week-ends)

IISC Activities

The innovative Young Fellowship Program in Science for young students at the +2 level and Young Engineering Fellowship Program for third year BE Students have received overwhelming response.
The Centre for Scientific and Industries Consultancy, the recently founded Society for Innovation and Development, Sir Dorabji Tata Centre for Tropical Diseases and Advanced Bio Energy Technology Society provide an effective interface with industry.

Extension Lectures

Many faculty members of the Indian Institute of Science have volunteered to deliver lectures in institutions of higher learning at the technical level, in Engineering and science colleges at semi—technical level and in schools, public/cultural organizations, Doordarshan and All India Radio at the popular level.
These Lectures on Science, Engineering and Technology subject are being arranged not only in Bangalore, but also in centers within a radius of 500 KM around Bangalore mostly in the State of Karnataka. Many of these lectures are supported by demonstration, slides or models. The audience will often have a chance to personally interact with the speakers after the talk to learn more in their area of interest.

SC Centre for Continuing Education Extension Lecture Programme
Extension Lecture Programme Details (PDF)

Centre for Continuing Education

Indian Institute of Science
Bangalore 560 012
E-mail: chairman@cce.iisc.ernet.in

Qualifications

B.E/B.Tech./MCA or Equivalent. Need Certificate or Provisional Certificate (not mark-sheet)
See the pdf files for each course as required for exact details as in some places B.Sc. is mentioned.

Courses

Interesting courses held in 2010 (Jan-2011 to May-2011)

Strategic Management :
How to arrive at strategic decisions in business for managers and entrepreneurs.
Project Management:
Howto go about managing your project
Intelligent Agents and Applications:
Applying AI/Expert System concepts in your programs
Communication Protocols Design & Testing:
Howto design a Network System/Protocol

Important Dates

Issue of application commences (@ Rs. 150/-)  15-11-2010 - MONDAY
Last date for submission of application 03-12-2010 -FRIDAY
Intimation for aptitude/objective test* 08-12-2010 - WEDNESDAY
Aptitude / Objective test * 19-12-2010 - SUNDAY
Intimation of selection  22-12-2010 - WEDNESDAY
Receiving fees  From 27-12-2010 To 12-01-2011 - MONDAY To WEDNESDAY   
Classes Commence  20-01-2011 - THURSDAY
Final Exams Commence  23-05-2011 To 28-05-2011 - MONDAY To SATURDAY
  • (only if required) - Please check with PROFICIENCE Office on the specified date.
Reference:
Proficience Courses for Jan-May2011
Full Course Details PDF
IISC-CEC Enquiry WebPage