To us, here and now, it appears thus.

Is Eclipse the next Emacs?

Posted in Computer Science, Geeky Stuff, Java/C++, programming by vishnuvyas on March 4th, 2008

Emacs, for those who know me, I am an big fan of, almost to the point of being religious. And and recently I’ve found another one - Eclipse. Emacs, as most would know is the ultimate editor that is written in a dialect of lisp called elisp (which predates attempts to standardize lisp and common lisp) - was the result of a time and a place where almost every programmer wrote lisp, AI was a buzzword and Symbolics was a household name.

Thus, emacs, naturally was written in the language of its time - lisp. With over 3o years behind its belt, emacs is now a mature multipurpose software application that most people go to the extent of calling it an operating system. The things that made emacs such a huge success story was not only was it written in lisp, the language of the day, it was also extensible in lisp, the language that most programmers who first used emacs knew. Thus, every pet-peeve of almost every programmer was solvable with just a few lines of elisp. Extensibility - Thats what made emacs a huge success. With packages for everything from terminal emulation, remote editing, newsreaders and even a web browser - Emacs is one multipurpose software application.

With, the coming of the AI winter, lisp lost ground and eventually gave way to Java. Java, being severely used in the past 10-20 years has become the lingua franca of the time. And, with Java we have another emacs incarnate, something that’s not only written in Java, also extensible in Java - eclipse. It has the same extensibility as emacs has , though not as mature in terms of extensions as emacs. So, Is Eclipse the next emacs?

Signing Off,
Vishnu Vyas

You Know You’re Old When..

Posted in Free Writing, General, Lifestyle, Society and Politics. by vishnuvyas on February 25th, 2008

You know you’re old when, that new and upcoming superstar that you think is really hot is actually younger than you are.

Sigh, yet another sad day to reminisce over missed opportunities.

Signing Off,
Vishnu Vyas

Internationalization done right!

Posted in Geeky Stuff by vishnuvyas on February 19th, 2008

Even though Orkut - google’s social networking website neither has the market share or the mindshare rivalling that of Facebook or MySpace, google’s ingenuity never ceases to amaze me. So, what am I talking about? Orkut’s new feature which integrates multiple languages and lets you mix and match as you wish - with nothing more than a simple keystroke

For all those who want to type in thamizh, thanglish or plain old english, orkut can do it in a very “google” fashion with simple phonetic typing, ajaxy pop-up suggestions and switching languages with just one keystroke.

Here is an example of what I am saying and what other “multi-lingual” word processors should emulate .If they get this into google docs, I am thinking its pretty much a done deal for a lot of people who are stuck with a latin keyboard shoe-horned to fit languages that just aren’t immediately compatible with languages like tamizh.

Here is how it looks.

orkut’s multilingual mix and match.

If you look at it, not only does it let you type tamizh in a phonetic sense, it also does away with the problems most phonetic typing schemes have when they are dealing with languages like tamil which have more liquids than I care to count, by simply using a well tested UI idiom - pop up suggestions. Its amazing that they do this in realtime in a web interface.

This is precisely what every one wants. No one, ever actually uses a tamizh all the time. Most of modern Tamizh’s vocabulary is approximately 20% English. And, people can ’scrap’ (orkut’s equivalent to facebook’s wall). each other just the way they would talk in real life. And all it takes to switch between the two is a simple keystroke.

So, Kudos to Google.

Signing Off,
Vishnu Vyas

All Science is Computer Science

Posted in Geeky Stuff by vishnuvyas on February 10th, 2008

This is in continuation of this post, so for any background and a general introduction of my point of view on this subject take a look there.

My thoughts when I initially wrote the previous post, where much unclear – a bit foggy and nebulous. Now, I believe that I have a more concrete version, or at least one that is a little less foggy. My study of the fundamentals of computer science has grounded my faith in the fact that this is as fundamental a science, as much as physics or mathematics, if not more. Computer Science studies things that can be computed by beings of finite resources – be they humans made of meat and bone or be automatons constructed of metal and electricity.

It is the study of what is possible in a finite universe. The nature of truths privy to us – beings of finite resources. What can be efficiently computed and what cannot. These are the fundamental questions of computer science. How hard is really hard? Are there easy ways to get around the hardness of problems? These questions are what a people who work on the frontiers of the body of theory that make up computer science ponder about. And unlike the esoterica of mathematics or the alienated theories of physics - The questions that computer science endeavors to answer have bearing on the real world.

