Saturday, January 7, 2012

Post match presentation from my desk.

Sydney test has an early end, if you are Indian sad end too. I pondered the events as they unfolded during the match, though I did not see it ball by ball, I've few thoughts to pen. I'll part them as under to better grasp intensity of each.

Humbled are raised: When series was about to kick off, few commercials and promotional videos shown Bhajji and Symonds battling on ground everything other than cricket, just to fuel the arrogance on viewer's mind. Their intention was to force our minds to expect such things they coined as sledging. Important to notice - neither Bhajji nor Symonds are part of the team. Australian team, fans and media has left behind that episode – but we have habit to carry our wreckage.

Before the series took off, there was no arrogant statement from Aussies and on the ground so far they've played as if Cricket is really a gentleman’s game. They've left the past and now clearly drawn a line between aggression and arrogance. There has been no gesture of arrogance from Aussies which was highly anticipated by those commercials and media. On the contrary they are humbled, they know, they are not on top of the game and need to work towards cricketing skills only. Peak of the story is - Clarke's humble declaration when it was clearly evident that he could've easily surpassed Don Bradman's highest score, if not Brian Lara's 400. Let's not forget there was a whole day to spare - and it could have taken just 1 hour for him to reach that milestone - a rarest of rare feats. He allowed Hussey to reach 150 before declaration. Hussey allowed Clarke to cross the rope before he enters to pavilion, that was again a fine display of sportsmanship and team spirit, rightly applauded by Harsha Bhogle. They are humbled and yet victorious, reminds me the early teaching I had in my Sunday- school - humbled are raised in the eyes of God.

What goes around comes around: This is the thought lately came in when I was thinking about Virat Kohli's penalty of 50% match fee deduction. He showd his middle finger to Aussie fans while he was fielding. Though he pleaded guilty and was sorry to ICC, he argued that somebody from stands - said bad words about his mother and sister. I clearly trace out those instances when Virat Kohli has used such ugly words on ground when he took a catch or wicket, involved in run out or even when we won a match or tournament. That was public display of wrong jubilations. Harsha raised a question also - why celebration should be with ugly words? This is a clear case of what goes around comes around - for Virat it came from other direction and not from ground.

Killing expectations: I wonder how many times the media here would write - Sachin misses yet again the 100th ton, be it he got out on 8 or 80! False expectations have always pre-murdered Indians - be it in bed or in cricket ground or in school competition or in Olympics. I've never seen Sachin playing so over-cautiously to part time bowlers like Clarke and Hussey, why? Poor Sachin is under tremendous pressure to deliver that 100 - so he can get relieved. I am pretty sure - he will reach it there one day for sure - but there will be sigh of relief rather than actual enjoyment.

Friday, November 4, 2011

Excerpts from VBS 2011

Oh, it is too difficult to write.... tried to harness the thoughts in sentences for quite sometime... Now I understand the importance of 'Practice' in life's any area. Its been ages I believe, I've written anything, so just to give a go without any scrutiny or re-phrasing I am writing whatever comes on mind... sorry if you see distractions here.

This Diwali Vacation, I requested at my church to give me some responsibilities at VBS as I wanted to be with children and share some Godly insights with them.. and oh boy what a time that was! Thanking God for that. Few excerpts from those 3 chapel messages in the morning I am sharing here with you.

1) God as Father:

I myself a father of 2 year, am not able to comprehend the joy I've when I play hide-and-seek with my daughter and when I am willfully caught by her. Or even when I deliberately run slow in order to get caught by her. I could easily resemble God's feeling - where he asks us to seek Him, He gets overjoyed when we found Him. Now the well-known prodigal son parable gave me a whole new dimension and now I was able to understand why the father was so excited. His son was found back. Even the verse that says, when one sinner accepts Jesus as savior, there are celebrations out there in heaven. I did not celebrate and we did not celebrate - because it is Father who has more joy then ours when we heads back to our home. I pick this perspective of Jesus from Philip Yancey's 'Jesus, I never knew'. I will add few more coaches to this train of thoughts later on.

Friday, October 30, 2009

what a joy this is!

