easy peasy(Ubuntu Eee)にrailsをインストール

まあ、やっぱりrailsの開発環境が欲しくなったのでインストールしておきました。
意外なことに

apt-get ruby-full
apt-get rubygems
gem instal rails

では済まなかった。
まずgemのバージョンが古すぎる。0.9.4って!もう1.3.1ですよ!

そんなわけで

gem update --system

これでgemは1.3.1になるんだけど、今度はgemコマンドを叩くとこんなこと言われるようになる。

$ gem list
/usr/bin/gem:10:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

んあー。めんどくさい。パスの問題らしい。

gemコマンドにGemRunnerのrequireを入れる方法もあるんだけど、こちらの記事が参考になったんでパス*1を変えて対応することにしてみた。
http://d.hatena.ne.jp/etebos/20081028/1225176430
http://wiki.rubyonrails.org/rails/pages/RailsOnUbuntu

sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

これで

$ gem install rails
$ rails -v
Rails 2.2.2

railsさんこんにちは。

ちなみに僕はapt-getとか書いてるけどGUI世代の子なのでaptものは全部Synaptic パッケージ・マネージャを使って入れました。
GUI万歳。


あ、あと、初めのeasy peasy(Ubuntu Eee)ではbuild-essentialが入ってないんで色々とgem入れるときに失敗することが多いです。
これくらいは入れておいた方がいいかもです。これも直でapt-get叩かずに入れたけど、たぶんこんなコマンド。

apt-get build-essential

他にもscrubyt入れるときにlibxmlやlibxsltが足りないと言われたので入れとくといいかも。

*1:パスっつーかシンボリックリンクで対応か

eeePC901にUbuntuをインストール

eeePC901にUbuntu Eeeをインストールしてみた。
って、インストールしてからこれを書いてる間にUbuntu EeeはEasy Peasyという名前に変わったらしい。

Ubuntu Eee 8.04.1 - now called Easy Peasy

インストール

インストールは簡単だった。

基本はここの方法でOK。

とりあえず用意したのはUSBメモリしかも僕の場合はiPod shuffleを使って出来てしまった。

まずはhttp://www.geteasypeasy.com/からisoイメージをダウンロード。そしてUSBメモリをLiveCDの用にしてくれるソフトがあるんでそれを使ってUSBメモリにisoイメージをインストール。

そんでもってマシンをシャットダウン。インストールされたUSBメモリを差してEscとかTabを連打しつつ電源を入れた。

そしたらHDDから起動するかUSBメモリから起動するか選択する画面が現れるのでUSBを選択。
あとはそのままUSBメモリで起動するかインストールするか選択する画面が出てくるのでインストールを選択して、どのパーティションにインストールするか選ぶだけ。
ポチポチと押していったら見事にインストールされました。

日本語環境

ただ、そのままだと日本語環境が入っていないし、フォントもきたない。

なので、一度GUIからシステム管理→アップデートマネージャを実行して更新を行う。で、再起動。
今度はシステム管理→言語サポート→サポートされている言語からJapaneseを選択してOK。また再起動。

これで日本語入力も出来て、フォントも綺麗な状態になったとさ。
日本語は下手にフォント入れたりIME入れたりするとOSごと文字化けしてなにがなんだかわからなくなって起動もできなくなった。。

使用感

使ってみた感じはかなり快適。
自分がプログラマだからかもしれないけど、いろんなライブラリやOSをパッケージマネージャでインストール・管理出来るのは楽しい。もっと深いユーザーはGUIも使わずに操作を行うんだろうけどね。

フォントといい、使い勝手といい、Ubuntuの入ったeeePCはまだ存在しないMacネットブックを使っているような気分になれる。Cocoaプログラミングとか出来ないけど使用する分にはかなりMacな気分。楽しいです。
Rubyなんかは普通に入るし、実行できるからそこらへんで楽しめます。大好きなirbを起動して後に残らないことやってます。

eeePC901買った。メモリを2GBにした。

もう二度とMac以外のパソコンなんて買うことないだろうと思いはじめた去年の頭から2年経つことなくeeePC901を買った。

ほんとはeeePCMacOSが乗っていれば最高なんだけど、今はUbuntuの良いディストリビューションもあるみたいだし、会社ではUbuntuを使って開発しててなかなか悪くない感じなんでいざとなったら、というかたぶんその内Ubuntuに乗せかえるつもりではある。

まあ、とにかくこの小さいPCのキーボードの打ちにくさは果てしないし、タッチパッドも微妙だったりはするんだけど、Mac風の2本指でのスクロールとかデフォルトで出来るようになってたりしてがんばりを感じる。そして、なによりこのサイズとバッテリーの持ちの長さのコンビネーションが最高だ。
やっと本当の意味で持ち歩けるし、年末実家で遊ぶのにも最高。

んで、まずはメモリを換えたりしてみた。1GB積んでるところを2GBにしてやろうと思った。
いろんなとこで紹介されてるのはこのやつなんだけど

Transcend ノートPC用 PC2-5300(DDR2-667) 2GB 200pin SO-DIMM JM667QSU-2G

