Tuesday, October 28, 2014

Fun - MIDI Controller

I do a bit of live streaming. It’s a pretty fun hobby, and gets me talking to groups of people on a semi-regular basis, which is a great skill for any developer to have. One of the things I like to do while streaming is to play sound bit, or specific songs, during the stream; generally little quips or things like “Ain’t nobody got time for that”.

Additionally, I have a home recording studio, as a hobbyist musician, I have tons of random hardware laying around.

I want to create a new app, to work with those components, so I can blast off songs, playlists, sound clips, and or change scenes in my OBS application.

Monday, June 30, 2014

Save a few hours of your life, and read this.

I have been using Click Once to deploy rich clients for years, pretty much since it became an available tech. No longer the days of creating self-restarting hard to maintain launcher code in my main method. One of the pain points of it, and albeit for a pretty good reason, was signing the manifest files.

Thursday, May 15, 2014

Elasticsearch.Net and contributing to Open Source

So often as developers do we sit down and go “I can do this better”, then File –> New. With so many awesome open source projects, shouldn’t we be doing a “git clone” instead and submitting pull requests?

I have been guilty of this forever, and I think most windows developers have.

Friday, May 9, 2014

xUnit.Net–Good time to check it out.

I have been using MSTest forever for Unit Testing, the last time I used nUnit I created a video tutorial on how to set it up circa 2005, that somehow still gets a ton of views, and my oh my how I have changed since that video.

However, I ran across a recent blog post from Rob Conery that showed a really nice for A Simple Approach to BDD. In the article he talks about how he just used xUnit for his unit testing with good naming to have a BDD like approach for his test results.

Elasticsearch–State of the .Net Clients

Among the thousands of other developers, I have jumped onto the Elasticsearch fan base.

Elasticsearch is a flexible and powerful open source, distributed, real-time search and analytics engine. Architected from the ground up for use in distributed environments where reliability and scalability are must haves, Elasticsearch gives you the ability to move easily beyond simple full-text search.

I have been working with Elasticsearch for just under a year now, and I have a pretty good understanding of building queries, templates, facets, and aggregations. About three months ago I switched off of Couchbase+Elasticsearch to just Elasticsearch to “skip the middle man”. Elasticsearch is a powerful document store, it is fast, supports versioning as well as partial and scripted updates.

So let’s talk about the .Net clients that are available for Elasticsearch. There are a few out there, and they have their benefits.

Friday, April 25, 2014

Microsoft.Web.Administration Memory Leak

*DISCLAIMER: THIS IS REPORTED FIXED IN IIS 8.0*

I work with the ServerManager class from the Microsoft.Web.Administration assembly quite a bit on a project for work. We use it to track websites performance, etc… After looking in dotPeek I found out that this assembly is just a COM wrapper for IIS management. As I started deploying this software to servers with more websites, I noticed that the memory growth for my monitoring process was going through the roof (usually runs with 90-150mb memory, I had instances over 9gb of memory).

Directing AngularJS with ASP.Net MVC

Now that we have some basic layout in place, it is time to start creating and using some declarative html in our new AngularJS ASP.Net MVC site.

One of the things that are not out of the box with ui-bootstrap is the jumbotron. Since it is a really simple one to make, lets create a directive for it.

Friday, April 11, 2014

Bootstrapping AngularJS with ASP.Net MVC

In Part 1 and Part 2 we covered the basics of getting our dependencies into ASP.Net MVC. Today we will finally get angular running, and make our home page more than a blank site.

Monday, March 31, 2014

Setting up Bower with ASP.Net MVC

In our last blog post, we went over some basics for creating an ASP.Net project with AngularJS. This time we are actually going to get AngularJS installed, and setup our bundling in an intelligent manner.

Since the open source community around JavaScript moves WAY faster than most people can package NuGet packages, we are going to (for the sake of this tutorial) use Bower for our JavaScript, instead of NuGet.

Tuesday, March 25, 2014

Setting up AngularJS with ASP.Net MVC and Web API 2.0

I spent some time looking up how to setup AngularJS with ASP.Net MVC and Web API and everyone had a very partial implementation, and most didn’t show setting up MVC routing with client side routing.

Here are some quick steps to get started

Thursday, March 6, 2014

Oh shiny, that new framework for…

Let’s face it, all of us at some point in our lives, have looked at something and became completely obsessed with it because it is new and shiny.

This is a two way street with software development.

Wednesday, February 26, 2014

Stateless State Machine

The other day I went to grab a snack in the vending machine at work. I swiped my RFID badge on the reader, waited a few seconds, it showed my balance, and while entering the number of the yummy snack I was ready to consume, the balance went back to zero, which then had the effect of me hitting enter and it displaying “not enough funds, please enter money”.

Knowing full well that a few seconds ago, it showed my balance as being more then plenty, I repeated this process, this time with vigilance in preparing the number ahead of time, so that the second it showed my balance, I could hit enter. Suffice to say, I enjoyed my snack. But this brought to my attention that this state machine didn’t have a path for stopping its pricing update when it had a balance. In other words, a broken state machine.

Saturday, February 15, 2014

The Year of Blogging

In the true spirit of one of my favorite bloggers Jeff Atwood (Coding Horror), I have deemed this the year to blog.
When people ask me for advice on blogging, I always respond with yet another form of the same advice: pick a schedule you can live with, and stick to it. Until you do that, none of the other advice I could give you will matter. I don't care if you suck at writing. I don't care if nobody reads your blog. I don't care if you have nothing interesting to say. If you can demonstrate a willingness to write, and a desire to keep continually improving your writing, you will eventually be successful.
 * Source

This year, I plan on blogging once a week. I am 100% committed to this schedule, so let's see how it goes.