Skip to content

Instantly share code, notes, and snippets.

View blissdev's full-sized avatar

Jordan Arentsen blissdev

View GitHub Profile
@outcoldman
outcoldman / dbhist.sh
Created July 19, 2017 21:53
DBHist: bash history in sqlite
# The MIT License
# SPDX short identifier: MIT
# Further resources on the MIT License
# Copyright 2017 Denis Gladkikh (https://www.outcoldman.com/en/archive/2017/07/19/dbhist/)
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@robertknight
robertknight / using-nvda-in-a-windows-vm-on-mac.md
Created July 3, 2017 13:23
Testing the Windows screenreader NVDA on a Mac

How to test NVDA screen reader behaviour on a Mac:

  1. Download Microsoft Edge VM from https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
  2. Download Virtualbox and import the Edge VM image.

Then in the VM:

  1. Install guest addons in the VM
  2. Download & install latest NVDA from nvaccess.org
  3. Download & install SharpKeys and use it to map left an alternative key (eg. Left Ctrl) to the Insert key. This is needed because Macs do not typically have an “Insert” key which is the prefix for many NVDA commands.
@csswizardry
csswizardry / README.md
Last active April 15, 2026 19:43
Vim without NERD tree or CtrlP

Vim without NERD tree or CtrlP

I used to use NERD tree for quite a while, then switched to CtrlP for something a little more lightweight. My setup now includes zero file browser or tree view, and instead uses native Vim fuzzy search and auto-directory switching.

Fuzzy Search

There is a super sweet feature in Vim whereby you can fuzzy find your files using **/*, e.g.:

:vs **/*<partial file name><Tab>
@sburnicki
sburnicki / gist:bfacc82b1de33b6a75814e68d91d2673
Created January 22, 2017 17:25
Run a WPT server instance with docker
# Provide locationis.ini to mount in the server
# Either provide locations yourself or use the official ones with an API key.
# See https://sites.google.com/a/webpagetest.org/docs/private-instances/locations for details
docker run -v $HOME/tmp/locations.ini:/var/www/html/settings/locations.ini -p 8080:80 --name wptserver iteratec/wptserver
# -> mounts the locations.ini file in the server -> use localhost:8080 to access
@kylemanna
kylemanna / price.txt
Created November 30, 2016 17:16
AWS Lightsail vs DigitalOcean, VULTR and Linode
Price breakdown vs DigitalOcean, Vultr and Linode:
RAM / CPU Cores / STORAGE / Transfer
$5/mo
LightSail: 512MB, 1, 20GB SSD, 1TB
DO: 512MB, 1, 20GB SSD, 1TB
VULTR: 768MB, 1, 15GB SSD, 1TB
$10/mo
@nathansmith
nathansmith / _closest.js
Created October 22, 2016 16:31
Helper method for finding an ancestor element.
/*
This method works similarly
to jQuery's `closest` method.
```
$('.foo').closest('.bar')
```
Except, instead of returning an
element, it executes a function.
@developit
developit / async-examples.js
Last active February 19, 2020 00:43
Async Array utilities in async/await. Now available as an npm package: https://github.com/developit/asyncro
/** Async version of Array.prototype.reduce()
* await reduce(['/foo', '/bar', '/baz'], async (acc, v) => {
* acc[v] = await (await fetch(v)).json();
* return acc;
* }, {});
*/
export async function reduce(arr, fn, val, pure) {
for (let i=0; i<arr.length; i++) {
let v = await fn(val, arr[i], i, arr);
if (pure!==false) val = v;
@alekseykulikov
alekseykulikov / index.md
Last active March 23, 2026 03:33
Principles we use to write CSS for modern browsers

Recently CSS has got a lot of negativity. But I would like to defend it and show, that with good naming convention CSS works pretty well.

My 3 developers team has just developed React.js application with 7668 lines of CSS (and just 2 !important). During one year of development we had 0 issues with CSS. No refactoring typos, no style leaks, no performance problems, possibly, it is the most stable part of our application.

Here are main principles we use to write CSS for modern (IE11+) browsers:

@acdlite
acdlite / app.js
Last active April 20, 2026 19:56
Quick and dirty code splitting with React Router v4
// getComponent is a function that returns a promise for a component
// It will not be called until the first mount
function asyncComponent(getComponent) {
return class AsyncComponent extends React.Component {
static Component = null;
state = { Component: AsyncComponent.Component };
componentWillMount() {
if (!this.state.Component) {
getComponent().then(Component => {
@froots
froots / Car.js
Last active June 6, 2018 23:27
Stubbing module dependencies in ES2015 unit tests using Sinon.js or TestDouble.js.
// in /src directory
import {kphToMph} from './convert';
class Car {
constructor(speed) {
this.speed = speed;
}
getSpeedInMph() {