Hatena::Groupmkdir

作業ログとかをメモする場所。

|

2012-02-26

Xcode 4.3はコマンドラインツールが別に配布されるようになったらしい

| 11:17

MacBook Proが不調になってきたので再インストールしたのだけど、以前のようにAppStoreからXcodeインストールしたら "/Developer" ディレクトリは作られず、"/Applications" に Xcode.app が作成されただけだった。当然、Terminalを起動してもgccやmakeが通らないし、この状態では Homebrewインストールもできない。

どうやらXcodeは4.3から、 "/Developer" を使うのをやめて、全部 "/Applications/Xcode.app/" の中に必要なファイルを入れるようにしたらしい。じっさい、 "/Applications/Xcode.app/Contents/Developer/usr/bin/" とかを覗いてみるとそれっぽいツールがたくさんある。

$PATHをここに通してもいいのだけど、Appleさんは Command Line Tools for Xcode というのを出していて、それを使えばこれまでのように "/usr/bin" の中にgccとかmakeとかがインストールされるらしい。

https://developer.apple.com/downloads/index.action から、Command Line Tools for Xcodeダウンロードして、インストールするだけで、特に設定とかも必要ない。Xcode 4.3用のツールなので、gitなんかも入っていて、別途インストールする必要がないのは少しありがたい(本当はXcodeも "/usr/bin" の中のを使ってくれたほうがよかったのだけど……)。XcodeなしでもCommand Line Toolsだけ入れたりできるみたいなので、Obj-Cの開発をしない人(DebianUbuntuでいえば、build-essentialがあればいいような人)は、これだけを入れたほうがいいのかもしれない。

参考 : http://blog.glidenote.com/blog/2012/02/20/command-line-tools-for-xcode/

2011-10-29

プログラミング言語が自動で生成されるページを作った

| 10:30

眠れないのでbrainfuck処理系を作ったついでに、プログラミング言語が自動で生成されるページを作った。

http://死ぬ.jp/fuck.html

みさくらなんこつ語でプログラムを書けるプログラミング言語Misaや、ジョジョの奇妙な冒険っぽいジョジョ言語みたいなやつは結局brainfuckという、命令が8個しかないプログラミング言語の命令を置き換えてるだけなわけで、それなら機械的に割り振ればいいじゃんみたいな発想で作った。とりあえずサンプルとして般若心経が書いてあるんだけど、般若心経プログラミング言語を作るとこうなる。

仏,蜜,薩,蘊,。,是,諸,減,身,至,得,有,究,藐,除,婆ポインタをインクリメント
説,多,行,皆,舎,受,法,故,意,明,以,恐,竟,知,真 ポインタをデクリメント
摩,心,深,空,利,・,相,中,声,尽,所,怖,涅,大,実 ポインタが指す値をインクリメント
訶,経,時,度,子,想,生,無,香,老,提,遠,槃,神,虚 ポインタが指す値をデクリメント
般,観,、,一,色,識,滅,眼,味,死,埵,離,三,呪,曰 ポインタが指す値を出力
若,自,照,切,不,亦,垢,耳,触,集,依,顛,世,上,羯 1バイト入力してポインタが指す値に代入
波,在,見,苦,異,復,浄,鼻,界,道,罣,倒,阿,等,諦 ループ開始:ポインタが指す値が0でないならループに入る。0ならループ終了にジャンプ。
羅,菩,五,厄,即,如,増,舌,乃,智,礙,夢,耨,能,僧 ループ終了:ポインタが指す値が0でないならループ先頭へ。0なら次に進む

そしてこの言語でHello Worldを書くとこんな感じになる。厨二病っぽい。

空相怖中怖相相尽怖諦蘊怖怖怖心声涅中涅除相実尽所怖尽中・怖怖尽薩深実尽涅声意知説訶如諸識至心深呪中声所深声深実色埵大尽空埵蘊香識訶虚時虚生経槃虚遠訶訶時般舎所摩空心尽所大所三訶神経無神生訶想死声尽涅死時槃老香子提離香度香虚神度時生死諸深離

日本語の文章でやるなら、もっとちゃんと形態素解析とかしてやればそこそこ読めるっぽいものがつくれるのかもしれない。実行環境もセットで自動生成されるようにしたかったのでやってない。というか飽きた。

