soutaroにっき このページをアンテナに追加

2012-02-06

String#succは、辞書順ではない

| 23:56 |

ぼけっとしてて気づいてなかった。

"999"の辞書順で次の文字列は、"999a"や"9990"であって、"1000"ではない。

["999", "1000"].max
 => "999"
["999", "999".succ].max
 => "999"

後者は直感的に変だと思うんだけど。

ひとまず、適当に辞書順になりそうな感じのメソッドを定義して逃げることに。


class String
  def succc
    case self[-1]
    when "9"
      self + "0"
    when "z"
      self + "a"
    when "Z"
      self + "A"
    else
      self.succ
    end
  end

  def nexxt
    self.succc
  end
end

cとxが一つずつ多い。

トラックバック - http://d.hatena.ne.jp/soutaro/20120206

2012-01-18

@kmizuがjoinしました

02:49 |

ちょっと前の話になるのですが、忙しくて記事にできていなかったので記事にします。

@kmizuがユビレジで働くことになりました。1月4日からです。そういうわけで、これからユビレジは全力でScalaに移行します。Good by Rails!!

ということにはならないのですけど。(理由は私がScala嫌いだから、ではないよ!)


なんかかっこいいことを書きたいのですが、良く考えたらかっこいいことを書くべきなのは、転職した人のほうだと思うようになったので、諦めます。ついでにどちらかと言うと「会社辞めました」エントリのほうが、「続けるか辞めるか」の選択肢が明白なので面白いんだけど。



これで、昨年9月にオープンした開発チームのオフィス、通称ユビハウスも4人。次に人が増えたら、私の席が無くなり、MacBook Air持って縁側で仕事することになります(雨の日は駅前のMac)。現時点では積極的に人を探すモードではないのですが、細々と募集はしておりますのでsoutaroを追い出したい人はふるってご応募ください

トラックバック - http://d.hatena.ne.jp/soutaro/20120118

2012-01-07

綺麗なプレゼン用スライドを作るときに使う写真を探す、1つのテクニック

03:33 |

写真素材を探すには、Googleの画像検索が便利です。

綺麗なプレゼン用スライドを作る、10のテクニック | Take it easy!  - mauekusa 's BLOG -

私は、内輪で使うスライドを作る場合はGoogle画像検索を使うことがありますが、そのスライドを見る人が多い場合、どういう人が見るのか仮定できない場合は、まず使いません。Google画像検索を使うのは、効率が悪いから。

Google画像検索では、その画像のライセンスを確認できませんし、特定のライセンスに限定して検索することもできません(多分)。正当にライセンスされていることを確信できない画像を、General Publicに向けたスライドに含めるのは安全とは遠すぎると思う。そうすると、一件一件画像のライセンスを確認しないといけないわけで、それはとても面倒くさい。


Flickrを使いましょう*1Flickrでは、Creative Commonsライセンスのものだけを検索できるようになっています。

f:id:soutaro:20120108032227p:image

Advanced Searchで、CCライセンスのもののみを表示するようにし、検索します。「Find content to modify, or build upon」も付けます。


ポイントは、次の2点。

  1. ライセンスされうる写真だけを検索できること
  2. ライセンスの内容がCreative Commonsという広く利用されているものであること

2点目についても効率の問題。「再利用OKです!クレジット不要です!」みたいな表明をしている人もいるけど、基本的にそういう素材は使用しないことにしている。本当にOKなのか、なんらかの付帯条件はないか、なにをすれば良いのか、いちいち確認するのが手間がかかりすぎる。CCならば、何をすれば良いのかは(厳密には微妙な気もするけど)、はっきりしているし、少なくとも一度確認すればその後ずっと同じ方法で良い。便利。

*1:もちろんFlickr以外にもいろいろとあると思います

トラックバック - http://d.hatena.ne.jp/soutaro/20120107

2012-01-04

公衆無線LANに接続して認証してない状態だと、インターネット接続はどうなってるか?

19:32 |

なんか、その辺が疑われる問題が報告されていたので、気になって近所のマックで試してみました。この場合はマックってマクドナルドのことだよ!

iPhoneで試すよ!

なんかmobile pointにwi-fi接続できた時点で、インターネットに繋がってしまいました……orz

実は、テストの前に一瞬、普通に認証してしまっていたので(Softbankのやつが自動で)、その結果が残っていたのか、そもそもiPhoneだと、なんか無料で使える権利が付いてきていたはずなので、そのせいで普通に繋がってしまうのかは不明です。あ、ちゃんとソフトバンクWi-Fiとかの設定してくれるプロファイルは削除してから試してます。

Macで試すよ!(この場合はMacっていうのはMacBook Airのことだよ!)

Webブラウザを開いてhttpでyahoo.co.jpとかにアクセスすると、認証画面が出てきます。

f:id:soutaro:20120104192647p:image

これこれ。なんかhttpのアクセスがあるとリダイレクトしてるんですかね。まあそうとしか思えないけど。そしてhttpsのページに飛ぶ。あと、なんか認証前からSkypeが繋がっている不思議。

さて、それでは、ここで認証しないでhttpsにアクセスしてみましょう。どうなる??

f:id:soutaro:20120104192645p:image

タイムアウトでしたー!

まあ道理ですね。良く考えてみたら、httpsで通信してるらしきことは、向こうのサーバしかわからないので、こうするしかないのか。無理矢理リダイレクトとかできるような気もするけど、そうすると警告が出るだろうから、知らない人をびっくりさせるよりはタイムアウトのがいくらかマシなのかも。


なんか私の知らないバグがどっかにあることがわかったよ!

トラックバック - http://d.hatena.ne.jp/soutaro/20120104

2011-12-22

Googleにも知らないことがあることを知った冬の夜

11:08 |

Googleはなんでも知っている。近所に新しくできたスーパーのことも知っていたし、美味しいお弁当やさんのことも知っていたし、苗場のことも知っていた。なんでも知っていると勝手に思い込んでいた。


iOS5ではNested Managed Object Contextという新機能が導入されました。iOSCore Dataの機能で、これまでは「スレッド間でデータを共有したかったら、ファイルに保存して他のやつで読み込んでね!(意訳)」だったのが、セーブしなくてもデータを共有できるようになったというもの。すごい便利。

ところが、こいつがちょっと直感的に動作しない。Core Dataでは、オブジェクトを保存するとIDが勝手に変更されるんだけど、Nested Managed Object Contextで作ったオブジェクトID更新されないことがあって困っていた(詳細は後で!)。Workaroundを考えていたんだけど、上手いのが見つからない状況があって、もうどうしようもなくて3日くらいひたすらに困っていた。

Google検索して、かなり虱潰しに調べたつもりなんだけど、見つからない。


結局、Appleの開発者フォーラムに書いてあった。要するにiOS5バグだったらしい。

ログインが必要なページは、Googleには探せない。


ちょっと泣きそうになりました。

トラックバック - http://d.hatena.ne.jp/soutaro/20111222