サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
blog.sorah.jp
HashiCorp's Packer is a useful tool to build some VM images for multiple platforms and softwares. Using builders like virtualbox-iso allows building images from scratch; installing systems into empty disk. It supports AWS EC2 AMI, but it doesn't allow building from scratch straightly. So I've discovered the following 2 ways to build AMI from scratch using packer: Plan A: use customized builder ama
Fluentd has monitor_agent plugin to expose its plugin status (buffer, queue, etc) via HTTP API: http://docs.fluentd.org/articles/monitoring <source> type monitor_agent bind 127.0.0.1 port 24220 </source> By using this you can monitor fluentd buffer information with Zabbix user-defined discovery. #!/usr/local/bin/ruby require 'json' require 'open-uri' PLUGINS_URL = "http://localhost:24220/api/plugi
Class Variables and Instance Variables on Class, in Ruby Do you know problems around class variables in Ruby? Class variable You can declare class variables by using @@ for prefix of variable name, for instance: @@foo. Problem But, class variables can easily overwrite by subclasses. This is based on Ruby specification; class variables can be shared on its subclass. Class variables are similar with
Updated (Feb 13, 2014): Fixed my poor English. And note that I hadn't encountered problem around my global rbenv installation for a year. When we want to have ruby in a server, sometime we can't use the system's package manager. Because package managers (in almost distros) serve older Ruby. Plus, they may have weird complex rubygems integration. So the following are my ideas to get Ruby in your se
そらはーです! RSpec で pending 使ってテストを一時的に無効化した事ある方は大勢いらっしゃるんじゃないでしょうか! なんらかの事情で一時的に pending せざるを得ない状況ならともかく、pending したなら責任をもって該当のテストを治すか、そもそも不要なら消すなどといった対処をしてもらいたいものですね! でも、実際来週までには!とか言っても放置する人間や、そもそも直さず1年,2年以上放置される事もしばしばあるのが現実です……… pending を放置する事によって、実はそれは(他の人にとって)かなり重要なテストで、そんなテストがpendingされてる訳ないと思った、他のメンバーによる変更で実はそのテストがコケて事故っていたという可能性も存在するわけです。 重要なテストをAさんが pending する (「テストは追って修正する」みたいな感じで) 比較的大きめの変更を
札幌Ruby会議2012に参加してきました。スピーカー && 偽スタッフとして。 当然のように凄い楽しかったし、(わたしはお金払ってないけど) やっぱりスタッフの方々 がんばりすぎな気がした。お疲れ様でした、楽しませて頂きました。 初めての札幌で、しかもまさかカンファレンスで来る事になるとは思ってませんでした。 札幌、またきたいですね。居心地良い! ちなみに、写真はここにあります: http://www.flickr.com/photos/sora_h/sets/72157631550173713/ 今回はなんと400枚くらい。 金曜日の午前に10kmほど札幌を練り歩いた観光写真はこちら: http://www.flickr.com/photos/sora_h/sets/72157631551488300/ しかし、まさか tenderlove, miyagawa, matz とかと北海道
Nexus 7がきました。かわいい。 サイズ的にも重量的にもちょうど良くて良い感じ。iPad に比べて物足りない感じはあるけど、使いやすい。 iPad もこのサイズでバリエーション持っていいと思うんだけど、開発者としてはリソースが増えると対応が面倒なのでやめて欲しい。 あと、Wi-Fi only の device のくせに地味に GPS が搭載されていてよかった。一番良いと思ったポイント。 /system/etc/gps.conf を調整したほうがいいかなー、どうだろ。 ホーム こんな感じになりました。わりとふつう。背景はこれ やった事 日本語のフォントが汚い! adb backup -apk -shared -all (うろ覚え) で途中まで設定した物とアプリをバックアップ fastboot oem unlock 後 Clockworkmod を fastboot boot でブートして
https://gist.github.com/3683181 無理っぽいのでこういうhackをするしかない。 Eventのinvoke周りは node.js 由来の EventEmitter を使っていて、その emit メソッドをラップして、本物のemitを実際に渡された引数で渡した後、別のeventとしてemitに飛んできた引数をargsとして渡しているだけ。 EventEmitter の emit は $emit に姿を変えていた しかし socket.io がドキュメント無いのは驚いた。こういう知名度があって便利なライブラリ、わりとドキュメント無いのが多い。ドキュメントが、無い。人のこと言えないけど。 小さいコードなら今回のように自分で読んで解決できるけど、Rails のように巨大なライブラリがドキュメントなかったら絶望(デデドン) だと思う。 利用例 こんなふうに使います。 p
Raspberry Pi が届きました。後で Gentoo を入れますが、とりあえず Shairport 入れて Airplay 経由で音を流してみたりしてみます。 https://github.com/albertz/shairport とりあえず流そうと思ったんですが、iOS 6 と相性が悪いので Pull #152 のパッチを当ててある。 これで繋がるようになったけど、たまに hairtunes が SEGV します。 あと、HDMI でモニタ繋いでて音が raspberry pi 側のジャックから出ない場合は R-Pi_Troubleshooting にあるように $ sudo amixer cset numid=3 1 # Raspberry Pi 内蔵の端子に流す $ sudo amixer cset numid=3 2 # HDMI に流す と指定可能なようです。設定値保存さ
リモートデスクトップ (Remote Desktop Connection) 経由で iTunes を使った時に iTunes が CD を認識してくれなくて CD をインポートできない、という現象。 (当然接続先のマシンの CD ドライブに入れてる) twitter で聞いたらセキュリティポリシーがあるらしい。有効にしたらちゃんと CD を認識してくれた。やったー @sora_h セキュリティポリシーで禁止になっているのだと思います。これの手順(すべてのリムーバブル記憶域:リモート セッションでの直接アクセスを許可する)はどうでしょうか? windows.microsoft.com/ja-JP/windows7… — ysk-noh (@egtra) July 29, 2012 http://windows.microsoft.com/ja-JP/windows7/Burn-a-CD-o
そのためブックマークを公開設定にしていても、非公開扱いになっていた。 問い合わせたら「誤判定みたいです!」とだけ来て、「フムーン」と思ったけどその後 (今さっき) 追加の連絡が来て、こういう事らしい: メインアカウントとサブアカウント (id:sora_h) で同じ内容でブックマークしているため。 さて、意図的にメインアカウントとサブアカウントで同じ内容をブックマークした覚えはないんだが、設定見なおしてみたらこういう事っぽかった: メインアカウントは twitter @sora_h に紐付けられている あわせて、URL を tweet するとそれをブックマークする連携機能が有効化されている サブアカウント (id:sora_h; 現在使っている事実上のメインアカウント) でも twitter @sora_h に紐付けられてる id:sora_h でブックマークすると twitter 連携機
まさかの献本ありがとうございます。 (何も関与していない) 買おうと思っていたらオライリーの人から「あれっ 届いていませんか?」と twitter で言われてびっくりした。 で今さっき読了したのですが、内容的には濃い技術的内容ではなくサラッと読めるし「教訓集」になってて超良い。 コーディング規約とは違い、「何故」が含まれていてとても良い! コードレビューで斧がよく飛んでくる人も飛んでこない人も読んでおくべき本だと思いました。 リード リーダブルコード!!! ちなみに、Kindle 版は 15 USD 程度 (Oreilly.com の ebook だと 27 USD) で手に入るっぽいです。日本語版の ebook まだ無し。Kindle 版だと DRM ついてるけど安いから Kindle 版でもいいかも。 Cloud Reader とかあるし。 途中で Boost のステマが流れてきたのが
新しい MacBook Air が届いたので、移行アシスタントを使わずに環境構築したメモ。 ただし、手抜きなのでアプリケーション設定とか dotfiles や homebrew, rbenv はそのままコピーして持ってくる。 バックアップについての詳細は過去の OS X Lion 再インストール記事 を見てください。 起動 Lion からはかっこいいムービーはなくなりましたぽよ… ことえりは選ばずに U.S. を選ぶ。無駄なゴミ設定ファイルを作らなくてすむ(らしい) 適当にユーザー作成してログインするところまで システムの設定 FileVault 2 System Preferences を開いて Security をえらぶ FileVault のタブを開いて、左下の南京錠アイコンを押して認証したあとに FileVault 2 を有効化する / ごと暗号化されました! Trackpad ペ
Ivy Bridge 搭載 MacBook Air 届きました。職場のマシンが Core i7 で、今まで使っていた MacBook Air (Late 2010) が Core 2 Duo でストレスフルだったのでカッとなった。 スペック MacBook Air 13-inch (Mid 2012) 2.0GHzデュアルコアIntel Core i7(Turbo Boost使用時最大3.2GHz) 8GB 1,600MHz DDR3L SDRAM 256GBのフラッシュストレージ バックライトキーボード (US) + 製品マニュアル ファーストインプレッション MagSafe 2 な AC アダプタについてきた、長い方のケーブルのプラグ部分からアース線がなくなっていた。そして形がスマートになって、ヘコみがなくなりましたね。 MagSafe 2 側はこんな感じ。 とりあえず軽く使って見てい
(昨日 の続きです) 最終的に 2507 点、13 チーム中 4 位で終わりました。やったね! 開始直後 2 位から、徹夜で問題を持ち帰っていじっていた連中が一気に通していった所為で 7 位に転落して諦めていたけど、なんだかんだ最終的に 4 位まで戻れた。 (うちのチームは家等で問題の続きをやったりは全くしなかった) 自力で解いた問題 "newcomer architecture" (400, バイナリ) ファイルは軽量 Ruby こと mruby の中で使われてる VM, RiteVM のバイトコード, RiteBinary (mrb) ファイル。 mruby を取ってきてビルドしたが、当時の HEAD だと OS X でビルドが通らなかった。Linux でも malloc 周りでいろいろ問題が出てたっぽいですね。OS X でビルドが通らなかったのは、ちょっとHEAD を巻き戻して解決。
MacBook Air が他者の影響により机から滑り落ちる MBA の上の HHKB も同じく滑り落ちる HHKB 側に刺さっていた USB miniB プラグが MBA の液晶に衝突 上記画像の通り といた問題は 3つ。 練習問題 Web 系の問題 (300 点, 一番乗り) バイナリ系の問題 (400 点, 一番乗り) うちのチーム (IMOCAN) は 1007 点で 1 日目終了時点で 2 位。終了直前に 0 点から一気に 1100 点になったチームが居て怖いですね。 明日が終わったらには最下位になってそうだな。 Web 系の知識ないのに 300 点一番乗りで解けたし、答え分かっちゃうと拍子抜けする。しょうもないミスで 30 分くらい使ってたし。 (煽るつもりはないです) (2日目の記事 に続く)
http://mizage.com/divvy/ @r7kamura 氏が言及していたので調べて導入したのだけど、これは便利すぎる。 何をするソフトウェアかと言うと、ディスプレイをタイルに分割して、ウィンドウをタイル(範囲)にピシッとリサイズ・移動するという簡単な物。もちろん何分割するかは縦横それぞれ決められる。 任意の範囲に対してショートカットを割り当てる事もできて、もちろん Divvy の呼び出しにもグローバルなホットキーを指定できる。たとえば画面の左半分を H キーに割り当てておけば、ホットキーを叩いた後 H を叩けば左半分に画面がリサイズ・移動してくれる。左右にウィンドウを綺麗に楽におけて便利。 あとはオプションで toggle なんたら、を有効にしておけば、同じショートカットをもう一度叩けばサブスクリーンに移動してくれる。サブディスプレイ繋ぎ直した時にキーボードだけでウィンドウを
Sinatra::Base + Thin doesn't show request path and response time. You can show response time by writing this class and modifying your run line in your config.ru 日本語 Sinatra と Thin 使うと、レスポンスタイム出してくれないから、Rack の run に渡すクラスに、一つオブジェクトを挟めてレスポンス返すまでの秒数を計測するクラスを書いた。 config.ru に Stats クラスを書き込んで、run の行をちょっといじれば表示してくれます。
play に対抗する物を作っていて、同じように iTunes DJ を使おうとして play 氏がどうやって iTunes DJ に次の曲として指定してるのか みたら、Add to queue で次の曲ではなくキューの最後に追加するだけ、という仕様で全く参考にならなかった。 自分は単純にボタンを押したら次に再生されるようにしたかったので、頑張って次の曲に追加するスクリプトを rb-appscript 使って書いた。 iTunes の Applescript インターフェース、プレイリストに曲を追加するのは末尾に追加しかできなくて、要するに以下の手順を踏まないと間に曲を差し込むことができない: 末尾に追加したい曲を入れる: [曲1, 曲2, 曲3, 追加したい曲] 末尾に既存の曲を入れる: [曲1, 曲2, 曲3, 追加したい曲, 曲1*, 曲2*, 曲3*] 先頭にある既存の曲を消す: [
Android には NDK (Native Development Tools) がある。要するに C とか C++ でちょっと高速なアプリケーションを書いたりできるらしい。まぁ、察せるとおりクロスコンパイラが入っている。 Android で動くバイナリとかを吐く一番速い手段がたぶんコレ。 OS X だと homebrew を使って $ brew install android-ndk のようにしてインストールする事ができる。 homebrew だと brew --cellar android-ndk で表示されるディレクトリの下にバージョン名のディレクトリがあり、その下の toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin とかに gcc が転がっている。 が、これを普通に叩いてもちゃんと動いてくれない。インクル
android-ndk を standalone に使えるようにした のはこのためなのだけれど、 mruby (a.k.a. RiteVM, 軽量 Ruby) を動かせるかと思ってセットアップした。結果的には普通に動きました。 ただ、ビルドするときに mrbc をホストで実行できる必要があるみたいなので、ちょっと弄った。 make-standalone-toolchain.sh で作られた gcc 等 に PATH が通ってる事を前提として、以下の手順でビルドできました: $ git clone https://github.com/mruby/mruby.git $ cd mruby $ make $ cp bin/mrbc . $ make clean && rm **/*.o $ make CC=arm-linux-androideabi-gcc LL=arm-linux-andro
Ruby をはじめるきっかけは覚えていないのだけれど、最初にどういうチュートリアルを見たかは内容と ruby-lang.org からリンクが貼られていた、という事しか覚えてなく、そして今それがリンク切れしていて名前が長年分からなかったのだけれど、最近思い出すきっかけがあったので今度は忘れないようにメモ。 で、何を使ったかというと、Learn To Program の日本語訳です。今は日本語訳リンク切れしてますね… これは「はじめてのプログラミング」という意味ですが割とちょっとプログラミングかじってても良いチュートリアルだと思います。 オブジェクト指向便利ーみたいな事おもってました。 (あれ、当時 PHP 使ってたぞ???) 日本語訳はオライリーから出てますね。
比較 ↑ DRC-BT15P もともと自分が持っていたのは DRC-BT15P で、これと比較すると USB で充電できるようになった バッテリーが 4 時間くらいから 7 時間くらい持つようになった (そのかわり一回り大きくなった) クリップが大きくなって取り外し不可になりクリップの信頼性が向上 ジョグスイッチが DRC-BT15P に比べ現行モデルのほうが飛び出て大きいので、メッセンジャーバッグをおろしたりする時や電車の中でぶつかると曲が送られたりする マルチポイントに対応し、ヘッドセットプロファイルと A2DP 等の音楽再生のプロファイルそれぞれ 1 つずつ、同時接続できるようになった という感じ。 全体的にとても良い買い物だと思う。 職場でもマシンから音楽を飛ばすのに使っていて、その時にちょっと飲み物を飲みに行こうとすると距離の所為かさすがに音声が途切れ途切れになる。いずれにせよケ
sorah@americano /tmp $ nohup echo hi appending output to nohup.out sorah@americano /tmp $ cat nohup.out nohup: can't detach from console: Undefined error: 0 OS X 上の tmux で nohup を叩いても期待通りに動いてくれない。 OS X 上でしか再現しなかったので、pbpaste とか pbcopy が動かないのと同じ 原因と仮定して、tmux-MacOSX-pasteboard を設定したら動くようになりました。 めでたしめでたし。
自分の開発環境等についてまとめておきます。あまりすごくない。 目次 エディタ シェル ホームディレクトリの構造 アプリケーション類 構築方法 ふろく github - sorah/config に sorah の使っている dotfiles などが置いてあります。 エディタ Vim を使っています。OS X だと MacVim. プラグイン NeoBundle.vim を使って管理しています。 .vimrc を見ると、主に以下のプラグインを使っているようです。 全部書くのは面倒なので一部だけ。 metarw-simplenote.vim - Simplenote を metarw インターフェースで読み書きするプラグイン (拙作) rails.vim - Vim is forever. Rails 周りの補助。 sudo.vim - sudo でファイルを保存したり読み込んだり。 quic
Schwarze SQ: 短縮URLを展開するRubyスクリプトを作ってみた HTTPを直打ちしてLocationヘッダの内容を取得してるだけなので、ものすごく単純な上にウィルス感染の心配も無し いやいやいや、それはないわ。 Net::HTTP#head つかいなさいよ。GETメソッドなんてつかうんじゃない。なにをいってるんだおまえは。 ruby -rnet/http -ruri -e"uri = URI.parse(ARGV.shift);Net::HTTP.start(uri.host,uri.port){|io| r=io.head(uri.path); p r['Location'] || uri.to_s}" http://j.mp/dankogai ちゃんとかくとこうなります require 'net/http' require 'uri' def expand_url(url
(English is at the last) クックパッド株式会社 にアルバイトとして入社して、初出社してきました! 昨日書いた「就職します」記事 は社名の部分の UTF-8 バイト列だけピンポイントにおかしくなっていました。ごめんなさい! でもコードポイントが 0x7000 ズレているだけだからいいよね! もともときっかけとしては、 クックパッド楽しそうで,周りの話を聞く限り良い会社だなーと思っている.是非働きたい…可能なら. — そらはー (@sora\_h) October 8, 2011 @sora_h 突然のリプライ失礼します、クックパッドの井原と申します。お休みの期間等ででも、試されますか? — Masahiro Ihara (@ihara2525) October 8, 2011 こんな事に。 この後話を進ませてもらって何度か足を運びアルバイトとして週 3 日、朝から夕方
Shota Fukumori (sora_h)'s blog about Ruby, Gentoo, etc. 4/2 からꂯꃃꂯꃑꃃꃉ株式会社で働きます。 (ただしアルバイト) 初出社日は 4/2 ですが、 記憶によれば入社は 4/1 付だったのでもう「入社しました」でも良いのかもしれませんが、 とりあえず記憶が曖昧なので「働きます」とだけ書いておきます。 ꂯꃃꂯꃑꃃꃉ株式会社はとても良い職場だと思います。楽しく働けるといいですね。 会社の窓から見える景色が割と良いです。自然的な感じ! また本日 4/1 付で「中学生」では無くなりました。このため価値がほとんどなくなりますが、今後ともよろしくお願いします。 ちなみに宇都宮という国外から通います。引越し等はありません。 ꃢꂷ ꂫꂤꂷꃣꃡꂤ ꂬ ꃨꃡꃆꂷꃞꃃꂿꃈꂷꃆꃢ ꂷꂬꃄꃕꃄꂫ ꃞꃇ ꂳꂦꃒꃧꂦ ꃏ ꃒꂫꂨꃆꃍ !!!
次のページ
このページを最初にブックマークしてみませんか?
『blog.sorah.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く