Thursday, November 1, 2018

Art appreciation series: Artwork in SAM



I have seen above artwork in the Seattle Art Museum. Like the people peeping outside through tree stems in this work, many people around me, observe, peep and constantly analyze my movements. On the other hand, this work is giving me happiness. I am not sure about the reason but I feel like to watch again and again. Color combination, tree structure, subtle facial expressions, and the shape are a joy to watch.

This art piece is beautifully made.

Tuesday, June 13, 2017

RegistryChangeTracking


How many of you find it hard to track to Registry changes across your production machines? 

We have some good tools such as sysinternals, regshot but these are limited to a machine. 
What if you want to track data center level?

There are several usecases to track Registry. Some of them are as follows:
Does a software is installed/updated across all machines? 
Does a machine violates a policy?
Track hardware inventory using Registry

Therefore, it is pretty evident Registry change tracking is useful for monitoring and troubleshooting scenarios.

Several customers agree that this is very important to track but clueless when we ask what they want to track. We can understand this and provided a curated list (considered from autoruns tool) in settings page.

I have worked on this promising feature end-end in Change Tracking solution under OMS at Microsoft. You can find more information at https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-change-tracking.

Friday, June 17, 2016

Thoughts around Monetization strategy for $19 billion whatsapp



It’s been more than two years since Facebook bought whatsapp. As per this blog(https://blog.whatsapp.com/245/Why-we-dont-sell-ads), they don’t intend to sell ads


Biggest question is how do they make money? I hope they succeed in whatever they do. Here are few thoughts to the problem.


First let me introduce few new features which will enable them to monetize.


Integration of businesses
Distinct feature of whatsapp is, a user should own a phone number. Every business has phone numbers. Whatsapp can make every business as a central cloud contact and can provide an ability search by name & location to get their services.


As a service in the app, frequently used business contacts can be added by default. This might help for the businesses.
I would also suggest to make interface zero typing. Let’s say, user is interested in Best Buy. By providing few more additional buttons in the chat(or cmds) ‘Map to a nearest location’, ‘Open hours’, ‘discounts’, makes the interface more friendly. It is also drive friendly interface.


Games are next best way for money flow
Games are another best way of engaging with a friend. I don’t think this is different from having a conversation with a friend. If you mix ‘word’ and ‘game’, you can get lot of existing ideas. This can be more creative given the touch interface.


Chat interface may NOT be good to use as game display interface between two people. Therefore, I suggest ‘message overlay’ feature. Message stays over there even though user types commands/makes their turns. There may be better ways to solve. This is one approach and it has other advantages too.


There is no need to highlight that having games is another best way to make the money.


Innovative approaches to display Ads
As said in above blog, Whatsapp has a resolution NOT to display ads. I kind of liked the idea but sometimes we needs to do needful to sustain.


I am NOT suggesting to mine the user information and display relevant ads. It can be arbitrary and at least can be displayed on publicly available information & location.


I came across a situation where I thought of having this kind of ‘message overlay’ feature is useful. We were chatting in a group and one of my friend sent us a puzzle, which has around 25 questions to answer. We started answering the questions and lot of discussion was going on but the puzzle message keeps going up in the window. It was bit difficult to scroll up and see the message and then answer. Couple of times, we needed to paste the puzzle message. This may be rare but it nice to have this ‘message overlay’, which is hover all the other messages and can be kept anywhere on the chat window. This can be transparent too.


Maybe ‘message overlay’ feature can be used to display ads at the top of the chat window. Generally, the user doesn’t bother about what is on the top. (s)he looks up at the last two messages at the most. This is one way of displaying without obstructing the conversation. Ads can be slowly fade away.


Other way to display ads is, show in the chat window and let it fade away after some time.


Other suggestions:
Facebook or google suggests us wish a Happy birthday to a friend. Well, whatsapp or hangout has a nice advantage to find out the closest friends and suggest them to buy a gift in advance rather than on the birthday. This may apply not just to birthday but to any life event.


Surprise users by displaying best economic method to meet in person who are in different places.


I call these ways(recurring events/suggesting ideas) are proactive ad-display methods. Currently, almost all organizations who display ads, uses reactive-ad display approach. In other words, the Organizations mine through the users’ data, find out the relevant ads and display to them. This is reactive approach because, the organizations are reacting on the data they have.


I haven’t used other message applications such as viber, Allo and others. But I think these thoughts can be applied to them too.


Disclaimer: I am purely an user of whatsapp and no way in related to facebook or whatsapp

Tuesday, April 26, 2016

Game of fun - settlers of catan


To all die hard catan fans

Catan is a fun game with few good companions. It never bores me. I made this game more interesting by adding few tweaks to this play. I didn’t add any new cards/changed the style of board.

Before starting a game, we start with wishes. Every player tells a silly wish that all players/set of players have to fulfill. His/Her wish be fulfilled only if (s)he wins the game. Few examples are,
‘I like korean movies/dramas a lot. But my friends were not. My wish is everyone has to watch korean movie with me.’
‘Other wish is, I asked my friend to do a dance for a song’

These wishes may look silly but makes the game more interesting.






Tuesday, July 7, 2015

let's spotify on instead of music on


I am a kind of guy who has least interest about music. But these days, my interest towards music is growing rapidly. Thanks to +Spotify

It is good that Spotify uses Machine Learning for some usecases. This music streaming company has so many opportunities to change the human beings into music lovers. 

Wakeup Song 
Aren't you bored of listening to default alarm sound in your phone. I want Spotify to wake me with my favorite song. Like google updates home page with new doodle everyday, I want Spotify to surprise me with new tune/lyric everyday.

Contextual songs
We see in many movies that a lover proposes his girl friend using his/her favorite song at the background.

I want Spotify to understand the context that current user is in and play songs. 

Few instances are:
when I am fishing... 
when I am working... 
when I am sad...
when I am having food...

Many think that they might loose the privacy if they let an application read more about them. I don't have any comments in this except suggesting Spotify to enable/disable the option to know more about user.

Test run for musicians
Do you think only software developers have a chance to do A/B testing? Musicians also can. Only if Spotify helps them.
Let musicians release unnamed and unknown songs to users and observe the user's interest.

Last but NOT least, whenever I come home I want to the say 'Spotify on' instead of music on. Let's add to Google Now/Siri keywords

when a software developer like me can think of these many scenarios? why can't +Spotify  with more than 1k employees think?

+Spotify +Oskar Stål 






Thursday, February 5, 2015

soaring rents in big cities... fight back?



Rents are increasing day by day. This applies to all big cities in United states. We are almost paying 1/4 - 1/2th of salary to rents. Did you ever think on what you are paying vs what you are getting? 

is there any association or government which control these rents? did you ever think on fighting back instead of accepting?

I agree to some extent that demand is more in several cities because of good employment/high salaried area. But if supply(no of houses) is less, then people should be living on road. But this is NOT the case. Since we receive good salaries, we are NOT backing off in paying high rents. I strongly feel that it is better pay more taxes instead of high rents. At least, this might help for society or in future when we face financial crisis.  

At least now, lets devise a methodology to fight back here. I am confident that if we are together, we can reduce the rents. My idea is as follows:

Lets vacate/boycott a community in a city. If we don't take/renew leases for a particular community for a period of time, they end up reducing the rents instead of increasing. Of course, this might cause little inconvenience for some but for greater good, we should withstand. If we keep on focusing on few communities, owners realize what is happening and eventually they have to give up. 

Please feel free to leave a comment...



Thursday, September 18, 2014

[I wish to see] Scope of social search


Social search technology is still in nascent stage. Big companies(well in terms of users) like Facebook, Google have introduced semantics in their search but still lot to improve.

Let me list out the examples to show where we are

If I am a photographer, I would ask in search to show me the scenic photos which have more than 1 million likes
If I am a policeman, I would search who violated rules
For example, a person tagged in a location A and location B and their difference in time < expected time of travel. 90% chance of violation of traffic rules.

In terms of content classification, here are few examples:
Videos:
Search in a video: show the scenes between two actors/people
Show me all videos of an actress
Show me all action scenes of a video?

Photos:
Show me all friends who are brighter than me?
Show me all friends who visited Nayagara falls? . (Friends may have just uploaded photos without Nayagara falls description. This information has to be derived from photos)
Show me all photos which are not liked by 10% of my friends

People:
I want to search for people who are inactive since?
I want to search for people who I haven't talked to me since?

Places:
List the places I may like to travel? (this can be derived from friends's visited places and similar places that I visited earlier or photos I like)
List the places to have a dining? (same as above)


Having a 100% faith on social search results is wrong because many of our friends may not have updated their fields/information.

I don't care about above examples except video category. I wish to develop these search features.

Projects related to this area: Google search bar can be included in any external sites. Similarly, one can implement a semantic Graph search bar.


Monday, November 12, 2012

Confusing terms



You are not confused if you are able to answer following questions without any doubts

Q) Can we build a system which is highly fault-tolerant but not highly available?
Q) Can we build a system with low reliability and High availability?
Q) is reliability
defined as MTBF or MTTR?


