投稿者:

Xperia EのFMラジオを日本の周波数に変える

4年利用したガラケーがついにお亡くなりになったので、電話機としてAndroidにようやく手を出し始めました。といってもパケホに興味は無い(通信量制限の無いWiMAX+iPod Touchを所有している)ので、用途としては普通の電話+メール+Android弄りになっています。
キャリアメールについてはIMoNi使いやすくてやばい!と思ったけど最近はキャリア関係なくSMSできるし連絡手段はLINEやfacebookでやる方が多くなってきたんで存在感が薄くなってきた感がありますね。そろそろ絶滅も近いですかね

話がそれました。

香港から輸入したXperia Eはグローバルモデルのため、デフォルトで入っているアプリのFMラジオの周波数は日本の帯域に合っていません。それらしい記事(下記参照)を参考に修正してみましたが、どうもバージョンが違うらしく、効果がありませんでした。

で、仕方が無いのでRadio.apkを引っこ抜いてapktoolでバラして睨めっこした結果、下記の内容で成功しました。

https://gist.github.com/chuyaso/5714669

ファイル名はcustom_settings.xmlで、パスは/system/etc/customization/settings/com/sonyericsson/fmradio 以下。fmradioフォルダは初期状態では存在しないので新規作成。このあたりは旧verと同じかな。お察しの通り/system以下なので自己責任によるroot権限の取得が必要です。

ラジオアプリとしてradikoやらTuneIn Radioやらあるといえばあるんだけど、これでもやもやが晴れました。日本に10人くらいいると思われる(根拠なし)方々の役に立てば幸いです。

投稿者:

JRAのサイトから2歳馬一覧をスクレイピング

POGの季節ですね。
今年は何年ぶりかに友人たちとやることが決定し、さあ来年のダービー馬を選ぶぞと意気込んで競馬王のPOG本を買いにいこうとしたのですが、ちょっと待てと。自分の選び方の傾向としては

  • 血統や厩舎、育成牧場などメタデータ(?)を重視
  • 見た目は別に重視しない(見ても結局わからないし)

ということを思い出し、「じゃあデータさえ揃えればどうにかなるな」といった次第で、JRAのサイトからデータを取得してCSVでまとめちゃおう的なことをやってみました。これで本は要らないかな。
最近みっちりコードを書いているためか、時間としてはかなりあっさり完成。仕事以外でももっとコードを書くようにしなければいけませんね。。

今回、(遅ればせながら)初めてgithubを使ってみました。まだ使い方があやしい、、
https://github.com/chuyaso/scrapingJRA

依存ライブラリはどう考えても一緒に入れるべきじゃないような。後で消しておこう。

今回のキモはほとんどの画面遷移がPOSTメソッドで行われているJRAのサイトからデータを取得して整形できるようにするまでで、結果から言うとHttpClientjsoupであっさり。世の中は楽になったものですね。

