Lua に C関数を公開する時

Programming in Lua 曰く,

Enum を受け取るような関数を定義する時は文字列で受け取ったほうが良い

というような事が書いてあって,実際標準Luaライブラリにも luaL_checkoption というまさにうってつけの関数が用意されてる

……んだけど,その許可するものの数が膨大だとこれでは(Programming in Lua内にあるコードでも)文字列から線形探索になるからちょっと気になるんじゃないかなーと.

続きを読む

まだまとまってないけどコルーチンが使える言語でアクション作る時に使えるかもしれないメモ

前提

簡単なアクションゲームプログラミングをしてるとして, キャラクタークラスが毎フレーム呼ばれる Update() メソッドを持っており, Updateメソッド内で座標移動とかをする.

他キャラクターとの当たり判定を IsHitOtherCharacter() で取得できる

続きを読む

C++ポケットリファレンスの執筆に参加しました。

C++ ポケットリファレンス(Amazon)

http://gihyo.jp/book/2013/978-4-7741-5715-3

本日が発売日の、C++ポケットリファレンスに共著として参加しました。 2013/05/18 12:33 現在、AmazonのC++カテゴリで1位、プログラミングカテゴリで10位になっています。

初めての執筆経験となりました。大変でしたが、色々と貴重な経験となりました。 執筆プロジェクトの体制については、同じく著者である晶さんのブログ記事が詳しいです。

本書は、日本では初のC++11対応書籍です。 中身は、逆引きリファレンスで主にライブラリの解説が中心となります。

C++11では言語仕様、標準ライブラリともに大幅に追加されました。 なるべく広く深く扱うため、528ページというボリュームになりましたが、 それほど重くなく、電車内でパラパラと読むのにも適していると思います。

あ、電子書籍版も出ています。 よろしくお願いします。

シェルで短縮URLの展開

curl -I -s http://bit.ly/VLvdYd | grep -i Location | cut -d ' ' -f 2

で,実行するとhttps://twitter.com/nyaocatとか結果が得られる

簡単な解説

単に短縮URLはアクセスするとなんかリダイレクトするだけなので,curlで覗いてgrep -i Locationでリダイレクト先だけを見ている。単にgrep -i LocationだとLocation: http://~と出てくるのでcutを用いてLocation:部分を飛ばしてる。

curl-IオプションはGETではなくHEADでリクエストするオプションらしい。レスポンス本体は今回不要で,ヘッダのみとれれば十分なので。

curl-sオプションは余計な出力を切ってるだけ。

grep-iは大文字小文字区別しないオプション。サーバによっては Location: だったり location だったりするので。

実は

http://d.hatena.ne.jp/mzp/20090508/bitly を見てシェル勉強がてら書いただけ

作りたいものメモ

  • Skype APIを叩いてブラウザからSkypeチャット出来るようにするcgiというかhttpサーバというか。

Skypeが色々な連絡に用いられてるから出来るならあちこちで見れるようにしたいのだけど、iPhoneSkypeは重いしバッテリー消費激しい。サーバ内にSkypeを立ち上げっぱなしにしてブラウザから気軽に見れる用にしたい。 


Skype API の叩き方を覚えるのがちょっと面倒なのと、それのWebインターフェースを用意するのが面倒。そこまで難しくないはず。そもそも、Skypeなぞ使わずIRCで良いと思うのだけど、まぁ誰も彼もがSkypeを使うし。

  • Github API 叩いて手元から pull request 投げれるようにするもの

Github でいちいちpull requestをブラウザから投げるのが面倒くさい。開発で今コードレビューをGithubのpull requestを通して行ってて、これ自体は面白いし良いのだけどまだまだ頻繁にpull request上げるものだから結構億劫。


Github API のドキュメントを読むのが中々に面倒。やはりそんなに難しくは無い筈。

  • Web RTC を使って利用者同士でP2P通信させる動画配信サービスっぽいの

利用者同士でP2Pさせる事が出来ればサービス提供者側の負荷がグンと落ちるから今後流行るのかもしれない。Chromeではもう Web RTC が実装されてるらしいので Chrome向け限定なら出来る筈。問題はそもそも僕がWeb系、動画配信云々系の知識がさっぱり無いこと。

  • libteclaとか使って入力補間機能着けた tclsh

tclはよく使うしログインシェルとして使いたいぐらいなのだけど、なにぶんtclshはヒストリ機能すらなくて扱いにくい事この上ない。libteclaで普通のシェルっぽくしてやれば日常的に使うのに耐えるかもしれない。もっとも、作ったところで名前をどうしようか悩むのだけれども……標準で tclsh なんて名前使ってくれてるからなぁ。



まぁ多分、どれも結局作らないと思うけど。

再開

以前に書いた記事を読み直してたら恥ずかしくなって全記事を一度消したのだけど、
無いなら無いで不便なので再開しようかなーとか。

広告は付くわ当たり前の事をするのにも課金を要求されるわ設定は分かりにくいわブログ記事の階層化も出来ないわで不便極まりないけど、
とりあえずTwitterみたいな気分でちょっと140字以上の文を書くのに楽ではあるし。