Scalability
A system whose performance improves after adding hardware, proportionally to the capacity added, is said to be a scalable system.

Elasticity
Elasticity often refers to a system's ability to allocate additional resources in an autonomic manner

In other words, a scalable system allows you to add resources in order to handle more load, while an elastic system will add resources itself when the load increases.

Fault-tolerance

Fault tolerance refers to a system's ability to continue operating, perhaps gracefully degrading in performance when components of the system fail. There is no exact measure to measure fault-tolerance of a system

Availability

Availability is a percentage of time that a system is actually operational and providing its intended service.

A = Uptime/(Uptime + Downtime)
Ai = MTBF/(MTBF+MTTR)

Where there are no single points of failure might be considered system as fault tolerant, but if application-level data migrations, software upgrades, or configuration changes take an hour or more of downtime to complete, then the system is not highly available.

Reliability
In simple words, how long can a system stay up continuously?

More concrete definition is “reliability is the ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances”
 


Reliability is often defined in terms of mean time between failures (MTBF). We can build a system with low-quality, not-so-reliable components and subsystems, and still achieve HA.

Durability
Durability of a system guarantees that stored data
can't be lost.

References:


1) http://www.quora.com/Distributed-Systems/What-is-the-difference-between-the-terms-scalable-and-elastic
2) http://www.ibm.com/developerworks/library/pa-bigiron2/


