Joel Purra: Developer and more

Projects

Started releasing open source software online in 2007, and have build up a decent list over the years – below are 77 of them. Most are for developers, some are for power users, and a few are for casual users.

See also my Github profile, as well as lists of repositories and followers.

Project list A-Z

autocleancallback

A jQuery plugin to clean input fields with common functionality, like trim, normalize whitespace, digits only. It is also easily extensible.

autocleancallback-canada

Canadian extensions to AutoCleanCallback (required).

bespoke-advanced

Auto advance slides on a timer in bespoke.js

bespoke-analytics

Visitor analysis per slide in your Bespoke.js presentation

bespoke-convenient

Convenient extension methods for building Bespoke.js plugins

bespoke-indexfinger

Keep track of the active slide in Bespoke.js

bespoke-jumpy

Keyboard shortcuts to jump straight to a specific slide in bespoke.js

bespoke-logbook

Log bespoke.js events and state to the console

bespoke-secondary

Show slide notes in a secondary window/screen with Bespoke.js

botten-nappet

A Twitch bot and streaming tool.

claimid-dump

A service to extract and dump links and data from shut down claimid.com user pages

collectcalls

Collects functions that should be called in the future

conversation-augmentation-chat-mediator-bot

Reduce anger and improve two-way human-to-human conversations with the help of a mediating/moderating chatbot. This particular bot blocks angry messages which have a bad sentiment score from being delivered to the other chat participant.

editdidwhat

Compare two strings to see what has changed, and perform some string manipulation.

emulatetab

A jQuery plugin to emulate tabbing between elements on a page.

ep-erroneous-votes

Using open data dumps from Parltrack to analyze erroneous, and subsequently corrected, votes by Members of the European Parliament.

ep-projects

Projects related to the European Parliament data-driven research, in particular regarding erroneous votes

ep-the-corrections

Using data on erroneous/corrected votes in ep-erroneous-votes, based on open data dumps from Parltrack, to visalize erroneous, and subsequently corrected, votes by Members of the European Parliament.

extract-fields

Scripts to extract HTML form field information from one or several webpages.

fabric-git-betwixt

Selective fabric deployment of a compiled project using a git repository *betwixt and between* your source code and target machine.

fly-the-rainbow-flag.com

Show your support by adding the rainbow flag to your photos!

followup

A jQuery plugin to show and hide follow up questions in a form.

formfieldinfo

A javascript plugin used to collect information about forms in a page. This information is then used to filter out potential form problems, like missing values for radio buttons etcetera.

getdns-developer-support

Helper scripts and other developer notes for those working with or on getdns, getdns-node and related repositories, dumped into a repository in the case that they might be of use to someone else. See getdnsapi.net for additional getdns information.

git2json-wrapper

A simple wrapper around `git2json`: convert git logs to JSON for easy analysis.

github-data-cli

A small set of functionality to retrieve repository data from github, in JSON format.

gitslave

Unofficial fork of gitslave, hopefully more active than the original has been since 2.0.2. Install on Mac with `brew tap joelpurra/joelpurra && brew install --devel joelpurra/joelpurra/gitslave`

guest-browser-start-page

A friendly start page for your secondary/guest browser, letting your guests know that you are OK with them using it, and that no information is saved.

har-dulcify

Extract data from HTTP Archive (HAR) files, quite possibly downloaded by har-heedless, for some aggregate analysis.

har-heedless

Scriptable batch downloading of webpages to generate HTTP Archive (HAR) files, using PhantomJS.

har-portent

Using har-heedless to download and har-dulcify to analyze web pages in aggregate.

hexagonif

Played around with the HTML5 <canvas> element for use in the background of a website, and ended up with this little toy. Play around with the interactive demo. The name "hexagonif" comes from hexagon and gonif.

homebrew-joelpurra

Homebrew tap containing specialized software created by Joel Purra, packaged for easy installation.

html-forms

How to improve #UX in #HTML forms: 10+ #usability projects explained!

html-forms-presentation

