Skip to content

Instantly share code, notes, and snippets.

View JamesDunne's full-sized avatar

jsd1982 JamesDunne

View GitHub Profile
@JamesDunne
JamesDunne / makegif-itoldyouso.cmd
Last active August 29, 2015 14:01
Creating animated GIFs from videos using ffmpeg and imagemagick
@echo off
rem http://i.bittwiddlers.org/b/KHh
rem goto extract
goto annotate
rem goto combine
:extract
rem Extract frames:
rem del /f /q glass.avi
@JamesDunne
JamesDunne / makegif-sociopath.cmd
Last active August 29, 2015 14:02
Make animated GIF from Sherlock S03E02 scene: High-functioning sociopath
@echo off
rem Final result: http://i.bittwiddlers.org/b/KH8
rem goto annotate
:capture
ffmpeg -i Sherlock.3x02.the_sign_of_three.mkv -ss 10:37 -t 10 fr%d.png
:annotate
del /f /q v*.txt 2>NUL
rem Bloody psychopath!
@JamesDunne
JamesDunne / private.xml
Last active August 29, 2015 14:02
KeyRemap4MacBook good settings for Windows keyboards
<?xml version="1.0"?>
<root>
<appdef>
<appname>Google Chrome</appname>
<equal>com.google.Chrome</equal>
</appdef>
<item>
<name>Refresh with F5 in Chrome</name>
<identifier>private.Chrome.Refresh</identifier>
<only>Google Chrome</only>
@JamesDunne
JamesDunne / ImmutableObjectGenerator.tt
Created October 6, 2011 03:43
A Visual Studio T4 template for generating immutable object models in C#
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core.dll" #>
<#@ import namespace="System.Linq" #>
<#@ output extension=".generated.cs" #><#
// Describe the immutable model types to generate:
var types = new[] {
new {
name = "ImmutableSample",
comment = "A complete commit object.",
idType = "int",
@JamesDunne
JamesDunne / moved
Created October 14, 2011 03:18
Simple drop-in ASP.NET ashx to provide a simple yet safe SQL query builder/executor web tool
Moved to https://github.com/JamesDunne/QueryAshxClient
@JamesDunne
JamesDunne / SqlAsyncConnectionString.cs
Created May 4, 2012 20:58
SqlAsyncConnectionString wrapper class to modify a SQL connection string to add Asynchronous Processing=True if it does not exist
/// <summary>
/// Represents a connection string that is guaranteed to have been altered to enable asynchronous processing.
/// </summary>
public sealed class SqlAsyncConnectionString
{
private readonly string _connectionString;
/// <summary>
/// Creates a connection string prepared for enabling asynchronous processing with an optional connection timeout.
/// </summary>
@JamesDunne
JamesDunne / bigbenircbot.cs
Created November 14, 2012 16:33
Big Ben C# IRC bot
using System;
using System.Linq;
using System.Threading.Tasks;
namespace IrcBots {
public class BigBenIrcBot : PircBot {
const string IRC_CHANNEL = "#bitswebteam";
public BigBenIrcBot() { setName("isu_big_ben"); }
static void Main() {
var bot = new BigBenIrcBot();
@JamesDunne
JamesDunne / divide-benchmark.cpp
Created October 2, 2013 19:41
A small benchmark in C++ to demonstrate integer vs. floating point division operations on various platforms.
#include <stdlib.h>
#include <stdio.h>
#ifdef _WIN32
#include <sys/timeb.h>
#else
#include <sys/time.h>
#endif
#include <time.h>
double
@JamesDunne
JamesDunne / midi.c
Created February 20, 2017 16:29
C library for MIDI output on Raspberry Pi Model B using UART0 and breakout board with opto-isolators
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <asm/termios.h>
#include <unistd.h>
typedef unsigned char u8;
@JamesDunne
JamesDunne / detect_flash.js
Created July 9, 2014 12:29
Flash plugin detection javascript code; works on IE8 and Chrome
// Returns true or false if flash installed or not. Tested with IE8 on Windows 7 and Chrome on Win7 and Mac.
(function() { var ie_flash; try { ie_flash = (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) !== false) } catch(err) { ie_flash = false; } var _flash_installed = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || ie_flash); return _flash_installed; })()