Thursday, February 26, 2015

dedicated to daughters

~~~~
..बेटियाँ.. 
..पीहर आती है..
..अपनी जड़ों को सींचने के लिए..
..तलाशने आती हैं भाई की खुशियाँ..
..वे ढूँढने आती हैं अपना सलोना बचपन..
..वे रखने आतीं हैं..
..आँगन में स्नेह का दीपक..
..बेटियाँ कुछ लेने नहीं आती हैं पीहर..
~~~
..बेटियाँ..
..ताबीज बांधने आती हैं दरवाजे पर..
..कि नज़र से बचा रहे घर..
..वे नहाने आती हैं ममता की निर्झरनी में..
..देने आती हैं अपने भीतर से थोड़ा-थोड़ा सबको..
..बेटियाँ कुछ लेने नहीं आती हैं पीहर..
~~~
..बेटियाँ..
..जब भी लौटती हैं ससुराल..
..बहुत सारा वहीं छोड़ जाती हैं..
..तैरती रह जाती हैं..
..घर भर की नम आँखों में..
..उनकी प्यारी मुस्कान..
..जब भी आती हैं वे, लुटाने ही आती हैं अपना वैभव..
..बेटियाँ कुछ लेने नहीं आती हैं पीहर..
Dear Papa....

"बेटी" बनकर आई हु माँ-बाप के जीवन में,
बसेरा होगा कल मेरा किसी और के आँगन में,
क्यों ये रीत "रब" ने बनाई होगी,
"कहते" है आज नहीं तो कल तू "पराई" होगी,
"देके" जनम "पाल-पोसकर" b
जिसने हमें बड़ा किया,
और "वक़्त" आया तो उन्ही हाथो ने हमें "विदा" किया,
"टूट" के बिखर जाती हे हमारी "ज़िन्दगी " वही,
पर फिर भी उस "बंधन" में प्यार मिले "ज़रूरी" तो नहीं,
क्यों "रिश्ता" हमारा इतना "अजीब" होता है,
क्या बस यही "बेटियो" का "नसीब" होता हे??

"Papa" Says"...
**************
बहुत "चंचल" बहुत
"खुशनुमा " सी होती है "बेटिया".
"नाज़ुक" सा "दिल" रखती है "मासूम" सी होती है "बेटिया".
"बात" बात पर रोती है
"नादान" सी होती है "बेटिया".
"रेहमत" से "भरपूर"
"खुदा" की "Nemat" है "बेटिया".
"घर" महक उठता है
जब "मुस्कराती" हैं "बेटिया".
"अजीब" सी "तकलीफ" होती है\
जब "दूसरे" घर जाती है "बेटियां".
"घर" लगता है सूना सूना "कितना" रुला के "जाती" है "बेटियां"
"ख़ुशी" की "झलक"
"बाबुल" की "लाड़ली" होती है "बेटियां"
ये "हम" नहीं "कहते"
यह तो "रब " कहता है. . क़े जब मैं बहुत खुश होता हु तो "जनम" लेती है
"प्यारी सी बेटियां"

Sunday, February 22, 2015

Weighted trust graph for authentication

During the hackathon (discussed in earlier post), I met with Gary.  He had come in to be play mentor, but since he couldn't devote enough time, ended up being a guest.

After engaging Neo4J in few meetups and understanding the database a bit, i was contemplating using Graph databases for authentication.  It might have consequent applications in fraud analytics too, where graph databases are used already[1]

During the discussion on the idea, Gary suggested to mould the idea differently and possibly using Trust networks/graphs, wherein each node (entities i.e. people, organisations etc) are related to each other through weighted directed relationships.  The weight of this relationship can be deduced in multiple ways, e.g. by periodic algorithms similar to search engine ranking algorithms or by asking people their trust level of others on a scale of 1 to x. x being a hypothetical standard scale that can be used as a yardstick across the network for determining level of trust.

While researching some more, I found that similar research has been done in this space [2], though applications are few to come by.

