Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

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.

Tuesday, September 18, 2012

9 key career issues for the software developer


The path from birth to death is filled with choices about where to work and what kind of work to do. Sometimes the world is nice enough to allow us some input. These days, developers have a lot more say in their employment, thanks to rising demand for their services.



Whether you’re an independent contractor or a cubicle loyalist with a wandering eye, programming want ads abound, each stirring its own set of questions about how best to steer your career. For some, this is entirely new territory, having fallen into employment with computers simply as a means to scratch an itch.
The following nine concerns are central to charting your career path. Some target the résumé. Others offer opportunities for career growth in themselves. Then there are questions of how to navigate unfortunate employment issues particular to IT. Thinking about your answers to these questions is more than a way of preparing for when someone comes to ask them. It is the first step in making the most of your interests and skills.

Will certification give you an edge? A common dilemma facing career-minded developers is how much attention to pay to certification. After all, employers always want to determine if you really know what you claim to know, and tech companies are always stepping forward with certificate programmes to help them.
The programmes are aimed at teaching a given technology, then testing your competence with what was taught. They focus on practical solutions, not theoretical conundrums like most university courses. Thus, they appeal to companies looking to vet candidates in their ability to deliver real-world solutions.
The key question for developers, though, is whether there’s any real demand for a particular certificate. Most cutting-edge technologies are too new to be testable, so employers look for other evidence of ability. The real market for certification will always be in bedrock tools like running an Oracle database or maintaining a fleet of Microsoft boxes. Companies that depend on Oracle or Microsoft will usually pay extra for people who’ve already demonstrated a skill. When your certification and the employer’s needs align, everyone is happy.

But developers need to choose carefully. Preparing for exams takes a fair amount of time, and the questions often test trivial knowledge — the kind usually provided by automatic tools built into today’s powerful editors.

Certificates often have a limited window of usefulness as well. Being an expert on Windows XP was great 10 years ago, but it won’t help much today — unless the company is sticking with XP until the bitter end. You can often find yourself getting certified in versions 1.0, 1.1, 1.2 of a product.

What is the true value of a computer science degree? If it’s hard to discern whether a professional certificate for a particular technology is worth earning, it’s almost impossible to decide whether to invest in traditional collegiate degrees. All it takes is one look at leaders like Steve Jobs, Michael Dell, Bill Gates, or Mark Zuckerberg to know that a bachelor’s degree is not a prerequisite for changing the world.

But traditions die hard. Some companies simply insist on a bachelor’s or even a master’s degree because it’s an easy way to cut their pile of résumés, or offers a measure of some intangible quality like a deep interest and versatility in working with computers. Whatever the reason, a significant number of people continue to believe that a sheepskin is essential, so developers with an eye on the want ads encounter the dilemma to stock up on diplomas time and again.

The practical value of a collegiate degree is controversial. Some find the typical university curriculum too focused on theoretical questions about algorithms to be a meaningful benchmark in the workplace. The professors are more interested in wondering whether the running time can be predicted with a polynomial or an exponential function.

Others believe that this abstract understanding of algorithms and data structures is essential for doing a good job with new challenges. Languages come and go, but a deep understanding lasts until we retire.

Should you specialise or go broad when it comes to programming languages? A good developer can program in any language because the languages are all just if-then-else statements wrapped together with clever features for reusability. But every developer ends up having a favourite language with a set of idioms and common constructs that are burned into the brain.

The challenge is to choose the best one for the marketplace. The most demand will be for languages that form the foundation of the big stacks. Java, C++, PHP, and JavaScript are always good choices.

But the newer languages are often seductive. Not only do they solve the problems that have been driving us nuts about older languages, but no one has managed to articulate the new aggravations they offer.

Employers are often as torn as developers when it comes to committing to a new language. On one hand, they love the promise that a new programming language will sweep away old problems, but they’re also prudent to be sceptical of fads. A technology commitment could span decades, and they must choose wisely to avoid being shackled with a onetime flashy language that no one knows any more.

For developers, the best position is often to obtain expertise in a language with exploding demand. Before the iPhone came out, Objective-C was a fading language used to write native applications for the Mac. Then things changed and demand for Objective-C soared. The gamble for every developer is whether the new FooBar language is going to fade away or explode.

Should you contribute to open source projects? The classic stereotype of open source projects is that they’re put together by unkempt purists who turn up their nose at anything to do with money. This stereotype is quickly fading as people are learning that experience with major open source projects can be a valuable calling card and even a career unto itself.

The most obvious advantage to working on an open source project is that you can share your code with a potential employer. If you’ve achieved committer status, it shows you work well enough with others and know how to contribute to an ongoing project. Those are valuable skills that many programmers never develop.

