Skip to content

Instantly share code, notes, and snippets.

@mbedward
mbedward / gist:6e3dbb232bafec0792ba
Last active September 26, 2021 14:08
Scala macro to convert between a case class instance and a Map of constructor parameters. Developed by Jonathan Chow (see http://blog.echo.sh/post/65955606729/exploring-scala-macros-map-to-case-class-conversion for description and usage). This version simply updates Jonathan's code to Scala 2.11.2
import scala.language.experimental.macros
import scala.reflect.macros.blackbox.Context
trait Mappable[T] {
def toMap(t: T): Map[String, Any]
def fromMap(map: Map[String, Any]): T
}
object Mappable {
@bianjiang
bianjiang / singleton.hpp
Created June 23, 2013 20:53
A C++11 singleton template with variadic parameters support
//
// __SINGLETON_HPP__
//
// The MIT License (MIT)
// Copyright (c) <2013> <Jiang Bian jbian@uams.edu>
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
@devoncrouse
devoncrouse / clean_audio.sh
Created May 7, 2013 17:02
Using Sox (http://sox.sourceforge.net) to remove background noise and/or silence from audio files (individually, or in batch).
# Create background noise profile from mp3
/usr/bin/sox noise.mp3 -n noiseprof noise.prof
# Remove noise from mp3 using profile
/usr/bin/sox input.mp3 output.mp3 noisered noise.prof 0.21
# Remove silence from mp3
/usr/bin/sox input.mp3 output.mp3 silence -l 1 0.3 5% -1 2.0 5%
# Remove noise and silence in a single command
@nmcv
nmcv / bash_xor.txt
Created February 1, 2013 11:02
Quick XOR of hexadecimal strings for BASH
# BASH function to get the result
# of a ^ b when a, b are in the
# following hexadecimal string
# form: AF396463D8705 ...
# Obtained from here:
# http://www.codeproject.com/Tips/470308/XOR-Hex-Strings-in-Linux-Shell-Script
# Author is Sanjay1982 (see http://www.codeproject.com/Members/Sanjay1982)
# Usage:
@lynaghk
lynaghk / 0-update.md
Last active July 5, 2022 13:33
Angular.js from ClojureScript
@joshkurz
joshkurz / app.js
Created August 9, 2012 03:21
AngularJs-twitterBootstrap-wysiHtml5
var demoApp = angular.module('demoApp', ['ngResource'], function($locationProvider) {
$locationProvider.hashPrefix('');
});
function MainCtrl($scope, Serv) {
$scope.selectedItem = {
value: 0,
label: ''
};
$scope.Wrapper = Serv;
@ckirkendall
ckirkendall / clojure-match.clj
Created June 15, 2012 02:26 — forked from bkyrlach/Expression.fs
Language Compare F#, Ocaml, Scala, Clojure, Ruby and Haskell - Simple AST example
(use '[clojure.core.match :only [match]])
(defn evaluate [env [sym x y]]
(match [sym]
['Number] x
['Add] (+ (evaluate env x) (evaluate env y))
['Multiply] (* (evaluate env x) (evaluate env y))
['Variable] (env x)))
(def environment {"a" 3, "b" 4, "c" 5})
@fogus
fogus / oops.dot
Created June 6, 2012 19:02
influence graph of oo languages -- this is not meant to be a complete time line. I'm mostly concerned with the root and inner nodes.
digraph G {
ranksep=1.0;
ratio=0.6;
LISP [color=Blue, shape=box, label="LISPs"];
ALGOL [color=Blue, shape=box, label="ALGOL-like\nLanguages"];
Modula [color=Blue, shape=box, label="Wirth's\nPascal-likes"];
Smalltalk [color=Blue, shape=box, label="Smalltalk-like\nLanguages"];
FP [color=Blue, shape=box, label="Functional\nProgramming\nLanguages"];
P [label="Prototype-based\nLanguages", color=Blue, shape=box];
@fogus
fogus / fp.dot
Created May 2, 2012 13:34
early influence graph of fp languages -- this is not meant to be a complete time line. I'm mostly concerned with the root and inner nodes.
digraph G {
ranksep=1.0;
ratio=0.6;
APL [color=Blue, shape=box];
Simula [color=Blue, shape=box];
LISP [color=Blue, shape=box];
ALGOL [color=Blue, shape=box];
Planner [color=Blue, shape=box];
ACTOR [shape=hexagon];
@rweald
rweald / build.sbt
Created March 24, 2012 18:22 — forked from mumoshu/build.sbt
DES and AES encryption in Scala
name := "DES and AES encryption in Scala"
version := "1.0"
scalaVersion := "2.9.1"
libraryDependencies += "commons-codec" % "commons-codec" % "1.6"