第1回NHNテクノロジーカンファレンスに行ってきた

5/19(Sat)に第1回NHNテクノロジーカンファレンスに行って来ました。参加申込み時点では内容が決まっておらず不安でしたが、懇親会も含めていろいろ話せたので楽しかったです。NHNテクノロジーカンファレンスは四半期毎に開催されるようなので、テーマが面白…

Niigata.pm Tech Talk #1 に行ってきた

4/28(Sat)にNiigata.pm Tech Talk #1に行って来ました。以前から Niigata.pm に行ってみたかったし、ちょうど連休だったので新潟まで足を伸ばしてみました。 自分の発表 自己紹介も兼ねて、Githubで公開しいる過去の成果物についてある程度反響があったもの…

GWはD言語を勉強しようと思う

GWはD言語を勉強しようと思うので、学習に利用する情報ソースをメモ。 公式 Home - D Programming Language 日本語訳 Home - プログラミング言語 D (日本語訳) ポータル http://dusers.dip.jp/ 大体の情報はここから辿れそう 文法 D言語基礎文法最速マスター…

node-gypではまった

node-murmurhash3とかnode-kyteaのGYP対応をしていてはまったのでメモ。node-gypが生成するMakefile等ではいくつかのオプションがデフォルトで付加される。その中に "-fno-exceptions" が含まれているため、C++ Addon で例外処理をしている場合に例外オブジ…

v8::ArgumentsのThis()とHolder()の違い

JavaScript関数の引数であるv8::ArgumentsのメソッドにThis()とHolder()というものがあります。この2つとも、通常は JavaScriptでの this に相当するv8::Objectを返すメソッドなのですが、違いがわかりにくいので調べてみました。 This() と Holder() は何が…

いま敢えてブログエンジンを作るなら

とりあえず、次回の Hachioji.pm のハッカソンで作るものは「IRCではない何か」という感じのコミュニケーションツールということになりました。その議論の際に没になった案のひとつである「ブログを作る」について、そのうちまた議論するだろうから考えを記…

Hachioji.pm #15 に行ってきた

3/24(Sat)に開催された Hachioji.pm #15 に行って来ました。今回お店は久しぶりのペルー料理のMISKYでした。参加者は、10名(うち初参加2名:magicdriveさん、xtetsujiさん)でした。 LT hirobanexさん Gearmanなどのジョブキューについて Gearmanのドキュメン…

Hachioji.pm ハッカソン & Hachioji.pm #14 に行ってきた

2/25(Sat) に開催された Pre Hachioji.pm #14及び、Hachioji.pm #14に行って来ました。 Pre Hachioji.pm ハッカソン ハッカソンというかもくもく会に近い感じですが、みなさんかなり集中して作業をしていました。 一応、ハッカソンのテーマとして「Facebook…

Node v0.7系をビルドすると、x86_64環境でも32-bitバイナリができてしまう件

2012/2/25追記 v0.7.5で修正されていました。 Node v0.7系で C++ Addon をビルドしようとした際に ld: warning: ignoring file /usr/local/lib/libhoge.dylib, file was built for unsupported file format which is not the architecture being linked (i38…

Node.js でテキスト解析

Hachioji.pm #13 で話した、京都テキスト解析ツールキット - KyTeaを Node.js から利用する C++ Addon をドキュメントを整理したうえでGithubに上げました。GitHub - hideo55/node-kytea: Node.js binding of KyTea KyTeaとは? テキストの単語分割(分かち書…

Hachioji.pm #13 に行ってきた

1/28(Sat)に Hachioji.pm #13 に行ってきました。 参加者は14名、内初参加2名でした。 自分のLT 今回のLTのテーマは「ツール」ということで、自分がツールを作る際にやっていることと、昨日から作り始めたKyTeaのNode.js bindingについて話しました。KyTeaの…

2011年の振り返り

今年は、いろいろ新しいことに挑戦できた年だった。目標だったYAPC::Asiaでの発表もできたし、色々な勉強会に参加することもできた。 仕事では以前から興味のあった自然言語処理に携わる事になって、コード書きまくれるので非常に充実している。来年もいろい…

LOUDS関連メモ

LOUDS関連で調べたものをメモしておく。 簡潔データ構造、LOUDS 簡潔データ構造(succinct data structures) 各種操作を高速に保ったままでデータサイズを情報理論的な下限近くまで圧縮できるデータ構造。 基本は簡潔ベクトルで、疎なベクトルをビット列と密…

Node の C++ アドオン開発で必要なこと

この記事は JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)の8日目の記事です。今日は、Node の C++ アドオン開発をする上で必要な心構えや Tips について書きたいと思います。 1. 情報が少なくても泣かない C++ アドオンについての公式ドキュ…

Hachioji.pm #11 に行ってきた

