Skip to content

Instantly share code, notes, and snippets.

stefansundin / git-status-rec
Last active Aug 29, 2015
Execute `git status` recursively.
View git-status-rec
# Executes `git status` in any git subdirectories you may have in your working directory.
# Install in a directory that's in your PATH, e.g. /usr/local/bin
# cd /usr/local/bin
# wget
# chmod +x git-status-rec
# Then go to your project directory and type:
# git status-rec
for F in *; do
stefansundin / sourceforge-bigger-filename-column.user.js
Last active Aug 29, 2015
Userscript that makes the filename column bigger on SourceForge, because that shit is not responsive.
View sourceforge-bigger-filename-column.user.js
// ==UserScript==
// @name SourceForge bigger filename column
// @namespace
// @homepage
// @downloadURL
// @version 0.2
// @author Stefan Sundin
// @description Makes the filename column bigger, saves you from lots of frustration.
// @match *://*/files/*
// ==/UserScript==
stefansundin / error-handler.php
Last active Aug 29, 2015
Simple PHP error handler mailer.
View error-handler.php
// edit this function to be notified of script errors by email
function mail_error($error) {
return; // comment this line out and edit this function if you want to use this
$error["timestamp"] = strftime("%Y-%m-%d %T %z");
$error["ip"] = $_SERVER["REMOTE_ADDR"];
stefansundin / google-project-hosting-download-counter.user.js
Last active Aug 29, 2015
Userscript that helps you count the total downloads for your Project Hosting projects.
View google-project-hosting-download-counter.user.js
// ==UserScript==
// @name Google Project Hosting total download count
// @namespace
// @homepage
// @downloadURL
// @version 0.1
// @author Stefan Sundin
// @description Adds a total download count to the footer.
// @match *://*/downloads/list*
// ==/UserScript==

Keybase proof

I hereby claim:

  • I am stefansundin on github.
  • I am stefansundin ( on keybase.
  • I have a public key whose fingerprint is 7301 7A35 249F 746F F6FF 91D2 7FA5 D4DA 2764

To claim this, I am signing this object:

stefansundin / indabamusic-download.rb
Last active Aug 29, 2015
Download all remixes from an indabamusic campaign.
View indabamusic-download.rb
require 'net/http'
require 'json'
require 'time'
require 'iso_country_codes'
slug = 'infected-mushroom-kipod-remix-contest'
dest = "indabamusic-#{slug}"
stefansundin / disqus-gadget.xml
Last active Aug 29, 2015
Disqus google gadget embed (note: haven't used this in a long while)
View disqus-gadget.xml
<?xml version="1.0" encoding="UTF-8"?>
<ModulePrefs title="Disqus embed" author="Stefan Sundin" width="640" height="390"></ModulePrefs>
<UserPref name="shortname" datatype="string" default_value="" />
<UserPref name="id" datatype="string" default_value="" />
<UserPref name="url" datatype="string" default_value="" />
<UserPref name="title" datatype="string" default_value="" />
<UserPref name="width" datatype="string" default_value="" />
<UserPref name="height" datatype="string" default_value="" />
<UserPref name="args" datatype="string" default_value="" />
stefansundin / filetime.c
Last active Aug 29, 2015
Retrieve and edit file timestamps in Windows.
View filetime.c
#include <stdio.h>
#include <windows.h>
// FILETIME is always UTC. Note that Windows itself will display timestamps in your local timezone, e.g. in the file properties dialog.
// Error codes:
// i686-w64-mingw32-gcc -o filetime filetime.c
int main(int argc, char *argv[]) {
if (argc < 2) {
fprintf(stderr, "Usage: filetime <file> [new mtime] ...\n");
stefansundin / string_hash.rb
Created May 25, 2015
Ruby stringified hash.
View string_hash.rb
# I have been annoyed that hash[:key] != hash["key"], which has caused problems more than once when converting things to Sidekiq jobs, etc.
# This is a major hack, and it is probably not really useful unless you can monkey patch the Hash class, which I didn't succeed with.
# I will have to look into how Rack does the params magic...
class StringHash < Hash
def []=(key, val)
super(key.to_s, val)
def [](key)
stefansundin / svnsync.php
Last active Dec 15, 2015
This is a PHP script that can process PostCommitWebHooks from Google Code Project Hosting.
View svnsync.php
To use PHP to verify the authentication hash, you can do this. It supports multiple projects and can also run svnsync. However, this requires you to make your web server user (often 'www-data') to be able to launch svnsync without sudo having to ask for a password:
$ sudo visudo
Then add this to the bottom (it's important that it is in the bottom!):
www-data ALL=(ALL) NOPASSWD:/usr/bin/svnsync