Skip to content

Instantly share code, notes, and snippets.

The company maintains similar offices in Cape Town, South Africa, and outside Portland, Maine, and gives employees a $250-a-month stipend if they want to use commercial co-working offices elsewhere.
@asciimo
asciimo / configure_httpd.sh
Last active March 30, 2017 18:07
Shell script to modify httpd.conf to allow mod_rewrite in .htaccess files
# Update the 2nd instance of AllowOverride, which is in the docroot Directory directive
perl -pi -e 's{AllowOverride None}{++$n == 1 ? "AllowOverride All" : $&}ge' /usr/local/apache2/conf/httpd.conf
# Tack the mod_rewrite module load on to the end of the file
echo 'LoadModule rewrite_module modules/mod_rewrite.so' >> /usr/local/apache2/conf/httpd.conf
@asciimo
asciimo / requirements.txt
Created October 5, 2016 17:44
Little utility to resize globbed images
Pillow==3.4.1
python-resize-image==1.1.3
@asciimo
asciimo / .htaccess
Created August 26, 2016 21:16
Simulate a slow-loading GIF with a redirect to a PHP script.
# Slow GIF
RewriteRule ^slowfile.gif$ slowfile.php [L]
@asciimo
asciimo / lazyload.js
Created August 26, 2016 19:50
"Unobtrusive lazy load pattern" from [friendlybit.com](https://friendlybit.com/js/lazy-loading-asyncronous-javascript/).
(function() {
function async_load(){
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'http://yourdomain.com/script.js';
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
if (window.attachEvent)
@asciimo
asciimo / array_intersect.js
Last active December 15, 2017 09:51
ES6 equivalent to PHP's array_intersect()
const intersect = (leftArray, rightArray) => leftArray.filter(value => rightArray.indexOf(value) > -1);
@asciimo
asciimo / template.html
Created August 9, 2016 18:26
Simple html5 document template
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title><!-- change me --></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<!-- change me -->
@asciimo
asciimo / selenium_ffde.py
Last active July 25, 2016 02:17
Configure custom Firefox Developer Edition path for python3 selenium, on a Mac
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary("/Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox")
browser = webdriver.Firefox(firefox_binary=binary)
# Or, in your terminal session: PATH=$PATH:/Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox
@asciimo
asciimo / disco_duck.js
Created December 5, 2015 17:41
Example of a JS object with public/private methods
// Utility for ducking Discovery under fixed agent navigation bars and ads
var discoDuck = (function() {
var _discoveryContainer = $("#discoveryContainer");
var _proNavBarHeight = $("#navbarAgent").outerHeight();
var _proCatcherHeight = $("#pro_catcher").outerHeight();
var _adjustMarginTop = function(pixels, addOrRemove) {
if(_discoveryContainer.length < 1) {
return;
}
@asciimo
asciimo / total_deaths.js
Created October 18, 2015 21:18
Here's an example of how to sum the numeric values in a Wikipedia HTML table column.
// Written for this Wikipedia page on 2015-10-18:
// https://en.wikipedia.org/wiki/List_of_motor_vehicle_deaths_in_U.S._by_year
var deaths = 0;
$("table.wikitable").first().find("tr").each(
function() {
var deathsCell = $(this).find("td").first().text();
var pattern = new RegExp("([\d,,]+)[^\d,,]?")
deathsNum = parseInt(deathsCell.replace(/,/g, ""), 10);
if(!isNaN(deathsNum)) {
deaths += deathsNum;