From improving the efficiencies of every day corporations to fundamental questions about the market - questions that have plagued economists for decades, with the tools of computer science are within our sights. Our approximations to what cannot be answered precisely can be given limits of error. It gives us the tools to tell, if we are not at the truth, at least how far are we from it. From the fundamental building blocks of all life - DNA to questions about the most refined form of human intellect, Language. All are now under the sights of computation. What nature does and what can nature do? The ultimate limits of reality and our perception. All answers to these questions have their answers inside of computer science.

This article would require an entire book to be written, but for now, I shall contend my self with writing small expository examples via posts here, of the tall claims that I’ve made in the previous paragraph.

Till Then,
Signing Off,
Vishnu Vyas

The Emacs Tourette’s Syndrome

Posted in Geeky Stuff, General by vishnuvyas on February 9th, 2008

It’s been a long time since I’ve posted anything here. So, just to get back my “writing” spirit and please the gods of the blog world, here I am with something that many might find mildly funny.

Anyone who has used emacs enough would have automatically got into the habbit of typing C-x C-s, to save whatever it is that is in their buffer. But if you have used it as much as I’ve, then you would have gotten into the habbit of doing this so often, that you do it unconciously, whenever you are near any sort of keyboard. Infact I was totally oblivious to it untill a friend pointed it out.

The response is automatic, reflexive and almost uncontrollable, just like Tourette’s syndrome just for those who have used emacs - an Emacs Tourette’s Syndrome.

 Signing Off,
Vishnu Vyas.

Muahahaha……

Posted in Geeky Stuff by vishnuvyas on December 19th, 2007
gazaam 19% cat /proc/cpuinfo | grep processor
processor       : 0
processor       : 1
processor       : 2
processor       : 3
processor       : 4
processor       : 5
processor       : 6
processor       : 7

Feast your eyes on that.. and feel belittled ….. muahahaha…. muahaha….

Signing Off (Feeling really lordy),
Vishnu Vyas

Nice little regular expression tester.

Posted in Geeky Stuff, python by vishnuvyas on November 25th, 2007

Regular expressions, if you are not a perl expert are often a pain in the ass to write, test and debug. Espescially if you are in python where there are a bunch of methods of doing extremely similar things, yet not quite the same. I found this really handly little regular expression testing tool, which runs off a web-browser and can run on your local computer called retest.

It uses ajax to make things simpler and more interactive and really useful if you are trying to parse really weird stuff.

Signing off,
Vishnu Vyas

Is Type-Safety an Illusion?

Posted in Geeky Stuff, Java/C++, programming by vishnuvyas on November 12th, 2007

Today, I had an interesting conversation with a friend of mine, a self-professed Java geek and some one who is a hard sell for dynamic languages like python. And our conversation came back to the same topic, again and again - type safety. From what I know of Java, it seems more or less highly type safe unless there is some sort of ugly reinterpret_cast like construct. But, coming back to my home ground of C++, thinking about it, C++ is not really type-safe, In more cases than others, type-safety is nothing more than an illusion. C++, being a multi-paradigm language has a whole host of powerful and extremely useful features, which also makes shooting oneself in their foot extremely easy.

Here is my top three really useful features, which also are the big type-safety pitfalls.

  1. Variadics : Variadics is a really handy feature in C++, but its current syntax is a dark abyss for getting into type-safety hell. The way currently one handles variadics in C++ is this unholy mess of macros all starting with “va_”. These macros not only manipulate the stack directly, but return a memory image of the object. So, unless you are very sure of what type you are getting your hands dirty with, you are going to come up with serious bugs. The case here is even worse than python, where when you do the wrong operation on the wrong type, you get a run time exception. Which in my opinion is more type safe than the current scenario in C++.
  2. reinterpret_cast : reinterpret_cast is another potential pitfall that I’ve come across, especially when I am prototyping in C++. Sometimes, its just easy to do a reinterpret_cast and forget it. Its really handy when you are trying to develop with some one else’s code. That damn singleton class which needs one tiny extra bit of functionality that you absolutely definitely require, but you can’t extend it. So, what does one do? An ugly reinterpret_cast. And you’ve given yourself a golden pass to type-safety hell.
  3. void * pointers : These are the worst offenders. I am sure, everyone who has programmed in C++ have had enough pains with knowing how bad these little bastards can make your life. I won’t add to the woes, but just let me mourn along in silence here.

Signing Off,
Vishnu Vyas.