monthly gimite

試験運用中。

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

Ruby新リファレンスマニュアル + 索引検索

Rubyのリファレンスマニュアルの新しいやつができていたので、それをクラス名とかメソッド名で簡単に検索できるものを作りました。Rubyリファレンスマニュアル + 索引検索新しいマニュアルはBitClustというツールを使ってプログラムからも簡単にアクセスでき…

gem install railsで404 Not Found

# gem install -r rails ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) OpenURI::HTTPError: 404 Not Found reading http://gems.rubyforge.org/gems/actionmailer-2.0.1.gemとか言われる。 # sudo gem update --systemしてみたらちゃん…

tx-ruby

Trieというデータ構造を構築するTxというライブラリがあるんですが、これのRuby bindingを作ってみました。tx-rubyTrieははてなキーワードの付与みたいに、大量の単語をいっぺんに検索する場合に便利なデータ構造です。Txはインデックスがコンパクトになるの…

英語版namespace gimite

うちのサイトの英語版を作りました。作ったもののうち日本(語)専用じゃないやつは、できるだけこっちにも置く予定。日本語版と揃えたほうが楽だという理由で、こちらもPukiWikiです。

Androidで超簡易IRCクライアント

ネイティブアプリのほうはおいといて、とりあえず普通にAndroid SDKを使う練習として、IRCクライアントを作ってみました。AndroidIRC試すには、Android SDKをダウンロードしてtools\emurator.exeを実行してから $ adb install AndroidIRC-0.2.apkとすると、A…

AndroidでC言語で書いたネイティブアプリを動かしてみる

以下の説明はAndroidのroot権限が取れる環境(DevPhoneやエミュレータなど)を前提に書かれています。市販のAndroid携帯など、root権限が取れない環境では、AndroidのJavaアプリ上からインストール/実行する方法を使えば実行できます。 Androidのシェルを動か…

Windows Updateしたらフォントが壊れた

なんかWindows Updateして再起動したらシステムのフォントが大変なことに。どうもMSゴシック、MS Pゴシック、MS UI Gothic、MS明朝、MS P明朝が突然全部消えたみたいです。 フォントフォルダの「MSゴシック&...」をダブルクリックしても開けず、ほかのフォル…

[priv] 風邪

先週半ばぐらいから、39℃ぐらいの熱を出して寝込んでました。だいぶよくなりましたが、今日は自宅作業。おかげで工大祭*1に行けませんでした…。 *1:東工大の学祭。

Webチャット LingrのGoogle Gadget

