நேரமாகிக்கொண்டே இருந்தது; வெளிச்சமில்லாத இடத்தில் நேரம் போவது சற்று கொடுமையாகவே இருந்தது. ஏதோ வெளியிலிருந்து வருவது போல் இருந்தது. கட்டையான குரலில், "வாங்க போலாம், அது நமக்கான விண்கலம் தான். இன்னும் ஒருமணி நேரத்துல பூமிக்கு போயிடலாம்", என்ற இயந்திரமனிதனின் கட்டளையை ஏற்றுக்கொண்டது போல கரிகாலன் வெளியே வந்தார்.

நாசா விண்கலம்
நாசாவின் விண்கலம். பட உதவி: நாசா
மிகவும் நெலிந்து போயிருந்த கரிகாலன் கடந்த 20 நிமிடங்களாக உணவு எதுவும் எடுத்துக்கொள்ளவில்லை. மின்னலொளி யில் இயங்கும் வீட்டின் மின்சாரத்தை துண்டித்திருந்தார். பூமியைப் பற்றிய நினைவுகள் வந்து போயின. கடந்த மூன்று ஆண்டுகளில் தன்னுடைய விண்கலத்தையும், இயந்திரமனிதர்களையும் தவிர வேறு எதையும் கவனத்தில் கொள்ளாத கரிகாலன், தன்னுடைய கொள்ளுப்பேரன் மூன்றாம் கரிகாலனையும், எள்ளுப்பெயர்த்தி நல்லினியையும் வீனசிலிருந்து பூமிக்கு வரச்சொல்லியிருந்தார்.

கரிகாலன் 2020-ம் ஆண்டு புவி வெப்பமயமாதலும் , கொடிய நச்சு பரவுவதன் காரணத்தாலும், செவ்வாய் கிரகத்திற்கு நுழைவிசைவு வாங்கிச்சென்றார். பூமியிலிருந்து வேலைக்கு ஆட்கள் வருவதை செவ்வாய் வாசியினர் விரும்பவில்லை. ஆயினும், ஆயுளை நீட்டிக்கச்செய்யும் ஆராய்ச்சியில் எலான் மஸ்க் விருது வாங்கியிருந்த மாறவர்மனின் கூற்று பொய்யென நிறுவியிருந்ததால் செவ்வாய் செல்வதற்கு நுழைவிசைவு கிடைத்தது.

எலான் மஸ்க்
எலான் மஸ்க். பட உதவி: விக்கிப்பீடியா
இரண்டு ஆண்டுகளில் மாறவர்மனும் கரிகாலனும் காதல் திருமணம் செய்து கொண்டனர். இரண்டாம் கரிகாலனும், மூன்றாம் கரிகாலனும் மாந்தர் படியாக்கம் முறையில் உருவானார்கள். ஹ்யூமனாய்டுகளை கொள்ளுப்பேரன்களாகவும் எள்ளுப்பெயர்த்திகளாகவும் தத்தெடுத்துக் கொண்டனர். 2030, செவ்வாய் பகுதி-33 நேரப்படி காலை 9:00 மணிக்கு பூமிக்கு முதலாம் கரிகாலன், மூன்றாம் கரிகாலன், நல்லினி, மாறவர்மன் என அனைவரும் வந்திருந்தனர்.

மாறவர்மனின் கையிலிருந்த திறன்கடிகாரம் , 2021-ம் ஆண்டு நவம்பர் 24-ம் நாள், இந்தியநேரப்படி இரவு 8:35 மணிக்கு பூமியில் நடந்த இயற்கைப் பேரழிவைப் பற்றிய காட்சிகளையும் , அதன் பகுப்பாய்வுகளையும் , மனித உயிரிழப்புகளையும் , துயரங்களையும் அனைவரின் கண் முன்னே கொண்டு வந்தது. அரை மணித்துளிகள் இக்காட்சிகள் அனைவரின் கண்முன் தோன்றியது. கரிகாலன் கண்களில் நீர் தாரை தாரையாக வழிந்தோடியது. ஒருவொருக்கொருவர் பார்த்துக் கொண்டனர், எதுவும் பேசவில்லை.

கரிகாலன் தன் கண்களை மூடினார், பிறகு திறக்கவே இல்லை...

முற்றும்.


குறிப்பு: இந்தக் கதை, வா. மணிகண்டனின் நிசப்தம் ப்ளாக்கில் நடந்த சிறுகதைப் போட்டிக்காக, Oct 5, 2017 அன்று எழுதியது. போட்டியில் என் கதை தேர்வாகவில்லை.

2020-இல் நடப்பது ஒத்துப்போகிறது. அதனால் குறிப்புகளை சேர்த்துள்ளேன்.


அடிக்குறிப்புகள்
If you want to get a job in any software company, and you are ready to learn anything, then try the following items.
All about Algorithms
Algorithms forever
Note: At least 50% of the software engineers may not even heard of these algorithms.

First start with Linear data structures and algorithms.

  • Arrays
  • Linked List
  • Stack
  • Queues

Then move to basic algorithms :

  • Sorting - Merge Sort, Insertion Sort, Quick Sort, Number of inversions
  • Matrix Multiplication (just know the algorithm, if not implement it)
  • Prime Sieving
  • Modular Math including multiplication and division
  • Euclidean Algorithm for GCD, Modular Inverse, Fast Exponentiation
  • Fibonacci number with matrix multiplication
  • Probability distribution and expected value
  • Stats - Mean, Median, Variance, Bayes theorem

