CrO3 updated to fix Google Search issue

If you’ve noticed an issue with the 1.2 or earlier versions of CrO3 where the keyboard navigation didn’t work on Google Search page, you should download version 1.3 of CrO3, which is now out.

The 1.3 version fixes just this minor issue. But, stay tuned for more features in the next version of CrO3.

Introducing Tweetty

Twitter is the communications platform for the quipper-generation. It’s wittiness doled out 140-characters at a time. Didn’t Shakespeare say “brevity is the soul of wit”? Now if only Shakespeare were a communications-platform designer who dabbled in software, we wouldn’t have had to wait so long for Twitter.

Let me go back to the 140-character limit on tweets. It’s not even a limit. It’s a feature. The idea is to keep it short and simple. So, who doesn’t find it ironic when the tools for Twitter forsake the very brevity that Twitter seeks to embody? I’m referring, of course, to one-too-many Twitter clients that  have hatched out there, during the last few years. They sport fancy interfaces, have tens of options to tweak, and need bloated programs running on your desktop or your mobile. Misses the point, ain’t it!

Come Tweetty to the rescue. Tweetty is a tool I wrote to cut the crap, to stop beating around the bush and to stick it to the man. OK, may be, not the latter. But, you get the point!

Tweetty is a post-only twitter client, which lets you pour out your heart for the world, 140-chars at a time. Here’s how you send a simple tweet using Tweetty:

tweetty “I just said no to bloated Twitter clients. http://tweetty.sourceforge.net”

That’s it! And here’s how your tweet will air:

I just said no to bloated Twitter clients. http://bit.ly/bmHFhO

Intrigued? Check-it-out then! Here’s the Tweetty home page.

Tip: You need to have Perl installed on your system to run it.

Re-introducing edictionary

In December 2002, giddy with my newfound knowledge of how HTTP works, I wrote a cute little dictionary program called edictionary. It ran on the command-line, fetched word meanings from Merriam Webster’s Online Dictionary and displayed them in plain text on your terminal. No frills, no bells, no whistles.

Before I embarked on the edictionary journey, I wasn’t really sure that there was a need for it. One could have easily used a web-browser to visit one of the many dictionary sites. But, I built it anyways! Mainly, because it was fun; but also, because I had a command-line intensive job. Given my habit of littering my code with comments generously and especially the irony that I deliberately render my comments arcane enough to be legible only to a zealous GRE suitor, it worked well. ;-)

Edictionary became quite popular too. In July 2003, Linux Journal covered it in an article that compared various dictionary applications on Linux. Here’s what the author, Marcel Gagné wrote:

“If you aren’t running KDE or if you prefer a simpler approach, may I interest you in a lightweight, text-only client that does a similar thing? It’s Vishal Verma’s edict; I wonder if he looked that word up in the dictionary. You can get edict from edictionary.sourceforge.net. The edict program is nothing more than a Perl script, but it does the job quite nicely.”

That definitely made my day. Things were great for the next few years. By 2006, it had racked up close to 11,000 downloads. Far better than I had expected.

Then, something terrible happened. First, MW started changing their HTML layout quite erratically. I couldn’t keep up! Second, I got busier at work… you know the stuff you do that brings in the money*. And before I realized, edictionary got out of sync to the point of becoming irrelevant.

Introducing edictionary 2.4

Today, I’m re-launching edictionary. I’m happy to say it works again. It provides suggestions on misspelled words and on closely-related words, just like it used to. It’s there for you to download.

I have also updated the website a bit, made sure that the links work and the documentation is current.

When I started working on it a few weeks back, I had that moment of doubt again – “Is it worth fixing?” “Are people going to use it?”. Well, I’m happy to report that over the last few weeks, while coding and testing it, I’ve realized edictionary is still fun! It’s still a better, more efficient, convenient and ad-free option than using your browser for word meanings. Doubt it? Try it for yourself.

This post was written with the help of edictionary. :)

* I’m enabling the option for donations to edictionary on Sourceforge .

Updating Your Google Chrome Extensions

chrome update extensionsBrowser extensions are a delicious icing atop your browser cake. And, keeping the icing fresh is an important part of keeping your cake tasty. Now, in Google Chrome, installing an extension may be a piece of cake (since that’s our theme of the post). But, updating the extensions can be a bit like chewing on a rock.

If you’ve also been using Firefox and are used to it notifying you whenever there’s an update available, you’re in for a surprise. In Google Chrome, you have to manually update your extensions, preferably, every few days.

