Skip to content

Instantly share code, notes, and snippets.

View jnrbsn's full-sized avatar

Jonathan Robson jnrbsn

View GitHub Profile
@jnrbsn
jnrbsn / twitter-bitly-bookmarklet.js
Created September 14, 2010 00:48
Bit.ly + Twitter bookmarklet using pure JavaScript
javascript:(function(){var%20s=document.createElement('script'),l=location.href;s.type='text/javascript';s.src='http://bit.ly/javascript-api.js?version=latest&login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07';s.onload=function(){BitlyCB.f=function(d){location.href='http://twitter.com/home?status='+encodeURIComponent(document.title+'%20'+d.results[l]['shortUrl'])};BitlyClient.shorten(l,'BitlyCB.f')};document.body.appendChild(s)})()
@jnrbsn
jnrbsn / better-gist-styles.css
Created September 14, 2010 01:24
Better styles for embedding GitHub Gists
/* Better styles for embedding GitHub Gists */
.gist{font-size:13px;line-height:18px;margin-bottom:20px;width:100%}
.gist pre{font-family:Menlo,Monaco,'Bitstream Vera Sans Mono','Courier New',monospace !important}
.gist-meta{font-family:Helvetica,Arial,sans-serif;font-size:13px !important}
.gist-meta a{color:#26a !important;text-decoration:none}
.gist-meta a:hover{color:#0e4071 !important}
@jnrbsn
jnrbsn / plus_business_hours.php
Created September 14, 2010 19:46
Adds a specified number of business hours to a unix timestamp.
<?php
/**
* Adds a specified number of business hours to a unix timestamp.
*
* @param int $time_start The timestamp at which to start
* @param int $plus_hours The number of business hours to add
*
* @return int The resulting timestamp
*/
function plus_business_hours($time_start, $plus_hours)
@jnrbsn
jnrbsn / GPL.md
Last active April 29, 2023 14:59
A Markdown-formatted GPL for your GitHub projects.

GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

@jnrbsn
jnrbsn / MIT_License.md
Created January 30, 2011 01:17
The MIT License

THE MIT LICENSE

Copyright © <year> <copyright holders>

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 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is

-- MySQL procedure for converting all MyISAM tables in a database to InnoDB.
--
-- Example usage:
--
-- $ mysql -N example_database < convert_innodb.sql
--
-- @author Jonathan Robson <jnrbsn@gmail.com>
-- @copyright 2011 Jonathan Robson
-- @license http://gist.github.com/802399 MIT License
-- @link http://gist.github.com/1144336
@jnrbsn
jnrbsn / httpserver.py
Created April 25, 2012 23:51
Serves up the current directory to localhost via an instant HTTP server.
import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
try:
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"
if sys.argv[1:]:
@jnrbsn
jnrbsn / jquery-mobile-test.html
Created June 6, 2012 18:56
Demonstration of jQuery Mobile issue for Stack Overflow question: http://stackoverflow.com/questions/10920495
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery Mobile Test</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css">
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<script>
@jnrbsn
jnrbsn / gist:3966886
Created October 27, 2012 23:43
Read a file line by line in Node.js
var fs = require('fs'),
EventEmitter = require('events').EventEmitter;
var createLineReader = function (filename) {
var stream = fs.createReadStream(filename),
em = new EventEmitter(),
buffer = '';
stream.on('error', function (error) {
throw error;
@jnrbsn
jnrbsn / gist:4268258
Created December 12, 2012 14:40
Loads a JavaScript file asynchronously with a callback, like jQuery's `$.getScript()` except without jQuery.
function j(u, c) {
var h = document.getElementsByTagName('head')[0], s = document.createElement('script');
s.async = true; s.src = u;
s.onload = s.onreadystatechange = function () {
if (!s.readyState || /loaded|complete/.test(s.readyState)) {
s.onload = s.onreadystatechange = null; if (h && s.parentNode) { h.removeChild(s) } s = undefined;
if (c) { c() }
}
};
h.insertBefore(s, h.firstChild);