Skip to main content

Posts

Showing posts from September, 2012

Introducing SignalWire – Magical Plumbing with your Data Store + C# and LINQ in your HTML pages

SignalWire is an experimental Server<->Client plumbing project I started, that magically wires up your HTML5 front end to the collections/tables in your data store or ORM, and I just pushed the first commit to Github. SignalWire uses SignalR and Roslyn libraries to implement features likeExposing collections in your Back end directly over the wire for CRUD operations and for performing LINQ queries from your JavaScript. Enable using C# in your HTML applications. I got inspired by Meteor and started SignalWire as a POC to implement some of these features on the .NET stack, but I’ve got few more ideas on the way and thought about pushing this to Github.  See the codebase in GithubCheck out this quick video (no sound, sorry), a simple Taskboard built using SignalWire. See how we are accessing the collections in Javascript, and check how we are issuing LINQ queriesAs of now, support is available for EntityFramework and MongoDb as the back end. Also, it providesA light weight permiss…

Roslyn September CTP 2012 Overview – API Changes, Using Modified APIs for C# Script Execution, Embedding C# as a scripting language

Microsoft Roslyn September CTP 2012 is now released. You can download the September CTP hereYou could find a quick overview about Roslyn in my previous overview post.Roslyn CTP previews the upcoming features of C# and VB.NET. Roslyn CTP is a pretty exciting release, and it opens up lot of possibilities for C# and VB.NET programmers. Roslyn provides language services and APIs on top of .NET’s compiler services, and this will enable .NET developers to do a lot more things – including using C# and VB.NET as scripting languages, use compiler as a service in your own applications for code related tasks, develop better language and IDE extensions etc.What’s Exciting In September CTP (CTP3) releaseOne of the biggest excitement for me is the support for Expression Trees. This means, now you can include LINQ Queries in your script, and you can dynamically execute LINQ queries. This has lot of interesting aspects, and this is huge. For example, see how I’m executing a very simple Linq query fro…

The problem with being passionate about technologies

The title is a little bit misleading. There is nothing wrong with being passionate about technologies you love/like. In fact, I believe in being a passionate developer, and I appreciate having passionate people in my team and around me.The real problem is – being subjective about something just because you are passionate about the same.  Few quotesSubjectiveSubjective information is one person's opinion. In a newspaper, the editorial section is the place for subjectivity. It can be based on fact, but it is one person's interpretation of that fact. In this way, subjective information is also analytical.ObjectiveObjective information reviews many points of view. It is intended to be unbiased. News reporters are supposed to be objective and report the facts of an event. Encyclopedias and other reference materials provide objective information.Now, let us relate this to the developer’s life. Think about how you selected a specific framework or platform for your last assignment? Wh…

5 points developers should know about WinRT/Windows 8

Most of us already started developing for WinRT, so it make sense to have a better understanding of the run time. I am listing down few points with respect to WinRT, mainly from a developer’s perspective.1 – WinRT is a new collection of COM objects, native to Windows Here are some quick points about WinRTWinRT is native, and all WinRT objects are unmanaged and use COM as the base. WinRT objects implement IUnknown and ref counting.  WinRT objects wraps a new XAML UI system, along with Win32 APIs. It consumes tons of Win32 APIs (Do dumpbin on a WinRT library) . The new set of XAML libraries are purely native, don’t confuse them with Silverlight or WPF though the terminologies remain same.As WinRT is COM and hence it is more closer to the Operating system, it is easier to write language bindings (Projections) for WinRT.A projection is a way of expressing WinRT in each language. More about this belowJust in case you havn’t perceived it yet, WinRT world is totally different than the manage…