Moved to my own Website

Dear All,

Thank you for showing support for so long. I have decided to move ahead and am up with my very own site. You may click here to visit it or copy and paste the following url to a browser of your choice:

http://palakmathur.in

From now onwards, I will be posting my stuff there.

In the beginning there was a command line. Inspired from this, the current interface is a command-line adaptation in Javascript. So, you will see a text-field mimicking a command-line and lots of commands beneath it including Searches, Shortcuts and Site Navigation Commands. So, if you wish to navigate the site, then your options are:

p Home Page (this ugly page)
pi About Me
pa Articles
pc Contact
pr RSS Feed
ph Home Page in Normal Mode (not commandline)
pbb Code Repositories on Bitbucket
pgh Code Repositories on Github

Commands are in bold and their description is given on the right. Just select the task you want to do, type the command related to it in the textfield and press/hit enter.

If you are not comfortable with this and wish to visit the normal interface, then just type “ph” (without quotes) and press enter. You will be taken to the comforts of a normal site.

I would request you all to visit the site and send me your comments/mails as usual. Also, please let me know if you find any broken links. Till then thank you once again. Take care.

[App Review] Epistle – A Simple Notes App for Android

For quiet sometime now, I was searching for an app which is lightweight, has clean interface, is functional and the one that could support markdown. That search came to an end with Epistle. Epistle has all the features that I listed above. It is light, has a great interface which is clean and functional. It helps me sync my notes with Dropbox, which is a feature I had been looking for. Syncing is neat and fast and the notes are accessible on your devices as soon as you have completed the note. It supports html preview of Markdown documents.

I had tried using Evernote. But it was an overkill for my use. I like the simplicity of the app which fits well with my Android phone and with Dropbox sync, I can rest assured that my notes are safe and can be accessed from all my Dropbox synced devices.

I also tried the Notes taking app that comes with Samsung Galaxy S2. But I did not like it for reasons that I could not sync the notes automatically with Dropbox.

Epistle requires minimal permission and that too to access the internet so that it may sync your notes with Dropbox. Other than that it do not need any other permissions.

I think for people who have minimal requirements and appreciate simplicity, Epistle is a good app.

My Rating: 4/5

[Book Review] Oracle Certified Associate, Java Se 7 Programmer Study Guide by Richard M. Reese

Buy Oracle Certified Associate, Java Se 7 Programmer Study Guide from Flipkart.com

My rating: 4 of 5 stars (on GoodReads)

Oracle has now introduced a new certification named Oracle Certified Associate, Java SE7 Programmer, which is mandatory if you want to become Oracle Certified Professional, Java SE7 Programmer (given to understand that you already are not OCP in some other version of Java). So, Oracle Certified Associate, Java SE7 Programmer (OCA7) is really important exam for a Java developer who wants to get certified and valued.

Oracle Certified Associate, Java SE7 Programmer Study Guide by Richard M Reese is the book that caters to the objectives of the exam and is a useful guide for the new entrants to the Java Programming Language 7 and a ready reference for those who have some experience and want to brush up their basics.

Experienced programmers may find this book as merely introducing the topics without going into the depths. And that is what exactly this book is meant for. We need to understand that this is meant to cover the objectives of the OCA exam and the book covers them well.

If you are an experienced Java programmer then certainly this book is not meant for you. For experienced Java Programmers who have already been certified in Java’s older versions can go for upgrade examination thereby skipping OCA route. For those who have not taken older version Certification, they must go through OCA route. And for that purpose this books comes as a great help and relief as it makes you familiar with the examination objectives. I am also do not have Java certification from Oracle (or SUN), and after reading this book I think I must go for the exam and am planning to do the same. Bette late than never.

The language used is simple and the concepts are introduced in a very clear and lucid manner without throwing too much data and information at a go on the reader.

Only one thing that I would have liked in the book is a greater number of problems at the end of the chapters and with varied levels of difficulty. Though there are problem sets at the end of every chapter but they are very short and most of them are quite simple. I hope that later versions of the book will cater to these needs.

In the end, I would just say that if you are planning to take OCA7 examination, then give this book a try.

View all my reviews

P.S.:- I received this book as a gift from the publisher in return of the review on my blog(s) and other sites. 

Learn Python – Resources

English: Python logo Deutsch: Python Logo

Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.<br/>

Here I am listing few of the resources that I think will be good for someone to refer if (s)he wants to learn Python.

Python Reference:

Official Documentation – Official Current Documentation

Learn Python:

Think Python: How to Think Like a Computer Scientist by Allen Downey [Free pdf][online html] – is both a good introduction to programming as well as a good introduction to the Python language (description taken from JavaRanch)

Learning Python, Fourth Edition by Mark Lutz – I think the great first book for learning Python

Thinking in Python – Available online only. No print versions yet

Dive Into Python by Mark Pilgrim – book aimed at experienced professional programmers who want to hit the ground running with a new language (description taken from JavaRanch)

Invent with Python – Book is available at amazon and also available free for online reading and teaches you how to build Computer games.

