2012-01-01から1年間の記事一覧

作りたいもの:技術書向きの電子ブックリーダ

昨日Twitterでつぶいたことのまとめ。こういうアプリが既にあったりしないのかなぁ。既にあるなら喜んでそれを使うんだけど。あったら教えて下さい。 技術書と小説の違い 技術書の小説と大きく異なる点は、シーケンシャルアクセスじゃなくてランダムアクセス…

Vicon Revue 3MP日記

@ochyai に実物と撮影された画像を見せてもらって心惹かれたので、ライフログカメラのVicon Revue 3MPを購入した。想像以上にでかい箱で来たのでビックリした。関税1000円を着払いで要求されるので奥さんが受け取る場合はちゃんと事前に話しておきましょう!…

11111歳になりました

今日は31歳の誕生日+1回目の結婚記念日でした。僕「31歳か〜、自分がだんだんつまらない大人になっていってるんじゃないかと不安だなぁ」 妻「んー、大丈夫だよ、まだ子供だから」 僕「ギャフン」その後の流れ:作ってもらったお弁当を会社に持っていくのを…

Gunosyを試してみた日記

僕はレコメンドエンジンにあまり期待を持っていない。いや、むしろ世間が期待を持ちすぎなのではないか?レコメンドエンジンは魔法の杖じゃあない。よいデータを入れなければよい結果は出てこないし、ゴミデータを入れればゴミがでてくる。そういうわけで「…

manに「cp -rは使うな」と書いてあった話

cp -rでシンボリックリンクまで実体としてコピーされて困ったのでMacのmanを読んでいたのだが、そもそもcp -rってオプション一覧に載ってない。あれれ?と思って続きを読んでいたら互換性の章でstrongly discouragedと書かれていた。 COMPATIBILITY Historic…

机の輪染み(白化)を取る簡単な方法

机の上にうっかり熱い鍋を置いてしまい、その部位が白くなってしまった。なんとかできないかと調べてみたが、研磨して塗装し直すとか、高い薬品を買うとか、どれもハードルが高くて結局そのまま放置していた。昨日ふと気づくとコップの底の形に白化がなくな…

Pythonのwith文とJava7のtry-with-resourceとC#のusingの比較

http://nhiro.org/learn_language/with_statement.htmlJava7は名前の通りtryと抱き合わせになっている。C#とPythonは分離されている。なのでJava7でC#やPythonと同じ挙動をしたければ必要なくても空のfinallyを書くことになる。(追記: finallyやexceptを伴わ…

Closure Compilerのエラー出力がなぜかSJISな謎

(追記: これはMac版のJava6のデフォルトエンコーディングがSJISになっていることが原因らしい。Closure Compilerの問題ではない。)自分のターミナルの文字コードも、ソースコードの文字コードもUTF-8なのに、それをコンパイルした際のエラー出力がなぜかSJIS…

zshのgitプロンプトがsubmoduleとどう関係するか調べる

submodule内にuntracked fileがあるとき→親ではmodified # modified: childrepos (untracked content) それをaddすると→modifiled # modified: childrepos (modified content) それをcommitすると→modifiled # modified: childrepos (new commits) submodule…

zshのgitプロンプトにrebase中であることも表示してみた

https://github.com/nishio/dotfiles/commit/42ddca1cff1716f806f052067fc49ea241aba0d4zshで文字列やパスを操作する方法がわからなかったのでpythonで実装しておいた。もっと良い方法があったらpull requestください。 追記 時々 git_is_rebasing:local:1: …

zshのgitプロンプトでdetached headの時に何も表示されない現象を直した

https://github.com/nishio/dotfiles/commit/096e2ac718ef8fc25252dc4d6ea0664764c732a4

FORTHを学ぶサイトを作った

作りたいもの: プログラミング言語のコア概念を学ぶサイト、その2の続編。ブラウザの上で対話的にFORTHのコードを実行できるサイトを作りました。http://nhiro.org/learn_language/FORTH-on-browser.html説明不足気味だけど、左の対話的コンソールに1と入力…

構文木を可視化するサイトを作った

ブラウザの上でJavaScriptの構文木をリアルタイムで可視化するサイトを作りました。構文木っていうプログラミング言語の基本的な概念を、特に何かをインストールしたりすることなく簡単に実験・観察できます。http://nhiro.org/learn_language/AST-Visualiza…

LISPを学ぶサイトを作った

作りたいもの: プログラミング言語のコア概念を学ぶサイト、その2の続編。ブラウザの上で対話的にLISPのコードを実行できるサイトを作りました。http://nhiro.org/learn_language/LISP-on-browser.html現状ではまだ説明が足りないから、LISPをまだまったく知…

EDSACのWadaSeiveがわからない日記