JRAAccesser.javaを実行すると、JRAサイトのデータファイル > 競走馬登録/抹消一覧 で表示される各日時の競走馬登録から全登録馬のうち2010年産(=2歳馬)のものだけを取り込み、CSV形式で出力します。
CSVで出力します(キリッ と言っていますがSystem.out.printlnです。
自分用に作ったアプリですので要所要所での手抜きっぷりはご容赦を。コードもかなりアレな感じだし(自覚あり)

実行するとこんな感じで出力されます

アイサレジョウズ,牝,鹿毛,2010/02/03,(美浦)手塚貴久,日高町 ダーレー・ジャパン・ファーム有限会社,有限会社ミルファーム,Refuse To Bend,ロシャーニ,Kris
アウトシャイン,牝,黒鹿毛,2010/02/20,(栗東)安田隆行,新ひだか町 ケイアイファーム,株式会社ロードホースクラブ,ネオユニヴァース,レディブラッサム,Storm Cat
アザゼル,牡,青鹿毛,2010/03/15,(栗東)清水久詞,新ひだか町 土居忠吉,前田幸治,サクラバクシンオー,スパンゴールド,サンデーサイレンス
イセノロマン,牝,栗毛,2010/02/16,(栗東)大橋勇樹,新冠町 ムラカミファーム,大橋堯格,マーベラスサンデー,シルクサファイア,ステートリードン
ヴィラダイヤモンド,牡,鹿毛,2010/04/18,(栗東)西橋豊治,浦河町 ダイヤモンドファーム,有限会社ダイヤモンドファーム,テイエムオペラオー,デュランティ,サクラバクシンオー
エルミラドール,牝,栗毛,2010/03/31,(栗東)笹田和秀,安平町 ノーザンファーム,有限会社キャロットファーム,ジャングルポケット,アドマイヤサンデー,サンデーサイレンス
カシノオパール,牝,芦毛,2010/02/07,(美浦)二本柳俊一,新ひだか町 前川隆則,柏木務,マヤノトップガン,サントシャペル,クロフネ
カシノガスト,牡,鹿毛,2010/03/12,(美浦)二本柳俊一,新ひだか町 及川ミツ子,柏木務,サクラバクシンオー,ハートカクテル,アフリート
(中略)
カラダサンキュー,牡,鹿毛,2010/05/08,(美浦)伊藤正徳,新ひだか町 藤原牧場,子安裕樹,ワイルドラッシュ,テンザンビーナス,サンデーサイレンス
ドントクライ,牡,鹿毛,2010/03/22,(美浦)和田正一郎,新ひだか町 グランド牧場,有限会社和田牧場,スズカフェニックス,テンシノナミダ,エルコンドルパサー
ブルーキューピット,牡,栗毛,2010/02/24,(栗東)武宏平,新ひだか町 武牧場,中山速水,ネオユニヴァース,オギブルービーナス,スーパークリーク
ユキノレイア,牝,鹿毛,2010/03/14,(美浦)和田正道,新ひだか町 服部牧場,井上基之,フサイチホウオー,ユキノレイコ,ラムタラ
Total 809 horses.

これをExcelに貼り付けて、オートフィルタであとはコーヒー片手にじっくりと選ぶのみです。
ローカルルールで

  • 10頭中ディープインパクト産駒は2頭まで
  • 馬主は全て異なること

とかを決めてしまっていてもこれで楽々検索ができるというものです。
毎週新規に登録されるから、POGドラフトの時期(ダービー前後)までにはもっと登録馬が増えてきそうですね。
えーと、6月以降に登録される馬はどうするか?それはもうデビューも遅いだろうしということでPOGでは諦めましょう…w

投稿者:

Realforce91UBK-S

昨年末にSIerを卒業し、某外資系の開発部隊に転職しました。
3ヶ月の試用期間も無事クリアし、本腰を入れていくためにこれを明日から使ってみようかと。

入手以前の店頭での試し打ちからこの記事を作るまでの感想ですが、まあ抵抗を感じること無くキーが叩ける叩ける。これでコーディングの効率が上がればしめたもの。長い付き合いにしていきたいものです。楽しみ楽しみ。。

B003XKNX76 東プレ Realforce91UBK-S 静音キーボード 静電容量無接点方式 変荷重 ブラック NG01BS
東プレ 2010-08-05

投稿者:

すべてをWiMAXに

今住んでいるマンションでは光回線が入っていたので、今までは何の疑問も抱くことなく光回線を利用していたのですが、
・光配信によるチャンネルの解像度が、TVが大きいと不満なレベルに
・WiMAXが予想以上に安定して入る
ということで、思い切って光を解約して、全てWiMAXにすることにしてしまいました。

前のエントリと比べるとかなりすっきりしたのがわかりますね。

TVの裏を這うケーブル類が簡潔になっただけでなく、ネットに係る固定費も約3〜4割に。しかもWiMAXなので外出時はそのまま持っていけば使えてしまうという塩梅。素敵ですね。
停電時もバッテリーが持つ限り使えますし。据え置きルーターではこうはいかない

はやく賃貸検索の条件に「WiMAXの入り良好」のチェックボックスが入らないかと思う今日この頃です。

おまけ

桜の季節になり自転車に乗るのが楽しい時期がまたきました。いろいろ散策したいですね

投稿者:

KDL-40EX500購入記

今年もまったり更新できればと思います(既に北海道ログは諦めた!)。

とりあえず、この週末であったこととして、TVを買いました。

これが

こうなりました

ようやく地デジ化。

小さいのに見慣れていたせいで、とっても大きいように思えますが、これもいずれ慣れてしまいそう。

当初はREGZAを考えていたのだけど、機能差を調べれば調べるほどBRAVIAに傾きました。そもそも民放を見るくらいならアナログ時代と差が無いので、何か新しい事ができるようにならないものか、と。。
結果、PS3 Media ServerをPCで動かすだけで、BRAVIAがPS3に偽装(?)できることがわかりました。これによりワイヤレスでPC内の動画や写真閲覧が可能に。さすがSONY。
もちろんApple TVやDLNA対応NASを買えば同じことがどのTVでもできるけど、できるだけモノとしてはシンプルな方がいいしね、ということで。

個人的にはビデオPodcastを見れるようになったのが大きいです。1時間以上もあるものだと、通勤でも見きれないので…。あと地味にyoutube機能も素敵。

もう少しいろいろいじくり倒していきたいと思います。

それにしても宇多田ヒカルのNHKスペシャルは良かった。

投稿者:

ServersMan@vps はじめました

ちょっとここ最近自宅サーバ熱が高まってきているのですが、この時期に自宅サーバなんて作った日にゃあ部屋の熱の方が高まってしまいそうなので、ServersMan@vpsを初めてみました。グローバルIPをもらいつつ仮想OS(CentOS)を自由に操れる…これぞクラウド!ですね。

ということで、以降は作業ログになります。将来の自分とこれから検索で見つけにくる人のために。

まずはrootしかないので、さっさと一般ユーザつくるよ!
# groupadd user
# useradd -g user chuyaso
# passwd chuyaso
Changing password for user chuyaso.
New UNIX password:

続いてrootのパスワードも変更。
# passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

一般ユーザでsudoできるようにします。
# vi /etc/sudoers

chuyaso ALL=(ALL) ALL

を追加。

続いて、rootでsshログインできちゃうなんて危なすぎます。。
$ sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes を PermitRootLogin no にして、
AllowUsers chuyaso を追加し、sshは再起動
$ sudo /etc/init.d/sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]

