27 April 2013

Let's Go Programming

Go is an evolutionary programming approach in which programmers can be more productive in making use of multicores and in process having more control and flexibility for concurrency. It is a language that has a mixture of both Java and C. Aspects of garbage collection are notable. The language even signifies less in coding lines compared to Java's verbosity. It feels like an interpreted language in dynamic mode and yet is compiled with static typing. It transcends what a lot of people would want in terms processing big data and working with intelligent algorithms. A programmer with the comparative speeds of C to the clean modularity, concurrency, and garbage collection structures of Java could only mean more productivity. Although, it can be also noted that Go is not as fast as either Java or C in benchmarks yet. However, the aspect of utilizing multicores makes for less of a wastage in a cloud computing environment. Where there is simplicity required, rapid prototyping for delivery, and less of an overshadowing engineering cycle, Go could be quite a suitable language. Go is still very new and does not facilitate much integration with other languages. It also does not seem to have the flexibility of rich open libraries yet like Java. However, in time as for all languages, new releases and community insights would add further to the road map. Go certainly seems like a promising language for the future prototyping. Perhaps, not just yet production ready.

A good reading guide to get started:

22 April 2013

The Ultimate Web API

The use of APIs have been around for decades from web, desktops, to mobiles, and everywhere from software to hardware. They are ubiquitous and pretty much everywhere these days. No doubt even the microwave and the washing machine uses some form of an API or a stack of APIs. Now as a result of REST and HTTP as well as cloud computing even more APIs have started to flourish. The value in an API depends on the usability and scalability of its design. Badly developed APIs are unnaturally designed and cause grief to developers both consumers and providers. Consuming applications often times built as mashups rely on such APIs to provide access to resources and with badly mapped functions and parameters it can impinge on quality of the application as a whole. One can explore a behemoth of APIs on the programmableweb. API development is a craft and an art which one can really only get right from exploring, learning and experience in understanding both the application as well as its users. Below are a few useful books for API design.

20 April 2013

Open Source Licenses

For the uninitiated and even for experienced developers software licenses can be a tricky terrain to walk on. Often times even leaving lawyers a bit misguided. There also are so many to choose from dictating different levels of propensity for open source. How does one decide on what open source software to use or even what open source license to apply to their own software? And, this process seems to be getting more and more complicated as more and more open source software is released on the web which eventually has a sponsored or commercial backing. For so many businesses certain licenses like LGPL can mean a very tricky territory. The following link attempts to bring a lot of clarity to the community license process.

open source initiative

Why Dart Will Never Replace JavaScript

Dart is a new type of client-side programming language to compete or potentially replace JavaScript. And, as I snicker with doubt on the prospect of any language on client-side trying to replace the dominance of JavaScript and the potential culpable replacements, I can only hazard at how miserably they will fail. Along came VBScript and with a quick demise. Henceforth, a new language has developed and entered the periphery called Dart. This language has been under the auspicious development at Google. The developers at Google have even admitted and rejected the idea of Dart as a replacement for JavaScript. Well, what are the goals of such a new language in prospect.

"Create a structured yet flexible programming language for the web". Aren't there already plenty of structured and flexible programming languages out there for the web? 

"Make Dart feel familiar and natural to programmers and thus easy to learn" If that is the case then isn't it always a drag to learn a new language? If the language is so familiar why not improve on the existing languages that programmers are so familiar with and put effort in improving them with the open source community? 

"Make Dart appropriate for the full range of devices". If it is such a fragmented market for mobiles, why fragment it further by creating another language? Going further, why setup separate tools just to support another language on a platform. It seems to me more like a wasted effort towards attaining simplicity by making things more complicated. 

"Provide tools that make Dart run fast across all major modern browsers". Here again it seems just to support the language there has to be so many other tools to develop around it. Further complexity and fragmentation. 