Some of the most popular open source projects are now part of enterprise stacks, so companies are increasingly looking for developers who are part of the community built around the open source projects on which their stack depends. One manager at a major server company told me he couldn’t afford to hire Linus Torvalds, but he needed Linux expertise. He watched the Linux project and hired people who knew Linus Torvalds. If the email lists showed an interaction between Torvalds and the developer, the manager picked up the phone.

Many open source projects require support, and providing this can be a side job that leads to a full-time career. Companies often find it much cheaper to adopt an open source technology and hire a few support consultants to make it all work, rather than go proprietary.

Savvy programmers are also investing early in open source projects by contributing code. They can work on cutting-edge open source projects on the side just because they’re cool. If the project turns into the next Hadoop, Lucene, or Linux, they’ll be able to turn that experimentation into a job and, quite possibly, a long-lasting career.

How do you work around ageism?                                                                                                                                                                                        
What does every tech recruiter want? An unmarried 21-year-old new graduate of a top computer science institution ready to work long hours and create great things. What about a 22-year-old with a year of experience? Uh. Maybe. Perhaps. Are there any 21-year-olds available?

One of the great, often unspoken, rules of the programming world is that managers have very narrow ideas of the right age for a job. It’s not that managers want to discriminate, and it’s not that humans want to change as they get older — but they do. So everyone clings to stereotypes even if they’re against the law.

This is often most obvious in the hypercompetitive world of tech startups, where the attitude is like the NBA. If you got stuck finishing your degree, you’re obviously not special enough. This world prizes people who spend long hours doing obsessive things. They like youth, and it’s not uncommon to hear venture capitalists toss aside anyone who’s not a younger 20-something.

The good news for programmers is that some employers favour older, more mature people who’ve learned a thing or two about working well with others. These aren’t the slick jobs in the startup world that get all the press, but they are often well-paying and satisfying.

The savviest programmers learn to size themselves up against the competition. Some jobs are targeted at insanely dedicated people who will stay up all night coding, and older programmers with new families shouldn’t bother to compete for them. Others require experienced creatures, and young “rock star” developers shouldn’t try to talk their way into jobs with bosses who want stable, not blazing and amazing.
How much does location matter? If you’re young and willing to pack everything you own into the back of your car and move on, the only thing that’s important about the location of a job is whether you like the burrito place next door. Good food and pleasant surroundings is all that matters.

But where to seek your next job becomes a trickier question when you can’t pack up your car in 10 minutes. If you have a family or another reason that makes a nomadic coding life difficult to impossible, you have to think about the long-term stability of a region before committing to a new employer.

Many programmers in Silicon Valley move successfully from startup to startup. If one doesn’t work out, there’s another being formed this minute. There’s plenty of work in different firms, and that makes it easy to find new challenges, as we’re taught to say.

This may be the major reason that some firms have trouble attracting talent to regions where there’s only one dominant player. If you move to Oregon or Washington and the job doesn’t work out, you could be moving again.

Can you choose a niche to avoid the offshoring ax? Lately many programmers have begun to specialise in particular layers. Some are user interface geniuses who specialise in making the user experience simultaneously simple and powerful. Others understand sharding and big data.

The growth potential of a career in a certain layer of the stack should always be considered, in particular in relation to its vulnerability to offshoring. Some suggest that user interfaces are culture-dependent, thereby insulating user interface jockeys from offshoring pressure. Others think it’s better to pick the next big wave like big data warehouses because a rising tide lifts all boats.

While change is a constant in IT, it may not be practical to jump on every wave. If you have terrible aesthetic judgment, you shouldn’t try to be a user interface rock star. Nor does it make much sense to try to sell yourself as a big data genius if you find a statistics textbook to be confusing. There are limits to how much you can steer your career, but there are ways to play a new wave to your strengths — and to make yourself immune to offshoring.

Should you strike out on your own? An increasingly common career dilemma is whether to stay full-time or switch to being a contractor. Many companies, especially the bigger ones, are happy to work with independent contractors because it simplifies their long-term planning, allowing them to take on projects without raising the ire of executives who sit around talking about head count.

The biggest practical difference is figuring out health insurance and pension benefits. An independent contractor usually handles them on their own. Some find it to be a pain, but others like the continuity they get by keeping the same independent health insurance or pension plan when they switch contracts.

Another big difference is in what you like to do. Regular employees are often curators and caretakers who are responsible for keeping everything running. Contractors are usually builders and problem solvers who are brought in as needed. Those aren’t absolute rules, but for the most part, those who stick around get saddled with maintenance.

Because of this, contractors are often free to specialize in particular technologies, while employees end up specialising in keeping the company running. Both may sell themselves as experts in Oracle or Microsoft or Lucene, but employees are the ones tasked to get a project up and running because the boss needs it by next Friday.

Depending on the culture of the employer, this could mean broad experimentation for full-time employees or an increased likelihood of tending outdated enterprise software far longer than anyone might want.
Is there work beyond tech? Most programmers often forget there are many jobs for programmers in companies that have little to do with technology. It’s easy to assume that programmers will always work in tech.