Other Resources:

The Daily Python URL  – Daily Python URL. Has not been updated for long time now but still has some good links to consider reading.

Java Ranch Python/Jython Forum – One of the best available online community for Programmers, JavaRanch not only caters to Java programming languages but plethora of other languages as well. Meet Python/Jython experts and cohorts on this forum.

Python Mailing Lists – List of all Python Mailing lists worldwide

Indian Python Software Society

PyconIndia2012 Website – Official Website of Pycon India 2012

Let me know if any of the links are broken. As of 9th August 2012, all the links were up and running.

Java and JVM Languages

Over the years, JVM has become not only the host of Java but also of several other languages. Categorized together as JVM-based languages, these languages claim to better what and how Java does performs specific functions. Some of this that needs specific mention and those that interests me are listed below:

Jython – It is originally a port of popular language Python to the JVM. However, I am very much interested in Python but have quite a lot interaction with Jython while working with WebLogic Scripting Tool.

GroovyAs part of my project, I had certain work that I wanted to do without writing a full code in Java and a colleague did it using Groovy. I could not think that it would be so easy but it was done. After few years, I was having discussion regarding JVM languages on JavaRanch forums, when Groovy was reintroduced to me as the language that most closely resembles Java. Few will say that Groovy just offers synctactic sugar for Java. Sure, it does and quite successfully. I have just started learning it and you may see some posts on my blog related to my learnings related to Groovy.

ScalaThis is a language that is *hot* in the market. It is a blend of Object Oriented and Functional Paradigms. Its fundamental syntax is replacement for Java and the advanced features offer freedom to write a functional code. I plan to learn Scala after I Groovy.

JRubyIt is a Java implementation of Ruby programming language. Its homepage says The Ruby Programming Language on the JVM and claims to be the best of JVM in terms of performance, threading, and libraries. The language features have all been ported, and it is now possible to run Ruby on Rails on the JVM. I have no experience on Ruby. So, will not be able to comment on its claims but truly it happens to be the language on my To Learn list.

ClojureThis language brought my interest to JVM Languages. It is a dialect of Lisp that runs on JVM. It was developed by Rich Hickey.  It is a functional general-purpose language with focus on programming with immutable values and like other Lisps Clojure treats code as data.

GOSUI learned about this language when I was browsing through internet and came across this page.  Developed by Guidewire, a company specializing in software packages for the insurance industry, the language offers powerful features like extensible type system, reified generics, modify existing types, etc. I think I must add this to my To Learn list as well. You can see a comparison (by Gosu team) of several popular JVM Languages over here.

NetRexxThis is the language that was developed, used and forgotten by IBM and recently contributed to Rexx Language Association by IBM. As per its IBM site, “NetRexx is a programming and scripting language that can support your need to get products to market easier, faster, and at lower costs. NetRexx blends the clean, easy-to-learn syntax of Rexx with the robustness and portability of the Java™ environment. The result is a language tuned for both scripting and application development, and designed for both interpretation and compilation – a truly general-purpose language.” The only thing that interests me in this language is the name of IBM. I have not done any research on it.

Ceylon – is a programming language created by Red Hat and the project has been referred to by industry analysts as a “Java killer”, though Red Hat themselves reject this term. As per the official documentation, Ceylon’s syntax is ultimately derived from C…You can run Ceylon anywhere a Java 7 Virtual Machine is available. The Ceylon compiler uses the bytecode generator in Open JDK to produce Java bytecode.

Demise of Mr. Kenneth Gonsalves

Today I was sitting in Thinkpad Centre to get my TP repaired when I browsed my email through mobile. There was a shocking news waiting there in the inbox, news of sad demise of Mr. Kenneth Gonsalves  fondly known as KG in Indian Python and FOSS community), who in words of one of his colleagues was

a  leading light, mentor, evangelist and practitioner of Free and Open Source Software

And when such a leading light and great mentor is gone then surely that is a sad day.

I never met him personally and only interaction I had with him were through emails and most of them related to my membership for IPSS.

Kenneth Gonsalves

Kenneth Gonsalves

Here is a brief bio of Kenneth Gonsalvas (Prepared by KG himself):

Although he has no formal training in the IT field, Kenneth Gonsalves has been programming since 1986, starting with Turbo Pascal, then moving to Perl and finally to Python in 2003. Since then he has focused on Python in general and the Django web frame-work in particular. He is an open source enthusiast and has spoken and written on open source right from 1995 when he was first introduced to it. He has conducted over 50 seminars and workshops in python and Django. He was the founder president of the Indian Python Software Society and a member of the team that has organised the highly successful Indian python conferences from 2009 to 2011. He is now based in Ooty where he writes and consults on open source. He also conducts a job oriented course in python and django. His other main interest is golf and he holds an international certification as a golf referee and has refereed several national level golf tournaments. He writes a regular column called ‘Foss is fun’ for the LFY monthly. Most of his code contributions are here: http://bitbucket.org/lawgon/.

You can find most of his works, writings and ramblings here:-