自作のEDSACシミュレータで平方数を表示するプログラムが動くようになったので、次はWadaSeiveを動かそうと思ったのだが…(WadaSeive: http://www.dcs.warwick.ac.uk/~edsac/Programs/WadaSieve.html )このプログラム、1文字目がTで始まってないよね。僕の現…

rsync力が足りなくて失敗した話

正しくは rsync -r -v public_html/foo/ server:/home/nishio/public_html/fooとやるべきところ、SRCに/をつけ忘れてfoo/fooが作られてしまう罠にはまらないように注意してたら注意力が枯渇してDSTを間違えてしまった。 rsync -r -v public_html/foo/ server…

gitのワークスペースがcleanであることをassertする方法

流れ去るともったいないのでTwitterから転載: ‏@nishio: Makefileで実行する前に「gitのワークスペースがcleanであること」ってassertしたいんだけど、どうすればいいかなぁ。 @n0kada: test -z "`git status --porcelain`" バッチリ動きました!ありがとう…

ブラウザ上で演算子の優先順位と結合性を学ぶ

作りたいもの: プログラミング言語のコア概念を学ぶサイト、その2の続編。出来上がってきた部品を少しずつでも紹介していくことにする。全部出揃ってから紹介しようなんて考えているとズルズル遅くなるからね。というわけでまずはこちら Parser on browser —…

大きな1歩より小さな1歩

もう2週間も前に完成しているのに「きれいに揃えて公開しよう」と思った結果、だらだらと公開が伸びていているものがある。大きな1歩よりまずは小さな1歩からでも進めることが重要だ。今日家に帰ったら最小限でいいので一つ公開しよう。

つくりたいもの:原稿のレビューが手軽にできるシステム

最初のプロトタイプはだいぶ前にできていて、実際に自分の原稿のレビューにも使って見ている。デモ用のサイトは http://sphinxweb.rackbox.net/ ユーザ名とパスワードを聞かれるのでguest:guestで。 http://sphinxweb.rackbox.net/usage/ とかにアクセスすれ…

JSDeferredのloopをネストさせて爆死した日記

こう書いて悲しいことになった。 Deferred.loop(3, function(i){ Deferred.loop(3, function(j){ console.log(i + "-" + j); }); }).next(function(){ console.log("finished"); }); 出力: 0-0 0-1 1-0 finished 0-2 1-1 2-0 1-2 2-1 2-2正解はこう、なのか…

java-jaで例外処理の話をしてきました

ブログを書くまでがjava-jaですが、もう眠いのでとりあえず1行だけ書いて、あとは徐々に書き足す。会場を無料提供してくれたグリーさん、ありがとうございます!誰かが検査例外の話をするだろうと思って書かなかったら結局誰も言及しなかった、Javaのコミュ…

EDSACのイニシャルオーダーがわからない日記

EDSACのイニシャルオーダーはテープから1文字ずつ読んでそれを機械語の形にアセンブルしてメモリに記録していくプログラムで、いわば「元祖アセンブラ」なんだ。で、面白いのでそれを実装していたのだけども、ここがよくわからない http://www.cl.cam.ac.uk/…

BCPLのコードを読む日記

EDSACのInSインストラクションの挙動がわからないので、BCPLでの実装を読む。 http://www.cl.cam.ac.uk/users/mr/Edsac/edsac.tgz BCPLの文法は全然知らないんだけど、類推力を駆使して読み解くのが面白い。まずここがインストラクションを1個実行するところ…

作りたいもの: goog.requireのモック

Google Closure Libraryを使わなくてもGoogle Closure Compilerは使う価値がある、と言い続けて全然普及してないんだけど、そのひとつの理由がCompilerを使うためにはgoog.provide, goog.requireが必須で、その実装がGoogle Closure Libraryのbase.jsに入っ…

作りたいもの: rebase中の状態を可視化するzshrc

zsh+gitで、今いるブランチとか、未コミットの変更があるか、トラックされてないファイルがあるかを表示するようになってから現状が把握しやすくなってとても快適になった。しかし不満点がある。デタッチドヘッドの状態で何も表示してくれないことと、rebase…

ポモドーロについて

質問されてTwitterでつぶやいておいたので、流れ去らないようにここにまとめておく。まず「25分で1ポモドーロだから8時間だと16ポモドーロか」とか言ってる人はそれが「人間は100メートルを10秒で走れるから、42キロを4200秒で走れるはずだ」と言うくらいお…

作りたいもの: プログラミング言語のコア概念を学ぶサイト その2

作りたいもの: プログラミング言語のコア概念を学ぶサイトの続き。サイト自体や日本語での解説はまだ完成していないが部品が色々揃ってきた 完成したもの JavaScriptのASTをリアルタイムにSVGで可視化(Esprimaを使う、見栄えに不満があるので改善の余地があ…

git pullでいじったおぼえのないファイルがconflictした話

gitは可能な選択肢が多すぎて自分の解決が正しい方法かどうか分からない。なんだかんだで問題が起きた時に解決することはできてはいるんだが、正しいかどうかわからないのでここに書いておこう。Aさんが僕のmasterをcloneして、github上でゴリゴリ作業をして…

今週末、世田谷ものづくり学校でグループ展に出展します

グループ展覧会: 日時: 6月22日(金)15時〜 6月24日(日)16時場所:東京都世田谷区池尻2-4-5 世田谷ものづくり学校 1階マルチプルスペース 第7回タグボートアワード入選者グループ展 2012.06.22-24