東アジアの文字幅を取るeastasianwidthを以前npmに上げましたが、やっぱり怖話で使えそうなので文字列の幅を数字で取るメソッドを追加しました。(半角は1、全角は2みたいに)
javascriptで東アジアの文字幅を取得する - komagata

Ambiguous(曖昧)も含めて東アジアの文字列を考慮した感じで取ります。色んな環境で画面が崩れるようなのでもちゃんと取れるはず。
なんでこんなのが必要なのかというと、要は文字の折り返しを自前で実装するときに、monospaceのフォントで全角分幅を取るのか、半角分幅を取るのかを厳密にわかる必要があるからです。
komagata/eastasianwidth · GitHub
npmで作りましたが結局railsで使うのでgemも作りました。
スマホのonclick遅い問題(代わりにtouchstart使う)用のライブラリ、fastclickが定番っぽいので勝手にfastclick-rails作っときました。デフォルトでこうなってほしい。
komagata/fastclick-rails · GitHub
使い方
# Gemfile:
gem 'fastclick-rails'
// app/assets/javascripts/application.js
// require fastclick
# app/assets/javascripts/foo.js.coffee
$ ->
new FastClick(document.body)
これでスマホの時は勝手にtouchstartになってくれます。300ms違うから体感的にもかなり違う。
今までは@hrysd謹製のcapistrano-lingrを使ってましたがEYCに移ったのでenginyard gemのdeploy hookを使います。
deploy
ディレクトリの下にフック名でrubyファイルを置くとそれが勝手に実行されるようになっています。
APP_ROOT/
deploy/
before_bundle.rb
after_bundle.rb
before_compile_assets.rb
after_compile_assets.rb
before_migrate.rb
after_migrate.rb
before_symlink.rb
after_symlink.rb
before_restart.rb
after_restart.rb
参照: Use Deploy Hooks : Engine Yard Developer Center
通知はいつでもいいのでafter_restart
にしてみました。
# Gemfile:
gem 'lingman', github: 'hrysd/lingman'
# deploy/after_restart.rb
# encoding: utf-8
require 'rubygems'
require 'bundler/setup'
require 'lingman'
Lingman::Updater.update(
"fjord_assistant", # BOT ID
"takoroom", # ROOM ID
"XXXXXXXXXXXXX", # SECRET
"#{app} を #{environment_name} にデプロイしました。"
)
deployスクリプトはPlain old ruby fileなのでrequire 'bundler/setup'
でbundleしたgemにパスを通してもらいます。
Lingrへの通知にはこれまた@hrysdのlingmanを使わせてもらいました。Lingr APIを網羅してないのでまだgemにしたくないようですが、githubから読み込んで使います。

これでイチイチ「怖話、本番環境にデプロイしましたー」とチャットに報告しなくてよくなりました。
4月に@hrysd、知の巨人、@foo9などのローカルインターンの方々が卒業されたのでまたローカルインターンをやってくれる方を募集します。
弊社(フィヨルド)のローカルインターンって何なの?という方はこちらをご覧ください。
こんな方におすすめ
- Webプログラマーになりたい方
- Webデザイナーになりたい方
- ニートなので時間がある方
- インターネット系ベンチャーで働きたい学生の方
- 休職・転職活動中の社会人の方
- railsでwebアプリが作れるようになりたい方
- Webサービスで起業したい方
弊社が求める人
- ネット大好き
- プログラミング/デザインが好き
- 霊が見える(not required)
- 寺生まれ(not required)
こんなインターン生は嫌だ
- 怖い話が大嫌いだ。
- Facebookの第一号社員だ。
- 指名手配がかかっている。
- 毎日欠かさずアム↑ウェイの勧誘をしてくる。
- 自称鳥の調教師
おすすめポイント
- Linuxでのサーバー構築とRailsでのWebアプリ開発ができるようになります。
- テスト駆動開発、継続的インテグレーション/デリバリ、Pull Requestベースの開発が体験できます。
- 僕(@komagata)と@machidaが全力で就職のお手伝いをします。
- お互いに金銭が発生せず、1週間交代なので嫌だったらすぐ辞めれます。(辞めたくならないように僕らは努力します。)
オフィス紹介
ローカルインターンをすることになったら来ることになる弊社オフィス(といってもただのマンションの一室です)を紹介します。


エンジニアの為に5席ある席の椅子は全部アーロンチェアです。

来客時に使うソファーです。



Team Dashboardで怖話のアクセス数、売上などの数字を常に表示しています。

ダッシュボードはEngine Yardの@yandoさんにいただいたEeePC(Ubuntu)で動いています。怖話もEngine Yard Cloudで動いています。

オフィスBGM流し用、動作確認用のiPhoneやAndroid端末があります。
また、エスプレッソマシンでいつでもエスプレッソやカプチーノが飲めます。

WEB+DB Pressは定期購読してるので買わなくていいです。

キッチンが喫煙所です。@machidaは仕事の合間にコーヒーを飲みながら一服するのが習慣だそうです。



トイレは図書スペースになっています。便器に座りすぎてよく足が痺れます。

古い漫画ばかりでヤバかったので新しいものを頑張って追加してます。

僕は自転車通勤ですが、もう止めるスペースがありません…。
今だけ!超豪華商品が当たる!
今回ローカルインターンに来ていただいた方にはなんと・・・

魔宝石を5個プレゼント致します!!
運次第ではレアガチャで神タイプも夢ではありません。
応募の仕方
応募はこちらのフォームからお願いします。ローカルインターンに関しては一度オフィスに来ていただいて、説明的なものをさせて頂きます。応募フォームのデザインは@monoookiさんが(頼んでないのに)やってくれました。これで募集率アップだ!
リモートインターンは人数制限なく募集しています。そちらも是非お願いします!
C-iだと物足りないので。
uncrustify
brewでCLI版のuncrustifyが入るけど、Xcodeプラグインとして提供されているBBUncrustifyPlugin-Xcodeが便利でした。
このプロジェクトをビルドするとプラグインディレクトリに自動で入るのがちょっと嬉しい。
XcodeのKey Bindingからは設定できないっぽいのでSystem PreferencesのKeyboard Shortcutsから設定しました。

捗るわあ。
$ ffmpeg -i YJSNPI.mp4 -vf scale=240:-1 -an -vsync 0 img%03d.png
$ mogrify -fuzz 40% -transparent blue *.png
$ convert -delay 3 -loop 0 -dispose background *.png RUNNING_YJSNPI.gif

前のコマが残像みたいに残るのはなんとかならないのかな。