Archive for the ‘Uncategorized’ Category
Amazon CloudSearch
The next in Amazon’s cloud offering: Cloud Search [Blog explaining the service]. I am not very much impressed the instance model of the service. I would love to see a service where I am charged based on my query traffic and index size.
FileIt.in Launched
Please accept my apologies for not updating this site frequently! Well, as many would have guessed, I was totally engaged in a project: FileIt.in. I created FileIt.in for my own purposes of storing study notes, sharing them with others using various social networking tools. Registration (you may directly login using your Google or Yahoo! account) is free. So try it out
For the technically curious, the technology behind FileIt.in is discussed in this post. It is running in a 256MB RAM Ubuntu VM.
Playing with Neo4J: Sample cli-blog application
Last few days I have been playing with various NoSQL databases. One DB which attracted me because of its beautiful API is Neo4J. To test out it’s API, I created a sample cli-blog application. People interested in the source code can get it here: http://code.google.com/p/subwiz/source/checkout.
Importing a svn sub-module as a hg repository
Today I converted the WizTools.org commons-lib project from the mini-projects site to a separate project. This involved the migration from the svn repository to a hg one. The sequence of steps I did:
$ sudo apt-get install hgsvn $ hgimportsvn http://wiztools.googlecode.com/svn/commons-lib/trunk wiztools-commons-lib $ cd wiztools-commons-lib $ hgpullsvn # Edit .hgignore and commit it $ cd .. $ hg clone wiztools-commons-lib wiztools-commons-lib-remote $ cd wiztools-commons-lib-remote $ hg push https://wiztools-commons-lib.googlecode.com/hg
URL Shortners
Got two news on this topic today:
- bit.ly starts offering premium services.
- Google launched a URL shortening service.
OpenSearch search providers and browsers
All the major browser vendors support the OpenSearch format (yes, this means including Microsoft IE8) for registering a search provider in your browser.
Writing a OpenSearch provider
Recently I wrote a search provider for my favorite book-buying site, Pustak.co.in:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Pustak.co.in</ShortName>
<Description>Pustak.co.in provider</Description>
<InputEncoding>UTF-8</InputEncoding>
<Url type="text/html"
template="http://pustak.co.in/pustak/books/search?q={searchTerms}&type=book&page=1"/>
</OpenSearchDescription>
Hosting your search provider
To let people use your search provider, you need to host it in the web. For our example, let us assume that you host it here: http://yourhost/your_opensearch.xml.
The MIME type of this document can be left to its default application/xml, or can be made OpenSearch specific: application/opensearchdescription+xml.
Using JavaScript to register a provider
After deploying the OpenSearch XML in your host, we need to write a JavaScript function to register the provider with your browser:
<script type="text/javascript">
function registerYourSearchProvider(){
window.external.AddSearchProvider("http://yourhost/your_opensearch.xml");
}
</script>
This JavaScript worked with Firefox, IE8 and Google Chrome. Opera 10 was not able to understand it.
Auto-discovering OpenSearch providers
Recently when I saw my Google Chrome search providers, I saw this list:
I was surprised to see this list because there are providers that I have not added specifically. How was Google Chrome “discovering” these providers?
A look into the HTML source of one of the auto-registering search provider, I found the following info (in the <head> section):
<link rel="search"
href="/mavensearch.xml"
type="application/opensearchdescription+xml"
title="mavensearch.net" />
To let browsers auto-discover you as a search-provider, add the above in your sites!
Google Cache View Bookmarklet
Processes over People
There is an amazing Dilbert cartoon which beautifully describe the pettiness of some bosses. These type of people believe more in processes and policies than on their people.
Post Chrome Frame, fear seen in Mozilla!
It is interesting to see how people behave in a period of change. Some people embrace it, some go hysterical blabbering nonsense. Post release of Chrome Frame, one of the Mozilla’s top brass, Mitchell Baker, has taken the second route. Excerpting from her blog entry:
For many people Chrome Frame will make the web even more unknowable and confusing. Image you download Chrome Frame. You go to a website. What rendering engine do you end up using? That depends on the website now, not on you.
I don’t care! What I want is my page to render properly.
She continues:
And if you end up at a website that makes use of the Chrome Frame, the treatment of your passwords, security settings, personalization all the other things one sets in a browser is suddenly unknown.
The aim of Chrome Frame is just to change the rendering engine. Not replace IE’s personalization tools.
And the blabber continues to new hysterical levels:
Google is not the only website developer that would find this idea useful. Google is providing the set of features it believes are helpful for making powerful websites. Other websites will have browser features they would find useful for their applications. Imagine having the Google browser-within-a-browser for some sites, the Facebook browser-within-a-browser for Facebook Connect sites, the Apple variant for iTunes, the mobile-carrier variant for your mobile sites — all injected into a single piece of software the user thinks of as his or her “browser”. Each browser-within-a-browser variant will have its own feature set, its own quirks, and its own security problems.
Wow! I don’t understand what she is saying!!
And the classic case of fear: blabber about the architectural flaws:
For those not familiar with the ins-and-outs of browser architecture, you can think of a browser as having two essential parts. One part we humans don’t see — it’s the part that “speaks” computer languages and talks with web servers. This is often called the “platform” or the “rendering engine”. The other part is the set of things that human beings see and interact with, which is often called the “front-end” or the “application layer.”
She continues:
Chrome Frame breaks this connection by inserting a separate rendering engine into your browser, and allowing websites to determine which rendering engine you end up using. If you download Chrome Frame you see the basic front end of your previous browser, but websites cause your browser to toggle back and forth between the rendering engine of Chrome and the rendering engine of the browser you selected. The application layer of your browser and the platform part of your browser are no longer connected.
What if they are not connected? Why talk theory in a place where usability matters?
So guys, what does this mean? Fear! Of course!! Fear of (quoting Mitchell again):
Mozilla Firefox has reached some 300 million people, but hundreds of millions more continue to use the browser that came on the machine they bought, sometimes years ago. Google began offering its own browser — “Chrome” — a year or so ago, but this has yet to gain significant traction.
Fear of Google Chrome (and Chrome Frame) surpassing Firefox in usage. And fear of Google severing the financial lifeline of Mozilla Foundation (Google is the only big donor to the foundation).
On my part, I have removed Mitchell Baker from my feed. I thought her to be a inspirational person. But she turned out to be just another emotionally fluctuating person.
Long live Mozilla!
Google Chrome Frame
Google has pulled the rug out of Microsoft’s feet! In a totally fascinating move, Google released Google Chrome Frame, a IE plugin which brings in WebKit rendering inside IE. When using this IE plugin, the page rendering is done by WebKit and Google’s fast JavaScript parser V8. But the Cookies, Browser History and Stored Passwords are still managed by IE. This allows for seamless shifting between sites.
The best part is, from a Web Developer perspective, we have to just add the following inside the <head> section:
<meta http-equiv="X-UA-Compatible" content="chrome=1">
If Chrome Frame is installed in the browser rendering this page, then it is used by default. Cool!
Check out the Wikipedia IE8 page to understand more about X-UA-Compatible.
Amazing work Google
IE 8 features that impressed me
I am posting this as a photo-stream in Flickr.
Text Transform in CSS
For one of my blog post, I copied a particular blog author’s name from his blog. The author name was displayed in his blog as TOM BAEYENS. When I copied and pasted it in a text editor, it pasted as: Tom Baeyens. I wondered how did copy-paste change the case of the text.
After little debugging using the Firefox WebDeveloper plugin, I found that the text in the blog had the CSS property text-transform with value uppercase.
After little more study, I learned that text-transform is a CSS2 property which supports the following values:
| capitalize | Make first character in each word uppercase |
| uppercase | Make all characters uppercase |
| lowercase | Make all characters lowercase |
| none | No transformation |
To demonstrate, I write the text with different text-transform values:
| none | I love JAVA |
| capitalize | I love JAVA |
| uppercase | I love JAVA |
| lowercase | I love JAVA |
Bad policies by Companies wrt QA resources
Does any of these sound familiar:
- Pay less salary than developers
- Demote “bad programmers” to QA
- Force manual testing
- Disallow use of testing software
All these are signs of decay.
Best WebDeveloper plugins for Firefox
I found this interesting link listing the most interesting Firefox plugins.
Statistics are like bikinis. IE statistics.
Statistics are like bikinis. What they reveal is suggestive, but what they conceal is vital. ~Aaron Levenstein.
Microsoft has released statistical feature-comparison of its browser IE8 with other popular browsers. And guess what, they have exposed only what is interesting to them, concealing vital information. I could only laugh at their wordings (for example, under Manageability: Neither Firefox nor Chrome provide guidance or enterprise tools: my my, please tell me what guidance and enterprise tools do they miss) and wrongful advertising of misinformation.
I was immediately reminded of another joke site where IE6 was compared to other browsers. Microsoft seems to have misunderstood this site: they have missed the sarcasm and copied the concept from it.
This is a much more objective comparison.
