Skip to content

Instantly share code, notes, and snippets.

@kigiri
kigiri / queue-wsg.hs
Created November 3, 2023 16:19
queue wsg
/console scriptErrors 0
/click PVPReadyDialogEnterBattleButton
/run TogglePVPFrame()
/click PVPParentFrameTab2
/click [group]BattlefieldFrameGroupJoinButton;BattlefieldFrameJoinButton
@kigiri
kigiri / random-seed.js
Created September 22, 2022 17:43
seeded random in 385bytes of js
const randomSeed = ((r,a,n)=>(d,o,m,i,z,e,x)=>(o=n(3941471299,d),m=a(0.8633289230056107-(o>>>0)*r),i=a(0.15019597788341343-(o=n(o,d)>>>0)*r),z=a(0.9176952994894236-(o=n(o,d)>>>0)*r),e=1,()=>(x=2091639*m+e*r,m=i,i=z,z=x-(e=x|0))))(23283064365386963e-26,e=>e+(e<0),(e,r)=>{for(let t of r){let r=.02519603282416938*(e+=t.charCodeAt());r-=e=r>>>0,r*=e,r-=e=r>>>0,e+=4294967296*r}return e})
// usage:
const rand = randomSeed('hello') // must be a string
rand() // use like Math.random()
// the end.
<script type="text/javascript">
// On creer le player
const player = document.createElement('audio')
// Un peu de style pour indiquer d'afficher le player en bas a droite
player.style.display = 'none'
player.style.position = 'fixed'
player.style.bottom = '6px'
player.style.right = '6px'
const allLimited = (actions, { delay = 0, concurrency = 1 }) =>
new Promise((s, f) => {
let i = -1
const end = actions.length
const result = Array(end)
const delayed = delay && (fn => setTimeout(fn, delay))
async function next(x) {
if (x >= end) return x - end >= concurrency && s(result)
try {
const pause = delay && new Promise(delayed)
@kigiri
kigiri / emoji.html
Created May 11, 2021 23:17
favicon emoji
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>👕</text></svg>">
const ws = new WebSocket(`wss://gateway.discord.gg/?v=8&encoding=json`)
const ONCE = {}
const ON = {}
let s = null
let heartbeatAc
const heartbeat = () => {
console.log('heartbeat')
heartbeatAc = setTimeout(() => {
console.log('the client was ZOMBIFED')
import { readFileStr } from 'https://deno.land/std@v1.0.0-rc1/fs/read_file_str.ts'
import { writeFileStr } from 'https://deno.land/std@v1.0.0-rc1/fs/write_file_str.ts'
const toUTF8 = buff => {
const decoder = new TextDecoder()
return decoder.decode(buff)
}
export const bootstrap = async ({ debug = false } = {}) => {
const pid = await readFileStr('.pid')
@kigiri
kigiri / izidom.js
Last active August 25, 2020 23:41
frameworkless workflow spa pwa serverless JSON blockchain
const append = (p, ...n) => (p.append(...n.flat()), p)
const create = new Proxy((t,...c)=>append(Object.assign(document.createElement(t),c[0]&&c[0]==Object?c.shift():void 0),...c),{get:(f,t)=>(...c)=>f(t,...c)})
import { readFileStr, writeFileStr } from 'https://deno.land/std/fs/mod.ts'
const ext = `.${Deno.args[0] || 'txt'}`.replace(/^\.\.+/, '.')
const filenames = (await Deno.readdir('.'))
.map(file => file.name)
.filter(name => name.endsWith(ext))
.filter(name => !name.endsWith(`-replaced${ext}`))
const work = filenames.map(async name => {
const text = await readFileStr(name)
@kigiri
kigiri / functions.js
Last active April 6, 2020 09:36
Synchronise time across clients & server
const functions = require('firebase-functions')
const cors = res => {
res.setHeader('Timing-Allow-Origin', 'https://nice-timer.web.app')
res.setHeader('Access-Control-Allow-Origin', 'https://nice-timer.web.app')
res.setHeader('Access-Control-Allow-Methods', 'GET,HEAD,OPTIONS')
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
return res
}
exports.now = functions.https.onRequest((_, res) => cors(res).send(`${Date.now()}`))