このブログをPyha※に移行してみた。

・・・間違い探しかってぐらい変わってねえ。

いや、アプリのマイグレーションとしてはユーザーに殆ど違いを感じさせず移行を行うというのは素晴らしいことですよ!!

俺、結構頑張ったんだけど、なんだろうこの愛しさと切なさと(略)は。

※PyhaはLokkaに変わりました。

Lokkaのデフォルトテーマを@machidaさんに作って頂きました。

jarvi

デフォルトテーマjärvi(ジャルビ)。

これまでdefaultという名前だったテーマはvicuna-monoという名前に変更されました。互換性の為に年内はdefaultという名前のテーマも残して置きますが、既にインストール時のデフォルトはjarviになっているのでdefaultは非推奨です。

テンプレもデザイナーの@machidaさんが書いてくれたのですが、ちょっと面白くて、ブログの投稿に使うPostではなく個別ページなどの為にあるPageでページを作成すると上の"ミニプロフィール"みたいにメニューに自動的に並ぶようになっています。

public/theme/jarvi/layout.erb at master from komagata's lokka - GitHub

作業中に間違ってこのブログのDBを消してしまいました\(^o^)/

最後のバックアップから・・・50エントリぐらいは消えてるんじゃないか・・・?

|樹海|  ┗(^o^ )┓三

と思ったが、よく考えたらこのブログは自作(Lokka)で、エントリのURLは散々考えた末に自然数にしようと決めたではないか。(URLに意味を持たせない方針。だったらプログラマブルな物が良いと考えたのだった)

require 'open-uri'

base_url = "http://webcache.googleusercontent.com/search?q=cache:"

(4597..4654).each do |i|
puts open("#{base_url}http://docs.komagata.org/#{i}") {|f| f.read }
end

これで取れた!

スゲーなぁGoogleわ。

でもその期間のコメントは消えてしまいました。スミマセン・・・。

via: MacPortsのscreenで怒られる件: telblog

#deflogin on
#bind I login on
#bind O login off

俺の場合はdefloginも怒られてたのでコメントアウトしたら消えた。

Twitter / Shu MASUDA: 改めて読む。 http://d.hatena.ne. ...

改めて読む。 http://d.hatena.ne.jp/kaz_ataka/touch/20081018/1224287687

約7時間前 Twitter for iPhoneから

@milkcocoaさんのTweetで改めて僕も読んだ。以前ホッテントリに入ってたので読んだけど、僕がアホなので文章が難しく、自分なりの言葉に直して理解してみたいなと考えてたのを思い出した。

今作っているブログ・CMSを具体例にして簡単な言葉でソフトウェアの開発についての方法論として解釈してみました。

解決する問題の設定

まずどんな問題を解決するソフトウェアなのか一言で表す。自分が作るソフトウェアだと近視眼的になり易いが、例えばMOONGIFTや百式で自分のソフトやサービスが紹介されるとしたらこういうタイトルが付くだろうなという視点から考えると客観的に付け易い。

今作ってるPyhaで言えば…

「Heroku/GAEでも動くRuby製ブログツール」

仮説を立てる

何故そのソフトウェアは上記の問題を解決できるのか。その根拠となる仮説を立てて表明する。仮説なので自明でないことを言い切ってしまうことが大切。破綻したらプロジェクトの存在意義が無いぐらいの重要な仮説にする。実際に破綻したらプロジェクトを辞めるか、大きく方向転換する必要がある。

Pyhaで言えば…

  1. クラウドサービスはより普及する。
  2. WordPressはクラウド対応(各種DB対応)しない。
  3. WordPressユーザーは格安レンタルサーバーよりも無料のクラウド(Heroku、GAE等)を好む。
  4. RubyのWebアプリケーションはユーザーに受け入れられる。
  5. CMSより、CMS機能があるブログツールの方がWebデザイナにとって分り易いので受け入れられる。

技術的課題を設定する

そのソフトウェアを作るのにキーとなる技術的課題を設定する。重要なものから順番にプロトタイプを作って検証する。これは殆どの開発者が頭の中でまず考えることだと思う。これよりも「解決する問題の設定」と「仮説を立てる」を優先するところが僕らがいつもやってることと違うところだと思う。

Pyhaで言えば…

  1. 今回採用するORM(DataMapper)は設定ファイルの修正レベルの差異だけでSQLite3、MySQL、PostgreSQL、BigTable、MongoDBに対応できるか?
  2. ファイル書き込みが出来ないクラウド環境でファイルアップロード機能は実現できるか?(外部サービスとの連携が実用レベルに達するか?)

(メッセージドリブンに対応する項目はまだ上手く理解できてないので保留)

YouTube - エースコンバット3 真エンディング含むEDムービー6種詰め合せ

