Friday, October 31, 2014

Day 5: Invigilation

Today was a very sleepy day. I had a small bug to correct, that is standardize the variable names. Then, in algorithm visualisation code, removed necessity of try-catch for every display function.

All too soon it was lunch time followed by invigilation for quiz. It's so tempting to just tell the answer ;) I was totally unable to show some semblance of authority today. Still have fever, need to recoup this weekend.  I have to see the questions and need to finish correction by Wednesday.

Thursday, October 30, 2014

Day 4 : Swings

The title refers to
a) The Java Swing program I'm writing
b) The enormous mood swing that just struck me

Today I was awed by Mr. Stephen Wolfram.Yesterday, I had used the WolframAlpha API. Curious about its development, I read the founder's story. He got his PhD by the time he was 20. He bunked college lectures he found boring and published a paper by the time he was 18. And I felt like, what the hell am I doing with my life. I know hard work, questioning, understanding and creativity. But somewhere I don't know how to combine these things together. If there is one thing that motivated me, it was the never give up attitude. Like the bird's eye and Arjuna from Mahabharat, there was just one goal and nothing else. Stubbornness.

Anyway, most of the morning went in preparation for the afternoon meeting. My friend was presenting her ideas and critiquing such things often sharpen my wits I feel. Later on the programming front, I used the API to convert number names to numerical integers. I had a quirky error due to the fact some equations do not need simplification and I did not check that. Just before the meeting however, I felt highly feverish.

After the meeting, I was totally sick and I didn't even realize it and was in a general bad mood. Continually thinking something isn't exactly healthy. So I took off today early and said hasta la vista.

Oh yes, yesterday I learnt about the normalized Google distance for semantic similarity. It overcomes the shortcomings of WordNet for single words and establishes semantic similarity between phrases like "Artificial Intelligence" and "Machine Learning" using search results; a result that would have hitherto been weird with the four separate words. Again, friends in labs give such interesting facts :)Also started parsing NCERT textbooks for tougher problems that provide more use cases.

Tomorrow, am planning to test the equation solver on the baseline corpora. It should be pretty straightforward as the baseline equations were already simple and they also used EJML for solving. Logically, it should solve them properly with no hitches whatsoever.


 

Wednesday, October 29, 2014

Day 3: The Art of Debugging

There are some days you feel you are not going to do anything with zero plan and just blank entry to lab. And you end up doing something substantial!

Today morning, I was asked to diagnose a few errors for our assignment. We have a pretty cool game assignment where all groups pitch their game bots on our server. The script was in Python. Eventually, the error turned out to be that the MySQL server was not running. Apparently the relevant error in Python is displayed at the last line in contrast to the first line of Java. Feeling pretty smug about debugging, I had quite a happy start to the day.

Back on my system, I started working on simplifying linear equations to some canonical form. After collecting like terms together, I was able to work with + and -. In that process, I wanted a HashMap in a sorted fashion. I learnt that TreeMap is an elegant solution for that.

However, when it came to complex equations, it became pretty confusing. Then, I stumbled upon this pure gold mine - WolframAlpha. Eagerly, I started using its API. It was pretty non-intuitive to use in the beginning and googling an example for it wasn't helping. Finally, I came upon the GitHub account of the writer of this code and got a sample code. It did not work still. Then, I saw there were some packages to be included. After, all that I got the API running.

Only to see the sample program in my downloaded folder :P

I could still not use the output as it was not in the canonical form. After a bit of cleaning the string in the most childish high school fashion, I passed it to the old program I had developed for +/-. I was happy it was of some use. And then voila!, I got the required result.

Throughout, I made the most ludicrous mistakes which cost me a lot of time. And now I learnt that "costed" is not the past tense of cost. I am very surprised. Anyway, today depended completely on debugging and had a fulfilling day.

Tomorrow, I should see what other potentials I can tap from WolframAlpha.

Tuesday, October 28, 2014

Day 2 : TA work

One of the joys of being a graduate student is the opportunity to be a Teaching Assistant. Me and my friend are developing a code for graphic visualization of algorithms on random graphs. The algorithms would be supplied by the students as part of their course work.

It was with tears of joy when we saw our code run on the big TV monitor with our implementations of basic BFS and DFS algorithms. We wrote the documentation along with the guidelines for students to use the code. Hopefully, they will find it easy to modify and the project will be a big success.

I've started using Stanford CoreNLP for my research. I have to say, it's one of the finest examples of machine learning and its success.

Monday, October 27, 2014

Day 1 : The Weekly Meeting

Post Diwali, I had a meeting scheduled to describe a paper on white board to my guide. Being the true blue Diwali enthusiast (aka taking 1024 photos in different lights), I had not reached the required level of understanding. My sir was kind enough to reschedule it to Monday and I went all prepared with derivations and everything I understood. And yet, inevitably, no matter how much I scrutinize something, there is always one obvious detail that I miss that makes me feel pretty stupid.

Relatively, it went well.

Then I helped my friend with few ideas in lab. And then I realized a golden nugget of wisdom.

"It's always easier to think about others' problems than yours" :P

Anyway, I finally created a GitHub account and now am addicted to it! I wrote a program to solve linear equations in Java using EJML.