読者です 読者をやめる 読者になる 読者になる

びぃえるくぅと。

ガラケーは打楽器。

EmacsでRubyのコードを補完するrobeがうまく動かなかった原因はプロキシ

Ruby

備忘録です。

症状

Rails プロジェクトで emacs を起動し、

M-x robe-start ↩︎
No ruby console running. Launch automatically?(yes or no) yes ↩︎
Rails environment: development ↩︎

して、プロンプトに従って robe を有効にしていくも、最後に

Server doesn't respond

ってエラーが出て、robe が有効にならない。

調査

そこで、*Messages* バッファを確認したところ

(略)

Using a proxy for http...
Contacting host: (プロキシ)
robe-request: Server doesn't respond

ってログがありました。そこで環境変数 no_proxy

  • 127.0.0.1
  • localhost

を記載して同じことをやってみたら、エラーが出ませんでした。

念のため再度 *Messages* を確認すると

(略)

Using a proxy for http...
Contacting host: 127.0.0.1:62100

ローカルへのプロキシの使用が回避できていますね。

結論

プロキシ環境下で、Emacsrobeを使う時には、 no_proxy環境変数を設定して、ローカルへのプロキシの使用を回避しましょう。

多分、robe 以外にも同じことが原因で症状起きてることありそう。。

Wordpressの自作テーマを作るためのお手軽ローカル環境が欲しい

WordPress Node.js

やはり投稿間隔が空きますね。Yadex205です。

最近、Rubyを使う技術系のバイト始めました。 お陰様で今まで触れてこなかった技術的な内容がどんどん入ってきてて、楽しい反面理解がもう少しで追いつかなくなりそうです。

それとは関係ないのですが、某案件でウェブサイトを作ることになって、その時に悩んだことをとりあえずまとめてみます。

WordPressでサイトを作る

今まで僕が作ってきたサイトって完全に静的ページだけで構成されており、 CMSを使ってるぽくってもJekyllで無理矢理運用(しかもGithub Pages上)したりしていました。

今回は、大学のとある団体のウェブサイトを担当することになったのですが、

  • 定期的に行われる活動の報告を掲載する。
    → またJekyllで行けるか〜〜〜?
  • 大学のドメインを使いたいので大学が提供しているサーバーを使わざるを得ない。
    WordPressのっけるしかないじゃん〜〜〜。

ということで、WordPressを使ってウェブサイトを作ることになりました。 WordPress童貞はこれにて卒業になります。 そもそも以前、とあるサイトをJekyllとGithub Pagesで運用しているうちに更新作業がとても辛くなった経験があるので、 そろそろウェブサイトの制作作業とコンテンツの更新作業を分担する(記事更新は他の方が担当する)頃合いかなと思い、 今回の決断に至りました。

関係ないですが、ドメインが関係なかったとしてもTumblrは絶対に使わなかったと思います。あれはテーマの開発が面倒というか融通が利かないというか。。。

WordPressのテーマを制作する環境を整える

僕がウェブサイトを作る際には決まって

を導入しており、ECTのようなJSテンプレートエンジンとかSassのようなCSSコンパイラー(?)による処理を ソースファイルが更新されたら自動で行い、プロジェクト内のとあるディレクトリに整頓して配置するようにしていました。

また、どこからでもデザインを行えるようGitのリモートリポジトリをGitHubGitLabに作り、

$ git clone (省略)/project.git
$ cd project
$ npm install

すれば制作環境が他のマシンでもすぐ行えるようにしていました。

ところが。

WordPressはそれ自体を動かすのが面倒そう

WordPressを動かす方法を検索すると、LAMPという用語が飛び交っていておいおいという気持ちになります。 これだと全部のマシンでApache/NginxとMySQLPHPを入れなくてはいけないのか。。。

firegoby.jp

そんなことをしなくても、上記の記事のようにPHPのビルトインサーバーを使えば、ApacheやNginxを用意したり、 Webサーバー上でPHPCGIとして動かすためのphp-fpmを導入したりしなくても済みます。 もちろん本番環境では使えませんが、このように何かの開発を行うには持ってこいの機能ですね。

で、MySQLは入れなきゃいけないの?

WordPressは様々なデータを溜め込むのにデータベースが必須ですが、普通はMySQL(最近だとMariaDBも?)にしか対応していません。 MySQLとか、調べただけでも環境構築面倒そうですよね・・・。

