Twitter Client for IOT

You should have heard by now that Microsoft has really taken a huge step into Microcontroller programming with their Universal Windows Platform (UWP). This allows developers target multiple deployment platforms such as Windows Desktop, IoT devices (like Raspberry Pi 2), phones, tablets, etc. However you can program using common .NET tools such as Visual Studio, common Microsoft programming libraries such as …

WPF Themes from Syncfusion

Windows Presentation Foundation (WPF) is the de-facto Windows desktop technology. WPF allows the rapid creation of desktop applications with amazingly complex functionality. The hard part has always been to make desktop application look good. Functionality may be excellent, but the square controls and gunmetal grey colors don’t have any wow-factor. Syncfusion Essential Studio Community Edition is their offering for individuals …

Syncfusion NuGet Sources

Syncfusion Essential Studio Community Edition is Syncfusion’s offering for individuals and small businesses. It’s a free and massive array of tools which will really improve your time to market and UI. Among other tools, they provide UI tools for WPF and JavaScript. Luckily for us, Syncfusion provides a NuGet server which allows us to use NuGet for dependency, package management, and easy upgrades. This …

Add the build number to websites automatically

I always add the build number to websites automatically in my continuous integration environment. This allows developers and testers to ensure which build they are testing.  To review, my continuous integration system always does the following: Build all the code from a clean environment Report on code duplication Recreate the test database from scratch Deploy all services (including services and …

Proximity Speech Alarm using Gadgeteer

Here I show how to create a proximity speech alarm using Gadgeteer. Basically, it yells at you if you get too close. This project uses the following components: FEZ Raptor Distance Sensor 8Ohm Speaker Emic 2 speech synthesis board GHI extender module Here it is assembled:           Here’s a video of the final project: The source code can …

Marquee Lights using 74HC595 with Gadgeteer

I saw an example of someone doing marquee lights using *duino and 16 putput pins. I wanted to reproduce it using Gadgeteer, 3 pins, and a series of 74HC595s. Here it is: Marquee Lights using 74HC595 with Gadgeteer. This uses the following components: FEZ Raptor 16 LEDs 2x 74HC595 200Ohm resistors A ton of wire The setup looks like this:     …

LogicEngine library

Today I published my first NuGet package, LogicEngine library (also on GitHub). This is a small logic engine that enforces a good separation of logic rules from your model. The LogicEngine library is designed to run arbitrary rules or bits of logic against a given model. It’s written in C# .NET 4.5.1. This project is born out of a DRY (don’t …

Unit Testing and Tools

Unit testing and tools was a huge talk. This talk clearly needs to be broken up into two sessions (maybe three!) Here are the slides. Unit Testing and Tools from William Simms   Key points from the presentations are: Unit testing is critical for high-quality on-time software Run all tests, all the time Tools demoed: MSTest Moq NCover Jenkins Unity …

Mocking Frameworks : Telerik JustMock Free vs Moq

Telerik’s JustMock Free Review Telerik’s JustMock Free is a unit testing mocking framework that allows developers to create mock objects for interfaces. This is a common practice which writing unit tests. It has recently been released as a free offering. It competes will with other free mocking libraries (Moq, RhinoMock,etc) and others. However, it has some advantages: 1) Cleaner API …

Enum Support in Entity Framework

I’ve used Entity Framework 4 quite a bit. One of the big problems was the lack of enumeration support. If you wanted to use enumerations in EF4, you’d have to create some sort of constants table with a foreign key constraint. Then you could map your constant table values to an enum. It felt very “hacky”. I was excited to see Enum support in Entity …

LINQ and EF6 to generate a top ten list

  I recently added a top ten musicians of the week to my PracticeTime application. Normally, I would have used some sort of view or stored procedure for this.  However, those strategies are hard to unit test and modify. I need data in the database to test if I use either database-centric approach. LINQ and EF6 provides an easy way to achieve …

A tool to find what Twitter hashtags you should use

I love Twitter. It’s a great tool to find current information for any topic of interest.  However, sometimes it feels like a message in a bottle endeavor. You post a tweet and it’s just gone. If you’re using twitter for your business you need to include a link sending people to your site. That’s probably how you got here today. 🙂 However, …

Unit Testing and Tools

I recently gave a talk to the South Shore .NET Users Group. Unit Testing is now considered a required skill for developers. There are a ton of tools out there. However, there’s nothing that shows you how to tie them all together to make your software fast, testable, and flexible. This talk will go over my toolset: • MSTest • …

Git and GitHub for .NET Developers