なにはともあれjavaをインストールしましょう。
$ sudo yum install java
(略)
Complete!

そしてphpとMySQLもいれます。最新版が欲しいのでリポジトリ更新から。
$ wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
$ wget http://rpms.famillecollet.com/el5.i386/remi-release-5-7.el5.remi.noarch.rpm
$ sudo rpm -Uvh remi-release-5-7.el5.remi.noarch.rpm epel-release-5-3.noarch.rpm
$ sudo yum --enablerepo=remi install php-devel php-mbstring php-mysql
(略)
Complete!

続いてMySQL
$ sudo yum --enablerepo=remi install mysql-server
(略)
Complete!

MySQLの文字コードを設定してあげましょう
$ sudo vi /etc/my.cnf

[mysql]
default-character-set=utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

MySQLにログインして初期設定をば
$ mysql -u root
mysql> select user,host,password from mysql.user;
5 rows in set (0.00 sec)
mysql> delete from mysql.user where user = '';
Query OK, 2 rows affected (0.00 sec)
mysql> select user,host,password from mysql.user;
3 rows in set (0.00 sec)
mysql> update mysql.user set password=password('任意のパスワード') where user = 'root';
Query OK, 3 rows affected (0.00 sec)
mysql> select user,host,password from mysql.user;
3 rows in set (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye

続いてMongoDBを入れます。最近超気になってる、テーブルスキーマが不要なドキュメントDB。C#とJavaのクライアントから操作を試してみたけど別ノードへのInsertが300マイクロ秒とか超高速。恐ろしい。
$ sudo vi /etc/yum.repos.d/CentOS-Base.repo

開発元の情報を登録します。

[10gen]
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/$basearch/
gpgcheck=0
enabled=1

$ sudo yum install mongo-stable*

本日はここまで!

投稿者:

アウェイをホームにする

私にしても、18歳で東京に出てきた時、文字通り「地に足が着かない」という感覚を味わったものだ。この巨大都市、何が潜んでいるか分からず、故郷宮崎とはまったく違うよと思っていた。その違和感はずっと続いた。それがいつしか当たり前になってしまい、違和感を、違和感と感じなくなってしまうほどに。

疋田智著「ものぐさ自転車の悦楽~折りたたみ自転車で始める新しき日々」より

まさに自分が持っていた「もやもや」としていた気持ちを文章にしてくれた本を見つけました。同じことを思っている人がいてよかった。さて、いつまでも「もやもや」しているのは自分のためにも人のためにも良く無いですね。そこで…

DAHONのMu P8を購入しました。ようやく。
この流線型のフレームに萌える人は多いと思われます。選んだ理由としては、まず第一に輪行可能な自転車であることと、あとは値段とデザインのバランス、に尽きます。ミッドナイトブルーという色名ですが、確かに深みのある青さは何時までも飽きなさそうです。
調べていくうちにBROMPTONBD-1にも当然のごとく一度は目がいきましたが、値段の関係もあり、まずはこの界隈でのエントリーモデルから入ってみようか、ということで。

輪行バッグにはちび輪バッグPWを購入。これで自宅周辺だけじゃなく、東京・横浜・鎌倉その他もろもろへ行動できます。楽しみが広がりますね。

ロックは一般的なチェーンだと3秒でやられることは周知の事実なので、せめてもの抵抗として多関節型のtateを…。といっても折りたたみ可能なだけに、普段の保存は自宅内なので、一瞬コンビニに入るときとか飯を食べるときとか、そういう時くらいでしょうか。一晩外にさらしておくようなケースはまず考えられないでしょう。

防犯登録も済ませ、少し慣らし運転もしてきました。梅雨明けがより待ち遠しい…!

冒頭の文章は以下のように続きます。

でも、それは少年時代の「地べた感」を忘れてしまっていただけだったのだ。今の私は心の底からそう思う。私は自転車によって、少年時代の感覚を確実に取り戻した。そして、自転車によって初めてこの街が、自分の街になった。

疋田智著「ものぐさ自転車の悦楽~折りたたみ自転車で始める新しき日々」より

首都圏が自分の街(ホーム)になる、そう実感できる日が間もなく訪れます。

ものぐさ自転車の悦楽~折りたたみ自転車で始める新しき日々
ものぐさ自転車の悦楽~折りたたみ自転車で始める新しき日々 疋田 智

おすすめ平均
starsロードとは違う
stars世界が広がる
starsデンジャラスな本(笑)
stars自転車ワールドへのいざない

Amazonで詳しく見る by G-Tools

DAHON(ダホン) Mu P8 ミュー P8 ミッドナイトブルー
DAHON(ダホン) Mu P8 ミュー P8 ミッドナイトブルー

Amazonで詳しく見る by G-Tools

投稿者:

Collectionインターフェースの実装による速度の違い 1

といっても、そんなに小難しい話をするつもりはなくて

JavaのCollectionインタフェースに関して、各操作についてどの程度パフォーマンスが違うか測ってみた、というだけです。いつも無意識にListならArrayList、MapならHashMapを選んでしまう自分への警鐘ということで。

まずはListインタフェース。測定対象は以下。CopyOnWriteArraySetとか、この実験やろうとして初めて知った件。

List vector = new Vector();
List array = new ArrayList();
List linked = new LinkedList();
List stack = new Stack();
Set tree = new TreeSet();
Set hashset = new HashSet();
Set linkedset = new LinkedHashSet();
Set copy = new CopyOnWriteArraySet();

上記に対する計測対象の操作は以下の通り

  • 操作A: 50000個の要素を1回ずつput(要素はIntegerで0〜49999)
  • 操作B: 操作A後のものに対してイテレータを最初から最後まで回す
  • 操作C: 操作A後のものに対して対象をランダムに5000回containsを実行
  • 操作D: 操作A後のものに対して対象をランダムに5000回removeを実行

で、結果は以下の通り(単位はms、小数点四捨五入)。

Listインタフェース Setインタフェース
Vector ArrayList Linked
List
Stack Tree
Set
Hash
Set
Linked
HashSet
CopyOn
WriteArraySet
操作A 16 19 19 7 123 76 32 13589
操作B 20 18 21 25 20 14 7 3
操作C 367 357 1374 437 8 3 2 424
操作D 469 521 1940 461 25 5 12 2550

今回の目的は絶対値の計測ではなく実装の変化による速度の違いなので、縦の列でなく横の行における相対的な違いだけで見てもらいたい(速度自体はマシンによって変わるから)のですけど、かなりはっきりと違いが出ました。
ArrayListよりVectorの方が性能がよく見えるのはシングルスレッドで各操作をやっているからであって、これがマルチスレッドになるときっと変わってくるんでしょうね(Vectorは完全同期を取るので待ちが発生するはず)。
ListとSetでは、ランダムアクセス系でここまで顕著に差が出るとは。要件として重複があり得るかあり得ないかの確認はかなり重要、という訳ですね。HashSetよりLinkedHashSetのほうが数字がいいのがなんかおかしいような気もしますが。誤差の範囲かな。。
などなど、定量化して改めて設計の重要さを認識。

Mapインタフェースに関してはまた後日。。

投稿者:

親知らず子知らず

少しづつ発達していた親知らずの状況を見てもらおうと、近所の歯科に行ったのですが

・完全に真横に生えちゃってますね〜。しかも手前の歯と接触していて、影響が及んでますよ
・もしかしたら顎の神経に触れてるかも?ってくらい深いところから生えてますね
・反対側も少し芽生えてきているので、こちらも取ってしまいましょうか
・ここ(小規模な歯科)では抜歯は難しいレベルので、紹介状書きますね

ということで、市立病院へのreferralをもらってしまいました。。。
ほっといて良化するものでもないので、さっさと引っこ抜いてもらおうと思います。

今更ながら今週からオフィス歯ブラシもデビュー。お昼休みは磨きをかけます(既に少し手遅れ)

ps こんな動画を見つけてしまいました。終わってから見ればよかった…

麻酔が抜けてからが本当の恐怖だ…(CV: ベジータ)