dogwood.skr.jp

そこで、SQLiteという手軽なデータベースを導入します。Androidアプリケーションに標準でsqliteを使った機能が付いているくらい手軽です。 主にアプリケーションに埋め込まれて利用されるもので、サーバーを立ち上げるとかアカウントを作るとかいう作業がいらなくなります。

ただし上述の通りWordPressSQLiteには対応していないので、上記の記事の著者様が作られたsqlite-integrationというプラグインを組み込むことで 利用可能になり、WordPressinstall.phpを使ってインストールする際にデータベースの質問がされなくなります。

どうせならサイトの設定も自動化したい

以上で、'PHP'がインストールされていればひとまずWordPressが動く環境が整います。ですが、WordPress起動時にサイト名や管理者アカウントの設定が必要になります。 どうせならgulpとかシェルスクリプトで簡単に整えたいですよね。

http://wp-cli.orgwp-cli.org

WP-CLIというそのまんまなソフトウェアがあります。これをWordPressのインストールされているディレクトリで実行することで、サイトや管理者の設定はもちろん、 プラグインのインストールやテーマの変更などもこれ一つで行うことができます。

設定スクリプトを作りました

今まで書いた内容を雑にまとめたようなシェルスクリプトを、それこそ冒頭で述べた今回のウェブサイト制作の際に作っていたので、 汚いのですがGistとして公開しました。

お手軽WordPress環境構築スクリプト · GitHub

$ cd project_root
$ mkdir bin && cd bin
$ curl https://gist.githubusercontent.com/yadex205/c42e7ee8f08dbc30872f9a1f78261d23/raw/36f0467885b242c01d04ec1aa7ea47371f0cd061/init.sh -O
$ chmod +x init.sh
$ ./init.sh -u [サイトURL] -t [サイトタイトル] -n [管理者アカウント名] -p [管理者パスワード] -e [管理者email]

のような感じです。なおオプションをしていしない場合、適当なデフォルト値が設定されます。

最後に

ちなみに、上記のスクリプトGulpのタスクから呼べるようにし、さらにnpmのpackage.jsonpostinstallスクリプトとしてそのタスクを動くよう書いてやると、 npm initした際に一緒にWordPressもインストールしてくれます。僕はいまそうやってます。

ということでWordPressテーマを作るのに手軽な環境を整える個人的な方法をずらずらと書き、その処理を行うスクリプトも公開しました。

僕は今からPHPと格闘してきます。。。

卒業目前なので近況報告

花粉症つらい、とありきたりなイントロ。Yadex205です。

3月上旬までヘビーな案件が多かったんですが、全て片付いたのでとりあえず近況報告、いわば生存報告です。

学会発表

2月の頭にも卒研発表がありましたが、3月入って先週はとある学会で自分の研究の現在の進捗を発表してきました。 発表時間長めなので余裕ぶっこいてスローペースで話していたら時間ギリギリになる失態、次回は気を付けます。 あとは、一緒に発表した友人と「他の方の研究聞いててワクワクできてめっちゃ良いな俺らのちょっと現実的過ぎるね」とか。

ちなみに発表の時に使ったPCが僕が普段VJで使ってる奴で、ステッカーべたべたに貼ってるんでめっちゃ目立ってました。 恥ずかしい。違うこれはパワポでVJしただけなんだ・・・。

そんな感じで、学校関係の行事といえば、大学の卒業式と大学院の入学式だけがスケジュール帳に書かれている状態で、 すごい今は落ち着いています。

サークル卒業コンサート

学会発表の前の週というドチャクソ多忙な時期にですが、所属していたサークルの卒コンでドラムたたいたりVJしたりしました。 やった内容書くと

VJは、事前に流す曲を見て動画用意したってのもあるけどアニメOP等しっかり出せたので良かったです。 出演前の打ち合わせで「ここでこうやってオタクの理性飛ばしたいね」みたいな話もしたり。 結果として理性飛んだ人がいろいろ出たから良かったです。

あと今回からRoland V-4がアンロックされたので使ってみたけど、画面n分割ぐりぐりやるの楽しい。 ちなみに例のVJ環境は、12/25のギグテクの時に作ったものがちゃんと動いたのでそれを使いました。 3段レイヤーのみ。クロスフェードなんてなかった。

