タグ

ブックマーク / mattn.kaoriya.net (122)

  • Big Sky :: コマンドラインから JSON が簡単に作れるツール jo

    « golang で画像アップロードが簡単に出来る go-imageupload を使ってみた。 | Main | SQLite3でカジュアルにズンドコキヨシ » コマンドラインから JSON を扱うツールとしては jq が一般的ですが、例えば ls を実行した結果を JSON の Array にしたいであったり、コマンドライン引数から簡単に Object を作りたいといった場合には一旦考え込まないといけないくらい使い方が難しかったりします。そんな中でひょいと現れたのが jo です。 GitHub - jpmens/jo: JSON output from a shell JSON output from a shell https://github.com/jpmens/jo 作者である jpmens さんがなぜ jo を作るに至ったかをブログに書いています。 Jan-Piet Mens

    Big Sky :: コマンドラインから JSON が簡単に作れるツール jo
    otsune
    otsune 2016/03/10
  • Big Sky :: サーバを再起動したら勝手にscreenが起動してその中でirssiが動いていて欲しい場合のベストプラクティス

    個人的にお借りしているサーバがあってそこで何個かbotを動かしているのだけど、そのサーバがセキュリティアップデート等で再起動した後、ログインしてscreen起動して、その中で画面割ってbot起動して、また別の画面でirssiを起動する、みたいな事を毎回やってた訳ですがいい加減めんどう臭くなってきたので自動化した。 まずscreenを自動起動する仕組みを考えた。rcスクリプトでもいいけど、そもそも共用サーバなのでroot権限が無い。そこでcronを使う。crontab -e して @reboot (. ~/.profile; /usr/bin/screen -d -m) @reboot という識別を使います。再起動して1回だけ実行されるコマンドが書けます。最近の linux であれば使えるかと思います。 ここで .profile を読み込んでるのは、これをしないと screen が新しく起動

    Big Sky :: サーバを再起動したら勝手にscreenが起動してその中でirssiが動いていて欲しい場合のベストプラクティス
    otsune
    otsune 2013/07/31
  • Big Sky :: mruby で GUI!もう組み込み用途とは言わせない!mruby-fltk3 書いた。

    mruby と言えば組み込み用途のイメージが高いですが、Windows で何度も ruby 拡張のビルドエラーを潜り抜けて来て、ある程度 ruby 拡張の仕組みも知っている僕としては mruby の方がソースが綺麗し精神衛生上良いと言いたいが、言ってしまうとどこかしらからかオノが飛んで来そうな昨今でございます。 最近はmrubyでウォシュレットの噴出を監視するシステムも登場し、「TOTO さん、そろそろ気で mruby 組み込みウォシュレット 考えてみませんか」と言いたくなる状況です。 さて、そろそろ mruby にも GUI が欲しくなってきたので fltk3 を組み込んでみました。 mattn/mruby-fltk3 - GitHub https://github.com/mattn/mruby-fltk3 mrbgems 化してあります。 まぁまぁ忠実に fltk3 を移植してあり

    Big Sky :: mruby で GUI!もう組み込み用途とは言わせない!mruby-fltk3 書いた。
    otsune
    otsune 2013/01/17
  • Big Sky :: grep で文字列を縦書きに変換

    grep の -o オプションを使うとマッチした部分だけ列挙してくれる。 例えば <div>foo</div><div>bar</div> <div>baz</div> というテキストファイル foo.txt に対して grep -o "<div[^>]*>[^<]*<\/div>" foo.txt と実行すると <div>foo</div> <div>bar</div> <div>baz</div> が得られる。これを応用して echo 餃子の王将 | grep -o . とやると 餃 子 の 王 将 が得られる。 便利!!

    Big Sky :: grep で文字列を縦書きに変換
    otsune
    otsune 2012/11/29
    この発想は無かったわ
  • Big Sky :: pathogen やめた。

    いままでvimプラグインの管理には pathogen を使ってきたんだけど tpope/vim-pathogen - GitHub pathogen.vim: manage your runtimepath https://github.com/tpope/vim-pathogen unbundle を使う事にした。 Vim script management system - The Terminal Programmer 22 November 2011: I squashed my entire Vim configuration history while retaining the three branch ar... http://snk.tuxfamily.org/log/vim-script-management-system.html sunaku/vim-unbundl

    Big Sky :: pathogen やめた。
    otsune
    otsune 2012/11/27
  • Big Sky :: Sublime Text2 の複数カーソル?それVimでも出来るよ

    Sublime Text2 の複数カーソル、なんかキャッチーだけど、それ Sakura でずいぶん前から出来てたし...。 Vim 使いは正規表現で一括置換するのでそもそも必要ない。 とかいうと「それ実装できない言い訳じゃん」とか言われそうなのでかるーく作ってみた。(実装中途半端) mattn/multi-vim - GitHub https://github.com/mattn/multi-vim なんですか!そのやる気のないプロジェクト名は!!! どんな風に動くかはこちらのページをご覧下さい。(デカいアニメーションgif注意) http://mattn.github.com/multi-vim/ http://mattn.github.com/multi-vim/ 作り続けられる自信があまりありません。

    Big Sky :: Sublime Text2 の複数カーソル?それVimでも出来るよ
    otsune
    otsune 2012/11/06
  • Big Sky :: 【勝手に添削】ftplugin マナー

    ちょっとだけ気になったので勝手に添削。 Enhance jsx.vim to execute the current test method! - Islands in the byte stream Enhance jsx.vim to execute the current test method! JSX compiler... http://d.hatena.ne.jp/gfx/20121014/1350233031 vim script を紛らわしくしている物の一つに ftplugin と autoload がある。autoload はこの辺読んで貰えると分かる。 ftplugin は現在のバッファにファイルタイプが適用されたタイミングで ftplugin/ファイルタイプ名.vim もしくは ftplugin/ファイルタイプ名/任意ファイル名.vim が読み込まれ実行される。つま

    Big Sky :: 【勝手に添削】ftplugin マナー
    otsune
    otsune 2012/10/15
  • Big Sky :: Perlで作るキモト発言監視システム

    キモトの関係で自分が発言したときに通知が欲しいですね https://twitter.com/bulkneets/statuses/222928161023868929 作りましょう! #!perl use strict; use warnings; use utf8; use Config::Pit; use AnyEvent::Twitter::Stream; use Growl::Any; use YAML::Syck; my $icon = 'https://api.twitter.com/1/users/profile_image?screen_name=bulkneets'; my $growl = Growl::Any->new(appname => "キモトwatcher", events => ["ヤバイ"]); my $done = AnyEvent->condvar;

    Big Sky :: Perlで作るキモト発言監視システム
    otsune
    otsune 2012/07/13
  • Big Sky :: 最近の zencoding.vim

    最近 zencoding.vim を大きく修正しました。とは言ってもこれまで単体テストを作ってきた事もあって、過去の動作を(なるべく)壊さずに大規模な修正が行えました。 これまでは一つのファイルに html, css, haml の処理が全て記述されていたのでとてもスパゲッティなコードになっていて、もう少し放っておくとカオスな状態になりかけていたので、ファイルを分割しインタフェースを揃える事にしました。 これにより、今後新しいフォーマットに対応する際にも、zencoding/lang にあるファイルの真似をして記述すれば実装出来る様になります。 haml に対応した 「えっ?前から対応してたんじゃないの?」と言われる方もいるかもしれませんが、これはあくまで expand abbreviation の haml フィルタとしてだけサポートしていました。 何が変わったかというと zen cod

    Big Sky :: 最近の zencoding.vim
    otsune
    otsune 2012/06/14
  • Big Sky :: bit.ly がソーシャルに生まれ変わって、皆とっても恥かしい事になる

    URL短縮サービス bit.ly がソーシャルに生まれ変わった様です。 bitly blog - Welcome to the new bitly! Welcome to the new bitly! bitly has long been the home to important content you share across the web... http://blog.bitly.com/post/23998132587/welcome-to-the-new-bitly Easily save, share and discover links ? they’re called bitmarks, like bookmarks. Instantly search your saved bitmarks. Curate groups of bitmarks into bundles

    Big Sky :: bit.ly がソーシャルに生まれ変わって、皆とっても恥かしい事になる
    otsune
    otsune 2012/05/30
  • Big Sky :: CtrlP にランチャ拡張書いたら捗りすぎて生きているのが辛い

    UNIX系ツールとこういった操作を覚えれば誰でもコマンドプロンプトで生活出来ます。 今日はそんな話じゃなくて、普段Vimを使っていると色んな事をVimから実行したくなってきます。 エクスプローラ起動 ブラウザ起動 TwitVim起動 FavStarなんて見ようかしら その都度、キーマッピングを書いても良いのですが、その度にキーアサインしてるとキーが幾つあっても足りません。あと忘れる事が多い。 そこでランチャー書いてみました。普段リポジトリ内のファイルにアクセスする際、パスが遠いと面倒なので CtrlP(以前書いた紹介記事はこちら) というプラグインを使っているのですが、このプラグインには unite.vim の様に拡張を書ける仕組みがあるのです。 オフィシャルからもバッファや最近触ったファイル(MRU)を選択出来るエクステンションが提供されているのですが、皆さんに紹介の意味も込めて今日適当

    Big Sky :: CtrlP にランチャ拡張書いたら捗りすぎて生きているのが辛い
    otsune
    otsune 2012/04/28
  • Big Sky :: 最近気に入ってるVimのキーマップ

    Vimが他のエディタに比べて劣ると思われている一つに、ノーマルモードとインサートモードの行き来にオーバーヘッドがあるのでは無いかという主張。カーソルキー使ってる人は、ぜひこれでjkjkの練習でもして下さい。 まぁ確かに、移動する為にはノーマルモードに戻らなければならないし、例えば <script>_</script> で _ にカーソルが合った場合、改行すると <script> _</script> こうなってしまう。来ここにjavascriptのコードを書こうと思ったら <script> _ </script> こうなるのが正しい訳で、この形にしようと思うと 改行 もう一度改行 ノーマルモードに戻ってkで上に行ってiでインサートモード というまどろっこしい操作が必要になったりする。運よく僕は <c-e> に何も割り当ててなかったのでこんなのを追加してみた。 inoremap <c-e>

    Big Sky :: 最近気に入ってるVimのキーマップ
    otsune
    otsune 2012/04/12
  • Big Sky :: Vimで編集中のMarkdownをプレビュー出来るプラグイン書いた

    Vimが良くも悪くも「エディタだ」と言われる要因として「画像や異なるグリフのフォントを同時に出せない」ことを上げられます。つまりVimHTMLやマークダウン等のプレビューを確認する為にいちいちブラウザを起動して確認し、ファイルを更新した際には読み込み直すという面倒な手間が掛かる事を意味しています。 まぁ専用ブラウザを作ればいいんだけど面倒で腰が重かったんだけど、ちょいと作ってみました。 mattn/mkdpreview-vim - GitHub MkdPreview Markdown previewer for vimmer https://github.com/mattn/mkdpreview-vim ファイルタイプがmarkdownなバッファで :MkdPreview! と実行するとプレビューワが起動します。 プレビューワが一度起動している状態なら、以後は他のVimからでも :Mkd

    Big Sky :: Vimで編集中のMarkdownをプレビュー出来るプラグイン書いた
    otsune
    otsune 2012/02/09
  • Big Sky :: Vim scriptはウェブアプリケーション記述言語やったんやー

    こんにちわ。昨今、ウェブ開発の進化はすざましいですね。PythonPerlJava、色んな言語で書かれていると思います。 もちろん編集にはVimを使っているかと思います。 でも編集だけ? 違うよね! Vim scriptはウェブアプリケーション記述言語なんだよ! Plack::App::Vim package Plack::App::Vim; use strict; use warnings; use parent qw/Plack::Component/; use Plack::Request; use Encode; use JSON::PP; sub prepare_app { my $self = shift; $self->{vim} ||= 'vim'; if (!$self->{server}) { open(my $f, "vim --serverlist|"); my

    Big Sky :: Vim scriptはウェブアプリケーション記述言語やったんやー
    otsune
    otsune 2012/01/27
  • Big Sky :: めんどうな作業がわずか数十秒に!新人プログラマが知らないと一生後悔するVimを使ったHTML生成

    « ExecuteExcel4Macro で CALL ワークシート関数使ってShellExecute呼んでそれでVimScript操作してHTMLを数秒で生成するの作った。 | Main | サラリーマンの為のメールが2倍速く書ける(気がする)vim補完書いた » こういう作業ってプログラマなら日常茶飯事で、やり方しらない新人プログラマはいつまでたっても新人なのだけど... めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン お客さんから送られてきた、Excelデータからせっせとリストや表のHTMLをコーディングしているあなた!そろそろ手がが疲れてきていませんか? そんなあなたは、この記事で紹介するExcelテクニックをぜひ覚えてください。 面倒な作業が、わずか数秒で終わります! http://webrocke

    Big Sky :: めんどうな作業がわずか数十秒に!新人プログラマが知らないと一生後悔するVimを使ったHTML生成
    otsune
    otsune 2011/12/20
  • Big Sky :: vimscriptでLispエンジン書いた。

    この記事見てたら、「vimscriptでも書けるさ!」と悔しくなったので勢いだけで書いた。 Simple Scheme interpreter in Perl - Life is very short Simple Scheme interpreter in Perl perl , scheme | 21:52 昨日 Brainfuck を書いてみたので、今日は Scheme( Lisp )の 処理... http://d.hatena.ne.jp/syohex/20111116/1321447925 後悔していない。 mattn/lisper-vim - GitHub This vim plugin provide lisp environments for vimmers. https://github.com/mattn/lisper-vim 見ての通り、vimscriptだけでli

    Big Sky :: vimscriptでLispエンジン書いた。
    otsune
    otsune 2011/11/18
  • Big Sky :: 人生がときめくvimプラグイン片づけの魔法

    こんにちわ。vimプラグイン片づけコンサルタント、mattnです。 片づけても片づけても、 1週間後には~/.vimがごちゃごちゃに元通り… 片づけのリバウンドに悩まされた経験、ありませんか? 今日は私が編み出したvimプラグインの掃除方法をお教えします。 「一気に短期に完璧に片づける」ことで、二度とリバウンドしない。「全捨て」が基 躊躇してはいけません。いっそ「rm -rf ~/.vim/bundle」でもいいでしょう。 「ときめき」を感じるものだけ残し、好きなvimプラグインだけに囲まれた理想の生活をめざす。 そのvimプラグイン、ときめきますか?ときめかなかったら、それは必要ないのです。 使わなかったvimプラグインには「ありがとう。お疲れ様。」と声をかける。 「ごめんね、すごいけど、それ使わないよ。ありがとう。」という感謝の心です。 ネタ元

    Big Sky :: 人生がときめくvimプラグイン片づけの魔法
    otsune
    otsune 2011/11/04
  • Big Sky :: Go言語でuWSGIリスナ書いた。

    最近はクラウドサーバ等、割と色んな所で見かける様になったuWSGIですが... uWSGI uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. http://projects.unbit.it/uwsgi/ Perlだとhirataraさんが書いた記事や Hokkaido.pmでuWSGIについてLTした - a geek born in Tomakomai uWSGI はデフォルトではhttpではなくuwsgiプロトコルを喋るので、uwsgiプロトコルを喋れるフロントエンドを立ち上げます... http://d.hatena.ne.jp/hiratara/20110718/1310950381 Plack::App::uWSG

    Big Sky :: Go言語でuWSGIリスナ書いた。
    otsune
    otsune 2011/09/07
  • Big Sky :: Learn Vim Progressively

    この文章は、 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/で掲載されている「Learn Vim Progressively」の翻訳文です。 文内の全てはの筆者による物であり、訳文の内容については私による物となります。意訳が若干入っています。間違い等あればご連絡下さい。 tl;dr: 可能な限り速くvim(人類史上、最良と知られているテキストエディタ)を習得したい。その方法を提案する。生き残るには最小を学ぶ事から始め、その後徐々にトリックを混ぜて行く。 Vim 60億ドルのテキストエディタ 優れいて、強く、そして速い vimを学ぶ事、それはあなたあなたが学ぶ最後のテキストエディタになるでしょう。私が知る限りより優れたテキストエディタはない。学ぶのは難しいが、使うと素晴らしい。 4つのステップで学ぶ事をお勧めす

    Big Sky :: Learn Vim Progressively
    otsune
    otsune 2011/09/04
  • Big Sky :: Vimで動画再生

    « すぎゃーんさんの「Amon2::Liteでmarkdownその他のリアルタイムプレビュー」をfluxflexで動かしてみた。 | Main | rb-readlineを試験するスクリプト書いた。 » Emacsはインライン画像も表示出来て、ブラウザにもなって、vimでは到底真似出来ない芸当が出来るの事は、vimmerであれば皆知ってる事だとは思うんだけど... 昨日こんな動画があることを教えて貰った。 GVimでとある科学の超電磁砲OP「only my railgun」‐ニコニコ動画(9) たくさんプログラミングしてった。ちょっと疲れた。ちなみに、これはリアルタイムのレンダリングではない。私自分のパソコンには2fpsぐらいです。64色でお楽しみ。感想はこちら(中国語だが):http://www.fancymouse.net/blog/2009/12/20/gvim_railgun_op

    Big Sky :: Vimで動画再生
    otsune
    otsune 2011/07/27