It was also pointed out in the discussion that banks don't really have a huge interest in preventing this crime.  the view was, since banks already provision for certain amount in their balance sheets for these "potential" thefts, they don't really bother so much.

I believe that the financial institutions as a single unit need to attack these fraud crimes by joining hands and leveraging best of research and technology for minimising the crime.  The technology exists for providing unto the moment information on these events, some more innovation and research is needed that can bring together the whole picture and look like a "solution"





[1]http://info.neotechnology.com/rs/neotechnology/images/Fraud%20Detection%20Using%20GraphDB%20-%202014.pdf?_ga=1.182367911.1656585956.1417700858
[2]http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.212.9978&rep=rep1&type=pdf

Wednesday, February 18, 2015

Ganesh ji aarati - Shendur laal chaadaayo

शेंदुर  लाल  चढायो  अच्छा  गजमुख  को
दोंदिल  लाल  बिराजे  सुत  गौरीहर  को
हाथ  लिए  गुण लड्डू  साई सुरवर को
महिमा  कहे  न  जाए  लागत  हूँ  पद  को 
जय देव जय देव


जय देव जय देव
जय  जय जी गणराज विद्यासुखदाता
धन्य तुम्हारोदर्शन मेरा मन रमता
जय देव जय देव
जय देव जय देव



भावभगत से कोई शरणागत आवे
सम्पति संतति सबही भरपूर पावे
ऐसे तुम महाराज मुझको अति भावे
गोसावीनंदन निशिदिन गुण गावे
जय देव जय देव

जय देव जय देव
जय  जय जी गणराज विद्यासुखदाता
धन्य तुम्हारोदर्शन मेरा मन रमता
जय देव जय देव
जय देव जय देव

घालिन लोताङ्गन  वंदिन चरण डोळ्यांनी पाहीं रूप तुझे ।
प्रेम आलिङ्गिन आनंदन पूजिन भावें ओवाळीं म्हाने नमा  । ।

त्वमेव  माता पिता त्वमेव बन्धुश्च सखा त्वमेव ।
त्वमेव विद्या  द्रविणं त्वमेव, त्वमेव सर्वं मम देव देव । ।


काएं वाच मनसेंद्रियैर्वा बुद्ध्यात्मना वा प्रकृतिस्वभावा ।
करोमि यद्यत् सकलं पारसमई नारायणायेति समर्पयामि । ।

अच्युतम केशवं रामनारायणं कृष्ण दामोदरं वासुदेवं हरि  ।
श्रीधरम माधवं गोपिकावल्लभं जानकीनायकं रामधरान्द्रम भजे  । ।

हरे राम हरे राम, राम राम हरे हरे 
हरे कृष्ण हरे कृष्ण, कृष्ण कृष्ण  हरे हरे  । 

हरे राम हरे राम, राम राम हरे हरे 
हरे कृष्ण हरे कृष्ण, कृष्ण कृष्ण  हरे हरे  ।

हरे राम हरे राम, राम राम हरे हरे 
हरे कृष्ण हरे कृष्ण, कृष्ण कृष्ण  हरे हरे  । 

Tuesday, February 17, 2015

Monday, February 16, 2015

Hackathon - Fintechathon

A hackathon is a hacking marathon wherein many people are invited to attack problems around a theme.

I recently attended a hackathon over the valentines weekend.  Organised by StartupBootCamp Fintech, it was attended by about 100 people. Many ideas, many teams, some partners i.e. corporates with their own challenges.

I was initially team less, but then found some others who were in in my situation.  We formed a team,  around my favourite topic, data analytics.  We had two business development guys, Adam and Oksana, two java programmers, Nelson and Nick, and a mobile app developer Vlad.  

Hackathon teams are formed around ideas, wherein someone with an idea takes on the ownership, and the collects the team around it.  Things are focussed from moment one, and the march forward is fairly disciplined and fast, thats why the name hackathon... keep hacking, for long, long days and nights.

We, had the other way round.. all of us were teamless and therefore put together as a team. We had no idea to start with.  As a result of that, we spent better part of the friday evening and saturday zeroing on the problem to attack.  

