me

Programming using a language? Think again!

July 16th, 2010

I want to concentrate the things I do, not the magical rules of the language, like starting with public void something something something to say, “print hello world.” I just want to say, “print this!” I don’t want all the surrounding magic keywords. I just want to concentrate on the task. That’s the basic idea.

- Yukihiro Matsumoto (Matz) founder of Ruby

We have all been part of programming language debates: Ruby vs Python, PHP vs Perl, C vs C++ and so on… but I guess one thing thats common is that all these are programming languages. Sure they differ in paradigm, in syntax and in lot of other things. But one thing remains common: we are expressing the algorithm in the form of a written code. That remains same in all the languages.

When we write code in a programming language…what we do is write simplified code, abiding by certain principles, that in turn is converted into complex code(machine language code) by the compiler. So instead of writing this supposedly simple code I was thinking about other simpler and efficient alternatives available.

Basically there must be an alternative to writing code. I mean another way execute and express an algorithm.

One of them is Visual Programming. In visual programming, programming is done by using a graphical approach. Lets see what wikipedia has to say:

A visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually… Many VPLs are based on the idea of “boxes and arrows,” where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

I was first introduced to Visual programming three years ago in the form of Mindscript. Thinking about an alternative to programming languages I recently started experimenting with it(with little success). It seems to be in an abandoned state right now, considering the last update was four years ago. There is clearly a lack of documentation and support for this project else it could have flourished(could have had wings and flown…OMG!)

mindscript

Its like a flowchart being executable. Wouldnt that be awesome(:P)? I know lot of people(including me) prefer code over flowcharts but that might be because we havent made many flowcharts whereas we’ve written thousands of lines of code.

Sure I dont see visual programming replacing programming languages anytime soon but I do believe that we should give them a shot. Also we should look for other means of programming. And yeah I’d love to hear from you(cliched?) so please comment!

Revamped!

June 11th, 2010

Its been more than an year for Ganeshnomicks and so I decided to change the design of the blog. The new design exhibits my taste for minimalism. The previous design had been in use almost since the beginning. Hopefully I’ll release the previous design - Eclispse(yeah thats the name :P) as an open source wordpress theme. And I plan to release many of my previous designs as well.

How do you like the new design?

Light Designing Workshop at NID

April 10th, 2010

So I went to this cool workshop on ‘Light Designing and Choreography Lights‘ at NID earlier this year. I just got the pics from there so thought I’d post them. It was a wonderful and different experience. Learned lots of new stuff. Most of the effects were dynamic and couldn’t be properly captured on camera.  Nijeesh made it possible for me to go so thanks to him and ofcourse thanks to SVNIT for sponsoring.

Effective Search Engines: Users as Crawlers

March 15th, 2010

“A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner”

Thats how wikipedia defines a crawler. And thats how search engines index millions of pages. The crawler basically scans the whole page and sends raw, unprocessed data to the search engine database.  The data is then processed by some complex algorithms and then the crawled pages are added ro the search results.

This approach works fine as long as the search queries are simple and direct. A google search on “Indian Railways” would yeild me relevant results but a more natural language query like “Which railway minister left the railways bankrupt” is left unanswered.

Thats when we need intelligent crawlers - ‘the users’. The users will scan the web pages they visit, give a meaningful description of the page and report updates. This is in turn will lead to semantic crawling and thus will lead to better search results. This needs to be aided with community moderation in order to avoid misuse and enhance the engine.