Wednesday, October 17, 2012

New Revolutionized Git is here

The movement from centralized to distributed VCS is accelerating. Enterprises and tool vendors are catching on and catching up with what open-source developers have been doing for a while. And at the front of the parade is Git.

Version control used to occupy a sleepy corner of programming technology. After Subversion replaced CVS, it became the de facto VCS system for open-source projects and in small IT organizations. Large enterprises continued doing what they always did, which was to rely on larger packages such as Rational ClearCase and Perforce to handle the massive code bases and to enforce important constraints such as access rights, partial codebase visibility, and so forth.

The world stayed in this happy steady state until the 2004-2005 timeframe, when one of the preferred VCS vendors of the open-source community, Bitkeeper, decided to withdraw its free offering. This event prompted two developers on the Linux project to create competing distributed VCS (DVCS) systems: Git and Mercurial. Both products offered similar functionality. The notable enhancement they both offered was that they blurred the concept of a central master copy, they made it easy to create forks and branches, and to do merges. In sum, both products were ideal for open-source projects. Pretty soon, communities sprang up around each one: Bitbucket became the premier host for Mercurial, GitHub the leader in the Git market.

Each DVCS had marquee projects: Git had Linux, Mercurial had Mozilla, most of Sun’s OSS, and more recently, Google’s Go. The general perception was that, while they offered similar functionality, Git was not Windows-friendly, whereas Mercurial was.

Git eventually move squarely into first place, as the result of the great popularity of GitHub, the project-hosting site that offered many free services attractive to OSS projects. It built a strong community, which BitKeeper — its Mercurial counterpart — could not match. (The GitHub-Bitkeeper competition is back in play as a result of BitKeeper now supporting Git in addition to Mercurial. BitKeeper also provides one attractive feature missing from GitHub: unlimited free private repositories.)

Even Mercurial advocates admit that Git is now the unquestioned DVCS champion. But most of them see no need to migrate from Mercurial. However, migration from pre-DVCS systems is indeed the order of the day. Our lead feature this week describes how Atlassian moved the codebase for its JIRA product from Subversion to Git. The net effect of the move was that Atlassian is able to release more often because its workflows were improved in ways that would have been very difficult to do with Subversion. The details of the specific benefits and the challenges of the migration are all spelled out in the article.

For large enterprises, Git has some limitations that need attention. And indeed traditional tool vendors are starting to provide the missing pieces. For example, Git repositories become unwieldy once they cross 1GB in size. GitHub strongly encourages customers to break up their repositories into sub-repositories to keep each one under the 1GB threshold. However, for large codebases, 1GB is a small number. To address this, Perforce has just released a Git front-end to their well-known VCS, which is distributed and routinely handles codebases in the 10s and 100s of GBs. (By the way, Perforce offers their VCS with the Git front-end free to teams of up to 20 developers.)

Managing Git is another issue for which tools are beginning to appear. For example, Atlassian just released Stash, which helps sites run Git behind the firewall. It provides management tools as well as features such as fine-grained access control. (Forking a project is fine in OSS, not so fine within the enterprise!) The latter is particularly important for outsourced work, where you want developers to access only the portion of the code they need to see for their work.

A final issue being tackled by vendors is that the DVCS model muddles the concept of the golden master, which is a primary architectural feature of the centralized VCS model. Many organizations are not comfortable with the uncertainty around this point, and so tool vendors are providing a cross-over kind of model where the concept of golden master is maintained, but the remaining benefits of the DVCS model are installed and enjoyed.

In much the same way Subversion cleared out all the old CVS-based projects, Git will do the same to Subversion. How Mercurial fares in that scenario is hard to tell. Either way, though, the DVCS revolution is here to stay.

Lavastorm Analytics Joins the Power of R Programming with its Visual Analytic Modeling Products

New R Analytics Pack Allows Business Analysts and R Programmers to Rapidly Combine Statistical and Predictive Analytic Models with Broader Business Intelligence Programs

BOSTON — Lavastorm Analytics, a leading global analytics software company, announced today that the award-winning Lavastorm Analytics Platform and its core Lavastorm Analytics Engine can now directly support statistical and predictive data analytics models written using the open source R programming language. The support comes via the new R Analytics Pack in the Lavastorm Analytics Library that allows enterprises to directly integrate analytics written in R into broader business intelligence (BI) and business data analytics applications using Lavastorm’s drag-and-drop visual discovery interface.

As enterprises increasingly add functions like linear regressions, clustering, and financial modeling to their ongoing analytics programs to become more agile, data-driven businesses, the use of R language-based analytics is rapidly rising. The new R Analytics Pack brings the full capabilities of the Lavastorm Analytics Engine to R programmers, including the ability for them to bring together disparate data, and profile, inspect, and cleanse the data themselves. In addition, the R Analytics Pack extends the Lavastorm Analytics Engine’s core functionality and enables business analysts to perform more statistical, financial, and predictive analyses in tandem with traditional business process analytics to optimize key functions like competitive pricing and customer churn avoidance.

“R-based statistical analyses have emerged as a highly popular language for analyzing cross-functional business processes and a critical tool for complex, Big Data analytics,” said Carl Lehmann, Research Manager, Enterprise Architecture, Integration and Business Process Management at 451 Research. “The trend now is to make investments in R-based analytics more accessible to business analysts, not just the programmers that created them, so that the analytics can be more broadly used across the business to analyze and control various operations, and Lavastorm’s unique visual interface will help this greatly.”

