僕は発展途上技術者

iPhone 3GS が届きました - 「かなぶん」を動かしてみた

日付変わって昨日になりますが、発売日に iPhone 3GS が届きました。


iphone 3g s arrived on Twitpic

↑ なかば強引に妻のも購入、黒白1台ずつ。お父さん犬も2匹ついてきて息子2人も喜んでます。


おお、iPhone って電話が使える!!いや、失礼。2年間 AT&T にしかつなげることができない 2G iPhone を使っていたので、基本的なところで感動してしまいました。


コンパスや音声コントロールなど、いちいち「おお!」とか一人歓声をあげながら、一通り3GS の新機能を試した後、先日リリースしたかなぶんを動かしてみました。



ご覧のように問題なく動いています。


ちなみに、この動画ももう一方の iPhone 3GS で録り、録った直後に YouTube に投稿しました。ビデオから SD カードを抜き取り PC に挿入してからアップロードしていたのと比べると、これは格段に便利です。


続 せっかちな人のための git 入門 - 共有リポジトリの作り方

久々 git のセットアップをすることになり、自分で書いた記事を参考にする。


» せっかちな人のための git 入門 - git をインストールし、共同で開発できる環境を整えるまで : 僕は発展途上技術者


いつのまにかはてなスターがたくさんつき、ブックマーク数も400を超えていた。さすがはてなユーザー。「git なにそれ?」というのが一般ユーザーはもちろん、多くのプログラマー(ブログ書いたり読んだり twitter 使ってたりすると僕らweb系、オープン系が多数派だと勘違いしてしまいそうになるが、決してそうではないのですよね)の反応だと思うのだが。。。


さて、上記記事では触れていない、共有レポジトリの作成方法を書き留めておきます。


まず準備としてリポジトリを使うことになる複数ユーザーを同一グループに所属させます。


太郎くん、次郎くんのアカウントを作成。



% sudo useradd taro

% sudo passwd taro

% sudo useradd jiro

% sudo passwd jiro


group hoge を作成し、taro jiro を hoge に含めます。



% groupadd hoge

% sudo vigr


hoge のユーザーリストに taro jiro を追加します



共有リポジトリを作成します。



% sudo mkdir hoge.git

% cd hoge.git

% sudo git init --bare --shared


git init に --shared オプションをつけ、値を何も指定しない場合、default の --shared=group が適用されます。



The option can have the following values, defaulting to group if no value is given:


» git-init(1)


また、



group (or true): Make the repository group-writable, (and g sx, since the git group may be not the primary group of all users). This is used to loosen the permissions of an otherwise safe umask(2) value. Note that the umask still applies to the other permission bits (e.g. if umask is 0022, using group will not remove read privileges from other (non-group) users). See 0xxx for how to exactly specify the repository permissions.


group (or true) とあるので、sudo git init --bare --shared=group でも sudo git init --bare --shared=true と指定しても結果は同じです。


hoge.git/config ファイルをみてみると、いずれの場合でも、



sharedrepository = 1


となっています。


上記 git の公式ドキュメントにあるように、hoge.git ディレクトリ含め、それ以下のすべてのファイル、ディレクトリのグループ属性に s ビットが立つようになります。


hoge.git 以下すべてのファイルのグループを hoge に変更すれば、hoge グループに属しているユーザーがこのリポジトリに対して読み書きできるようになります。



% cd ..

% chgrp -R hoge hoge.git

% ls -l

drwxrwsr-x 7 root hoge 4096 6月 18 00:42 hoge.git


taro さんがまずローカルマシンで適当にファイルを作成し、レポジトリに push します。



taro% mkdir hoge

taro% cd hoge

taro% git init

taro% git remote add origin ssh://taro@hogehoge.com/var/git/hoge.git

taro% touch README

taro% git add .

taro% git commit -m "Initial import"

taro% git push origin master


次に jiro さんの番です。



jiro% git clone ssh://jiro@hogehoge.com/var/git/hoge.git

jiro% vi README (適当に編集)

jiro% git add .

jiro% git commit -m "Test commit"

jiro% git push origin master


これでちゃんと permission エラーなどにならず、push できれば OK。


最後に taro さんが jiro さんの変更した部分を取り込みます。



taro% git pull origin master


誤りなどありましたらご指摘ください。


参考:

» [git] 共有リポジトリを作る:git init --bare --shared=true - satoko's blog - s21g

» git-init(1)

» gitcvs-migration(7)


iPhone アプリ、ひらがなゲーム「かなぶん」をリリースしました

長らく審査中(2ヶ月くらい?)だった iPhone アプリ「かなぶん」がやっと App Store に並びました。


kanabun.png



かなぶんは、盤面上に並んだひらがなを使い、制限時間内にいかにたくさんの単語を作れるかを競うゲームです。


大人からこどもまで、やり込むほどやめられなくなる面白さです。


家族や友達同士、だれが一番高得点をだせるかを競いながら、お楽しみください。


» ひらがなゲーム「かなぶん」


「知育ゲーム」的な側面を持ってはいますが、純粋にゲームとして大人でもはまる面白さだと思います。


上記リンクからたどれるWeb版「かなぶん」で、ほぼ同じルールで遊べますので、一度試していただいて気に入っていただけたらぜひ!


昔からずっと遊ばれている「しりとり」がそうであるように、一時的に遊ばれ終わるのではなくて、50年後、100年後も遊んでもらえるゲームにできたらいいなと思っています。


関連記事:

» 「かなぶん」iPhone 版クローズドベータのご案内 : 僕は発展途上技術者

» かなぶん(α版) - 僕は発展途上技術者 2.0


Amazonから調布市立図書館へ、すぐさま本を予約できるGreasemonkeyスクリプトをパワーアップ

2年前に作った


» Amazonに調布市立図書館の蔵書検索リンクを追加するGreasemonkeyスクリプト : 僕は発展途上技術者


を、今回思い立ってパワーアップしてみました。


いままでは、単に該当する本の図書館での蔵書検索結果のページに移動できるリンクを追加していたのですが(これだけでも便利でしたが。。)、さらにその本が図書館にあるかどうかをあらかじめチェックし、蔵書がある場合のみリンクを追加するようにしました。


また今までは個別ページにしか表示していなかったリンクを、Amazon の検索ページでも表示できるようにしました。


amazon.png


これは、もう死ぬほど便利!!あらためて、Greasemonkey がめちゃめちゃ強力であることを思い知りました。


調布市民にしか紹介できないのが残念でなりません。でも、Javascript の知識があれば、最寄りの図書館用に改造して使っていただけると思います。


バージョン管理しやすいよう、github に移しました。


» amazonchofulibrarylinky.user.js


上記スクリプトは Firefox でしか動かず、Safari + GreaseKit では残念ながら動きません。


外部のサイトにアクセスする GM_xmlhttpRequest() が GreaseKit では利用できないためです。


でも、僕は Safari ユーザーです。実は上記スクリプトを自分用に改造し、いったん僕のサーバーに中継させて Safari でも使えるように細工しています。そちらのスクリプトは、ちょっと公開はできないのですが、もし調布市民でどうしてもこのスクリプトを Safari で使いたいという方がいましたら、ご連絡ください。なんとか使えるようにするかもしれません。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