Microsoft – The other side of the world

Ah, what an experience it has been joining a company which literally runs the computing world. People who believe in “God”s might even compare the company to the fictitious Vishnu, preserver of this world. Once you get to know the number of products and the gamut of fields covered by them, you will be astonished. There is no field that has been left untouched by Microsoft. And now, here I am. Working for the very same. :)

I am starting with my 3rd week here tomorrow, and although no specific work has been assigned, the orientation has been a lot of fun. Microsoft’s private conference MGX (Microsoft Global Exchange) beckons us and a trip to the USA is the last thing anyone has to make in less than a month of joining. :)

I swear this confidentiality agreement is getting on my nerves. Can’t blog about all the fun things ;) So thats it for now!


Topcoder ! It really rocks!

So I thought it was high time I moved on from looking at problems on SPOJ, Codechef and UVA. It was time for Topcoder! Since I had never before participated in any of its events and knew none of its methods, it took a while to get accustomed to the “Arena”. After that, I started to attempt questions in different prior SRMs. Although the 300 point questions are always easy, it takes quite some time to figure out how to solve the questions with 600 points. And I haven’t solved a single one for the highest number of points.

Nevertheless, I have grown to like the way Topcoder presents questions and different competitions are conducted. Certainly going to be a regular coder on the Arena. See you there. :)

PS: Algorithms of a few of the questions I solved will soon be up on my other blog, All About Algorithms.


State boards: Society’s bane

UP board, Gujarat board, Andhra board.. I am sure every god damned state must likewise be having its own board for higher and secondary studies. Why? Are they needed? If you go on to think about it, they are doing more harm than good to the society. Our education system is flawed enough without having all these boards weakening it even further. Let me justify my opinion and state the logic behind it. I’ll put forward my points and keep this as short as possible. :)

The worst part of having state boards is that the medium of communication in majority of the schools becomes the local language. And that is detrimental. That too, to no small extent. I know we all love our native tongues. Yes, we have to maintain a culture of our own and language is no small part of it. But come to think of it, will you be requiring the use of your native language when you grow up to work for a company?

We can clearly see that every company that comes to recruit asks for fluent English speaking and good communication skills (in English). They don’t give a rat’s hairy ass about how fluent you are in Tamil, or Hindi, or Gujarati. And why should they? Haven’t we been pouring the cliched phrase all around that this is the era of globalization? Well, it indeed is. And the only common medium of communication is English. The fact that all medium of communication in our schools should be in English is a glaring fact. Ignore it if you will, but to develop a good career, you need to be fluent in the language. And give as much importance to your native language as you want but it won’t change the fact that on a global scale, all the Indian languages are as useless as my vestigial organs.

Here are answers to some of your questions (ignorant as they might be),

Q: Not everyone can cope with English. They are not brought up in that environment.

A: That is exactly my point. They need to be brought up in that environment. From the very start. And for that, schools need to change the medium of communication to English.

Q: So you want us to stop teaching regional languages?

A: No! I am not saying you “stop” teaching them. Have more than one dedicated subject to regional language if you want, but keep the medium of communication as English (not even Hindi).

Q: But we already have a dedicated subject for English in the syllabus.

A:  A dedicated subject isn’t enough. You have to understand that children can never gain fluency in a language unless they continuously use it. “Having a dedicated subject” does not do that. It just teaches some grammar rules which are useless unless they are brought into practice. They are anyway going to talk at home in their regional languages, right? So they can talk in English at school.

Q: Other countries like China and Japan teach their languages to their children.

A: Yes, I agree. Firstly, these countries have more or less one or two major languages (others being a slight variation of these). We on the other hand have a cart-load of languages. And even then they face trouble when they leave their country. Anecdote : ICPC 2010, Chinese team. They had to translate each question into Chinese using a dictionary. Then they solved it. Although they were fast enough to still get a rank 1. But you see the point I am trying to make.

Medium of communication alone puts children at a disadvantage when you compare them with those studying in, lets say, CBSE or ICSE schools English as their medium of communication. And the disadvantage is huge. If your kid enters the corporate world without having a good grasp on English and isn’t fluent enough, believe you me, he’ll suffer.


So what about English medium state board schools?

Apart from being in a minority, these schools suffer the dire effects of being under the state board too. I only need to list one reason to prove this. The other reasons are trivial when compared to this. State boards force children to mug up every little thing. Hell, they even ask students to mug up solutions to Math questions. And the worst part is, if a child does not write an answer in the exact words, or with the same steps, as were shown in the book, they are penalized. State boards are taking in possibly great minds, and through their asinine ways, turning them into mediocre ones by diminishing their capacity to reason things out and put things forward in their own way. I mean, these boards are like parrot breeding grounds!

I won’t say that CBSE and ICSE boards are the best (in fact, they have a lot of flaws). But they are certainly degrees of standards better than state boards. I don’t even want to go into how different syllabus for different groups of children goes on to weaken education. The facts stated above are enough to reach a logical conclusion that state boards are detrimental to the society and a weak link in our education system. We need to wipe them out. Now.


3D360 – First accepted research paper!

Finally! Finally! Finally! It has been long overdue and now it is done. I wrote a research paper on my final year project and submitted it to International Symposium on Intelligent Informatics 2012 and guess what?! It has been accepted. So my first research paper is to be published in a Springer journal and in the proceedings of an awesome conference chaired by none other than Professor Lotfi Asker Zadeh of the University of California, Berkeley (who happens to be the founder of Fuzzy Logic!)

I will put up the link to my research paper as soon as it is published online! For now, be content with the title of the paper,

3D360: Automated Construction of Navigable 3D models from surrounding real environments

Cheerio! :)


Atheism – A absolutely beautiful reply to an absolutely idiotic question

I don’t really put stuff on my blog that isn’t written by me. But this needs to spread just to make people realize that God is nothing but another imaginary friend, just that it is for people of all ages. ;)

Maybe I’ll have a full-fledged post about this flawed concept of God (= religion)  later. For now, read this.

So, any of you have the same question? :P


Calling MATLAB functions from C++

There are a number of ways you can run your .m files through you C++ code. Here are 3 methods,

1. Create a standalone application from your .m files

Once this is deployed, you simply need to run the executable from your C++ code with any arguments that you might want to pass. You can see how to do this here.

2. Create a C++ shared library

Once you create this library, you can include the header and libraries in your Visual Studio project and then call the function directly. You can see how to do this here.

3. Use an automation to start the MATLAB command line and run the .m file

However, I would advise against this method as long as you just want to run some .m files and not execute other MATLAB commands.

Now there is a simple how-to guide if there ever was one. ;)


Deploying a MATLAB standalone application

The good thing about this post is that it will be only a few lines long. So if you have your MATLAB file ‘hello.m’, to deploy it you use the following command on your MATLAB command line,

>> mcc -m hello

And you are done. You will have the following files/folders created for you,

hello.h (contains the public information)

hello_main.c (contains .EXE function interface)

bin  (directory containing the MATLAB menu bar and toolbar figure files)

hello.c (the C source code)

hello.exe (the executable application)

Now you can run the executable directly or through the C wrapper. I personally don’t see a need to use the wrapper and its easier to use the executable directly.

Also, if your function takes 2 arguments, you can pass these to the executable like,

hello.exe arg1 arg2

Nice and easy! :)