はてなダイアリがGoogle Gadgetに対応したらしいので、Webチャット LingrのGoogle Gadgetを作ってみました。Lingr Google GadgetRoom ID(例えばルームのURLが http://www.lingr.com/room/kenn ならkenn)を入力して「コードを取得」をクリック、出てきたコ…

Advanced/W-ZERO3[es] はまりメモ

今までにはまった点をメモ。 無線LANに繋ぎっぱなしにしてると電池の消耗がめちゃめちゃ激しい(フル充電しても一晩放置すると空になる)*1。必要な時以外は[設定]-[接続]-[無線ON/OFF]で無効にしておかないとだめ。 Operaでメニューから[戻る]を選ぶのはめ…

Advanced/W-ZERO3[es]を買いました

Advanced/W-ZERO3 es自宅が圏外だということを除けば、今のところ大きな問題はない感じです。とりあえず付属のOperaでWeb上のサービスを色々試してみました。(以下は[ツール]-[設定]でユーザエージェントを[デスクトップとして認識させる]にして試した結果…

英語版Windows XPで日本語キーボードが英語キーボードとして認識される

win

PS/2キーボードの場合。 Control Panel - System - HardwareでDevice Managerを開く。 該当するキーボード(Keyboardsの中にある)を右クリックして[Update Driver...]をクリック。 Can Windows Connect to ...にNo, not this timeと答えて[Next]。 Install …

DebianでUTF-8環境

# apt-get install locales-all # export LANG=ja_JP.UTF-8で、できたっぽい。

コマンドライン引数っぽいもののトークン分割

hoge "foo \"bar\" boke" mogeみたいなのをどうやってトークン分割すればいいかみたいな話になったので、Rubyでテキトーに書いてみました。 s.split(/([^ "]+|"(?:[^\\"]|\\.)*")/). enum_cons(2).map(){ |a| a[1] }

Googleの検索結果に「英語のページのみを検索」を追加するGreaseMonkey

Googleで海外製のソフト名とかを検索すると、日本語のサイトばっかり出てきて、英語の公式サイトがなかなか出てこない、ということがたまにあります。そこで検索結果に「英語のページを検索」というラジオボタンを追加するGreaseMonkeyを書いてみました。単…

Google Web History

自分が過去に見た全ページ(検索したページ、だけではない)を対象に検索ができる、というもの。表示設定が日本語だと、Web Historyのページにアクセスしても勝手に従来の検索履歴のページに飛ばされちゃうんですが、?hl=enをつければOKっぽいです。

JavaScript Hijacking

なんかスラドにあがってたので何だそりゃと思って元ネタのPDFをナナメ読みしたんですが、要するに 最近のAjaxアプリの内部でよく使われるような、GETでJSONを返すようなAPIがあると、そのデータを(Cookieで保護されてる場合でさえ)よそのドメインに横取り…

社会人になりました

Web系某社のエンジニアになりました。高校/大学入学時とかと違って、(事前に懇親会みたいなのがあったりして)入社時には既に同輩とか先輩をある程度知ってるっていう点では、気が楽ですね。色々勝手が分からなくて人に聞きまくりですけど。まあぼちぼちと。

多言語対応の文字コード判別ライブラリ chardet

RubyForge : Universal Encoding Detector多言語対応の文字コード判別ライブラリ。Mozillaの文字コード判別ライブラリをRubyに移植したものらしいです。インストール: $ gem install chardet使い方: require "rubygems" require "UniversalDetector" require…

Lingr 「ボットとチャットで遊ぼう」イベント終了

この前の記事で紹介したLingrの「ボットとチャットで遊ぼう」イベントが終了しました。企画/告知をしていただいたkennさん(江島さん)、参加してくれた皆様、ありがとうございました。まあロイディはあんなやつです。楽しめましたでしょうか。イベント中の…

RubyでJISの半角カナを文字コード変換すると文字化ける

Rubyで半角カナ入りのテキストを、(NKFとかKconvで)JIS(ISO-2022-JP)からほかの文字コードに変換すると、文字化ける場合があったので、調べてみました。まずISO-2022-JPで半角カナを表す正式な方法はないようです。非公式な方法として ESC ( Jを使って8…

Lingrでロイディとおしゃべりするイベント

CNET Japan ブログ - 江島健太郎 / Kenn's Clairvoyance: 人工無能ボット・ロイディと話そう!というわけで、Lingrで人工無能 ロイディとおしゃべりするイベントを開いてもらえることになりました。kennさんのルームで学習中のロイディを連れて行く予定です…

Rubyで文字のUnicode pointの取得とかその逆とか

NKFでUTF-16に変換してunpackして〜とかやってもできるんですが、めんどくさいのでUnicodeライブラリを使ってみました。 "ほ".to_u[0] #=> U+307B HIRAGANA LETTER HO "ほ".to_u[0].to_i #=> 12411 0x307b.uchr.to_s #=> "ほ" $KCODE=="EUC"だとちゃんとEUC…

月刊COMPUTERWORLDにロイディとデボラが

COMPUTERWORLD (コンピュータワールド) 2007年 05月号 [雑誌]出版社/メーカー: アイ・ディ・ジー・ジャパン発売日: 2007/03/17メディア: 雑誌 クリック: 2回この商品を含むブログ (1件) を見るの江島さんのコラムで、Webチャット Lingrの江島(kenn)さんのル…

Devas 3.4 公開

遅くなりすぎですがDevas 3.4を公開しました。今回からVectorではなく自分のサイトで公開することにしました。Vectorの方は3.3のままなので注意してください*1。3.3からの主な変更点は 検索結果の右クリックメニューから外部のエディタを呼び出せるように。 …

人工無能ロイディ Ver.3.08 公開

ロイディのVer.3.08を公開しました。Lingr対応がメイン。ほんとは次は4.0が来るはずだったんですが、放置してたところでLingr APIが出たので、先に3.xをLingrに対応させることにしました。LingrはWebチャットなので、IRCよりは気軽に友達を呼んで一緒に遊ん…

チャットで書きかけの発言を保留して別の発言をする方法

んで思ったんですが、自分が連絡事項をまとめつつ書いている間に、相手から簡単に答えられる問い合わせなんかが来た時、そっちにすばやく答えるために書きかけの自分の連絡事項を全切り取り→すばやく返答→貼り付けで元の書きかけ内容復活、という事を何度か…

VALUE DOMAINのDDNSでメインドメインのアドレスを変更

そうそう、VALUE DOMAINのDDNSの設定ページを見ると アクセス先の例http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=gimite.net&p=パスワード&h=*&i=IPアドレス とか書いてあるんですが、この通りに指定するとメインのドメイン(gimite.net)のIPアドレスが更…

配列などからHashを作る

配列を作るならmapが使える場面で、Hashだといちいち result= {} for v in [1, 2, 3, 4, 5] result[v]= 2*v end とか書くのが面倒だったので、僕は module Enumerable def map_to_hash(h= {}, &block) for a in self (k, v)= block ? yield(a) : a h[k]= v e…

tar cvzfの罠

どうもtar cvzfの引数の順番を間違えてファイルを消しそうになるんですが、どうしたもんでしょうねぇ。 $ tar cvzf a.txt b.txt c.tar.gz # a.txtがアーカイブに上書きされて消滅。この前実際にやりました。間違える自信があったのでバックアップしてありま…