The smart programmer should realise that choosing a nontech employer provides unique career opportunities. These days almost every company requires computer-savvy employees and a strategy for making the most of computer systems. Sales forces need software for tracking leads. Warehouses need software for tracking goods. More often than not, someone has to customise these solutions to suit the needs of the business.

Understanding a company’s business and technology is one of the best defences against outsourcing. Knowledge about many of the popular tools often becomes commoditised, and that often means competing with programmers overseas with much lower costs. But knowledge of two (or more) different realms is not a commodity, and it’s hard to replace.

Smart companies will often create managerial tracks for technology specialists if it’s clear that technology will be a key part of its future. A company with a heavily computerised warehouse would be a great management opportunity for technologists because the software development the company does in the future will be a big part of their future strategy. Tech specialists can often play key roles in nontech companies.

The key question is how willing you are to learn the business, whatever it may be. If you just want to talk about pointers and data structures, stick with the tech company. But if you are naturally curious about warehouse design and have always had a thing for other aspects of business beyond IT, recognise that computer-savvy people are much in demand in other sectors as well.

Wednesday, July 4, 2012

Open Source a $1 Billion Business, But Just Beginning


Speaking at the opening of Red Hat Summit 2012 to a gathering of more than 3,000 people, Whitehurst began by looking backward, almost to the dawn of human history, to the invention of agriculture as the first industry as a collective endeavor by human beings to extract value from the land. From that time until the birth of the industrial revolution, he says, humans primarily generated value directly from a single physical asset: land. Around 1750 the industrial revolution began to alter that model as the machines humans created to extract value from the land became the primary source of value.

But it was nearly 60 years into the industrial revolution when innovation exploded at an unprecedented scale, and Whitehurst points to the invention of the screw-turning lathe as a direct factor. Humans had automated the process of creating fasteners. Those fasteners were driven by screwdrivers, and more important, he says, is that any screwdriver works with any screw (various head shapes not withstanding) no matter who manufactured them.

"Sixty years after the dawn of the industrial revolution, we finally got standardized piece parts," he says. "That standardization was critical to driving the next wave of innovation in the industrial revolution."
"If nuts and bolts at the time had been patentable, if you had to buy your screwdriver from the same company from which you bought your screws, the jet engine would not exist today," he adds. "The internal combustion engine wouldn't exist without standardized parts. The airplane wouldn't exist without the internal combustion engine."

And now, 60 years after the birth of the information age in which value has once again shifted from industrial assets to the underlying information assets, we are seeing a new form of componetization take hold.
"Sixty years after the invention of the computer, we are finally getting to standardized, componentized piece parts, which is cloud computing," he says. "It's so critical to driving the next wave of computing."
One of the core things cloud does is implode transaction costs, as the barriers to moving digital information from producers to consumers disappear. For some companies, that is a bad thing: He points to an image of a forlorn looking BlockBuster store with empty shelves. But while the change is painful for some, the combination of standardization, componetization and imploding transaction costs is the recipe for innovation, he says.

"We're seeing that in IT," he notes. He adds that venture capitalists who fund enterprise IT often speak to him of start-ups, saying, "These guys don't need more money anymore. They're just building the thing, putting it up on Amazon as software as a service&the cost of going to market has fundamentally changed."
But while open source is here and the default choice for many new projects, Whitehurst says the community must continue to push the frontiers of open source if the explosion of innovation is to continue.
"The decisions that you make, that we all make, that IT in general makes overt he next several years-are we going to have truly open architectures or will we just create the next Microsoft-is something that will be decided in the next several years," he says. "It's a battle we're going to have to continue to fight over the next several years."

Friday, June 15, 2012

Open Source PHP and Ruby on Rails Updated for Security


Busy week of patching continues as programming languages and frameworks get patched for security vulnerabilities.

This week has been a particularly busy one for IT professionals with Java and Microsoft updates. While those updates were mostly client side patches, server administrators aren't off the hook. The Ruby on Rails framework and PHP language both issued security updates this week addressing multiple vulnerabilities.

PHP 5.4.4 and PHP 5.3.14
PHP is a widely deployed open source language on web servers. According to a recent survey by w3techs, PHP is used by 78 percent of known websites, including major Internet properties like Facebook, Wikipedia and Wordpress.com

The two security flaws fixed in PHP 5.4.4 and PHP 5.3.14 are related to each other and could potentially enable an attacker to execute arbitrary code. The primary flaw, identified as CVE-2012-2143 is a security issue with the DES (Data Encryption Standard)implementation found within the PHP "crypt()" function.

A Red Hat bugzilla report on the flaw by developer Jan Lieskovsky, notes that the flaw was found in the way DES and extended DES based crypt() password encryption function performed encryption of certain keys. The flaw is that certain keys were truncated before being DES digested, which could potentially have enabled an authentication bypass.

