Skip to content

Instantly share code, notes, and snippets.


Timothy C. Quinn JavaScriptDude

  • Ontario, Canada
View GitHub Profile
JavaScriptDude /
Last active April 7, 2023 17:28
Linux Mint 21.1 ZFS Root Installation Notes

When installing Linux Mint, you can install with ZFS Root by following standard instructions. However, there is an issue with almost all Linux distributions default ZFS install script where the allocated spaces for the partitions are a bit too small for real world ZFS Use.

These instructions show how to alter the ZFS setup script to have a more appropriate partition spacing.

Boot into the Linux Mint OS USB stick, and:

sudo su
cd /usr/share/ubiquity/
cp ./zsys-setup ./zsys-setup_orig
vi zsys-setup
JavaScriptDude /
Last active March 24, 2023 21:18
Installing KDE Plasma on Linux Min 21x

Installing KDE Plasma on Linux Min 21x

First update system

sudo apt update
sudo apt -y full-upgrade


JavaScriptDude /
Last active December 5, 2022 19:38
VMWare Workstation 16 Launcher

VMWare Workstation for Linux v16 has issues related to memory fragmentation. This will cause the CPU to choke with 100% after a time. The scripts provided will allow you to fix this at launch of vmware on Linux.


  1. Put to a good location on your computer like ~/bin or similar
  2. Make executable
  3. Edit vmware-workstation.desktop to have correct paths based on your setup
  4. Open shell, cd to directory with .desktop file and run:
desktop-file-install --dir=$HOME/.local/share/applications ./vmware-workstation.desktop
JavaScriptDude /
Last active May 2, 2022 04:05
Python3 - Multi-Column Sorting of List of Dicts
import inspect, time
from random import randint
from functools import cmp_to_key
def main():
# test_Comparator()
# test_student_comp()
students = [
JavaScriptDude / jquery_dialog_focus_test.html
Last active February 1, 2022 02:24
jQuery UI Dialog - Button Focus Tests
View jquery_dialog_focus_test.html
<!doctype html>
<html lang="en">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Dialog - Focus Test</title>
<link rel="stylesheet" href="//">
<script src=""></script>
<script src=""></script>
<script src="" integrity="sha512-anTuWy6G+usqNI0z/BduDtGWMZLGieuJffU89wUU7zwY/JhmDzFrfIZFA3PY7CEX4qxmn3QXRoXysk6NBh5muQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
JavaScriptDude /
Last active January 27, 2022 22:02
Python3 Asyncio Main Template
import sys
import traceback
import asyncio
_verbose = ("--verbose" in sys.argv)
opts = None
# Main - For all your business logic
# Note: do not call sys.exit() directly from here, instead use raise ProgramExit(msg=<msg>, code=<code>)
# This ensures that cleanup code executed in finally block runs before sys.exit() is called
JavaScriptDude /
Created January 19, 2022 22:32 — forked from AnatomicJC/
Backup android app, data included, no root needed, with adb

Backup android app, data included, no root needed, with adb

adb is the Android CLI tool with which you can interact with your android device, from your PC

You must enable developer mode (tap 7 times on the build version in parameters) and install adb on your PC.

Fetch application APK

To get the list of your installed applications:

JavaScriptDude /
Last active October 22, 2022 23:12
Debugging JavaScript for WkHtmlToX

WkHtmlToX projects uses WebKit as a backend to virutally render a web page and execute its JavaScript to get the final page for printing.

The issue is that the version of WebKit used is very old and this makes debugging JS regressions difficult. WkHtmlToX does offer a way to output the console, but it gives no way to do active debugging and provides no line numbers!

To debug JavaScript using the same WebKit version, I tracked down the version of Chromium that uses a close enough webkit version that this library leverages (534.34). Chromium 13.0.767.1, which is available here as a standalone exe for windows.

If your page does not already have a handler for window.onerror, add one with the following code in your page boot code.

// Detect old safari version used by QT and Chromium 13.0.767.1
if (naviagtor.userAgent.indexOf("Safari/534.3") > -1) {
JavaScriptDude /
Last active January 13, 2023 14:21
Cross Platform Example of Single Instance Checking in Python
import time, sys, os
class SingleInstanceChecker:
def __init__(self, id):
if isWin():
self.mutexname = id
self.lock = win32event.CreateMutex(None, False, self.mutexname)
self.running = (win32api.GetLastError() == winerror.ERROR_ALREADY_EXISTS)
JavaScriptDude / library_template.js
Last active November 10, 2020 21:15
JS Template for making a Library that can be consumed by any system that Underscore.js supports (Browser, Node etc...)
View library_template.js
// JS Library Template
// This is tooled to not clobber any namespace with the exception of temp var $$LIBDEF$$
// Major boilerplate was swiped from underscore.js and modified to make it more universal
// Eg: $$LIBDEF$$ = { ns: '$Q', library: 'q_lib', version: '0.1.0'};
// This will load a library refereced by singleton $Q like: $Q.hiMom()
// Change as required
$$LIBDEF$$ = { ns: '$Q', library: 'q_lib', version: '0.1.0'};
// Boilerplate (BP) start