3) http://www.quora.com/Distributed-Systems/What-is-the-difference-between-a-highly-fault-tolerant-and-a-highly-available-system#
4) http://www.wikipedia.org/

Thursday, September 20, 2012

Pregel:Google's way of processing graphs


Introduction
Many applications can be modeled as graphs. Google has introduced the Pregel to process large scale graph processing applications. Lets delve more into this Pregel framework.

Few inspirations towards graph processing frameworks:
1) Facebook’s social graph contains 721 million users, 69 billion friendship links. Average distance between two users are 4.74
2) Representation of Wikipedia articles in a graph
3) Database trend is moving towards Graph Database.

Pros:
Large scale graph processing distributed system
Provides fault-tolerance capabilities through checkpointing
Performance of system is improved by bulk synchronous computation
API is modeled as a ‘think like a vertex’

Overall, Pregel has influenced state-of-art towards graphs.

Cons:
Lets talk about issues with Pregel using an example.
In one case,micro data centers are distributed geographically. Nodes in a data center are heterogeneous in nature.
In other case, graph is processed in homogenous mega data center. Performance of Pregel(considering a design in paper) in case 2 is much better than case 1 for following reasons.
1) Pregel doesn’t consider heterogeneous nature of system while partitioning the data. Slow node gets same size of data but can’t perform in similar speed as a fast node.
2) Due to single synchronization barrier, slow node slows down entire whole graph computation.
3) What if Pregel partitions graph data such that there involved huge communication between nodes which are far away.
4) Shape of graph is not considered in partitioning data.

Current state:
Twitter has introduced Cassovary, another big graph processing library. Many projects has inspired from Pregel. Open source projects are Apache Hama and Giraph. Giraph is has strong contributors from Twitter, Facebook, LinkedIn.

Brief descripion of inspired projects:

Apache HamaPure BSP implementation over Hadoop
GiraphIt is almost similar to Hama
HipGJava based library and no single synchronization barrier
Signal/Collectgives same importance to vertices & edges instead of focusing on vertex.
PhoebusPregel in Erlang


Discussion Points:
MapReduce vs Pregel
Issues with single synchronization barrier
Best way of partitioning graph data



Friday, May 7, 2010

Importance of communication


