2011-08-31 (水)
VPSの再起動時にApache起動しない気はしてたけど,今回も起動してなかった.暇なときに原因調べよう.
DevQuizのページ見たら,まだ110点以上取ってる人は少ない感じだな.ただ,上位の人は着実に点を伸ばしてるだろうし,140点台後半まで行きたいなぁ.
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
VPSの再起動時にApache起動しない気はしてたけど,今回も起動してなかった.暇なときに原因調べよう.
DevQuizのページ見たら,まだ110点以上取ってる人は少ない感じだな.ただ,上位の人は着実に点を伸ばしてるだろうし,140点台後半まで行きたいなぁ.
昨日のうちにルンバに付け足すセンサー買っておけばよかったな.週末まで放置すると飽きそう.
DevQuizのスコア分布が.
~110点のところに300人近くいますね.スライドパズルに手を付けて簡単なやつだけ解いた人が多いのか.
そして,140~150の人が3人に増えている.やっぱりもう少しがんばらないとダメだなあ.
いま,136点なのであと4点は取っておきたい.
ルンバとどいた.どうせ改造して遊ぶようなので気にしなかったけど,530だとスケジュール機能とか無いのか.ボタンが少なくてとてもシンプルなUI.
昨日,寝る前に走らせたやつを夜中目が覚めたときに見たら,予定通り3000個解けていたので,提出しておく.ただ,変なバグが混入してしまってたようなので,結果を色々調整するプログラムを書く.
朝になってから見たら,130点超えてる人が3人いたので2位か3位っぽい.このスコアって何時更新されてるんだろう?140点以上取ってるひとすごい.
このまま4000くらいまではいける気がしたけど,3500あたりで動かせる回数の制限に達してしまった.もっと効率良く解かないとダメみたいですね.
ルンバ届いたのでとりあえず分解した.
開封したばかりのルンバさん.
裏側から色々はずす.駆動系はモジュール化されていて簡単に取り外せます.
モータはよくある小さめのDCモータ.ギア比が結構大きそう.色々載せるつもりなのだけど,大丈夫かなあ.重量が増えると制御が難しそうな雰囲気.スピード出さなければ平気なことを祈ろう.
あまり見てないけど,モータの回転数が取れるようになっていてこれでフィードバックしてるっぽい.
ただ,この段階で裏側から制御回路へアクセスできないことに気づきました.
気を取り直して表から攻める.表のパネルの外し方が分からなくて少し悩む.ネジが見当たらないので観察すると,ツメで止まっているように見える.
外側のツメは何とかはずせたが,中心部も何かに引っかかっている.最悪割ってしまうかもしれないと思ったけど,無理やりはがす.
普通に外れた.無理やりはずすので合ってたみたい.なにやらコネクタがある.調べてみると,シリアルのインターフェイスっぽい.ここから制御できるみたいなので,後でもう少し調べよう.
あとはネジが結構たくさんあるけど,順番にはずしていけば綺麗に分解できる.
白い基板を見てびっくり.7474とかオペアンプとか,電子工作やってるなら誰でも使ったことがあるような部品でできている.コネクタやセンサーまで含めて,殆どの部品がその辺で買えるものばかり.
裏面は,すっきりしていて,CPUと電源とモータ駆動用のHブリッジくらいしか見えない.大き目のFETのHブリッジが3つあるけど,真ん中の放熱板がついているのが掃除をする用で,左右のやつが駆動輪につながっていた.
もう少し高機能な部品を使った方が,部品数減ってサイズもコストも有利だと思うけど,いったいなんだろう.特殊な部品を使ってない回路なので,よく見れば意味が分かるけど,規模のわりに部品数が多くて追いかけにくい.
センサーからフレキシブルケーブルではなくて,リード線がたくさん伸びていた時点で違和感あったけど,なんかロボコンのロボットとかでありそうな作り.ルンバ自体かなりオープンな文化っぽいし,素人でも回路をいじって遊べるようにっていう配慮かなぁ.
午後,少し時間あったのでDevQuizやる.
スライドパズルに手を付けたけど,出かける時間になってしまったので,ノートPC持ったまま出かける.
集合場所に着いたが,誰もいない.携帯電話の電池も切れている.そして,特に確認せず出てきたら集合時間も間違っている….
普段はUSBの充電ケーブル持っているので,ノートPCから充電しようと思ったら,今日はたまたま持っていなかった….仕方ないので,コンビニに行って携帯を充電できるものを買う.
携帯電話を充電しようと思っていたら,連絡しようと思っていた人が目の前に.無駄な買い物をしてしまった.
というわけで,とうもろこしと肉とカキ氷を食べました.
食べながら,DevQuizのパズルを少し解く.
スコア分布を見ると100~110に人が集まってる.総当りで一瞬で解ける問題は意外と少なそうな感じか.
とりあえず,今の状態で数時間走らせておけば5000個中3000個くらい解けそうなところまでやった.とは言っても遅すぎるのと,解けないのがかなりあるのでもう少し直そう.
寝る前に,試しに2000個くらいまで解いて提出しておく.120.1点.
2プロセスで解いてたけど,こういうときもっとコア数多いマシン欲しくなりますね.
新宿.シャオツー会.
歯医者行って,洗濯とか掃除とかして,昼寝.
土曜日は毎週これで終わるな.
Goに良さげなYAMLライブラリが無いので,書き始めたのだけど,YAMLの文法って初めて調べたけど思ったより色々書ける….
あっという間に1週間おわった.
今日は家から出ない日.
Chromeが落ちるので,ソースダウンロードしてきてデバッグしたりしていた.
http://www.chromium.org/developers/how-tos/build-instructions-windows
ここ読むとWindowsでビルドできる.GYPでVisual Studioのプロジェクトファイルを生成できるので簡単…と思いきや,Visual C++ 2010 Expressだと色々足りなかった.まぁ,注意とかもちゃんと書いてあるのでよく読んでからやれば大丈夫なのだけど.
ATLが入っていなかったので,ChromeのためだけにWDK入れたり….そして,ビルド時にメモリ大量に食いますね.メモリ4GBでは足りない.
ChromeのIssue見たら,たぶん同じ原因のクラッシュレポートがあった.パッチ送るのが良いのかも知れないけど,開発体制とか良く知らないので,コメントに再現方法と原因の箇所を書いておく.
デバッグ中に別のところでも気になる箇所があったけど,時間があるときに.ブラウザが出すエラーページ周りの処理をチェックしたい気がする.
初めてコミケ行った.暑い.
もっと大変なのを覚悟して行ったけど,午後から参加してゆっくり回るなら大丈夫な感じだった.
いつもどおり昼に起きて,家出て,有明方面に向かう.何も調べずに何となく電車乗ったので微妙に遠回りしていた.新木場まで行って臨海線乗ったけど,豊洲からゆりかもめ乗るべきだった.
着いたのは13時半.なんかもう帰る感じの人で国際展示場駅は混んでいた.ビッグサイトも外からは何度か見てるけど,中に入るの初めて.
コミケ初めてだし,カタログすら持ってないのだけど,「2日目 東W-29a」みたいな謎の文字列を何度か見ていたので,知っている人は東の方に多そうだと,東へ.西は企業ブースらしい(?).東館も2つに分かれているという誤算もあったけど,雰囲気で東1の方へ.
主に電子工作とかゲームとかコンピュータ系(?)が集まってる場所を回る.電子工作系とかも結構あるんですね.色々見て回ってると,何かやりたくなってくる.
そして,会社の人とのエンカウント率高い.
まず星一開発セクションを見つけたけど,「革命言語 ぺちぱ @ マギカ」は残っていなかった.社内での再販に期待.その後おめがさんのところにshimobayashiがいたので一緒に回る.
特に買うもの無い予定だったけど,回ってると見覚えのある同人誌も結構あって,しかもすでに完売とかで,もう少し早く行けばよかったかもというのはあった.
帰ろうとしたら駅の混雑が凄いので月島までタクシーで.17時くらいに帰宅.
みんなお疲れ様でした.
ビッグサイト周辺でGoogle mapsアプリ開いたら,変な無線のSSIDを拾うせいか,アメリカにいたり,京都に行ったりしていた.というか,僕は自家用スペースシャトルとか持ってないので,あり得ないスピードで移動したら何かおかしいと判断して欲しい.
WiFiのアクセスポイント持ち歩いていると,住んでる場所がかなりの精度でばれてしまうと思うのだけど,プライバシー的には大丈夫なのかな.
Latitudeの履歴の管理が変わっている.
世の中は夏コミの季節か.コミケ行こうと思いつつ,行ったことがないので今年は行きたい.
月曜日です.
htmlやcssやjavascriptやrubyを書く日.
歯医者.昼寝.秋葉.
折ってしまった歯を治療中なのだけど,上から付けるやつを,保険効くやつでやるか,もっと良いやつで直すか聞かれた.高いやつで,10万くらいらしい.ちょっと高いなぁ.
少し昼寝して秋葉原へ.Gazyuが先にヨドバシにいたので,eldeshを待つ.うなぎ食べる.メモリ買ったり.ルノアールでeldeshが買ったXperia Acroを色々いじる.
eldeshに転職を薦めてるのだけどなかなか説得に応じてくれない.何が不満なのか理解に苦しむ.
Goのリフレクション周り,また変わってる気がする.型の判定はKindでするようになったのか.
品川.もつ鍋.
Android Marketのデベロッパコンソールデザイン変わったなと思ったら,複数のapkを同時に有効にできるようになったのか.対応機種ごとに違うapkをダウンロードさせたりできそう.
ニコニコPlayer(仮)をアップデート.
User-AgentにAndroidという文字列が入っているせいで,リダイレクトされてしまっていた.スマートフォン用のHTMLの方が軽そうだったので,検索結果のスクレイピング処理のほうを変える.
アプリでスクレイピングせずに,サーバ用意してそっちでやったほうが,アップデートも楽だし効率よいのだけど,非公式な変なサーバを立てると色々面倒そうだしなぁ.
というわけで,ニコニコ動画のサイトの方もAndroid対応になったみたいなので,このアプリの需要も減って行くはず.
このサイトを動かしてる怪しげなCMSをGoに移植できればいいなぁ.
いくつか試してみたのだけど,
https://github.com/Philio/GoMySQL
これが一番良さそうだった.
UNIXドメインソケットにも対応しているので,ローカルのMySQLにつなぐときは効率よさそう.
goinstall github.com/Philio/GoMySQL
goinstallで簡単にインストール.
package main import "fmt" import mysql "github.com/Philio/GoMySQL" func main() { db, err := mysql.DialUnix(mysql.DEFAULT_SOCKET, "hoge", "hogepw", "hogedb") if err != nil { fmt.Println("db error") return } db.Query("select * from user limit 10") r, _ := db.UseResult() for { row := r.FetchRow() if row == nil { break } fmt.Println(row) } db.Close(); }
Prepared Statementも使える.
セッション管理は標準で無いのかな.これも後でもう少し調べよう.
https://github.com/bpowers/seshcookie
こんなのあるけど,ちょっと実装怪しいような.