Skip to main content

Posts

Why JVM Lover ?

Who is this JVM Lover ? Well, I mean myself. And I hope you are one too. Being an software lover, I could expose myself to a good deal of the software engineering discourse over the past few years. What stands out the most to me, besides the actual content of those discussions, is simply just how busy this space is. Innovation is happening at a break-neck speed and change is incessant and new things are constantly coming out. Frameworks, Tools, Libraries, Languages, Techniques, Methodologies - you name it - there is nothing constant in software. Like huge rivers that empty their heavy load of water into the sea, such is the feeling I get looking at the sea of software engineering. Hence, it's hardly ever possible to be contend with the tools and techniques that one already know; unless living in a closet. While a lot can be said in critique of the churn that occurs, the forces driving it etc., I just feel that it's simply the way innovation happens. It is a good thin...

A new name

It's nothing but beautiful to look back to your past self. Today I visited my private blog after a long time and uncovered some nuggets from the early 2010s. It's not a long time ago, and the posts never felt so great when they were written either; but like they say, old is gold ! Anyway, this post is to keep a record of the fact that for the longest time until it's inception until today, this blog was named "electrokavalam's fun with technology" and its url electrokavalam.blogspot.com Since Blogger allows the name (and yes URL too !) to be changed, I took the liberty of re-purposing this blog to it's current form instead of starting a new one.

The Value of Chess

Today, during lunch time I had a conversation with my friends and CP and PG on chess. Both of them are chess enthusiasts. They explained to me that chess is a game with lot of heritage, it is one of them rare games that you can pursue throughout life, chess has no generational barriers, and most of all it has engaged millions of curious minds over the centuries. There are a lot of books written on chess. So, what is the best way to get started on chess ? All you need is a personal computer and you can get started immediately. But my friends strictly warned against taking hints from the computer while deciding your moves. Make it a point to play just one game every day (For a long time in the beginning, your game will likely last only for a few moves; in that case play for a fixed time, say, half an hour). Concentrate not on making smart moves, but focus on avoiding blunders ! That's the sure way to reach mastery. /// Once you have reached that level of mastery, then you can th...

Ideas - Network monitor

These days, both at work and at home I run into problems because of what seems to be a slow internet connection. Unfortunately there is no way of ascertaining that as I have no easy and reliable measure of the Quality of Service that I am getting.  Probably the service providers might be able to do that, but its definitely not in their best interest to share with the rest of the world how many times their network failed. Similar story goes with the cellular communication system. There was a time when the calls dropped frequently; but it was difficult to place the due blame on the network provider because there was no measure of network quality that was available to a consumer. I think a Quality of Service monitor that can be placed in the end user's hands is definitely a great subject for research and development. Probably it will fit the bill for a good student project.

Open Government Data - OpenData 500

I was Googling for the potential applications of data science. My search was inspired by the fact that India has a government data portal - data.gov.in . Soon, I was delighted to find that since my last look at the topic, something new has happened. It is - http://www.opendata500.com/ - which is really a list of 500 companies who have created businesses out of open government data. Now, that is very encouraging ! Because, like many I too am a believer that any sustainable human endeavor should also make economic sense (there are a few but, very important exceptions).

Data visualization

TODO: Write this up better. Some interesting tools and websites  Blogs: http://flowingdata.com/ ,  www.visualizing.org Visualization tools for programmers:  JavaScript InfoVis Toolkit - http://philogb.github.io/jit/ jqPlot - http://www.jqplot.com/ Google Charts -  https://developers.google.com/chart/ All three provides a good collection of chart types D3js - http://d3js.org/ Let me call it the jQuery for data visualization. Really appropriate for customized data visualization for the web.

Learning high school physics

Most of what you are going to read are based on my personal experience as a student of physics myself. But, I think you should have a look. I am a student of engineering now and doesn't do much of fundamental physics these days. But back in high school I used to enjoy it. More than anything else, the class textbook from the NCERT was my primary guide as I put a lot of emphasis on understanding the concept more than drilling problems or memorizing formulae. However, I was lucky enough to have done even the testing types of questions of the  IIT  JEE decently well. But, after gaining good exposure to a variety of smart students at college I now think I have found a better way of learning physics. This is what I wish to write about here. To put it in a nutshell, The concepts are short and easy. Learn them quick and easy. Work hard on solving problems, raising the difficulty level slowly but steadily. As I said, I used to spend a lot of time reading the textbook. I d...

Learning Java - Setting up a development environment

