静的サイトジェネレータMetalSmith

今回は MetalSmith という超シンプル!超タイニー!なNodeで動作する静的サイトジェネレータのお話。 なんつーかその、メタルスミスとカタカナで書きたい衝動を煽られます。そう、名前って大切ですよね。スタティックサイトジェネレータはAssembleをはじめ、…

HackerNewsのスクレーパーを書いてみた

今話題のKoaについて書こうかとも思ったのですが・・・。 なんとなく最近、HNを中心に見るようになったので、HNスクレーパーを作ってみました。皆さんは日頃、どのような手段で情報を収集しているのでしょうか?今年はGoogle Readerの終了というこの世の終わ…

海外カンファレンスの歩き方 - NodeDublin編

はじめに 技術ネタじゃないです!もし期待されてた方がいたらごめんなさい。今回は、海外のカンファレンスに行ったことがなく、これから行くことを考えている人、もしくは行ってみても良いかもという人向けにカンファレンスに行く際のTIPSをまとめてみました…

Sapporo.jsでJavaScriptの成り立ちについてLTしてきました。

当初はNodeのことを5分で話すつもりでしたが、id:tricknotesの「時間はどのくらいあればいいですか?」という有難い申し出を受けて設定したのが20分。さすがに手元の資料では足りないのでJavaScriptの歴史についても話してきました。そちらについては資料す…

TOEICの点数が上がらない英語勉強法

これは最近よく感じる疑問。普通にきれいな英文を書けているような人でもなぜみんな一様に「もっと英語勉強しなきゃ」って言うのだろうか。もう勉強する必要ないじゃん。TOEICの勉強している人は今600点だから、700点取らないとと言う。で、700点取ってる人…

Yet Another 白熱授業

みなさま、明けましておめでとうございます!blog の更新が滞ってしまっていて大変申し訳ないのですが、今はちょうど node.js の本を執筆しているところでなかなか node ネタを書けないというかここでネタ書くヒマがあったら本を書けという心の縛りがありま…

node.jsとは何か(4)

さて、前回まで基礎部分をいろいろと説明したので今回からは実装について。現在のソースやその成り立ちを説明するのもいいんだろうけど、今日からはちょっぴりハンズオン形式に趣向を変えてみよう。ってことで node.js を作っていくよ! 実装編その一はJSエ…

node.jsとは何か(3)

今日はnode.jsで採用しているCommonJSの話である。 CommonJSの説明だけだとあっという間に終わってしまうのでJavaScriptの歴史を混ぜ込んだら期せずして長くなってしまった。さて、1995年に発表されたJavaScriptは開発当初「Mocha」と呼ばれ、次に「LiveScri…

node.js とは何か (2)

昨日に引き続き、いざ!part2なのだ。前回では node.js と v8 の結びつきまでを書いたので、今日は Non-Blocking I/O の話を。 Non-Blocking I/O という言葉からブロックしない I/O をイメージするのはたやすい。でもこれを実現しようとなるといろいろとまあ…

node.js とは何か

