Wednesday, May 29, 2013

Diversity in the Linux Universe

Ubuntu has in recent months come under severe criticism over some of it's decisions with regards to the unity interface, Mir and last but not least, amazon search integration. Whether these decisions are right or wrong is a matter of perspective and I don't really want to get in to that at least not in this blog. I want to focus on the criticism that resources should not be wasted on re-inventing the wheel and that ubuntu should follow the community efforts. Progress is not made by conformance to old ways but in finding new and innovative ways.

One of the reasons I choose to use linux on a daily basis is because of its diversity, all the different flavors, configurations, options etc. It provides me with a plethora of choice, and if I don't like GNOME 3, I can change it to KDE or GNOME 2. When Ubuntu decided to build Unity, I was ecstatic, finally some fresh ideas, some new thinking, and yet another alternative but also skeptical. Although, I gave it a chance and have been loving it ever since. It works equally well on my 27" monitor as on my 11" netbook and gets better with every release.

So those who prefer a completely open source operating system have those options, those who want simple installations and ease of use have those options too, those who want a tiny operating system also have options and all within the Linux Universe. Diversity is wonderful, let us embrace and celebrate the diversity rather then inhibit it.........

Monday, May 27, 2013

Objects, objects everywhere.....

To a fish, water is everywhere and its whole world…….

I have spent my professional career developing software using object oriented development techniques, so when I started using Javascript the first thing I looked for was a way to express my objects. I looked for some kind of template/class syntax to define an object and declare it, but only found functions, variables, object instances and other language constructs. 

I constantly felt like objects were all around me and I just couldn't see them. Then suddenly like a slap to my face I awoke and could see them everywhere. So much so that in a web browser everything that you define is just an attribute of a global object, window

A name is not just a name, "function" is what created the confusion in my mind. I did not grasp that a function is the major expression of object oriented features in Javascript. Once I understood function = object, everything else just fell into place. 

Enough chat, how do we create these objects?

The simplest way is as follows

var myBlog = new Object();
myBlog.title = "Just Nonsense";
myBlog.author = "Da Doodler";

Each property of the object can contain any value, functions or objects.

You can also create objects using the object literal notation

var myBlog = {
    title: "Just Nonsense",
    author: "Da Doodler"
}

and then of course you can do the following as well

var myBlog = function blog(theTitle, theAuthor) {
    this.title = theTitle,
    this.author = theAuthor,
}

So many ways, so many choices, feel the liberation!!!

So just how object oriented is Javascript? Find out in the next episode....


Monday, May 20, 2013

Foray into the Javascript Universe


I have been developing software using static typed languages for 30+ years. However in recent years I have become very curious about dynamic, interpreted and untyped languages, so I dabbled a little with ruby, perl and javascript. They contained interesting concepts and they seemed like nice toys to play with. They provided powerful but yet quick and dirty ways of doing something in code.

As the web has developed over the last few years I began to see more and more javascript all over the internet and I can surely say it has become ubiquitous. 3 months ago I started a project for a client which motivated my serious foray in to the javascript universe. I found a language which is small and simple but yet large and complicated. I found the javascript universe without much standards, weak development tools and weak debugging tools and yet infatuated with its dynamism and expressive powers.

I love it, I hate it, I cannot ignore it and I cannot stay away from it. I am drawn to it like a bee to a flower.....Over the next few months I will capture my adventure....Watch this space!!!!

Tuesday, May 14, 2013

I miss blue screens.....

I have been using a windows machine in my day to day coding activities for many many years and it has served me well. We understand each other in esoteric ways, we love each other, hate each other but always depend on each other. But 3 years ago, I shamefully cheated my companion.

All around me people that I knew and trusted were moving on to newer and flashier Apple Mac machines, and I simply felt left out. I felt old and tired and stubbornly stuck in the past. My resolve slowly weakened and waned. I finally gave in and purchased a flashy 27" iMac machine.

Wow! It was like a whirlwind romance which slowly grew into a devastating tornado. As time went on slowly but surely the spinning balls kept spinning and I was never sure wether I should wait or reboot. One fine day while being mesmerised by the colorful spinning ball, I realised what I had lost. I miss blue screens......I miss blue screens...they were final, there was no false hope, no illusion of something happening, it was simple, honest and to the point.....I miss blue screenss.....