I recently gave a presentation on Git and GitHub for .NET developers for the South Shore .NET Users Group. Thanks to everyone who came out. Git and GitHub are wildly popular right now with all types of developers. I want to discuss how git (and GitHub) can be used in the .NET world. Git and GitHub for .NET Developers from …

Resharper Temple for MVVM Light Toolkit Dependency Properties

I love MVVM Light Toolkit for WPF development. It’s light, fast, and makes desktop development super easy. However, you constantly have to create dependency properties. I also love Resharper. It has an excellent templating system.  Resharper -> Template Explorer Here’s the template I use to create Dependency Properties for MVVM Light Toolkit.  I hope you find it helpful.

Azure Service Bus Relay

The code for this solution can be found in GitHub. I had a common firewall problem.  I needed to connect to a service behind a firewall.  Normally, this would have two possible solutions: Open a port in the firewal Setup a VPN to the network  #1 can be a massive politicial hurdle.  IT and security staff usually only allow well-known and common services …

SignalR Hub demo site

I needed a solution to broadcast real-time data from a webserver to either a desktop or webclient. SignalR is perfect for this. I’ve uploaded a simple working demo for SignalR using the hub strategy. This is what you’d typically use in a broadcast type of system. This could be a chat or stock-market quotes client. The system needs to send …

Video source missing

Number Pad for the Gadgeteer Touch Display

A few weeks ago, I published a helper module to turn the GHI Gadgeteer display module into a touch keyboard.  This was missing two things: An enter button (doh!) A number pad (or keypad) Here’s an action video: The code for this, with examples of usage can be found in my GitHub Gadgeteer repository: TouchKeyboard Helpers There are now two …

Basic Entity Framework Migrations

Entity Framework supports a code-first approach with migration support.  This article covers what I learned using EF and Migration for a new project.  This project resulted in a base ASP.NET MVC4 framework I can use as a boilerplate for multiple projects.  The boilerplate project can be downloaded from my GitHub repository.  The repository is easy to use.  Simply do a …

MVVM Light Toolkit Messaging Example

I use MVVM Light toolkit for my WPF applications at work. I’ve always only used it’s basic features: SimpleIoC and the ViewModelBase. It’s a very powerful and framework. However, I’ve been wanting to explore more feature of the framework. When I start with a new technology, I always create simple and fully-working examples for reference… and for other coworkers. Here …

Gadgeteer Touch piano

I had some extra time this week so I thought I do something a bit musical today.  I created a simple touch piano with my gadgeteer kit.  I use a simple piezo speaker attached to an extender module.  The display module shows a series of labeled keys.  Each key is wired to the TouchDown and TouchUp events.  Pressing the key …

Web reporting range sensor

This week I’m combining two previous projects using the range sensor and wifi modules. This is a distance logger which can be queried via web. Once a button is pressed, the networking stack is started and the webserver is started. The distance module starts recording when anyone gets closer than 50cm. A simple webserver can be queried to get the …

Motor Driver control with Display and Joystick helper classes

I find myself constantly copy/pasting my simplay display code and having the re-work my joystick control methods each time I want to reuse them.  Today, I moved all that logic in two helper classes.  The JoystickHelper class is particularly useful and is much better than the built in GHI joystick methods. To demonstrate their usage, I created a simple example …

Range Sensing Camera

GHI released range sensing module using the HC-SR04.  I had previously purchased an HC-SR04 and tried using a breadboard for it. My non-GHI HC-SR04 didn’t work well.  At best it would only work within an 6-20cm range.  The GHI module looks very different and works well from 6 to 250cm. To test the module, I created a simple range sensing camera.  …

Servo control using the joystick module

I wanted a way to build a steering system. I’ve previously covered using the joystick module and controlling a servo with the extender module.  Here is a way to control a servo with the joystick module.  This uses parts of both example. I also use the display module to show if the servo is moving left or right and the …

Simple touch control using the display module

My background is in desktop UI programming using Windows Presentation Foundation. WPF is an amazing framework for creating highly responsive complex (or simple) desktop or Silverlight-hosted applications.  NETMF has a subset of WPF features which, for the most part, are easy to pick up of you have some WPF experience. A great reference for WPF is WPF Unleashed by Adam …

MultiLED control using Queue data scructure

Here is an example of using the queue collection to control the GHI multi-color LED module.  I’ve seen several examples of the same code but using some variant of an arraylist with a tracking variable.  Using or queue accomplishes the same thing but in a more obvious way.  I’m also showing a method I use for showing simple text on …