To update your extensions, go to File->Extensions. Click on the “Developer Mode” link on the top-right. And choose the “Update extensions now” option.

Unless you use a bot to operate your computer, you are bound to forget updating your extensions. That’s why this begs a better solution. In fact, there is a bug filed in Chromium issues list for notifying the user when extension updates are available: Issue #28556. (Any takers?) The official response to the issue may be rephrased as “There is no design currently for how this would work. We are in wait mode.”. Sigh.

I’m currently thinking of a feature in my extension Chromium Oxide or CrO3, which would notify users of any updates available in it. I’m feeling somewhat lazy at putting in more coding hours into my extension for what should be a browser standard functionality, but seems like there’s no better option. Another option – you could install an extension called Secbrowsing, which supposedly notifies you whenever there are extension updates available, but, I don’t think it can automatically give you update notifications for all the extensions you have. From my cursory reading of the source code, it compares your extensions against a list of extensions it maintains with its Google App Engine application. That’s like missing the Panama Canal altogether.

Till I find a better way to do this, keep your CrO3 updated. A new version, 1.2 is now available. It adds page navigation to Google Search along with a cool “jump to page” feature. To update to it, go to File->Extensions… you know the deal :) .

Introducing Chromium Oxide

cro3I’m launching my first Google Chrome extension today called Chromium Oxide. There are no lofty goals with this one. Just the desire to make some of the frequently used websites easier to use. As mentioned on the CrO3 project page it provides 3 kinds of enhancements currently to Google Search, Google Groups and Google Finance:

  • Keyboard navigation
  • Functional enhancements
  • Visual enhancements

Support for more sites is coming soon. For example, Facebook, Amazon etc. Head over to my Chromium Oxide page for more details on how to install it. I’ll appreciate any feedback from you all.

PS: You may skip the wait and head over to CrO3 Google Extensions page to install it.

Dropbox API is out!

Dropbox launches API – via TechCrunch

This is an amazing development. Dropbox’s API is something I have been long waiting for. Watch as Dropbox becomes the Web’s storage device now.

And don’t forget to point your local work folder to Dropbox and rejoice. Effortless backups and instant access anywhere!

Apple’s Hegemony Continues

Wired speaks about Apple’s updated Developer Agreement and how it fatally affects some companies and seriously injures others.

“If you make an app for the iPhone, it has to be done Apple’s way or the highway.”

The iDon’t, iCan’t and iWon’t Computer

For all the boxes, screws, locks and tethers they come with, computers, we agree, still offer plenty of freedom. Our choice may be limited on what Operating Systems they ship with, yet, we know there are thousands of third-party applications that we can choose to install on them. And these applications come from a variety of sources – big-name software organizations, Open Source repositoriesa combination of both*, or just about anywhere on the Internet. And there’s contentment in the knowledge that anybody with sufficient programming skills can write, or can be asked to write software applications, and distribute them to anybody.

Back when Xbox came out, and sported a seemingly purposeless Ethernet port, my friend released a software for PCs called xboxgw that let two people play with each other over an Internet connection. This was before the days of Xbox Live. Thousands of people downloaded and installed his software and enjoyed the new avenues it opened. Why did he do it? Because he could. Because he wanted to. Because people demanded so.

The Revolution?

Things seem to be changing though. First with the iPhone, and now with the iPad, we are being ushered into an era, where the hardware, the OS, the applications, the development process, and the distribution channels are directly or indirectly controlled by a single entity. In other words, one observes (for the moment without necessarily wanting to change things):

  1. These devices are physically sealed. You can’t even look at, let alone replace any hardware parts, batteries etc.
  2. These devices only have a choice of a single OS from a single vendor – Apple.
  3. They do offer a choice of applications from different vendors, but there’s a single source - The App Store. You cannot install applications from other sources. You just cannot.
  4. All the applications need to be approved by Apple, which, sometimes, is a wait-intensive process.
  5. Apple may choose to reject your application for known or unknown reasons. If that happens, the app developer’s efforts go all in vain.
  6. Apple keeps 30% of the proceeds.

This is akin to Microsoft selling you a padlocked computer, with Windows pre-installed, allowing you to only install applications downloaded from their store, and charge you money if you ever wanted to develop for the platform. Can you imagine such a world? Would you like to live in one? (Actually, we are already living in one.)

