下林明正のブログ

個人的かつ雑多なブログです。

プログラミング

RSSフィードにguidを追加する簡単なサービスをつくった

LDRの終了に伴いFeedlyを利用していますが、Feedlyはどうやらxpathfeedやはてなアンテナが出力するようなguidが無いフィードをうまく取り扱ってくれないようなので困っていました。 簡単に探してみましたが問題を解決できそうなソフトウェアを見つけられなか…

ShadowPlay HighLightsで撮影したPUBGの動画を結合した

2017年なんだし動画の結合くらい簡単にできるやろと思っていたが、想像以上に厳しい状況だったので情報をまとめておく。 先ず、既存のソフトウェアで実現できないかいろいろ試してみたが、満足できるものはなかった。 AviUtl: 音ズレが改善できず VFR->CFRの…

Rails Girlsを終えた人たちへ向けて

railsgirls.com に講師のうちの一人として参加させていただきました。 受講者として参加された方々に向けて今後の参考になるような情報を提供できればと思ったので列挙したいと思います。 Rails Girls - Japaneseにあるチュートリアルの5番くらいまで終わら…

hubot-slackでbotの発言にも反応させる

robot.hearではなぜかbotの発言に反応しなかったのでどうすれば良いのか調べて対応した。 結論から書くと、 hubot_slack = require 'hubot-slack' robot.hear regex, callback robot.listeners.push new hubot_slack.SlackBotListener(robot, regex, callbac…

自宅の照明の制御を自動化した

廊下の電球を人感センサー付きのものに交換しました……だけだとおもしろくないので、以前の取り組みを拡張してMi-LightとAndroidを連携させてフロアライトの制御も自動化した。 内容としては、 起床すると点灯する 外出すると消灯する 帰宅すると点灯する 21…

寝相を録画してみた

自分がどんな寝相をしているのか気になりませんか?僕は気になったのでシステムを構築・運用しています。 ハードウェア構成は単純で、Raspberry Piに赤外線ウェブカメラをつなげただけです。 Raspberry Pi 2 Model B (1)出版社/メーカー: Raspberry Piメディ…

目覚まし時計とフロアライトを連動させたりしてみた

Mi-Lightをセットアップしてから試行錯誤して、現在は以下のようにして使っている。 起床したら自動で点灯 21時半になったら照明の色を変える 就寝時刻になったら照明の色を変える 就寝したら自動で消灯 良かった点 安い。6000円程度で環境を構築できる Mi-L…

YAPC::Asia 2014に参加してきた

全体的に"ご紹介"みたいな内容が多かったように思う。 Perlに関係のないトークも多かった。 なので、自分が興味を持つ分野のトークを聞きに行くより、興味のない分野を一望するような聞き方をするのが良さそうに感じた。 界隈の人気者たちの人柄を伺えるのは…

Raspberry Piからブラウザ経由でエアコンを制御してみた

散々既出だけど自分でもやってみたらできた。以前のブレッドボードに追加する形で実装した。 Raspberry Piから赤外線を送受信できるようにしてlircを使う 主にこの2つのページを参考にした。 Raspberry Piで赤外線リモコンを学習し発信する (r271-635) Raspb…

mackerel.ioにRaspberry PiとArduinoを組み合わせてグラフを投稿してみた

Raspberry Piを安く譲ってもらえたので、AndroidとArduinoで自室の温湿度などを監視しているシステムをリプレースしてみた。 自室の温湿度などをグラフ化して監視するの、一度やってみるともはや止められなくなるくらいには便利なので、興味がある人にはぜひ…

オブジェクト指向に入門しつつある

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)作者: バートランド・メイヤー,酒匂寛出版社/メーカー: 翔泳社発売日: 2007/01/10メディア: 単行本(ソフトカバー)購入: 11人 クリック: 307回こ…

PixivのうごイラをGIFアニメに変換するRubyスクリプト を書いた

変換したやつをfotolifeにアップロードしてみたけど縮小されててどれくらい荒くなるか分からないですね。 うごイラをGIFアニメに変換するやつ書いてみたけど処理がめっちゃ重い— Akimasa Shimobayashi (@shimobayashi) 2014, 6月 29 to_blob を記述するとな…

OSC52でゲストマシンとクリップボードのやり取りをしようとしたけど微妙だった

ホストマシンでtmuxを動かしているとかだったらpbcopyを使う定番の方法があるのだけど、VMのゲストマシンにssh越しで繋いでtmuxを使っている場合にはこれといって定番は無いという認識でいる。 そんなところで調べてみたらOSC52という仕組みがあって、これを…

よく使っているコマンドを調べて効率化につなげる

cat ~/.bash_history | awk '{print $1}' | sort | uniq -c | sort -r | head -10とかやると雑に上位10位が分かると思う。シェルの設定によっては分からない(重複した履歴を保存しない、履歴のサイズが不十分、など)。 僕の手元で実行してみると、圧倒的にgi…

/bin/sh について

多くの場合/bin/shはbashであることが多いようで、例えば手元のMacで見てみると、 $ /bin/sh --version GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12) Copyright (C) 2007 Free Software Foundation, Inc. となっている。 一方、DebianやUbu…

