Skip to content

Instantly share code, notes, and snippets.

@scotu
scotu / today_in_history_bookmarklet.js
Last active February 9, 2021 22:32
Today in history bookmarklet (create a browser bookmark and paste this as its url)
javascript:(function(){location.href = 'https://en.wikipedia.org/wiki/'+["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][(new Date()).getMonth()]+'_'+(new Date()).getDate();})();
@scotu
scotu / mailgun.py
Last active July 26, 2016 09:34 — forked from seanmckaybeck/mailgun.py
No-external-dependency email sending function through Mailgun's REST api for python
# -*- coding: utf-8 -*-
"""
Copyright 2016 Sean Beck, Matteo Scotuzzi
MIT license
A simple script that provides a function to send an email via Mailgun with no
external dependencies.
This requires obtaining an API key from Mailgun. Make also sure to setup the defaults in the
MAILGUN_API_KEY, DEFAULT_EMAIL_SENDING_DOMAIN, DEFAULT_EMAIL_SENDING_ADDRESS constants after

Keybase proof

I hereby claim:

  • I am scotu on github.
  • I am matteo (https://keybase.io/matteo) on keybase.
  • I have a public key whose fingerprint is E986 3043 9891 545B 6A16 A320 8BFE 4CEC E98E 1A57

To claim this, I am signing this object:

@scotu
scotu / YOLO.sh
Created August 25, 2014 09:36
Wrapper to make sure a command is run only once at a time
#!/bin/sh
# taken from http://stackoverflow.com/a/959511/150932
SCRIPTNAME=`basename $0`
PIDFILE=/var/run/${SCRIPTNAME}.pid
if [ -f ${PIDFILE} ]; then
#verify if the process is actually still running under this pid
@scotu
scotu / ffbookmark.js
Created June 19, 2014 17:51
Friendfeed fixed bookmarklet code
(function(){function A(){function a(){var a=document.getElementById("ff__shadow"),b=document.getElementById("ff__foreground");if(!a||!b)clearInterval(n);else if(h!=b.offsetWidth||k!=b.offsetHeight)h=b.offsetWidth,k=b.offsetHeight,a.style.width=h+s+"px",a.style.height=k+s+"px"}if(!document.getElementById("ff__container")){var b;window.getSelection?b=""+window.getSelection():document.selection&&(b=document.selection.createRange().text);for(var c=0,e=window.ff__reshare?[]:document.getElementsByTagName("img"),
d=0;d<e.length;d++){var f=e[d];if(!(f.width<t||f.height<t)){c++;var l=q(f,"mouseover",u(B,f));r.push({element:f,cursor:f.style.cursor,listener:l})}}var g=m();g.id="ff__container";g.style.position="absolute";g.style.top=p().y+"px";g.style.right="0";g.style.width="auto";g.style.zIndex=1E5;d=m(g);d.id="ff__shadow";d.style.backgroundColor="black";d.style.position="absolute";d.style.zIndex=0;d.style.top="0";d.style.right="0";C(d,.3);d=m(g);d.id="ff__foreground";d.style.backgroundColor="white";d.style.zIndex=
2;d
@scotu
scotu / sitemap_generator.rb
Created November 23, 2011 23:21
Jekyll sitemap generator (source: http://www.kinnetica.com/projects/jekyll-sitemap-generator/ ) [Exclude not working as expected by me, need to investigate]
# http://www.kinnetica.com/projects/jekyll-sitemap-generator/
# Sitemap.xml Generator is a Jekyll plugin that generates a sitemap.xml file by
# traversing all of the available posts and pages.
#
# How To Use:
# 1.) Copy source file into your _plugins folder within your Jekyll project.
# 2.) Change MY_URL to reflect your domain name.
# 3.) Change SITEMAP_FILE_NAME if you want your sitemap to be called something
# other than sitemap.xml.
# 4.) Change the PAGES_INCLUDE_POSTS list to include any pages that are looping
@scotu
scotu / lessjs.rb
Created November 23, 2011 19:40 — forked from andyfowler/lessjs.rb
Jekyll plugin to render less.js files during generation.
module Jekyll
# Expects a lessc: key in your _config.yml file with the path to a local less.js/bin/lessc
# Less.js will require node.js to be installed
class LessJsGenerator < Generator
safe true
priority :low
def generate(site)
src_root = site.config['source']
@scotu
scotu / solarized.css
Created October 8, 2011 18:27 — forked from tdreyno/solarized.css
Solarized Light Pygments CSS
.highlight { background-color: #ffffcc }
.highlight .c { color: #586E75 } /* Comment */
.highlight .err { color: #93A1A1 } /* Error */
.highlight .g { color: #93A1A1 } /* Generic */
.highlight .k { color: #859900 } /* Keyword */
.highlight .l { color: #93A1A1 } /* Literal */
.highlight .n { color: #93A1A1 } /* Name */
.highlight .o { color: #859900 } /* Operator */
.highlight .x { color: #CB4B16 } /* Other */
.highlight .p { color: #93A1A1 } /* Punctuation */
@scotu
scotu / trelloholodeck.xml
Created September 23, 2011 15:47
Trello Holodeck for Google+ Hangouts
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Trello Holodeck">
<Require feature="rpc"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<script src="//hangoutsapi.appspot.com/static/hangout.js"></script>
<!-- Your application code --><script type="text/javascript">gapi.hangout.layout.setChatPaneVisible(false);</script>
<iframe style="width:100%;height:100%;border:0;" src="https://trello.com">So sorry, seams like your browser does not support iFrames needed for this gadget...</iframe>
@scotu
scotu / jekyll.thor
Created August 23, 2011 23:12 — forked from ivey/jekyll.thor
require 'fileutils'
class Jekyll < Thor
include FileUtils
method_options :format => :optional
desc "draft NAME", "Create draft `NAME` in _drafts"
def draft(name)
format = options[:format] || "markdown"
slug = name.downcase.gsub(/ +/,'-').gsub(/[^-\w]/,'').sub(/-+$/,'')