My biggest weekness is lack of communication skills. Hmm... I am not sure. May be it is because so many people told me. It is more difficult get over any weekness when we constantly think about it.

Lets go back and check what I have lost of because of lack of communication skills
- Had a big fight with my best friend because of mis-communication
- Couldn't perform well in HR round of Microsoft in undergrad
- Technical skills were not valued at D.E.Shaw because of lack of good communication skills.

Well, Let me think again. 

I do work hard and I am good at thinking. 

what if I read many grammer English books.
- I did. But it didn't help. 

what if I read many novels?
- Technical books are more interesting than novels. I tried and read around 15-20 books.

what if I watch so many English movies?
- This thought changed my life. I started watching one movie per day. Now, I am unable to get rid of this bad habit.

what if I watch one movie many times?
- It helps me to remember dialogues. 



what if I read one novel many times?
- I read 'Two states' novel 3 times.  can't read.


what if I write a novel?
I wrote a novel 'Indian bridegroom' and published as well at https://www.smashwords.com/books/view/125514
You know what. I was appreciated for my narrative skills. Yes, this novel writing helped me to impress sentence patterns in my mind. 

There is no single way to get over any weekness. Constant aspiration being excel in one area helps a lot.


Thursday, April 1, 2010

Work in the boundaries of capabilities/knowledge

Its very difficult to quantify the one's capability in a area. And it's very certain that there is always an improvement. Why do we need to think about this?. World is so competitive. When you want to be top, want to prosper in life,(s)he has to know about their area of improvement.

Let me give a simple example to emphasize advantages of working on boundaries of knowledge. When we read a fresh topic, we get lot of new thoughts. These new thoughts might have been well explored. But if we get a new thought after having complete knowledge about a topic leads to a research paper. 


Monday, November 23, 2009

Every day is same

You believe it or not. Every day is same. Atleast, almost same.

Sun rises around 7AM and sets around 6PM. In a working day, the people we meet are also same. 

Wake up in the morning. Get ready for office. Do some stuff at office (this is NOT to save country but just to lead life). Come back home and then sleep.

Routine life makes our boring and doesn't bring a smile.  What can we do? 

Should we stop following a routine? All professionals are not same. We can't do this in every job.

Though our lives are same everyday, our thoughts are different. You can do the same thing differently and in a better way. Everyone is different. Be passionate in knowing other's life. Relationships grow. Every person is an unexplored book.





Dance @ Deshaw parties...


We (D.E.Shaw treasury) went to excess pub, which is in Novtel 1st floor. I danced a lot, may be this is because my mind is fully occupied with Michel Jackson inspiration. Prasanna, my colleague, dearest friend at Deshaw. He danced exactly like a dog. Almost everybody in my team danced except my team photographers, the only and one subbu, and Sravanthi. You can very well comment my dance. Here is youtube link http://www.youtube.com/watch?v=DIugQdeEFdA
If you compare the dance I did in Diwali occasion, this dance is much better.

Anubhav and Ujjwal talks after they drunk are bit funny. Ujjwal want to make Deshaw as one of greatest hedge fund and optimizes all calculators in order of O(1). Anubhav is taking care of mastiff up and running. We had a chat with our M.D, Neal Power, the big boss. It is a different experience to talk with highly influential persons.

Monday, February 4, 2008

links for downloading softwares

ftp://194.97.2.69/pub/filepilot/windows/
http://www.bangaloretalks.com/f-44/SOFTWARES-TO-DOWNLOAD/
http://computerandsoftwares.blogspot.com/
http://soft4dwd.blogspot.com/www.pallav.co.nr
http://www.thewarezhub-jadu.blogspot.com/
ftp://217.219.86.36/RasoolShafaKheibari/Softwares(Shareware/Freeware)http://www.tucows.com/
http://www.download.com/
http://www.oldversion.com/
http://www.freewarefiles.com/
http://www.freewarehome.com/
http://www.softpedia.com/
http://www.soft32.com/
http://www.9down.com/
http://softex.meganet.lt/
http://www.astalavista.com/ --> crack search engine in mobile softwares
http://www.metaftp.com/ --> direct ftp download, ms office 2007 enterprise
http://www.sharedzilla.com/ --> file sharing
http://www.oldapps.com
http://www.phazeddl.com/
http://www.downloadlinki.com/

