GMT前回のエントリから早一年半。Atlasのベータプログラムもいつの間にかスタートして、心躍るネタを提供してくれるObjective-J/Cappuccino.一方僕はVimScriptを改良した。init]という補完が行われるようになった。さんらとSDLをWebSocketと組み合わせて...という話をしていておもしろそうだったので実装してみた。WebSDLRuby/SDLの画面描画を全て文字列としてシリアライズし、WebSocketで送信、Canvasに描画する。ブラウザ上で発生したイベントをWebSocketで送信、SDLのイベントモデルの中に還元してやる。いうのが基本的な仕組み。webでWebSDL版が起動するようになっている。Canvasに対応したブラウザで開く。Canvasを使うだけでは芸が無いので、マルチユーザに対応、ユーザ間の情報共有にも対応してみた。0.1秒毎に更新しているのがかっこわるいが、適切なイベントに基づいた処理をすれば、パズルゲームやアドベンチャーゲームなど頻繁に画面更新のないものなら実用的なものができる可能性がある。ウェブへぇボタンとかね。現在の方法では実現が困難である。HDこちらの動画で有名になったお絵描きアプリ。自分が描いた線以外に、近傍の線の間に細かい線を描き入れてくれるので、すごい丁寧にスケッチしたみたいな出来映えになります。お金の無い人は、Harmonyをホーム画面に入れておくといいです。いうかこっちのほうがいろんなブラシが選べたり、色が選べたりと、機能豊富だったりすします。boyのびのびBOY。ひも理論などを研究している理系の人たちにオススメ。カテゴリにあったように、非常に高機能で、カメラ(iPadでは無理?)、時計、音楽プレイヤー、ブラウザ、メモ帳、メール、お絵描き機能などを内蔵しています。お絵描き機能は、ほとんど唯一マルチタッチに対応していて、同時に11本の線を描く事ができます。GPSロギング機能付きの地図も内蔵しており、ここで貯めた移動距離は宇宙にいるのびのびガールに送信することで、のびのびガールがどんどんのびのび、太陽系を旅します。族はきっと進化したアリの仲間。公式サイトo——–=————oも楽しい。企画会議の様子を動画で見られます。重いながらもFlash不使用で、iPadでも見られる。あと猫飼ってる人にもオススメできます。Sunny3D手書きの絵が立体化でき、色を塗る事もできます。思いついたときに増やしていきます。GMTだいたい以下のような感じになる。password_from_keychainはOSXのkeychainからパスワードを取ってくるだけの関数。GMailのTwitterフォルダ(follow通知メールが溜まる)の中から未読(UNSEEN)のメールを探してきて、ユーザ名とおぼしき部分を抜き出して出力、既読にする。GMT大それたタイトルだが、Terminal.app(以下Terminal)のタブ機能を快適に使う話である。Terminalを使い倒している皆様なら、当然のことながら、5~10の端末が開いていると思うが、僕は今までタブを使ってこなかった。これは大体次のような理由によるものである。切替が面倒くさい中身が分からないタブの分狭くなる今回は、この三つの問題を解決して、タブを快適に使おうじゃありませんか。次のタブ/前のタブ、という操作しか用意していないことに起因する。2~3つなら問題ないが、5~10のタブを切り替えるには機能不足。terminaltabswitchingを使って解決する。行えるようにするSIMBLプラグイン。このコミットをマージしたものを使っている。buildbuildするだけで勝手にinstallされる。これで、タブの切替が楽になった。中身が分からないタブの切替は出来るようになったが、タブの中身は切り替えるまでわからない。Vim”とかに書換えられて鬱陶しい。他の環境の人は各自深追いしてください。.まず、便利な関数titleを用意する。タブのタイトルが設定できる。現在のタブのタイトルを簡単に得る方法がたぶんないので、環境変数に保存する。カレントディレクトリが変化した時に呼び出され、現在のディレクトリ名をタイトルに設定する。これで、どのタブが何か一目瞭然となる。わからないのは、ディレクトリ名をつける人のセンスの問題に帰着する。%t")vimは終了時に、titleoldをタイトルとして設定するので、それを、環境変数$TITLEにしておく。ファイル編集中は、ファイル名が表示されるようになった。タブの分狭くなるMacOSXの画面はただでさへ、Dockやメニューバー、タイトルバーで狭くなっているのに、この期に及んでタブバーでさらにせまくなるなんて許せない。画面を90度回転させて使いたい。回転は首が痛くなりそうなのであきらめて、アプリケーションをフルスクリーンで使う方法ならある。megazoomerがそれ。これもSIMBLプラグイン。使い方は、ここぞという時に⌘Enterどうせ、タブとか考慮されてないから、変な事になるんでしょ、と思いきや、Dockもメニューバーもタイトルバーもきれいに消えて、すごい快適。難点は、そのアプリケーションがアクティブな間Spotlightが使えなくなるマウスで履歴などを選択する時に、ウィンドウ下端に行っても、自動でスクロールしないついでにSafariでも使ってみたけど、たまに変になる。数々の苦難を乗り越えて当初の問題を解決したので、次いってみよう。公開されているスクリプトでは、AppleScriptを通して、Terminalを操作し、コマンドラインからタブを開く事ができる。タブを開く事ができる。コマンドの実行などもできる。こんな感じのコマンドも用意した。zshのaliasでいい人はそっちの方がいいと思う。次のようなコマンドを実行することで、zshが開いているタブ群を再現できるスクリプトが得られるのでとてもよい。GMTmacportsで入れたllvmは2.6なのでllvmrubyがコンパイルできないのでパッチを書いた。テストが全部通るわけではなくて、test_basic.rbの一カ所で落ち、test_ruby_vm.rbが全て失敗する。基本的には、LLVMContextが必要な所で、全てgetGlobalContext()を渡すように変更した。あとよくわからないけど、ofstreamのflushを呼び出しているところで落ちていたので、llvmで用意されているrawfdostreamというのを使うように変えた。