if you are trying to use synergy - http://synergy-foss.org/ with two macbooks pick version 1.3.1. Because with other versions the keyboard won't switch to the clients at all.
Friday, September 16, 2011
Wednesday, April 13, 2011
My Firefox Addon Statistics
I never thought that 67000 people will download this extension when I wrote this :) It grew organically and fun to watch.
Thursday, January 27, 2011
Simply True & Utterly Humorous: Life in graphs
From: Annu K Rekha <annu.rekha@in.ibm.com>
Date: Fri, Jan 28, 2011 at 12:25 AM
Subject: Simply True & Utterly Humorous: Life in graphs
To:
| ||
Annu K Rekha
Business Controls
IBM India Private Limited
Embassy Golf Links Business Park,
Email: annu.rekha@in.ibm.com
Early bird gets the worm, but the Second mouse gets the cheese.
Tuesday, January 18, 2011
Bangalore Parking Rules
Vehicle Towed
I had my vehicle towed for the first time in bangalore today. I parked my (friend's) two wheeler in front of a SBI ATM on MG road to withdraw some cash. I did not notice that there was a towing vehicle behind me and also did not know that I was not supposed to park there. It took me just 45 seconds to figure out that the atm was not working, I turned back and my vehicle was being loaded into the towing vehicle. I argued that I did not know that I should not park here and pleaded to give the vehicle back. But the towers instructed me to come to the traffic police station, pay the fine and pick the vehicle.
At the Traffic Police Station
I took a auto immediately, rushed to the police station mentioned. My two wheeler was already chained in front of the station, ultra fast. I went to the station and enquired for the procedure. They instructed me to pay 300 rupees fine and take the vehicle. It was very straight forward, a) pay the fine b) get the receipt c) ride the vehicle back. I should say that I was very happy with the experience at the station. There is no unnecessary questions, no asks for bribe, etc, etc. The auto owner mentioned that Bangalore is like United States and policemen are very strict. All in all I felt very happy about the experience, even though I had to pay 300 rupees. I made a mistake and I paid for it. I should better know the parking and traffic rules at Bangalore before I start to drive.
Quirks
Note that there were no documents asked at the station to prove that you own the vehicle. I just provided my driving license (tamilnadu license) and 300 rupees. I also did specify the vehicle number. Its just very easy to go outside the station, look at a vehicle that is chained, note down the number, go in pay the fine and take the vehicle away. So if your vehicle is towed I advice you to go and get it back as soon as possible. Obviously someone else needs a key to drive your vehicle away, but its very easy to get a master key for some vehicles.
Receipts
Wednesday, November 10, 2010
Internet Explorer 9 Pro Challenge
| ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
|
Wednesday, October 20, 2010
Tips to watch YUI Theater videos on your iPad
Sunday, October 3, 2010
Untitled
I recently started using Titanium from appcelerator for mobile development and wanted to share some tips. Its actually more of the problems I encountered and solutions I discovered.
Problem 1 - A project created by my friend won't import properly on my machine. When I mean it won't import properly, titanium developer reported that the import was successful. But when I navigate to test & package tab, it would be blank.
Solution: The problem here was that my friend did not commit the build directory that was created by titanium, to the repository. So when I imported the project there was no build directory in it. Titanium should ideally error out while importing or atleast give some sort of warning, but it did not do that. And normally as engineers, we assume that build directory contains some build output so we won't commit them. But you have to when you develop with Titanium.
Problem 2 - When I try to create a new mobile project, titanium will say "error creating project, try again" but nothing about what the error is.
Solution: the problem here was the default sdk version selected by titanium when I created a new project was not supported. So I had to change it to successfully create a project. Again, a generic message from titanium here doesn't help much. Once I change the sdk to 1.2.0 it was successful.
Friday, September 3, 2010
An old conversation with Douglas Crockford
From: Douglas Crockford <douglas@crockford.com>
Date: Tue, Mar 6, 2007 at 9:30 AM
Subject: Re: Minor fix in json.js
To: Prathapnirmal <prathapnirmal@gmail.com>
Thanks.
Prathapnirmal wrote:
Hi Douglas,
First of all thanks for the awsome JSON. Even a subset of javascript does excellent job.I am using json.js in one of my projects and came across a minor bug which requires a fix. It's in the filter walker function,if (typeof filter === 'function') {
function walk(k, v) {
if (v && typeof v === 'object') {
for (var i in v) {if (v.hasOwnProperty(i)) {
v[i] = walk(i, v[i]);
}
}
}return filter(k, v);
}j = walk('', j);
}
return j;The final result of the walker should be the return value, else the following example fails,
var filter = function(k, v) {
switch(v.type) {
case type1:
return type1();
case type2
....
}
}
var json_data = {type: "type1", collection: [{type: "type2", ...}]};
var type1_obj = json_data.parseJSON(filter);
In the above example I will be expecting a type1 object whereas what will I actually get is a simple object. The actual reason is that the final object that is created in the filter function is lost.Again thanks for such a good alternative to xml. Please let me know on what should I do to do this fix so that it becomes useful to everyone and not everyone spends time on debugging the same issue.
thanks
~
Prathap
Wednesday, August 18, 2010
Keep Life Simple
- Follow your heart
- Find a new perspective
- Have a sense of wonder
- Find people you love
- Set goals
- Help others
- Dance
- Pamper yourself
- Face your fears
- Go to a museum
- Exercise
- Limit Television
- Get in touch with nature
- Lighten up
- Get a good nights sleep
- Read books
- Buy yourself flowers
- Don't compare yourself with others
- Be open to new ideas
- Don't focus on negative thoughts
- Focus on creating what you desire
- Make time just to have fun
- Keep the romance in your life
- Make a gratitude list
- Want what you have
- Be true to yourself!
Keep life simple!! - http://www.facebook.com/video/video.php?v=446284490742
Monday, June 28, 2010
My Status Messages
- RTFM - Read the _dash_ manual
- People, most important asset for any company - invest in them, rest will follow
- I make design decisions in my shower
- Two wrongs is not right but three lefts are, both are bad in engineering
Wednesday, April 14, 2010
Mozilla Add-ons: Speed DNS 0.1 reviewed by Juan Manuel Rodriguez Alvarado
From: Mozilla Add-ons <nobody@mozilla.org>
Date: Wed, Apr 14, 2010 at 10:37 PM
Subject: Mozilla Add-ons: Speed DNS 0.1 reviewed by Juan Manuel Rodriguez Alvarado
To: prathapnirmal@gmail.com
Congratulations! Your nominated add-on, Speed DNS, has been reviewed by a Mozilla Add-ons editor who approved your add-on to be public. Your most recent version (0.1) has also been made public. You can view your public add-on now at: http://addons.mozilla.org/addon/54648 Review Information:
Reviewer: Juan Manuel Rodriguez Alvarado
Comments: Congratulations, your add-on has been approved for public status. Due to caching and mirroring of AMO, it may take a couple of hours for your add-on to appear public, so please be patient. Keep up the good work! It is difficult to verify the performance gain as DNS resolution occurs very quickly, but apparently the code aims to help you save a few miliseconds :) If you have questions about this review, please reply to this email or join #addons on irc.mozilla.org. Mozilla Add-ons
http://addons.mozilla.org
Thursday, March 25, 2010
My meetings this week
I was wondering on how much meetings I had this week and was trying to write some thing to figure that out automatically. AppleScript came to help since I was using ical and it took me about 3 hours to start from basics to get what I have, the following code. Result is 18 meetings and the total time I spend on meetings is 16 hours.
global total_meeting_hours
global num_meetings
set total_meeting_hours to 0
set num_meetings to 0
tell application "iCal"
tell calendar "calendar"
set theEvents to every event
repeat with e in theEvents
set sd to start date of e
set sm to month of sd
set d to day of sd
if sm contains March and (d > 21 and d < 27) then
set ed to end date of e
set h to (ed - sd) / (60 * 60)
set m_summary to summary of e
set total_meeting_hours to total_meeting_hours + h
set num_meetings to num_meetings + 1
end if
end repeat
end tell
end tell
display dialog total_meeting_hours
display dialog num_meetings
Wednesday, March 3, 2010
Crockford's Talk
- HTML was derived from SGML. SGML is something used internally at IBM and Tim adopted it for world wide web
- The browser makers went into a competition on who could make the best sense of a very bad html document
- Next is the end of all things!
Yahoo Maps
Its very inconvenient that I have to do an extra click on the text box to start typing in something. Why don't they auto focus?
Monday, December 7, 2009
Why Google Will Die One Day!
I was trying to post a comment on a youtube video today and found that there was a bug in the comment feature. I am not sure on what the bug is but it surprised me that, a major destination on web had a bug on a very basic feature with a lot of talented engineers behind it. Where is the flaw? process? ownership? View this screencast (watch it on screencast if you cannot see on whats going on) -
View on screencast.com »
Sunday, December 6, 2009
கனவா நினைவா
கனவா நினைவா என் கண்கள் தேடுà®®் தீவா
உறவா உயிà®°ா என் மனதில் பூத்த பூவா
உனை வேà®°ாக உறிஞ்சிடுவேனா
எனை தீயாக சுடுபவள் நீயா
மழையாய் மனதில் விà®´ுந்தவள் நீயே தானா...(மலர்)
எனை தாà®™்குà®®் புவி தாயே
உயிà®°ான à®®ெய் நீயே
இதயத்தில் இன்à®±ு கேட்குà®®் இசை நீயடா
கடலோà®° அலை நீயே
எனை தீண்ட வருவாயே
நிழலாக நானுà®®் அன்பே நிஜம் நீயடா
மலரில் மனமாய் ஒன்à®±ு சேà®°்ந்தவன் நீயடா (நிழல்)
கனவாய் நினைவாய் என் கண்கள் தேடுà®®் தீவா
உறவா உயிà®°ா என் மனதில் பூத்த பூவா
(நிஜம்)
உனை வேà®°ாக உறிஞ்சிடுவேனா
எனை தீயாக சுடுபவள் நீயா
(நிழல்)
மழையாய் மனதில் விà®´ுந்தவன் நீயே தானா... (உயிà®°் - நிழல் + நிஜம்)
கனவா நினைவா என் கண்கள் தேடுà®®் தீவா
உறவா உயிà®°ா என் மனதில் பூத்த பூவா..
Wednesday, October 28, 2009
Events Evolved by Luke Smith
- Event handling history- we normalized the event listening mechanism and the event objects are normalized today.
- Normalized subscription, normalized event handling, DOM like method names
- In YUI3 the node instance gives a dom like contenxt, we give you the DOM and it works!
- example - node.on("click", clickHandler) - this is more of JQuery style where everything is JQuery
- custom events are normalized too from YUI 2 to 3. The event methods are shortened now
YUI3 Performance - Matt Sweeney
- use the minimal seed or the seed plus loader
- third way to do it is to have one big combo handler and do YUI().use("*", function(){}) This will make sure that you have everything you need at the beginnning. It also avoids addditional http request
- lazy loading - using the use statements you can literally load everyhing on demand, except for the seed. This works for any dependencies such as css, etc.
- imageloader helps deferring the load of images - developer.yahoo.com/yui/imageloader
- you can either use modules to load your own code, or do a get script call with a function callback. The modules has the dependencies detection feature and load them which is great.
- You can use custom class to do manual event delegation in YUI2. You can do the same using delegate() in YUI3, which is a performance benefit?
- the listener objects that you get back for event listeners have methods on which you can call detach() to remove them
- Y.later - runs asynchronously
YUI3 First Concepts
- yui+loader is the seed file which should be loaded initially and it will take care of loading the rest
- yui-min is still minimal if you are concerned about the yui + loader size which is 11kb. yui-min is just 6kb
- add phase is where you can load your custom code from custom location
- Al the modules in YUI3 are broken down into submodules so that you can selectively load what you want. For example if you are using just xhr in connection, you can just load io-min and you are done. This helps you a lot in bringing down the overall footprint
Monday, October 19, 2009
Benefits of Drinking!
|
