Nice April Fools’ jokes from Google

Microsoft Windows


So, this is where it all started…

It’s just amazing to see how Windows has evolved from Windows 1.0 to Windows 8 now. Well done, Microsoft!!

Linux file system


Nice blog post on the Linux file system – http://codendesigns.com/general-overview-of-the-linux-file-system/

PCI DSS


Nice informative blog post on PCI DSS:

Developers Guide to building PCI Compliant Web applications – http://bit.ly/wBXUPn

CouchDB upgrade on CentOS


We were trying to upgrade CouchDB to the latest version (v1.1.1) on the CentOS operating system. Unfortunately, had to put this task on hold as the CouchDB EPEL repository (used by yum package manager) does not have this latest version available.

Here is the link for the repository: http://download.fedora.redhat.com/pub/epel/6/SRPMS/repoview/couchdb.html
The CouchDB version available in the repository is 1.0.2.

Any idea when is the repo going to get updated with the latest version of CouchDB?
Has anybody else faced this issue? Is there any alternate solution to this?

MySql – Error while dropping a foreign key constraint


Came across this error while trying to drop a foreign key constraint in a MySql database.

mysql> alter table qrtz_triggers drop foreign key qrtz_triggers_job_name_fkey; 
ERROR 1025 (HY000): Error on rename of '.\motechquartz\qrtz_triggers' to '.\motechquartz\#sql2-444-8' (errno: 152)

To figure out the actual problem, execute the following line:

mysql> show create table qrtz_triggers;

Most probably, the error would be because of either a mismatch in the constraint name or a mismatch in the casing of the constraint name.

Git: Deleting branches and tags


Deleting local branch

git branch -d branchName

Deleting remote branch

git push origin :branchName

Deleting local tag

git tag -d tagName

Deleting remote tag

git push origin :refs/tags/tagName

Pushing tags into a Git repository


To push a tag into a Git repository, you need to execute the following command:

git push --tags

The usual git push –all does not push the tags.

This is quite a handy tip, especially when you just have a tag to be pushed to the repository and do not have any other local modifications.

Being Open To Failure


Came across this nice blog post on being open to failure.

http://strategicfrontier.wordpress.com/2011/11/23/being-open-to-failure/

CouchDB: Unrecognized field “digest” when fetching documents with attachments


Today, while trying to fetch a document (having a .wav file as an attachment) from CouchDB, came across this exception:

org.ektorp.DbAccessException: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field “digest” (Class org.ektorp.Attachment), not marked as ignorable

After doing a bit of research, figured out that this happened because the version (v1.1.1) of ektorp that I am using  seems to be incompatible with v1.1.0 of CouchDB. This version of CouchDB expects a new “digest” attribute containing the MD5 checksum (for the attachment) in the document that contains the attachment. However, ektorp v1.1.1 does not find a corresponding Java property while deserializing, which results into this exception. Looks like this change was introduced in CouchDB v1.1.0 to address this issue – https://issues.apache.org/jira/browse/COUCHDB-687.

For now, downgrading CouchDB to v1.0.2 resolved this issue for me.