Here is a brief summary of the software that needs to be setup so as to experiment with Java. JRE - Java Runtime Environment. The famed "Java Virtual Machine" (JVM) on which Java bytecode runs is included in the JRE. Every computer/device that can run Java programs will have the JRE installed. The JVM can be invoked using the "java" command. JDK - Java Development Kit. This is a bundle of software which has all the essential tools needed by a developer to create new Java programs. By Java programs I mean the bytecode that a JVM can run. The most important part of the JDK is the compiler itself; called the "javac". It is the javac that converts the source code (the .java files that is essentially text) to .class files that contain the bytecode. With this background I invite you to patiently go through the nice little tutorial http://docs.oracle.com/javase/tutorial/getStarted/cupojava/win32.html (For Windows users) The above tutorial doesn't intro...

The Open Source Way ...

Hello all, a happy new year ! This is my first post of 2014 and am quite excited. The past week was all open source than ever before in my life. I attended a workshop on Drupal which left me inspired to look at how the system worked and also importantly how Drupal was developed collaboratively. So, when I was thinking of material for a nice little new year resolution, involving in open source development sprang up spontaneously in my mind. Last week I spend some time reading through the pages of drupal.org meant for contributors and I felt thankful to have came across it at least now. If you are a social entrepreneur or just someone wanting to make this world a better place (I bet most of us feel this ...) I think there is lot to learn from how free software development communities like Drupal are successful in making such fine software but all of it with volunteered effort. Simply amazing.

Homemade PCB

Making PCB at home using the toner transfer method is a well known art. Finally, when my project required a simple EEG amplifier circuit, I decided to give the technique a try myself. And surely it did work. However, I also learned certain quirks and potential limitations. Sharing some of these findings here. I will also be really happy to hear from the experiences of others who have done DIY PCBs. My primary reference was a Youtube video due to Pareekshith P . (TODO: add images) * In my experience, 16mil (0.016 inch) of trach thickness might be Ok. However, I think its safe to use 24mil. * When using the iron box, take special care to ensure that edges of the pattern are also properly transferred. * The etching process is largely trouble free. If it seems very slow add enough Ferric Chloride. I think 15min is typical.

Career in Geology

Today during dinner time, I met Varun and he was wearing a T-shirt that said - "International Earth Sciences Olympiad". I inquired and this is what he told me ... The olympiad is organised in India by the Geological Society of India who train students selected through a screening test for the international competition. Varun gave the exam in his XIth standard and he prepared for it by referring to the Geology text books of CBSE and his state board. The smart chap won a bronze for the country in the competition held at Argentina. Geology is an interesting example of applied physics/chemistry and Varun might pursue the subject in his further studies. He is now enrolled in the Engineering Physics programme.

Competitive Programming

Programming a Sport ? I didn't know that until today !! I was amazed to look around and find that so many initiatives abound on the internet that aim at popularizing programming. I got started at codechef.com , then watched an amazing inspirational video http://www.codechef.com/school The getting started page launched me into a web of great resources - http://www.codechef.com/getting-started Check every link ! I met two great heros of the sport in that great journey - 'tourist' and 'petr' The latter is elder to me while the former is just 19 now. petr works for Google but is still a great force in the sport. The ACM ICPC is like the olympics of programming where teams participate. Codechef's envision's the Indian team winning some day and the Go-for-Gold section is particularly geared towards that. Codechef also has a school section. Mathewkuttan, Maxwell - what do you think ?

Converting Samsung S-Note .snb file to video : Solved ?

After my recent post ( http://electrokavalam.blogspot.in/2013/05/converting-samsung-s-note-snb-file-to.html ) about the difficulty in converting a Samsung S-Note .snb file to video I got some encouraging comments which made me realize that the problem is indeed relevant to some people at least. I am happy to announce the prototype solution that I have put together. This solution can convert the snb to a flash movie that can be easily viewed using a web browser with flash player installed. So, here are the steps: Step 1: Get the "drawingdata_1" file The (x,y,time) coordinates of the pen are available in text format within the .snb archive. Rename .snb to .zip and extract the archive. Navigate to <extracted-folder>\snote\media directory. You will find "drawingdata_1" file there. This is a simple text file (in XML format) that we are interested in. Step 2: Create flash movie using snb2swf From a command prompt run snb2swf.exe (which may be downloade...

Working with multiple python installations

I had an existing installation of python2.3 But I wanted to work with the Python Graph library NetworkX  which however works only with Python2.6 and above. Unfortunately, I didn't have sudo privileges and hence could install python only within my local directory. The following stack overflow link turned out to be of great help in installing a newer python version and further to install NetworkX within it. http://stackoverflow.com/questions/622744/unable-to-install-python-without-sudo-access