Skip to content

Instantly share code, notes, and snippets.

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')
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()}`))
const parseNote = noteStr => {
const [ note, rest = '' ] = noteStr.split('.')
const duration = durations[rest.slice(0, -1)] / tempo
return {
duration,
frequency: notes[note],
type: types[rest[rest.length - 1]] || types[0],
}
}
@kigiri
kigiri / tbp-top-100-movies.txt
Last active March 23, 2020 11:49
ThePirateBay - top 100 of the 23/05/2020 as a JSON dataset
(HD - Movies) Birds.Of.Prey.2020.1080p.WEBRip.x264.AAC5.1-MP4, Uploaded Y-day 06:49, Size 2.01 GiB, ULed by MrStark
(HD - Movies) The.Invisible.Man.2020.1080p.WEBRip.x264.AAC5.1-MP4, Uploaded 03-20 17:45, Size 2.29 GiB, ULed by MrStark
(HD - Movies) The.Invisible.Man.2020.720p.WEBRip.x264.AAC2.0-MP4, Uploaded 03-20 15:43, Size 1.12 GiB, ULed by MrStark
(HD - Movies) Onward.2020.720p.WEBRip.x264.AAC2.0-MP4, Uploaded 03-21 21:06, Size 939.84 MiB, ULed by MrStark
(HD - Movies) Contagion.2011.1080p.BRRip.x264.AAC5.1-MP4, Uploaded 03-20 16:35, Size 1.89 GiB, ULed by MrStark
(HD - Movies) Star.Wars.Episode.IX.The.Rise.Of.Skywalker.2019.1080p.BRRip.x264, Uploaded 03-16 08:29, Size 2.61 GiB, ULed by MrStark
(HD - Movies) Contagion.2011.720p.BRRip.x264.AAC2.0-MP4, Uploaded 03-20 16:34, Size 978.29 MiB, ULed by MrStark
(HD - Movies) Parasite.2019.1080p.HDRip.X264.AC3-EVO[TGx], Uploaded 08-16 2019, Size 2.8 GiB, ULed by sotnikam
(HD - Movies) Jumanji.The.Next.Level.2019.720p.BRRip.x264.AAC2.0-MP4, Uploaded 03-01
@kigiri
kigiri / test.js
Last active March 11, 2020 19:22
const eq = (a, b) => {
if (a === b) return true
if (!a || !b) return false
if (typeof a !== typeof b) return false
if (typeof a === 'number' && Number.isNaN(a) && Number.isNaN(b)) return true
if (typeof a === 'object') {
if (a.constructor !== b.constructor) return false
const entries = Object.entries(a)
if (entries.length !== Object.values(b).length) return false
for (const [k,v] of entries) {
const { createServer, get } = require('http')
const index = `
<!DOCTYPE html>
<html>
<head>
<title>streamable</title>
<meta charset="utf-8">
</head>
<body>
local function empty(tbl)
if type(tbl) == 'string' then return #tbl == 0 end
if type(tbl) ~= 'table' then return true end
if #tbl ~= 0 then return false end
for k, v in pairs(tbl) do return false end
return true
end
local function len(tbl)
@kigiri
kigiri / Dockerfile
Created August 1, 2018 18:33
node 10 + dependencies for puppeteer (without chromium binary) for now deploy
FROM node:10-alpine
RUN \
echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& apk --no-cache update \
&& apk --no-cache upgrade \
&& apk add --no-cache --virtual .build-deps \
gifsicle pngquant optipng libjpeg-turbo-utils \