12/3に開催された Hachioji.pm #11 に行ってきました。 今回はいつもの八王子ではなく町田で開催でした。 今回のお店 ニライカナイ離れ沖縄料理のお店です。鍋おいしかったです。 LT 今回の LT テーマは「◯◯道」でした。特にメモ取ってなかったので、覚えて…

Perl のプラグマモジュールの作り方

autolocale を作る際に Perl のプラグマモジュールの作り方について調べたので、書き残しておきます。 プラグマモジュールとは strict.pm や warnings.pm のようにレキシカルスコープで振る舞いを変更するモジュールをプラグマモジュールと呼び、通例として…

Perl の locale 設定

下記のTwitterでの発言に関連してメモ。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platf…

FormValidator::Lite::Constraint::Moose Released!

FormValidator::LiteのバリデーションルールとしてMo[o|u]seの型制約を使えるようにするFormValidator::Lite::Constraint::MooseをCPANにリリースしました。FormValidator-Lite-Constraint-Moose-0.13 - Use Moose's type constraints. - metacpan.org結局、…

FormValidator::Lite::Constraint::* について

昨日Twitterで、 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widget…

Node.jsでReadableStreamから一気にデータを読み込む

node.jsでjson整形するワンライナー - hokaccha memo を見て思いついたので。GitHub - hideo55/node-stream-slurp: Read entire data from ReadableStream require('stream-slurp').slurp(function(err, data){ if(err) return throw err; console.log(data);…

JavaScriptコードのメトリクス測定

以前、Perlにおけるコードメトリクスの測定について書きましたが、JavaScriptについても調べたところjsmeterが良さそうです。なお、循環的複雑度等のコードメトリクスはあくまでも定量的な目安であり、絶対的な品質を表すものではありません。コードレビュー…

Chrome Extension - NPM Helper Updated

以前作ったNPMの更新通知と検索を行うChromeの拡張機能 「NPM Helper」がだいぶ安定したと思うので、CRXファイルをGithubに置きました。使いたい人は下記のリンクからインストールしてみて下さい。 更新通知 NPM検索 NPMのパッケージが更新されるとWebNotifi…

Node.js のモジュールをC++で書く際のメモ(2)

第1回から9ヶ月もたち、Node.jsの方もAPIに変更があったのでC++ Addon関連のメモをしておく。 バージョン関連 Nodeのバージョンによって処理を変える node_version.hに定数、マクロが定義されているのでこれを利用する。 #include <node.h> #include <node_version.h> #if NODE_VERSI</node_version.h></node.h>…

CoffeeScriptについて

この前の東京Node学園祭のときとかに議論したCoffeeScriptの是非についての自分の考えをまとめておく。 「学習コストが低い」という理由での利用はしないほうがいい 「簡単そう」、「かっこいい」とかの理由ならやめることをお薦めする はまった時にデバッグ…

Hachioji.pm #10 に行ってきた

10/29(Sat)にHachioji.pm #10に行って来ました。東京Node学園祭からのハシゴで途中からの参加だったので、LTの内容などは他の人に任せます。 それにしても今回は初参加の人が多かったですね。参加者集16名うち初参加6名。YAPC効果すごいですね。 自分のLT た…

東京Node学園祭2011に行ってきた

10/29(Sat)に開催された東京Node学園祭に行って来ました。nodejs_jpのイベントとしては東京Node学園祭1時限目以来の参加でした。一番面白かったのはGuillermoのライブコーディングでした。信じられないタイプ速度で、エスケープコードで色もつけて、コメント…

Node.js の child_process.spawn() ではまった

Node.jsのchild_process.spawn()でエディタを起動した場合に動作が不安定になるという問題があったので解決方法を記録。最初は以下のようなコードでエディタを起動していました。(実際にはネストしたコールバックの中で呼び出される) var editFile = functio…

ShipIt.jsの今後の予定

ShipIt.jsをかなり変更しました。特にコマンドラインインタフェースとドキュメント。Stepsについては基本的なところは揃えたので、これから作るかもしれないのは以下の機能。 アナウンス系 リリースしたらTwitterなりIRCなりにアナウンス JS自体のversionの…

YAPC::Asia 2011 で発表してきた

Perlの祭典、YAPC::Asia 2011 に参加してきました。昨年 YAPC::Asia に初参加した際は2日目だけしか参加できませんでしたが、今回は10/13の前夜祭から、10/15の勝手に後夜祭まで参加できました。さらに、今回は念願のスピーカーとしての参加でした。去年のYA…

Chrome Extension を作ってみた - NPM Helper

YAPC前なのに何やってんだって感じですが、Chrome Extension を練習で作ってみました。GitHub - hideo55/chrome-npm-helper: Chrome extension for help to use NPMとりあえず、アドレスバーで "npm + space" で NPM Helper を利用できます。ここで文字入力…