free ebook sites

http://www.studentshangout.com

http://www.iforerunner.com/Java/

http://freecomputerebooks.blogspot.com/

http://dev.fyicenter.comhttp://1001innovations.blogspot.com/

ftp://194.44.214.3/pub/e-books/

http://freecomputerebooks.blogspot.com/

http://www.allfreedownloadlinks.com

http://getebooks4free.com

Interview related links

http://go4masters.googlepages.com/study.htm
http://www.careercurry.com/article/how-to-learn-and-improve-english
http://www.infopointindia.com/
http://aptitudequstions.blogspot.com/
http://placementpapers.net/helpingroot/infosys/puzzles_guide
http://hrinterviews.blogspot.com/
http://paperplacement.blogspot.com/
http://jobmanagement.blogspot.com/
http://www.geekinterview.com/question_details/54448
http://www.coolinterview.com/Default.asp
http://campuscrashcourse.com/forresumes
http://www.bestsampleresume.com/sample-technical-resume

job sites

jo

http://www.freshersworld.com/
http://www.firstsalary.com
http://www.careerenclave.com/
http://www.shredskerala.org/index.html
http://www.ChetanaS.com
http://www.ChetanaSinterview.com
http://www.vyomworld.com/placementpapers
http://www.go4campus.com/mepz.asp
http://www.geocities.com/careeraid2003/company.html
http://www.aucse.com/Question20Bank.htm
http://groups.yahoo.com/group/nestjobs/files/
http://jminds.hollosite.com/placement/index.php
http://www.koolkampus.com/campuspapers.php
http://www.jobshive.ne1.net/
http://www.naukri4u.co.nr/
http://www.geekinterview.com/
http://www.sqaforum.com
http://www.Freshers.in
http://todaysjobs4u.blogspot.com
http://fresheropenings.blogspot.com/
http://www.jobsassist.com/
http://www.myjobs-india.com/tags/hyderabadsecunderabad/
http://bigwalkin.com/
http://www.indianfreshers.com/

Monday, August 27, 2007

Advice for a computer Science College Student

Despite the fact that it was only a year or two ago that I was blubbering about how rich Windows GUI clients were the wave of the future, college students nonetheless do occasionally email me asking for career advice, and since it's recruiting season, I thought I'd write up my standard advice which they can read, laugh at, and ignore.

Most college students, fortunately, are brash enough never to bother asking their elders for advice, which, in the field of computer science, is a good thing, because their elders are apt to say goofy, antediluvian things like "the demand for keypunch operators will exceed 100,000,000 by the year 2010" and "lisp careers are really very hot right now."

I, too, have no idea what I'm talking about when I give advice to college students. I'm so hopelessly out of date that I can't really figure out AIM and still use (horrors!) this quaint old thing called "email" which was popular in the days when music came on flat round plates called "CDs."

So you'd be better off ignoring what I'm saying here and instead building some kind of online software thing that lets other students find people to go out on dates with.

Nevertheless.

If you enjoy programming computers, count your blessings: you are in a very fortunate minority of people who can make a great living doing work they enjoy. Most people aren't so lucky. The very idea that you can "love your job" is a modern concept. Work is supposed to be something unpleasant you do to get money to do the things you actually like doing, when you're 65 and can finally retire, if you can afford it, and if you're not too old and infirm to do those things, and if those things don't require reliable knees, good eyes, and the ability to walk twenty feet without being out of breath, etc.

What was I talking about? Oh yeah. Advice.

Without further ado, then, here are Joel's Seven Pieces of Free Advice for Computer Science College Students (worth what you paid for them):

  1. Learn how to write before graduating.
  2. Learn C before graduating.
  3. Learn microeconomics before graduating.
  4. Don't blow off non-CS classes just because they're boring.
  5. Take programming-intensive courses.
  6. Stop worrying about all the jobs going to India.
  7. No matter what you do, get a good summer internship.

Now for the explanations, unless you're gullible enough to do all that stuff just because I tell you to, in which case add: 8. Seek professional help for that self-esteem thing.

Learn how to write before graduating.

Would Linux have succeeded if Linus Torvalds hadn't evangelized it? As brilliant a hacker as he is, it was Linus's ability to convey his ideas in written English via email and mailing lists that made Linux attract a worldwide brigade of volunteers.