herokuで動かしているサービスが良く分からない挙動をしていた原因

sinatraのredirectメソッドは大域脱出する MongoLabの容量制限に引っかかると、保存には成功するものも黙って新しいデータが消される

Vimからワンステップで特定のテストメソッドを呼ぶ方法

VimMachine HeadRock¥200provided courtesy of iTunes これまで僕の環境でテストを実行しようと思ったら、Perlであれば TEST_METHOD=hoge carton exec prove t/path/to/test.tみたいなコマンドをいちいち打つ必要があって、これは人間がやることではないとい…

Mongoid 3.1.6でop_timeout, connect_timeout相当を設定したい

ネットで調べるとそれらしい情報出てくるけど大体Mongoid 2の情報で古くて使えない。 結局git cloneしてコードを追っていくのが一番マシという決断をしてそうしてみた。 そんでmongoid, mopedのコードを追っていった結果、 mongoid.ymlに development: sessi…

年末年始なのでpixivをフィードに変換するプロダクトをリプレースした

Instagram https://github.com/shimobayashi/i_love_pixiv これまで運用していたやつのコードがヤバすぎて保守したくない上に実行効率も悪かったので、pixiv gemに乗っかれるところは乗っかりつつなるべくEventMachineの流儀に従って書きなおした。 前のはHT…

EventMachineでジョブキューを高速に処理するたたき台2

昨日の続き。 この書き方ならパフォーマンスにも問題無さそうだしネストしたタスクも綺麗に書けて良さそう。 require 'rubygems' require 'eventmachine' MAX_RETRY_COUNT = 3 CONCURRENCY = 2 class Mailer < EM::DefaultDeferrable def initialize(mail_ad…

EventMachineでジョブキューを高速に処理するたたき台

追記: EventMachineでジョブキューを高速に処理するたたき台2 - 下林明正のブログ 具体的にはクローラーみたいなのを書きたいシチュエーションを想定しているんだけど、 ジョブIDの配列みたいなのは予め分かっている 最大試行回数を考慮したリトライが可能 C…

任意のコマンドをtor経由で実行する

SOCKS経由でtor使えたら便利そうと思って簡単に調べた。 Macなら、 brew install tor tor& brew install torsocks torsocks curl curlmyip.com みたいな感じで使えた(tsocksでも使えた)。 試しに torsocks.conf を書き換えてSOCKSv5を使うようにしてみると、…

perlbrew 0.65をMac(Mountain Lion)でインストールしようとするとおかしな挙動をする

patchperlとかいうやつのインストールに失敗している インストールスクリプト実行後perlbrew install-patchperlとかやっても同じメッセージが出るだけで失敗する 調査したところ、perlbrewのhttp_user_agent_commandとかいうサブルーチンがおかしな値を返却…

TRPGのオンセでBGMを共有するためのスクリプト書いた

shimobayashi/hawring 最近TRPGのオンセを遊ぶことが多いのだけど、BGMを良い感じに共有するソリューションが無くて困っていたのでつくった。 ラインミックスみたいなのは普通の人には色んな意味で無理だ。 ページ開いてmp3とかドラッグアンドドロップすると…

GradleでBuild Variantsを使ってAndroid開発ができると便利ですね

Gradle+Android Studioにするメリットとしては、 プロジェクトのインポートが楽になる Eclipseのようにプロジェクトの作成に熟練を要しない Build Variantsを利用して、ターゲット毎にapkを作り分けられる というあたりがあると思う。特に後者が個人的には魅…

overflowではみ出た要素がクリッカブルになってしまうAndroid 4標準ブラウザのバグ

Android 4標準ブラウザのバグっぽいのを見つけた。 overflow: autoではみ出した要素は見えないようにして その中でposition: relativeなリンクを宣言して はみ出て見えなくなっているそのリンクをタップすると、本来ならばタップできないはずなのに、貫通し…

DevFest Japan 2013

興味あるところだけTweetしていたので貼り付けておく。 ハイライト Gradle ベターantっぽい。デバッグビルドだけの設定とか上手く引き回す仕組み探せばありそうだな— Akimasa Shimobayashiさん (@shimobayashi) 2013年5月25日 “Y.A.M の 雑記帳: Google I/O …

iOS版PhoneGapでリモートのGoogle Analyticsが動かない場合の対処法

特にエラーログとか出てないけど__utm.gifアクセスしてないしどう考えても動いてなくて、おかしいと思って調べていたら海外で同じ問題にぶち当たって解決したっぽい人を見つけた。 Tracking beacon, utm.gif, is not sent when Cordoava javascript is inclu…

レスポンシブウェブデザインはもう古い?これからはリバーシブルウェブデザインだ!

タイトルは釣りです。 以前オフィスランチを食べながら同僚と話していたものを実装してみました。 このページをスマートフォンで開くとリバーシブルなウェブページを楽しむことができます。 Android 4.1で動作を確認済み。iOS 6.1でも動作を確認しましたが、…

Android Studio導入してみた

http://techbooster.org/android/environment/16139/ この辺り眺めながら適当にインストール プロジェクトのインポート若干混乱した。サブプロジェクトがあるようなディレクトリを何も考えずにインポートすると、サブプロジェクトのlibsまでルートプロジェク…