Skip to content

Instantly share code, notes, and snippets.

View bdunnette's full-sized avatar
💭
🤔

Brian Dunnette bdunnette

💭
🤔
View GitHub Profile
#!/bin/bash
melt $1 -filter volume:"normalise" -consumer xml:$1.mlt video_off=1 all=1
melt $1.mlt -consumer avformat:$1-normalized.mp4 properties=MPEG-4
@bdunnette
bdunnette / case-numbers.css
Created December 16, 2014 15:00
CSS to add case numbering to ordered lists
ol {counter-reset: item; list-style-type: none;}
ol li:before {font-weight: bold; content: 'Case ' counter(item, decimal) ': '; counter-increment: item;}
@bdunnette
bdunnette / start-angular-couchapp.sh
Last active August 29, 2015 14:10
Start a basic Couchapp using AngularJS & CornerCouch
#!/bin/bash
couchapp generate $1
cd $1/_attachments
rm -Rf script/ style/
rm index.html
wget https://github.com/angular/angular-seed/archive/master.zip
unzip master.zip
mv angular-seed-master/app/* .
mv angular-seed-master/bower.json ..
rm -Rf master.zip angular-seed-master/
@bdunnette
bdunnette / create-default-roles.js
Last active August 29, 2015 14:08
Create necessary roles in Meteor
function createDefaultRoles() {
defaultRoles = ['admin', 'researcher'];
defaultRoles.forEach(function(roleName) {
if (!Meteor.roles.findOne({
name: roleName
})) {
Roles.createRole(roleName);
}
});
}
@bdunnette
bdunnette / make-first-user-admin.js
Last active August 29, 2015 14:08
Make the first user of your Meteor app an admin - just put the following in your /server directory!
Accounts.onLogin(function (users) {
/* if there's only one user, add that user to admin group */
if (Meteor.users.find().count() === 1) {
Roles.addUsersToRoles(users.user._id, ['admin']);
}
});
function remindToFloss() {
var ss = SpreadsheetApp.openById("INSERT SHEET ID HERE");
var responses = ss.getSheets()[0].getDataRange();
var participants = ss.getSheets()[1].getDataRange();
var needsNotifying = [];
// Compile a list of email addresses that may need notifications
for (var i = 0; i <= participants.getNumRows() - 1; i++) {
var email = participants.getValues()[i][0];
#!/bin/sh
mkdir -p client/compatibility client/styles client/lib client/views client/views/common lib server/lib public/images public/fonts .meteor
echo "local" > .meteor/gitignore
echo "meteor-platform\nautopublish\ninsecure\naccounts-base" > .meteor/packages
echo "[email protected]" > .meteor/release
echo "Router.configure({layoutTemplate: 'layout'}); Router.map(function() {this.route('home', {path: '/', template: 'home'});});" > client/routes.js
echo "<head><title>My App</title><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"></head><body></body><template name=\"layout\">{{>navbar}}<div class=\"container-fluid\">{{>yield}} </div></template>" > client/views/common/layout.html
echo "<template name=\"navbar\"><nav class=\"navbar navbar-default\" role=\"navigation\"><div class=\"container-fluid\"><div class=\"navbar-header\"><button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"\#bs-example-navbar-
<!DOCTYPE html>
<html>
<head>
<script src="http://simplewebrtc.com/latest.js"></script>
</head>
<body>
<video height="300" id="localVideo"></video>
<div id="remotesVideos"></div>
<script>
var webrtc = new SimpleWebRTC({
#!/bin/sh
# To get an Ubuntu 16.04 XFCE desktop: sudo sh -e ~/Downloads/crouton -t xfce,cli-extra,xiwi,extension -r xenial
# For CLI-only: sudo sh -e ~/Downloads/crouton -t cli-extra -r xenial
# To run the latest version:
# curl https://gist.githubusercontent.com/bdunnette/75fdc4b15b9599cd5fdf/raw/setup-chroot.sh | sh
sudo apt-get install -y nano curl git language-pack-en build-essential software-properties-common
sudo echo "deb http://cran.rstudio.com/bin/linux/ubuntu xenial/" | sudo tee -a /etc/apt/sources.list
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
sudo apt-get update
ssh [email protected]
sudo su - swadm
sudo su - mysql
mysql -u root -p
CREATE USER 'olab'@'localhost' IDENTIFIED BY 'my_olab_database_password';
GRANT ALL PRIVILEGES ON olab.* TO 'olab'@'localhost';
OAuth callback URL: http://my-virtual-host.oit.umn.edu/home/loginOAuthCallback