If you're like me, you tend to listen to audio (e.g. podcasts) and watch videos faster than their default playback speed. However, sites like YouTube only provide you with a predetermined list of speeds to choose from, and you may find …
Tagged: javascript
Bookmarklet to adjust media playback speed
Tags:A chat bot in your browser
Tags:I've been tinkering with tmi.js (Twitch's messaging interface) in node as of late, and it occurred to me: the library works in the browser, as well! With this in my back pocket, I went off and built a tiny little chat bot as an …
Track change events for YouTube with MutationObserver
Tags:Have you ever wanted to react to events taking place on a web page, but they aren't capital-e Events that you can catch and handle? I was in this situation recently, where I wanted to grab the current video and chapter titles to display …
Vue.js long-press directive
Tags:I was looking for an easy way to incorporate the "long press" event so popular in mobile UI into a web project of mine. In my searching, I came a cross a Vue directive that claimed to do the trick. Well, it certainly did, but I …
Minifying Javascript using ESBuild with Flask-Assets
Tags:I've been using Flask and its Flask-Assets package (which is a wrapper around the webassets package) for quite some time now without issue, but recently, I've been scratching an itch for ES2016 and beyond. One of my favorite features of …
Nexus Clash UserScripts
Tags:Carrying on my rich tradition of shoehorning quality-of-life improvements into PBBGs, I've created a couple of UserScripts for the Nexus Clash browser game. The first is an improvement to the Pets management panel which color-codes pets …
Tail for browser windows
Tags:Have you ever been watching log output via a web application, and you just want your browser window to jump to the bottom of the document whenever new output shows up? Well, stranger, let me tell you, I certainly have. That's why I wrote …
UserScripts for Urban Dead
Tags:Several years ago, I wrote a series of UserScripts for a persistent, browser-based game (PBBG) called Urban Dead. These scripts tidy up the user interface a bit and add some new features to the game that make quality-of-life improvements …
repo2site: Make a web site out of a git repo's MarkDown files
Tags:I've just finished the initial work on a script that will make a full-HTML website, driven by AJAX, out of the MarkDown (*.md) files in a git repository. It's currently geared toward GitHub, but could easily be adapted to other repository …
ASP.NET/C# image resizer for responsive layouts
Tags:I will probably elaborate on this a bit further when I find some more time, but for now, this post is going to be mostly code. What I have here is a relatively simple way to generate images that are resized server-side based on the screen …
jQuery visibility pseudo-selectors
Tags:To help me with a project at work, I've written two jQuery pseudo-selectors which will help determine if an element is currently in the viewport or if it has been reached during scroll. This can be incredibly powerful if you're looking to …
Mozilla's TogetherJS in a bookmarklet
Tags:Mozilla recently introduced TogetherJS, a succession of their TowTruck service. Being that it is so similar to TowTruck, I went ahead and made a bookmarklet for it.
ascii.js: A font-based rendering engine for ASCII artwork
Tags:A long-standing and thoroughly-enjoyed hobby of mine is creating and consuming ASCII artwork (though not the kind of watered-down crap you would see in, say, an e-mail signature or a chain letter). I recently went on a wild tear after …
scrollFollow: An auto-scrolling extender for knockout.js
Tags:With the following knockout.js extender, you can tie an observable array to a scrollable HTML element. When the array is updated, the element will keep scrolling to the bottom. It's smart enough to realize if the user has scrolled up, as …
Javascript document.write alternative
Tags:When a script is loaded synchronously, its element's position in the DOM can be determined. With this information, the <script> element can act as a pivot point for inserting dynamic content. This eliminates the need for …
WordPress plugin minify Makefile
Tags:While working on my first commercial WordPress plugin, the need for build automation finally struck me. The environments in which I do my most development are all driven by Linux, and so I wanted to use a tried, true, and ubiquitous build …
JavaScript Challenge #2 (Whac-A-Moo)
Tags:Though I am not a proponent of the MooTools JavaScript framework, their blog is an interesting resource that I enjoy reading. Not only is it packed with sensible practices and interesting insights, but they have recently begun posting …
Add password maintenance feature to cgit with PHP
Tags:Have you ever wanted to have a nifty, browser-driven password maintenance feature in your htpasswd-secured cgit site? I've been meaning to build this for a while—and I finally did it.
Add threaded discussions to cgit with disqus
Tags:While it provides an efficient, organized web front-end for your personal git repositories, the cgit application is missing a few of the more sparkling features found at github–notably, a comments/discussion system. Enter: disqus.
jQuery.imgradio Plugin v1.0 released
Tags:The default HTML radio buttons and check boxes aren't the most aesthetically pleasing things in the world of web design. With this in mind, I have created a jQuery plugin that will replace those pesky <input /> elements with …
Forward Gawker sites to their UK counterparts for a better layout
Tags:I wrote a (really) simple userscript today that reloads Lifehacker pages under uk.lifehacker.com. Why did I do this? Because the Lifehacker UK site doesn't have the trendy new (horrendous) AJAXified layout. Maybe using a hosts redirect …
Create anchor links in Twitter status text with JavaScript
Tags:Note: This also applies to any service using a Twitter-compatible API, such as StatusNet (see: identi.ca) with some minor configuration changes. As a side project, I have been working on a StatusNet (specifically, identi.ca) status feed …
Check all CheckBoxes in a GridView using jQuery
Tags:If you're working with a GridView control where you've built a CheckBox control into each row of data displayed, odds are, it would be convenient for your users if a "Check/Un-check All" option was available. The following …
Photobucket thumbnail bookmarklet
Tags:I've built a pretty simple little utility for turning the URL of an image hosted on Photobucket into a thumbnail which links to the full-sized image. I've designed one version for building bbCode (forum) mark-up, and one for building a …
Consuming newlines with the Javascript regex engine
Tags:In most server-side languages (with an available regex engine), programmers are given a wonderful set of pattern modifiers. One such modifier for PCRE (Perl-compatible regular expressions) is the "s" modifier, known in PHP as …
Urban Dead Greasemonkey Scripts
Tags:I've built a home for all of my Urban Dead Greasemonkey scripts at sites.google.com/site/udscripts. It currently houses CHUD, UDInventory, and the UDBrain Frame Fix script. It will be my base of operations for UD mods from here on …
UDInventory - GreaseMonkey script for Urban Dead
Tags:I've written another GreaseMonkey script for the web game, Urban Dead. This one will compact your inventory by grouping together guns, ammo, first-aid kits, syringes, etc. You can install it from GreasyFork. Click here for an iWitness …
chud - GreaseMonkey script for Urban Dead
Tags:I've finished putting together my first GreaseMonkey script! It's called "chud"—the Caddy Healer for Urban Dead. It's been built to plug-in to my favorite web-based zombie apocalypse, Urban Dead. It will bring up a list of …
Browser-independent XSLT with Javascript
Tags:To piggy-back on the Javascript function to load an XML document: what can be done to load an XSL stylesheet and apply it to the XML? For the most part, loading it is a snap… but, as is often the case, Internet Explorer is the …
Browser-independent XPath with Javascript
Tags:Now that you're able to load XML and transform it using an XSL stylesheet, wouldn't it be handy to also be able to perform XPath selects/functions on that XML outside of the stylesheet's formatting? Why, yes. Yes, it would:
Browser-independent XML load with Javascript
Tags:XML data is, in a word, awesome. It's standardized, it's well-formatted, and there are XML parsing methods in nearly every major programming language–including Javascript. However, when using Javascript, the nasty problem of …