Can somebody categorize tears? they should get the sample of my cry today along with our first baby....God has been amazingly gracious upon me...what a delight this is been!
Thank you God for this miracle....
A week ago I had a dream (for me, dream is quite unusual...such a sound sleep I enjoy, ask Reena!)..in dream I saw a cute little girl as our daughter....and wow..the dream has turned into wonderful reality....Reena delivered our first child - daughter....and she is the one who came into my dream! God values our dream too!

Just couple of days ago, while we went to scan the baby..we learned she was around 2.5kg...and today..wow, she is 2.9kg and extremely active! She resembles me a lot :)
Reena - has given me the most precious gift.....I know God has been extra kind to us...
thanks again!

lots of feelings yet.. to cover that little wonder!

Thursday, July 30, 2009

holland happening!

July 24, 2009

Its early morning here in Leimuiden (south of Holland). Sleep has gone out of bed and head….so filling the time with some words that express my experience of The Netherlands.

Huh! It seems I have forgotten to write anymore because suddenly thoughts stopped and so are my fingers…..so I got to wait!

Yes here they are……

Ans Van Egmund – an awesome aunty (should I dare to write better than an Indian mother!) This aunty is giving us bed and breakfast here during our stay. She is very kind and joyful… that’s the reason – she is 81 and yet full of energy and enthusiasm. I have been telling Jigar (my friend here with me) that here people lives the life at fullest..,, and aunty is that example. She has 3 children some grand children and some great grand children…she has a daughter too of age more than 50..she is single….(I don’t know why am I mentioning – may be I am Indian that is why. Here people don’t care if someone prefers to be single and in my office here there are many who lives single) I tend to think here a popular verse of Bible here (manas eklo rahe te saru nathi)….hey… do this people know it? No, I don’t think so….. People here do not care what you believe in and rather ironically what do they believe in. I had been to church here last Sunday and it was full of old age people – and I am pretty sure (exceptions are always there, but they don’t make rule!) they were here to see and meet people – I think they spent more time in coffee then actual service - most of the old age people are living alone here as their children have their own family life to take care [Putting in Indian culture style – children abandon their parents after marriage!  ] ok catch u later… I have some naps 

July 25, 2009

Its lazy Saturday – plenty of work and yet feel to go out in the sun – its sunny day and as they predicated nice weather this weekends. May be we can make it tomorrow… but still I miss my sweet home and my lovely wife, oh can we pull the days if somebody can push the sun from there…. Revolution of the earth is sometime crushing, being slow!

We were on the beach…. Where it was written ‘Life is a beach”, at least these people practice what they speak! Everyone was enjoying each piece of sand, each ray of sun and of course each drop of the sea…oh it was awesome, I was in that water – for more than an hour, it was fantastic.
Suddenly I heard someone singing in me – jise bhi dekhiye wo apne aapme gum hai, juba mili hai magar hum juba nahi milta… yes everyone was so lost, with their selves – that they think are the only people on this earth – unlike India – jise bhi dekhiye wo kisi dusre me gum he, juba mili hai magar humjuba nahi milta (I know you dint get it.. leave it!)

Then we had ice-cream I accidentally had the flavor with some alcohol I believe… may be they knew I was in chilled water for a while… Well, I forgot to mention that I missed the bungee jumping experience – it was right there... all were set except my might and mind! But that is what is needed.. God I wish I can make it next time... Please!
Hey let me get you out from Microsoft and hand over to Google now! (Pasting into my blog yaar! from MSWord)

Saturday, December 13, 2008

T for Toys not Terrorism

It takes always minimum seconds to get into information blast when blast blows the nation! And when information goes fancy with images and clippings of terror, people gets double excited! Agony is we talk of peace on loudspeakers!

We are so quick too to consider any information stale! And that is why before it touches to our senses or heart - information gets changed! And we are becoming shallow as ever.

We are smart enough too to make massacre into mockery, after the explosions in Taj and other hotels - very soon I received SMSs telling hey why don't you join with us in Party at Taj tonight? - I know few of us would jump to tell - hey Jeet, come on man, take it chill-pill! Don't get too senti on this!....But have we lost our senses? - I believe somewhere in our heart we have - leprosy! I see group of people - lighting candles to take mental satisfaction to their dying senses! How long and how many times we would carry this? You may ask - the what we are supposed to do?

