たまにRubyforgeが落ちていてgem installする事ができなくなっている場合がありますが、そんな場合には以下のミラーサーバが利用できるかもしれません。

ローカルにダウンロードしてから sudo gem install します。

posted by Png genki on Sat 10 Oct 2009 at 20:03

Railsにおけるrestful_authenticationやMerbのビルトイン認証機構に比べると、Sinatraには「とりあえずこれを使っておけ」というような認証ライブラリが無いような気がします。強いて言えばRack::Auth::Basicかな。ちょっと機能不足のように感じます。 という事で、Sinatraで使える認証用ライブラリをリストアップ。

その他、関連する面白そうなもの。

posted by Png genki on Sat 10 Oct 2009 at 18:18

「天才エンジニア」でIT業界は変わらない

残念なことに、技術者がその技術だけで名前を上げることが出来るシステムは、世界中探してもない。つーか、世の中ってそんなものなのだ。

いまであれば、そんな事は無いと言えると思う。

ウィニー開発者に逆転無罪

金子勇さん、おめでとうございます。

技術だけで名を挙げるには、冒険家である必要があるのかもしれない。 本当に先鋭的で革新的な技術は、社会を不可逆的に大きく変更してしまうので、強い反発や抵抗もあるだろうから。

posted by Png genki on Fri 9 Oct 2009 at 02:15

今日はお知らせです。

投稿百景

movapic_100.png 投稿百景
携帯百景に簡単に写真を投稿できるiPhoneアプリ

App Store:
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=329808999&mt=8

プレスリリース:
http://ja.www.s21g.com/releases/12

いつも使わせてもらってる 携帯百景なんですが、専用の投稿アプリがあったらもっと楽しいのに...ということで運営会社の株式会社16Lens様との共同開発でリリースさせて頂きました。

共同開発は初めてだったのですが、アプリ名や罫線絵文字キーボード等のアイディアをkimzoさんから頂きとても楽しく仕事をさせてもらうことができました。kimzoさんありがとうございました!

スクリーンショット

movapic_UI1_60%.png keisen.png

携帯百景には、「罫線絵文字」なるものがあって、ハートマークや晴れなど(21種類)をタイトルに含めることが出来ます。投稿百景では、罫線絵文字キーボードを用意し、簡単に罫線絵文字を入力することができるようになっています(上写真の右側)。

発売を記念して、10月6日から10月19日までの2週間、115円で販売します。
(その後は230円での販売予定)
「投稿百景」を末永くよろしくお願い致します。

posted by Png satoko on Mon 5 Oct 2009 at 05:11 with 2 comments

お待たせいたしました。

アップデート申請が通り、本日よりiTunesストアにて地価2009バージョン1.1の配信が開始しました。

今回のアップデート内容は以下の通りです。

  • 土地取引データの増強と刷新
  • iPod touchに対応
  • 地価表示単位の切り替え(平米単価/坪単価)
  • Twitter投稿機能
  • UIの改善

土地取引データについては、従来の3倍に増強し、都市部以外での地価推定精度を向上させました。また、都市部での取引データについても新しい情報に更新しました(全体的に値下がり傾向となっています)

See Also

posted by Png genki on Fri 2 Oct 2009 at 23:42

FLTKをSnow Leopardでソースからインストールする方法をメモしておきます。

FLTK-1.1.9を本家からダウンロードしてきて、以下のconfigureオプションでmakeします。

   1  % ./configure CC=/Developer/usr/bin/gcc-4.0 CXX=/Developer/usr/bin/g++-4.0 CFLAGS="-arch i386 -arch ppc -mmacosx-version-min=10.4 -O3" CXXFLAGS="-arch i386 -arch ppc -mmacosx-version-min=10.4 -O3" --enable-threads --enable-localjpeg --enable-localzlib --enable-localpng --enable-quartz --enable-gl=no

x86_64はまだうまくいかないみたいですね。

See Also

posted by Png genki on Fri 2 Oct 2009 at 04:35