ハイスタは相変わらずめちゃくちゃ楽しかったです。当日になって「Stay Gold 2回やろうぜ」とかアホな調子でやったけど、やれてよかった。 見てくれた人もめっちゃモッシュしてたりしてて見てて楽しかった。

HTTはとにかく安定してたたけるように努力。。そういえばボーカルが天使に触れたよ歌ってる途中涙ぐんでた。

VJ環境について

例のvvvv使った自作VJなんちゃらですが、今1から作り直してます。というのも、FileStream (DX11.Texture Vlc)を使って、DX9系ノードを 無くそうとしてます。たぶんこのほうがFPSも落ちないかもと期待。 ただ、以前DX9版のVLCノード使ったときに突然先頭にシークしたりと不安定な動きが多かったので、DX11版でも大丈夫かチェックします。

あと今回からパッチをGithubに上げようと思っているので、もうしばらくしてコミットがある程度積み重なったらリポジトリ公開しようと思います。 そうしないと自分を追いやれない()

今後の予定

GIG&TAKE 1st. Anniversary

次の出演は 3/25(金)に、1周年を迎えるGIG&TAKEでVJします! (Tweetvite)

今までVJやってて最近特に自分に変化がないので、変化を見せられるよう頑張りたいと思います。 おそらくV-4を持ち込むと思いますが、変わった点が機材だけ、という風にはならないように・・・。