Improving user experience in HTML forms presentation slideshow

jekyll-theme-demivolte

A very simple Jekyll theme with the specific purpose of allowing for basic example/demo pages projects on github's gh-pages.

joelpurra.github.com

Serving demos and tests for projects

jq-bigint

A big integer library for working with possibly-signed arbitrarily long decimal strings.

jq-bugfix-jq-552

This repository is now made obsolete by upstream fixes in jq, in commits after jq-1.5rc1-12-gcca3e92

jq-counter-buckets

Count occurrences of values within a range.

jq-disarray

Manipulate arrays while avoiding general disarray.

jq-dry

Don't repeat yourself! Apply a filter `f` to its own output `n` times. Can be used to apply filters 'n' recursive levels, to build deep objects and for arithmetic.

jq-fallbacks

Provide fallbacks for bad values.

jq-hopkok

A bunch of jq snippets to manipulate json files, collected from other projects.

jq-interval-buckets

Counter buckets which also collect values outside an integer interval '0..n-1' in the first and last buckets respectively.

jq-key-counter

Count occurances of values across objects and arrays.

jq-math

A collection of basic mathematical functions.

jq-object-sorting

Sort objects by keys or values.

jq-random-prng-bsd

An implementation of the BSD libc rand() pseudorandom number generator (PRNG) function. The range is [0,2147483647].

jq-random-prng-microsoft

An implementation of the Microsoft C Runtime rand() pseudorandom number generator (PRNG) function. The range is [0,32767].

jq-random-prng-vdc

An implementation of the Van der Corput quasirandom sequence generator function. The range is [0,1).

jq-ratio-buckets

Counter buckets for the [0,1] range.

jq-stress

Manipulate strings without stress.

jq-zeros

Integers and floats as strings, padded with zeros to your liking.

jqnpm

A package manager built for the command-line JSON processor jq.

jquery-mutation-summary

A jQuery wrapper/plugin for mutation-summary, the DOM mutation-observers wrapper.

masters-thesis

Joel Purra's master's thesis for a Master of Science in Information Technology and Engineering at Linköping University, Sweden

masters-thesis-presentation

Presentation/slides for Swedes Online: You Are More Tracked Than You Think

masters-thesis-site

Joel Purra's master's thesis' information site

mice-wrapper

A simple wrapper around mice.py.

more-tracked-paper

Paper based on the master's thesis "Swedes Online: You Are More Tracked Than You Think"

multi-video-frames

Play/view multiple video player streams in the same browser window by using iframes.

node-dnssec-name-shame

Do the big companies use DNSSEC yet? Are you really safe online? We know who's been naughty and who's been nice -- and now it's time to name and shame them!

nodejs-configvention

A node.js configuration convention with a minimal readonly interface.

npshell

Command line music queue manager

npshell-demo

Automate demo creation, showing the npshell `np` music player commands in action.

pagehasformchanges

A jQuery plugin to check if *anything* has changed in *any form* on a page, and warn the user before leaving the page.

plusastab

A jQuery plugin to use the numpad plus key (configurable) as a tab key equivalent.

recap

A collection of notes from talks, conferences, meetups.

riksdagens-ledamoter

A small utility to extract a list of first name, surname and email to all members of the Swedish Parliament

shell-keystroke-animator

Simulate stroking keyboard keys into another application/window while taking screenshots to create a `.gif` animation.

shunit2-colorize

Add colors to shUnit2 output.

skipontab

A jQuery plugin to exempt selected form fields from the forward tab order.

talkie

Text-to-speech browser extension button. Select text on any web page, and have the computer read it out loud for you by simply clicking the Talkie button.

uvcc

USB Video Class (UVC) device configurator. Used for webcams, camcorders, etcetera.

wellcomparedir

A tool for Windows to compare and select images with the same name from two folders, and copy to a third folder.

xmouse-controls

Windows utility to enable or disable active window tracking, raising and also the delay in milliseconds. This is known as x-mouse behavior or focus follows mouse.