Skip to content

Instantly share code, notes, and snippets.

@mikeobrien
mikeobrien / gist:1666841
Created January 24, 2012 00:19
Raw HID communication with Phidget 888 interface & temp sensor
using System;
using System.Collections.Generic;
using System.Linq;
using HidLibrary;
namespace Temperature
{
public class Program
{
static void Main()
@mikeobrien
mikeobrien / ChannelHandler.cs
Created December 13, 2011 02:03
System.ServiceModel.Dispatcher
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Dispatcher
{
using System;
using System.Diagnostics;
using System.ServiceModel;
using System.ServiceModel.Description;
@mikeobrien
mikeobrien / Subject
Created December 10, 2011 02:40
Build duration in TeamCity email notification subject
Gribble CI v1.3.45.0 Succeeded (3:15)
@mikeobrien
mikeobrien / Output
Created December 2, 2011 02:07
Parallelizing rake tasks
start task1 2011-12-01 20:59:43 -0500
start task2 2011-12-01 20:59:43 -0500
start task3 2011-12-01 20:59:43 -0500
end task2 2011-12-01 20:59:45 -0500
end task1 2011-12-01 20:59:45 -0500
end task3 2011-12-01 20:59:45 -0500
Completed parallel execution of tasks 1 through 3.
@mikeobrien
mikeobrien / gist:1411789
Created November 30, 2011 23:19
Dynamically creating rake tasks
# Function to create a parent and children tasks
def tasks(parent, children, &task)
task parent => children.keys
children.each do |key, value|
task.call key, value
end
end
# Create assembly info tasks for all projects
class Flap extends Backbone.Model
class TimelineCollection extends Backbone.Collection
model: Flap
TimelineController =
enumerate: (handle) ->
console.log 'enumerate ' + handle
@timeline.reset '{{ name: \'you\'}, { name: \'me\'}}'
@mikeobrien
mikeobrien / ajax.js
Created October 21, 2011 02:48
Boiler plate code to delete a record + row
(function($){
$.addAjaxItemDeleteHandler = function(options) {
var defaults = {
url: 'delete',
data: function(id) { return { Id: id }; },
deleteElementClass: 'item-delete',
deleteElementIdAttribute: 'data-id',
deleteElementDescriptionAttribute: 'data-description',
deleteRowClass: 'item-row',
deleteRowIdAttribute: 'data-id',
@mikeobrien
mikeobrien / ConfigureFubuMVC.cs
Created October 20, 2011 15:45
Regular Expression URL Policy
public class ConfigureFubuMVC : FubuRegistry
{
public ConfigureFubuMVC()
{
IncludeDiagnostics(true);
Actions.IncludeTypeNamesSuffixed("Command", "Query")
.IncludeMethodsPrefixed("Get", "Post");
Routes.HomeIs<DashboardQuery>(x => x.Get())
@mikeobrien
mikeobrien / gist:1259834
Created October 3, 2011 18:25
Fubu Error
[StructureMapException: StructureMap Exception Code: 202
No Default Instance defined for PluginFamily FubuCore.Binding.IBindingLogger, FubuCore, Version=0.9.2.0, Culture=neutral, PublicKeyToken=null]
StructureMap.BuildSession.<.ctor>b__0(Type t) in c:\code\structuremap\Source\StructureMap\BuildSession.cs:31
StructureMap.Util.Cache`2.get_Item(KEY key) in c:\code\structuremap\Source\StructureMap\Util\Cache.cs:83
StructureMap.BuildSession.CreateInstance(Type pluginType) in c:\code\structuremap\Source\StructureMap\BuildSession.cs:192
StructureMap.Pipeline.DefaultInstance.build(Type pluginType, BuildSession session) in c:\code\structuremap\Source\StructureMap\Pipeline\DefaultInstance.cs:22
StructureMap.Pipeline.Instance.createRawObject(Type pluginType, BuildSession session) in c:\code\structuremap\Source\StructureMap\Pipeline\Instance.cs:101
StructureMap.Pipeline.Instance.Build(Type pluginType, BuildSession session) in c:\code\structuremap\Source\StructureMap\Pipeline\Instance.cs:69
Structure
@mikeobrien
mikeobrien / ExportData.cs
Created July 21, 2011 23:49
TDMSReader Examples
using (var output = new System.IO.StreamWriter(System.IO.File.Create(@"D:\temp\tdms.channel.export.txt")))
{
var tdms = new File("Sample.tdms");
tdms.Open();
foreach (var value in tdms.Groups["Noise data"].Channels["Noise_1"].GetData<double>())
output.WriteLine(value);
}