Scaling the Minecraft Game for studying Human Behavior

I’ve created a game in Minecraft for testing human exploration in indoor environments. It’s available for playing at http://www.vaisaghvt.com/minecraft-experiment/ . Please go ahead and give it a try if you have a minecraft account and want to play Minecraft for Science . Or if you’re the competitive sort, try to get on the leaderboard.

 

It’s been more than a year since my last post on how I created the game. Since then, I’ve got some very basic results from it with students in NTU playing. However, it was surprisingly hard to get people and I had to host it online to get enough data. It took a while to get funding approved and stuff but finally I’ve managed to host my experiment on Amazon. In this post, I’ll try to describe the things I had to do since my last post to get this to work.

What I’d already done:

A short version of what I explained in my last post: I’d created an adventure of sorts in Minecraft where players get spawned at one location, follow instructions to explore a three storey building and then complete a few tasks. On disconnecting from the server (manually), all the data of the actions of the player is written to a MySQL server. I analyse this data in the hope of finding a cure for cancer. And this is what I had to do for that:

Step 1 : Shutting down the server automatically

I can’t believe how long it took me to do this, but it ended up being quite simple with my modified statistician plugin simply sending a shutdown command to the server once the player completed the last task.

Step 2: Starting on request

Next, I used Python’s brilliant twisted framework to write a simple server program that would listen for connections and start a tekkit server when such a request was received. To test things out I created a simple client side script also that simply sent the username. The database would be queried for existing attempts and the unique id consisting of the username and attempt number was created to store it in the database.

TO start and stop the server I used this handy little script: http://pastebin.com/Lgs4r5f8 .

Step 3: Hosting the server and scripts on AWS

Now that I had this simple set up working I got an amazon EC2 machine and a MySQL database and copied all my server files and scripts there. Instructions on how to do this are easily available on googling and quite straightforward to follow.

If anyone’s trying to copy a Tekkit server from a Windows to a linux machine, remember that you have to download the Tekkit server on the machine separately and just copy the world files (as opposed to trying to copy the whole folder there).

Step 4: Final Touches

Now that I had most of this working, I added a new page and with some simple python and javascript and a bit of effort in beautifying things, I was able to send requests to play from my website to the EC2 server and play.

I also made the server a white listed server with the white list being created on a person signing up. Finally, I put a time out on the server that would shut down the spawned tekkit server after an hour so that the experiment didn’t stop simply because someone started the server and didn’t play.

The end results of all this are there for all to see at http://www.vaisaghvt.com/minecraft-experiment/ .

 

Final Comments

I didn’t go to as much detail as I wanted simply because I don’t have the time to write in detail. I’ll try to share all the scripts and stuff I wrote on my GitHub page once I get time to clean it up a bit. In the mean time, if anyone’e curious to know more about any part of the process, do ask.

Also, if you play minecraft and have a minecraft account or know anyone who does, please go to http://www.vaisaghvt.com/minecraft-experiment/ and play minecraft for science 🙂

Each Tekkit server with all the plugins I have require about 3G of memory, so it’s expensive to get more than the one EC2 instance that I have now and making a proper queueing system that emails people when the server is available will take a lot of effort so as of now, only one player can play at a time and someone else who requests while the one player is playing will simply have to wait and check back later.

I’m working on a paper summarizing the results from my analysis. Shall share that also once I’m done with it.

 

A Sublime Text plugin for the careless

So after close to a year of procrastinating, I finally made the code that I had written about back in June last year into a plugin for sublime text 2. The plugin basically checks for a couple of mistakes that are commonly made in latex by me and hopefully other people who forget to title case titles and put spaces after punctuations. On running the command, the plugin highlights each mistake and suggests a replacement which can be accepted or rejected by the user with a single key press. IF you’re actually reading this post, do feel free to check it out at https://github.com/vaisaghvt/CheckTypos .

The process of making it into a plugin was quite straightforward since my original script was in python. After some help from the excellent NetTuts tutorial and some help from some of the existing plugins and obviously the API I had the plugin working. About 10 lines of JSON later, I had an option in the tools menu, a key mapping for mac, linux and windows and a command in the command palette.  Seriously, I’ve no idea why I waited for so long.

 