Well, answer is far reaching and that is too in back of time! We have to find where we lost our T for Toys and reached to the T for Terrorism!

One of the smss reads like this - the heart of the problem is the problem of heart! And this is the root reason why we are at this level where we can still enjoy dinner having watched someone brutely murdered! And still we strive somewhere inside for better self - this means - the basic design leans for goodness but design has altered at great level...and ending up...murder, jealosy and what not!
Sin has done this alteration into our very heart...so to change the things - we have to have inside out approach...againt wiping out outer issues...The Christmas comes with this inside out approach to get us changed...Bible says a vanilla fact - Jesus came into this world so whomsoever believes in him, would not perish but have everlasting life....and that is the truth....that acceptance leads towards the cleanliness of our heart because that gives us the model character of Jesus Christ..totally blameless, spotless....and to strive to have that character..makes you better person every day...and thats the solution...which will ultimately lead us
at T for Toys and not Terrorism!

Wednesday, March 12, 2008

Microsoft SQL Server 2008 - Get your cheese moved!

Hi comrades,

Below are the new features of Microsoft SQL Server 2008, I discussed at seminar held at Microsoft Mumbai by MumbaiITPro
(groups.msn.com/mumbaiitpro/) on 8th March 2008

New Variable Declaration

We have been well versed with the variable declaration syntax in the SQL Server, that we just declare the variable with datatype and if required with size.
Like

Declare
@variable int

And to initialize that variable we write set statement. Now with SQL Server 2008 both this activities (i.e. variable declaration and initialization) merged into one line.
Like

Declare @variable1 int = 10
Declare @variable2 int = @variable1 + 30

If you could recall your old C days…in which we used compound assignment to perform some mathematical operation at the time of assignment. Now this ease is shipped with SQL Server 2008.
Where you can assign to a variable like

Declare @variable int = 10
SET @variable += 1

So now we can cut short our initial codes while writing into SQL Server 2008

MERGE

Back before SQL Server 2005 released, one feature was highly discussed – and that was MERGE, also called “UPSERT”, which has ability to insert and update a table data into a single DML statement. But due to some glitches it didn’t make into RTM release of SQL Server 2005. But thankfully it has made into SQL Server 2008

As just mentioned new MERGE statement will be used in a single DML statement that help you insert new data into a target table and update or delete existing data in that target table directly or using a view.

Syntax:

MERGE [AS ALIAS]
USING '<'table'>' [AS ALIAS]
ON

[WHEN MATCHED [AND ]
THEN [ UPDATE …. DELETE….]]

[WHEN TARGET NOT MATCHED [AND ]
THEN INSERT…]