DarvinDarvin2012/10/15 01:32Geez, that's uenblievable. Kudos and such.

igbbiyceigbbiyce2012/10/17 00:10hYGuPd <a href="http://qhjfvxmlgjks.com/">qhjfvxmlgjks</a>

2011-07-21

Mac OS X を Lion にアップグレードするとmakeとかgccが消える

| 17:33


そんな状態では生きていけない。

Xcodeインストールして、 .bashrc や .zshrc を編集して /Developer/usr/bin を$PATHに追加して生きていけるようになったというやり方だと生きていけないので、/AppliationsにあるInstall Xcode.app を実行しましょう。Appleさんはこういう大事なことはせめてApp Storeに書いたりしておいてほしいですね。

NehaNeha2012/10/14 20:27The truth just shines throguh your post

zcslttlzcslttl2012/10/15 12:12xHykcd <a href="http://kbpngezscglq.com/">kbpngezscglq</a>

zpjzndzlzyzpjzndzlzy2012/10/15 22:03uPtndb , [url=http://ohuddcmoypbf.com/]ohuddcmoypbf[/url], [link=http://nlhedypfssgv.com/]nlhedypfssgv[/link], http://vfzzfhkaqqqp.com/

hexmuchexmuc2012/10/19 17:29u7HxO3 , [url=http://jlmgprglfzal.com/]jlmgprglfzal[/url], [link=http://mscwnwqgwkwk.com/]mscwnwqgwkwk[/link], http://tcwahnefgvdr.com/

2011-06-19

iPod nano の歩数計データが同期される nikeplus.com が不満なのでどうにかしたい(未完了)

| 00:01

歩数計やビデオカメラのある第5世代iPod nanoを使っているのだけど、この歩数計のデータが同期される Nikeplus.com がちょっとダメな子すぎて使い物にならないので、どうにかしたい。

具体的にどこら辺がダメかというと、

  • サイトが重いし使い方が分かりづらい
  • nikeplusで検索して出てくる nikeplusrunnning.nike.com には歩数計関係の機能がない
  • データがどこでどう見られるのかわからない
  • タイムゾーンの設定がどこにもみつからなくて、Twitterに連携させると変な日付で投稿される

nikeplus.comのサイトはなんだかゲームみたいなのを作るほうを頑張っているみたいで、それでランニングする人のモチベーションを保つのはよいことだとは思うけど、ただ記録として使いたい側としては非常に不便。Twitterに投げる機能のタイムゾーンがおかしい件もサポートに英語でメールを送って問い合わせたのだけど、24時間以内に返答するという自動返答メールがあったのに1週間待たされた上、「とりあえずWebサイトのチームに見せてみるよ、たぶんiPod nanoWebサイト以外に何か原因があるんだろうね〜」みたいなメールが返ってきた。全く信用できない。

iPod nano の中身を見る

iPod nanoiTunesで同期作業をしている間はファイルシステムにマウントされてTerminalとかからいろいろ操作できるし、iTunesに繋いだときに「ディスクとして使用する」にチェックを入れておくと主導でアンマウントするまで見えるようになる。僕のiPod nanoはhogenanoという名前になっているので、/Volumes/hogenano/を見ると中身が見えるし、だいたいiPod nanoの中で歩数データがどうなってるか理解できた。

どうやら歩数データは1日ごとに734307_daily.xmlみたいな名前のXMLファイルに入っているようで、iPodディレクトリ以下iPod_Control/Device/Trainer/Workouts/Empeds/pedometer/に蓄積されるらしく、pedometerディレクトリの中で同期してない部分のデータはlatestに、同期済みのデータはsynchedに入るらしい。ワークアウト機能は全然使ってないので正確かどうかわからないけど、現在のワークアウトはpedometer直下のlastWorkout.xmlに保存されるし、synchedディレクトリ2009-10-23 18;43;15.xmlみたいなファイル名のファイルがいくつかあったのでたぶんこういう形で保存されるんだと思う。

とりあえずほしいのは日毎のデータなので、中身を見るとこんな感じだった

<sportsData type="ambient_pedometer">
  <vers>8</vers>
  <runSummary>
    <workoutName>ワークアウトを停止</workoutName>
    <time>2011-06-19T00:00:00+09:00</time>
    <duration>81023000</duration>
    <durationString>22:30'23"</durationString>
    <calories>261</calories>
    <stepCounts>
      <walkBegin>0</walkBegin>
      <walkEnd>8127</walkEnd>
    </stepCounts>
  </runSummary>
  <goal type="Steps" unit="step" value="10000">
    <distance>0.0000</distance>
    <duration>0</duration>
    <calories>0</calories></goal>
    <userInfo>
      <weight>51.0</weight>
      <device></device>
      <hrsID>3020544C</hrsID>
    </userInfo>
    <ipodInfo>
      <model>MC072J</model>
      <softwareVersion>1.0.2 (34A20020)</softwareVersion>
      <serialNumber>YM941HG2739</serialNumber>
    </ipodInfo>
    <startTime>2011-06-19T00:00:00+09:00</startTime>
    <endTime>2011-06-19T22:55:51+09:00</endTime>
    <extendedDataList>
      <extendedData dataType="steps" intervalType="time" intervalUnit="s" intervalValue="600">0, 0, 0, 647, 986, 307, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 12, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 1062, 432, 43, 205, 0, 0, 125, 424, 0, 15, 786, 1002, 1067, 660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</extendedData>
    </extendedDataList>
<!--後略-->

どうやらextendDataのところに10分ごとの歩数データがあるし、細かいデータがしっかり取れるっぽい。

これからやること

とりあえずNikeplus.comなんかよりよっぽど詳細なデータが見えることがわかったし、いろいろできそうな気がする。XML読み込んでどっかに送るくらいは簡単に作れそうなので、問題はiPod nanoがつながれたときに自動的に起動するようにすることぐらいか……

shokaishokai2011/06/21 03:04100円ショップで万歩計買ってきて毎日手動ツイートするのが一番楽なのでは・・

2011-05-03

右手を怪我したのでセミコロンで改行するようにした

| 03:45

自転車で転んだ時に右手をついたらしく、右手首が痛い。右手首が痛いと指の動きにも影響がでてしまって、右手の小指をうごかすのがしんどい。そこで、前々からやってみたかった「セミコロンで改行コードが入力されるようにする」というのをやった。MacBookでキー配列をいじるのはkeyremap4macbookを使うのがふつうらしくて、keyremap4macbookにはデフォルトでセミコロンを改行キーにする設定 (Semicolon to Return) がある。セミコロンが完全に打てなくなると困るので、Option_R to Semicolonみたいな設定を使って適当なところをセミコロンにしておく。

ここからさきはUS配列キーボードでの話です

標準であればこれを使っていればいいはずなのだけど、Vimのコマンド (:wqとか) に関しては体が覚えてしまっているので、このままだとコロンを入力しようとして改行をしてしまうというのを繰り返してしまう。そこでシフトキーを押しながらセミコロンを押したときにはちゃんとコロンが入力されるようにした。

keyremap4macbookには自分で設定を追加する機能があって、(あまり使いやすくないけど)専用のXMLファイルを編集して追加できるようなはなしがドキュメントに書いてある。ここに「シフトキーを押しながらセミコロンを押したときには、シフトキーを押しながらセミコロンを押したとして認識する」みたいな設定を追加する。改めて言葉にすると本当に意味が分からない。ついでに、右Optionキーはすこぶる押しにくいので、スペースキーのすぐ右横のコマンドキーをセミコロンにするようにした。

<?xml version="1.0"?>
<root>
	<list>
		<item>
			<name>Shift_Semicolon to Shift_Semicolon</name>
			<identifier>ymrl.shift_semicolon_to_shift_semicolon</identifier>
			<autogen>--KeyToKey-- KeyCode::SEMICOLON, VK_SHIFT, KeyCode::SEMICOLON, ModifierFlag::SHIFT_L</autogen>
		</item>
		<item>
			<name>Command_R to Semicolon</name>
			<identifier>ymrl.command_r_to_semicolon</identifier>
			<autogen>--KeyToKey-- KeyCode::COMMAND_R, KeyCode::SEMICOLON</autogen>
		</item>
	</list>
</root>

<!--https://gist.github.com/953872-->

これをデフォルトで入ってるSemicolon to Returnと併用すればかなり快適になる。右手首にやさしい感じ。

|