Skip to content

Instantly share code, notes, and snippets.

View Mazyod's full-sized avatar
🔬
R&D

Maz Mazyod

🔬
R&D
View GitHub Profile
@Mazyod
Mazyod / delete-older-docker-image-tags.sh
Last active September 16, 2023 21:34
Bash script that loops over Docker images, and keeps only the latest tag for each image name (Repository).
#!/bin/bash
set -e
echo "Script for cleaning up Docker images"
# First, we grab a list of all images
docker_images=$(docker images --format "{{.ID}}|{{.Repository}}|{{.Tag}}")
# prepare a image name lookup
@Mazyod
Mazyod / XcodeBuildScript.cs
Last active June 19, 2022 14:55
Unity script to run a post-build process that adds some keys to Info.plist and some capabilities to the entitlements file.
using System;
using System.IO;
using JetBrains.Annotations;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using UnityEngine;
/** See Also:
- https://github.com/Mazyod/Unity-AutoBuilder
@Mazyod
Mazyod / rasa-json-to-md.py
Created January 14, 2020 09:33
Rasa NLU training data migrator from JSON format to Markdown
#!/usr/local/bin/python3
import json
from pprint import pprint
from collections import defaultdict
from pathlib import Path
def main():
path = Path("./data.json").resolve()
@Mazyod
Mazyod / percentage_counter.py
Created July 31, 2019 17:02
Progress Counter in Python - wrote it before discovering tqdm
from typing import List
from datetime import datetime, timedelta
class PercentageCounter:
"""Counter for stepping percentages over an arbitrary number
e.g. total = 10, step = 0.15 (15%)
counter.next(1) # progress is 10%, returns nothing
counter.next(2) # progress is 20%, returns 15
counter.next(3) # progress is 30%, returns nothing (has to exceed step)
@Mazyod
Mazyod / watchdog.py
Last active April 13, 2019 15:26
Directory/files watchdog in Python
import os
import logging
from queue import Queue, Empty as EmptyQueue
from time import sleep
from threading import Thread
from typing import List
logger = logging.getLogger("watchdog")
@Mazyod
Mazyod / universal-framework.sh
Last active October 10, 2018 11:15
Build a universal iOS framework/library
#!/bin/bash
set -e
# required arguments:
# WORKSPACE_DIR=Networking.xcworkspace
# SCHEME_NAME=Networking
# PRODUCT_NAME=Networking
CONFIGURATION=Release
@Mazyod
Mazyod / flask-to-bottle.diff
Created April 3, 2018 15:30
Migrating from Flask to Bottle
-import flask
-from werkzeug.http import Headers
+import bottle
[ ... ]
+# Remove "hop-by-hop" headers (as defined by RFC2613, Section 13)
+# since they are not allowed by the WSGI standard.
+FILTER_HEADERS = [
+ 'Connection',
@Mazyod
Mazyod / safeAreaTopAnchor.swift
Last active December 9, 2017 18:49
SafeArea Top Constraint Setup, with Backwards Compatability
/** Safe area for status bar dodging only. If you use NavigationBars, this won't help.
*/
let topConstraint: NSLayoutConstraint
if #available(iOS 11.0, *) {
topConstraint = headerContainerView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor)
} else {
let statusBarHeight = UIApplication.shared.statusBarFrame.height
topConstraint = headerContainerView.topAnchor.constraint(equalTo: topAnchor, constant: statusBarHeight)
}
#!/bin/sh
set -e
CERT_NAME='3rd Party Mac Developer Application: [YOUR NAME]'
APP_NAME='mygame.app'
ENTITLEMENTS='mygame.entitlements'
# remove existing meta files
find ${APP_NAME} -type f -regex '.*meta' -delete
%{"connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [], []},
"db_connection": {:hex, :db_connection, "1.1.0", "b2b88db6d7d12f99997b584d09fad98e560b817a20dab6a526830e339f54cdb3", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, optional: true]}]},
"decimal": {:hex, :decimal, "1.3.0", "418866ed19b8c2dace7860cf45ad017c521ff9c6d3a39da8d5974d277d8f079d", [:mix], []},
"ecto": {:hex, :ecto, "2.1.0-rc.3", "63905a289ae923f1819574d71e79a90db5b3fbe50dbdaa60ab6a8c534c4e16be", [:mix], [{:db_connection, "~> 1.0-rc.4", [hex: :db_connection, optional: true]}, {:decimal, "~> 1.2", [hex: :decimal, optional: false]}, {:mariaex, "~> 0.7.7", [hex: :mariaex, optional: true]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, optional: true]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: false]}, {:postgrex, "~> 0.12.0", [hex: :postgrex, optional: true]},