[WHEN SOURCE NOT MATCHED [AND
THEN [ UPDATE..DELETE..]];

Note:
Although using a semicolon as a statement terminator is not mandatory in most T-SQL statements, but in MERGE the semicolon is must as a statement terminator.

Example:

MERGE Customer As C
USING NewCustomer As NC
ON C.CustomerId = NC.CustomerId
WHEN TARGET NOT MATCHED THEN
INSERT (FName, LName, Phone)
VALUES(NC.FName, NC.LName, NC.Phone)

WHEN MATCHED THEN
UPDATE SET
FName = NC.FName,
LName = NC.LName,
Phone = NC.Phone;

However it is self-explanatory example, little explanation: Above example merge NewCustomer table data into existing Customer table. While doing this, MERGE statement checks whether the customer is already exists or not, based on CustomerId. If the record is not found [read TARGET NOT MATCHED], new record is being inserted. If record is available then [read WHEN MATCHED THEN], rest of the columns are updated for the same CustomerId.

CDC (Change Data Capture)

As an avid user of SQL 2000, we are habituated writing triggers if we want to spy on the on-going activities over the table. We track all the DML statements for the table and we use it for auditing purpose. Now with the advent of CDC (Change Data Capture), SQL Server 2008 would keep the log on behalf of you. So now you don’t require writing explicit triggers for the same.
Technically, SQL Server Agent writes this log, so before enabling CDC feature for your database you need to start the SQL Server Agent if not running.
To make sure, whether your database is CDC enabled or not, you need to execute following statement.

select [name], database_id, is_cdc_enabled from sys.databases

Value of is_cdc_enabled would be 1 if the respective database is CDC enabled, would be 0 in case of otherwise. To make the database CDC enabled execute following system SP with required parameters

Use
exec sys.sp_cdc_enable_db


When CDC is enabled on a database, a new user named "CDC", a schema named "CDC" and the following tables are created on the related database.

cdc.captured_columns
cdc.change_tables
cdc.ddl_history
cdc.index_columns
cdc.lsn_time_mapping


After enabling the database for CDC, now you can configure tables that you wish to track the modifications upon by running the sys.sp_cdc_enable_table system stored procedure.

Before running the sys.sp_cdc_enable_table stored procedure you can check whether the related table is enabled prior for data change capture by querying the is_tracked_by_cdc column value in the sys.tables for the related database table.

select [name], is_tracked_by_cdc from sys.tables

Example:
If we make Country table CDC enabled, as mentioned above in CDC schema one more table would be created with name dbo_Country_CT (Syntactically username_tablename_CT). In this table apart from columns of relevant table, some metadata columns are also created that prefix with __$ sign. It carries the audited details for that table. Out of them the most important column is __$Operation that signifies a kind of DML operation was occurred. Following are the denotations for the same.

1 – Delete statement, 2 – Insert statement, 3 – record before update, 4 – record after update

One can have the obvious fear if we are logging the data in this fashion we may end-up in running short of disk space. To this end – we have the freedom to decide for how long we want to save the data in CDC schema. By default it saves for 3 days and then data wipes out automatically. We need to change one of the parameters (from CDC schema tables). I don’t know which table and parameter it could be. I need some workaround for the same. To clean up the change tables execute following system stored procedure.

exec sys.sp_MScdc_cleanup_job

Minimally Logged INSERT

Normally, when you write data to a database, you must write it to disk twice: once to the log, and once to the database itself. This is because the database system uses an undo/redo log so it can rollback or redo transactions when needed. But it’s possible to write the data to disk only once in some important cases that involve inserting data into existing tables. This is what the new minimally logged INSERT feature does in SQL Server 2008.

Minimal logging consists of logging only the information that is required to rollback the transaction without supporting point-in-time recovery. Minimal logging is only available under the bulk logged and simple recovery models. When a minimally logged transaction is committed, a checkpoint is issued to flush the dirty data pages to disk and truncate the log. Minimal logging greatly improves large scale INSERT operations by increasing performance and reducing the amount of log space required. For a discussion of table requirements for minimal logging, see SQL Server Books Online. In particular, you must use table locking (TABLOCK) on the target table.
Operations that can be minimally logged in SQL 2005 include bulk import operations, SELECT INTO, and index creation and rebuild. SQL 2008 extends the optimization to INSERT INTO…SELECT FROM T-SQL operations that insert a large number of rows into an existing table under either of the following conditions:

1.Inserting into an empty table that has a clustered index and no nonclustered indexes.
2.Inserting into a heap that has no indexes but that can be non-empty

Data Compression

Other than backup compression, SQL Server 2008 has two different approaches to shrink the data on a disk. I would love to address backup compression in my future posts. Right now we will be looking into the other two approaches.

ROW Compression: It enables storing fixed length types in variable length storage format. As for example, int is a fixed length types, any column declared with int will always occupy 4 bytes. So assume a table with int column only and with 5 records into it. The total size would be 20 bytes. Now assume that values are between 0 to 255 in this table, each value technically requires 1 byte. But because they are under int declaration it will occupy 3 bytes extra per each record. Now with the concept of vardecimal data type, we can address this issue. Columns declared with this type will occupy only required number of bytes, means they are varying in nature unlike fixed length types such as (int, float, bigint). This approach is called ROW compression. The amount of disc space you save here depends upon your schema design and data distribution across the table. The very important thing to note here is that, if existing application has conventional datatypes mapped with your database, still you can change it to vardecimal without affecting or changing the application. This datatype is available with SQL Server 2005 SP2 onwards.

Page Compression: Page Compression is built on top of ROW compression. It minimizes storage of redundant data on the page by storing commonly occurring byte patterns on the page once and then referencing these values for respective columns. The byte pattern recognition is type-independent. One example of such a compression is as follows.
One table has a column with varchar definition and with default assigned. So for newly inserted records if data is not given into that column, database will hold default value for that column. Imagine that table has huge number of records with such default. In this scenario SQL Server 2008 would copy the byte pattern of default and would store at once only, rest of the records would refer that one value only as long as they are not changed.


Transparent Database Encryption

Transparent Database Encryption (TDE) is a new encryption feature introduced in Microsoft SQL Server 2008. It is designed to protect the entire database without affecting existing applications. Traditionally (including SQL Server 2005), database encryption involves complicated application changes such as modifying table design, removing functionality. It all leads to performance compromises. E.g. In SQL Server 2005, the column data type must be changed to varbinary. Ranged and equality search not allowed in encrypted data. Application must call some built-ins to handle encryption and decryption. Consequently database performance degrades. Even basic database elements such as creating an index or using foreign keys often do not work with cell-level or column-level encryption schemes because the use of these features inherently leak information. TDE solves these problems by simply encrypting everything. Thus, all data types, keys, indexes, and so on can be used to their full potential without sacrificing security or leaking information on the disk.

To enable TDE, you must have the normal permissions associated with creating a database master key and certificates in the master database. You must also have CONTROL permissions on the user database.

To enable TDE
Perform the following steps in the master database:
1. If it does not already exist, create a database master key (DMK) for the master database. Ensure that the database master key is encrypted by the service master key (SMK).

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'some password';

2. Either create or designate an existing certificate for use as the database encryption key (DEK) protector. For the best security, it is recommended that you create a new certificate whose only function is to protect the DEK. Ensure that this certificate is protected by the DMK.

CREATE CERTIFICATE tdeCert WITH SUBJECT = 'TDE Certificate';

3. Create a backup of the certificate with the private key and store it in a secure location. (Note that the private key is stored in a separate file—be sure to keep both files). Be sure to maintain backups of the certificate as data loss may occur otherwise.

BACKUP CERTIFICATE tdeCert TO FILE = 'path_to_file'
WITH PRIVATE KEY (
FILE = 'path_to_private_key_file',
ENCRYPTION BY PASSWORD = 'cert password');


4. Optionally, enable SSL on the server to protect data in transit.
Perform the following steps in the user database. These require CONTROL permissions on the database.

5. Create the database encryption key (DEK) encrypted with the certificate designated from step 2 above. This certificate is referenced as a server certificate to distinguish it from other certificates that may be stored in the user database.

CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE tdeCert


6. Enable TDE. This command starts a background thread (referred to as the encryption scan), which runs asynchronously.

ALTER DATABASE myDatabase SET ENCRYPTION ON

To monitor progress, query the sys.dm_database_encryption_keys view (the VIEW SERVER STATE permission is required) as in the following example:

SELECT db_name(database_id), encryption_state
FROM sys.dm_database_encryption_keys


When TDE is enabled on any user database, encryption is also automatically enabled for the temporary database (tempdb). This prevents temporary objects that are used by the user database from leaking to disk. System databases other than tempdb cannot currently be encrypted by using TDE.

When TDE is enabled on a database, all backups are encrypted. Thus, special care must be taken to ensure that the certificate that was used to protect the DEK is backed up and maintained with the database backup. If this certificate (or certificates) is lost, the data will be unreadable. Back up the certificate along with the database. Each certificate backup should have two files; both of these files should be archived (ideally separately from the database backup file for security).

Simple but useful facts

GROUPING SET – This new SQL construct is single equivalent to that of ROLLUP, CUBE and UNION ALL. Do note, that those are not replaced with this new construct, they are still supported while GROUPING SET is ANSI SQL 2006 compliant
One more function is added into the rich library of SQL and that is GROUPING_ID(), it returns the level of group and it is the enhancement over GROUPING() function that returns a Boolean value whether the grouping is on a set of record or not.
Another beautiful addition is the concept of SPARSE columns- Technically SQL Server supports 1024 columns per table, but with SPARSE columns you can push this limit.
Intellisense Like all other user friendly GUI interfaces, SQL editor has now ability to sense your intellect – popularly known as intellisense
Number of CPU Support: Now with SQL Server 2008, you can plug virtually n number of CPUs, provided that numbers should be supported by OS. This is true to enterprise version of the product, while standard version would support up to 4 CPUs.
Now while plugging extra CPU, you don’t have to have the downtime for your database system, as it is just plug and play with SQL Server 2008. We know that SQL Server 2005 has ability to plug and play with memory.

I wish you had a good session with it!

Tuesday, August 14, 2007

Why Did History Divide At Christmas????

Why does Time Divide at Christmas?

I was just on the threshold of my twenties while the whole world was going crazy behind millennium magic. My questioning and ever curious mind was searching clues in that number 2000! It was the end of another thousand years for human-beings. I traced back for one more thousand years and stopped at the event where whole history collapsed and time had new beginning all together. At that point bookish knowledge of B.C. (i.e. Before Christ) and A.D.(anno Domini-in the year of our Lord) made all the senses to me. I was always fascinated for two things – Time and Space! The very fundamental elements for anybody/anything’s life! No one can get out of the realm of them and still the very little we know about them. Well accepted Oxford dictionary falls short to define Time – http://www.askoxford.com/concise_oed/time?view=uk
One could easily figure out – how tiny we are to comprehend the brilliance and beauty of Time!
This “Time” – breaks into two with the birth of Jesus!!!!! Why? Why does whole human history cling between the hooks of “Before Christ” and “anno Domini”?

Irrespective of any religions if one can think of ‘The God’, in His identical nature, must be “Timeless”. The reason behind is that if someone is in the clutches of time, he or she must be having some beginning and end too! God can not have the beginning or the end, if ever He claims to be God!

Now with this little and yet very essential background, I want you to have a look around the world and if one can be honest with oneself, look into own heart. At macro and micro level you will find that we are living in a very perverted world. Despite of having spared food for dogs, millions of people die because of starvation everyday. Such an imbalanced world we are living in! We know how wicked thoughts we carry into our minds. Everyday newspapers just display the despair of our state of mind and not a single man has ever escaped from it.

This certainly was not the intention of the Creator of this world. Being the Just God, he knew that there is no one in the human race to take the guilt of each individual and to pay the penalty of the sin. Bible says, "Every man is sinner and falls short to the glory of the Lord". So God himself laid a rescue plan for everyone of us. He decided to come on to this earth in the flesh of human and to pay the penalty of the sin on the cross by sheddding His holy blood. Yes, Jesus is that very God who came into this world. The Bible clearly points it out that "God is Love", and in Jesus it is actualized.

Now, going back in "Time" or for this matter on "Time", What could happen if Creator himself allows his-self to the rules of His creation? To illustrate it, imagine A painter who himself becomes painting and limits his-self to the canvas! Here lies the answer of breaking of the Time into two pieces. Time which is continuous in nature as they call it (refer again Oxford or Wikipedia), pauses on the day of Christmas, because its own creator was submitting Himself to it. Many thinkers have tried to comprehend this brilliance and love of God, out of them all I believe Augustus (one time atheist and then came to Christ!) is very proximate in his expression. He says, "In Christ I see, water becomes thirst, food becomes hunger!" The Bible clearly depicts that we can not guage His love!

So Christmas is about God's love personified in Jesus Christ and two pieces of Time are the strongest witnesses. It also says that His life is verifiable and true, whatever He claimed, He proved. Just explaining one of them, He says "I am the Life and the giver of eternal life." He died on the cross for our sins, what if that was the end of the story?....His claim was wrong then, and his disciples would have slipped away instead of spreading gospel and would have died for their faith.....But that was not end, Jesus rose from the dead on the third day and proved that neither time nor death can bind Him and He rules them. He is Timeless and He is God.

Our mental faculties can justify this truth, and still it is very possible to have stubborn heart to follow Christ. He is ever-ready to accept each one with open-stretched arms. He says, "I knock on the door and whoever opens I'll come in and have ever-lasting fellowship with him/her." I knew being a hard-nosed atheist then, I could have escaped from all the rallies of reasons, but how could I've hidden from His love. And that took me to accept Jesus as my personal God and saviour, and I thank God for His love and mercy upon me. I welcome your queries/comments on havejeet@gmail.com Thanks for spending one time-slice of eternity with me!