Skip to content

Instantly share code, notes, and snippets.

View iczero's full-sized avatar
🪲
i made bugs

iczero iczero

🪲
i made bugs
View GitHub Profile
@iczero
iczero / circular-buffer.js
Last active January 2, 2020 08:22
an expanding circular buffer implementation
// @ts-check
// eslint-plugin-jsdoc doesn't support @template
/* eslint-disable jsdoc/no-undefined-types,jsdoc/check-tag-names */
/**
* Copy an array, the lame way
* @template T
* @param {T[]} source Source array
* @param {T[]} dest Destination array
* @param {number} srcStart Start index of source array
* @param {number} srcEnd End index of source array plus one
@iczero
iczero / container.c
Last active March 7, 2020 04:13
crappy container (works on android)
#define _GNU_SOURCE
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mount.h>
#include <sys/wait.h>
#include <sys/syscall.h>
#include <fcntl.h>
#include <sched.h>
#include <unistd.h>
#include <stdio.h>
@iczero
iczero / mariabin-writeup.md
Created June 27, 2020 01:51
maria-bin writeup
@iczero
iczero / mariabin-writeup.md
Last active June 27, 2020 01:57
maria-bin writeup
@iczero
iczero / scihub-nginx.conf
Last active August 13, 2020 23:30
Sci-Hub nginx reverse proxy setup
# relevant parts of configuration
upstream scihub {
server 80.82.77.83:443;
server 80.82.77.84:443;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name sci-hub.yourdomain.comt;
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 8fafcb2cd..2b1c7b378 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -2363,7 +2363,8 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf,
CPU_BASED_MWAIT_EXITING |
CPU_BASED_MONITOR_EXITING |
CPU_BASED_INVLPG_EXITING |
- CPU_BASED_RDPMC_EXITING;
+ CPU_BASED_RDPMC_EXITING |
@iczero
iczero / build-proton.sh
Last active December 25, 2020 12:55
this script will probably not build proton
# Build Proton. Hopefully.
# Note: DO NOT ACTUALLY RUN THIS SCRIPT. Copy/paste each command so if something goes wrong this thing
# doesn't murder your system by accident.
# You should probably run this in a container.
# If you decide to stop it when it is building wine32, make sure you reinstall the 64-bit versions of
# the libraries so you don't have a massive headache while trying to build 64-bit things later on.
git clone --depth 10 https://github.com/ValveSoftware/Proton ./proton --recursive --shallow-submodule
cd proton
# reset all the submodules, no clue why this is needed
@iczero
iczero / mediasite-fetch.js
Last active January 15, 2021 02:28
Script to get information and download mediasite videos
#!/usr/bin/env node
// @ts-check
// $ npm install got path-to-regexp yargs cli-progress
// put value of MediasiteAuth cookie in a file named mediasite-auth-cookie.txt
// in the same directory as this script
const fs = require('fs');
const fsP = fs.promises;
const path = require('path');
const childProcess = require('child_process');
const got = require('got');
@iczero
iczero / dots3.js
Last active April 21, 2021 07:53
stupid unicode things
// @ts-check
const { Transform } = require('stream');
const zlib = require('zlib');
// abuse varwidth fonts by encoding bytes to very thin unicode characters
// for best results run calculateWidths() with different fonts and devices
/* run this on about:blank
let root = document.createElement('div');
document.body.appendChild(root);
@iczero
iczero / oneify.ts
Last active July 5, 2021 09:48
stupid api service
import express from 'express';
import createDebug from 'debug';
import childProcess from 'child_process';
// RANDOM BULLSHIT AS A SERVICE (RBaaS), brought to you by iczero
// IMAGINE BEING THE PERSON THAT WROTE THIS
// i have literally spent more time writing this than thinking about the problem
// Find the shortest path from n to 1 using the operations n = n/2, n = n + 1, n = n - 1.
// n can only be divided by 2 when it is even, and it is always an integer.