The second flaw identified as CVE-2012-2386, is a vulnerability within the PHP phar extension. Phar enables entire PHP applications to be placed into a PHP Archive (phar) file.

"The vulnerability is caused due to an integer overflow error within the phar extension in the "phar_parse_tarfile()" function (ext/phar/tar.c) and can be exploited to cause a heap-based buffer overflow via a specially crafted TAR file," Security firm Secunia stated in its advisory.

Secunia warned that successful exploitation of the Phar vulnerability may allow execution of arbitrary code.

Ruby on Rails
Ruby on Rails (Rails) is a popular open source web framework, that powers many popular sites, including Github. Githubwas exposed as being at risk in March due to Rails vulnerability that has since been patched.

Rails 3.2.6 is now being patched for a pair of new vulnerabilities that could leave users at risk. CVE-2012-2694 details a Ruby on Rails Unsafe Query Generation Risk in Ruby on Rails risk while CVE-2012-2695 defines a Ruby on Rails SQL Injection vulnerability.

"Input passed to the Active Record interface via nested query parameters is not properly sanitised before being used in SQL queries," Secunia wrote in its advisory. "This can be exploited to manipulate SQL queries by injecting arbitrary SQL code."

Friday, May 25, 2012

Will Microsoft dive into Open Source Ecosystem?


Microsoft has come a long way in its acceptance of open source. And its motto doesn’t seem to be (this time) to embrace and extinguish.

The Microsoft watching will go on. A few illustrious members of the worldwide Microsoft community to share their insights via guest posts on a variety of topics — from Windows Phone, to Hyper-V. Today’s entry is all about Microsoft and open source and is authored by Richard Turner.

Microsoft is increasingly warming to open source. Not only is the company increasingly publishing open-source projects of its own, it’s also developing major parts of its web/cloud infrastructure in the open and is also supporting a variety of external open-source projects. This is great news, but it’s taken a long time and a considerable amount of hard work and damage-repair to make it happen.

Microsoft’s stance on open source began to thaw during the 2000’s as the company grew-up and learned more about open source and how it can significantly benefit all of us.

It would be constructive to share examples that illustrate that Microsoft (and its ecosystem) are serious about mending fences, supporting external open-source projects and opening up development teams and projects.

Here’s the top 10 list:
1. Encouraging the Open Source Ecosystem
The Windows and .NET development community is exploding with home-grown .NET open-source projects and initiatives. Everything from IoC/DI containers such as Ninject, AutoFac, Castle Windsor and StructureMap to testing tools like nUnit. From NOSQL document stores like (the utterly awesome) RavenDB to powerful Content Management Systems (CMS) like Orchard and Umbraco. And let’s not forget IronPython, IronRuby and F# that Microsoft nurtured before transitioning to community ownership in 2010.

These are just a tiny subset of the amazing range of open-source projects built specifically for (or supporting) the .NET/Windows platform.

2. Wheel-Reinventing Reduced
One of the biggest criticisms many have had of Microsoft is its insistence in building its own version of technologies that already exist in the open-source world.

It came as a pleasant surprise, therefore, when Microsoft shipped ASP.NET MVC 3.0 with jQuery and Modernizr included. This was a big step forward (and was the result of a HUGE amount of effort internally) and marked one of the first times Microsoft shipped a major product containing open-source code. In ASP.NET 4.0, Microsoft is continuing the adoption of open-source projects by including jQuery Mobile & JSON.NET.

3. Facilitating With NuGet Package Manager
Almost every active open-source development ecosystem has seen huge growth in the number of open-source utility libraries made available by “package managers” such as Ruby’s Gems, node’s npm, etc. These package managers allow developers to simply type, for example, “npm install express” and the express library will be downloaded and installed into the user’s current project/system.

A package management tool was missing from the Windows/.NET developer’s toolbox until a skunk-works team at Microsoft created NuGet – a package manager for .NET developers. NuGet and its accompanying site, gallery and package feed were adopted by the Outercurve Foundation in October 2010 and is now maintained by the NuGet team and the community. The NuGet gallery currently contains almost 6000 packages including jQuery, Modernizr, JSON.NET, ELMAH, log4net, Ninject, and the vast majority of the libraries most useful to .NET developers.

While many other open-source communities would scoff at “only 6000” packages being available, it’s important to note that the project count is increasing rapidly and that the proportion of really useful packages to frivolous and/or repetitive packages is very small. Let’s hope it stays this way!

4. Making Windows a great platform for open-source
Many of the hottest open-source projects available today were originally built on Linux-based platforms and, as such, are welded to UNIX-style IO, file storage, process management and thread scheduling mechanisms. In order to run on Windows, such projects typically run under CygWin – a POSIX emulation infrastructure that allows most POSIX apps to run unchanged on Windows. While this is a pragmatic approach for non-performance-sensitive code, Cygwin often introduces a significant performance hit in high performance code.

