Abstract Confusions

Complexity is not a cause of confusion. It is a result of it.

My Favorite Mathematicians

History of humanity is full of stories about achievements of outstanding men and women. It is even more interesting and captivating when we read about mathematicians. I will try to list down the great people of mathematics who were the driving force of conceptual thinking and intellectual advancement of mathematics. This is in continuation with a story I wrote some time ago.

Earliest Mathematicians

No one know where the first class in mathematics was held. But all of us know for pretty sure what could have been the first theorem proved. Pre historic math was used for studying geometry and planetary. Greeks mastered this field of mathematics. Euclid, Aristotle, Archimedes and Pythagoras were the most noted mathematicians. They all are philosophers too. For good, once, a great mastery over written and oratory skill of a language was needed to practice mathematics.

In India, Baskara wrote Lilavati, a book written in poetic verses about mathematics. But the scene shifted slowly. As math became more abstract words and verses gave away to numbers and symbols. Read more of this post


Best of Sangam Tamil Poetry – Theme: Uncertainty

தமிழ்ச் சங்க பாடல்களில் என்னை கவர்ந்த சில பாடல்களை உலகத் தமிழ் செம்மொழி மாநாடு நடக்கும் சமயத்தில் பகிர்ந்து கொள்ள நினைக்கிறேன். தமிழ் செய்யுள்கள் வாழ்வின் எல்லா பரிமாணங்களையும் பிரதிமளித்தாலும் எனக்கு மிகவும் பிடித்தது “நிலையாமை” சார்ந்த பாடல்களே. நாலடியார், திருக்குறள், கம்பராமாயணம் என எல்லா நூல்களிலும் இக்கருத்து கொண்ட பாடல்களை காண முடியும். சில இங்கே.

வாழ்வு நிலையாமை

வாழ்வு எவ்வளவு நிலை இல்லாதது? நாலடியார் சொல்கிறது, “வாழ்க்கையில் எதை நிலையானது என்று நினைத்து மனம் அலை பாய்கின்றதோ அது நிலையற்றது. செய்ய வேண்டியது ஒரே காரியம் என்றாலும், அதை விரைந்து செம்மையாக முடியுங்கள், மரணம் எப்போது வேண்டுமானாலும் வரலாம், வாழ் நாள் அறுதியில் முடிந்து விடும்”.

மரணம் எதன் பொருட்டும், யார் பொருட்டும் நில்லாது என்பதை வலியுறுத்திட்டிற்று.


ஆங்கில மொழிமாற்றம் கீழே.

The things of which you said, “they stand, they stand”, stand not; mark thee, and perform what befits, yea! what befits, with all your power! Your days are gone, are gone! and death close pressing on is come, is come! Read more of this post

Statistics: When Numbers Lie

Mark Twain once said,

There are three kinds of lies: lies, damned lies, and statistics.

Another quote by Steven Wright says like this,

47.3% of all statistics are made up on the spot.

And there is a detail account of how to lie with statistics. We all love numbers. Any talk with references to numbers is considered to be correct and appropriate.

How to Understand Numbers

Most of the time, it is people’s mistake in understanding the numbers presented to them. For example, understanding what numbers mean. Consider the following cases.

A corporation was able to announce the following the statistics: Total number of shareholders: 3003. Average shares per shareholder: 660. Looks nice, thats more like a democracy, every one has equal say in the proceedings, but in reality, it is just three people holding 3/4th of shares and remaining people holding 1/4th share. What looked like a happy number is actually not so.

Share Holding pattern - Average cheats

Share Holding pattern - Average cheats

Read more of this post

Oracle Application Express (APEX) Interview Questions

Oracle Application Express (APEX) is a rapid application development tool developed by Oracle for developing rich database centric applications. It first started as HTMLDB and later renamed as Application Express, though it is often shorten as APEX. APEX is a free feature that can be enabled from Oracle database v 9.2 onwards. It means, Oracle Application Express can be installed with the free version of Oracle 10g Express Edition. It is easy to create and run web applications which look professional and scalable. Of recent there is increased interest on APEX skills.

I had an opportunity to interview few people for evaluating their APEX skills. Following is the selected set of questions I used in that interview. The difficulty level is basic to intermediate level. The main idea is to identify the promising people who had real experience on APEX. I have added links to the concepts, documentation. Read more of this post

What’s in a Name? – A lot!

