ブログ引越しました

ちょっと前になるけど、引越しました。 新しいのはこちらです。 http://blog.physalis.net/引き続きよろしくおねがいします。

Scalala コンソール

Scalala (https://github.com/scalala/Scalala) をちょこっと使うのに便利なように scalala-console を用意しました。https://github.com/akr4/scalala-consolesbt の initialCommands で import しているだけですw たくさん import しないと使えないんです…

2.5 Evaluating the GroupLens data set

GroupLens (http://www.grouplens.org/) が提供しているデータセットを使ってみようの回。映画のリコメンデーションサイト MovieLens のデータが様々なサイズで提供されています。http://www.grouplens.org/node/73 今回はこのうち MovieLens 100k を使いま…

2.3 Evaluating a recommender/2.4 Evaluating precision and recall

今回は 2.3 Evaluating a recommender と 2.4 Evaluating precision and recall です。Recommender を評価するために Evaluator が用意されています。 ここで使うのは以下 3 種。 AverageAbsoluteDifferenceRecommenderEvaluator 予測と実際の値の差 (絶対値…

whitepaper-config: アプリケーション設定ツールキット

Scala アプリケーションの設定をサポートするツールキット whitepaper-config を作りました。 https://github.com/akr4/whitepaper/tree/develop/config 設定を Scala コードとして書いておくと、実行時に環境に応じた設定を選択します。 設定ファイルを外出…

try-catch-finally を scala.util.control.Exception で書いてみる

11 月 10 日に daimon.scala Scala School#1 に参加してきました。Scala School (http://twitter.github.com/scala_school/basics2.html) の Exceptions のところ、try-catch-finally を使う例に対して「優れたプログラミングスタイルの例ではありません。」…

MIA勉強会: ch02 RecommenderIntro

最初のプログラム例、2.2.2 Creating a recommender の RecommenderIntro クラスを動かしてみます。最近はなんでも Scala で書きたいので Scala で書き直します。まず sbt の設定。project/build.scala。ローカルリポジトリにインストールした mahout を参照…

MIA 勉強会: 開発環境構築

Mahout in Action の "1.4.1 Installing Mahout" には 0.5 をダウンロードしてきて IDE で開けって書いてあるけどよくわからないので本家サイトの方法を試します。Quickstart (https://cwiki.apache.org/confluence/display/MAHOUT/Quickstart)このページの …

MIA 勉強会

Mahout in Action 自習勉強会をはじめました。これからちょくちょく書いていく予定です。

Unfiltered on Heroku

Heroku で Scala がサポートされたので Unfiltered を動かしてみました。https://github.com/akr4/heroku-unfiltered package net.physalis.herokuunfiltered import unfiltered.request._ import unfiltered.response._ import unfiltered.netty._ import u…

github で dotfiles 管理はじめました

https://github.com/akr4/dotfiles整理しながら少しずつ追加していくつもりです。 rake install でシンボリックリンクを作ります。erb でメールアドレスなどを置換するようにしています。 こちらの方のを参考にして作りました。 https://github.com/ryanb/do…

コレクションの sliding()

sliding() はコレクションをウィンドウをずらしながら参照する Iterator を返します。 scala> (1 to 5).iterator.sliding(3).toList res19: List[Seq[Int]] = List(List(1, 2, 3), List(2, 3, 4), List(3, 4, 5))これの存在を最近知りました。 Daimon.scala …

コレクションの iterate()

コレクションクラスのコンパニオンオブジェクトに定義されている iterate が便利ですね〜 このエントリ[Scala][joda-time] 期間でループ - Secret Staircase on はてなで 1 日ごとの Stream を作りましたが、iterate 使えばもっとシンプルに書けます。 Strea…

logback-classic

ちゃんと理解していなかったので整理。ロギングフレームワークとして Logback を使うときは slf4j-api.jar logback-core.jar logback-classic.jar が必要。maven なら logback-classic だけ指定しておけば依存性が解決される。logback-classic の名前からわ…

[Java][JPA] JPA で大きなテーブルを走査する

JPA で行数の多いテーブルを select して getResultList() すると全部メモリに展開するので効率が良くないです。こういうとき、JDBC なら ResultSet をオープンしたままループしますし、S2JDBC なら iterate() 使いますね。ところが JPA には適切な方法がな…

Twitter API ポケットリファレンス

献本いただきました。 Twitter API ポケットリファレンスTwitter4J の作者 @yusukey による Twitter API のリファレンスです。 これだけのものがしかも日本語で読めるなんてありがたいですね。API リファレンスだけでなく、API を使う上で知っておくべき OAu…

[Scala][joda-time] 期間でループ

○月○日〜○月○日まで日毎にループしたい場合、Stream 使うと便利ですね。こういう前提で import org.scala_tools.time.Imports._ val start = new DateTime(2011, 1, 1, 0, 0, 0, 0) val end = new DateTime(2011, 1, 8, 0, 0, 0, 0) val interval = new Inte…

Twitter クライアント作者ミーティング Autumn ’09

Lists 大盛り上がりの昨今いかがお過ごしでしょうか。 こんばんは。来たる 11 月の中旬あたりで Twitter クライアント作者ミーティングを開きたいと考えています。API のことや開発の苦労話なんかをお酒など飲みながら話しませんか? とき: 11 月 20 日 (金) …

2008 年をふりかえる

ハックとネット系イベントを中心に 2008 年をふりかえります *1。 月別に 2008/01 夏ライオン : 0.4 から 0.18 まで。@yusukey と @bose999 にめちゃめちゃテストしてもらってた時期 java-ja 第伍.伍回 : 初 java-ja は個人宅への深夜の押し掛け Twitter 関…

今日の雪ライオン

Core Data で Tweet を保存しても起動していなかった部分の抜けをどうするとか、過去データのアーカイブをどうするとか考えなきゃいけないことが増えてしまう割に使い勝手の向上にはならないと思った。データは Twitter のサーバにありクライアントはそのビ…

Delete ボタンを付けてみた

選択した tweet を削除する。Delete ボタンのアクションを NSArrayController の remove: にするだけ。まあこの機能はいらないと思うからすぐ消します (^^; これでヒレガス本 8 章は終わり。

Core Data に移行した

保存できる必要があるかどうかわからないけど面白そうだったので Core Data 使うようにしてみた。 Core Data 化 名前空間 (というか prefix) の変更 共通クラスを PH 名前空間へ Twitter アクセスクラスを TW 名前空間へ あとは NL 名前空間 あまりにも変わ…

Xcode 使う場合のプロジェクトレイアウトってどうすればいいのかな?

デフォルトだとプロジェクトのルートディレクトリにソースファイルが作られるのでちらかってしまうんですよね。こんな感じでやろうと思ってるんだけど、English.lproj の置き場所とかどうしようかなあ。ベストプラクティスとかないんやろか? /src 作って全て…

雪ライオン#2 クラス図

現状をクラス図にまとめておきます。中心の AppController が tweets (NTLNMessage) がはいった NSMutableArray を持っていて、その内容が NSTableView のカラムに bind されています。Twitter からの取得は NTLNTwitter にメッセージを送ると非同期でコール…

Twitter クライアント作っています

Objective-C/Cocoa の勉強のために Twitter クライアントを作っています。ヒレガス本を読んでサンプル作るだけでは楽しくないので、いつまで続くかわかりませんが Twitter クライアントを育てていくことにしました。開発コード名は @lynmock (id:lynmock) 様…

Twitter の障害を早く直してもらうには?

最近また Twitter でトラブルが多発するようになりましたねー。僕が覚えてるだけでもここ 1 週間で下記の問題がありました。 2008/09/15 〜 継続中: 発言抜け 2008/09/17 〜 19: 未来日記 (created_at がおかしい) 2008/09/21: 自分しかいないタイムライン 2…

各国 Twitter クライアント事情

Twitter Analytics を立ち上げて 1 週間経ちました。今回は Twitter Analytics のデータを元にして国ごとのクライアントのシェアについて書きます。クライアント一覧はこちらです。(日ごとに表示が変わります) http://www.physalis.net/twitteranalytics/sou…

ヘビーユーザが多い日本の Twitter 界

Twitter の public_timeline からサンプリングを行い統計をとるサイト、Twitter Analytics を開発中です。まだ未完成ではあるのですがおもしろいことがわかってきました。そのうちの一つ、日本のヘビーユーザ度合を解説したいと思います。まず、このサイトで…

ミーティングしてきました

7 月 4 日、秋葉原で Twitter クライアント作者ミーティングを開催しました。総勢 25 人の方にお集りいただいて大変な盛況でした。(予約を 22 人でとってたので密度がひどかったですね。サーセンww)僕にとっては初めてお会いする方が多かったんだけどそこは …

はてな?

なんかはてな出た。バイナリの位置がわからない場合かな? これはこれでいい絵だと思った (^^