Skip to content

Instantly share code, notes, and snippets.

Avatar

Ben Randall veleek

View GitHub Profile
View leetcode-1178.cs
public class Solution
{
public IList<int> FindNumOfValidWords(string[] words, string[] puzzles)
{
// Create a tree with all the words
var root = Node.PopulateWords(words);
int[] result = new int[puzzles.Length];
for (var i = 0; i < puzzles.Length; i++)
{
View double-click-switch-blueprint.yaml
blueprint:
name: Z-Wave Secondary Light Control
description: 'Toggle an light using a Z-Wave event. This can be used to activate a different light than the one the
switch is wired to when it is double clicked.'
domain: automation
input:
control_switch:
name: Control Switch
description: The switch that will control the light when double-clicked.
selector:
@veleek
veleek / compose.yaml
Last active January 15, 2022 05:49
Minecraft Bedrock Docker Compose
View compose.yaml
version: '3.4'
services:
minecraft:
image: itzg/minecraft-bedrock-server
environment:
EULA: "TRUE"
GAMEMODE: survival
DIFFICULTY: normal
ports:
- 19132:19132/udp
@veleek
veleek / phaserstuff.js
Last active November 27, 2021 22:47
Phaser Tile/World/Object XY conversions for orthogonal maps.
View phaserstuff.js
/**
* Get the world XY position of a tile that takes into account the offset of the container with this map in it.
* This returns the origin of the tile sprite which is 64x64 whereas the actual tilemap tile size is only 64x32, so
* the world position is actually outside of the individual tile bounds. The tiles overlap in the isometric grid
* though so we only really care about the specific point.
* @param tileX
* @param tileY
*/
public tileToWorldXY(tileX: number, tileY: number): Phaser.Math.Vector2 {
const worldPos = this.map.tileToWorldXY(tileX, tileY, null, null, "floor");
@veleek
veleek / CloudFilesAutoResponderRules.farx
Last active January 7, 2020 06:33
Helper files for performing a rough validation of the functionality of the Duplicati CloudFiles backend without depending on having an actual Rackspace account. Import the AutoResponder Rules and add the Fiddlerscript rules to your Fiddler Rules file in the Handler class.
View CloudFilesAutoResponderRules.farx
<?xml version="1.0" encoding="utf-8"?>
<AutoResponder LastSave="2020-01-06T22:02:18.2787399-08:00" FiddlerVersion="5.0.20194.41348">
<State Enabled="true" Fallthrough="true" UseLatency="false">
<ResponseGroup Id="06245c5d-eff4-474e-a452-62d3f99a6bd3" Header="CloudFilesTest" />
<ResponseRule GroupId="06245c5d-eff4-474e-a452-62d3f99a6bd3" Match="https://identity.api.rackspacecloud.com/auth" Action="NEW_RESPONSE_16_49_04" Enabled="true" Headers="SFRUUC8xLjEgMjAwIEdlbmVyYXRlZA0KQ29udGVudC1MZW5ndGg6IDANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KWC1TdG9yYWdlLVVybDogaHR0cHM6Ly9pZGVudGl0eS5hcGkucmFja3NwYWNlY2xvdWQuY29tL2ZpbGVzLw0KWC1BdXRoLVRva2VuOiBUb2tlbkFCQzEyMw0KDQo=" />
<ResponseRule GroupId="06245c5d-eff4-474e-a452-62d3f99a6bd3" Match="method:GET https://identity.api.rackspacecloud.com/files/folder/?format=xml" Action="NEW_RESPONSE_16_54_53" Enabled="true" Headers="SFRUUC8xLjEgMjAwIEdlbmVyYXRlZA0KQ29udGVudC1MZW5ndGg6IDQzOA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04DQoNCg=="
@veleek
veleek / ContentKey.Cli.csproj
Last active October 7, 2019 15:16
Minimal repro for KeyVault "No such host is known" error: https://github.com/Azure/azure-sdk-for-net/issues/7873
View ContentKey.Cli.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Azure.Identity" Version="1.0.0-preview.4" />
<PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.0.0-preview.4" />
@veleek
veleek / python_openzwave-build.log
Created April 17, 2019 06:28
Complete python_openzwave build output for successful build.
View python_openzwave-build.log
(venv) PS C:\code\GitHub\veleek\python-openzwave [0.5.x]> python setup.py build --flavor=dev
sysargv ['setup.py', 'build']
Found SETUP_DIR : C:\code\GitHub\veleek\python-openzwave
<pyozw_setup.DevTemplate object at 0x00000207C15A2358>
V1.5-3753-gca4d398f-dirty
{'name': 'libopenzwave', 'sources': ['src-lib/libopenzwave/libopenzwave.pyx'], 'include_dirs': ['src-lib\\libopenzwave', 'C:\\code\\GitHub\\veleek\\python-openzwave\\openzwave\\build', 'C:\\code\\GitHub\\veleek\\python-openzwave\\openzwave\\cpp\\build\\windows', 'C:\\code\\GitHub\\veleek\\python-openzwave\\openzwave\\cpp\\src', 'C:\\code\\GitHub\\veleek\\python-openzwave\\openzwave\\cpp\\src\\value_classes', 'C:\\code\\GitHub\\veleek\\python-openzwave\\openzwave\\cpp\\src\\platform'], 'define_macros': [('PY_LIB_VERSION', '0.4.18'), ('PY_LIB_FLAVOR', '--flavor=dev'), ('PY_LIB_BACKEND', 'cython'), ('CYTHON_FAST_PYCCALL', 1), ('_MT', 1), ('_DLL', 1), ('PY_SSIZE_T_CLEAN', 1), ('PY_LIB_FLAVOR', 'dev'), ('PY_LIB_BACKEND', 'cython')], 'libraries': ['setupapi'
@veleek
veleek / benran-boxstarter-work.ps1
Last active August 17, 2021 04:58
Boxstarter Script for my work machines
View benran-boxstarter-work.ps1
# Install BoxStarter
# Set-ExecutionPolicy Unrestricted -Scope Process -Force; . { iwr -useb https://boxstarter.org/bootstrapper.ps1 } | iex; Get-Boxstarter -Force
# Execute this BoxStarter Package
# Install-BoxstarterPackage -DisableReboots -PackageName https://gist.githubusercontent.com/veleek/aeb819d9488676620aa1d2014f6991b0/raw/benran-boxstarter-work.ps1
# Trust PSGallery
Get-PackageProvider -Name NuGet -ForceBootstrap
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowFileExtensions -EnableShowFullPathInTitleBar -EnableExpandToOpenFolder -EnableShowRibbon
@veleek
veleek / benran-boxstarter.ps1
Last active July 21, 2020 17:56
BoxStarter script for setting up my laptop
View benran-boxstarter.ps1
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowFileExtensions -EnableShowFullPathInTitleBar -EnableExpandToOpenFolder
Enable-RemoteDesktop
Disable-GameBarTips
Disable-UAC
Set-TaskbarOptions -Combine Full
# Utilities
cinst microsoft-windows-terminal
cinst 7zip.install
cinst notepadplusplus.install
@veleek
veleek / LevelDatParser.cs
Created October 3, 2017 19:15
LinqPad script to load a Level.dat file from Minecraft Better Together
View LevelDatParser.cs
void Main()
{
string path = @"Path to your Level.dat";
Level l = new Level();
try
{
l.ReadFrom(File.OpenRead(path));
}
catch (Exception e)
{