What is in a name? It is what people remember about you the first and the most. Some even say, your name can decide your character. Another news claims that which are the good names and bad names. Name could become very important. Recently, I had a chance to name my nephew. I was wondering, what could be a better name in 20 years from now? You change over time, you grow younger, and soon grow older. The name never changes.

But when it came to my name, it’s quite not same. Like all Tamilians, I too have a bigger name. For the record, the name is “Sree guruparan Palathurai Appachi”. Often shortened as “Guru”, there are few confusions around that, or at least I have seemed to cause a few. Read more of this post

Math Games for Children

Games are the sure shot fun way to teach some thing. And math is one of the top-notch skills one needs to own for being successful in any career. Imagine if playing games hone your mathematical skills. As a kid I grew up learning few board games which helped me to understand the most basic math operations – counting, addition and division (subtraction and multiplication thereof).

Very recently, I tried teaching math principles to my nephew but found difficult without the help of games. The most important thing I did was to run to a store to get him a board game. So, if you don’t want to spend those long boring hours and make teaching fun, try few of these games.

Snakes and Ladders

This is a simple game. Most of adults would have played it. Two or more players can play this game. This board game has hundred squares numbered from 1 through 100. And a player wins if he starts from 1 and reach 100. Each player has to toss a die and move their playing piece according to the output of the die.


Snakes and Ladders - A Chance game in 100 squares

Read more of this post

Compound Trigger – A Performance Improvement for Trigger Executions

In Oracle database 11g release version 1, among the enhancements in trigger execution an important and efficient feature known as ‘Compound Trigger’ is rolled out. This feature is particularly exciting because of the performance improvements it may bring in along with it.

Auditing Bulk INSERT/UPDATE of a Table Efficiently

Assume you have a transactional table, this table is highly accessed by a front end application which does a lot of inserts and updates every minute. You also have a functional requirement of keeping track of the changes against the values inserted / updated. The traditional setup one would have for such a scenario is to write a separate trigger each for AFTER INSERT and AFTER UPDATE to fetch the values and insert them into an auditing table as well. Read more of this post

Haskell – A Functional Programming Language

Functions in mathematics are like building blocks in many fields. Functions are also widely used in physics and other branches of engineering. In computer science, functions play a major role.  When you have a mathematical function and want to write a program for that, most of the time you do it line by line, with the program constructs like looping, conditional looping and other control structures. This could run to several lines of code.

Functional Programming

Unlike the programming languages like Pascal, C, C++ and all other higher programming languages thereof, are known as imperative programming or structured programming languages. Imperative program is executed using statements described steps after steps. Functional programming is programming executed by evaluating expressions (or functions).  There are no variable assignments, on the higher side, functional program contains no side effect at all. Read more of this post

Trigger Enhancements in Oracle 11g Release 1

Prior to Oracle 11g Release 1, if you have two (or more) triggers on a table for same action – event (BEFORE, AFTER – INSERT, DELETE, UPDATE), there is no guarantee in which order there will be fired. Oracle database 11g Release 1 has introduced improvements in triggers.

On Order of Execution of Multiple Triggers

Prior to Oracle database 11g, developers can never assure you the order of execution of triggers. If you have more than one trigger set on the same triggering conditions, Oracle documentation says that, the order of execution will be random.

Oracle fires multiple triggers in an unspecified, random order, if more than one trigger of the same type exists for a given statement; that is, triggers of the same type for the same statement are not guaranteed to fire in any specific order.

This was a hindrance in many scenarios. Most of the time PL/SQL developers would do away with this in simple manner. They will write one trigger and let it to call all other similar triggering actions. Although this doesn’t look like a good practice, it was at least better than to leave it for Oracle to decide at random. Read more of this post

Dynamic Typing – New Feature in C# 4.0

Microsoft has released a new version of its flagship product .NET. Visual Studio is highly productive environment for professional to develop and deploy .NET frame work applications. But it still lacked few features which if present would have been better. One of those features is ‘dynamic programming or dynamic typing’. A new version Visual Studio 2010 is released recently. C# 4.0 has this feature.

Dynamic Typing / Dynamic Programming

Dynamic typing as it is known famously has more advantages over static typing. More often people note that, in a statically typed language, a variable – the name, is bound to an object and also bound to a data type. The data type a variable takes needs to be known at the compile time itself. It is true in Java, C and C++.

In a dynamically typed language, the variable, the name is bound to only object. The data type is not declared up front. All happens in runtime. Pretty much true with programming language Python. Now, with Visual studio 2010 release, we will have C# 4.0. C# 4.0 also has dynamic typing feature now. Read more of this post