Skip to content

Instantly share code, notes, and snippets.

View tana's full-sized avatar

Satoshi Tanaka tana

View GitHub Profile
@tana
tana / LICENSE
Last active May 26, 2026 14:50
G-code replicator
MIT License
Copyright (c) 2026 tana_ash
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
@tana
tana / ラズパイでSiv3D.md
Last active October 6, 2023 12:08
ラズパイでSiv3D

前提条件

  • Raspberry Pi 4 Model B
    • OpenGL ES 3.1はPi 4でないと動かないため
  • Raspbian bullseye (64ビット、32ビット両対応。ただし32ビットでは検証不足)

手順

  1. aptから入れられる範囲で依存パッケージを入れる
    sudo apt install ninja-build libasound2-dev libavcodec-dev libavformat-dev libavutil-dev libboost-dev libcurl4-openssl-dev libgtk-3-dev libgif-dev libglu1-mesa-dev libharfbuzz-dev libmpg123-dev libopencv-dev libopus-dev libopusfile-dev libsoundtouch-dev libswresample-dev libtiff-dev libturbojpeg0-dev libvorbis-dev libwebp-dev libxft-dev uuid-dev xorg-dev clang cmake
  • GCCではなくClangコンパイラが必要(32ビットではGCCでもコンパイル可能な可能性あり。要検証)
@tana
tana / README.md
Created March 13, 2022 14:09
systemdを使ってBluetoothデバイスに自動接続する

Linuxの起動時にBluetoothデバイス(ゲームパッドなど)に自動接続するsystemd Unitです。 デバイスは事前にbluetoothctlでペアリングしておく必要あり。 `` は接続先BluetoothデバイスのMACアドレス(例:AB:CD:EF:12:34:56)に置き換えてください。

@tana
tana / M5StampC3_Test.ino
Created October 23, 2021 10:13
LED blink using M5Stamp C3
#include <Adafruit_NeoPixel.h>
const int NUM_LEDS = 1;
const int LED_PIN = 2;
Adafruit_NeoPixel pixels(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(115200);
@tana
tana / EmitTest.cs
Created January 12, 2021 04:51
IL shift amount test
using System;
using System.Reflection;
using System.Reflection.Emit;
namespace EmitTest
{
class EmitTest
{
static void Main(string[] args)
{
@tana
tana / factorial.rs
Created November 5, 2014 03:38
ifとmatchで階乗を書いて、実行時間を比べてみる。
extern crate time;
fn factorial(n: uint) -> uint {
if n > 1 {
n * factorial(n - 1)
} else {
n
}
}
@tana
tana / README.md
Created April 18, 2014 18:16
MacでLaunchpadやDockにmikutterのアイコンを表示する

Macにmikutterをインストールしていて、Launchpadやdockにmikutterのアイコンを表示してみたくなったのでやってみました。

あらかじめ、X Window Systemや依存ライブラリ、mikutterをインストールしておきます。 それに関してはこの記事が詳しいです。
mikutter Advent Calendar 2013 Day2 - あっきぃ日誌

それでは、まず最初に、この記事を参考に起動用の.appファイルを作ってみます。
シェルスクリプトを Mac OS X 方式の .app にする方法 [簡単 2 ステップ] - うむらうす
mikutterを起動する命令を書いたAppleScriptファイルをAppleScriptエディタで開き、ファイルフォーマットを「アプリケーション」にして保存するだけです。
使用したAppleScriptはこのgistに貼り付けておきました。「/path/to/mikutter.rb」の部分は、mikutter.rbのパスに適宜置き換えてください。

@tana
tana / binary-move.vim
Created February 21, 2014 09:09
Vimで二分探索っぽくカーソルを移動する
" 二分探索のようにカーソルを移動する
"
" 操作方法
" 現在位置より左に行きたい場合は <C-H>
" 右に行きたい場合は <C-L> (再描画を上書きするが、大丈夫だろう)
" <C-K> で状態をリセット
" 行を移動するとリセットされる。
let s:left = 0 " 範囲の左端
let s:right = 0 " 範囲の右端
@tana
tana / test.txt
Created October 8, 2012 11:28
自作言語テストプログラム
/*co\nmm/*en*/t*/def hoge():
arr = [1, 2, 3, 4]
// array
arr[3] = 9
c = arr.length
while c:
console.log(arr[c - 1])
c = c + -1
@tana
tana / out.js
Created September 29, 2012 13:46
自作言語のコンパイラ出力(標準ライブラリ除く)
function hoge(){
var arr = [1, 2, 3, 4];
var c = (arr).length;
return (function() {
while (c) {
((console).log)((arr)[($$mn$$)(c, 1)]);
$$result$$ = c = ($$mn$$)(c, 1);
}
return $$result$$;
})();