Patio11 says hello ladies
Patio11 or Patrick McKenzie of Bingo Card Creator fame gave this talk at Business of Software conference.
.................................................................
Do check out my wordpress backup service
Patio11 or Patrick McKenzie of Bingo Card Creator fame gave this talk at Business of Software conference.
.................................................................
Do check out my wordpress backup service
While I primarily use Google, occasionally I do try Bing out for certain queries. Today while listening to the geeky TechzingLive podast, there was a mention of a Reddit IAmA with Ken Jennings, a 74-time Jeopardy winner. They did not however provide a link to the webpage.
So I naturally turned to Google with the query "ken jennings reddit". The page in question was the first link. +1 for Google. Now when I tried the same on Bing this page was nowhere to be found. Upon further investigation I noticed that this page was not present in the Bing index at all, despite being 2 weeks old and at a site which gets over 1 billion page views a month.
If I ever thought that there is no need for Google to scan the web every moments, I now stand corrected. If Bing wants to at all compete with Google, it will need to match if not exceed Google when it comes to the speed at which it spiders the web.
Chuck Lorre on dress code in hollywood:
The two major groups in TV show biz are, naturally enough, show people and biz people. Telling them apart is simple. No matter how old they are, 'show' people (usually creative types like writers, actors, directors and musicians) dress like teenagers. Again, regardless of age, 'biz' people (agents, managers, lawyers, company executives) dress like adults. When 'biz' people start dressing like 'show' people it means they've made too much money off the backs of the aforementioned 'show' people. When 'show' people (usually directors) start dressing like 'biz' people, it means they're insecure about their creative involvement and need a hug.
.................................................................
Do check out my wordpress backup service
I will consider myself quite web-savvy, but I stumbled while tweeting using its web interface today. I was trying to post a link which was a bit too long.I got this:
If my mom were to ever use twitter, and come across this situation, she would be dumbfounded. Twitter should just accept long urls, and shorten them.
PS: The ironic nature of my rant and my tweet :)
.................................................................
Do check out my wordpress backup service
In this very interesting interview of Peter Norvig of Google, there is this quote:
Last night I saw Jeff Ma speak—he's the MIT student who did the card-counting in Vegas, which the movie 21 was about. He talked about one of his first days betting and how there are certain situations where the statistics say, "If you're in this position, you should double your bet." So Ma finds himself in that position and doubles his bet and then the dealer deals himself 21 and Ma loses $50,000. Then a couple of hands later he was in the same situation and now he's down $100,000. So he went back to his room and said, "What did I do wrong?" He thought about it and said, "I didn't do anything wrong; the statistics are what they are and I did the exact right play for the statistics. The dealer just got lucky." So he went back and kept playing the same strategy and ended up winning $70,000 or something over the weekend. He makes the point that if you're making the right decision, even if you get a bad result, you're not really wrong.
Here also we see that persistence pays. But the gotcha here appears to be that in entrepreneurship, you are not relying on empirical formula while persisting. In fact you are possibly doing exact opposite of what would be the logical wisdom.
.............................................................................................
Do check out my wordpress backup service
This the fourth part to my series on learning in the past 5 years as a professional programmer. Earlier three posts can be found here, here and here.
The Broken Window theory, which states that a system which has been damaged will only further encourage further damage, completely applies to building software too. This is something I have noticed in the Netscaler code very often. Any new code being added to a section which has historically been been badly written, will almost certainly be of poor quality too. Somehow the presence of poor code encourages people to further add to the mess. Even the best programmers, I have seen, have been subject to it. I am a culprit here too. There are many reasons for this. But most often it is because of "not my headache" excuse.
Does this mean that a well written code is safe. Not exactly true. Even with clear guidelines, well meaning, professional programmers of great skill, will knowingly damage well written code. The only way to prevent this is to have the owner of the code exercise maniacal control over it. It will lead to fights and arguments.
The parting thought here is too ask, how a culture can be created to ensure code quality? Do you see this phenomenon too? If not, why?
Continuing with my series(previous 2 posts about Error Checking and Breadcrumbs) on the lessons learnt in the past 5 years being a software engineer at an amazing company.
Arrogance is one of the qualities I have seen time and again in the best work done by the best engineers at Netscaler. But this arrogance is not in the way of bad manner, but in the way of challenging the assumptions. Often we make an assumption that an existing piece of work or code, which is generally regarded with reverence, is the best way of solving a problem. We then try and craft the solution around this assumption, without challenging it.
One such example would be the compression algorithm implementation. Since compression algorithms are not our primary job, I would have normally assumed some of the existing implementations to be the gold standard. But then I come across our implementation which just blows away everything else. When I learnt of this, I asked the engineer, how did have the guts to challenge the existing code? But the engineer replied with utmost humility about that being the need of the hour.
Arrogance is a quality which is equally needed in entrepreneurship too. Why else would any person actually bet against the odds, and challenge the assumption?
Continuing the series on the learnings in the past 5 years, here is another learning which appears to be very obvious, but at the same time very rarely used.
One of the many amazing features in Netscaler(the product I work on) is its counters subsystem.In Netscaler, almost every piece of code, especially error paths, which causes some change, will update a counter. These counters are then stored at regular intervals. Besides being used to monitor the state of the system, they are critical in debugging any customer issues. These counters are basically a trail of breadcrumbs indicating the past working of the system.
When writing software, we often do not build sufficient debugging infrastructure to diagnose issues when they are in production. You will mention the usage of logs. But in my experience I have often come across products where the logs are just about most basic in nature. even in these cases the logs are active only in debug/developer environments and rarely in production.
Concluding, the learning here is to build a light weight system which leaves a trail of breadcrumbs as it chugs along.
I have been a sheep at Citrix for almost five years now. I have learnt very many things about software engineering and how companies work. I thought this would be a good time to look back at a few lessons learnt.
1. First step to writing great software is about error checking
If you are writing any software which will be used even slightly extensively, you can be assured that almost every edge case will occur. You will run out of memory. You will run out of disk space. Your destination host will be unreachable. Some process will crash. And so on.
While as obvious as it sounds, my first lesson about writing product quality code, is to check for each and every error that can occur. An then to handle this error. This is something which is never given enough emphasis in college.
In an earlier post I had asked, how Social Media could be used to provide sustained traffic to a site. Thinking about it I have realized that this was a completely wrong question to ask. The real purpose of Social Media is not to provide traffic.
While search engines are amazing at sending you lots of relevant traffic, I can hardly ever recall becoming a fan of a site, which I found through a search engine. Yeah there are sites which you visit often enough from a search engine, it will register in your mind. But in fact I can barely recall the identity of various sites that I have visited through a search engine.
This is where Social Sites are the anti-thesis of search engines. Almost every site I visit through digg/facebook is because I find the title interesting, but hardly ever because they were relevant to my current task at hand. If the site is extremely remarkable(as Seth Godin says) it will immediately register in my mind(I can remember first reading Paul Graham's "How to Start a Startup" post as one such revelation). But more often or not, if some site pushes out something remarkable at regular intervals, I tend to really associate with the brand of the site. At one point I will became a fan. The examples of these are xkcd or Balasmiq. Now I will spread the word about the site and the where the magic of social media comes to light.
Reiterating, the approach to Social Media is to build a brand and a following and not to replace traffic from search engines.