p.s. It’s now available in package control as CheckTypos plugin. Love how that things works.

Some thoughts

I had initially planned to write just about my PhD related stuff on this blog. However, the sheer ridiculousness of the stuff I see on facebook and in the news these days has lead me to write this post.  It’s actually about a few random, somewhat unrelated news articles and posts I’ve been seeing that scare me actually. I’ll start off from the most recent and work backwards from it.

Rehabilitate Pakistani Hindus: BJP (http://bit.ly/PQWIWR)

This came on the Times of India on Aug 13th. I’m all for helping refugees in whatever we can. What bothered me more was the emphasis on hindus and the comments below the article, many of which had more than a dozen likes/ recommendations. Most of the commentors actually want India to provide dual citizenship to Hindus all over the world like Israel does for the jews and send all muslims away to Pakistan or Bangladesh “as it was meant to be”. Or if they aren’t going to go away, they want muslims to sit silently like a good minority should. In case this needs explanation, this scares me because what we have here is a bunch of people educated in english and capable of reading newspapers who have this image that not only is India a hindu nation, but muslims are foreigners and not a part of this country. We have the third largest Muslim population in the world. You know what scares me more? That this isn’t just a bunch of random fools with access to a computer. The second largest national party in India practically thinks along these lines. Which brings me to the next thing that irritates me.

The NaMo brigade

For those not in the know, that refers to the people who want Narendra Modi to be the next PM of India. Now, let me get this clear, I am extremely impressed with the work that Modi has done in developing Gujarat and I do believe he is a much more capable administrator that Manmohan Singh and (God Forbid.. ) Rahul Gandhi. And India might well be better of with him in power than another term for this astoundingly inept Government of ours. What scares me is not him per se; but his followers. For the following reasons:

  • Modi’s recently been trying to paint a picture of being more secular and inclusive of muslims. And his followers and others in his party find this reason enough to stop believing in him. Get this, we have a large chunk of people who are pissed of that a prime ministerial candidate is trying to care (or at least show that he cares) about another community!
  • I don’t claim to know whether he orchestrated the Godhra riots and that isn’t my major issue. There have been cartoons going around about how people seem to ignore all the good that he has done because of one incident. What scares me about this cartoon is the thought behind it. His supporters aren’t saying that he didn’t do it. Had this been the case, I would definitely not have been so scared.  They are actually saying that even if he did do it, look at all the good he did.  This scares me because if he did do it, it shows what he is capable of. And by showing that they are capable of forgiving such an act, his supporters reveal a very scary side of India. *
  • Somewhat related to the previous point. There is a large chunk of people apparently who don’t even believe the “even if” scenario, they believe that he did do it and are happy about it! Apparently there used to be riots every few months or years but since the Godhra riots the Muslims have been scared and quiet and there have been no riots. This is apparently good. So much for Tagore’s dream of living in a country “Where the mind is without fear and the head is held high”

Talking about living without fear and holding your head high brings me to my next topic for this post: the way women are treated in India.

The condition of women in India has been highlighted a lot over the last few months by different parties: Aamir Khan’s excellent Satyamev Jayate brought up some of the gravest issues facing women in India; Tehelka brought to light the alarming apathy of the Indian Police to women in India; and there have been various articles across different blogs, newspapers, websites about the problems facing women in India (including a scathing article in the Guardian and a report that ranked India the worst country to be a woman in). But despite all this, it’s when I see some of the things my friends on facebook post and reactions to it that I start wondering how screwed up things really are. Some examples:

Case 1 : Pictures of girls standing in line to buy alcohol: There were two of these and dozens of likes and comments mostly along the lines of how our so-called “culture” is degrading. Most of these comments, shares and posts are by guys who themselves drink themselves stupid every chance they get.

Case 2: (1.2 maybe considering how related it is to the previous one) Pictures of some girls smoking with a detailed post on how “westernisation” has now destroyed “Indian culture”: I think smoking is a disgusting habit. But girls have as much right to smoke as a guy. Another thing about this that I hate is this idea of “western culture” that India is obsessed with. The less said about it the better. All I have to say is that, I think India’s a better place because there are girls who’re not scared of smoking because they are girls.

Case 3: Gehna Vashisht and the bikini controversy: If you didn’t know, this female did a photo shoot wearing an Indian flag coloured bikini. An idiotic thing to do and done solely to raise a controversy and get some publicity I think. Some “social activists” reacted by throwing stones at her and getting her beaten up. As wrong as what these hooligans did was, that is also not what I have an issue with. Following this incident, posts appeared on facebook from some of my “friends” about what good, patriotic citizens these hooligans were beating up someone who had insulted the nations honour. What’s more, you had to like it if you wanted to beat her with a shoe, share if you want her beaten with broomstick and comment if you want her shot. I’d rather not go into how many likes, comments and shares there were. Why was this even worth sharing?? There are so many other issues in society to get angry about and this is what works these people up? Brilliant.

These are people who went to the same schools as me. In my naive mind they weren’t supposed to be the problem.  The problem was supposed to be in some other corner of India, in uneducated villages and in the older, more traditional generation. When such opinions and thoughts seem to be so widespread in the youth of today, it just hurts.
* For those who want to bring up the Assam riots and Sikh riots and Rajiv Gandhi’s comments as points against the Congress. Two things: Firstly, the assam riots were a case of incompetence and not malice. I can live with incompetence. I’m scared of malice. Secondly, I’m not a congress supporter either. They were very wrong in doing what they did but at least they finally apologised for it.

Anyway, it’s going to be the 65th anniversary of India’s independence soon and anyone who’s actually been reading this post till now might find it interesting to read the dream with which India awoke to life and freedom 50 years back: Nehru’s speech.

The NTU option for undergraduate studies

Every year, mostly around this time of year, I get a lot of friends, relatives and complete strangers asking me about NTU and considering it as an option for further studies. Depending on how pissed off I am at NTU at any given time, my opinion changes but the gist of it still remains the same. It depends on what you’re comparing it against and what you want from it.

This post is basically my thoughts on the choice I made 6 years back and hopefully it’ll help someone or the other in their dilemna. Ever since the day I decided to take the SIA NOL scholarship and come to NTU and study computer engineering instead of aerospace/ chemical engineering at one of the IITs, I’ve spent an unhealthy amount of time justifying to myself and to others why I made a reasonably good decision. When I was at the point of having to choose, one of the things that helped me the most was an alumni’s blog post about how he made the decision to come here. I can’t remember his name right now, but I remember finding out about a year or so back that he’s currently doing his graduate studies at NUS. Anyway, the point is I can’t find his blog now and I hardly find anything written by people who decided to come to NTU instead of going to one of the IITs. So here’s an attempt at helping a lost soul considering his options.

Firstly, some disclaimers. I’ve only studied in NTU and a semester at the University of Waterloo in Canada. I have not really stepped into campus much in any other college (except NUS a few times and IIT-M for some competition when I was in 12th Grade). Secondly, the NTU experience is completely different for different people. I’m guessing this is the case in most universities. But the sheer size of the student population, the variety of extra curricular activities on offer and (when comparing to Indian Universities) the amount of freedom you have ensures that what I say is very likely to be completely different from a lot of other students.

On the positive side, moving to a foreign country is always an eye opening experience and while most of the students are from Asia, there is still an incredible variety in the backgrounds of the different students here. While it’s not necessary and quite common that most of your friends will be from your same country/ background, the international exposure does make quite a difference in your outlook. More importantly, Singapore is, regardless of the criticism that some people put at it, an amazing city. And, there is a lot one can learn from the way things are done here. It’s as safe as a city can be and for those wanting to travel it’s also very well connected to a lot of amazing places.

NTU also has some brilliant facilities for pursuing your different interests. I joined the NTU Tae Kwon Doe team and Red Cross during my first year, attended a few (kinda intimidating) sessions of the competitive programmers club, organised some cool events and some not so cool ones. I even got paid during my second year for doing research in NTU’s initiative to try and encourage research amongst students. Whatever be your interest, there’ll be something or the other for you, especially if you’re willing to take the effort.

Moving on to the more pertinent topic of academics, the aforementioned choices and freedom still applies. While most courses have a few core subjects that you have to take over the years there is an incredible variety of subjects that you can take which are offered by the different schools ranging from Maths and the Basic Sciences, to Arts, Humanities or Business or even things like Physical Education (I recently discovered that there are summer courses on soccer and other sports). You can take minors in most of these fields to go along with your major in Engineering (or the other way around). Pretty soon, NTU’s going to have a medical school too. While these options aren’t really a big deal to someone in NUS/ most major universities abroad, I think it is quite different from most Indian Universities ( I could be wrong of course). Another great thing about NTU is that, NTU has enough money and prestige to attract some of the most brilliant scientists and personalities from all over the world as visiting faculty or for talks that happen regularly on campus.

This brings me to the topic which is generally considered the most important: the quality of the teaching. I’m not sure how good or bad things are in other universities, but compared to my experience at the University of Waterloo and listening to online lectures from various US universities, the quality of the teaching and (more importantly) the learning culture in NTU in general is extremely disappointing. I believe this is a combination of a lot of factors.

I can count on one hand the number of classes I’ve actually enjoyed sitting through at NTU. And there wasn’t a single class that inspired me to want to learn more about computers or computer science or computer engineering. This is not entirely the lecturers fault. For one, the culture of asking questions is entirely absent here. And as a result, even when the lecturers do try desperately to encourage their audience there is absolutely no reaction. Secondly, there are no attendance requirements and all lectures (at least till third year) used to be recorded. So most students think they can make up for it even if they don’t attend classes. So it’s not uncommon to see very empty classrooms. However, what I hated most about NTU was how easy I found it. Most tutorials and assignments were not challenging or open ended or even remotely interesting. After all the awesomely interesting problems that I came across during IIT preps, these tutorials and assignments were very boring and rarely required thinking outside the box. In fact, some of them didn’t even require thinking. The reason why I found my semester at Waterloo to be so interesting (and that semester was the key reason for re igniting my interest in computer science enough to do a PhD) was the assignments which were generally quite difficult.

Many graduates from computer engineering have never used UNIX, had never programmed in anything other than Java, have never done any Computer systems course and have a very very basic knowledge of algorithms.

However, there are three reasons why my rant should be taken with a pinch of salt. Firstly, I think I would have ranted about the quality of teaching in many other colleges too. Secondly, there are a lot of changes coming about and things might already be a lot better. Classrooms are being made smaller, course loads are being reduced with more importance being given to assignments and quizzes and some effort is also being put in training TAs. Lastly, this is the case in the school of computer engineering in the courses I took. I did attend some really good and interesting economics and maths classes. And I’m sure teaching styles and standards can be very different in the other schools.

To end on a more positive note, in a lot of cases, especially for Indian students, what is more important than what you learn in college is your career prospects and stuff. And in this regard, NTU and Singapore in general does not disappoint. The compulsary Industrial Attachment program and the general culture of taking summer internships ensures that you are prepared when you graduate. In spite of the recession causing some difficulties, I think all graduates do find decent jobs after graduating. Even if you don’t end up getting an awesome pay (and there are quite a few who do get good jobs), your quality of living in Singapore will be a lot better than most other parts of the world while the cost of living is actually not so bad. Most students go into the financial sector since that pays best, however there are engineering firms too for those so inclined. For the business minded, the Government and Schools (the minor in entrepreneurship is extremely popular) here do a lot to encourage and support startups. Despite not having their engineering departments in Singapore, Facebook, Microsoft, Amazon, Google and others do come to campus every year and do recruit quite a few students. So, as a stepping stone for a future career and a comfortable life you could definitely do a lot worse than NTU.

There are a lot of other factors that can affect someone’s choice of NTU for undergrad: On the negative side, the bond that is there for students on scholarship is something that needs to be considered very seriously. On the positive side, Singapore’s quite close to India and if you book at the right time you can be to India and back for less than 10000 INR. There are a lot of other personal factors too. In my case, even though there are a lot of things I dislike about NTU, given the circumstances, I still think I made the right decision in coming here.

Regex + Python to clean up my writing

After shifting to using latex (with sublime text) for writing, one of the things I’ve found rather irritating is correcting the silly mistakes I keep making. These are things like accidentally putting two spaces adjacent to each other, repeating phrases and forgetting to capitalize letters in the right places. Word used to make things easier with it’s spell check. There is a dictionary in sublime text but it works only for spelling mistakes and those aren’t always the problem. Checking the PDF and going through them looking for mistakes was obviously quite irritating.

Initial Solution

It was around this time I made a list of standard regexes that I could search for and replace using sublime text’s in built search. I put these in my sublime text latex cheatsheet for easy access. I’d just copy these from the cheat sheet and paste into the search bar and fix each error as I saw it. Obviously quite time consuming. I intended on automating this with some sort of script but just never got around to doing it. With all the other checks I had to do like whether the text appeared in a comment or an equation block or something. I had no clue how to do this in a simple bash script.

Python To the Rescue

It was at this time I was reading about someone using regexes in Python and I realised this would be an interesting way to improve my limited python skills and do something useful. And I set about making a python script that checks for the common mistakes I make (the regexes in my cheatsheet) and makes the appropriate suggestions for replacements and updates the file.

Adding new regex patterns and ways in which it has to be replaced is as simple as writing a simple function and adding a line to the list of patterns to be tested. I still need to do some basic testing on it and add more patterns but I’ve put the code up on GitHub already (link) and would be extremely grateful to anyone who checks it and gives any suggestions. I will update the Readme file and comment my code very soon (seriously.. i will ).

Finally, using the idea of functions being first class members in python for the first time was super interesting and super useful. Gives a hint of some of the biggest limitations of java; and a brilliant rant by Steve Yegge on java and functional programming: http://steve-yegge.blogspot.sg/2006/03/execution-in-kingdom-of-nouns.html.

My own little space on the world wide web

It’s been a very long time since I’ve been planning to get one done, but I’ve finally got a personal website/ academic profile up. It was almost half a year or a year back that my supervisor told me to create a website for myself and it’s somewhat essential for PhD students and stuff. But NTU wasn’t giving me any domain space and though I could get some server space on the PDCC servers for creating a team website and page for myself, that never materialized either because everyone was too busy. So I created some random thing on sites.google.com. Which looked pathetic and I couldn’t really figure out how to customize it much and most importantly I wanted my own domain.

This is not the first time I’ve made a website. But the last time I created a personal web page I was in 11th Standard (Junior College) and it was created using Front page and I think about 5 people in total saw it. I created it using geocities, I wonder if it’s still up. Anyway, after that I’ve started a few blogs now and then and I went through the initial process of trying WordPress and then Joomla for creating the team website. But for my own website I wanted to create it form scratch using just html and css nad not using pre specified templates.

So the first step was learning how to use CSS and brushing up on the basic HTML I knew and checking out html 5 (not that I needed it, but might as well see what the big deal was I thought). Anyway, with the help of some tutorials and templates from Lynda.com, I was able to create the website quite easily.

Next I had to get it up on the interweb. I’d heard from some friends that Amazon Web Services has some free tier of storage if I use less than a certain amount of space. And being amazon, I’m guessing the service is reliable. Anyway, I set up an account. Even though I had to submit my credit card details for it, I won’t be charged for the first year unless I add more than 5 GB of data to the storage provided. Also, they’ve allowed me to set an alarm if the charge ever goes above 0$.  Anyway, they have excellent instructions on how to use it. However, I don’t really think it is even necessary. It’s that easy. Just remember, DO NOT delete buckets randomly. It takes a while to have that name available again.

Now that I had my data stored there, the website was accessible but the link was a very long and weird one and it basically made the geocities/ google sites domain name look better. So I started searching for a name registrar. The first link and recommended article I got to was LifeHacker’s recommendation. Since I wanted the cheapest one out there, I went for namecheap.com. But a quick search online, showed that internet.bs provided domain registration for about a dollar less and people seemed to be reasonably satisfied by it.  So I went ahead and bought vaisaghvt.com for about 8.99USD a year.

The process was easy enough. But being  newbie I had no clue how to link that url to my aws bucket. I initially tried simple url forwarding. While this worked (and incredibly quickly at that ) it ended up showing that long useless URL as the URL in the address bar which I found quite irritating and inconvenient. Luckily I found this very helpful blogpost, which told me exactly how to solve this problem. Just remember, to name your bucket properly. In my case since I wanted it to be linked to www.vaisaghvt.com, this is the name that I gave to my bucket. While they kept telling me that this might take hours or a day to happen. In my case, I could see my website at that name in less than an hour.

I know it’s not that big a deal to create a website. But can’t help the childish glee in having my own little place in this interweb thingie.

Please do give it a look : vaisaghvt.com

Sublime Text Latex Cheat Sheet

(Scroll to bottom for the pdf cheat sheets) 

The quest for efficiency

I’ve been looking around a good editor for latex ever since I started using latex.

When I had this problem when I initially started using Latex during my FYP, I settled for WinEdt which seemed to be the most popular one out there. Since I had to finish my FYP report quickly (I had about a week to setup and learn latex and write my report in it), I didn’t bother experimenting with different editors. The problem for me with latex on windows was that it took me a really long time to set everything up. And for some reason, I couldn’t typeset my tex files into pdf within winedt. I’ve heard this is possible now. I’m not sure if I just never figured it out or the feature wasn’t available in earlier versions.

In any case, once I started PhD and more specifically when I was about to start my confirmation report, there were whole new complications. I had a mac at home and a pc in the lab. I would need to work on my report at both places. I could use Winedt or some such on Windows and TexShop or TexWorks on OSX. But I really didn’t like either of these apps and I wanted to learn to properly use one powerful text editor so that I could work better. So I did a check online and the most fanatical text editor ppl were ppl who used Vim or Emacs. I started using Emacs . Not entirely sure why, but I guess it’s because I found a windows version of emacs and because I heard of Aquamacs for the mac. Within a day or two, I realised that this would be pointless for me. For one, I like using my trackpad and mouse and I like having a proper GUI regardless of how powerful the app can be without it. Moving the cursor in the app was itself a pain, so I didn’t really want to do much more. I was sure there must be some modern text editor that I can use to do all the stuff I need without having to waste so much of my time trying to learn Emacs. I mean, there had to be something better than notepad++ and Textwrangler that was also free.

Sublime Text 2

That’s about when I came across Sublime Text (http://www.sublimetext.com/). It’s powerful, beautiful, has a lot of customizable key bindings, plugin development opportunities (using Python) and most usefully at that point of time it was cross platform. And yep, it was completely free. You could choose to donate to the developer (Jon Skinner) to a licensed version. However, the unlicensed version did all that the licensed version did but with an annoying pop up that comes up at every 10th save or something.

I use it generally for C/C++, python, xml, html and latex. You can use it for all sorts of things. The app also has a console which can be used for doing all sorts of things. For one, when working with python you can actually compile your files and run them from Sublime Text itself. Please take a look at the website for their features. There seems to be a lot of activity on the plugin and package development front over the last few months.

To start installing and discovering packages. First install Sublime Text 2  (http://www.sublimetext.com/2) and then install package control (http://wbond.net/sublime_packages/package_control). And voila! Installing and discovering packages becomes as easy as taking candy from a baby.

Now to start using latex on sublime, you’ll want to install the latexTools package (http://tekonomist.wordpress.com/about/). It provides all sorts of features to you including forward and inverse search, wrapping text in environments and commands, auto completion of references, etc. Combined with the shortcut keys provided by Sublime Text and Papers2’s Manuscripts I have now an Amazing setup for writing my papers. Things have never been easier.

But to actually make full use of these, a cheat sheet is absolutely essential. So I’ve created a pdf of key bindings in sublime and latex tools that’ll be most useful for anyone using sublime for latex.

Cheat sheet:

Windows:  sublimelatexsheet – Windows (p.s. any and all suggestions are welcome)

Mac : sublimelatexsheet -Mac

Tex files for cheat sheet: Tex source files for cheat sheet

*Edit : added some regular expressions that I use for checking to the cheatsheet.

*Edit: Changed for new plugin settings
Update: Installing and updating latextools is a lot easier now. And the plugin is a lot more awesome now. I don’t even need Paper’s manuscripts (which is available now in windows also). Most of this article is old but the latex tools plugin is still updated as of Oct. 24 2012.

*Edit: For updated regexes and a plugin to use these in sublime text please refer to my newer post : https://vaisaghvt.wordpress.com/2013/04/17/a-sublime-text-plugin-for-the-careless/

Writing reports in Microsoft Word

Almost all students use MS Word. At NTU, it is almost the only word processing software that students use for writing reports, even PhD students. I would recommend any student with at least a few hours to spare to give Latex a try; it’s totally and completely worth it. However I’ll talk about Latex another time. For now, I would like to talk about ensuring a certain minimum standard for the reports made in MS Word. Most people have no clue of the capabilities of Word and don’t make use of some of the brilliant built-in tools that could both make things more convenient and also much neater.

Even though I’ve always been a big fan of the MS Office suite, I hardly use MS Word these days. I actually stopped using word just over a year and a half back after shifting to latex. I’ve hardly tried Pages or Writer so I can’t comment on how good they are. The last time I tried Writer was too long back for me to comment anything on its current state and not make a fool of myself. So most of these guidelines are specifically for Word users.

  1. Use Justify alignment, 1.5 – 2 line spacing and a font size of at least 9 or 10 depending on the font chosen. Bigger sizes and smaller sizes both make documents either childish looking or too hard to read. And make sure that you use the same font and styling throughout the document. Use some simple font and not something fancy/ weird, especially not comic sans.
  2. Make use of the inbuilt formatting tools. For you chapter headings choose “heading 1” for section headings use “heading 2” and for subsections use “heading 3” . This will ensure uniformity and allow you to easily navigate through the side bar in office 2011 and also helps autogenerate the table of contents. Apply the styles whenever possible even to normal text. This way, to change the style of the document you can just choose one of the styles provided by word or if you want you can create your own custom styles.
  3. Use footers to generate page numbers.
  4. Always do a spell check but don’t always trust the spell checker. Try switching off the autocorrect and work because quite often it makes ridiculous corrections that you hate.
  5. For equations and symbols use the in-built equation and symbol formatter. This is very irritating and slow to use and the quality of rendering is nowhere near as good as in Latex. However, it is very much better than typing out equations which should never be done unless there is no other choice
  6. Insert captions for figures and tables. They should automatically be updated. In case this doesn’t happen, I think it can be done by selecting the whole text and pressing F9.
  7. Use the in-built reference management tool provided in Word. If not, at least use Endnote or Mendeley plugins. I haven’t tried these, but I’m sure they’ll definitely be better than manually ending references. General most references require you to keep a track of the author, year of publication and the journal, website or whatever the source of the article is. Page numbers should also preferably be included. Word provides a relatively easy method of entering these data.
  8. Generate table of contents and bibliography automatically. This will ensure everything keeps updated and more often than not gives a relatively neat output.
  9. Keep saving your work constantly. Preferably keep the report you’re working on in a Dropbox folder. Besides making the document available everywhere and making a reliable back up. Dropbox’s in-built versioning system makes it easy to shift back to earlier versions of your document.
Some general report guidelines:
  1. Write a structure first before starting directly on the text. First write the chapter-wise organisation. Then write down the section organisation and then what you will talk about in each section. Each paragraph should make sense. Each section should be summarized at the end and there should be a smooth logical flow to the next section
  2. Always adhere to the word limit. If you can convey all your ideas in lesser words and pages then you’re more likely to impress your examiner. Using more words generally shows a lack of clarity of the concepts.
  3. Keep figures either at the top or the bottom of a page and always refer to figures in the text.
  4. Have page numbers at the bottom or top of page.
  5. Don’t change font size or spacing from specified value. If you really need more space in the page go to page setup and change the margin sizes.
  6. Always reread your report. If possible get someone else to read it for you. Taking a printout and reading is a very effective way of finding out deficiencies in the documents
  7. Unless you are specifically asked to submit a word document, convert the file to a pdf file. This makes it neater and much more accessible to the professor.
  8. Wherever possible use diagrams, charts, etc. to explain your ideas.

These are just some of the points that come to mind. The two documents below show a lot of much more detailed guidelines for users using Word for their reports. I would recommend anyone writing an article in word to read at least one of them once.

1. www.jasonpang.net/reference/word_report.pdf : Fairly short, well written and extremely useful. Meant for Engineering students at the University of Waterloo.

2. http://www.brad.ac.uk/lss/documentation/word2007-long-document/word2007-long-document.pdf : Similar to above, but slightly more things are covered. I prefer the first one just because it’s much shorter.

Any other guidelines you can think of, please do comment…

Why you should listen to Rahman songs multiple times to actually like them…

I’ve always heard told and I’ve always told others that you should listen to AR Rahman’s albums multiple times to actually enjoy it. Many people, especially older people who enjoy lamenting the sad state of Indian music these days, have said this makes no sense and the mere fact that we need to listen to it multiple times shows the drop in quality. Recently, after watching a documentary about the way a human brain works and thinking about my thesis it suddenly struck me of why this is the case and as I now like to say how my thesis is connected to Rahman’s music!

TO understand what I mean, let me first explain the basic idea of the documentary and how the human brain works. While we have 5 sense organs which are helping us constantly sense the world around us our brain does not process everything that we see or hear. This manifests itself in various ways. When you’re immersed in reading a book or looking at some thing you might not hear someone calling you. This is also the basic way in which a magician pulls of his illusions by misdirecting our attention. There was an interesting video in the documentary of a guy presenting a simple magic trick which the viewers were asked to watch carefully. While watching the man do his trick, neither me nor my friend who was watching with me saw a 6 foot tall bear, rabbit and gorilla walk behind the magician. Apparently , even if our brain doesn’t receive all the information obtained by the senses, it still creates a complete and comprehensible picture of the world for us. It is not like we saw a hole in the world where the animals had come.

So how does the brain determine what information is to be processed?  While the exact mechanism is not known, there are a few theories that explain how we process information. Firstly there is the concept of “chunking”. Chunking refers to the process by which we group together similar information into “chunks”.  Chunking information can be thought of as the brain trying to compress more information into lesser space. The original revolutionary paper by Miller that proposed this idea suggested that humans can process 7 +-  2 such chunks of information. More recent studies suggest that we can cognitively process only 4+- 2 chunks of information at any given time. The other important idea is that the brain processes information that it believes to be most relevant or important to the task currently being undertaken. This is why, while reading we see the words clearly while we don’t hear someone calling. This is also why we are so easily fooled by a good magician.

Bear with me for one last interesting and relevant idea which is easier to explain with an example. Have you ever noticed that as soon as you learn a new word and its meaning, we start noticing it everywhere. It’s only recently I learned the singlish word ‘ang mo’. Since then I’ve been hearing all the local singaporean taxi drivers and hawker stall uncles use the term. Obviously, I’ve just not been listening to that word even though I’ve been hearing it. Though I don’t have references for this I think this can be easily explained. When we learn something new our brain learns to associate that “something” with other things and thus it can more effectively make it a part of some pre existing “chunks” and encode the information for storing. Basically, the brain finds efficient ways to encode information so that it can work around its limited capacity.

So how does all this relate to a Rahman song? Well, I’ll need one more example for this. When trying to sing a song, a trained singer will be more easily able to grasp the notes and the tune because he is able to understand and identify the notes better. An untrained singer might be able to sing just as well but he will most probably have to listen to it a few more times to ascertain the notes, the subtleties and the intricacies in the music. Finally, what’s so special about Rahman’s music? More often than not, a lot of his songs are very complex with multiple layers to the music. This means that when we hear the song the first time our brain only processes some of these “layers”. But on listening to it a second time, since the “layer” that we have heard before is already familiar, our brain manages to encode it efficiently which frees up space for us to take in more “layers”. Don’t think it makes sense? To take a recent example consider the song “hawa hawa” from the movie Rockstar. It is unlikely that a person hearing the song for the first time will hear the intricate music being played on the violin (or is it some other string instrument?? ) in the background. So only after listening to the songs a few times are we able to process all the different instruments and the subtleties in the music and finally hear it in all it’s glory…

Another interesting source on crowd dynamics

I’m finally realising the usefulness of twitter and in the most unlikeliest of ways. I’d been follwoing cracked.com mostly for the jokes and then they tweeted this earlier today:

http://www.cracked.com/article_19004_6-things-that-annoy-you-every-day-explained-by-science.html

And that had some references to annoying things in crowds and some actual references to work being done in crowd dynamics. That too the exact kind of work I was looking for. And I’ve stumbled on a few new papers and research. Shall post the updates soon. But here are the first interesting page I found: http://mehdimoussaid.com/project4.html . Just posting so that i don’t forget.