Skip to content

Instantly share code, notes, and snippets.

View LiamKarlMitchell's full-sized avatar

Liam Mitchell LiamKarlMitchell

View GitHub Profile
@LiamKarlMitchell
LiamKarlMitchell / block-youtube-ads.js
Created October 14, 2023 03:23
Attempt to block youtube ads, English NZ
// https://www.youtube.com/watch?v=LcmT38ZPTjg
var _STAGE_ = 0;
var _FAIL_COUNT_ = 0;
var __INTERVAL__ = setInterval(function() {
let iframe = null;
let blockAdBtn = null;
let continueElement = null;
let closeBtn = null;
let infoBtn = null;
if (_STAGE_ > 0) {
@LiamKarlMitchell
LiamKarlMitchell / HideVirtualBox.bat
Created February 3, 2018 12:11
Hide Virtual Machine.
@echo off
@reg copy HKLM\HARDWARE\ACPI\DSDT\VBOX__ HKLM\HARDWARE\ACPI\DSDT\NOBOX__ /s /f
@reg delete HKLM\HARDWARE\ACPI\DSDT\VBOX__ /f
@reg add HKLM\HARDWARE\DESCRIPTION\System /v SystemBiosVersion /t REG_MULTI_SZ /d "NOBOX - 1" /f
@reg add HKLM\HARDWARE\DESCRIPTION\System /v VideoBiosVersion /t REG_MULTI_SZ /d "NOBOX - 1" /f
@taskkill /f /im VBoxTray.exe
@exit
@LiamKarlMitchell
LiamKarlMitchell / refcontainer.php
Created March 1, 2019 06:20
Dumps container, referenceContainer, block and referenceBlock names and locations from Magento2 site.
<?php
$instructions = array("container", "referenceContainer", "block", "referenceBlock");
foreach ($instructions as $instruction) {
$containers = array();
$fp = fopen('debug_'.$instruction.'.txt', 'w');
$command = 'egrep -r -i --include \*.xml "<'.$instruction.'".*?"name=" *';
exec($command, $output);
@LiamKarlMitchell
LiamKarlMitchell / main.dart
Created March 4, 2023 11:01
Flutter Bloc Delayed Event Emit - Restartable
// This example will use Restartable event transformer and cancel/ignore previous events that are emitted only accepting the latest event.
// Can kind of see this in console and added a random color on build of text.
// This code is distributed under the MIT License.
// Copyright (c) 2018 Felix Angelov.
// You can find the original at https://github.com/felangel/bloc.
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
// import 'package:bloc_concurrency/bloc_concurrency.dart'; (Unsupported import on DartPad) so I'll just copy it below.
@LiamKarlMitchell
LiamKarlMitchell / main.dart
Created March 4, 2023 10:33
Flutter Bloc Delayed Event Emit
// This code is distributed under the MIT License.
// Copyright (c) 2018 Felix Angelov.
// You can find the original at https://github.com/felangel/bloc.
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'dart:math';
var rng = Random();
@LiamKarlMitchell
LiamKarlMitchell / AddContentLengthLighthouse.php
Last active July 14, 2022 08:22
Adds content length to Lighthouse POST responses.
<?php
// Thanks to: https://laracasts.com/discuss/channels/general-discussion/add-content-length-header-on-views
// In relation to a bug for graphql code generator in an upstream dependency, I needed to add a Content-Length header.
// Temporary workaround for this.
// See: https://github.com/dotansimha/graphql-code-generator/issues/7934
// See: https://github.com/nodejs/undici/issues/1414
// https://github.com/nodejs/undici/issues/1490
namespace App\Http\Middleware;
@LiamKarlMitchell
LiamKarlMitchell / Changes.md
Created September 11, 2019 23:57
Fix vTiger on mysql that requires set options.

You can change the mysql config to apply the set options.

sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

However this is not always desireable on shared hosting you don't know the follow on effects.

So far, I've found I can simply set this in the installer and the db connection class.

include/database/PearDatabase.php

@LiamKarlMitchell
LiamKarlMitchell / HealthChecks.sh
Created March 17, 2021 23:45
HealthChecks SH wrapper for Cron Job Notifications/Monitoring.
#!/bin/sh
# Author: Liam Mitchell
# Purpose: Wrap a cron command and ping HealthChecks.io
HEALTHCHECKS_UUID=$1
# Check number of arguments is at least 1 for the Health Checks UUID.
if [ -z "$1" ];
then
echo "Usage: `basename $0` HEALTHCHECKS_UUID command args..."
exit 65
@LiamKarlMitchell
LiamKarlMitchell / Singleton.cs
Created January 10, 2021 21:04
Useful Unity Scripts
using UnityEditor;
using UnityEngine;
namespace UnityTemplateProjects.Misc
{
/// <summary>
/// Inherit from this base class to create a singleton.
/// e.g. public class MyClassName : Singleton<MyClassName> {}
/// </summary>
public class Singleton<T> : MonoBehaviour where T : MonoBehaviour
@LiamKarlMitchell
LiamKarlMitchell / Magento2CheckProductImagesOnDisc.sh
Created December 23, 2020 00:14
Check Magento 2 product images on disc.
#!/bin/bash
# Checks if images referenced on products in the DB exist on disc and checks that they are not smaller than 300x300 px.
# Runnable in bash.
# Requirements.
# apk add bash mysql-client imagemagick
# I also had a regexp to get only _1 _2 etc in the query but have removed it now.
# AND g.value REGEXP '_[0-9].(jpg|png)$'
# You can also do a where condition such as WHERE e.sku IN ('A', 'B')