Skip to content

Instantly share code, notes, and snippets.

View thomastay's full-sized avatar

Thomas Tay thomastay

View GitHub Profile
@thomastay
thomastay / cycleParser.py
Created January 16, 2018 05:28
cycleParser for Math 296
#!python3
from itertools import product
def parseCycle(cycle, n):
permutation = [0 for i in range(n)]
cycle_start = 0
prev = 0
for i in range(len(cycle)):
cur = cycle[i]
if cur == cycle_start:
#!/usr/bin/python3
from itertools import permutations
#This program checks that there are four and only four numbers in their natural position
def checkPmt(pmt, numInPosition = 4):
#pmt is a tuple of length n
currInPosition = 0;
for i,k in enumerate(pmt):
if (i+1 == k): currInPosition += 1;
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <random>
using namespace std;
#!/bin/bash
#set -x
DATE=`date +%Y-%m-%d`
echo "Log from $DATE" > out.log
ENTRIES=8 #TODO: Please change me!
#Arrays are separated by spaces!
ARRAY=(
https://www.youtube.com/playlist?list=PLqKSWM3wXgnrMlice2vo63ZqzqG0LOghw
@thomastay
thomastay / interview_recursive_warmups.cpp
Last active August 8, 2019 22:15
Recursive problems for interviews
/* Warmup Questions */
/* Warmup 1: array Length recursive
Write a function that takes in the start of the array and the end,
and returns the length of the array
See test for examples
*/
int arrLenRec(int* start, int* end)
{
# Calculates transitive closure of a relation
# EECS 203 students: You are FORBIDDEN from using this code
# for homework purposes. Only use this for self-learning
# and testing.
import strutils, sequtils, sugar, strformat
type Matrix = seq[seq[bool]]
func `$`(m: Matrix): string =
for row in m:
@thomastay
thomastay / chartist.html
Created April 21, 2020 08:52
Quick Demo of a chartist chart
<html>
<head>
<meta charset="utf-8"/>
<link href="/static/chartist/chartist.min.css" rel="stylesheet" />
<script src="/static/chartist/chartist.min.js" > </script>
<title>Your title here!</title>
</head>
<body>
<h1> Progress chart! </h1>
<div class="ct-chart ct-octave"> </div>
@thomastay
thomastay / mariomka-benchmark.nim
Last active August 13, 2020 03:37
quick and dirty bench for mariomka bench
import os
import std/[times, monotimes, stats]
from regex import nil
from std/re import nil
proc measureNimRegex(data, pattern: string) =
var r: RunningStat
var matches: int
let patternRe = regex.re(pattern)
for i in 1..3:
@thomastay
thomastay / prompt.ps1
Last active July 2, 2025 09:23
Powershell fish prompt
function replaceHome($pathArray) {
# Check whether the first three paths are equal to HOME
# If it is, it substitutes it for ~
# Change this accordingly, if your home path is more than three
# paths long.
$splitChar = [System.IO.Path]::DirectorySeparatorChar
if ( ($pathArray.Length -gt 2) -and
(($pathArray[0..2] -join $splitChar) -eq $HOME)) {
@("~") + $pathArray[3..$pathArray.Length]
}
@thomastay
thomastay / ytdl-wrapper.ps1
Last active July 28, 2020 14:32
My personal wrapper for youtube-dl
[CmdletBinding(SupportsShouldProcess = $True)]
Param (
[Parameter(Mandatory = $true)]
[string]$URL,
[Switch]$audio,
[Switch]$ignoreErrors
)
$command = $URL, '-o', '%(title)s.%(ext)s'
if ($audio) {
$command += "-x", "--postprocessor-args", "`"-threads 2`""