Vijay Krishna's Notes http://vijaykrishna.posterous.com Most of my notes as a student of computer software and everything around it. posterous.com Fri, 25 Mar 2011 05:54:36 -0700 Startup http://vijaykrishna.posterous.com/startup http://vijaykrishna.posterous.com/startup There is this whole new revolution taking place with a sudden escalation in the use and making of software tools and products and the internet. There is so much one can seem to do and achieve nowadays. Almost every other person seems to be getting the next big idea and launching it to make decent wads of green. Well, many, like i did in the first statement of this post, are claiming this to be a direct effect of the explosion internet and software. But then again, there are other factors. For starters, the lack of good jobs. Let us face it. The IT Boom may have gotten in a lot of jobs around the world, but the fact remains that these are nothing jobs. They do not have nay perks, no security, zero retirement plans, and the ability to support only a single person. And let us face another fact. The number of intelligent people in this world are increasing, else this wave of entrepreneurship would not have been this sustainable. The number of smart people in this planet have outweighed the number of good and well paying jobs. Look at it this way, before Google and Facebook came to the big stage, all an IT professional could talk about was working for MS, IBM or Yahoo one day. And then came along Google, followed by FB, and they became the next big firms to work for. Every time there is a new firm which comes on to the big stage, the aspirations of the job seeking crowd becomes more and more tangible. And this is possible only if regular graduates and engineers look at starting something new of their own. Why i spoke of Google is because it is the 2nd reason for this startup craze. You see, before Google, all the other firms were formed ( i.e. were startups) back in the 80's. It was almost like  everyone forgot the meaning of the word entrepreneur. They could not look beyond working for existing establishment. The Google and Facebook stories have changed exactly that. They are the modern day startups, who have gone on to challenge and dominate global competition in their areas of expertise. Funny story is that before they came into being, they already had people working on similar products and software, which was being commercially used. Be it search or social networking. Yahoo search and Orkut came before Google search and Facebook. Yet, they triumphed over them. And mind you, both Yahoo Search and Orkut were good and popular products in their time. This very fact, that the new kids on the block could show the way out to the old ones, and that too so quickly has showed people that if your idea is worth it, then there is really very little stopping you. Self employment is a concept that is gaining popularity as days pass by. Now people have gone beyond the idea of making it to the big screen. They are contended with being simple one to two man teams making some kind of profit from some kind of business. The idea of being a independent consultant or a free lancer is also setting well with the new young guns today. The whole scenario looks so promising that even kids, from both schools and colleges are doing well with the whole process of making money. What ever be your qualification, if you have an idea you can sell, then this is a fantastic time to invest some time and startup. Its time to make hay while the sun shines folks, and this hay sells!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Fri, 11 Mar 2011 13:55:24 -0800 The Marriage Code http://vijaykrishna.posterous.com/the-marriage-code http://vijaykrishna.posterous.com/the-marriage-code While attending a typical south Indian wedding today, i got engrossed in the ceremony and its proceedings. Every hour there was a puja to be done and it was kind of maddening to be very honest. So, while this madness was going along it normal course, i started taking some interest in the prayers being offered to the Gods and started to ask people as to what they meant, (they were being chanted in Sanskrit), i noticed that every now and then the priest would ask for the bride's or the groom's name. Very so often he was also asking for the names of the parents. At places the priest was asking the couple to do a thing or two by giving them explicit instructions for the same.That is when a brain wave came to me, which might probably leave most of the priests unemployed when it comes to performing such ceremonies and prayers. The whole thing is (simply put) a chunk of code (the prayers) which is wrapped around a function or method with names of the bride, groom and their parents as parameters. The so called instructions given by the priest are nothing but messages being passed from the function to its environment. So, in the view of the statement just made, why can we not have systems which can automate religious ceremonies and prayers? Imagine the amount of efficiency we will get with doing something like that. There will be no bloopers by the priest. There will be no requirement for the priests to come all the way to the actual venue of the event to perform the ceremony. Thus you save a lot of money in transport costs and staying expenses if the wedding is actually in a remote area. You can quicken the process if you want. If you want to involve the human element, you can actually have the priest perform the wedding from a distance. Distance worships!! All this can actually enable the priests to perform various kinds of ceremonies and functions at the same time at different locations in the world. If this whole this kicks off, then you can actually get this whole software/system, as an opensource system, which you can download at zero cost from the internet, and all you would then require is a PC to run it. We will then have Microsoft shipping a MS Prayer in its Office Suite of Software and Google will throw in the same thing free of cost on Google Docs as a part of its cloud applications. You will actually have a lot of variety to choose from. There will those running on just Linux or Windows or Apple. For Windows you will get the pirated versions. WOW!!! With this idea, you have actually linked piracy with worships, prayers, and weddings. In order to avoid that bad notion of piracy being associated with such sacred events people might actually buy the costly license and for once there will be a software with no issues of piracy. Or, watching this notion by the people, Microsoft might actually overprice the thing, thinking that people will bear the whole cost burden. And then, people might actually show up their true colors and go with the pirated version anyway. You might actually have one religion accusing the other to have pirated the systems associated with their religious ceremonies. You will have riots in the name of software. International religious conventions will be convened to solve the menace created with this software. Vatican might feel threatened by this use of science and technology and the Pope will then vehemently opose it. Looking at all this, i guess its better not to go into something like that. But then, come to think of it: The world's economy, religious sentiments and power vendors will feel threatened with this single software. :) Worth trying to find out?

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Fri, 18 Feb 2011 17:08:26 -0800 Google Maps JS API http://vijaykrishna.posterous.com/google-maps-js-api http://vijaykrishna.posterous.com/google-maps-js-api With my involvement in  the ongoing work on my undergrad college website, i was asked to churn out a simple piece of code for a dynamic Google map for the location of AIT. I already did this using Static Maps some time ago and it was recieved well. But, there was a huge demand for a dynamic map and after a quick 30 min revision of the JS API i managed this fragment of rather simple code: [sourcecode language="javascript"] <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0px; padding: 0px } #map_canvas { height: 100% } </style> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"> </script> <script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(18.60700,73.87507); var myOptions = { zoom: 14, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; //marker var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions); var marker = new google.maps.Marker({ position: latlng, title:"Army Institute of Technology, Pune, IN"}); marker.setMap(map); //info window var contentString = '<div id="content">'+ '<div id="siteNotice">'+ '</div>'+ '<h1 id="firstHeading" class="firstHeading">Army Institute of Technology</h1>'+ '<div id="bodyContent">'+ '<p style="width:100%"><img src="http://aitpune.com/picture/aitlogo2.gif" style="float:right" hieght="100" width="100" alt="Onward to Glory"/> Dighi Hills,Alandi Road<br /> ' + 'Pune, INDIA-411015<br /><br />Phone: (020)27157534,27157612<br />Fax: 91-20-27157534<br />E-Mail: ait@aitpune.com</p>'+ '</div>'+'</div>'; var infowindow = new google.maps.InfoWindow({content: contentString}); google.maps.event.addListener(marker, 'click', function() {infowindow.open(map,marker);}); } </script> </head> <body onload="initialize()"> <div id="map_canvas" style="width:100%; height:100%"></div> </body> </html> [/sourcecode] Simple enough really. Nothing to it. Go have a look at the Google Maps JS API 3 tutorial (Google it...) and you should be able to figure it out without any issues. As usual Google's documentation is brilliant.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Fri, 04 Feb 2011 18:22:01 -0800 Google Static Maps http://vijaykrishna.posterous.com/google-static-maps http://vijaykrishna.posterous.com/google-static-maps I will cut to the chase. The following are two static images showing the location of my college on Google maps. [caption id="" align="aligncenter" width="600" caption="AIT on Google Maps"]
Media_httpmapsgooglec_xggst
[/caption] [caption id="" align="aligncenter" width="600" caption="AIT on Google Maps with custom marker"]
Media_httpmapsgooglec_tpeie
[/caption] The following are the two URLs which i constructed in about 5 mins to come up with these images: http://maps.google.com/maps/api/staticmap?center=18.60598,73.87507&zoom=14&size=600x600&sensor=false&format=gif&markers=color:blue|label:A|18.60598,73.87507 http://maps.google.com/maps/api/staticmap?center=18.60598,73.87507&zoom=14&size=600x600&sensor=false&format=gif&markers=icon:http://tinyurl.com/62863uh|18.60670,73.87900 Its simpler then saying Google. Or so i think. :D

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Thu, 27 Jan 2011 18:25:21 -0800 Browser Actions - Chrome Extensions http://vijaykrishna.posterous.com/browser-actions-chrome-extensions http://vijaykrishna.posterous.com/browser-actions-chrome-extensions Today i got some time from work to at a good look at the chrome extensions and its development. I have been doing a lot of reading in order to understand what the whole buzz is about. Another reason as to why i have been procrastinating the development of my 1st Extension is due to a lack of good idea(s). So i have to get my creative juices flowing. May i will over this weekend. But, all that reading has done me some good and i wanted to share as to how simple it is to build these extensions. So this post is about a specific UI concept in Chrome Extensions and it is known as a Browser Action. Well, lets try and understand what the browser action really is. If you are using chrome you should see a small wrench in the top right corner of your Chrome browser right beneath the Close+Maxi/Mini-mize buttons. That in essence is highly advanced and evolved form of a browser action, atleast the way i look at it. A Browser Action is something that is a global action for the browser it self and not for a specific kind/set of websites. It is an add-on to the Browser and should in principle be independent functionally, from the website which is loaded in the browser. It can be a Action to view your mail, make a quick blog post, get a menu for all your tabs that are currently operating in the instance of your browser, a add-on u can use to shoot posts to your facebook or to tweet. Stuff like that is independent of the content/context of your website that is currently loaded in the browser. There are somethings called Page Actions which can be used for Page/Website Content Specific actions, examples of which i have given in my previous post on the Chrome Webstore. So now that you have a good idea of what browser actions should be, let us have a really quick and painless view of how simple it is to create such actions. A Browser Action can have the following 4 basic elements:
  1. Icon
  2. Tooltip
  3. Badge
  4. Popup
  • An Icon is what appears next to the wrench. It can be a static image in the JPG, JPEG, GIF, ICO, PNG and BMP. It can also be a dynamic icon using the Canvas element of the HTML5 standard.
  • The Tooltip is essentially, the title of the Extension, and appears in the tooltip. It is optional to give this in the manifest, as explained below.
  • The Badge is a small fragment of text of not more than 4 characters, overlaid on the icon. It can be used to give out additional information to the user. Such as the count of unread mail for a Mail Extension. The text of the badge itself should be very concise.
  • The Popup is an optional pane containing HTML markup which can be your creation and will open up when you click on the icon of the extension.