This was the situation facing node – the blossoming asynchronous JavaScript engine – to run on Windows, it had to be run under CygWin, which impacted performance significantly. To solve this problem, Microsoft and Joyent (node’s primary sponsor & employer of Ryan Dahl - node’s creator) agreed to work together to make node run natively on Windows. The work to port node to Windows spawned LibUV – a library that provides a platform-abstraction layer allowing node (and any other open-source project) take full advantage of both *N*X and Windows’ async IO (and other platform dependent differences) with little effort.

In November 2011, Microsoft announced the first stable builds of node, using the new LibUV library, running natively on Windows. Simultaneously, Microsoft built IISNode allowing node to be hosted within IIS (Microsoft’s web server). The code for IISNode is hosted on GitHub and is free and open for all to see and/or modify should you wish to do so. And that’s not the end of the story: LibUV has turned out to be so useful that other open-source projects are now employing it to port their code to run natively on Windows.

5. Forking and Maintaining Ports
In a sign of increasing maturity in how it works with open-source communities, Microsoft has now begun (appropriately) forking and maintaining open-source projects: In November 2011, Antirez announced that Microsoft had provided patches to port Redis to run natively on Windows, using LibUV. While Antirez decided NOT to accept Microsoft’s patches into the Redis core (yet, for reasons he articulated in the post linked to above), he encouraged Microsoft to create their own Windows fork of Redis. Microsoft worked with others in the community to create a Windows fork of Redis which became the first project officially published by the newly formed Microsoft Open Technologies Inc. subsidiary formed in 2012 and is run by Jean Paoli.

6. Supporting Apache, PHP and Ruby on Windows
In 2008, Microsoft began helping upgrade Apache and PHP significantly update their projects in order to support the newer and far more effective Visual C++ 2008 VC9 compiler. This work resulted in native builds of both the Apache web server and the PHP engine which consumed less RAM and performed much better than before.

In 2008, alongside the new and improved PHP, Microsoft also released support for FastCGI within IIS. This enabes IIS to reliably host non-threadsafe code such as PHP and Ruby, alongside .NET code and native IIS handlers and modules within the same website if required. This means that IIS can now safely and reliably host PHP-based websites and services including Wordpress, Drupal, Joomla, etc.

7. Supporting open-source platforms in Azure
At Mix09, Microsoft announced official support for PHP, Java and Ruby on Windows Azure.

Since Windows Azure Web Role instances are essentially Windows Server VM’s, this should come as no surprise since Microsoft had already released FastCGI support for IIS.

What this announcement introduced, however, was the fact that not only was Microsoft supporting PHP, Ruby and Java on Azure, but that they were also in the process of providing comprehensive API’s for each environment, allowing developers to access all of Azure’s service control & configuration capabilities, table, blob and queue storage, message-bus infrastructure, etc. from their preferred language/platform.
Then, in December 2011, after the work to port node to Windows was completed, Microsoft announced that node is now fully supported in the Windows Azure cloud platform, along with a node Azure SDK providing programmatic access to the Azure environment and storage and message-bus infrastructure.

8. Backing Hadoop
In late 2011, Microsoft and HortonWorks announced they were teaming-up to port Hadoop to Windows. This is a big deal; not only did Microsoft decide to plow effort and resources into porting Hadoop to Windows, they decided to abandon their own home-grown big-data solution in the process. Microsoft’s adoption of Hadoop can only result in good things – particularly to end-users who will be able to analyze colossal datasets using familiar tools such as Excel and PowerView.

9. Becoming A Top-20 Contributor To The Linux Kernel
In 2011, Microsoft became one of the top 20 contributors to the Linux kernel … the same Linux that CEO Steve Ballmer described as a “cancer” just over 10 years previously. My, how times change!

Microsoft’s contributions largely center around drivers they submitted to enable Linux to be hosted within Hyper-V – Microsoft’s OS virtualization technology. The drivers Microsoft submitted to the Linux kernel project provide a significant performance boost to Linux VMs’ storage, networking and video-subsystems.

10. Open Sourcing ASP.NET MVC4.0, WebAPI and Razor View Engine

Perhaps the biggest news related to Microsoft and open source came when Microsoft announced that:

ASP.NET 4.0 MVC, Web API and Razor View Engine would be made open-source
The ASP.NET team will consider accepting changes to ASP.NET submitted by the community
The ASP.NET team would continue development of ASP.NET “in the open”, submitting all future code changes into a public-facing GIT repository hosted by the Outercurve Foundation’s CodePlex site.
It clear that Microsoft has finally turned a corner and is now increasingly following a path towards greater acceptance and support for open-source. This is a GIGANTIC step forward.

Microsoft is leading by example and sending a strong message to their legions of developers that open-source need be feared no longer and that publishing open-source code benefits everyone. Hopefully, this will result in a gradual, but eventually sizable increase in the volume of high-quality, reusable code being made available as open-source for us all to enjoy, learn from, help improve and adopt.