Transcend ノートPC用 PC2-5300(DDR2-667) 2GB 200pin SO-DIMM JM667QSU-2G

これがamazonでは在庫も価格も発送時期も不安定で代用品をさがしてみることにした。

そしたら同じメーカーでこんなのがあった。

Transcend ノートPC用 PC2-6400(DDR2-800) 2GB 200pin SO-DIMM JM800QSU-2G

Transcend ノートPC用 PC2-6400(DDR2-800) 2GB 200pin SO-DIMM JM800QSU-2G

DDR2の667か800かの違いがあるんだけどまあそんなのはきっと大丈夫だろう。何より価格が2270円と上のやつより安いし(時期にも拠るが上のはさっき7000円してた)、発送も即日でやってくれるのがありがたい。

乗せ換えは裏のフタを開けて、黒いビニールっぽいカバーの下にあるモジュールを交換するだけだった。
でも最初起動したときに認識されなくて「あれ?だめかな?」って思ったけど、起動しなおしてF2押してBIOSから2GB認識されてるのを確認してからOS起動したら認識されてた。なんか怪しいけどきっと大丈夫なんだと思う。

DDR2667と800の違いってなんだっけ?

そんなわけで、次はUbuntu Eee化かな。

儲けた後の世界

儲けたいね
儲けたいね - Psychs's blog

この題名から驚いた。いや、うれしかったのかもしれない。元エントリうんぬんはともかく、このエントリだ。

これは「だれだれがどうだ」とか「何パーセントが理系でうんぬん」とかそういう話じゃない。
お金を持ったプログラマがまだ全然足りないし、お金も足りない。良いもの作った人がもっともっとお金を得て、そういう人がもっともっともっとたくさんのプログラマを下支えできるような世界を目指しているということだ。そういう世界を作りたいということだ。
そしてそういう人になりたいということのはずだ。

id:Psychsさんはそういう方だ。
こう言うと属人的な物言いを嫌う方なのでこの文章自体嫌悪の対象となるかもしれない。
そんなこと言ってないでさっさと良いコード書いて結果で示せと一喝されるかもしれない。
でも、感動したから書き残す。

僕らもまだまだ出来ることがあるはずだ。

せっかく詳解Objective-C 2.0読んでるし、ついでにマインドマップにしてく

手書きでマップを描いてくのは楽しい。楽しいから意外と読み進む。とりあえずモリモリ読んでます。

いまのところ6章まで描いてみてあるから貼っておいてみる。どうせ他の人見ても分からないだろうし、画像が見えにくいしでなんのためやらさっぱりですが。

内容といえば内容だから全章書いてくと誰かに起こられるかと思ったけど要約だし見えにくいしテキストじゃないから大丈夫か。←妙にチキン

全体

DSC01990.JPG
これはまだ読み始める前の章立てをそのままマップ風にしたもの。

1章オブジェクトに基づくソフトウェアの作成

DSC01989.JPG
さすがにオブジェクト指向とかそこらへんは既に知ってくることなのでマップもあんまり伸ばしてないです。

2章Objective-Cのプログラム

DSC01988.JPG
言語の簡単な作法とかコンパイルについて。
ccを使ったコンパイルを実行するあたりとかもここらへんで。

3章継承とクラス

DSC01984.JPG
だいたい知ってることだけど、Objective-Cならではの書き方とかallocのあたりとか中心です。
この辺りからマインドマップにコードを組み込んでいく方法を模索してますね。

4章オブジェクトの型と動的結合

DSC01985.JPG
なんとなくObjective-Cらしくなってきた。
クラスメソッドを書くときはこうだとか、ゲッターセッターの書き方、変数の挙動あたりが入ってきた。
@classの使い方がなるほどって感じ。全部importで済ますと時間かかったりするのか。
というかこの章以降Objective-CもCなんだなーと当たり前のことを思うことが多くなる。

5章リファレンスカウンタを用いたメモリ管理

DSC01986.JPG
Objective-Cやるぞーと思ったことは以前にもあったけど、その度にここらへんでめんどくさくなってた部分。メモリ管理は全部GCに任せちゃいたい世代です。そんな世代がないなら全部GCに任せちゃいたい怠け者の僕です。
とにかくretain, release, dealloc, autorelease辺りを考えつつプログラム書くのはとてつもなく大変そうだと思わせる内容で盛りだくさんです。書かなきゃ苦労もさっぱり分からないところでもあるだろうな。

6章ガーベジコレクション

DSC01987.JPG
そしてこれが前章での茫然自失とした気持ちを癒してくれるGCObjective-C 2.0になって本当に良かった。プログラム書いてると「そうもいかないんだよねー」となりそうな気もするけど。
GCの対象になるオブジェクトなどGCの挙動を詳細に書いてあるのでメモリについても勉強になりました。
一番最新のマインドマップなのでモクモク雲みたいなのを描いたり軽い絵を描いたりして頑張ってます。

そんなわけで

いまのところはここまで。
とりあえずObjective-Cならではというところは終わったらしい。次章から言語そのものじゃなくて使い方や使える物についてになるらしい。


マインドマップについてはカラフルで楽しげです。ただ、もっと絵を入れてった方がそれっぽいんだろうなぁ。