Data export feature added in FileIt.in
One important factor of choosing an online service is about data. Is my data safe? Can I pull out my data any time when I decide to stop using the service? Both are important factors I consider when choosing a service. Services from providers like Google have their brand name, and I blindly know that they keep my data safe. But what happens when you sign up for new services?
FileIt.in is now providing this safety-net for you now. You may export your data anytime (in Atom format). This is if you want to migrate from FileIt.in to any other service, or if you just happen to be cautious and want to have another backup (FileIt.in has nightly backup scheduled).
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
Why I like bzr over git and hg
Recently I posted in Twitter that my favorite DVCS is bzr. Immediately Manish asked me why not git or hg. Here is the answer:
git
I love GitHub. I use git regularly. But when compared to bzr, I love bzr more. Why? I find git’s SHA based version numbering cryptic. The default installation of git does not support command shortcuts (like st for status, ci for commit) which I am used to from my svn days (fact: this can be manually set using git alias).
hg
This choice does not have any rational backing! I did not like odd-sounding hg in the command prompt. bzr sounded more natural to me.
Configuring service startup in Ubuntu
If you are one of the old-timers who has migrated to Ubuntu from RedHat/Fedora distribution in the past, you might be familiar with the ntsysv tool in those Linux versions. I used to use that oddly-named tool to switch-on/off services in my Linux box. I was searching for a similar tool for Ubuntu, and found rcconf:
$ sudo apt-get install rcconf $ rcconf
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!
WizTools.org: A history!
Writing OpenSource code has been one of my priorities. I have been doing it for years now. This is the story of how it all began.
2003
Before joining in a tech job, many people told me how routine tech job is. People give requirements, and the techies translate it to working code. This was frightening to me! So I decided, I will do all the mundane programming work quickly using automated scripts. I developed a TextEditor for this purpose. It was completely scriptable using BeanShell. This probably is my first OpenSource application. The Java package name started with com.indiwiz.*. The application was shared to the world from my site indiWiz.com.
2005-6
I had a huge collection of porn, and I was sharing my computer with my family. The system had dual boot with both Windows and Linux. I wanted a cross-platform application which would enable me to encrypt and decrypt my precious downloads. During free moments in office, I started exploring encryption and security. This resulted in the WizCrypt project. I learned a great deal when writing this project. This is the only project I have worked on which involved file-format design. For this project I did not want to have the package name starting with com.indiwiz.*. I found the com to be misleading of the purpose. I wanted a package name starting with org. Luckily, I came up with the name WizTools.org, and more luckily, it was available for registration. I grabbed it. Since that date, all my OpenSource work has been branded under this label.
2007
At this time I was working in SpikeSource with an interesting team. I started RESTClient project for testing RESTful WebServices. This was developed in collaboration with Ravi Subramanian (we lost Ravi in a accident in 2008). His sudden demise was a shock to me. This is the most popular product from the WizTools.org stable. It has the maximum community inputs. To broadcast updates of the WizTools.org project, I anticipated a need for a dedicated blog. Thus was wiztools.blogspot.com born.
Present
This is the period during which huge amount of effort and time was spent by me to stabilize and popularize RESTClient. I also started the WizTools.org mini-projects. The mini-projects was created to host all simpler applications without involving the cost (in terms of time) of creating a new project and associated repositories and mailing lists. At the time of writing, the mini-project hosts around 14 released tools/components, and few other productivity tools like JEdit macros and bookmarklets. We also have started some interesting new projects like Java Portlets (reusable JSR-286 portlets) and The Great Wall (micro-blogging web-application) recently.
Now, looking back at the projects available at WizTools.org, I recollect beautiful stories of my own needs for these projects. And the efforts my collaborators and I put to bring them in place.
After acquiring Ehcache, Terracotta now has Quartz in it’s fold
Terracotta has now acquired popular OpenSource Java scheduling library Quartz. This comes as a news few months after its acquisition of Ehcache. I am happy about this acquisition as it will ensure continued support and improvement of the Quartz project.
Subversion project moving into Apache Foundation
I was surprised when my friend Senthil (he is a Subversion committer) broke the news that Subversion project is moving to Apache Software Foundation. Read the official Collabnet announcement.
Linux: Diff between two folders
To find the files which are in one and not in the other:
$ diff -r folder1/ folder2/
To find the file content differences:
$ diff -r -N folder1/ folder2/
Google’s brand new language: Go
Google’s OpenSource blog announces a brand new language: Go. No, it is not a language running in the JVM. Reading the installation doc, it is understood that Go compilers support two OSes: Linux and Mac. By the way, did I mention the blog post announcing the language has signatures including Rob Pike and Ken Thompson?
SUN’s Zembly closing down!
This is the mail I received:
We regret to inform you that on November 30th, 2009 we will be suspending the zembly service. More than three years ago, we started this project with the goal of making it easy to create next-generation Web apps. Our original tagline was "Build the web, using the web," and the ideas we were incubating around platform-mediated Web applications, Web API mashups, and social programming were brand new. We learned a lot along the way. Your confidence and enthusiasm helped us improve the project and do amazing things that we never imagined when we began this journey. Thank you to everyone who's been with us through the ups and downs. It's heartening to see that many of the best ideas pioneered in zembly have started to appear elsewhere. With your support, we're proud to have contributed to the DNA of the Web. For more information about the zembly suspension, please refer to the FAQ section at http://zembly.com Finally, if you have questions, please contact us at zembly-support@sun.com All the best, -- The zembly team Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054
I liked Zembly when SUN first started it. It was damn easy to create mashups. But unfortunately, like SUN’s other products and services, I knew Zembly was sucking SUN’s money with no business model.
