宗太郎なう

なんのきっかけだったか覚えてないのですが、ふとGoogleで「宗太郎」と検索したのが、3年くらい前だと思います。で、出てきたのが大分の宗太郎駅。まあこれは行くしかないでしょう。そうは言っても、九州行ったことないし、大分は遠いし。ずっと行きたいと思…

ユビレジのサーバを変更しました

なんかVirtuozzoのシステムが気に入らないので(曖昧な表現)、VPSの業者を変更しました。 事前に準備したこと 契約する メモリ、HDD容量、OSを合わせた仮想マシンを作った 必要なソフトウェアのインストールから設定、ユビレジの導入までやってみる 利用者に…

Rubyとか意味がわからない

assert_equal sales[:pcount], checkouts.inject(0) do |acc, checkout| if checkout.price >= 0 acc + 1 else acc end end これがエラーになって悩んだ。正しくは、 assert_equal sales[:pcount], (checkouts.inject(0) do |acc, checkout| if checkout.pri…

テストに関する戦略

こないだから、テスト不足で「ぎゃー」ってなることが多いので、なんとかしないといけない。こうすると良いよね♪みたいな話ではなくて、こうしたい、という決意表明的なもの。 昼食後の2時間をリファクタリング・テストタイムに使う 午前中、うまくいけば2時…

ユビレジあれ?カッコでくくらないとリンクされない?まあいいか。

はてなキーワードにユビレジを登録しました

これって自分の製品とか勝手に登録して良いもんなんでしょうか。ユビレジ←テスト「ビレ」になっちゃうのが不愉快だったので登録しました。

Paypalで支払いを受ける

ユビレジでPaypal支払いを受け付けるようにしました、という話。意外と簡単で、意外とめんどくさい。当初、支払いの受付は銀行振込のみでした。支払いを受けるシステムを作るのがめんどくさいというのが、その理由。いきなり爆発的に利用者が増えるというの…

Mail gemでメールを転送する

お客さんとメールしているうちに、なんかわけわかんなくなっちゃうことが頻発したので、なんとかしたいと思ったというのが最初。普通に関係者全員CC付けておけば、とりあえずは見える状況になるはずなんだけど、わざわざCCを抜いて返信してくるお客さんとか…

地震

幸いなことに、公私ともに特に大きな被害を受けることなく過ごしています。遅くなりましたが、もしかしてはてなしか見てない友人・知人いるかもしれないので。

37signalsのBasecampを使っています

弊社ではプロジェクト管理用にBasecampを使っています。DHHで有名な37signalsの製品ですね。良くできていると思うのですが、一つだけ問題があって、 メッセージをメールで投稿すると日本語が変になる という致命的なもの。メッセージというのは、BBS的なもの…

HIMA' #5に行ってきたよ

HIMA' #5: 型推論 - PARTAKEHaskellが全然読めなくてちょっと面白かったです。いくつか説明が抜けてたような気がしたので、勝手に補足。 多相型の定義 普通、MLとかHaskellとかでは、ネストした多相型は推論されません*1。 ∀α . α → αはOKですが、 ∀α. (∀β. …

UIViewControllerの罠

iOS

最近ちょっとはまった罠を二つ。 deallocでautoreleaseすると変なところでBAD_ACCESSがでる deallocでアウトレットなViewにnilを代入するとか、やらないといけないことになってるわけですが、これやると微妙な感じになることがあります。 -(void) dealloc { …

iPhoneのアラーム

昨年、「サマータイム切り替えの時期にiPhoneがアラーム鳴らなくて、遅刻者続出」というニュースを見たときには、んなアホな……とか思ってましたが、ばっちりやられました。http://www.cnn.co.jp/business/30001395.html1日2日は、あれ?鳴ったのかな?鳴らない…

年末なのでまとめ

去年はもしかして書いてないのか。まあ、学位論文書きながら、ニートになる可能性について真剣に検討してたしなぁ。 今年あったこと。 修了しました→大学を離れました 就職しました→取締役になりました RubyKaigiで当日スタッフをやりました iOSプログラミン…

GCD!

GCDをやっと使ってみたよ!ブロックを受け取って、HTTPのリクエストが完了したときに起動するやつを書いてみた。 @implementation NSURLConnection (AsyncRequestWithContinuation) +(void) sendAsynchronousRequestWithContinuation:(NSURLRequest*)request …

こないだcontraについて考えたおかげで、ProsとConsのどっちがどっちか迷うことがなくなった

ContraのConですね。

Arelでorってどうやって書くん?

Arelで楽しくSQL書いてたんだけど、ちょっと困ったことがあった。orできない。andは簡単なんですよ。 scope :hoge, where(...) scope :huga, where(...) scope :hoge_and_huga, hoge.huga でできるはず。できなかったとしても、where繋げるだけだし。ここま…

Rails3

いろいろ。 rails runner filename toolsとかディレクトリを作って、そこにいろいろスクリプトを入れてます。DBの初期データとか入れるやつとか。(どこに入れるのが良いんでしょうか?)で、toolsディレクトリで$ rails runner ./import-something.rbとかやる…

Varianceのはなし

http://togetter.com/li/66412Variant、in-variant、co-variant、contra-variant。なんだろう、単語のイメージについてわかると良いのかな。Variantが変化するやつ。CS業界では「loop variant」みたいな言葉があります(ホーア論理)。VariableとかVariationと…

動画を作ってみました

ユビレジの紹介ビデオを作ってみました。いろいろと今一つな点もたくさんあるんだけど、とりあえず公開しました。今一つでも、公開しないよりはマシでしょう。 機材とかソフトとか 機材とかの説明をしたいと思います。まず動かせないものから。動画の編集に…

こんぴゅーた

いつも思ってること。 なんか変なことが起きたら、それはユーザーじゃなくてコンピュータが悪い なんか思った通りに動かないとか、ちょっとめんどくさいとか、意味わかんないとか、そういう風に思うことがあったら、それは5割方コンピュータが悪いです。その…

いざべる!!

定理証明系(関数型言語でプログラムを書くと、そのプログラムについてなんかの性質を証明できるよ!証明が正しいかどうかはコンピュータがチェックしてくれるよ!証明は大変だけど、多少はコンピュータが手伝ってくれるよ!)だと、国内ではCoqとかAgdaとかが流…

gitの使い方

少しはgitに慣れてきたと思うので、使い方を書こうと思う。うまく行ってることとか、失敗したなぁと思ってることとか。今、念頭に置いているのは、ユビレジ。サーバサイドとクライアントサイドで別れてて、サーバはRails、クライアントは普通にXcodeとかで書…

Migrationの限界

Railsで一番気に入ってるのはMigrationの機能なんですが、こないだうまくいかないのを経験したという話。モデルをいろいろ書き換えてる。DBの構造も変えるので、Migrationもできていく。で、一段落ついたところで、デプロイすることにしようとする。→うまく…

選挙

ちょっと前に、参議院選挙のはがきが来てました。 つくば市から。 ええー。吾妻中学校って、遠いよ!けっこう遠いよ!!というか、意味わかんないんですけど。ちゃんと住民票は移してあるし、そもそも藤沢の住所に届いてるし。選挙に関する住所って、どういうタ…

NSArrayにretainさせない方法

delegateというかObserverというかListenerというか、そういうオブジェクトって、たいがいにおいて循環参照になりがちだ。通知してもらうオブジェクトは操作するオブジェクトを保持してることが多く、操作されるオブジェクトは通知する対象を保持しなくては…

final

まあなんかネットワークにアクセスするコードがあった。ネットワークアクセスは同期になってしまうので、待たなくちゃいけなくて、待ちたくないのでスレッドプールだったかを使う。 void accessNetwork() { if (handler == null) { handler = new requestHan…

ActiveRecordはtypeっていうcolumnがあると発狂する

さっきまで2時間くらい悩んでました。発狂っていうか NoMethodError: undefined method `empty?' for 0:Fixnumとか言い出します。いやいや、なんでFixnumにempty?とか聞くの??犯人はtypeっていうcolumnでした。typeは、Single Table Inheritanceに使われるん…

ちょっとなんとかならんのか

開発に必要なもの: Rails(サーバ:DBはSQLite) HyperEstraier(全文検索) プロキシ(携帯からテストするため) で、 $ script/serverして、 $ estmaster start tmp/heして、 $ ssh -R ....しないといけない。この時点でターミナルのタブが3つ。ここからさらに…

Evernote

今、私がいつも使ってる計算機が3台で、Windows、Mac、Macなんですけど、Mac2台はノート型なので、いちいち付けたり外したりが面倒で、WindowsのにScanSnapをつないでます。で、正直Windowsで仕事とかする気になれないので、だらだらWebを見るか、動画見るか…