Skip to content

Instantly share code, notes, and snippets.

probably never answering your PR

Michael Foukarakis mfukar

probably never answering your PR
View GitHub Profile
mfukar / download_owned_cards.ps1
Last active Feb 2, 2022
[Tyrant Unleashed] Download your cards into a ownedcards.txt file, and your decks into a currentdecks.txt, for use with the optimiser. From your browser, get the response from the api.php?message=init request into a file named json.txt in the /data/ directory of the optimiser, along with this script. Reqs Powershell 7. Will create two files in t…
View download_owned_cards.ps1
$stopwatch = [Diagnostics.Stopwatch]::StartNew()
if (-not (Test-Path "json.txt")) {
Write-Host "[-] To update owned cards, supply the response to api.php?message=init in json.txt"
exit 1
$account_details = Get-Content "json.txt" | ConvertFrom-JSON -AsHashtable
if (-not (Test-Path "cards_section*.xml")) {
Write-Host "[-] Run this script inside the optimiser's /data/ directory"
View countdown.cpp
* Solver for the Countdown numbers game. Branch-and-bound search.
* Compile with:
* clang++ -std=c++17 -O3 -o countdown countdown.cpp
* Should find answers in much less than a second.
#include <limits>
#include <vector>
#include <string>
mfukar / com.local.jekyll.server.agent.plist
Created Aug 14, 2017
macos LaunchAgent to debug, test, and serve a Github page locally
View com.local.jekyll.server.agent.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">
mfukar / luhn.cpp
Last active Nov 8, 2021
The Luhn test in C++11
View luhn.cpp
#include <algorithm>
#include <numeric>
#include <iostream>
#include <vector>
* Assuming an input of a string of digits, perform the Luhn test on the indicated sequence.
* Returns true if the given string passes the test, false otherwise.
bool luhn(const std::string& seq) {
mfukar /
Last active Sep 3, 2020
Recover the key used by Petya to encrypt the MFT
# Recover the key used by the Petya ransomware to encrypt the MFT (master file table)
import z3
import sys, struct
# XOR key for salsa10-src.bin :
# Counter position, as two words
mfukar / terminate-worker-threads.c
Last active Jun 6, 2020
C11 code to have a POSIX multithreaded application which signal work completion via a condition variable, and then terminate.
View terminate-worker-threads.c
#include <unistd.h>
#include <stdbool.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#define NUM_THREADS 10
pthread_mutex_t cv_mutex;
pthread_cond_t notification_cv;
mfukar /
Created May 26, 2016
Some interview question from VMware. Figure out the problem statement, it's obvious.
import sys
def main():
N = raw_input()
elements = [int(element) for element in' ')]
L, R = 0, len(elements)
# We got ourselves a maximum subarray problem, with inverted semantics.
# The subarray we want to find is the one to flip all the bits in.
mfukar / reasonable-tuple.cpp
Created Apr 30, 2016
Use an std::tuple without magic numbers and the stupid get<> interface
View reasonable-tuple.cpp
#include <tuple>
struct Cache;
template<int, typename> struct cache_getter;
template<int, typename...> struct tuple_walker;
template<int I, typename... Ts> struct cache_getter<I, std::tuple<Ts...> > {
static std::tuple<Ts...> get(Cache & c);
mfukar / nuke-noscript.user.js
Last active Mar 24, 2016
Nuke <noscript> tags
View nuke-noscript.user.js
// ==UserScript==
// @name nuke noscript
// @namespace
// @version 0.2
// @description Remove all <noscript> tags in every document
// @author mfukar
// @grant none
// ==/UserScript==
/* jshint -W097 */
'use strict';
mfukar /
Created Dec 3, 2015
A buffer of bits
import struct
class bitbuffer:
# TODO: need reader?
def __init__(self):
self.buffer = b''
self.byte = 0
self.bit_pos = 7
def append(self, value, nbits):