Skip to content

Instantly share code, notes, and snippets.

View JavaScriptDude's full-sized avatar

Timothy C. Quinn JavaScriptDude

  • Ontario, Canada
View GitHub Profile
JavaScriptDude /
Last active February 5, 2024 23:55
Installing Debian on Freenas / BHYVE

Freenas -> Virutal Machines -> Add

Operating System

  • Guest OS: Linux
  • Name:
  • clock: (def)
  • Boot: (def)
  • shut. timeout: (def)
  • Start on Boot
JavaScriptDude / vb_collection_iterators.vb
Last active November 5, 2023 03:13
Iterators for Visual Basic Collection Class
' BEGIN VB Collection Hacks
' @copywright Timothy C. Quinn
' @license MIT
' Inspiration:
' VB Collections don't have a public way to get the keys or have any iterators
' Below is a list of hacks that should be high performance and thread safe
' I doubt that the backend API of Visual Basic for Collections will change as its a really bad data structure to use
' However, this may possibly break in future versions of VB
' I tested up to VB 11
JavaScriptDude /
Last active October 25, 2023 19:47
SMTP Email in Python 3.7+
import smtplib
import os
import json
from email.message import EmailMessage
from validate_email import validate_email
class Mailer():
JavaScriptDude /
Last active September 26, 2023 22:57
Asyncio Example for Python 3.11+
# GIT Home:
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 ExitProgram(msg=<msg>, code=<code>)
JavaScriptDude / Linux With ZFS Root on Mint
Last active February 14, 2024 20:13
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/
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 November 6, 2023 05:22
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
<!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 September 26, 2023 22:58
Python3 Asyncio Main Template
# GIT Home:
# NOTE: This version works with Python 3.7.9.
# For Python 3.11, see
import sys
import traceback
import asyncio
_verbose = ("--verbose" in sys.argv)
opts = None