bonar note

京都のエンジニア bonar の技術的なことや技術的でない日常のブログです。

[vim] vimの小技その後

以前の「vimで効率的にコードを書くための小技」というエントリがはてぶでかなりの数のブクマ数(現時点で570)を獲得したようで、かなりびっくりです!おそらくオレンジニュースさんにリンクして頂いたのがきっかけだ(id:lyokatoさん情報)と思うのですが…

Wavフォーマットと音の波

最近趣味で Java Sound API を弄ってます。外に出せるくらいのものになるまではまだまだ時間かかりそうですが、これがすごく面白い。Java Sound API を使うとすごく簡単に録音したり再生したりできます。ローカルのファイルを再生する場合はこんな感じですね…

vimで効率的にコードを書くための小技

vimは使いこなしている人は超人のように使いこなしているのですが、「たまにconfファイルいじる時だけ使うよ。まあ、普段はemacsだけどね」という人は、vi時代の機能のみ使っているのをたまに見かけます。そこで、通ぶって恐縮なのですが、僕が普段vimを使っ…

YAPC Asia 2007 に行ってきました

ちょっと都合で初日のオードリーのPerl6に関するセッションしか聴けなかったのですが、会場の雰囲気とかはやっぱり独特のものがあって楽しかった!Dan the Suspendars は生で見たかった。見たいけど見れなかったものも、あとでビデオが公開されるらしいので…

はじめてのYouTube

Broadcast Myself してみました。 動画変換が終わるまで結構またされるんですねー。

[perl] return undef ではなく return がベストプラクティス。そしてハッシュではまる。

ダミアン先生によれば、 return undef じゃなくて return のみがベストプラクティスって話。例えば引数で受けた数が偶数どうかだけを判別するスクリプトがあったとします。 #!/usr/bin/perl use strict; sub is_even_number { my ($digit) = @_; if (($digit…

音楽配信の次にくるもの

「リミックス」だと思う今日この頃。これから少しずつプロじゃない人たちの音源を簡単に入手できるようになってくると、それをリミックスしてかっこいい感じに出来る人がモテモテになるような。m-floみたいな感じで。 とてもチェックしきれない数の音楽であ…

伝説のリズムマシンを使ってみる

伝説のリズムマシンTR808/TB303のエミュレータが無料配布になったらしい! The Rebirth Museum http://www.rebirthmuseum.com/喜び勇んでインストールしようとしたものの、クラシック環境のないMac OS X では起動できないっぽい。。 WindowsのノートPCの方で…

沢山繋いでるUSBハブを整理しようとして失敗した

修理に出していたMacBookがわずか3日間でかえってきました。 ヒートシンクを入れ替えたらしく今のところ快適です。 またノートのある環境になってあらためて気になったことが。 ノートをメインで使用していると、USBの口が少ない(今は2個)ので、どうしても…

MacBookが故障

いつも使ってるmacbookの電源が駄目になってしまったっぽい。 起動するときもマザーボードからけたたましいビープ音が鳴るんです。 shibuya.pm 行ったときも使おうと思ってたのに、音を気にして結局開きませんでした。 うーん、、せっかく気に入って毎日使っ…

Python Google Notebook API

Python Google Notebook API を使ってみた。 Poly9 blog Blog Archive (unofficial) Python Google Notebook API http://blog.poly9.com/?p=19 上記のサイトにあるpythonのライブラリを使ってこねこねしようと思いきや、これがすんなりとは動かず。。 色々調…

単語補完機能が便利すぎる

vim

vimの補完機能って超便利ですよね! 普段vimを使っててこの機能を使ってない人はあんまりいないかもですが、、使い方を書いてみますよ! 下のようなソースファイルを編集していたとします。どんな言語でもそうですが、決まりきった文字列を打ち込むことって…

タイムカプセルアーカイブ

eclipseの最新バージョンのソースを取って来て解凍していたのですが、 あと40年かかるそうです。。気長に待ちます。

「簡単であること」への違和感

UI

僕は大学時代2つのゼミに入っていて(普通の授業を取るより単位が稼げたため)、 そのうち1つはHuman Interfaceに関する研究会でした。 #といっても僕は直接UIについて考えるチームじゃなくて、コードを書く方のチームだったけど。 #そして僕の研究も、書い…

iTunesのスマートプレイリストで遊ぶ

今僕の iTunes のライブラリの使用量は大体20GBくらいなのですが、もうこれくらいになってくると、その中から聴きたい曲を探すのがダルくなってきます。たいてい「トップレート」とか「最近追加した曲」みたいなスマートプレイリスト*1から曲を選んで聞いて…

名前のない配列のmapに関する世にも奇妙な物語

perlの中で便利だけどちょっぴりなものに$_があります。普通のグローバル変数とも振る舞いが違っていて、 sub foo { print "$_\n"; map { foo; } (0..2);とかやると、0から2までの数字が見事に表示されます。つまり、呼び出し先の関数の中でも通用していて、…

続chop

先日のエントリーの件(関数内で@_を操作すると呼び出し元の値渡しの引数がかわる)で、@_直接操作のメリットというかいいところはないかと考えて、リファレンスを渡す場合と速度を比べてみました。単純に変数を加算していくだけのものなのですが、こんな感…

なぜchopは値渡しで変数の内容を変えられるのか

これ多分perl使ってる人には常識なんでしょうが、僕は最近まで、「なんでchopは値渡しで渡した変数の内容を勝手に変更できるんだろう?」と疑問に思ってたんです。 だって不思議じゃないですか? $str = chop($str); で$strの内容が変更されるならわかるんで…

mod_clearsilver - ClearSilverのテンプレートルールを強制的に

HTMLファイルへのリクエストにclearsilverのテンプレート処理を通して返すApacheモジュールを書いてみました。 何ができるかといいますと、 ClearSilverのテンプレートルールが使用できる(cs include や cs var 等) GETの引数をテンプレート中に引き込む(…

C用のAPIも用意された高速テンプレートエンジン

ClearSilverというテンプレートエンジン、かなりいいかも。clearsilver.net 文法的にもかなり多彩で、ありがちな テンプレート中での値のセット 式を使った条件分岐 テンプレート内からの関数呼び出し などもきっちりサポートしていて、かつかなり高速! 色…

vimでウェブサイトをいきなり編集

vim

といってもHTMLを取り寄せるだけなのが、、すいません。 Mac OS X や Linux などの UNIX OS よりの話になってしまうかもですが、システムにすでにwgetがインストールされている場合、vimは指定されたURLを取り寄せて開く事ができます。これ案外知られてない…

recording機能で単純作業を自動化する

vim

例えば、以下のようなCSV形式のデータがあるとします。 tom,172cm,65kg john,166cm,98kg taro,180cm,55kg ken,190cm,88kg bill,171ck,60kg steve,169cm,80kg 名前、身長、体重、みたいな並びになっているのですが、この身長と体重の項目の並びを逆にしたい、…