Skip to content

Instantly share code, notes, and snippets.

View rubenwardy's full-sized avatar

rubenwardy rubenwardy

View GitHub Profile
@rubenwardy
rubenwardy / init_cmake.py
Last active January 22, 2020 14:33
Create CMakeLists
#!/usr/bin/python
# I recommend that you install it and run it:
# $ sudo cp init_cmake.py /usr/bin
# $ init_cmake
import os
print("Initialise CMAKE by rubenwardy")
@rubenwardy
rubenwardy / calc.rb
Last active January 11, 2016 00:47
Mathematical Expression Parser in Ruby
#
# Written by rubenwardy
# License: WTFPL
#
# $ ruby calc.rb
#
# Turns a string such as "( 0 - (6) + ( 6 ^ 2 - 4 * 1 * 5 ) ^ (1 / 2) ) / ( 2 * 1)"
# into a binary syntax tree, and then into Reverse Polish Notation, and then executes it.
#
# String is typed in the terminal during program execution
@rubenwardy
rubenwardy / hudkit.lua
Last active August 29, 2015 14:12
HudKit for Minetest
-- HudKit, by rubenwardy
-- License: Either WTFPL or CC0, you can choose.
local function hudkit()
return {
players = {},
add = function(self, player, id, def)
local name = player:get_player_name()
local elements = self.players[name]
@rubenwardy
rubenwardy / convert_to_pdf.sh
Last active August 29, 2015 14:18
Convert folder of images to PDF with filenames
#
# This batch file is specific to Linux.
# (the for, mkdir, rm etc commands may be done differently on your OS.
# the convert commands should be the same though)
#
rm /tmp/imageex -r
mkdir /tmp/imageex
for filename in *.png; do
echo "Processing $filename"
@rubenwardy
rubenwardy / mt_serverlist_points.py
Last active March 9, 2022 00:56
Server list point checker
#!/usr/bin/python3
# list all servers and their points:
# $ python mt_serverlist_points.py
#
# lists all penalties being applied:
# $ python mt_serverlist_points.py pen
#
# penalty -8 uptime for VanessaE's Nostalgia Server/digitalaudioconcepts.com
# penalty -8 uptime for VanessaE's Basic minetest_game server/digitalaudioconcepts.com
@rubenwardy
rubenwardy / rod_cutting.js
Last active November 9, 2016 17:05
Finding the most profitable way to cut a rod, using bottom-up dynamic programming (CLRS Section 15.1)
var assert = require("assert");
class Result {
constructor(n, seq, score) {
this.n = n;
this.seq = seq;
this.score = score;
}
betterThan(other) {
@rubenwardy
rubenwardy / matrix_chain_mult_opt.js
Last active November 12, 2016 16:20
Matrix Chain Multiplication Order Optimisation
class MatrixRes {
constructor(rows, cols) {
this.rows = rows;
this.cols = cols;
}
sizeAfterMultiplyWith(other) {
assert(this.canMultiplyWith(other));
return new MatrixRes(this.rows, other.cols);
}
PROMPT_COMMAND=__prompt_command # Func to gen PS1 after CMDs
get_git_as() {
if info=$(git diff --shortstat); then
echo $info
fi
}
__prompt_command() {
@rubenwardy
rubenwardy / gist:cd5e5528ec60c80270a85b9252b215a2
Last active July 12, 2018 13:58
Minetest Developer Meeting 12/Aug/2017
Meeting 12/Aug/2017
function wrapRegisterCall(name, func)
for key, v in pairs(minetest["registered_" .. name .. "s"]) do
func(key, v)
end
local old = minetest["register_" .. name]
minetest["register_" .. name] = function(name, def)
func(name, def)
old(name, def)
end