Then one can learn some popular algorithmic techniques:

  • Divide and Conquer - Binary Search, Maximum Subarray
  • Greedy Algorithms - Activity Selection, Huffman encoding
  • Dynamic Programming - Matrix Chain Multiplication, Knapsack,
  • Linear Programming - Variable Maximisation, Linear time sorting
  • String Algorithms - Manacher, LCS, Edit Distance

Then comes some typical non-linear data structures:


  • Trees - Binary Tree, General Tree, Lowest Common Ancestor
  • Binary Search Tree - In order Traversal, Level order traversal, finding kth largest element, diameter, depth, number of nodes, etc.
  • Heaps - Array Implementation, Heapify, Heap Sort
  • Union Find
  • Hash Table - Linear Probing, Open addressing, Collision avoidance


Then you can learn about Graphs:


  • Adjacency List, Adjacency Matrix, Weighted Edge Graphs
  • Basic Traversal algos - Breadth First Search, Depth First Search, etc
  • Shortest Path Finding Algorithm - Dijkstra, Floyd Warshal, Bellman Ford
  • Minimum Spanning Tree - Kruskal's Algorithm, Prim's Algorithm

By this time you are already pretty good with programming. You will do better than most of undergrad CS students. If you want to learn more and delve deep read more.

Advance Tree and Graph :

  • Balanced Trees - AVL, Red-Black
  • Heavy Light Decomposition, B+ Trees, Quad Tree
  • Advance Graph - Min Cut, Max Flow
  • Maximum Matching - Hall's Marriage
  • Hamiltonian Cycle
  • Edge Graphs / Line Graphs
  • Strongly Connected Components
  • Dominant Sub-Graph, Vertex Cover, Travelling Salesman - Approx algorithms

Advance String Algorithms :

  • Knuth Morris Pratt Algorithm
  • Rabin Karp Algorithm
  • Tries and Compressed Tries
  • Prefix Trees, Suffix Trees, Suffix Automation - Ukkonen Algorithm

Advance Math:

  • Fast Fourier Transformation
  • Primality Testing
  • Computational Geometry - Closest point pair, Voronoi diagram, Convex Hull.

General Advance topics :

  • Iterating through all combination / permutation
  • Bit manipulation
Well, once you know all of these, you are ready to think like an algorithm designer, welcome to the world of Algorithms :D
Well, last year I thought it was the block chain technology which is going to dominate in future but soon I realized that it is the Machine Learning and it's sub branch deep learning.

Why Machine Learning Now

Why it is so important?

Have you heard about the Google's Self driving cars, it's the future. It's not just car, trucks, or any vehicle which will pickup something from source and deliver at the destination without any manual intervention. Humans can track or monitor it. Uber, Lyft they all will be in loss, once the self driving cars are out.

How those are working, In simple terms Machine Learning, how to drive. It identifies the signals, it identifies the crossing paths, animals, humans, and most importantly the difference.

Is there anything else which is live?

Yes all the smart speakers (Siri, Cortana, Alexa, Google assistant), all of them uses the Machine learning. It learns the routine.

Have you ever used YouTube Autoplay?
Have you ever wondered why YouTube/Netflix/Amazon recommends a video?
Have you ever seen a book or a thing you may buy in next week or month or so, is recommended to you?
Your loan application result also determined by the same concept.

Not only these and many more in our life is now uses this technology. It's never late to learn a technology. Better late than never. Welcome to the world of Machine Learning. Let's continue with python programming basics. 
Usually every programmer will start with "Hello World!", but for a change lets start with numbers. I personally believe that numbers play vital role than alphabets.

Numbers
For someone who worked on other programming languages, it will be surprise and shock, since python doesn't have a concept called Variable Declaration.

For new beginners, Variable declaration is a technical way of saying the data type for a variable. Let's go with an example.

In Python 2.x,
In Python 3.x,
If you look at both the examples, there is a very minor change. Let's not worry about it now. If you see the variable 'x', we didn't define what kind of value it is going to hold.

We assigned the value of x to 1, we are printing it, and we are also printing the (data) type of x. In the last line we are printing both the type and value of x. The output will be like this:

Output of Numbers
If you look at the output, python understood that the variable 'x' is of type 'int', even though we didn't declare the variable with the data type 'int'. There is no semicolon at the end of the lines (some language tend to have that semicolon at the end of each line).

Another observation from 2.x and 3.x is the open and close brackets. Python 3 has more explicit way of passing the variables, where as Python 2 doesn't have this. This is one among the different between 2 and 3. Here after all my codes will be Python 3, as I mentioned earlier in the post.
Open your python terminal. If you didn't install Python, check my old posts. In order to open python, press Windows Key and type "Python" and hit Enter.

Launching Python 3.7 Terminal
It will open Python Terminal. This is just to make sure that you have Python Installed on your computer, we will see other programs with Microsoft Visual Studio.

Once the Python terminal is opened (it will look similar to the command prompt with black and white screen). Three greater than symbol (>>>) will be shown. You can try some in built commands like help(), copyright() and other commands.

Once you type any of those commands, it will take you to that particular topic. Let's say I want to read what print command does, so First I type help(), and then print.
Python Terminal - Help
In order to get out of the help menu, need to press Ctrl + C. That will take back you to the original menu (with >>>).

We have something else called IDLE (Python). IDLE is an python's default IDE with lot of options rather than plain command prompt.

Python 3.7.2 IDLE

We can create files, open existing files, save it, save as, print, debug and much more. You can play around with it, let me know your feedback in the comments.