Now, the time is Come. Welcome to the open-source world, Microsoft. Please Hop-On.

Visual Studio 11 Express Is Metro Only




Microsoft has finally demonstrated its corporate insanity for all to see. The next version of VS Express 11 will only produce Metro and not desktop apps - and it gets worse.

The Express range of development systems has been the standard route into programming under Windows for a good few years. They are cheap, i.e. free, and they are lightweight solutions that ease beginners into the full Visual Studio. They also support a lot of Windows based open source and startup projects that simply couldn't afford the full Visual Studio - not to mention educational use.

The current Express products, i.e. Express 2010, has a version for each of the current languages VB, C# and C++ and even one for web development.  The next generation of Express products will be much more limited with just three editions - Express 11, Express for Windows Phone and Express for Azure. The Express 11 IDE will support C++, C#, VB and JavaScript in one neat and easy-to-use package. This sounds great until you realize that this neat package only supports the creation of Metro applications.

There are no templates and no targets defined for the desktop.
As Metro apps only run on Windows 8 or Windows RT you can immediately see that Express 11 is only of use if you have upgraded to Windows 8/RT and if you only want to create Metro apps.
Microsoft suggest that if you want to create a desktop app then you simply keep on using one of the Express 2010 editions.

You might think at first look that this is very reasonable. After all, it is Metro that is new and needs the new environment to allow programmers to create the new apps. However, the message that this sends is now clear despite the way that Microsoft's blogs do their best to discuss any other issues but the one's that really matter.
The fact that Express 11 will only target Metro apps is a clear statement that the desktop is legacy.

If you are planning your next project and don't want to buy the full Visual Studio to get started you have the choice of going Metro with the current generation of IDE or you can use 2010 - which isn't even last year's product.

The message is that the desktop has no future in the same way that the 2010 Express family has no future.

You can see how this fits into Microsoft's stragety to sweep the old aside and replace it with something new. It used similar techniques when introducing .NET. Instead of giving programmers a choice of using classic VB 6 they simply dropped VB 6 and forced the upgrade to the incompatible VB .NET.

Now it seems to be .NET's turn to be dropped.

If you want to develop a .NET app then you need to stick with Express 2010 and don't even think about going forward with new editions. To stay current you have no choice but to convert your apps to Metro.

The bigger picture is even more confused, but it demonstrates what a suicidal path Microsoft is on. Earlier this week the Kinect 1.5 SDK was launched with lots of .NET code and facilities including XNA and WPF 3D graphics. Before Metro the Microsoft development universe was split into .NET/managed code and C++/COM. Now it is split three ways and there is no accommodation between the three - you basically have to back the winner.

Microsoft is telling you that Metro is its only candidate for a winner. According to Microsoft, WinRT/Metro is the only possible future.

If you don't agree then you need to start looking for an alternative desktop environment.

Open-source attitude in the Internet Era


The road of history appears to be leading steadily towards a more open-sourced vision

The term ‘open source’ comes from computer programming. It refers to a computer program that isn’t owned by any company and is freely available to the general public. Microsoft Word, by contrast, is ‘closed source’ — the Microsoft Corporation owns the code for its software and will never make it available or give it away for free.

A little-known program called Open Office is a freely available alternative to Microsoft Office with many of the same features. A loose group of programmers around the world created Open Office and constantly tinkers with it to make it better. They do this for free with no benefit besides the pleasure of providing a useful service for anonymous users.

The motivation for developing open-source software can be puzzling, but they are becoming increasingly ubiquitous. Many phone users, for instance, opt for closed-source versions of Apple iPhones or BlackBerries. However, people using Samsung and other devices are running an open-source operating system — Android. (Google leads the programming effort, but doesn’t own the source code.)

Phones running Android operating systems tend to be cheaper because no money must be earmarked for the development costs. Of course, many people are quite happy to pay a little more for the features of closed-source iPhones and BlackBerries.

Freedom to innovate
But increasingly, both BlackBerry and the Apple iPhone flirt with open-sourced systems — allowing independent programmers leeway to produce apps for their closed-source platforms. In fact, in many other areas open-source alternatives are increasingly embraced.

Wikipedia, for instance, continues to grow in popularity while Encyclopedia Britannica recently announced the end of its print edition. The open-source Wikipedia allows users to modify any entry, but a team of editorial volunteers tends to keep material fairly accurate and well-balanced.
Only the editors of the closed-source Encyclopedia Britannica can make changes to their entries, meaning they should be more accurate. However, some research has found that Wikipedia and the encyclopedia both contained roughly the same amount of erroneous material. While it does have some drawbacks, Wikipedia is praised for the speed with which it updates information as well as its insistence on the verification of information.

