作ってる人のためのプロフィールサービス"MAKES THIS"にAPI作りました。jsonでプロフィール情報を返します。/profiles.jsで一覧、/名前/profile.jsで個別にって感じです。

API - MAKES THIS

MAKES THISはTHE SETUPのパクりです。THE SEUPみたいにインタービューに答える風で書いてみてください。

DataMappervalidationエラーのメッセージを国際化するdm-validations-i18nというgemを作りました。

komagata's dm-validations-i18n at master - GitHub

require 'rubygems'
require 'dm-core'
require 'dm-migrations'
require 'dm-validations'
require 'dm-validations-i18n'

DataMapper.setup(:default, 'sqlite::memory:')

class Employee
  include DataMapper::Resource
  property :id, Serial
  property :name, String
  validates_presence_of :name
end

DataMapper.auto_migrate!

# here!
DataMapper::Validations::I18n.localize! 'ja'

puts Employee.create.errors.first
Nameを入力してください。

gedoh

取り急ぎMAKES THISLokkaで必要だったのでスイマセン・・・。

言語ファイルさえあればen, ja以外もすぐ対応します。翻訳内容はgettext_activerecordからほぼお借りしました。

MemoryStick PRO Duo 16GB

最近、PSPでゲームのダウンロード購入をちょこちょこしてます。アーカイブスのゲームが2〜3本しか入らないので16GBのメモリースティックを買いました。

PSP買ったのが昔なので今まで使ってるのが何GBなのか忘れてましたが交換するとき見てびっくり。1GBしかなかったのか・・・。

# lib/tasks/cron.rake 
task :cron => :environment do
  ENV['days'] = '1'
  Rake::Task['redmine:send_reminders'].invoke
end

タスクを引数付きで実行する

rakeタスク内から。

Rake::Task['foo'].invoke('1', '2')

rakeコマンドから。

rake 'foo["1", "2"]'

こんなこと出来るんですね。普通はENV通して渡すと思います。

引数や標準入力から簡単にTweetするtというgemを作りました。

komagata's t at master - GitHub

インストール

$ gem install t

ターミナル

$ t Hello!
$ echo Hello! | t

Ruby

require 't'

t 'Hello!'

jugyoさんのgとかのパクリです。

xAuthとか使う人それぞれが申請とか面倒だし糞かったるくて仕方が無いのでOAuthでpit丸投げです。ローカルでcronでTweetすることが結構あったので。

gemを正規表現で検索したかったのはこれが見つけ辛いからです・・・。

% gem search ^t$ -r

*** REMOTE GEMS ***

t (0.1.0 ruby)

gemって正規表現で検索出来たんですね。

% gem search ^term- -r

*** REMOTE GEMS ***

term-ansicolor (1.0.5 ruby)
term-extractor (1.0.0 ruby)

知らんかった・・・。

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->show();
    return app.exec();
}
$ qmake -project

projectファイルを作成(helloqt.pro)。ここまではプラットフォーム非依存。

$ qmake -spec macx-g++

プラットフォーム依存のMakefileを作成。(オプション無しだとxcode用のファイルを作成)

$ make
$ open helloqt.app

helloqt

Tokyo Rubyist Meetupのキックオフパーリー(笑)に行ってきました。(@jishihaさんは身内に不幸があってのキャンセルです)

Tokyo Rubyist Meetupは@pwimさん主催の海外と日本のRubyistの交流を深めるためのコミュニティです。@jishihaさんに誘われると何処でもホイホイついて行ってしまうんですが、英語出来ないから"部屋の隅で一人でカナッペとかを食べる羽目"(via @yoshuki)になるであろう覚悟で行きました。

実際には@yoshukiさんに助けてもらったり、果敢に話しかけるも、殆どの人に「日本語でイイですよ」と情けをかけられたりして一人カナッペ状態にはなりませんでした。

当日、本当にMAKES THIS英語と日本語での自己紹介を書いておいてiPadに表示して持っていったんですが、全員英語で自己紹介タイムがあってマジで助かりました。でも片言でも英語で意思疎通出来るようにならないとなーと反省しました。

「汚いなさすが忍者きたない」(@ブロントさん)

参照:1時間でツイッターサービスを作ろう! | KRAY Inc

ということで実際にmyGengo使ってるとこレポート。

このページを英語訳するのにmyGengo使ってみました。

翻訳の依頼 | myGengo

まず、myGengoに登録して翻訳を依頼。元の言語と翻訳先の言語、翻訳レベルを選ぶ。ファイルの翻訳も出来るけどここはテキストで(ファイルの場合もテキストに書いてファイルはGoogleドキュメントとかにアップしてURLをコメント欄に書いても大丈夫)。値段は文字数に依るので英単語とか固有名詞とかは三重大カッコで囲えば翻訳者には見えるけど文字数カウントはされないので便利。このぐらいの分量で814円。推定時間3時間と書いてありますが、これは本当にこのぐらい。ちょっと他の作業してるともう出来てるって感覚です。

翻訳の依頼 | myGengo

足りるようにポイントをPayPalで購入。色んな会社にカード番号預けるよりPayPalの方が安心。

支払いの確認 - PayPal

PayPalは相変わらず本当に便利。ログインして今すぐ支払うボタン押すだけです。

翻訳の依頼 | 案件 No.58927 - レビュー可能 | myGengo

一時間もかからずに翻訳完了のメールが来た。この状態だと翻訳文は画像になっててコピペ出来なくなってるのにはヤラレタ。承認するとテキストになるのでアプリの言語ファイルにコピペして完了。(MAKES THISではsinatra-r18nを使ってます。簡単で便利!)

Twitterでも言ってるけど、発表スライドとかは文字数少ないので安い(直訳過ぎてイマイチという意見もアリ)。ツール的なモノも文字数少ないので安いと思います。

試しに数百円分試してみると良いと思います。一度使えばそれ以降、本当に気楽に翻訳出来ます。基本全て英訳することにして、自分が英語覚えないとどんどんmyGengoにお金を吸い取られるという勉強法とかどうでしょうか・・・。