Dropbox has released Datastore API which provides access to key-value stores with support for synchronization between devices using the user’s Dropbox account and including automatic conflict resolution.
Neural networks have long been an interesting field of research for exploring concepts in machine learning (otherwise known as artificial intelligence). Dr James McCaffrey of Microsoft Research recently gave an introduction to neural networks for those looking to learn more about them in an engaging talk that includes working demo code.
Creating a simple immutable class in C# is easy, but eventually you’ll want to create deep graphs that, for efficiencies sake, should be created via a builder. Or perhaps you want to make non-destructive updates by creating methods. Building out all these builders and methods can be quite tedious and thus error prone. Andrew L Arnott offers a solution that relies on T4 based code generators.
ScriptCS enables developers to write C# applications using a simple text editor. Compilation is performed by Roslyn and package management by NuGet.
Sometimes the best way to understand pitfalls in one language is to see how another language prevents them. Tomas Petricek, author of Real-World Functional Programming, discusses seven common mistakes found in asynchronous C# code and demonstrates how F# makes them less likely to occur.
Codice Software, maker of Plastic SCM, has released a preview of a semantic merge tool. This tool parses your code, allowing for a more accurate merge than the line-by-line comparisons most tools use. We interviewed Pablo Santos Luaces, Principal Software Engineer of Codice Software.
EZNamespaceExtensions.Net v2013 enables you to develop Windows Explorer namespace extensions using Visual Studio with support for Multi-level sub folders, Thumbnail view, Icons, Property sheet, Infotip and much more.
According to a study, the most expressive general-purpose languages are Clojure, CoffeeScript and Haskell. The study uses LoC/commit as the measuring unit of expressiveness.
The Edge.js project combines Node.js with the .NET platform. Developers can use C# on Node.js or provide Node.js functionality to C# applications-- allowing them to use the best tool for each task. InfoQ had the opportunity to speak with author Tomasz Janczuk about the project and his future plans.
Microsoft has recently open sourced on CodePlex 22 code samples under the Apache 2.0 license. The samples which are also included in the Kinect for Windows Toolkit show how to make use of various Kinect features: Audio, Basic Interactions, Colors, Depth, Face Tracing, Infrared, Slideshow Gestures, Speech, WPF, XNA, and others.
Xamarin has made yet another major step in completing their vision on providing a set of common tools for cross-platform mobile development. With the announcement of Xamarin 2.0 comes a rebranding of their products, a new IDE called Xamarin Studio, a Visual Studio add-in for iOS development, and a component store, the later being detailed by Miguel de Icaza for InfoQ.
The biggest downside of Mono for Android is that you are building on Mono, a completely separate runtime that what Android expects. And while there are certainly some advantages to having access to a full CLR, marshalling calls between it and Android’s Dalvik runtime can be expensive. So why not skip the IL code and emit Dex code directly?
Lucian Wischik is publishing a series of blog posts showing how Await can be used in a wide variety of situations ranging from awaiting an animation to complete to capturing the results of a command line program.
Some big names from Microsoft, Microsoft Research and the University of Washington have been working on a new variant of C# that introduces the concept of readable and immutable references at the language level. To this effect each reference has one of four permission qualifiers that modify variables and parameters: writable, readable, immutable, and isolated.
Since .NET was still in beta developers have been asking for non-nullable variables with reference semantics. But the problem is far more complicated than simply slapping an attribute or other decoration on the variable. Craig of Twisted Oak Studios has proposed a solution to some of the problems.