Showing posts with label Development. Show all posts
Showing posts with label Development. Show all posts

Wednesday, February 25, 2015

Do you not do contracts because legalize isn't your thing? Then you should contract( ) ('Do Contract')!

gamasutra - announcing contract( ), a free builder for plain English agreements

Legalese is for attorneys. contract( ) is for game developers.

contract( ) (pronounced ‘do contract’) generates free, plain English agreements for and between game developers. It’s based on the idea that developers do not need legalese to come to an agreement or to resolve a disagreement.

After many iterations on contract( ), using feedback from experienced game developers and attorneys, I’m super excited to announce that contract( ) is now ready for public use. What started as a homemade tool to quickly make agreements between me and my collaborators, quickly developed into a full-fledged agreement builder that anyone can use. The builder currently includes templates for defining the work per project or per milestones, templates for giving out IP rights, and templates for compensation through a fixed fee, fixed rate, per milestone, or through revenue share.




What you need to know about contract( )

contract( ) offers a free agreement, using common language, covering most things you want to agree on before working together with someone in the games industry. contract( ) is based on the idea that two people or two companies do not need legal talk to come to an agreement or to resolve a disagreement.

For the sake of simplicity and clarification, contract( ) tries not to use the specific terminology of the laws of your country or state. Several attorneys have reviewed contract( ) to make sure it doesn't conflict with most country- or state-specific laws.

A legal document without legal talk?

The law is very advanced in handling situations between people or companies. When an attorney writes a legal document, he tries to match the terminology of those laws so that they connect one-to-one and make sure that the agreement is enforceable. However, this does not mean that a document with a different terminology is automatically invalid.

Every written agreement you make can be considered a legal document, even if your agreement is two sentences on a napkin. In case you and the contractor get into a disagreement and decide to take it to court (which is uncommon), much of the conversation in court will be about what is what, and only sections of the agreement that are very unclear or in direct conflict with country- or state-specific laws may be held unenforceable.

Country-specific laws?


In short: while contract( ) is designed to cover most cases, it is also designed to be short and straight forward. Be aware that contract( ) therefore still relies on local laws for a number of things like those listed above.

A personal note

contract( ) is my attempt to transfer my experience, but also the experiences of dozens of other developers and attorneys, to other game developers. I (Adriaan de Jongh) use the agreements from contract( ) myself, and feel that this is the only way to make it as unbiased, practical, honest, but also as legit as possible. I'm not responsible for your agreements with others, but I do not want to push anyone into an agreement I would not want to be in myself.

In the end, contract( ) isn't legal advice because that's exactly what it tries to avoid. If you wish to cover any of the legalese mentioned earlier, or want to know what the law provides if cases are not included in contract( ) agreements, hire a qualified attorney-at-law from your country or state to go over the agreement from contract( ) before signing it.

Attorneys recommended by other developers

In case you feel that this agreement does not fit your needs...


Made by & thanks to

contract( ) was made by game designer Adriaan de Jongh with the help of dozens of experienced game developers and attorneys. I have been in numerous tricky situations with contractors, IP transfers, and publishers, and found that it was never the legal talk that saved my relationship with a collaborator or contractor, but rather the inclusiveness of the contract: a contract in common language, simple and straightforward, can serve an equally good purpose if it reflects the conversation between two parties rather than the conversation between two attorneys.


Something new and different and not something I'd usually share, but I think many of you will like, or might be able to use. Personally, thinking about "doing a contract" makes my... well... um... errr.... well, makes me not feel well... Now, make sure you read and understand this, but worse case, it's a great starting point!

.NET in 2015... Is it .NET 4.6, .NET Core 5, both? Beth knows and shares... (Hint: Both)

Beth Massi - Understanding .NET 2015

Last year after BUILD I posted Exciting Times for .NET and since then I have had the pleasure of working much closer with the .NET team, which includes the runtime, framework, languages & compilers. Although my focus has been a lot more on internal community in the last year, such as helping run internal conferences for our field employees, I’ve also spent time helping get the .NET Foundation off the ground and learning a lot about open source communities and all our .NET Foundation projects. Oh right, I also got married. :-) It’s been a transition period for me. Going from community “evangelist” to more of a “facilitator” or “connector”.  I really like Alex Hillman’s term: Tummler.

Now that we’re approaching the next BUILD, I’m even more excited about the progress we’ve been making, particularly around the .NET platform itself, and the team’s approach to open source. There are multiple tracks of .NET innovations happening so I thought I’d write a high-level “sign-post” style blog post to help people understand the major pieces and how and where to get involved with the projects. In other words, a good place to start learning about .NET 2015. At least that’s my hope!

.NET 2015 – 10,000 foot view

At a very high level, here’s the rundown of the major components that fall under the “.NET 2015” umbrella.



Major components of .NET 2015
Frameworks and Runtimes

The .NET Framework is a managed execution environment that provides a variety of services to its running applications. It consists of two major components: the common language runtime (CLR), which is the execution engine that handles running applications; and the .NET Framework Class Library, which provides a library of tested, reusable code that developers can call from their own applications.