Dart appears to also be a replacement to GWT. Some of the developers on GWT project migrated to the Dart project. It seems like to improve the scripting one will obviously need to access JavaScript from time to time even while using Dart. If one already knows JavaScript, why create another layer of compiler complexity. JavaScript is almost ubiquitous and everywhere, even with its undulating quirks. It can be found on desktops, web, to mobile devices. Anyone, that tries to even hinder at the prospect of replacing such a language would need to convince the world about such an action for which adoption will be extremely slow perhaps even openly rejected by many. As the HTML5 emerges so has the mere importance of JavaScript and the many libraries that are brewing over the web. HTML5 has even relegated Flash/ActionScript to a certain degree especially for the mobile. Almost all web browsers support JavaScript today. Although, Google can be applauded for the continuous effort towards innovation and rediscovery. One cannot but wonder whether Dart will also be another Google project brushed aside by the large open community and business decision eventually meaning its demise.

6 April 2013

Python vs Ruby vs PHP

Programming Language wars have been going on for decades. And, yet when one searches the web they still continue comparing and contrasting through the vast array of their unique uses and externally distilled libraries. Each of them has a personality and a drive of their own with their own passionate community. But, as often functionality and speed to delivery precede the developers choice. As they say time is money but in this era of cloud computing and data consumption it is also about the wise language choice within the infrastructure verses the compromises that may come within the long-term maintenance risk. Often times the skills of the team, the open community, the customers, and the functionality of the application dictate the use of language. As the web continues to evolve around us so do the technology drivers that make it all happen.

30 March 2013

Django Unchained

Django Unchained is effervescent in brutality and the inescapable truths of the slavery past on the lands of the American south. Each individual character had a unique sense of personality imprinted in their story lines and this provided for a very unique and dynamic aspect to the movie. The characterizations are explored in a neo-noir perspective bringing together the nonlinear story lines, satirical imposition, and the stylistic sense of violence.  Perhaps, the astounding aspect in movie can be explored from the camouflaged surrealism brought about from background music and the depiction of scenes that often seems to implode in ones face via crazy and archetypal gun violence. The rescue of two married lovers and their reunion is also explored in the atypical plot lines.  One of the most unique characters is that of Stephen and the relationship between him and Candie. The movie displays that even black on black slavery brutality existed in past. It is in a way a bit of a conundrum the way the character of Stephen is portrayed in the movie. It is also an unfathomable truth that as the bounty hunter, after rescuing his wife, heads out into the yonder with his certificate of freedom in hand, perhaps his days are numbered till he is caught on the other side for the destruction of CandyLand and at a time when slavery may have been nearing its end.  

11 March 2013

House of Cards TV Series

House of Cards is all about watching Kevin Spacey (Frank Underwood) as the usual suspect in a political intrigue drama. The sequence of events all emerging through dynamic political upheaval, intertwined with political events,  and corresponding to divisive character positions all in juxtaposition with one key character being Frank Underwood. Only in season 1 it has already become a well received tv series. Perhaps, the awe inspiring acting of Kevin Spacey makes all the difference in the quality of the drama. The political lies, the uncovering of truth and deception, and the multitude of events that transpire often times linked with Frank Underwood provide for a captivating drama. As the episodes unfold so does the deceptive and conniving plot lines of Frank.


24 TV Series

Although, 24 has been around for a while now since 2001 and with 8 seasons in merit it remains a diabolical masterpiece of intrigue, drama, and suspense. Each season, giving rise to a new story within the transitions of 24 episodes of counter terrorism. The uncompromising and limitless acting of Kiefer Sutherland in each episode emerges into an electrifying and engrossing experience for the viewer.  Even the substandard acting in some of the characters does not disuage the realization of suspense that is delivered through Jack Bauer. I spent almost 8 weeks going through each season with open surround sound. It is a pity that it came to such an end after season 8. The episodes almost seemed like they were mini movies of their own entirety. Strangely enough, I found the character of the President Charles Logan in the season 5 and 6 very annoying and a real drag to watch. The intense and often artfully coordinated rescue scenes to the almost realistic torture sequences all appeared very indulging to watch. There have been plenty of crime dramas around focusing on law, politics, to forensic investigations. However, 24 remains an immense series of the past and potentially influencing many of the present and future.