エースコンバット3のエンディング動画を懐かしく見ていたらサイモンさんのターミナルが出てたので止めて見てみた。(ネタバレ注意)

YouTube - エースコンバット3 真エンディング含むEDムービー6種詰め合せ

まず2040年の設定なんだけどやっぱり黒バックに緑文字のターミナルは男のロマン。password認証に加えてiris(虹彩)認証とDNA認証とあるのがそれっぽい。SystemSwallowっていうのはゲーム全般に出てくるデータスワローってOSなんですが、ロゴにはwww.viewerと書いてあるのでOS兼ブラウザでChrome OSみたいなもんだと思われます。データスワローはゲーム中、一般人は素敵なGUIを使ってますが、糞メガネことサイモンさんはやはりCUI一筋。

SPHERESCAPE 2.0: Search Everything. Data Swallow 3.2.2

ゲーム中では3.2.2が出たばっかりというのにサイモンさんは4.4.2を使ってます。発売から8年で3.2.2なのにこんなに上のバージョンを使ってるなんて、真エンディングでは結構時間が経ってるってことなんでしょうか。(custom)ってことは自分でビルドしてるみたいです。(データスワロー40の40は年号で、バージョンとは無関係というのはWindowsとかOfficeとかでもありますよね。)

SPHERESCAPE 2.0: Search Everything. Data Swallow 3.2.2

ゲーム中に出てくるAIは初期にまるで豚のようにアホだったことからProgrammed Inteli-Gence(P.I.G)、通称ピギーと呼ばれてたそうです。

%load purge_piggyってのはAI(主人公)を削除するプログラムをloadしたということでしょうか?コンピューターでpurgeつったら普通は削除の意味ですが、わざわざpurge_piggyなんてプログラムを用意するものでしょうか?その後の大量の出力中にもdeleteやremoveではなく全てに対してpurgeという単語が使われています。アンインストーラーでそういうのは見たことがありません。直前に「これから真実の世界にオマエを放つとしよう」と言ってて、最後に「Program AC-3 ED purged from electrosphere.」の表示。解き放つという意味でのpurgeをここまで強調するのは何か別の意味があると思うのは気のせいでしょうか…。

  1. ココのMSPGothicForMac.lzhをダウンロード・解凍して/Library/Fontsにコピー。
  2. Google Chromeの環境設定 - 高度な設定 - ウェブ コンテンツ - フォント設定の変更からゴシック系をMS PGothic+、サイズ16にする。

ハムッハフハフ

参照:マック(Mac)でアスキーアート

set :haml, :ugly => false, :attr_wrapper => '"'

get '/' do
  haml :index
end

カイカクナンテイクラヤッタッテムダダ!!

関連:Haml2.2からはRailsのproductionでインデントが無いと少数派に呼びかけている - komagata [p0t]

ブログツール・CMSを作ってるんですが、どういう人の為に作っているかというのを考えてて、はっきりしなかったので図にしてみた。

図にしたらハッキリしました。

要は、テーマデザイナを重視したい。テーマデザイナとはブログツール・CMSの独自のテーマを作ったり、プラグインを作成したりするサードパーティのことです。

リスペクトして作っているWordPressでとても良い点が、テーマデザイナに優しいところでした。そこをもっと推し進めたい。

テーマデザイナに優しいとは要するにテーマAPIが分り易い・便利だということです。

テーマデザイナから見えるのは外側のテーマAPIだけで、コア内部の実装は見えません。なのでコア内部の実装の複雑さを犠牲にしてもテーマAPIを簡単にしたいと考えて作っています。

まあコアの実装なんかは基本僕だけなので僕が苦しめばいいと思っています・・・。

この図の更に外側にいるはずのブログを見に来る"閲覧者"がどうみても最優先なハズですが、fc2でもvicunaテーマを適用すれば他のブログと区別が付かない昨今、閲覧者にとっての各ブログツールの差は無いといって良いんじゃないでしょうか。

あとは、ブログの記事を書く"ユーザ"ももちろん大切です。しかし僕らがWebサイト制作で生じた要求(不満とも言う)を元に作り始めたツールなので(僕らもWordPressからみたテーマデザイナだった)、一番大切にしたいのは同じWebサイト制作者です。

昨日の生放送@n0tsさんにscreenの便利な設定を教えてもらいました。

.screenrc

screen -t vi 1
screen -t zsh 2
screen -t db 3
screen -t repl 4
screen -t server 5
select 1

こう書くと、screenを立ち上げた時に自動的に5枚windowが用意されて1が選択されている状態になります。特に僕はwindow 0を使ってなかったし、かならず5毎立ち上げるのが癖になっていたのでとても便利になりました。

screen-4.0.3 — 80×24

それぞれのwindowの使い道も何故か自分の中で決まってるので初期タイトルにそれを付けておきました。