.NET Framework 4.6 builds upon 4.5.2 and contains new APIs, improvements to event tracing, and many bug fixes. This is the next version of the full .NET Framework we know today. .NET Framework 4.6 will be included in Windows 10 and will also ship on Windows Update for previous OSes (Vista and above). See: .NET Framework 2015 Preview

.NET Core 5 is a general purpose, modular framework that can be used across a wide variety of app models and platforms, is available as open source, can be deployed modularly & locally (side-by-side), and will be supported by Microsoft on Windows, Linux and Mac OSX. It is a refactored set of base class libraries (corefx) and runtime (coreclr) which includes a new JIT compiler (“RyuJIT”), the .NET Garbage Collector, native interop and many other .NET runtime components. Today, .NET Core builds and runs on Windows. We are adding Linux and Mac implementations of platform-specific components over the next few months.


I know YOU all know and understand what .NET 4.6, .NET 5 (Core), etc. etc. are, but I bet some (many/most) of your co-workers don't. Beth does a great job in detailing both, what's in what and what's not, what's open source (now and in the future) and what's not... In short, read her article. AND keep if for reference, as it IS a little confusing right now (and for a few years into the future, I'll bet...)

Tuesday, February 24, 2015

"Top 10 Changes in ASP.NET 5 and MVC 6" [The post that has the WebForm/VB'ers in an uproar...]

Stephen Walther - Top 10 Changes in ASP.NET 5 and MVC 6

I spent the last couple of weeks writing sample code for ASP.NET 5/MVC 6 and I was surprised by the depth of the changes in the current beta release of ASP.NET 5. ASP.NET 5 is the most significant new release of ASP.NET in the history of the ASP.NET framework — it has been rewritten from the ground up.

In this blog post, I list what I consider to be the top 10 most significant changes in ASP.NET 5. This is a highly opinionated list. If other changes strike you as more significant, please describe the change in a comment.

1. ASP.NET on OSX and Linux

2. No More Web Forms [GD: Click through and read the comment & comment]

3. No More Visual Basic [GD: Lots of comments about this. Click through for support links, comment & comment)

4. Tag Helpers

5. View Components

6. GruntJS, NPM, and Bower Support

7. Unified MVC and Web API Controllers

8. AngularJS

9. ASP.NET Dependency Injection Framework



WebForms is not going away, not any more than WPF is. It IS going to live in the 4.6 line though.

What about Web Forms?

You can continue developing Web Forms apps and have confidence that Web Forms is an essential part of the .NET web development platform. We remain focused on adding new features to Web Forms to improve the development experience and keep the technology up-to-date with web practices.

Web Forms 4.6 includes the following new features for Web Forms:

  • HTTP 2
  • Async model binding
  • Roslyn CodeDOM compilers

Your existing Web Forms apps will continue to run without modification on IIS with .NET 4.6. You can’t use Web Forms apps with the cloud-optimized runtime.

For a video about the new features in Web Forms 4.6, see Web Forms 4.6. For information about the many recent changes for Web Forms in Visual Studio 2013 Update 2, see Improvements to ASP.NET Web Forms.

VB? Again VB "IS NOT DEAD" but for ASP.NET v5 it won't be in the RTM.

Visual Basic Support? #236

paullyvenne commented on Dec 14 2014

I was interested in trying out vNext with VB.NET? It seems to be promoted on most of the news but I don't see anything but C#. What's the latest news?

matthewhancock commented on Dec 15 2014

Yeah, it's a little frustrating re-installing the latest versions of Visual Studio 2015 hoping VB will have vNext templates with no luck.

coolcsh commented on Dec 15 2014

ASP.NET 5 is C# only at this point and that will not change before we RTM. We plan to have extensibility points so other languages like VB, F#, etc can be added via the form of a support package or such.

Guys look, ASP.NET v5 is a complete, from the ground-up rewrite. It's a v1, but built by those that have decades of experience and have learned the many hard lessons that entails ad built for today's web, not the web of the late 99's...

Don't take it from me, check out today's Scott Gu post;

Introducing ASP.NET 5

The first preview release of ASP.NET 1.0 came out almost 15 years ago.  Since then millions of developers have used it to build and run great web applications, and over the years we have added and evolved many, many capabilities to it. 

I'm excited today to post about a new release of ASP.NET that we are working on that we are calling ASP.NET 5.  This new release is one of the most significant architectural updates we've done to ASP.NET.  As part of this release we are making ASP.NET leaner, more modular, cross-platform, and cloud optimized.  The ASP.NET 5 preview is now available as a preview release, and you can start using it today by downloading the latest CTP of Visual Studio 2015 which we just made available.

ASP.NET 5 is an open source web framework for building modern web applications that can be developed and run on Windows, Linux and the Mac. It includes the MVC 6 framework, which now combines the features of MVC and Web API into a single web programming framework.  ASP.NET 5 will also be the basis for SignalR 3 - enabling you to add real time functionality to cloud connected applications. ASP.NET 5 is built on the .NET Core runtime, but it can also be run on the full .NET Framework for maximum compatibility.

With ASP.NET 5 we are making a number of architectural changes that makes the core web framework much leaner (it no longer requires System.Web.dll) and more modular (almost all features are now implemented as NuGet modules - allowing you to optimize your app to have just what you need).  With ASP.NET 5 you gain the following foundational improvements:

  • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
  • Built on .NET Core, which supports true side-by-side app versioning
  • New tooling that simplifies modern Web development
  • Single aligned web stack for Web UI and Web APIs
  • Cloud-ready environment-based configuration
  • Integrated support for creating and using NuGet packages
  • Built-in support for dependency injection
  • Ability to host on IIS or self-host in your own process

The end result is an ASP.NET that you'll feel very familiar with, and which is also now even more tuned for modern web development.

Wednesday, February 11, 2015

TouchDevelop [Browser Client] is now Open Source (MIT) and on GitHub

Canadian Developer Connection - Microsoft Research makes Touch Develop open source

Touch Develop is a tool developed by Microsoft Research that allows developers to build mobile apps, games and websites in a browser. As of this week it is now open source on Git!

The TouchDevelop project was inspired by the programmability of 8-bit computers of the 80s that introduced many of us to the power of programming. TouchDevelop brings that magic to modern touch-based devices. The result is a tool that you can use to write basic code using a browser and can play on websites or mobile devices

What is TouchDevelop? ...


TouchDevelop has always been a very open tool, with developers having the ability to share their scripts with other Touch Develop users. But now they take the next step – they have released the TouchDevelop web app under the MIT license. The team at Microsoft Research remains dedicated to leading its further development, but you, our users, fellow researchers, and hackers of the world, are invited to contribute.

TouchDevelop sits in a GitHub repository. You can fork it there, submit pull requests with bug-fixes or new features, submit and comment on issues in the bug-tracker, and check on latest activity. TouchDevelop consists of about 160,000 lines of TypeScript plus some CSS and a tiny bit of HTML. ...

TouchDevelop - TouchDevelop goes open-source

The TouchDevelop project was inspired by the programmability of 8-bit computers of the 80s. This is how many in our team learned about programming and we wanted to bring that magic to modern touch-based devices. In very beginning, with our first Windows Phone 7 app, it was about programming your own device, 80s style.

Soon after, we have moved to the open web as the platform and added the capability to publish and share your programs (scripts) with other users in source form, so others can learn from and even improve upon them. We believe this openness has helped the platform quite a bit, with over 200,000 scripts published over the past 3 years.

Today, we’re taking another step on this path – we’re releasing the TouchDevelop web app under the MIT license. The team at Microsoft Research remains dedicated to leading its further development, but you, our users, fellow researchers, and hackers of the world, are invited to contribute.


Join the party!

TouchDevelop sits in a GitHub repository. ...

What’s not there

You’ll notice we’re not releasing the source of our Windows Phone and Android apps, as they will become obsolete very soon, when we switch to Apache Cordova. Also, running a cloud back-end for a major service like TouchDevelop is costly and complicated. We’re thus not expecting you to do that (and we’re not releasing the back-end). Instead, you can run your forked version of the TouchDevelop client web app against our cloud services. This will work as long as you’re running the client on localhost. If you want to run it from a different domain, drop us an email and we can talk about it.




TouchDevelop is a touch-friendly app creation environment for iPad, iPhone, Android, Windows, Mac, Linux developed with <3 at Microsoft Research. Our mobile-friendly editor makes coding fun, even on your phone or tablet!

This repo contains the source code of the TouchDevelop editor. If you are intending to write TouchDevelop scripts, you probably want to go to

Other pages of interest:

What's in this repo?

The repo is mostly written in Typescript with tiny pieces of HTML gluing.

This repo contains the source code for:

  • the browser client
    • the compiler
    • the editor
    • the runtime
  • the node.js client

However, you will not find the cloud backend code here. Indeed, takes care of storing and managing the scripts.


There are many ways to contribute to TouchDevelop....

I tweeted this earlier, but wanted to follow-up with a normal blog post (and there's also going to be a Coding4Fun,,  post on it next Wednesday too ;)

Monday, February 09, 2015



I see this on the train home and chuckle every time. Do you know why? (As a long time MS Sphere Dev, where would I have heard this before...hum...)




Yep, you guessed it [and I'm not going to say a thing about someone being something of an old timer...(in Net Years at least;) ], one the VS 2005 Personas.

You all remember the "Mort" flamewars? Seeing this brings me back... (I was, and am, a Mort and damn proud of it! :)

Pluralsight Learning Path Dev Insanity ("Understanding the .NET Framework", "C# End to End" & "T-SQL CRUD")

Pluralsight blog - Learning Path: Understanding the .NET Framework


Learning path objective:

The courses outlined in this learning path provide a comprehensive look at the operation of the CLR, as well as a tour of key classes in the Framework Class Library that every .NET developer — regardless of the type of application or service they’re building — should understand.

Target audience:

This learning path is designed for developers who have been introduced to C#, and want to develop a deeper understanding of the foundation upon which every .NET application is built.




Pluralsight blog - C# End to End


Learning path objective:

The goal of this learning path is to take you from having little to no experience with C# to understanding how to leverage the language’s advanced features and how it works on the CLR. This includes basic logic flow, generics, interfaces, collections and enumerables, extension methods, asynchronous operations and LINQ.




Pluralsight blog - T-SQL CRUD

CRUD! It’s everywhere. And by CRUD I mean the Create/Read/Update/Delete operations used by applications that rely on persistent storage. In my career, I would venture that 90 percent of the applications on which I’ve worked have revolved around CRUD operations against a relational database. Transact Structured Query Language (otherwise known as T-SQL) is a superset of the ANSI SQL language that operates on Microsoft SQL Server. Being able to leverage T-SQL is key to incorporating SQL Server in your business workflows and custom software applications.

Learning path objective:

This learning path aims to help make you proficient in using T-SQL to query and manage data on SQL Server 2012. The path begins with gentle introductions to reading and updating data using ANSI SQL, and then guides you through more specialized aspects of applying T-SQL to business problems including working with dates and times, XML data, Common Table Expressions and analytic functions.



Want even more? Check out all their Learning Paths,

Wednesday, February 04, 2015

Five Fun F# Facts

Infragistics - Five interesting facts about Microsoft F#

Since its 2005 conception at a Microsoft Research Center, use of the F# language has seen steady growth among developers both in the Open Source Community and for enterprise applications. Because it combines safe, simple and robust coding with the option of application on practically any operating system, it makes for an interesting proposition with developers seeking simple solutions to complex problems.

Many consider F# particularly suitable to scientific or big data based applications, but it is actually good when applied to a whole host of problems and applications. Characterized as a functional programming language with strong typing, it is able to express a developer's ideas in a succinct and declarative way.

However, while growing in popularity, F# is a long way from universal adoption. In this post we’re going to look in more detail at what makes F# different and why it might be you worth getting to know better.

1. The importance of community...

2. Five wins for functional programming ...

3. Practical application in a variety of industries ...

4. Universal ...

5. Fun to use ...


I don't F# yet, but really dig the work being done on it and the community behind it. It's the little train that could... :)

Tuesday, February 03, 2015

Bond... Microsoft Open Source, Bond (the cross-platform high scale serialization library... Microsoft Bond)

InfoQ - Microsoft Open Sources Cross-platform Serialization Library – Bond

Last month Microsoft open sourced Bond, a cross-platform framework for processing schematized data. Bond supports cross-language serialization/deserialization and powerful generic mechanisms for efficiently manipulating data. The framework is broadly used at Microsoft in high-scale services. The project is currently available at GitHub under the permissive MIT license. Current version supports C++, C# and Python and is available on Linux, OS-X and Windows. The Bond compiler is written in pure Haskell.

Bond shares many similarities with other serialization systems, for example Google Protocol BuffersThrift and Avro:

  • Bond messages are defined in the IDL – like language
  • It maps all Bond’s data type to the native language data types

Bond’s implementation however has one major difference: it doesn’t hard-code type mappings. It allows one to plug-in many things that aren't part of the core schema logic -whether to serialize from Bond schemas or a custom type, what the wire format is, whether to put custom metadata in the payload, and so on. For example, in C++ the defaults are STL containers like std::vector; however, a user can easily map custom types - using Python’s boost::multi index container in a generated C++ struct or mapping a uint64 schema field to a System.DateTime field in a generated C# class-. Bond generated C++ structs can also use custom allocators.

A nice comparison between Bond and Google Protocol Buffers is presented is this Stack Overflow



Microsoft open-sources cross-platform serialization library, Bond

Hey all, I wrote a small part of Bond, so let me see if I can answer some of the questions here:

  • Bond is used pervasively throughout the company, in a lot of mission-critical systems. I don't know that I can say where publicly, but when Adam says it's used for scale infrastructure, he really means it.
  • It was started sometime around when Thrift was just picking up steam, so it's been around in one form or another for awhile. The released version is actually Bond v3.
  • The answer to the "why" question is more or less here: The short of it is that the differences between systems like Thrift, PB, and Avro, tended to be in things like wire format, protocol, format of target class, etc., and not as much in the logic of how you do things like version schemas. But in short, IMHO the innovation of Bond is that it allows you to plug in a lot of the things that aren't core schema logic (e.g., whether to serialize from Bond schemas or a custom type, what the wire format is, whether to put custom metadata in the payload, and so on).

If you want to offer feedback or ask questions, you can either email Adam Sapek (adamsap -at- microsoft) or me, Alex Clemmer (, and I will loop you in with the correct people.



Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.




For details, see the User's Manuals for C++, C# and Python.

For a discussion how Bond compares to similar frameworks see Why Bond.




Bond can be built with Clang (3.4+) or GNU C++ (4.7+). We recommend the latest version of Clang as it's much faster with template-heavy code like Bond.



Install XCode and then run the following command to install required packages using Homebrew ...



Install the following tools:


Really, I just wanted to to use Bond in the title... :P

Cool eBook of the Day #1: Xamarin.Forms Book Second Preview Edition Now Available

Xamarin - Announcing the Xamarin.Forms Book Second Preview Edition!

Since Xamarin Evolve 2014, we’ve received fantastic feedback on the first Preview Edition of Charles Petzold’s Creating Mobile Apps with Xamarin.Forms, so we’re excited to announce that we’re making a Second Preview available for download.

The book has been updated to incorporate feedback from the first preview, as well as to include the latest features from Xamarin.Forms 1.3. Readers will notice a substantial re-organization of the book and additional XAML content that was not in the first preview.

The following chapters are available for download today:


And there are many more chapters still to come! We will be updating the download page every week or so with a new chapter until the book is complete [GD:Emphasis added] and we move into the final editing and publishing phase.


Creating Mobile Apps with Xamarin.Forms Book Preview 2


Charles Petzold is currently writing a new book - Creating Mobile Apps with Xamarin.Forms - which is due for publication in the spring of 2015.

We released the first preview in print at Xamarin Evolve 2014.

Preview 2 has been completely updated for Xamarin.Forms 1.3 and XAML support. Chapters will be available for download soon after they've been written and reviewed!



The samples for the second preview edition are available on github.

Preview 2 is a work-in-progress - it will not be published in other electronic formats. The final product will be published in book form and made available in the usual formats (as preview 1 was).



Come on, it's Charles Petzold's work! Need I really say more? (Oh okay, it's Free too! There!)


Related Past Post XRef:
Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one)

Monday, February 02, 2015

Cool eBook of the Day: "The Developer’s Guide to the New .NET"

Telerik - Free eBook--The Developer’s Guide to the New .NET

It’s 2015, and there have been a lot of changes in the Microsoft landscape with .NET. As you kick-start the New Year, you may be wondering how to catch up with all of these changes and announcements, quickly and easily. You could read countless blogs, watch videos and scour the Internet. Or, simply read an eBook, which tells you everything.

I’m pleased to announce the “The Developer’s Guide to the new .NET” eBook is now available for download for FREE. Authored by myself and Sam Basu (both Microsoft MVPs), we’ve created a no-fluff developer-to-developer breakdown of what’s coming to .NET in 2015. The future of .NET looks awesome, and you’ll be glad to be a part of this.


In this eBook, we’ll take a look at:

  • .NET Goes Open Source: What does that mean to you as a .NET developer?
  • Windows 10: What we know so far and why it matters to you as a .NET developer?
  • Visual Studio 2015: Includes several tips and tricks to get you up to speed FAST!
  • C# 6.0: We’ll take a look at code snippets that show you exactly what features you may want to take advantage of in your next app.
  • Roslyn: Can I do more than create my own compiler? What else can I do with it?
  • .NET on a Mac: Are you serious? We’ll take a look at how native .NET development is a reality on a Mac.
  • Resources and additional information: We’ll talk about how the future is very bright for .NET developer and how using the Telerik Stack can further enhance productivity.

The Developer’s Guide to the New .NET [Download page]

This ebook is no fluff–just a developer-to-developer breakdown of what’s in store for .NET in 2015. Included are code snippets and step-by-step tutorials on handy new features and techniques.


Download for free, and learn more about:

  • Visual Studio 2015
  • .NET core goes open source
  • Cross platform development with .NET
  • C# 6.0
  • Roslyn
  • Windows 10

Michael Crump, the man, the myth, the legend in his own [time|mind], shares this new free (reg-ware) eBook from Telerik, which is very manager-safe (i.e. formatted like a PowerPoint deck, lots of pictures, etc.. oh... wait... did I really say that out loud? yeah) view of the coming new .NET world.

Kidding aside, this format is great for those who want to get the higher level view of what's coming in the new .NET. Those co-workers who are not info-hounds like you, the dev's who just want the highlights, etc. It's only 47 pages and really is a nice, quick and informative read. And did I say it was free? :)



Monday, January 12, 2015

DotNetKicks is alive and, well, kicking!


DNK is new and you are part of it!

Just a bit of news that we have completely rearchitected, programmed and designed DNK over the last 3 months. As all of us here know, DNK is now showing the best .Net content on a daily basis. We’re seeing over new stories 10 a day, so don’t miss out.

DNK’s format now lets you see comments inline in a nifty sidebar. Voting is only when you like a piece because it’s all from the community. The notification system has been rebuilt and the site is more than 2X as fast.

Pretty good for 3 months!

If you want to be a contributor to the site just email us at with a bit about what you’re working on in .Net.

Thank you for your support of DotNetKicks!

Robert, Bob, Paul, Mike and James


Back in the day, DNK used to be one of my favorite news aggregators/social/link/thing. But it seemed to fall on hard times and withered away...

Well what was old is new again and DNK is back baby! Feed re-added to my news stream :)


Related Past Post XRef:
DotNetKicks Widget Added to Posts

The WordNet Language List to rule them all...

A Complete Multilingual WordNet List by Language

What is WordNet?

WordNet is a lexical database that groups words into sets of synonyms called synsets, providing short definitions and usage examples, and records a number of relations among these synonym sets or their members. WordNet can thus be seen as a combination of dictionary and thesaurus. While it is accessible to human users via a web browser, its primary use is in automatic text analysis and artificial intelligence applications. Both the lexicographic data (lexicographer files) and the compiler (called grind) for producing the distributed database are available

Multilingual WordNet by Language and Their Licenses

Below is a table of multilingual WordNet by language and their licenses, as well as other pertinent information.


It's been a bit since I've blogged about WordNet, but still Samuel hunted me down and sent me an email about his project, compiling the uber WordNet Language list. And since he's from a SoCal College, (and it has been a while since I've blogged about WordNet... oh wait, I already said that... ;) here you go!


Related Past Post XRef:
Mix OpenNLP, IKVM.Net and C# and you get some noun phrase and contextual relevance goodness
SharpEntropy - Maximum Entropy Modeling
"Statistical parsing of English sentences"

Java for .Net? Yep, the IKVM.NET way...
Java for .Net? Ja!
Java Implementation for Mono/.Net (IVKM.Net)

NLP is Hard... But with AboditNLP it's not as...

Rest easy with RESTier - Building your Web API OData feeds faster with RESTier

OData Team - [Announcement] RESTier - A turn-key solution to build OData services

What is RESTier

RESTier is a RESTful API development framework for building standardized, OData V4 based REST services on .NET. It can be seen as a middle-ware on top of Web API OData.  RESTier is built with the inspiration of combining simplicity of WCF DS with the flexibility of Web API OData.

The main exciting features of RESTier are:

  • Help developer quickly build an OData service within minutes. You need just one controller, no more than 100 lines of code to easily bootstrap an OData service. 
  • Help developer easily add business logic into their services.

What about ASP.NET Web API OData?

As mentioned in the first part, RESTier is based on Web API OData. Web API OData will continuously be improved and RESTier will benefit from the improvements.

Getting started

The main getting started tutorials below show you how to user RESTier step by step.


Document and more samples

RESTier intends to be fully open-sourced, source code will be available on GitHub soon.

  • GitHub repository . We use GitHub to track issues. You can report bugs, provide improvement suggestion directly on GitHub
  • RESTier wiki . Detailed document and samples are available here.


Please be noted

  • RESTier is still at a preview stage.
  • RESTier currently only supports Entity Framework data provider. Other data providers will be added in the future.



Mostly I liked the title... lol.

That said, I like the concept behind making it easier to create, though we've all learned to take claims like this with a grain of salt. Will be keeping an eye on this to see if it has any legs...

Thursday, January 08, 2015

Coding4Fun Toolkit Lives! v2.0.9 released with more WinRT/WP 8.1 support

Invoke IT Limited - Coding4Fun v2.0.9 released #wpdev #windev #winrt

Coding4Fun toolkit v2.0.9 for Windows Platform dev has been released and packages are available for download from Nuget.

This update builds additional support for Windows Runtime on Windows Phone 8.1 and Windows 8.1. Controls added to this release include

  • MetroFlow control (Windows 8.1 and WP 8.1)
  • Prompts (Toast, User, Message, Input, PasswordInput) for WP 8.1
  • BrushToBrushConverter now allows use of parameter to set output Opacity.


SubramanyamRaju Windows Phone Tutorials(C# - XAML) - Great News! Coding4Fun Toolkit Controls are supported for Windows Phone 8.1- Part 1 (C#-Xaml)


Yesterday i found from twitter as 'Coding4Fun Toolkit is Supported for Windows Phone 8.1'.And i want to be say thanks to Hermit Dave for sharing this info on twitter. Now Coding4Fun toolkit v2.0.9 for Windows Platform dev has been released and packages are available for download from Nuget.
In WindowsPhone 8.0 we got lot of additional controls from Coding4Fun,The Coding4Fun Toolkit has multiple controls and useful items for XAML based applications.And current version v2.0.9  includes following controls.
  • MetroFlow control (Windows 8.1 and WP 8.1)
  • Prompts (Toast, User, Message, Input,About, PasswordInput) for WP 8.1
  • BrushToBrushConverter now allows use of parameter to set output Opacity.
Note: In Version 2.0.8,support was added for windowsphone store 8.1 and now more controls were ported across in 2.0.9. So that 2.0.9 is second version for wp8.1 store :)
...This article will teach you about 'How to use MessagePrompt control in WindowsPhone store 8.1 ?'.



Coding4Fun Toolkit



I thought I was seeing things when I started seeing activity on the Coding4Fun Toolkit project. Nope, it's alive and still kicking... Okay, so it wasn't a huge release, but still it's STILL a release! Kudo's to the new team and their work...


Related Past Post XRef:
Coding4Fun Toolkit v2 Released (fka Coding4Fun.Phone.Toolkit), now with Windows Store, Windows Phone 8 and Windows Phone 7!

Coding4Fun.Phone.Toolkit v1.5.0 Now Available...

Coding4Fun Windows Phone Toolkit (CF4 Blog Post)

Coding4Fun.Phone.Toolkit v1.3 Released (New Message Prompt, Password Prompt controls and Toast fixes + now NuGet'able too)
The Coding4Fun team has done it again, released another “Kit” that is… The Coding4Fun Windows Phone Toolkit
CF4DevKit (Coding 4 Fun Development Kit) 1.0 Released
Cool Coding with VS2008 and Vista via the Coding4Fun Developer Kit 2008 Vol 1 (Beta

Syncfusion Essential Studio Enterprise Edition ($9,975 value WITH updates/support) now available for free for individual and small companies

SuperDevResources - Free Toolkit worth $9,975 from Syncfusion for Individual Developers & Small Companies

Syncfusion has decided to follow the steps of Microsoft and is giving a great New Year present to Individual Developers & Small Companies. Similar to Visual Studio Community Edition, Syncfusion is now offering free License for its product Essential Studio which includes over 650 components across 12 platforms such as iOS, Android, Windows & Windows Phone.


Syncfusion Essential Studio Enterprise Edition Community License



The Essential Studio Enterprise Edition Community License provides free access to our entire product offering for individual developers and small businesses

What's included?

All products available in Essential Studio Enterprise Edition and Syncfusion Plus are included. This comprehensive offering includes over 650 components across 12 platforms, an easy-to-use big data platform, and much more. Support and updates are also included.




Who is eligible?

Individual developers or up to five users at companies with annual gross revenue below $1 million USD.

Can the products be used to build commercial applications?


How long are the licenses valid ?

The community licenses do not expire. You will continue to receive support and updates for new versions.

Why are you doing this? What's the catch?

We loved what Microsoft did with Visual Studio Community Edition and decided to extend it to our products as well. There is no catch, but we would really appreciate it if you help spread the message through Twitter, Facebook, and Google+.

We really like what you are doing. How can we help?

We hope to add even more value to this program in the future, but we need your help in reaching more developers. We would appreciate any help spreading the message through Twitter, Facebook, Google+, email, or blogs.

WOW. Now that's a gauntlet thrown! I wonder how the other top tier component vendors will respond?


Related Past Post XRef:
Visual Studio 2013 Community, Azure VM style...
Who can use VS 2013 Community Edition for free? (No, it's not everyone) Here's the official word...
This IS the Visual Studio you've been looking for... Hello Visual Studio Community Edition!

.NET Code Contracts are now OSS



Code Contracts provide a language-agnostic way to express coding assumptions in .NET programs.

The contracts take the form of pre-conditions, post-conditions, and object invariants. Contracts act as checked documentation of your external and internal APIs. The contracts are used to improve testing via runtime checking, enable static contract verification, and documentation generation. Code Contracts bring the advantages of design-by-contract programming to all .NET programming languages. We currently provide three tools: Runtime Checking. Our binary rewriter modifies a program by injecting the contracts, which are checked as part of program execution. Rewritten programs improve testability: each contract acts as an oracle, giving a test run a pass/fail indication.

Automatic testing tools, such as Pex, take advantage of contracts to generate more meaningful unit tests by filtering out meaningless test arguments that don't satisfy the pre-conditions.

Static Checking. Our static checker can decide if there are any contract violations without even running the program! It checks for implicit contracts, such as null dereferences and array bounds, as well as the explicit contracts.

Documentation Generation. Our documentation generator augments existing XML doc files with contract information. There are also new style sheets that can be used with Sandcastle so that the generated documentation pages have contract sections.

Quick Links

Nice to see this open sourced, given the recent silence about it...


Related Past Post XRef:
.Net Code Contracts + XML Comments = (as good as) peanut butter and chocolate?

Tuesday, December 30, 2014

Connect the IoT Dot's with help from (Connect your tiny IoT devices to Azure...)


image is an open source project by Microsoft Open Technologies created to help you get tiny devices connected to Microsoft Azure and implement great IoT solutions taking advantage of Microsoft Azure services such as Azure Stream Analytics, Machine Learning or HD Insight.

As part of the project you will find code samples, configuration scripts and guides that will help you set up tiny devices and configure Microsoft Azure services to make the most out of the data produced by your devices.

Starting with a basic scenario, the intent is to make the project grow with more devices types, more scripts to provision and configure Azure services and more "Getting Started" guides to help you implement full end to end solutions yourself.

As a first sample, we have created a simple end to end solution, from device all the way to a Website, that consists in displaying in real time on a web page raw temperature and humidity data generated from an Arduino board equipped with a weather Shield as well as alerts and processed data generated by Microsoft Azure Stream analytics based on the raw data from the device. We are using a Raspberry Pi, acting as a gateway, to send the data from the sensor up to Microsoft Azure Event Hub service. Azure Stream Analytics

Check out the Wiki to try out your first project!

Connect The Dots - Quick Start

The MS Open Tech project illustrates how to connect sensors and devices to the Microsoft Azure Cloud, and use Microsoft Azure to analyze and visualize the resulting data streams.

In a typical topology, sensors (here several Arduino Uno R3 boards with Arduino Weather Shields) connect to one or more local IoT Gateways (here Raspberry PI devices), which relay the data to Microsoft Azure Event Hubs. Once in the cloud, the data streams are fed into a web dashboard and to near real-time analytics engines (here Microsoft Azure Stream Analytics, in this case to generate averages and alerts across all devices). The real-time data streams, average, and alerts are then visualized in a Microsoft Azure Website, which can be viewed with any HTML5-capable browser. The high level architecture for the ConnectTheDots.IO project is shown in the figure below



I've only been doing my Coding4Fun Hardware Friday posts for how long (Hint: I start my 5th year next month) and this is the first I've seen this project. Oh sure, it's only been out a few months, but still this is a space I watch out for and I'm just now seeing this? You know what this says? Says we need more IoT blogs and shows! Funny that Channel 9 is doing just that, with the Internet of Things Show :)


[Found via Secret Microsoft Communications - IOT: Connect the dots by MS Open Tech, gets your UNO connected to the cloud!]

Writing Bug Reports that won't bug you...(or the dev that picks it up)

QuickLeft - How to make friends and write a proper bug report

Imagine coming home from a day at work, and there's a note from your spouse that reads:

"Fix the light, it's broken"

You have no idea where to start. Which light is it? Did they mean lamp? Which part is broken? How did it break? Is it outdoors or indoors?

When your spouse returns home, they ask, "How come you didn't fix the light? Didn't you see my note?"

Now think about how the developers on your team feel when they get a bug ticket that reads like this:

"The buttons on the homepage are broken"

I'm embarrassed to say, this is an actual bug report I filed recently. I didn't describe how it could be reproduced nor in what context I'd found the bug. Needless to say, the developer who'd been assigned the ticket had no idea where to start. Truthfully, it even took me a while to remember what this bug was about!



Is there a class/video/dime-cast/Plural sight/Khan Academy/etc./etc. thing on writing bug reports? Why is it so hard to do well? And why do we, even very experienced dev's even have hard times remembering to do them well (let alone "users")?

One reason is that they might not be the recipient, required to take action on them, enough? One of those walk in a dev's shoes thing?

Or is that we all seem to have to re-invent this wheel?

Or that so much that could be automatitcally gathered, isn't?

Or that enough guidance isn't provided?

Or are we all just lazy?

Or a little of all of the above?


In any case, you want to get your bug or issue fixed? Want to get some bug crushing love from a dev? Give them as complete and detailed bug report as you can! You can't provide too much detail, information, already taken troubleshooting steps... Really, you probably can't... 

Monday, December 29, 2014

Regular Expression Explorer, v2.1 released (i.e. VS 2012, 2013 version)

Visual Studio Gallery - Regular Expression Explorer

Test regular expressions against sample text. Select preset suggested patterns or create and save your own. Copy the pattern to the clipboard for pasting into your code. Share your patterns with FaustWare to be added to future releases for all to use.


Current Version is 2.1

See the change log below for more details.

RegEx Explorer is a visual studio addin which lets you create or modify regular expressions and test them with any text. Matches are highlighted by surrounding each with a red box. A dropdown list of suggestions is available with choices for email, GUID, URL, etc. Any pattern you create can be added to the suggestion list. Existing suggestions can be removed by pressing DEL on a selected name.

Checkboxes are available for Ignore Case, Multiline and to auto-add or remove a ^$ wrapper. Patterns can be saved to be future suggestions. Patterns can be copied to the clipboard with a button press for pasting into your code. Matches are displayed in real-time as you type.

Read the README file for more information.

This add-in is offered for free, but donations are welcome (and encouraged!) if you like the utility. Also, please report any issues or make suggestions for changes.


Changes in 2.1:
- Created Extension for Visual Studio 2012, 2013


I blogged about this Extension 5 1/2 years ago, Free regular expression addin for Visual Studio - Regular Expression Explorer and I think what stuck me most was how the Gallery has changed since then.

Then (Aug, 2009)


Now (Dev 2014)


Welcome to the world of the clean web... :)

RIP Dr. Dobb's

Farewell, Dr. Dobb's


After 38 years of glory, the long run of Dr. Dobb's has come to an end.

This year, our website will deliver almost 10.3 million page views, which is an unprecedented number for Dr. Dobb's. It's up from 9 million last year and 8 million three years ago. That kind of growth is somewhat unusual for a site that has not changed its look or its mission, nor indulged in tawdry tricks like click-bait headlines or slideshows promising 9 quick tips for choosing a coding style. The numbers confirm that there is a deep thirst in the programmer community for long-form technical content featuring algorithms and code, as well as strong demand for explanations of new developer technologies and reliable reviews of books and tools.

If I were so inclined, this might be the right time for me to move on, and so leave, as they say in sports, "at the top of my game." And indeed I will be leaving Dr. Dobb's at the end of the year. But it would be more accurate to say that it is Dr. Dobb's that is leaving: Our parent company, United Business Media (UBM), has decided to sunset Dr. Dobb's. "Sunset" sounds like a marketing euphemism to avoid saying "closing down," but in this context, it has a specific meaning that "closing" does not convey. That is, that there will be no new content after year end; however, all current content will be accessible and links to existing Dr. Dobb's articles will continue to work correctly. It is the equivalent of a product coming to end of life. It still runs, but no new features will be added.



Why would a well-known site, dearly loved by its readers and coming off a year of record page views, be sunset by its owner?

In one word, revenue. Four years ago, when I came to Dr. Dobb's, we had healthy profits and revenue, almost all of it from advertising...


Dr. Dobb's subsequent popularity meant that it became a worldwide means of sharing curated, high-quality programming info. The advent of the Web, which offered a vast array of new information sources, meant that Dr. Dobb's was no longer the central access point — a complicated transition for the team, but one wholly in keeping with the original mission. With the advent of Hacker News and Proggit and other aggregators, developers themselves began curating content from numerous sources, and in a certain way, our mission is now complete.

This should not suggest that there is no role anymore for Dr. Dobb's. As our page views show, the need for an independent site with in-depth articles, code, algorithms, and reliable product reviews is still very much present. And I will dearly miss that content. I wish I could point you to another site that does similar work, but alas, I know of none.


I saw this recently and it made me kind of sad and feel kind of old.. We'll miss you Dr. Dobb's (and all those other print-turned digital-turned dead publications)  :(