ちょっと前からGoogleDocsで数式が書けるようになりましたが、 これがGoogle Chart APIを使って実装されているようです。 しかもTeX記法。

以下のようなHTMLで、

   1  <img src="http://chart.apis.google.com/chart?cht=tx&amp;chs=1x0&amp;chf=bg,s,FFFFFF00&amp;chco=000000&amp;chl=f(x)%3D%5Cint_0%5E%7Bx%7Dg(t)%5C%2Cdt" />

こんな数式を埋め込む事ができます。

ちなみに下は拙作のFormulaによる数式。

See Also

posted by Png genki on Tue 29 Sep 2009 at 14:27

iPhoneのアプリを作っていると、様々なframeworkを使う場面に出くわします。その際に、色々なインストールの仕方があるようなので、メモしておきます。

via http://code.google.com/p/json-framework/wiki/InstallationInstructions#Option_1:_Copy_the_JSON_source_files_into_your_project

その前にメモ

  • 方法によってステップ3でJSON.hのimport方法が違います。
  • 方法3で、"Copy Files"フェーズができるのですが、DestinationがFrameworks、Products Directoryでどれがいいかよくわかってないです。Buildは通ってもエミュレータで動かないときとかあります。

方法1:ソースをプロジェクトにまるごとコピーする

  1. ソースが含まれているフォルダを追加したいプロジェクトのClassesグループにドロップ
  2. 'Copy items into destination group's folder' オプションをチェック
  3. コード内で #import "JSON.h"などと書いて使う

方法2:iPhoneカスタムSDKを使う

なんかあんまりないかなと思って割愛w

方法3:埋め込みフレームワークを使う

  1. ~/Library/Frameworksディレクトリを作成
  2. JSON.frameworkファイルを上で用意したディレクトリにコピーする
  3. "Add existing file"メニューを選んで、~/Library/Frameworks/JSON.frameworkファイルをアプリケーションに追加する
  4. ターゲットを選択、右クリックして"Add - New Build Phase - New Copy Files Build Phase"メニューを選択
  5. コード内で #import <JSON/JSON.h>などと書いて使う
posted by Png satoko on Mon 28 Sep 2009 at 07:05

BSON

最近流行のMongoDBの内部で使われているデータ形式。

posted by Png genki on Sun 27 Sep 2009 at 18:11

S-IDE では操作対象の要素を xpath で指定することができる。

例:xpathの明示
コマンド対象
clickxpath=//h2/a

対象要素を特定するこの機能は Element Locator と呼ばれ、 Selenium Core で提供されている。

   1  BrowserBot.prototype.findElement = function(locator, win) {
   2      var element = this.findElementOrNull(locator, win);
   3      if (element == null) throw new SeleniumError("Element " + locator + " not found");
   4      return element;
   5  }
(selenium-core-1.0.1/core/scripts/selenium-browserbot.js)

従って、S-IDE の対象指定以外での場所、 例えば自作関数内や getEval の中などで使いたい場合には、 上記の findElement を直接呼び出すとよい。

HP2703/2842
MP1413/1413

   1  function isHpFull(percent) {
   2    var path = '//tr[0]/td[1]';
   3    var hp   = selenium.browserbot.findElement(path).split('/');
   4    var hp1  = parseInt(hp[0]);
   5    var hp2  = parseInt(hp[1]);
   6    return ((hp1 * 100 / hp2) > percent);
   7  }

例:HPが90%以上ある場合は宿屋に入らない
コマンド対象
gotoIfisHpFull(90)skip_inn
clicklabel=宿屋
labelskip_inn

関連として、Selenium 環境ではない状態の Mozilla で xpath を扱うには、 document.evaluate が便利である。

   1  function xpath2text(path) {
   2    var result = document.evaluate(path, doc, null, 7, null);
   3    var item = result.snapshotItem(0);
   4    return item.innerHTML;
   5  }

参考

  • https://developer.mozilla.org/ja/Introduction_to_using_XPath_in_JavaScript
posted by Png maiha on Fri 25 Sep 2009 at 21:50