Have you heard of the latest fad, Extreme Programming? Well, without getting into what I think about XP, the reason you've heard of it is because it is being promoted by people who are very gifted writers and speakers.

Even on the small scale, when you look at any programming organization, the programmers with the most power and influence are the ones who can write and speak in English clearly, convincingly, and comfortably. Also it helps to be tall, but you can't do anything about that.

The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it's not whether they prefer Python or Java. It's whether they can communicate their ideas. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless. By writing clear technical documentation for end users, they allow people to figure out what their code is supposed to do, which is the only way those users can see the value in their code. There's a lot of wonderful, useful code buried on sourceforge somewhere that nobody uses because it was created by programmers who don't write very well (or don't write at all), and so nobody knows what they've done and their brilliant code languishes.

I won't hire a programmer unless they can write, and write well, in English. If you can write, wherever you get hired, you'll soon find that you're getting asked to write the specifications and that means you're already leveraging your influence and getting noticed by management.

Most colleges designate certain classes as "writing intensive," meaning, you have to write an awful lot to pass them. Look for those classes and take them! Seek out classes in any field that have weekly or daily written assignments.

Start a journal or weblog. The more you write, the easier it will be, and the easier it is to write, the more you'll write, in a virtuous circle.

Learn C before graduating

Part two: C. Notice I didn't say C++. Although C is becoming increasingly rare, it is still the lingua franca of working programmers. It is the language they use to communicate with one another, and, more importantly, it is much closer to the machine than "modern" languages that you'll be taught in college like ML, Java, Python, whatever trendy junk they teach these days. You need to spend at least a semester getting close to the machine or you'll never be able to create efficient code in higher level languages. You'll never be able to work on compilers and operating systems, which are some of the best programming jobs around. You'll never be trusted to create architectures for large scale projects. I don't care how much you know about continuations and closures and exception handling: if you can't explain why while (*s++ = *t++); copies a string, or if that isn't the most natural thing in the world to you, well, you're programming based on superstition, as far as I'm concerned: a medical doctor who doesn't know basic anatomy, passing out prescriptions based on what the pharma sales babe said would work.

Learn microeconomics before graduating

Super quick review if you haven't taken any economics courses: econ is one of those fields that starts off with a bang, with many useful theories and facts that make sense, can be proven in the field, etc., and then it's all downhill from there. The useful bang at the beginning is microeconomics, which is the foundation for literally every theory in business that matters. After that things start to deteriorate: you get into Macroeconomics (feel free to skip this if you want) with its interesting theories about things like the relationship of interest rates to unemployment which, er, seem to be disproven more often than they are proven, and after that it just gets worse and worse and a lot of econ majors switch out to Physics, which gets them better Wall Street jobs, anyway. But make sure you take Microeconomics, because you have to know about supply and demand, you have to know about competitive advantage, and you have to understand NPVs and discounting and marginal utility before you'll have any idea why business works the way it does.

Why should CS majors learn econ? Because a programmer who understands the fundamentals of business is going to be a more valuable programmer, to a business, than a programmer who doesn't. That's all there is to it. I can't tell you how many times I've been frustrated by programmers with crazy ideas that make sense in code but don't make sense in capitalism. If you understand this stuff, you're a more valuable programmer, and you'll get rewarded for it, for reasons which you'll also learn in micro.

Don't blow off non-CS classes just because they're boring.

Blowing off your non-CS courses is a great way to get a lower GPA.

Never underestimate how big a deal your GPA is. Lots and lots of recruiters and hiring managers, myself included, go straight to the GPA when they scan a resume, and we're not going to apologize for it. Why? Because the GPA, more than any other one number, reflects the sum of what dozens of professors over a long period of time in many different situations think about your work. SAT scores? Ha! That's one test over a few hours. The GPA reflects hundreds of papers and midterms and classroom participations over four years. Yeah, it's got its problems. There has been grade inflation over the years. Nothing about your GPA says whether you got that GPA taking easy classes in home economics at Podunk Community College or taking graduate level Quantum Mechanics at Caltech. Eventually, after I screen out all the 2.5 GPAs from Podunk Community, I'm going to ask for transcripts and recommendations. And then I'm going to look for consistently high grades, not just high grades in computer science.

Why should I, as an employer looking for software developers, care about what grade you got in European History? After all, history is boring. Oh, so, you're saying I should hire you because you don't work very hard when the work is boring? Well, there's boring stuff in programming, too. Every job has its boring moments. And I don't want to hire people that only want to do the fun stuff.

I took this course in college called Cultural Anthropology because I figured, what the heck, I need to learn something about anthropology, and this looked like an interesting survey course.

Interesting? Not even close! I had to read these incredibly monotonous books about Indians in the Brazilian rain forest and Trobriand Islanders, who, with all due respect, are not very interesting to me. At some point, the class was so incredibly wearisome that I longed for something more exciting, like watching grass grow. I had completely lost interest in the subject matter. Completely, and thoroughly. My eyes teared I was so tired of the endless discussions of piling up yams. I don't know why the Trobriand Islanders spend so much time piling up yams, I can't remember any more, it's incredibly boring, but It Was Going To Be On The Midterm, so I plowed through it. I eventually decided that Cultural Anthropology was going to be my Boredom Gauntlet: my personal obstacle course of tedium. If I could get an A in a class where the tests required me to learn all about potlatch blankets, I could handle anything, no matter how boring. The next time I accidentally get stuck in Lincoln Center sitting through all 18 hours of Wagner’s Ring Cycle, I could thank my studies of the Kwakiutl for making it seem pleasant by comparison.

I got an A. And if I could do it, you can do it.

Take programming-intensive courses.

I remember the exact moment I vowed never to go to graduate school.

It was in a course on Dynamic Logic, taught by the dynamic Lenore Zuck at Yale, one of the brightest of an array of very bright CS faculty.

Now, my murky recollections are not going to do proper credit to this field, but let me muddle through anyway. The idea of Formal Logic is that you prove things are true because other things are true. For example thanks to Formal Logic, "Everyone who gets good grades will get hired" plus "Johnny got good grades" allows you to discover the new true fact, "Johnny will get hired." It's all very quaint and it only takes ten seconds for a deconstructionist to totally tear apart everything useful in Formal Logic so you're left with something fun, but useless.

Now, dynamic logic is the same thing, with the addition of time. For example, "after you turn the light on, you can see your shoes" plus "The light went on in the past" implies "you can see your shoes."

Dynamic Logic is appealing to brilliant theoreticians like Professor Zuck because it holds up the hope that you might be able to formally prove things about computer programs, which could be very useful, if, for example, you could formally prove that the Mars Rover's flash card wouldn't overflow and cause itself to be rebooted again and again all day long when it's supposed to be driving around the red planet looking for Marvin the Martian.

So in the first day of that class, Dr. Zuck filled up two entire whiteboards and quite a lot of the wall next to the whiteboards proving that if you have a light switch, and the light was off, and you flip the switch, the light will then be on.

The proof was insanely complicated, and very error-prone. It was harder to prove that the proof was correct than to convince yourself of the fact that switching a light switch turns on the light. Indeed the multiple whiteboards of proof included many skipped steps, skipped because they were too tedious to go into formally. Many steps were reached using the long-cherished method of Proof by Induction, others by Proof by Reductio ad Absurdum, and still others using Proof by Graduate Student.

For our homework, we had to prove the converse: if the light was off, and it's on now, prove that you flipped it.

I tried, I really did.

I spent hours in the library trying.

After a couple of hours I found a mistake in Dr. Zuck's original proof which I was trying to emulate. Probably I copied it down wrong, but it made me realize something: if it takes three hours of filling up blackboards to prove something trivial, allowing hundreds of opportunities for mistakes to slip in, this mechanism would never be able to prove things that are interesting.

Not that that matters to dynamic logicians: they're not in it for useful, they're in it for tenure.

I dropped the class and vowed never to go to graduate school in Computer Science.

The moral of the story is that computer science is not the same as software development. If you're really really lucky, your school might have a decent software development curriculum, although, they might not, because elite schools think that teaching practical skills is better left to the technical-vocational institutes and the prison rehabilitation programs. You can learn mere programming anywhere. We are Yale University, and we Mold Future World Leaders. You think your $160,000 tuition entititles you to learn about while loops? What do you think this is, some fly-by-night Java seminar at the Airport Marriott? Pshaw.

The trouble is, we don't really have professional schools in software development, so if you want to be a programmer, you probably majored in Computer Science. Which is a fine subject to major in, but it's a different subject than software development.

If you're lucky, though, you can find lots of programming-intensive courses in the CS department, just like you can find lots of courses in the History department where you'll write enough to learn how to write. And those are the best classes to take. If you love programming, don't feel bad if you don't understand the point of those courses in lambda calculus or linear algebra where you never touch a computer. Look for the 400-level courses with Practicum in the name. This is an attempt to hide a useful (shudder) course from the Liberal Artsy Fartsy Administration by dolling it up with a Latin name.

Stop worrying about all the jobs going to India.

Well, OK, first of all, if you're already in India, you never really had to worry about this, so don't even start worrying about all the jobs going to India. They're wonderful jobs, enjoy them in good health.

But I keep hearing that enrollment in CS departments is dropping perilously, and one reason I hear for it is "students are afraid to go into a field where all the jobs are going to India." That's so wrong for so many reasons. First, trying to choose a career based on a current business fad is foolish. Second, programming is incredibly good training for all kinds of fabulously interesting jobs, such as business process engineering, even if every single programming job does go to India and China. Third, and trust me on this, there's still an incredible shortage of the really good programmers, here and in India. Yes, there are a bunch of out of work IT people making a lot of noise about how long they've been out of work, but you know what? At the risk of pissing them off, really good programmers do have jobs. Fourth, you got any better ideas? What are you going to do, major in History? Then you'll have no choice but to go to law school. And there's one thing I do know: 99% of working lawyers hate their jobs, hate every waking minute of it, and they're working 90 hour weeks, too. Like I said: if you love to program computers, count your blessings: you are in a very fortunate minority of people who can make a great living doing work they love.

Anyway, I don't think students really think about this. The drop in CS enrollment is merely a resumption of historically normal levels after a big bubble in enrollment caused by dotcom mania. That bubble consisted of people who didn't really like programming but thought the sexy high paid jobs and the chances to IPO at age 24 were to be found in the CS department. Those people, thankfully, are long gone.

No matter what you do, get a good summer internship.

Smart recruiters know that the people who love programming wrote a database for their dentist in 8th grade, and taught at computer camp for three summers before college, and built the content management system for the campus newspaper, and had summer internships at software companies. That's what they're looking for on your resume.

If you enjoy programming, the biggest mistake you can make is to take any kind of job--summer, part time, or otherwise--that is not a programming job. I know, every other 19-year-old wants to work in the mall folding shirts, but you have a skill that is incredibly valuable even when you're 19, and it's foolish to waste it folding shirts. By the time you graduate, you really should have a resume that lists a whole bunch of programming jobs. The A&F graduates are going to be working at Enterprise Rent-a-Car "helping people with their rental needs." (Except for Tom Welling. He plays Superman on TV.)

To make your life really easy, and to underscore just how completely self-serving this whole essay is, my company, Fog Creek Software, has summer internships in software development that look great on resumes. "You will most likely learn more about software coding, development, and business with Fog Creek Software than any other internship out there," says Ben, one of the interns from last summer, and not entirely because I sent a goon out to his dorm room to get him to say that. The application deadline is February 1st. Get on it.

If you follow my advice, you, too, may end up selling stock in Microsoft way too soon, turning down jobs at Google because you want your own office with a door, and other stupid life decisions, but they won't be my fault. I told you not to listen to me.

Wednesday, August 15, 2007

A philopher in me...

Below stmts are my observations , beliefs.....

Iam just covering as philosphy.


If a person can control his thoughts then his intelligence level is above average.

If a person can understand his brain completely, how it works, how it trains, how it reacts…

then he can be a good person.

Understanding whole brain is equals to whole universe.

Whole history about u is stored in ur brain as a memory.

Ur Past, Ur future, Ur present is in ur memory.

Every Invention can be simulated with part of Human body.
[ storage of images , a video ( recalling event visually) ]

Everything is in front of u is an Invention, a miracle.

Saturday, July 14, 2007

Still school boy....

Presently iam working in D.E.Shaw software pvt ltd.

My brother brought some bag from america
Actually it is laptop bag..i dont have a laptop so, iam just carrying some note books , printouts in that bag.

it appears big like a school bag..

going alone, walking with a bag like i was in my schools days....