期せずして久々の更新になってしまった。ブログを書く気がなくなったとかそういうのではなくてただ単に忙しかっただけ。その間、まぁ仕事が予期せぬ方向から炎上してみたり、事故をもらって愛車が全損したり(フロントガラスが全面熱線入りなんていう変なオ…

OSS開発の国際化について

本当はいろいろ書きたいことがあるのだけれど、書けるレベルにまで自分をなかなか引き上げられない。といってこのまま書かないのも何なので、今日はOSSを巡る国際情勢についてちょっぴりだけ書く。今のOSS界隈の動きは実は自分が経験した中でも凄まじいこと…

日本のIT系ニュースサイトの憂鬱

日本のIT系ニュースサイトをほぼ見なくなってもう半年になる。 検索エンジンで検索したときに引っかかったのを参照するくらいしかしなくなった。で、見ないって決めたのは日本のIT系ニュースサイトって要するに アメリカ発の記事の翻訳 日本企業のプレスリリ…

微積がようやくわかってきた。

何を隠そう、数学はこのブログ随一の非モテコンテンツ。 もうこの数学って単語見た瞬間にブラウザの戻るボタン押されたりタブ閉じたりされているんじゃないかって思ってる。まー、でもここはそういうブログなのだ。半年くらい前に始めた微積、実はもう3周目…

IT系企業のWebサイトに多く見られるサイト作りにおける失敗例

IT系企業のWebサイトに魅力を全然感じないのはなぜか?本来であればこの分野に長けていて不思議はないハズなのに、もうあたり一面死屍累々といった感じなのである。そういったサイトにありがちなパターンは本文に抽象的なキーワードが散りばめられ、何を言っ…

予習 Rails3 (2) Thor

さて、2回目の今回は Thor。北欧神話で言うと最強らしい。 http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%BC%E3%83%ABでも Rails3 で使うのはこっち。 http://github.com/wycats/thorRuby の Thor は平たく言えばコマンドライン操作に対して、より簡便なオ…

CIツール(Continuous Integration Tool)に夢中

一昨日から始めた Ruby の trunk の継続的インテグレーションビルド、すっかり気に入ってしまった。どれもLinuxではあるものの3プラットフォームでビルドしている。 自分はもちろん Ruby のコミッタではないのだけれど、コミットするごとにビルドが走りその…

ruby の trunk を buildbot で自動ビルドする

一度 ruby の trunk をインストールするとどんどん最新ソースを追っかけたくなるもの。で、多分誰かは絶対作っているだろうと思ったtrunkの自動ビルドの仕掛けがwebを探しても見つからなかった。なので作ってみよう!!と軽いノリで調査に乗り出した。 最初…

予習 Rails3 (1) Arel

Rails3 では ActiveRecord の部分で Arel という関係代数モデルのモジュールが使われるということなので少しだけ予習しておく。 CREATE TABLE articles ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, title TEXT, body TEXT, author TEXT, create_date…

GitHubはいかにして始まったのか

またもや 37signals ネタなのだけれども、彼らの blog で連載されている「Bootstrapped, Profitable, & Proud」というシリーズが凄まじく面白いし参考になる。 内容はそのタイトル通り初期投資にお金をかけずに(ベンチャーキャピタルを使わずに)設立し、利…

美人写真を撮るのに最適なカメラは?

今日、釣りとしか思えないタイトルで日本のTLを席巻していたのが 「iPhone持ってるとセックスしやすい?どう?」 techcrunch.jpにしては何ともお粗末な翻訳。Sexual Partner が「性的お友達」て・・・。 ま、ネタなのでそれもありかもしれないが、元記事は面…

37signals の Jason Freid が語る『採用』とは

最近彼は inc.com に定期的に寄稿(だいたい月初めだけど8月のはまだ)しているんだけど、その記事の中から彼の考える「採用」についてまとめてみた。 元記事はこちら(もう二か月以上前だけど・・・) Never Read Another Resumeタイトルは「履歴書なんて…

OCamlでニュートン法(2)

さて、前回微分の計算をするところまでで終わっていたんだけど今回は実際に Newton-Raphson で実装してみよう。 (* small number *) let dx = 1.0e-10;; (* threshold *) let threshold = 1.0e-15;; (* derivative *) let deriv f x dx = (f (x +. dx) -. f …

OCamlでニュートン法(1) 微分の計算

さて、ニュートン法とは二分法のとこでもやったと軸との交点を求める場合に関数の接線を用いるという方法。 で、について解いて、 これを使う。 このうち、今回はの計算の仕方。を求めるのに一番簡単なのは においてを十分小さな値にして計算する方法。差分…

Ocamlで二分法(2) 平方根を求める&二分法の汎用部品化

昨日に続いて二分法を使い、今度は平方根を求めてみる。二分法を使う場合に 対象となる関数が連続関数であり、 かつ の場合、 となる根 が区間 に存在するということなので を求めるにあたり、 という式において を満たす が解となる。(ちなみにこの式がピ…

Ocaml で二分法

最近、Ocaml と数値計算をセットで勉強することにしている。さてこの二分法とは、解を含む区間の中点を求める操作を繰り返すことによって方程式を解く求根アルゴリズムだそうな・・・。詳しくはWikipediaの二分法を参照のこと。で、円周率を二分法で求める例…

「プログラミングの基礎」

前回書いた通り、「最新コンパイラ構成技法」を読む途中で ML 習得の必要性を感じて OCaml を始めたわけだけど、今やすっかりハマっている。 「最新コンパイラ構成技法」については第二部をある程度読み終えて(いやこの二部は実際すごくイカしてる)、Ocaml…

訳あってOCaml

まさか自分が OCaml を勉強するとは全くもって思っていなかったんだけど、訳あって只今 OCaml 勉強中。というのも「最新コンパイラ構成技法」を読んでいて、その原著が「Modern Compiler Implementation in ML」。「Modern Compiler Implementation in C」で…

autoconf 2.66 にハマる。というか使っちゃいけない。

事の発端は ruby の 1.9.2 を rc1 ではなくブランチリポジトリから直接持ってきて configure && make してインストールしようとしたら configure スクリプトがなかったので autoconf を走らせた時。 開発機が CentOS5 でデフォルトパッケージの Autoconf は …

ruby1.9.1はまだ鬼門?

仕事中 EventMachine を使った ruby のコードを書いていて、ある部分がかなり遅いことに気付いた。 リクエストを非同期で投げるのに em-http-request を使っている部分。 その場はとりあえずやり過ごして、家に帰ってきてから改めて調べてみた。その結果、 r…

WEB開発者としての有料情報ソース二選

プログラミングというかIT系の本を買わなくなってかなり経つんだけど、こないだ久々に一冊買ってみた。「.fla2」という Flash 制作のためのアイデア集。ただし ActionScript や Flash の実装をこと細かく解説する技術書とは違って、この本を読むことでバリバ…