Skip to content

Instantly share code, notes, and snippets.

View serverhiccups's full-sized avatar

serverhiccups serverhiccups

View GitHub Profile
@serverhiccups
serverhiccups / processobj.js
Created January 29, 2021 22:37
Extract geometry from a .obj file into a format suitable for Scratch.
let fs = require("fs")
let filename = process.argv[2]
let obj = fs.readFileSync(filename).toString();
let v = obj.split("\n").filter((line) => {
return line.split(" ")[0] == "v"
}).map((line) => {
return line.split(" ");
})
let f = obj.split("\n").filter((line) => {
return line.split(" ")[0] == "f"
/* Water Flow Simulation Test
Key Ideas:
The model that describes the network is stored seperately from the model that does the calculations
*/
class Network {
constructor() {
this.network = [];
this.builtNetwork = [];
this.sources = [];
@serverhiccups
serverhiccups / sudoku.cpp
Last active January 9, 2020 02:55
Min sudoku lösare
/*
Sodoku Solver and Checker v1.1.
By serverhiccups, 2019.
This file is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
The license is available here: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
*/
#include<vector>
#include<iostream>
#include<set>
#include<utility>
0 0 6 0 4 0 0 9 7
0 4 0 7 3 0 0 1 0
0 1 7 0 9 2 0 3 0
6 0 0 0 7 0 0 8 0
1 0 5 0 6 0 9 0 3
0 2 0 0 1 0 0 0 6
0 5 0 9 8 0 1 6 0
0 9 0 0 5 6 0 7 0
8 6 0 0 2 0 3 0 0
@serverhiccups
serverhiccups / .profile
Last active September 2, 2017 04:22
my profile
#!/bin/bash
#tmux
EVENT_NOKQUEUE=1
alias tm='tmux attach || tmux new' #Because having multiple sessions is fiddly
#SSH
alias rpi='rpi' # see ~/.ssh/config
alias rpix="xterm -e 'ssh rpi -Y lxsession'" # Start xterm (in XQuartz) and ssh into my pi and run lxde
alias rpim="mosh rpi"
alias macserver="ssh macserver"
@serverhiccups
serverhiccups / hiccups.terminal
Last active December 4, 2016 05:39
My Terminal.app config
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BackgroundBlur</key>
<real>0.092837791997573277</real>
<key>BackgroundColor</key>
<data>
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
AAGGoKMHCA9VJG51bGzTCQoLDA0OV05TV2hpdGVcTlNDb2xvclNwYWNlViRjbGFzc00w
@serverhiccups
serverhiccups / installNodeOnDPLY.sh
Created November 26, 2016 01:00
Install node on my button
if [ ! -f /installed.txt ]; then
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
apt-get install -y nodejs npm
npm install -g scratchapi
cd /root
npm init -y
touch /installed.txt
fi

Keybase proof

I hereby claim:

  • I am serverhiccups on github.
  • I am serverhiccups (https://keybase.io/serverhiccups) on keybase.
  • I have a public key ASDTchcgaki3Wjx7KzHxlIHslXPGFRqcX43JL2Gumy64Ggo

To claim this, I am signing this object:

@serverhiccups
serverhiccups / bypass.js
Last active March 1, 2021 06:00
Bypass N4L content blocking
// by hiccup01
// licenced under MIT licence
// hiccup01 is not responsible for the results caused by using this script
window.location="https://web.archive.org/save/"+((decodeURIComponent((new RegExp("[?|&]blockedUrl=([^&;]+?)(&|#|;|$)").exec(location.search)||[null,""])[1].replace(/\+/g,"%20"))||window.location)||window.location);
//bookmarklet vvv
//javascript:(function()%7Bwindow.location%3D%22https%3A%2F%2Fweb.archive.org%2Fsave%2F%22%2B((decodeURIComponent((new%20RegExp(%22%5B%3F%7C%26%5DblockedUrl%3D(%5B%5E%26%3B%5D%2B%3F)(%26%7C%23%7C%3B%7C%24)%22).exec(location.search)%7C%7C%5Bnull%2C%22%22%5D)%5B1%5D.replace(%2F%5C%2B%2Fg%2C%22%2520%22))%7C%7Cnull)%7C%7Cwindow.location)%7D)()
var PNGImage = require('pngjs-image');
var pad = require('pad-left');
var request = require('request');
function getColoursFromUUID(code, topad, callback) {
var colours = []; // Array of colours
PNGImage.readImage(('https://crafatar.com/avatars/' + code + '?size=8'), // Url to get heads
function(err, image) {
if (err) throw err;
var colour; // Variable colour is stored in on retreival from image
for (var i = 0; i < image.getHeight(); i++) { // For every line of pixels (height)