Instantly share code, notes, and snippets.

Mark Bennett MarkBennett

View GitHub Profile
View QBO_reporting_error
Async process failed: Cancel
dojo.js.uncompressed.js:5261 TypeError: Cannot read property 'slice' of undefined
at Object.renderGrid (null:1)
at Object.initReportGrid (null:1)
at Object.handleReportResponse (null:1)
at c (dojo.js.uncompressed.js:4819)
at a (dojo.js.uncompressed.js:4810)
at p.resolve (dojo.js.uncompressed.js:4974)
at d (dojo.js.uncompressed.js:4863)
at c (dojo.js.uncompressed.js:4840)
View keybase.md

Keybase proof

I hereby claim:

  • I am markbennett on github.
  • I am markbennett (https://keybase.io/markbennett) on keybase.
  • I have a public key ASAVjXPhy1oIRWhregKYxoqgyJwNJ9DvOknpevsP_lvJBQo

To claim this, I am signing this object:

View gist:5701278c47c1567d915856995de22c10

About compression

Audio compression is used to reduce the dynamic range of a recording. Dynamic range is the difference between the loudest and softest parts of an audio signal. It was originally used to guard against defects when cutting wax and vinyl phonograph records, but generally became useful as a way of increasing the loudness of an audio recording without achieving distortion.

The goal of most compression applications is to increase the amplitude of the softest parts of a recording, without increasing the amplitude of the loudest parts.

Compressor anatomy

Compressors generally all have the same conceptual parts. However, not all compressors present variable controls for all parts to the user. If you don't see all of your compressor's controls here, there's a chance it either has a fixed value (and no control), or is named something else:

View receiver.html
<html>
<body>
<script src="//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js"></script>
<script>
(function() {
}());
</script>
</body>
</html>
View secretsanta.dart
import 'dart:math';
void main() {
List<String> names = '''
Zoe Washburne
Hoban Washburne
Malcolm Reynolds
Simon Tam
River Tam
Buffy Summers
View map.geojson
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@MarkBennett
MarkBennett / example.js
Created May 17, 2013
An example of seperating business logic from the DOM
View example.js
function talk_to_webtrends(name, path) {
// Do WebTrends stuff I don't know here
}
$(".web-trends-link").click(function() {
var $elem, name, path;
$elem = $(this);
name = $elem.data("wtName");
path = window.location.path;
@MarkBennett
MarkBennett / delete_merged_branches.sh
Created Apr 17, 2013
Inspired by @nathany I took a stab at my own script to remove old git branches.
View delete_merged_branches.sh
branches=$(git branch --merged | grep -v "master$")
for branch in $branches
do
echo "Removing old branch '$branch'"
git branch -d $branch
done
View etc_init.d_unicorn_example.co.uk
#! /bin/bash
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the unicorn web server
# Description: starts unicorn
@MarkBennett
MarkBennett / setIntervalSpec.js
Created Mar 9, 2013
Instead of requiring that the first call to setInterval() be setInterval(animate, 1000/30) just require that a call be made once.
View setIntervalSpec.js
// ...snip.. from test.js:49
describe("setInterval", function() {
it("should have been called", function() {
setIntervalSpy.should.have.been.called;
});
it("with 'animate' as its first parameter", function() {
setIntervalSpy.should.have.been.calledWith(animate);
});