Skip to content

Instantly share code, notes, and snippets.

@kuwa72
kuwa72 / m3u8romajinizer.ts
Last active March 23, 2024 19:12
For Japanese DJ tool, romaji-nize metadata music files. powerd by Deno.
// ex) deno run --allow-read --allow-env --allow-run .\main.ts ..\..\OneDrive\ドキュメント\20240114-cream.m3u8 out
import { Parser } from "npm:m3u8-parser@7.1.0";
import mm from "npm:music-metadata@7.14.0";
import Kuroshiro from "npm:kuroshiro@1.2.0";
//import Kuroshiro from "./core.ts";
import Analyzer from "npm:kuroshiro-analyzer-kuromoji@1.1.0";
const args = Deno.args;
console.log(args);
@kuwa72
kuwa72 / xml-parser.rb
Created February 7, 2022 19:11
test of itunes xml parse
require 'rexml/parsers/sax2parser'
require 'rexml/sax2listener'
# define types
module Modes
Unknown = 'Unknown' # unknown key name, ignore parse
TrackID = 'Track ID'
Name = 'Name'
end

Basic commands

:Git [args]              # does what you'd expect

all of your ~/.gitconfig aliases are available.

:Git! [args]             # same as before, dumping output to a tmp file

Moving inside a repo.

@kuwa72
kuwa72 / reciprocal.rb
Last active February 6, 2018 17:53
Naive implement n/1 enumerator.
class Reciprocal
include Enumerable
def initialize(i)
@denon = i
end
def each
numer = 1
nums = []
loop do
@kuwa72
kuwa72 / script.js
Created December 11, 2017 02:02
User script: Markdown highlighting in Redmine wiki.
(function() {
'use strict';
// Your code here...
var loading = '<link rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css">';
$('head').append(loading);
$.getScript("https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js", () => {var simplemde = new SimpleMDE({ element: $("#content textarea")[0] });});
})();
@kuwa72
kuwa72 / nulpo.sh
Last active August 30, 2017 10:06
ぬるぽガッ
yes 'echo $((RANDOM%3))' | bash | head -n 100 | while read X;do E=$P;P=$N;N=$X; echo $X;if [[ "$N" == 2 && "$P" == 1 && "$E" == 0 ]];then echo "ガッ!!!";break;fi;done | sed -e 's/0/ぬ/' -e 's/1/る/' -e 's/2/ぽ/'
@kuwa72
kuwa72 / firepattern.sh
Last active August 17, 2017 05:32
Rendering fire on terminal(no noise), based on 炎上のさせ方講座(じゃがりきん) https://twitter.com/jagarikin/status/894452278463053824
x=$(gshuf -i 196-226 -r|head -n 20|xargs);for ((i=0;i<30;i++));do y=$x;x=$((echo $x|cycle|head -n 2;echo $x|cycle|tail -n 1;echo $y)|awk '{for(i=1;i<=NF;i++){a[i]+=$i}}END{for(x in a)printf int(a[x]/4)" ";print ""}');echo $x;done|awk '{for(i=1;i<=NF;i++){printf "\033[48;05;%dm%d",$i,$i};print"\033[m"}' | gtac
@kuwa72
kuwa72 / v29q2.sh
Last active July 4, 2017 09:15
シェル芸勉強会 29回 Q2
cat attend | php -B '$n=explode(",",chop(file_get_contents("attend6")));' -R '$l=explode(" ",$argn);echo "$l[0] $l[1] $l[2]",in_array($l[0], $n)?"出":"欠","\n";'
@kuwa72
kuwa72 / lg.zsh
Created March 31, 2017 03:46
Life game(requirements: zsh, egzact. Tested on OSX).
#!/usr/bin/env zsh
FO=$(cat)
X=$(head -n 1 <<<$FO)
YL=$(echo $FO|wc -l|bc)
FF=$((echo $X|tr 1 0;echo $FO;echo $X|tr 1 0)|addl 0\ |addr \ 0)
for L in {1..$YL};do
for C in {1..$(echo $X|awk '{print NF}')}; do
echo $FF | sed -n $L,$((L+2))p | cut -d \ -f $C,$((C+1)),$((C+2)) | xargs | {
read B
if echo $B | grep -q '. . . . 1 . . . .';then
@kuwa72
kuwa72 / friends.sh
Created February 23, 2017 08:40
すごーい!!ターミナル
#!/bin/sh
perl -pe 's/(\S)(\S)?(\S)?(\S)?(\S)?(\S)?(\S)?(\S)?(\S)?(\S)?(\S)?(\S)?(\S)?/\x1b[48;5;231m\x1b[38;5;35m$1\x1b[38;5;76m$2\x1b[38;5;208m$3\x1b[38;5;202m$4\x1b[38;5;30m$5\x1b[38;5;162m$6\x1b[38;5;25m$7\x1b[38;5;39m$8\x1b[38;5;245m$9\x1b[38;5;208m$10\x1b[38;5;160m$11\x1b[38;5;160m$12\x1b[38;5;54m$13/g'