Skip to content

Instantly share code, notes, and snippets.

@benlemasurier
benlemasurier / gist:5293789
Created April 2, 2013 16:42
aprs passcode
short passcode(const char *callsign) {
uint8_t i, len;
short hash = KEY;
char no_ssid[10], *p1 = no_ssid, *ptr = no_ssid;
// remove SSID
while((*callsign != '-') && (*callsign != '\0')) *p1++ = toupper((int) (*callsign++));
*p1 = '\0';
i = 0;
SELECT
a.attname AS field,
t.typname AS type,
format_type(a.atttypid, a.atttypmod) AS complete_type,
a.attnotnull AS isnotnull,
(SELECT 't'
FROM pg_index
WHERE c.oid = pg_index.indrelid
AND a.attnum = ANY (pg_index.indkey)
AND pg_index.indisprimary = 't'
@benlemasurier
benlemasurier / gist:7775947
Last active December 30, 2015 04:29
wheezy php 5.5 upgrade notes
# very rough php 5.4->5.5 upgrade guide
# your environment may differ slightly, just let me know and I'll help out where I can.
# go to http://www.dotdeb.org/instructions/ and add the wheezy php 5.5 repositories under
# section 2 to /etc/apt/sources.list
#
# It's safe to leave the default dotdeb entries if you want.
# method 1 (preferred, easiest)
# upgrade all packages
@benlemasurier
benlemasurier / Session.php
Last active December 30, 2015 06:59
php session wrapper
<?php
/*
* $handler = new \Session();
* session_set_save_handler($handler, true);
* session_start();
*/
use \SparkLib\Fail;
class Session extends SessionHandler {
public function __construct() {
package main
import (
"fmt"
"sync"
"time"
)
func main() {
const n = 100
begin
node_storage = data_bag_item('nodes', node.name)
requested_revision = node_storage['deployments'].last['revision']
rescue Net::HTTPServerException
# data bag item does not exist, create it
new_node = {
'id' => node.name,
'deployments' => [{
'date' => Time.now,
'revision' => 'HEAD',
f, err := os.OpenFile("testlogfile", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("error opening file: %v", err)
}
defer f.Close()
log.SetOutput(f)
log.Println(string(body))
// determines whether a string represents json data
func isJSON(s string) bool {
var js map[string]interface{}
return json.Unmarshal([]byte(s), &js) == nil
}
@benlemasurier
benlemasurier / random_mac.go
Created May 28, 2014 15:18
Generate a random MAC address
func randomMAC() string {
macBuf := make([]byte, 3)
if _, err := rand.Read(macBuf); err != nil {
panic(err)
}
return fmt.Sprintf("aa:bb:cc:%02x:%02x:%02x", macBuf[0], macBuf[1], macBuf[2])
}
#!/usr/bin/env ruby
# check-smtp
# ===
#
# This is a simple SMTP check script for Sensu
#
require 'rubygems' if RUBY_VERSION < '1.9.0'
require 'net/smtp'
require 'sensu-plugin/check/cli'