Skip to content

Instantly share code, notes, and snippets.

View btompkins's full-sized avatar

Brendan Tompkins btompkins

View GitHub Profile
namespace PSI.Common.Appointments
{
public enum AppointmentState
{
[Description("Appointment #{0} Scheduled for {1} Confirmed and On Time")]
Confirmed = 0,
[Description("Appointment #{0} Scheduled for {1} Confirmed within Grace Peroid")]
ConfirmedWithinGracePeriod = 1,
[Description("Appointment #{0} Scheduled for {1} Confirmed Late")]
@btompkins
btompkins / gist:8722291
Created January 30, 2014 23:22
Geocode using Geocodio in C#
public class Geocodio
{
public string ApiKey { get; set; }
public GeocodioResponse GeoCodeByCityState(string address)
{
var client = new RestClient("http://api.geocod.io/v1/");
// client.Authenticator = new HttpBasicAuthenticator(username, password);
var request = new RestRequest("geocode", Method.GET);
from fabric.api import *
from fabric.contrib.files import *
env.host_string = 'your.host.ip.here'
env.user = 'root'
def change_my_password():
prompt('Specify new password: ', 'new_password')
runcmd('echo {un}:{pw} | chpasswd'.format(un=env.user, pw=env.new_password))
@btompkins
btompkins / teamcity
Last active December 23, 2015 05:09
from fabric.api import *
from fabric.contrib.files import *
env.user = 'your_user'
env.host_string = 'your_host'
def add_teamcity_user():
runcmd('adduser --system --shell /bin/bash --gecos \'TeamCity Build Control\' --group --disabled-password --home /opt/teamcity teamcity')
def download_teamcity():
@btompkins
btompkins / gist:4756963
Created February 11, 2013 19:39
Ducksboard Dashboard API
var dashboardClient = new DashboardClient("** Your API Key Here **");
var dashboard = new Dashboard()
{
Name = dashboardName,
Background = "dark wood",
};
dashboard = dashboardClient.Create(dashboard);
var leaderboard = client.Create(new Widget()
<log4net>
<appender name="DucksboardAppender" type="DucksboardLog4NetLogger.DucksboardAppender">
<apiKey value="[your api key]" />
<widgetId value="[your widget id]" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date | %-5level | %message~%newline" />
</layout>
</appender>
<logger name="[your logger name]">
<level value="ALL" />
using Ducksboard;
using Ducksboard.Objects;
using log4net.Appender;
using log4net.Core;
namespace Logging.DucksboardLog4NetLogger
{
public class DucksboardAppender : AppenderSkeleton
{
private static DucksboardClient _ducksboardClient;
@btompkins
btompkins / index.php
Last active December 11, 2015 05:08
When using a custom loop.php and a reverse front end cache like NGINX, you'll need to emit the Last-Modified header, this index.php file will do that, otherwise your front-end cache won't expire when a blog is updated.
<?php
$last_updated = $wpdb->get_var( "SELECT last_updated FROM " . $wpdb->blogs. " WHERE public = '1' order by
`last_updated` desc limit 1");
if(isset($last_updated)){
$post_mod_date=date("D, d M Y H:i:s",strtotime($last_updated));
header('Last-Modified: '.$post_mod_date.' GMT');
}
using System;
using Nancy.Hosting.Self;
using Topshelf;
namespace Nancy.Demo.Hosting.TopShelf
{
public class NancySelfHost
{
private NancyHost _nancyHost;
namespace Nancy.Demo.Hosting.Self
{
using System;
using System.Diagnostics;
using Nancy.Hosting.Self;
class Program
{
static void Main()