Websites such as YouTube and Digg (which allows users to rate the value of new stories) represent open-source versions of television networks and newspapers. While a select few gatekeepers once made decisions about what to air or publish, these sites and many others now allow users to collectively make the decisions. The impact of these open-source sites on ‘traditional media’ cannot be understated.

Online alternatives
Many prestigious universities are now promoting open-source research. Academics are avoiding the costly peer-reviewed journals where research is kept behind a paywall in favour or free, online alternatives. The move will help equalise research globally, allowing poorer nations to have access to the same information as richer countries.

While some may debate whether open-source or closed-source systems are more beneficial, the road of history appears to be leading steadily toward a more open-sourced vision. The benefits of an open-sourced systems include an increased acceptance of new ideas and a quicker pace toward innovation — far more so that in closed systems.

Open-source projects also tend to benefit from the ‘wisdom of the crowd’ with ideas and innovations that could be missed in closed environments. Most importantly, open-source systems are transparent — nothing is hidden from view, allowing anyone to offer their input equally.
Even nations seem to fall on one side of the open-source versus closed-source structure. US Secretary of State Hillary Clinton recently remarked that countries would no longer be divided along lines such as East or West or religious beliefs. Rather, they would be judged on their relative approach toward openness.

She said that countries closed to “change, ideas, cultures and beliefs that are different from theirs will quickly find that in an internet world they will be left behind”.

Her reference to the internet is an important point — societies could more easily afford to be ‘closed-source’ before the internet. Many attribute the recent upheaval in the Arab world to an increase in the open-source information flow afforded by YouTube, Twitter and Facebook.

The UAE is already making efforts to be more open-source. The government of Abu Dhabi, for instance, has pledged to create a transparent regulatory environment as part of its 2030 economic vision.
And, as Federal National Council (FNC) member Noura Al Kaabi has noted, the FNC is also leading the way toward openness. The FNC often raises critical issues into the sphere of public discussion and provides added transparency and accountability to workings of the UAE government.

But the UAE could do more to increase its openness. For instance, some government agencies make decisions without much scrutiny or explanation leaving residents in the dark or puzzled.

Similarly, many government and business spokespeople aren’t empowered to truly provide answers and information to the public. In effect, they’re trapped in a ‘closed-source’ mentality.

Hopefully, the UAE will address these problems and continue making strides toward being more ‘open-sourced’.

Much of the world seems ready to embrace the wisdom of the crowd.

Tuesday, May 22, 2012

Open Source Won the Mobile Platform Wars


At the Open Source Business Conference 2012, the president of mobile data synchronization software company Funambol explained how open-source software, such as Google Android, came to dominate the mobile space.

Open source has become the dominant choice for mobile device operating systems because it’s the best way to bring innovation to this growing market and because wide community support delivers the highest quality software, said the president of Funambol, an open-source mobile software company.

“On mobile, we won. There’s just no other way to put it,” said Fabrizio Capobianco, president and co-founder of Funambol at the Open Source Business Conference (OSBC) 2012 here. Funambol is a provider of open-source software to sync data from a variety of end-point devices running any number of operating systems.

The conference covered open-source developments in some of the fastest-growing markets in IT, namely big data, cloud computing and mobile. On May 21, Microsoft and SUSE jointly announced at the conference a product that integrates SUSE Manager and Microsoft’s System Center to enable concurrent management of Linux and Windows server environments.

Increasingly, enterprises are investing in mobile technology because workers are demanding it so that they can stay connected with colleagues, customers and partners wherever they are.

Capobianco traced the history of open-source mobile technology over the last decade and cited recently released Gartner research that shows the Google Android OS captured 56.1 percent of the global smartphone market in the first quarter of 2012, up from 36.4 percent in the first quarter of 2011. It was followed by Apple’s proprietary iOS platform with a 23 percent share, the open-source Symbian OS from Nokia at 8.6 percent and the proprietary BlackBerry OS from Research In Motion at 6.9 percent.

Android was the product of a startup in 2003 that was acquired by Google in 2005. Google released Android as open source in 2007, and the first Android-based smartphones went on sale in 2008.

“The reason why open source wins is the quality,” Capobianco said. “Open source will apply to mobile better than in any market we have ever seen because mobile is complex and complexity is where open source thrives.”

The complexity stems in part from the wide variation in the design and capabilities of mobile devices, particularly smartphones and tablets, as well as the differences in the capabilities of carrier networks worldwide, he said.

The belief in the quality of open source was revealed in a survey of vendors and nonvendors that was released by OSBC at the conference. It listed quality as one of the top three advantages of using open source, along with lower costs and freedom from vendor lock-in with a proprietary product. It used to be that quality was cited as a risk factor in arguments against going open source.

“Obviously, we’ve seen the maturity of projects, but also people are much more trusting of the open-source development model and that it can produce good code because they’ve seen that it produces good code,” Matt Aslett, a research manager in the data management and data analytics space at 451 Research Group, said in an interview at the OSBC.

