Skip to content

Instantly share code, notes, and snippets.

View skeskinen's full-sized avatar

Santtu Keskinen skeskinen

  • Helsinki, Finland
View GitHub Profile
@skeskinen
skeskinen / SubModule.cs
Created January 20, 2022 20:35
AutoresolveSimulator at the end of day 1
using HarmonyLib;
using SandBox.ViewModelCollection;
using System;
using System.IO;
using System.Text;
using TaleWorlds.CampaignSystem;
using TaleWorlds.Core;
using TaleWorlds.MountAndBlade;
using TaleWorlds.MountAndBlade.ViewModelCollection;
@skeskinen
skeskinen / SubModule.cs
Last active January 13, 2022 14:54
Bannerlord hero data exporter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TaleWorlds.Core;
using TaleWorlds.MountAndBlade;
using TaleWorlds.Library;
using System.IO;
using TaleWorlds.CampaignSystem;
.read_input_prelude:
; Fill ymm0 with #.
mov rax, '#'
pinsrq xmm0, rax, 0
vpbroadcastb ymm0, xmm0
; Fill ymm10 with 0x1.
mov rax, 0x1
pinsrq xmm10, rax, 0
vpbroadcastb ymm10, xmm10
@skeskinen
skeskinen / farey.c
Last active December 13, 2019 14:48
#include <stdio.h>
// Pyörivän pyyhkäisyn kokonaisluku koordinaatit Fareyn jonosta
// https://en.wikipedia.org/wiki/Farey_sequence
// n = 5
// (0, 1)
// (1, 5)
// (1, 4)
// (1, 3)
// (2, 5)
// (1, 2)
@skeskinen
skeskinen / hl3.js
Last active January 23, 2019 00:14
poimintapeli botti
// var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false }); f=(
function (output) { const koodi = "AGFzbQEAAAABaRBgAX8AYAJ/fwBgA39/fwF/YAJ/fwF/YAAAYAN/f38AYAF/AX5gAX8Bf2AEf39/fwBgBH9/f38Bf2AAAX9gB39/f39/f38Bf2AFf39/f38AYAV/f39/fwF/YAZ/f39/f38Bf2ACfH8BfAOoAaYBBAEFBQEAAwMCBgYHBQEFCAMDAwUAAAEBAwUJAwoHAQEABgYGBgcHAwMDAwQBAQAAAAABAwADBAMDAgUHBAEBAQcBAAQECAABAAEBAwUJAwAACAEBAQEBBwcDAwEFAgUBAgEEAQAAAAUBAAEBAggDAgMDBgMDAQMLBwcDDAEHBw0IAAMDAwUCAgcFAgcDAwIDAwMDDgcHCAECAgMDBQMDAwMDAgICDwQFAXABPT0FAwEAEQYJAX8BQYCAwAALB1gFBm1lbW9yeQIABHBsYXkADB5fX3diaW5kZ2VuX2dsb2JhbF9hcmd1bWVudF9wdHIAHBFfX3diaW5kZ2VuX21hbGxvYwAdD19fd2JpbmRnZW5fZnJlZQAeCU4BAEEBCzwFCAYHEaABEp0BkgEQFBcWChUJdCozNXMoSUg5NzgnLiItLDFSUy8jMFRVISQpbnpwhAGRAXFmcmWGAYwBjQFkjgGPAZABoQEKyrwCpgEFABBiAAuaAgIHfwF+AkACQAJAAkACQAJAIABBBGooAgAiAiAAQQhqKAIAIgNrIAFBDGooAgAiBCABQQhqKAIAIgVrIgZBA3UiB08NACADIAdqIgggA0kNAyACQQF0IgMgCCAIIANJGyIDrUIDhiIJQiCIpw0DIAmnIghBAEgNAyACRQ0BIAAoAgAgAkEDdEEIIAgQ
@skeskinen
skeskinen / music_splitter.py
Created April 1, 2017 00:57
Music splitter script using python and ffmpeg.
#Music splitter script using python and ffmpeg.
import ffmpy
import mutagen
#give track timestamps file, format:
#01:45:26 What is love
#04:52:42 We are Number One
#05:00:34 LAST ENTRY IS END TIME
with open('stamps.txt', 'r') as stamp_file:
@skeskinen
skeskinen / init.js
Created December 15, 2015 00:54
Atom init file with react line commenting command
//bind to eg. ctrl-? and use to comment/uncomment react lines
atom.commands.add('atom-text-editor', 'comment-react-line', function(){
var item = atom.workspace.getActivePaneItem();
var range = item.getSelectedBufferRange();
var start = range.start.row;
var end = range.end.row;
if (start === end) end++;
function commentLine(l) {
item.setCursorBufferPosition([l, 0]);
{-# LANGUAGE TemplateHaskell #-}
module InterpolatedString where
import qualified Language.Haskell.TH as TH
import Language.Haskell.TH.Quote
import GHC.Exts (IsString(..))
q :: QuasiQuoter
q = QuasiQuoter (\a -> [|fromString a|])