Think about the all the applications you use on your PC. A fair chunk of them do come from Microsoft – MS Office, Internet Explorer, Windows Media Player, etc. But, if you are a serious PC user, you probably have more than a handful of specialized applications that were neither built nor distributed by Microsoft. For example, PhotoshopVuzePicasa,FirefoxSkype, or for that matter iTunes. Now, imagine if these were controlled in some way by Microsoft! Imagine if Microsoft had a say in the look-n-feel and the content of these applications. Imagine if the developers of these applications had to ask for Microsoft’s permission every time they released new versions. I’m sure the iTunes developer would have hated it quite emphatically.

What’s probably not shocking is that Apple’s doing it, but, that Apple is trying to have an unprecedented level of control over the development process. This TechCrunch post made me a bit dizzy. Apple required the iPad developers to not only sign a 10 page NDA, but also asked them to physically tether the computers to an immobile object, as this Business Week post educates:

To ensure that it can’t be removed, the iPad must also remain tethered to a fixed object, said the people, who asked not to be named because their plans for the iPad have not been made public. Apple won’t send out an iPad until potential partners send photographic evidence that they’ve complied.

The Outcome

As  much as I like Apple for its innovative products, the implications of the status quo are terrible. For one, Apple is actually prohibiting and in a way precluding (Forstalling?) the rest of the world from doing what they love to do – innovate.

As a result, your favorite software may never appear on these devices. Forget that an iPad version of Vuze will ever surface. Not free. Not paid. There’s no way Apple will let a file downloading parasite lay a leg on its content-spewing beast, which many media companies happily feed. Also, Apple has already made it amply clear that it won’t allow applications that duplicate functionality they author. So, don’t expect another browser, email client, music management software on these either. Last but not the least, give up any hopes that you’ll be able experiment with (develop, distribute, install) software as you wish on these devices.

Apple makes cool devices. I dig them. I own an iPhone # and two iPods. Consider me a fan. But, they are asking us to sacrifice too much (money excluded). I don’t consider Apple evil. As I understand, Apple believes that the best way to manage user-experience on their devices is to tightly control it. But, to me, a better way of doing things beckons.

I will buy Apple’s new cool-looking toaster, but only if they don’t force their bread down my throat.

Update: Another example of where all that control leads to.

Apache Software Foundation is another example.
# I have sketchy plans on how to get rid of them, which, I’ll spell out in a future post.


The Monstrous Rip-off

If you own an HDTV, you probably have fallen for the infamous HDMI cable rip-off. Unless you read this.

I almost fell for it for this reason:

“If you’ve already splashed out on the huge flat-screen tv, a state-of-art Blu-Ray player, and a satellite dish with a monthly subscription that brings with it hundreds of channels, then it probably seems like it’s a small price to pay for HDMI cables. But, this is exactly the mentality that gets people to pay for this habitually over-priced bit of technological excess.”

But, thankfully, settled for these.

The Man in the Middle of Your SSL Conversation

lock-secure

Wired‘s article on SSL subversion is a real eye-opener if you are accustomed to blindly trusting your SSL connection. SSL’s the same technology that banks, shopping sites, email providers, and social-networking sites like Facebook and Twitter use, to make sure no third party gets in on your personally identifiable information.

The article is a treasure trove of information and covers a lot of ground. But, the important take-away from the article is that you CANNOT trust your SSL connection blindly. Whenever you spot “https“ in your browser’s address bar, (or that li’l lock icon in your status bar,) you are in for traps ranging from the very conspicuous “The site’s security certificate is not trusted!” to the furtive fake certificate issued by an incompetent CA.

chrome-untrusted-connAlthough, you won’t find it shocking that a government entity would ask a CA to forge a certificate, and the CA would comply, what’s incredible is that CAs would issue certificates for suspicious-looking domains like paypal.com\0.mydomain.com or the perhaps the most  (and dangerous) of them all *\0.mydomain.com . Any requests for similar domains ought to be outrightly rejected by the CAs. I think, the assertion that such malicious domains are valid requests by the owner of the domain is ludicrous. CAs should just use their right to refuse service on those ones.

The whole system of trusting a single CA’s certification is broken. Why else would addition of a Chinese CA cause such a commotion? Here’s something you can do to remedy this situation: wait! Yes, wait. Or, stop using the Internets altogether.

Jokes apart, I’m waiting for these two solutions to become available:

  1. A browser add-on or integrated feature that tracks changes to a certificate over time.
  2. A better system for verifying certificates which doesn’t have a single-point failure.

Here’s an EFF article on the same topic that equally enlightening: New Research Suggests That Governments May Fake SSL Certificates