Capobianco cited other examples of mobile operating systems that started out as proprietary but converted to open source. Nokia released its Symbian operating system as open source in 2008, and Hewlett-Packard open-sourced in 2011 the webOS mobile platform that it acquired with its buyout of Palm a year earlier. Those two OSes didn’t fare too well, however, as Nokia announced in 2011 that it was abandoning Symbian in favor of using Microsoft’s Windows Phone 7 OS in its products going forward. Then HP withdrew from the smartphone and tablet markets altogether that same year, though it will still develop the operating system for use in other devices.

Also important to open-source mobile development was the decision by Sun Microsystems in 2006 to open source its Java programming language, opening the door for developers to create mobile applications using a variation of Java called Java ME (for Mobile Edition).

To be sure, Capobianco had to give a tip of the hat to Apple, which released the iPhone in 2007. While iOS is proprietary, iPhone stimulated the mobile application industry in a way previous mobile platforms had not. In retrospect, everything in mobile history before June 29, 2007, when the iPhone first went on sale, was “pre-iPhone” and everything since is “post-iPhone,” he said.

At the time, however, Apple faced criticism from the Free Software Foundation for the closed and restricted design of the iPhone.

While wildly popular with customers and immensely profitable for Apple, iOS penetration still pales in contrast to the overall market share of Android on mobile devices, Capobianco noted.

Saturday, April 21, 2012

Microsoft also wants Open Source Community

Microsoft has had a notoriously rocky historical relationship with the open-source community but the recent creation of a specialized Open Technologies spinoff has brokered some change.

Tuesday, December 9, 2008

Microsoft to relaunch Live.com as a Facebook style social networking site

Microsoft will relaunch its Live.com search site as a search + social networking site in something that looks like Facebook.

The new Live.com will be focused on social interactions around Windows Live Messenger (previously MSN Messenger) complete with user profiles. Tightly integrated into the new site will be Hotmail/ Live.com email as well.

According to the Wall Street Journal, Microsoft will make it easier for users to maintain a single list of online friends, from which they can address emails, send instant messages and view activity updates through the new Facebook-like “feed” feature that shows, for example, new photos that friends have posted online and short messages they’ve broadcast through Twitter.

Facebook or FriendFeed style, users will be able to import content from external sources such as Flickr, or any service that has an RSS feed.

Microsoft is claiming that the changes are in response to “the proliferation of online communications services…frustrating many users by forcing them to create and manage instant messaging buddy lists, email address books and social network friend lists in information silos.”

It’s a nice line, but this screams social networking wannabe, not that that’s a bad thing given Microsoft has been sitting on a massive untapped user base in instant messaging which it has so far failed to really offer much extra to. Whether this is a serious challenge to Facebook is yet to be seen, but finally Microsoft may be getting serious about social networking, and while we may be naturally skeptical about their changes, Windows Live IM users are over 100 million, and even if they convert a small percentage, they’re the sort of numbers you can confidently apply the label FTW to.

Read more...

Monday, November 10, 2008

Microsoft 'not against' open source

The division between proprietary software vendors and open-source providers is not as clear as some industry players perceive it to be. As more enterprises consider adopting open source technologies, even traditional software vendors such as Microsoft have taken steps in responding to such customer needs.

"Open source is not a product but an approach to software development," said Matthew Hardman, platform strategy manager at Microsoft Singapore. "Microsoft does not compete with open source, just as Nike does not compete with running."

Hardman said the software giant seeks to provide the 'best possible platform' for open source applications to run. "We believe that enterprises and vendors should have a choice of software development methodology, and open source is one such choice."

The platform strategy manager noted however, that Microsoft will compete with open source-based providers, just as it also competes with other proprietary vendors.

Open-source contributions

According to Hardman, Microsoft has contributed to technologies that are deemed open source. "PHP, a technology used to build web pages, ran into multiple issues around performance and scalability on Windows Server 2003," he said. "With the introduction of Windows Server 2008 and host technology such as Fast CGI, we are now able to run PHP up to 200 per cent faster than Linux."

Hardman said the company has contributed code to PHP libraries for database support, making it easier for PHP developers to connect to Microsoft databases.

"Linux is open source, but open source is not Linux," Hardman noted. "PHP was designed to make it easy for people to build web pages, not specifically to run only on Linux."

As part of its open-source strategy, the company hosts a website called CodePlex, where Microsoft employees and the developer community work on some 6,000 open-source projects. "Examples of such projects include the AJAX Control Toolkit, SugarCRM, .Net, and code that can interact with the 'World of Warcraft'," Hardman said.

CodePlex includes more than just projects that Microsoft has released, according to Hardman. "It's a hosting platform where people can create and share projects, and we have also used it to share some of our technology to encourage further innovation."

Some five million developers worldwide have created various applications using Microsoft platform technologies such as Windows, .Net, Windows Server and Microsoft Xbox, according to the software giant.

Read More..