In addition to broadening enterprises’ BI abilities, using the R Pack within the Lavastorm Analytics Engine allows users to quickly and easily turn complex R-based programming code into reusable analytic building-blocks. Lavastorm users can store their R analytics in pre-configured, drag-and-drop functions that can then be deployed with a single click of the mouse to perform customized and persistent analysis of specific business processes.

“R’s emergence has been a natural extension of the explosive rise in use of analytics to optimize business performance,” said Drew Rockwell, CEO, Lavastorm Analytics. “It provides extremely powerful computation functionality, and is designed to be extensible through community-driven libraries like our own Lavastorm Analytics Library. But the ability to connect R’s benefits to broader BI practices has left something to be desired. Our new R Analytics Pack not only extends the Lavastorm platform to encompass completely new types of analyses through R, but also makes R’s unique abilities truly accessible to business analysts. This will be invaluable for enterprises grappling with Big Data challenges.”

The release of the R Analytics Pack follows Lavastorm’s launch of the Enhanced Analytics Pack earlier this year, and furthers the company’s modular approach to introducing new analytic and data integration functions to the Lavastorm Analytics Library. The new R Analytics Pack, replete with training video, is available immediately for use via the Lavastorm Analytics Engine, which has proven capable of performing analytics of complex business data and processes up to 90 percent faster than SQL-based tools.

Wednesday, October 3, 2012

#TypeScript: New Programming Language by Microsoft

Download TypeScript Application-scale release of cross-platform JavaScript language

Microsoft released a new open source, standards-based, general-purpose programming language that extends the capabilities of JavaScript. TypeScript has been unveiled by Soma Somasegar, corporate vice president of the developer division at Microsoft, and described as a means of writing cross-platform JavaScript to run in any browser on any device running standard JavaScript.

As an "application scale" offering, Microsoft says that the release of TypeScript comes in direct response to the challenge of creating larger-scale JavaScript applications.

NOTE: In search of a definition for what constitutes a "large-scale" JavaScript application, developer programs engineer at Google Addy Osmani writes, "In my view, large-scale JavaScript apps are non-trivial applications requiring significant developer effort to maintain, where most heavy lifting of data manipulation and display falls to the browser."

In terms of form and function, TypeScript uses the same JavaScript syntax and semantics. It compiles to clean, standard, broadly compatible JavaScript. TypeScript starts and ends as JavaScript, adding only what is needed for large-scale web client applications to the JavaScript standard, so developers will be able to reuse existing JavaScript.

Microsoft is also releasing a TypeScript for Visual Studio 2012 plugin that the firm hopes will improve developers' experiences with the tooling and further help address the challenge of building large-scale JavaScript applications. The TypeScript plugin provides developers with code navigation, refactoring, static error messages, and IntelliSense.

Somasegar says that JavaScript was originally designed to be a client-side scripting language for web pages: "For many years it was limited to event handlers that scripted a Document Object Model (DOM). As a result, JavaScript is missing many of the features necessary to be able to productively write and maintain large-scale applications, namely those that create distinct contracts between components and developers."

"TypeScript is a superset of JavaScript that combines type checking and static analysis, explicit interfaces, and best practices into a single language and compiler. By building on JavaScript, TypeScript keeps you close to the runtime you're targeting while adding only the syntactic sugar necessary to support large applications and large teams. Importantly, TypeScript enables great tooling experiences for JavaScript development, like those we've built for .NET and C++ and continue to innovate on with projects like "Roslyn". This is true whether you're writing client-side JavaScript to run on Windows, Internet Explorer, and other browsers and operating systems, or whether you're writing server-side JavaScript to run on Windows Azure and other servers and clouds," said Somasegar.

As stated, TypeScript is open source and the compiler is available under the Apache 2.0 license on CodePlex, Microsoft's free open source project-hosting site.

An Open Source Dyslexic Font

Programmers seem to be prone to dyslexia, or is it that dyslexics are prone to programming? Whatever the cause, an open source dyslexic font is welcome news. FONT

Now we have an open source font that claims to be dyslexic friendly. It is a modification of the Bitstream Vera font to give each letter a "heavy bottom". The font has been made by Abelardo Gonzalez, a New Hampshire-based app designer, who released his designs onto the web at the end of last year. Since then the Creative Commons licensed font has been downloaded more than 12,000 times, which isn't a lot, but it also has been built into a number of applications - WordSmith, the openWeb browser, various e-readers and now Instapaper.
The idea of the "heavy bottoms" is that it makes each letter less symmetrical in and adds "gravity" so that you can't rotate the letters. The letter shapes are also supposed to stop flipping e.g. p to q and b to d for example.

The only problem with this really great idea, and it is difficult to criticize any noble cause, is that it hasn't been tested. There are some personal commendations from dyslexics on the site and there is a plan for a specialist school to test the font in the future but at the moment you have to look at it and decide for yourself if it works.

The heavy bottoms remind me of a failing old mechanical typewriter where the tops of the letters are fading out because of broken mechanism or drying out ribbon. Overall, it was a relief to get back to a standard font and certainly wouldn't want to use the dyslexic for coding.
But this is a personal opinion and dyslexia is as varied a problem as you can find. The best thing is to try it out.