LifePNG を作った。 Github レポジトリ
こんな画像を簡単に作れるようなやつです。
こんなのもできる。
くわしくはGithub レポジトリ を参照してください。
昨日(暦としては18日の夜)、ミッドナイト念仏に行った。
知恩院で行なわれる法然上人の法要のイベント(?) のうちの一つである。
夜通し木魚を叩きつづけるイベントである(こんなふうに書いたら怒られそうだ)。
普段は入れない知恩院三門に入ることができるイベントでもある。
三時ぐらいに知恩院に行って朝まで木魚を叩きつづけた。
中で撮影は禁止されていたけれど、特に録音は禁止されてなかったので、すこしだけ録音した。
謎のトランス感のあるイベントであった。
現状、このページは、静的html等は事前にgzip で圧縮して、それをmod_rewrite でいいかんじにURL を書きかえてAccept-Encoding: gzip があればgzip版を返すよう設定してある。 ……と思ってたんだけれども、Accept-Encoding: gzip がついてなくても、gzip で返したり、対応するgz ファイルが存在しないと404 になったりしていた。
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.css$ $1.css.gz [QSA,L]
RewriteRule ^(.*)\.js$ $1.js.gz [QSA,L]
RewriteRule ^(.*)\.html$ $1.html.gz [QSA,L]
のように書いていた。
調べていると、結局、RewriteCond が影響するのは、次のRewriteRule だけであることがわかった。 それでAccept-Encoding: gzip のないindex.html へのアクセスにもgzip圧縮されたものを返したり、index.html.gz がないと404 になったりしていたのだ。
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.css$ $1.css.gz [QSA,L]
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.js$ $1.js.gz [QSA,L]
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.html$ $1.html.gz [QSA,L]
のように書きなおした現在、期待どうりの挙動をしているように見える。
最近流行りのOpenSSL のバグですが、うちのRaspberry Pi の上のRaspbian にすぐにアップデートが来なかったので、これを機にArch Linux に乗り変えることにした。
まだいろいろ設定している途中ですが、とりあえず80番と443番だけNAT を通すようにしてここも復活。
SSL の秘密鍵とりかえたいけどStart SSL は再発行にお金かかるらしいし、うーん ってかんじだ。 そもそも攻撃に狙われた可能性は低いとは思うけれど……(よくない考え方だ。安全側に倒すべきではある)
鉄腕アトムも11歳。 だいぶ未来に来てしまった……
アトムの誕生日は、電気の恋人の歌詞で覚えている。
歌詞: Sham Studio (リンク先音注意)
2003年4月7日に 未来のロボが生まれなくても
私の小さな時にはもうPC 98 ではなくて、Windows 98 が家にあったような時代であったので、この曲の歌詞の最初のほうのような事は実際にはやったことは無いのだけれど(私の初めて触ったBASIC はWindows98 の上での十進BASICだ。プログラムの意味もよくわからないまま、豊富に同梱されていたサンプルプログラムを改造してみていた)、それでも、この曲を初めて聞いてからだけの機械の進化はすさまじくて、この曲自体を機械が歌うほどだ。
小さい時に聞いていたこの歌をミクが歌うというのは、なんというか、機械の進歩を強く表わしている気がして本当に好きだ。
この曲の入ったCD は現在入手困難ですが(わたしも欲しい)、Amazon やiTunes なら購入することができます。
Heartsnative は他にも、「みんなみくみくにしてあげる♪」は"機械と人間" って感じがしてすごくいいと思う(そういう意味では、Heartsnative2 のほうはミクしか歌っていないので、比べると好きじゃない)。
何が言いたいかよくわからない記事になってしまった。アトムの誕生日はどっかにいってミクが好き って記事になってるし。しかも遅れて公開だし。
適当なメモなエントリだ。 もしかしたらまとめるかもしれない。
ここ のソースコードをビルド中にたたかったメモ。
基本的にこれ を参考に
http://trac.cross-lfs.org/ticket/926
sed -i -e 's/@colophon/@@colophon/' \
-e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo
sed -i -e 's/@colophon/@@colophon/' \
-e 's/doc@cygnus.com/doc@@cygnus.com/' ld/ld.texinfo
sed -i -e 's/@itemx/@@itemx/' binutils/doc/binutils.texi
sed -i -e 's/@itemx/@@itemx/' gas/doc/c-mips.texi sed -i -e 's/@itemx/@@itemx/' gas/doc/c-tic54x.texi sed -i -e 's/@itemx/@@itemx/' gas/doc/c-score.texi
gas/doc/c-tic54x.texi に @code expected braces らしいので適当に追加
./c-arc.texi:223: command @bullet not accepting argument in brace should not be on @table line よくわからんけど、 gas/doc/c-arc.texi:223 の @table @bullet を @table @code にした
./c-arm.texi:401: command @bullet not accepting argument in brace should not be on @table line うえとおなじ
./c-arm.texi:477: node `ARM Floating Point' lacks menu item for `ARM-Relocations' despite being its Up target そことその下を@@ にして、22行目のメニューからARM Floating Point を削除
../../gcc/doc/invoke.texi:5644: @itemx must follow @item sed -i -e 's/@itemx/@@itemx/' gcc/doc/invoke.texi
rx-elf-gcc -B/home/nona/build/newlib-1.20.0-20121219/rx-elf/newlib/ -isystem /home/nona/build/newlib-1.20.0-20121219/rx-elf/newlib/targ-include -isystem /home/nona/build/newlib-1.20.0-20121219/newlib/libc/include -B/home/nona/build/newlib-1.20.0-20121219/rx-elf/libgloss/rx -L/home/nona/build/newlib-1.20.0-20121219/rx-elf/libgloss/libnosys -L/home/nona/build/newlib-1.20.0-20121219/libgloss/rx -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.20.0\" -DPACKAGE_STRING=\"newlib\ 1.20.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../.././newlib/libc/argz -ffunction-sections -fdata-sections -DMISSING_SYSCALL_NAMES -fno-builtin -g -O2 -c -o lib_a-dummy.o `test -f 'dummy.c' || echo '../../../.././newlib/libc/argz/'`dummy.c /home/nona/local/rx-tools/bin/rx-elf-gcc: 行 498: 対応する `)' を探索中に予期しないファイル終了 (EOF) です /home/nona/local/rx-tools/bin/rx-elf-gcc: 行 5038: 構文エラー: 予期しないファイル終了 (EOF) です
うーん って感じ まだ未解決
GR-SAKURA が部室にあったので遊んでみた。
オンラインコンパイラ があるのでとりあえず試す。
さくら用テンプレートを選んでとりあえず、build。 左のほうのエクスプローラっぽいところにsketch.bin が表示されるので、右クリックのちダウンロード。 さくらをUSB で繋いで、赤いボタンを二回ほど押せば、USBデバイスとして認識されたので、ダウンロードした。sketch.bin を書きこむ。 実行が始まるっぽい。
テンプレートはLED がウェーブしてるのっぽい。
void setup() 関数が初期化の一回のみ呼ばれるもので、void loop() がループするものらしい。 loop() が処理を戻さないと(while(1) なんかで中で無限ループしてたりすると) 不幸が起こるってことがヘッダを読んでたら書いてあった。
Serial.begin(9600); をsetup() で呼ぶとPC とのシリアル通信をすることができる。 Serial.println() を使ってシリアルに書きこむことができる。 Serial.println(); には文字リテラルと数字は渡すことができた。 他にも渡せるものもあると思う(ちゃんとドキュメント読めって感じだ)。
Serial.setDefault() をsetup() で呼んでおくことで、printf() でもシリアルに出力できるらしい。(serial.h に書いてあった) 最初printf("hoge"); して何も出ないなーと思っていたら、printf() は改行が来るまでバッファしているらしい。
/dev/ttyACM0 に見えてるので、
$ cat /dev/ttyACM0
でsakura 側で書いたものが見えた。
オンラインコンパイラで毎回build するのは面倒だなーと思っていたら、makefile を眺めていたらrx-elf-gcc でクロスコンパイルできるらしい。 クロスコンパイル環境整えたいけど、AUR のrx-elf-gcc はbuild できなかったので、自分でビルドしないとなー って感じだ。
API が存在して、 これを使ってAPI 経由でWeb Compiler を使えるっぽい。 手元でビルドする環境を簡単に整えられないならこっちだけでがんばってもいいかも
ビルドもこれでできるので、いい感じのelisp でも気が向いたら書きたい。
下界に帰ってきた。
スライドこうかいしないと。
電波の入らないところに来ています。