Functional Programming in JavaScript, Clojure, Kotlin, Java and Python-Part 1

19 November 2017

Map Reduce and Filter are functional Idioms you frequently encounter in functional programming. This is first of the series of posts that shows the comparison of functional capabilities across languages.

Map, Reduce and Filter are higher order functions. In Mathematics a higher order function are function that operate on other functions either by taking them as arguments or returning them.

Read More

How I taught a computer to play Chess

18 March 2017

How I taught a Computer to play Chess

Read More

Functional Programming with Clojure

19 October 2016

Demystifying Functional Programming with Clojure.

Read More

Syncing Emacs Org Files

29 September 2016

I like to use org mode with Emacs. It helps me stay organized. The long vertical green lines of accomplished tasks gives me immense satifaction. I also heavily use org-agenda feature which helps me keep track of multiple org files. However syncing org mode files across machines like work place computer and personal laptop is a pain. I tried using mobile-org but could never set it up correctly. Here is a better alternative.

Read More


16 June 2016

Guava. A presentation given at JUG Hyderabad. The presentation covers String, Basic Utilities and caching.

Read More

Oracle JET Getting Started

16 March 2016

JavaScript Extension Toolkit

Oracle Jet Framework. This is an introductory post of Oracle JET JavaScript library. Doing this excercise to evaluate the JS framework. I would be doing more focussed posts latter.

Oracle JET Overview:

Oracle JET is a collection of Oracle and open source JavaScript Libraries. A quote by Issac Newton is really apt to describe what Oracle has done. "If I have seen further it is by standing on the shoulders of giants"

What has JET consumed?

Just to illustrate a few keywords on what these libraries used for
  1. Require JS: File and Module loader. Is optimised for in browser use and can be used in Javascript environments like Rhino and Node
  2. JQuery: Lightweight JS Library with support for standard and contemproary UI components, event handling, animation and AJAX.
  3. Knockout: Data Binding, Automatic UI Refresh, Templating
  4. Promise: Build in object in Javacript but avaiable in Ecma Script 6. Useful for deferred and asynchronous computation.
  5. Hammer JS: Support for touch gestures in JS application
  6. CrossRoads: Routing library. A URL Route/Dispatch library. Similar to one present in frameworks like Rails, Django etc.
  7. JS-Signals: custom Event/Messaging System for JavaScript
Thats a really comprehensive collection of js libraries which cater to needs of a modern client side application.

Read More

Creating and Destroying Objects

13 February 2016

Creating a Destroying Object. A presentation given at JUG Hyderabad. The content is inspired by Joshua Bloch's book The effective Java.

Read More

My Emacs CheatSheet

20 June 2015

This is my Emacs cheat sheet.

Read More

Contributing to Open Source

15 April 2015

How does one contribute to open source? Contribution is an overloaded term and may mean a code fix, documentation changes, reporting a bug/issue, code review and comments

Read More

Invalid Signature file digest - Maven solution

24 March 2015

Are you getting this exception ?

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
	at java.util.jar.JarVerifier.processEntry(
	at java.util.jar.JarVerifier.update(
	at java.util.jar.JarFile.initializeVerifier(

Read More

JavaFX Introduction

15 March 2015

JavaFX is a software platform for creating Rich Internet Applications that can run across variety of platforms[1].It has a collection of Java Packages with ability to add fancy GUI to your Java application. JavaFX is official standard part of Java platform. JavaFX is considered as a successor of Swing and can be easily understood by a Swing developer. You can get the latest in JavaFX in early access preview of JavaFX in Java 8 EA 40

Read More