Finally we decided to go ahead with an data analytics piece. I won't chalk out the details here, but its something that the marketing guys always love and like.  To know when their customers are off to a life event, and therefore could be offered some product.

By Sunday morning, we had lost two team members, one to a different idea and one to sleep. Vlad hadn't slept in 4 nights, so he kept sleeping much of Sunday.

As a result, we ended up a team without anyone who could do any UI design, and therefore only some backend API calls, some analytics pieces and nothing to show off.

The result was that, we couldn't show any working model in our pitch presentation and had to contend with a presentation only, which tried to describe our idea to the judges.

Of course we lost, but then it was a very nicely spent weekend, met some very nice people, made some contacts, and possibly a future for the idea.

Saturday, January 31, 2015

Playing with R

Since early 2013, when I got to know of possible online learning for R through www.coursera.com, I have been a fan of this language.

My teachers in college would probably not like to hear this, but I was never  a great Statistics student, it was always a "passing" requirement during my studies. However, when I learned about R and did some experimental work with R, i found that stats is indeed a very interesting and powerful mathematical tool. And with R i found it fun too, which in my personal opinion is the root of an ongoing learning process.  If learning is not fun, it stops.  

For me, laying my hands on RStudio was the best thing that happened to me around the statistics learning curve.  The tool makes your R learning curve so much more easy and possible, the college could never do that.

As an example, in college we could never realise real life examples and uses of regression, curve fitting etc.  However, now using R, it all makes so much more sense and with lot of ease. 

I can't put a finger on the clear reason, whether the years have added that capacity to understand the subject, or the very fact that today these kinds of tools exist which let you explore that area with so much straightforward ease, but the fact remains. It has become so much easy, relatively, to get your hands on the power of statistics and analytics with tools like.

Thats probably one reason, why i am getting more and more inclined towards data analytics. Its a very powerful and interesting area, with huge potential towards shaping our future.

Monday, May 26, 2014

Can we rollback the Truncate, Drop, and Delete command deleted data?

Here we talk about the concept of truncate, drop and delete commands and whether they can be rollback, if so, how and when !!

Yesterday I was working on this and see if we use the truncate command in transaction, we can rollback the data. One more thing if we perform delete command outside the transaction, we can’t rollback the data.

Let’s try this…

Suppose I have a table dbo.Employee with three column- Id, Name, and Salary.
CREATE TABLE [dbo].Employee(
Id [int] NULL,
Name [varchar](50) NULL,
Salary [Int] NULL
)
Insert the values into the db.Employee table
INSERT INTO dbo.Employee VALUES(1,'Employee1',10000)
INSERT INTO dbo.Employee VALUES (2,'Employee2',20000)
INSERT INTO dbo.Employee VALUES (3,'Employee3',30000)
INSERT INTO dbo.Employee VALUES (4,'Employee4',10000)
INSERT INTO dbo.Employee VALUES (5,'Employee5',30000)

Now I have a five rows in table

SELECT * FROM dbo.Employee










Now we perform the delete command in Transaction and then select command
BEGIN TRAN
DELETE FROM dbo.Employee WHERE ID = 2
ROLLBACK

SELECT * FROM dbo.Employee
Output:

But again I run the select command then I get the same result as previous select statement (i.e 5).
Now I perform the Truncate command in Transaction, Let see what happen.
BEGIN TRAN
TRUNCATE TABLE dbo.Employee
ROLLBACK
Now again I run the select command and got the same rows and same result, if same thing we do with Drop command that will also give same result.
It means If we use the Delete, Truncate, and Drop command with Transaction, we can rollback the data and if we perform all three command outside the Transaction we can’t rollback.

One more thing I have to add in this article, we can’t rollback the data but we can restore the data from the Transaction_log, if we use the delete command. We can’t restore the data if we use the truncate or drop command. How and Why read in next article.

In summary, 
We can rollback the DDL and DML commands, if all these commands are in transaction. We can only restore the DML commands data.