This is your work, valued

Joel Purra

Elite
@joelpurra

Gun for hire. I do freelance keyboard smashing aka software engineering. Up to 3 month contracts, up to 32 hours per week, only working remotely.

xmouse-controls. Microsoft Windows utility to manage the active window tracking/raising settings. This is known as x-mouse behavior or focus follows mouse on Unix and Linux systems.

268

uvcc. USB Video Class (UVC) device configurator. Used for webcams, camcorders, etcetera. Command line interface for automation.

112

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

98

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.

78

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

66

gitslave. Archived unofficial fork of gitslave 2.0.2. Install on Mac with `brew install joelpurra/joelpurra/gitslave`

42

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

31

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

27

node-uvc. Node.js library for USB Video Class (UVC) devices. Used to write software for webcams, camcorders, etcetera.

18

node-dnssec-name-shame. WEBSITE DECOMISSIONED. 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!

15

npshell. Command line music queue manager. A music player from the comfort of your own shell.

15

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

15

factorio-save-upgrader. Tool to upgrade old Factorio game save files to the newest version. Bring on the map nostalgia!

13

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

11

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

10

loopia-api-dyndns. Dynamically updates the IPv4/IPv6 DNS records for domains registered with Loopia.

9

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

8

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

8

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

8

nodejs-configvention. A node.js configuration convention with a minimal readonly interface.

8

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

7

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.

7

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

7

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

6

node-uvc-control. Fork of uvc-control for @joelpurra/uvcc. Might be deleted if it gets merged upstream.

5

botten-nappet. A Twitch bot and streaming tool.

5

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

5

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.

5

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

5

bespoke-convenient. Convenient extension methods for building Bespoke.js plugins

5

node-libuvc. Low-level Node.js library for USB Video Class (UVC) devices, wrapping the cross-platform libuvc C library. Used to write software for webcams, camcorders, etcetera.

4

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.

4

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

4

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

4

bespoke-advanced. Auto advance slides on a timer in bespoke.js

4

bespoke-analytics. Visitor analysis per slide in your Bespoke.js presentation

3

recap. A collection of notes from talks, conferences, meetups.

3

more-tracked-paper. Paper based on the master's thesis "Swedes Online: You Are More Tracked Than You Think"

3

shunit2-colorize. Add colors to shUnit2 output.

3

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.

3

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

3

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.

1