Quick Start: The following is what the manifest of your extension should look like.
{

"name": "Test Browser Action",

"version": "0.1",

"broswer": {

"default_icon": "images/testIcon.jpg" //required

"default_title": "Test Action" //optional; tooltip text

"default_popup": "popup.html" //optional

},

}

 
What you really need to do is to put this in a file called manifest.json, along with the popup.html and the testIcon.jpg in a folder. That is it that is you extension ready to be loaded. Then you need to go to Tools(the wrench sign)>Extension, then click on the + sign next to the Text which reads Developer mode, if it is not already a -. Then you should be clicking a button called "Load Unpacked Extension..." and select the folder where your extension from tree view that pops up and your extension is good to go. You should be seeing your extension icon next to the wrench and clicking it will open up a pop -up which will contain what ever mark up you place in your popup.html file. Remember all these files i.e. the manifest, popup.html and icon.jpg should be in the same folder, which you select to load into your browser. Simple enough won't you agree? While this was a real ABC of Bowser Actions, you can dig up more information, you are interested, at http://code.google.com/chrome/extensions/devguide.html. It is the official Google documentation for Chrome Extensions Developers. So happy coding!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Sun, 23 Jan 2011 18:27:34 -0800 Chrome WebStore http://vijaykrishna.posterous.com/chrome-webstore http://vijaykrishna.posterous.com/chrome-webstore I opened my browser (read Google Chrome) yesterday and i saw something new in it. Apps !!! I was like, "Hello!! What are you?" And within two clicks of the mouse i end up in the CHROME WEBSTORE!!! It is awesome the way Google does it! Google has now housed all of its Chrome  Extensions, Skins and Apps (yes that is correct, Apps) under one roof and it is simply awesome to say the least. Most of these products or add-ons are free, but you can charge for your apps as well. It takes a nominal fee of $5 to submit your app into the Store itself. A price which is next to nothing in my opinion, given that it is a one time payment. The first time i ventured into the store i hit it off with my favorite section which happens to be the Themes Section. The Store currently houses a whole gamut of Themes that are more than what you would normally see in your Tool Menu -> Options -> Personal Stuff -> Get Themes. You actually had some amazing set of colors and covering all kinds of people. These are a few i tried out for my browser: The Shrine Theme Ethereal 2 (This is the one i stuck with) Coming Winter Theme You also have a fantastic set of themes for Football lovers, one for every popular football playing nation. Here is the one for Brazil. Then you have the Apps. Now let me give an idea of what Apps are. They are not Add-ons. They do not form a part of your browser. Remember the blank empty space when you minimize all the options in a new tab of Chrome ie Most Visited and Recently Closed. Well there is an empty space there with a nothing in the background except for your theme's image/design if you have one. Point is imagine if you could have tiles or links to the favorite Apps you could possibly have, instead of an empty space. They are like little tools just as you have in your cell phone. These are specifically built for Chrome i guess, since they are Chrome Apps but can be run in other browsers as well. But the thing is that they are highly advanced and interactive websites which open in a new tab. You get access to 3 default Apps when it is activated in your browser, they are, The WebStore itself, an interesting Game called Entanglement and Popit, another game i guess, no clue really have not tried it yet. So fundamentally these are web applications built keeping in mind the Chrome Browser. Then finally you have the Chrome Extensions which are closer to the conventional Add-ons you get in other browsers like FireFox. These appear along with the Tools Menu in the Top right hand corner of your Browser. These are called browser actions and are meant for adding additional functionality to your browser, an extn for Gmail or any other mail to check your Mail in a single mouse click. You also have page actions which come up only in specific pages such as a Map functionality which will appear in the OmniBar when you navigate to a page with an Address in it. Apart from giving the user a brilliant experience, the WebStore is a fantastic place to let loose as a developer and/or tester. The documentation for all of this is simply fantastic and easy to use and as usual supports all well known technologies like JavaScript, HTML and CSS. I am neck deep into understanding Extensions for the time being. I may get to the Themes as well. ;) All in all a great add on to an already brilliant browser, which simply makes the Web experience that much more brilliant. :D

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu