Skip to content

Instantly share code, notes, and snippets.

View tsukumijima's full-sized avatar
📺
TTS & DTV

tsukumi tsukumijima

📺
TTS & DTV
View GitHub Profile
/*****************************************************************************
* ARIB STD-B24 caption decoder/renderer using libaribcaption.
*****************************************************************************
* Copyright (C) 2022 magicxqq
*
* Authors: magicxqq <[email protected]>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
@greymd
greymd / sudo新一.md
Last active May 15, 2025 06:15
sudo新一

 オレは高校生シェル芸人 sudo 新一。幼馴染で同級生の more 利蘭と遊園地に遊びに行って、黒ずくめの男の怪しげな rm -rf / 現場を目撃した。端末をみるのに夢中になっていた俺は、背後から近づいてきたもう1人の --no-preserve-root オプションに気づかなかった。 俺はその男に毒薬を飲まされ、目が覚めたら・・・ OS のプリインストールから除かれてしまっていた!

sudo がまだ $PATH に残っていると奴らにバレたら、また命を狙われ、他のコマンドにも危害が及ぶ』

 上田博士の助言で正体を隠すことにした俺は、 which に名前を聞かれて、とっさに『gnuplot』と名乗り、奴らの情報をつかむために、父親がシェル芸人をやっている蘭の $HOME に転がり込んだ。ところが、このおっちゃん・・・とんだヘボシェル芸人で、見かねた俺はおっちゃんになりかわり、持ち前の権限昇格能力で、次々と難タスクを解決してきた。おかげで、おっちゃんは今や世間に名を知られた名エンジニア、俺はといえばシェル芸 bot のおもちゃに逆戻り。クラスメートの convertojichattextimg にお絵かきコマンドと誤解され少年ワンライナーお絵かき団を結成させられる始末。

 ではここで、博士が作ってくれたメカを紹介しよう。最初は時計型麻酔 kill 。ふたについた照準器にあわせてエンターを押せば、麻酔シグナルが飛び出し、プロセスを瞬時に sleep させることができる。 次に、蝶ネクタイ型 banner 。裏についているダイヤルを調整すれば、ありとあらゆる大きさのメッセージを標準出力できる。必殺のアイテムなら fork 力増強シューズ。電気と磁力で足を刺激し、 :(){ :|:&amp; };: でプロセステーブ

@kenji21
kenji21 / xcode-previous-older-sdks.md
Last active April 13, 2025 17:23
Use previous/older SDKs with Xcode
@monyone
monyone / MPEG2VIDEOをライブ再生したい.md
Created October 21, 2021 14:36
mpeg2video をライブ再生させたい

これは何?

Chrome M94 で追加された以下のAPIを使った TS (mpeg2video + aac) の再生実験

  • WebCodecs
  • Insertable Stream for MediaStreamTrack

mpeg2video のデコードは別途、mpeg2videoをデコードできる decoder_wasm を利用した.

@monyone
monyone / LIVE_FOR_WEBCODECS.md
Last active June 13, 2022 06:27
TSライブ再生実験 (used by Insertable Stream for MediaStreamTrack)

これは何?

Chrome M94 で追加された以下のAPIを使ったTSのライブ再生用デモ実装

  • WebCodecs
  • Insertable Stream for MediaStreamTrack

使い方

mpgets.js と同じような構成で (max_delay はリップシンクのため 0 推奨, データストリームは入れない事を推奨)

@contextnerror
contextnerror / TwitterRevertColoring.user.css
Last active September 1, 2021 23:21 — forked from tsukumijima/TwitterRevertColoring.user.css
Changes twitter UI to the old colors. By tsukumijima, modified to work on the English website.
/* ==UserStyle==
@name TwitterRevertColoring(English)
@description Changes twitter UI to the old colors. By tsukumijima, modified to work on the English website.
@namespace https://gist.github.com/contextnerror
@updateURL https://gist.githubusercontent.com/contextnerror/fd5f23560db92f41d15e40d84406c269/raw/TwitterRevertColoring.user.css
@author tsukumi
@version 1.3.6
@license MIT
==/UserStyle== */
// QuaStationのシリアル通信のコネクタにいつものM5のGROVEケーブルがぴったり。
// GROVEケーブルのツメを持ち上げて赤と黒を抜く、赤のところに黒をいれる。赤は入れないでテープで絶縁
// 改造したほうをQuaに指して、反対側はそのままM5StickCに。
// screen `ls -1 /dev/cu.usbserial-*` 115200
// https://lang-ship.com/blog/work/m5stickc-uartserial/
#include <M5StickC.h>
#define LED_BUILTIN 10
void setup() {
@Rendez
Rendez / pip.d.ts
Last active March 1, 2025 14:45
TypeScript types for the Picture-in-Picture feature of the Document and the video tag
interface PictureInPictureResizeEvent extends Event {
readonly target: PictureInPictureWindow;
}
interface PictureInPictureWindow {
readonly width: number;
readonly height: number;
onresize(this: PictureInPictureWindow, ev: PictureInPictureResizeEvent): void;
addEventListener(
type: 'resize',
@kai2nenobu
kai2nenobu / embed_jscript.ps1
Created March 23, 2021 02:28
JScriptにPowershellスクリプトを埋め込む
function // { # Define a nop function
param($nop)
{ // } > $null
return
}
// <# Call an embedded powershell from JScript
function escape(arg) {
return '"' + arg + '"';
}
@kawaz
kawaz / superInterval.js
Last active June 5, 2024 08:41
タブがバックグラウンドになってもサボらない setInterval
const superInterval = (cb, interval=1000, ...args) => {
try {
const code = `self.addEventListener('message', msg=>{setInterval(()=>self.postMessage(null), msg.data)})`
const w = new Worker(`data:text/javascript;base64,${btoa(code)}`)
w.onmessage = () => cb(...args)
w.postMessage(interval)
return {stop:()=>w.terminate()}
} catch(_){
// 実装の問題またはCSPによる拒否などで Worker が使えなければ普通の setInterval を使う
const id = setInterval(cb, interval, ...args)