Skip to content

Instantly share code, notes, and snippets.


Ricky nerdyman

View GitHub Profile
nerdyman /
Last active Jul 3, 2019
Prompt a File Download and respect the Content Disposition Header Using Fetch and FileSaver

Prompt a File Download With the Content Disposition Header Using JavaScript

Set the Server Response Headers

Expose the Content-Disposition header using the Access-Control-Expose-Headers header and set the Content-Disposition header as you would usually.

Access-Control-Expose-Headers: Content-Disposition
Content-Disposition: attachment; filename="example-file.csv"
nerdyman /
Last active Oct 6, 2020
Fix docker DNS not working on Linux hosts

Docker DNS issues on systemd distros

(Hopefully) fix Docker DNS issues with systemd distros, e.g. ping: bad address '', Temporary failure resolving ..., EAI_AGAIN (tested on Arch).


  1. Host DNS is correct (/etc/resolv.conf) and does not contain any invalid nameservers
  2. Ensure DNS resolves correctly (dig
  3. Ensure Docker container has same config as host docker run -it <your-image> cat /etc/resolv.conf
nerdyman /
Last active Dec 3, 2018
GTA V Working on Steam Play (Proton) on Arch Linux and proprietary Nvidia drivers

Steps for Arch Linux w/ Nividia proprietary driver

  • Install wine-staging (pacman -S wine-staging)
  • Install the latest Nvidia drivers (pacman -S nvidia-dkms nvidia-utils lib32-nvidia-utils)
  • Create a GTA DXVK config file [1]
  • Set GTA 5 launch option in Steam to DXVK_CONFIG_FILE=/<PATH_TO_YOUR_CONFIG>/gta_dxvk.conf %command%
  • Copy steam/steamapps/common/Proton 3.7/ to steam/steamapps/common/Proton 3.7/
    • Uncomment "PROTON_NO_ESYNC": "1" in
  • Copy all Windows fonts from a Windows ISO to /usr/share/fonts/WindowsFonts OR install ttf-ms-win10 from the AUR
  • Run fc-cache -vfr to rebuild the font cache
nerdyman /
Created Nov 9, 2017
Calculate the PPI of an image

PPI Calculation


  • ppi as int
  • pageResolution in px
  • imageResolution in px
  • pageSize in inches

Sample values

nerdyman / resolve-tsconfig-path-to-webpack-alias.js
Last active Oct 8, 2020
Convert TypeScript tsconfig paths to webpack alias paths
View resolve-tsconfig-path-to-webpack-alias.js
const { resolve } = require('path');
* Resolve tsconfig.json paths to Webpack aliases
* @param {string} tsconfigPath - Path to tsconfig
* @param {string} webpackConfigBasePath - Path from tsconfig to Webpack config to create absolute aliases
* @return {object} - Webpack alias config
function resolveTsconfigPathsToAlias({
tsconfigPath = './tsconfig.json',
nerdyman / contrast.less
Created Jun 1, 2016
LESS contrast mixin - contrast mixin for LESS which works likes you'd expect it to
View contrast.less
* contrast.less
* the built-in contrast() function in LESS sucks, this one works
* calculates the perceptual brightness of a color and assigns an int value to it
* to determine whether contrasting color should be dark or light
* usage:
* #contrast(@color: #f00; @threshold: 43; @dark: #222; @light: #eee; @more: '!important');
* using specific params:
You can’t perform that action at this time.