あとはせっかくTouchOSCのアプリ買ったのでそれも使ってみたいと思います。(実装が間に合えば

サイト更新

自分のサイト、Github PagesにPushしてから一度も更新してないので、そろそろサイトをTumblrで作り直そうかなという感じです。

ここ最近ウェブ関係の技術から離れていたので少しリハビリが必要な感じがあると思います。。

その他

PFUHHKB Pro2というキーボードにハマりました。以上です。

はじめてのあぷりこうにゅう (TouchOSC買いました)

少し酔いながら書いてます、Yadex205です。

TouchOSC

昨日、友人と会話している際に

俺「まだあのアプリ買ってないや」 友「今すぐiTunesカード」

となり、人生初のiTunesカード(¥1,500)を購入。 以前より友人にお勧めされていたTwitterクライアント featherと、 もう一つ自分が使ってみたかった TouchOSCを購入しました。 TouchOSCとVVVVで新しいVJの操作方法ができるんじゃないかとワクワクしているところです。

たまたま、以前Raspberry Pi用にElecomのWi-Fiドングルを買っていたのが全然使ってなかったので、VJ用ラップトップにそれを挿してAPモードで動かし、 そこにiPhoneをつなげてやれば事実上ADHOCみたいな感じで、遅延も抑えて快適OSCができるかと。

なお、ドングルのドライバをインストールしてAPモードで動かしてる際に、ファイアウォールの設定でパブリックネットワークになり、VVVVが外部からのOSCを受け付けない状態になるので、 ドングルのネットワークをプライベートにするか(これのやり方がわからなかった)、ファイアウォールの設定でVVVVのパブリックネットワークでの通信を許可してあげてください。

追記

iPhone 6S 買いました。 あと初めてのiTunesカードは良い匂いがした。

Pipetノードをダミーの動画テクスチャ出力先として使う

vvvv

前回の投稿からまた間隔が空いてしまいました、お久しぶりです。 大学では卒研発表も終わり、まだ卒論の訂正が大量に残ってはいますが、ひと段落ついて安心しています。

なので久しぶりにVVVVでVJ環境を書こうとしたのですが、その際に動画テクスチャ周りで問題が発生したので、 見つけた解決法などをまとめました。

動作環境

Lenovo ThinkStation E30

DX11でVideoTextureを扱う

そもそもは、FileStream (DShow9)VideoTexture (EX9.Texture VMR9)を使って生成したDX9の動画テクスチャを、 一度Renderer (DX9)を経由させ、DX11に変換して使うパッチを書いていました。 addonsパックDX9ToDX11と処理内容は同じです。

f:id:yadex205:20160205190500j:plain

・・・このような記事をわざわざ書くということは、これではなぜか動画が再生されないということです。

確かに再生「状態」にはあるものの、Renderer (DX11)に動画が表示されません。 ここで試しに、Renderer (DX9)を隠し状態から埋め込み表示に変更します。

動きます。何故なんでしょうか、わかりません・・・。 さらにこの後、再びRenderer (DX9)を隠し状態にすると、何故かFileStream (DShow9)での再生ポジションが0に戻されて再生が始まり、なぜかRenderer (DX11)に動画が表示されるものの、とてもカクついており使えたものではありません。

VideoTextureの癖?

今回はDX9からDX11へ動画テクスチャを変換する際に発生した問題を具体例として取り上げましたが、他にもVideoTexutureの特性(?)が原因の予期しない挙動があります。

続いて以下の様に、Switch (Node Output)で入力テクスチャの行き先を分離させ、それぞれに別のフィルターを経由させた後にSwitch (Node Input)でどちらかのフィルターを経由したテクスチャを選択します。なおテクスチャの描画先はRenderer (DX9)です。

f:id:yadex205:20160205220503j:plain

これはリアルタイムで複数のフィルターを切り替えるシチュエーションを想定したものですが、なぜフィルターの手前でわざわざSwitch (Node Output)を使ってテクスチャの行き先を1つに制限しているか説明すると、VideoTextureから複数のフィルターに直接つなぐと、つながっている全てのフィルターでテクスチャの処理をしてしまい、無駄にCPUを使い他の処理を圧迫するからです(そのはずですが、もし違っていたら申し訳ありません・・・)。

そしてこの状態でフィルターを切り替えるスイッチを押すと・・・。

切り替わった瞬間に再生ポジションが0に戻されてしまいます。ホント何なん・・・。

ここからは憶測ですが、FileStream (DShow9)とVideoTexture (EX9.Texture VMR9)は、生成するテクスチャの行き先(DX9系の出力に限る)がなくなると生成を止めてしまう、もしくはマトモに生成しない、と考えています。だから1つ前の例では途中に挟んでいるRenderer (DX9)を隠し状態から表示状態に遷移させるとその先までテクスチャが行きつくようになりRenderer (DX11)で描画できるようになったり、先ほどの例ではスイッチングで一瞬テクスチャの流れが途絶えてしまい、再びFileStreamからRendererまでの道がつながったときに0秒のポジションから再生し始めたのだと思います。

DX9系では動画の流れを途絶えさせない

ということで、FileStream (DShow9)で取り込んだ動画をVideoTexture (EX9.Texture VMR9)でテクスチャとして扱い、その先何らかの方法でテクスチャの流れを途絶えさせなければ良いのです。が、どうやれば良いのやら・・・。

と思って、この記事の冒頭にも紹介したaddonsパックに含まれるDX9ToDX11の中身を見てみました。

f:id:yadex205:20160205222402j:plain

Pipet (EX9.Texture)というノードにコメントが付いていますが、要は「Rendererが接続されてなかったり隠し状態でも、テクスチャを吸ってくれるよ。」との事です。

・・・マジか。てか、DX9ToDX11ってこんなパッチングだったっけと思ったら、つい最近addonsパックが更新されていたようで、このノードもPipet (EX9.Texture)を追加していたようです。

このPipet (EX9.Texture)というノードは、ピペットの名前らしくお絵かきソフトのように、テクスチャ中の指定したピクセルの色を抜き出す処理をしてくれますが、どうやらこのノードは動画テクスチャのダミーの行き先として使うことで、他の道が途絶えてもおかしな挙動を防止することを実現できそうです。

まとめ

VideoTexture (EX9.Texture VMR9)のTexture OutピンにPipet(EX9.Texutre)を追加で接続するだけで、動画テクスチャの操作時におかしな挙動が起こることをどうやら防止できそう、というお話でした。実際、先ほどのスイッチングの例ではスイッチ切り替え時に動画が冒頭へシークされてしまう現象が起きませんでした。

秋葉原で散歩してきた

散歩って書いたけど結局機材買ってきた。

そもそも

ARIA The Masterpiece の第1巻が1月9日に発売開始され、 上記の様なポップ(他に関東だと、姫屋verが池袋、オレンジぷらねっとverが秋葉原)が展開されている書店さんがあるということで、 それをただ撮りに行きたいというだけでした。(ARIAカンパニーverは新宿だし

でもそれだけだと面白くないので、お年玉がせっかくあったので欲しい機材を買うことにしました。

目的はNETGEARのGS108っていうスイッチングハブ。自分の部屋のスイッチがLogitecの安いやつでギガに対応してなかったので買い換えようという感じです。

秋葉原

僕が秋葉原で大好きな場所の一つ、愛三電機。日曜日はお休みでした。ちゃんちゃん。

という訳にもいかないので、他の店舗で安くGS108が手に入る場所はないかと探してみて、 ソフマップに行ったけどなく、他をぐるりと回り、神頼み的な感じでツクモに入ったら、GS108Eが\4,500くらいで売ってた。

※ツイートは帰宅後です。

青くないネトギってのも良いですね。今まで大学機材で青いネトギしか見たことなかったので。

その後は上海問屋とかぶらぶら回ってネタ機材ないかなといろんなお店を歩き回ってました。 そういえば生まれて初めて秋葉原歩行者天国を体験しました。特別な感じで少し楽しかったです。

あと、ソフマップの中古アップル製品を取り扱ってる建物の一番上のクリエイターズランドという所に行ったら、RolandのV-8の中古が5万円台で2機ほど置いてありました。思わず買いそうになったけど我慢。

で、ふと思い出したのが

ゲマズにアリスちゃんとアテナさんいるじゃん!と思ってゲマズの入り口まで来てみたものの、自分こんなこと言うのもアレなんですが、実は恥ずかしくて一人でゲーマーズアニメイトに入れないのです。。。 入ってすぐ、のぼせちゃうんですよね。。

ということで秋葉原での収穫はGS108Eだけでした。

新宿

このツイートでSHOW BY ROCK!!を思い出したら一緒にレトリー愛でましょう。

ARIAカンパニーverのポップは紀伊国屋の新宿本店の脇にある別館にあるということで行ってきました。 新宿東口の、ヨドバシより北側を歩くのは初めてでしたが、あ~自分みたいなオタクに関係ないオシャレショップばかりだ~~な気分に。最近ZOZOTOWNで買ったリュックをしょってることだけが救い、にもならず。

救いはありました。めっちゃ綺麗・・・。 心なしか灯里ちゃん年齢低く見える・・・?

天野さんの描かれる作品ってなんでこんなに綺麗なんでしょうかね。大好きです。ちなみに最近あまんちゅ!の1巻を買いました。

帰宅後

Amazonさん、早めに届けていただけると幸いです。。

そして自室のスイッチングハブを交換、というか追加。ギガビット対応してくれてうれしいです。 ただし、自宅のLANが100Mなのでインターネット使う分には別に何も変わってません。自分の部屋のLANを早くしたかったのです。

そういえば

アキバなんだし、HDMIのHDCPをあんなことしてこんなことしちゃう機材とかありそうですよね。探せばよかった。

今年買った機材とか

ふと思ったのでまとめてみた。

今年買ったもの

Victor MI-5000

1979年に生産が開始されたミキサー。ハードオフで2000円で投げ売られていたので思わず購入し使用中。 当時からRCAっていう規格あったんですね。自分の部屋でバリバリ稼働しています。針メーターがいい味出してる。

AKAI APC mini

Ableton live 向けMIDIコントローラー。liveは使わないけどたくさんボタンのあるフィジカルコントローラーをVJで 使いたかったので購入。今はVVVVでAPC mini をフル活用できるような環境作ってます。

無線LAN付きルーター

自宅のLANのAPからの電波があまりにも自室に届かなかったのでしびれを切らして購入。めちゃくちゃ快適になりました。

Mad catz R.A.T.3

お手頃価格のめっちゃかっこいいゲーミングマウス。自宅で以前から使っていたが研究室のマウスがあまりにも手になじまないので研究室ように購入。

Fujitsu製のバーコードスキャナー

秋葉原某所で700円で投げ売りされていた、コンビニでよく見かける感じのスキャナー。キーボード扱いされるし、ちゃんと数字入力し終えたら改行までしてくれてびっくり。なおVJで使う予定がありません、良い案ないですかね。

Plextor M6S 256GB

ThinkPad用に買ったSSD。これのおかげでThinkPadを屋外で使っても快適になったし、VJも安定してできるようになりました。

CFD販売 Elixer 8GB x 2

ThinkStation用に買ったRAM。これで20GBになり、Blackmagic Design FusionとかSony Vegasとかが快適に。仮想マシンも思いっきりぶん回せます。

来年になったら、欲しいものは

とかとか。

良いお年を。

Copyright © 2015 Yadex205