Its Happening! Its really Happening! ^_^

So, big news. The Oculus/Facebook folks just announced that all kickstarter backers who got a unit, will get a commercial unit!  As, an original backer of the Oculus (and one of the backers who was actually ok with the facebook purchase), I am extremely happy, and extremely proud/humbled that I was a part of helping VR come back. 
Big Thank you to the folks at Oculus!

As a small token of our appreciation for your support, all Kickstarter backers who pledged for a Rift development kit will get a free Kickstarter Edition Oculus Rift! And like all Rift pre-order purchasers, you’ll receive a bundled copy of Lucky’s Tale and EVE: Valkyrie.
To claim your free Rift, fill out the survey you’ll receive from Kickstarter before February 1, 2016 and provide a shipping address that is located in one of the 20 countries Rift is launching in. For those who don’t live in one of those 20 countries, we’re working on an alternative, and you can let us know your preference in the form.

signalr and friends

What have I been up to? Currently I am really into Microsoft's SignalR technology. It has me thinking about things like realtime applicatoin configurations as well as realtime dashboards with decentralized data points. Right now you have things like splunk and such which are great for historical processing of data, etc but what if you want realtime monitoring of an application and also communicate configuration to that application? 
There are some great examples out there of this stuff, So i am going to dive in and hopefully have some code up on bitbucket or github!
Also I am a bit interested in bringing a more efficient transport mechanism to SignalR like MessagePackor Protocol Buffers or even an elder statesmen like hessian!

Finding Libc

So,  as you know, I've been tooling around with the LLVM IR syntax and the Gold Parser framework. I have the scaffolding for the CIL conversion 90% done, and I am almost ready to parse the "Hello world" code found in the LLVM documentation. There is just one catch. In the Hello world, there is a call to an external standard io library function called puts(). Those fimilar with C/C++ would know that you include the standard header, #include <stdio> or #include <stdio.h> and you magically gain access to this function.

Porting that specific line into CIL would be easy, i'd just replace any puts call with a WriteLine call included in the standard System Library. This is fine to get the sample code running, but it is not a solution going forward. I need to get a list of basic libc commands and rewrite them to work with the System library in the CLI.

DotGnu Project Resurrected?

Years ago (around 2003-2004), the GNU community was really interested i…

Goodbye ZFS?

ZFS my one true love I've used ZFS at home since about 2007. Thats a long time for a technology. I have used it through Solaris 9, 10, 11, Nenenta, Illumos, at al. It is an amazing feat of engineering. Dtrace is another little thing i use, from time to time, on Solaris as well...but not so much in recent times.

Time for an annulment? While I could say its been all roses, it hasnt. There have been issues with running third party software on solaris. FFMPEG was a beast in the early days to get compiled an running. I used my storage array for many things, and transcoding was one of them. I wanted to move away from running things like tversity on my desktop. I also wanted to get away form development on my desktop, so I started moving toward VMs for everything, which turned out to be the best thing ever....except for a few issues....USB support was shabby for awhile on virtualbox so deploying software onto a device was difficult (to say the least). Things have gotten better. I attemp…

Quick Progress!

Parsing for fun and profit I remember creating parsers to be a bit harder. I tried using Antlr when doing the JavaFX DLR project and failed at it miserably. It felt messy. I couldnt get a feel for how to structure the document, etc. I was drawn to the Irony parser framework because declaring the grammar in C# somehow felt (at the time) cleaner and it seemed to allow for more expressive statements and character logic.

I am not sure if it was my previous experience with parsing and Antlr (or Irony), or how clean and expressive the GOLD parser framework is, but I've been able to create a working parser in just a few days of coding. And by working, I mean it parses and understands valid LLVM IR straight from the project's documentation: 
I actually implemented a a lot more operations and keywords needed to parse the example. It was just easier that way. I am going to now start building an AST. I've decided to be a bit aggressive because I think the AST will drive some Grammar…
So I've again been bitten by the Transcoding/transpiling bug...Doh!

My history with Transcoding  A few years back (around mid-2007), I was enamored with a new language on the block, JavaFX (now vala). Alas, I had moved on from the Java platform to the .Net platform during that time, and Silverlight just hit the stage (and WPF). I was more of a fan of the declarative and expressive nature of JavaFX than I was of XAML, so I looked into porting JavaFX script to the .Net platform (and later the DLR). I halted my work in 2008-2009, as JavaFX script was dying, and the Parser technology I was using (a great C# based parser called Irony) was giving me issues when integrating with the DLR.

The LLVM Project
I've been a fan of the LLVM project since about 2009. I have also watched its MSIL backend go into disrepair and interest in C# as part of the vmkit wane. I answered some stack overflow questions in 2011 about this…

Fun with the Cloud


I've been busy these last few months. I've Worked on porting Mono to the BB10 platform. worked on porting Google's Snappy compression to ZFS and a few other little side projects.
Recently I came across an intriguing open source project, GamingAnywhere. GA basically a private cloud solution for Cloud Gaming services like Gaikai or OnLive. Cloud gaming has always interested me. What is interesting about private cloud gaming is that you can use your general purpose PC as a gaming hub for your house. You can have a fairly nice Mid to high end PC and, in theory, not have to care about how it fits in with your entertainment system etc.

When you set up a GamingAnywhere server, it pipes your full desktop, or a specific named window'ed application to a GamingAnywhere client. It currently uses lag free x264 settings, at 24fps (Which if course brings up bandwidth and latency issues...the same issues that OnLive et al, have been working on). Currently both the client and s…