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:     …

Top 5 companies where I’d love to work

I’m a developer. Fortunately for me, I love writing code. At the same time, most companies where I work are not technology companies but service companies. I sometimes day-dream about working for a pure technology company. I would love to build technical products for developers. I’m grateful these companies exist. They make my career easier everyday. Here’s my list of the top 5 companies where I’d love to work. …

Natural Language Processing and Scalable Architecture

There are many companies state they do natural language processing (NLP) for electronic medical records (EMRs). However, I see two major problems with this claim. Most companies aren’t doing NLP This is only a problem if the company isn’t delivering on the promise of NLP. The technology is used to look through human-generated free-text content. This blog is an example of this. An Excel spreadsheet, is not free-text content. Using …

Technology versus Services

What is a technology company?

I’ve worked with many different types of companies. They can be separated by market; healthcare, medical research, insurance, financial services, etc. However, it’s more important for me to determine if they are a technology company or a services company. I use a simple matrix to determine what type of company I’m working with. Services Companies A services company has a …

Big Data helps the move from Fee for Service to Capitation-based payments

The Fee For Service model for medical payments is the predominant payment scheme in the United States. In the Fee for Service model, physicians are incentivized to provide more treatments regardless of effectiveness. There is no link between the recipient of services and payment for those services. The recipient of the medical services, the patient, does not directly participate in the fee transaction. They …

Pro Office 365 Development

Pro Office 365 Development This is an excellent book for anyone (developer or user) who needs to learn the full benefits of your Office365 subscription. I just migrated a client of 30 users from hosted exchange to Office365. This is the book I gave to the chief of operations when he asked “what was so great about Office365?” Within a …

Learn C++ for Game Development

Learn C++ for Game Development I program a lot in different languages. However, I’ve never really had a need to program in C++. Recently, due to a project requirement, I needed to write in C++. I was looking for a concise, and still informative guide. I really needed something that would allow me to ramp up to writing C++ in …

Beginning Application Lifecycle Management

Beginning Application Lifecycle Management by Joachim Rossberg This book covers a very important topic for modern product development and management. Application Lifecycle Management 2.0(+) is the practice of how businesses need to manage their product management. This includes the practices from business need creation through product development and finally to production support. This book is a critical read if you …

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 …

Big Data : Overview (Part 1)

Please join me for a series of talk on Big Data with the South Shore .NET Users Group. I hope you can make it. Big Data has become the new buzzword like “Agile” and “Cloud”. Like those two others, it’s a transformative technology. We’ll be discussing: What is it? Technology key words HDFS Hadoop MapReduce ElasticSearch This will be part …

Bootstrap Bootcamp

Thanks to everyone who can to my Bootstrap Bootcamp. The agenda covered: Getting started Mobile first with the grid system Themes HTML Elements (tables, buttons, etc) Forms Navigation Bars Alerts The code can be found in my GitHub Bootstrap Bootcamp repository. As promised, here are the slides:

Continuous Integration Step By Step

Continuous Integration is a critical part of successful software development. Here are my slides from my recent talk on Continuous Integration Step by Step. Continuous integration (CI) allows you to check the quality of your project on every developer commit. It’s a key part of any Agile environment. We will start with a 5 year old ASP.NET WebPages application and …

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 …

South Shore .NET joins INETA

South Shore .NET Users Group is officially a member of the International .NET Association. About INETA: INETA provides structured, peer-based organizational, educational, and promotional support to the growing worldwide community of professional user groups. Our mission is to offer assistance and resources to community groups that promote and educate their membership. INETA welcomes all facets of the user community, from …

South Shore .NET Users Group

The South Shore .NET Users Group is a collection of .NET developers living in the Boston South Shore area. Although we mostly live on the South Shore several attendees live in Boston, some even on the North Shore. We meet on the last Thursday of the month. Past and future meetings can be found on our meetup site: South Shore .NET Users Group. …

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, …

Project a mess? Send in the clean up crew!

We love patterns in software development. Codifying patterns is an attempt to acknowledge good principals for designing and delivering software. We have so many types, for example: Design Patterns Enterprise Architecture Patterns Database Design Patterns UI Patterns Development Process Patterns Development Process Patterns typically include the following: Continuous Integration Agile Test Driven Development And so on…. There are also so …

Don’t know your velocity? You’re not Agile. You’re Fragile!

Many organizations claim to be running Agile shops.  I get two responses when I ask about their Agile practice They (try to) run iterations. They hold daily standups. These are two of several practices which contribute to being Agile.  However, alone, they will never realize the true value of the practice. The normal follow up questions I have for these …

Introduction to Agile

I recently gave a coaching presentation to 20Mile Interactive on Agile Management. Here are the slides I used. For the first hour, we covered basics.  We spent the next few hours going through typical workflow scenarios teams usually encounter. Introduction to Agile from wbsimms

Developers and Technical Minefields

Technology changes quickly. Every week there are new tools, frameworks, and paradigms. Choosing the right technology for a new project in a constantly changing landscape can be daunting.  Popular developer websites (and blogs!) are filled with articles on “the next big thing” which every developer “must” know. In my experience, most of these technologies will be short lived. Some will prove …

The Cost of Meeting Lurkers

A simple way to improve team productivity is to stop inviting “lurkers” to meetings.  I was introduced to the term “lurker” in 2000 when I was active in IRC chat rooms. A lurkers is someone who doesn’t provide any value to the group chat.  Their participation is very minimal and usually not helpful.  In meetings, a lurker is someone who similarly doesn’t participate …

Ruthless Meetings

Ruthlessness has always had a bad rap.  There is a thought that being ruthless is uncaring or cold.  However, being ruthless is a virtue when it comes to staying on track to meet project deadlines.  A current client of mine often has one hour meetings in which, after 20 minutes and the pertinent topics having been resolved, everyone in the meeting …

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 …