タグ

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

  • Big Sky :: Vim にchannel(ソケット通信機能)が付いた。

    13年前、僕は vim-dev (Vim の開発グループ)に Vim からソケット通信が出来る関数群のパッチを書いて送りました。 Socket functions for vim. - Yahoo! Groups https://groups.yahoo.com/neo/groups/vimdev/conversations/topics/32576 その時は Bram (vimboss) に「PythonPerl インタフェースを使えるやないか、もしくは外部コマンドとか」と返されてしまいました。確かに言語拡張を使えば出来ますし、それに処理がブロッキングだったので実はそれほど有益では無かったかも知れません。 その後、このソケット通信のパッチは vimproc の一部に取り込まれ、シーケンシャルなソケット通信は出来る様になりました。しかし Vim には非同期インタフェースがありません。

    Big Sky :: Vim にchannel(ソケット通信機能)が付いた。
    hokaccha
    hokaccha 2016/01/29
    すごい
  • Big Sky :: golang で複数のエラーをハンドリングする方法

    golangいまどき例外ないの頭おかしいって思ってたけどようするにgoroutineと例外がうまくいかないからgoroutineのほう取って例外捨てたってことかねえ。 — Urabe, Shyouhei (@shyouhei) April 15, 2014 FAQ に書いてあります。 Why does Go not have exceptions? - Frequently Asked Questions (FAQ) - The Go Programming Language We believe that coupling exceptions to a control structure, as in the try-catch-finally idiom, results in convoluted code. It also tends to encourage programme

    Big Sky :: golang で複数のエラーをハンドリングする方法
  • Big Sky :: ぼくが知ってる twitter じゃない

    もう僕が知ってる twitter じゃなくなってきてる。 Twitter、開発者向けガイドラインとAPI変更について説明 ユーザー数制限など厳しい内容 - ITmedia ニュース 米Twitterは8月16日(現地時間)、数週間後に予定しているTwitter APIのバージョン1.1へのアップデートと開発者向けガイドライン「Developer Rules of the Road」の改定について説明した。クライアントアプリのユーザー数に上限を設けるなど、サードパーティーにとって厳しい内容になっている。 http://www.itmedia.co.jp/news/articles/1208/17/news037.html Twitter のことと P3:PeraPeraPrv について - とかいろいろ 彼らはこのユーザーの「好みのクライアントアプリを選ぶ自由と権利」を奪うという決定をしまし

    Big Sky :: ぼくが知ってる twitter じゃない
  • Big Sky :: VimでDBが操作できる vdbi-vim 作った。

    DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 http://d.hatena.ne.jp/kiwanami/20120305/1330939440 VimもーVimもー! って事で作りました。 mattn/vdbi-vim - GitHub Database client for Vim https://github.com/mattn/vdbi-vim Emacs版はepcというRPCプロト

    Big Sky :: VimでDBが操作できる vdbi-vim 作った。
  • Big Sky :: VimでMessagePack/RPC

    Vimが無いと夜も安心して眠れないVimキチガイの皆さんこんにちわ。 Twitter そういえば、VimもMessagePackで通信できると面白いのではないか。 https://twitter.com/#!/ShougoMatsu/statuses/168691297601863681 こうですかわかりません。 mattn/msgpack-vim - GitHub MessagePack implements for vim https://github.com/mattn/msgpack-vim Vim scriptは型が豊富ではないので、可逆圧縮ではありませんが簡単な物ならば動きます。 # -*- coding: utf-8 -*- require 'msgpack/rpc' class MyHandler def add(x,y) x+y end end svr = Message

    Big Sky :: VimでMessagePack/RPC
    hokaccha
    hokaccha 2012/02/15
    近年稀に見る誰得
  • Big Sky :: モテる男のVim script短期集中講座

    ここで関数リファレンスのみ格納先の変数の先頭が大文字になっていますが、これはVim script特有の制限になります。 数値は一般的な言語と同じ様に四則演算できます。文字列については.を用いて連結します。 また文字列は添え字によるアクセスが可能で、pythonの様に echo "hello"[1:3] という記述が出来ます。その他文字列操作関数については:help evalに詳しく記述されています。 また型同士の比較についてはthincaさんの記事が役立ちます。 Vimスクリプト基礎文法最速マスター - 永遠に未完成 Vimスクリプト基礎文法最速マスター vim 流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 Route 477... http://d.hatena.ne.jp/thinca/20100

    Big Sky :: モテる男のVim script短期集中講座
    hokaccha
    hokaccha 2011/12/04
  • 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エンジン書いた。
  • Big Sky :: 日本語grepが出来るjvgrepというのを作った。

    語を扱っていて困るのがgrep。正規表現パターンにマルチバイト文字を混ぜられなかったり、windowsで動かすと"表"の様に2バイト目にbackslashが混じる文字で動作しなくなったりします。 さらに複数のエンコーディングで書かれたファイルが散らばっていると一度のgrepで検索出来なかったりもします。 vimに限っては、内蔵のvimgrepを使う事で解決出来ますが、見つかったファイルをバッファに開いてしまうという挙動がある為、grepオリジナルの動作を求めている人にとっては都合の悪い物だったりもします。 vimgrepの様に複数のエンコーディングに対応していて、検索パターンにマルチバイト文字を含んだ正規表現が使えて、windowsでもちゃんと動いて、ついでといっちゃあなんだが、"**/*.txt"で再帰検索してくれる様なgrep無いかなぁと思ってたんですが、やっぱり無いので作りました

    Big Sky :: 日本語grepが出来るjvgrepというのを作った。
  • Big Sky :: さよならIE6たん

    君と会わなくなって随分と年月が過ぎたね。 最近になって僕は何度か君の事を思い出してる。 君と初めて会った時、僕はまだNetscape Communicatorっていう恋人と付き合ってたんだよね。 彼女はブラウザとしてだけじゃなくって、メーラなんかもこなせる、ちょっとポッチャリした娘だったんだよ。 まぁ僕の友達から言わせると「ポッチャリどころじゃねぇだろ」って言ってたけどね。 でも君と出会って僕の人生は大きく変わった。 君はとてもお茶目で、よく僕に「不正な処理を行いました」なんて可愛いメッセージを見せてくれたよね。 今でも鮮明に覚えてるよ。 何かあるとすぐクラッシュしたよね。CSSで「:first-letter」とか指定すると、簡単に落ちちゃったよね。 一緒に青い画面、よく見に行ったっけ。 互換性の無い独特な仕様も、君らしくて愛くるしいとも思えた。 buttonタグのvalue属性の値とか、

    Big Sky :: さよならIE6たん
    hokaccha
    hokaccha 2011/03/31
  • Big Sky :: Uniteプラグイン書いた。

    最近のVim界隈では、バッファセレクタの新しい形の一つであるUniteが注目を浴び始めています。 Shougo's unite.vim at master - GitHub unite all sources https://github.com/Shougo/unite.vim Uniteはバッファセレクタという単純な概念に縛られた物ではなく、候補選択を行うユーザインタフェースとして提供されるライブラリ的な代物です。 Uniteにはバッファやファイル、MRU(Most Recently Used)等、通常候補選択しそうな物がUnite sourceとして既に含まれていますが、プラグインを書く事で自分で定義した候補選択がUI付きで実現出来る事になります。 Uniteはまだ発展途上ではありますが、今日はどれだけ少ないコードでUnite UIが使える様になるかを皆さんに伝えるべくUniteプラ

    Big Sky :: Uniteプラグイン書いた。
  • Big Sky :: Facebookの今後を勝手に予測してみる。

    人が増える サーバが落ちる サーバが落ちる イルカ昇天画像 グリーンピースから(以下略 Facebook婚 Facebook離婚 改変リンク ネタパクリ疑惑 闇プログラマ(以下略 2000人くらいフォローしないと観測範囲が(以下略 勝手にリンク禁止 勝手にフォロー禁止 勝手に「いいね!」禁止 はま○やという人が「こんにちわ、こんにちわ」(以下略 はせ○わようすけという人が「Facebookの壊し方」をノートに(以下略 ○ぬがわまさとという人がXSS(以下略 Facebookで動くボット登場 ボットと知らずに恋する人現る Facebook版ふぁぼったー登場 ダッシュボードに大量の「なるほど5時じゃねーか」 勝手に「いいね!」(以下略 FacebookをFBって略すな 認証APIの大胆な変更 サポートがユーザに「君らはクライアントの半分を殺した」と言われる

    Big Sky :: Facebookの今後を勝手に予測してみる。
  • Big Sky :: Google日本語入力APIを使ってvimでmigemo検索

    先日「Google 日本語入力 - CGI API」が公開されましたね。 Google 日本語入力 - CGI API デベロッパーガイド Google CGI API for Japanese Input Google CGI API for Japanese Input は、日語変換をインターネット上で実現するための、CGI サービ... http://www.google.com/intl/ja/ime/cgiapi.html こんなの migemo の為にあるみたいなもんじゃないですか! さっそく作りました。 "============================================================================= " File: gmigemo.vim " Author: Yasuhiro Matsumoto <mattn.jp

    Big Sky :: Google日本語入力APIを使ってvimでmigemo検索
    hokaccha
    hokaccha 2010/10/12
  • Big Sky :: MacでもLinuxでもWindowsでもTwitterのhome_timelineをGrowl

    PerlのGrowlライブラリって色々ある訳ですが、誰かが書いたGrowlするアプリのコードを実行しようとした際にWindowsLinuxで動かないと少し悲しくなります。 そこでGrowl::Anyってのがあればいいんじゃね?って事で書いてみました。 Mac::Growl、notify-send、Desktop::Notify、Net::GrowlClient、Growl::GNTPのどれかがインストールされていれば使えます。 mattn's p5-Growl-Any at master - GitHub perl module that provide any growl application http://github.com/mattn/p5-Growl-Any 今日はこれを使って、twitterのhome_timelineをGrowlするスクリプトを書いてみました。 #!per

    Big Sky :: MacでもLinuxでもWindowsでもTwitterのhome_timelineをGrowl
  • Big Sky :: Twitterが考えるAPI認証とは

    ようやくTwitterのやりたい事が分かった気がする。 数日前、TwitterのxAuth/OAuthの扱いについての記事を書いた。 レスポンスの悪さや開発者に足を向けているとも思える対応に、イヤミたっぷりの文面を残したのだが... mattn: ところで、Basic認証を廃止した事でTwitterはポスト出来てるアプリケーションの50%を殺したんだと、私は信じているよ。 そのお返事が来ました。が、いきなり出口を塞がれてしまいました。 Twitter Support: Hi, Again, we ask that you do not distribute your application's keys and secrets with its source. We are happy to review your application for xAuth once you provid

    Big Sky :: Twitterが考えるAPI認証とは
  • Big Sky :: TwitterのBasic認証廃止は約半分のデスクトップクライアントを殺した。

    さて、TwitterがBasic認証を廃止して1ヶ月が経とうとしています。 皆さんクライアントをOAuth対応したり、乗り換えたりしたでしょうか? 今までBasic認証で動いていた、ちょっとした捨てコード、どうなってるでしょうか? Twitterが始まった当初、gtktwitterというデスクトップGUIで動くTwitterクライアントを作りました。まぁ作りはそれ程優れた物じゃなくて、RTなんか無い頃でfriends_timelineが見れて、発言出来て、@によるリプライが出来る程度の物でした。 ただ純粋なC言語だけでGTKおよびcurlを使ったクライアントという事もあり、一部のgeekからは人気があったみたいです。 さてこのgtktwitterを今回、Basic認証が消え去った現状でも動くようにしてあげようと思い、今回改造を始めた訳です。 まず大きな壁にぶち当たりました。 Twitter

    Big Sky :: TwitterのBasic認証廃止は約半分のデスクトップクライアントを殺した。
  • Big Sky :: quickrun.vimをパクってquickdan.vimというのを書いた。

    RubyKaigiの一部として開催されてVimKaigi、なかなか面白そうでした。 Vimmerもだんだん増えてきました。plugin使ってる人も多い様です。実は私はあまりpluginの使用に依存しない様に心がけていたりするんですが、中にどうしても手放せない物があり、その中の一つがquickrun.vimだったりします。 thinca's vim-quickrun at master - GitHub Run commands quickly. http://github.com/thinca/vim-quickrun ちなみにtwitterでquickrun.vimを検索すると結構出てきます。 さて、私が使っているWindows環境にはpythonが数バージョン入っていて、あえてどれにもPATHを通していなかったりします。にも関わらず起動したvimから何時もの癖でquickrunを実行し

    Big Sky :: quickrun.vimをパクってquickdan.vimというのを書いた。
    hokaccha
    hokaccha 2010/09/02
    その発想はなかったw
  • Big Sky :: VimmerなPerl開発環境

    えーっと、IDE使ってません。ごめんなさい。 PerlをIDEで書いてる人、どれくらいいるんだろう。何使ってるんだろ。 私はLinuxでもWindowsでもVimを使ってます。Perlってサーバで使われる事が多いし、サーバだとsshで入る事が多いだろうし、まぁXの転送やVNCやそれっぽいのでグラフィカルに操作しても良いけど、正直PerlのドキュメントもテキストベースだしPerlで入力補完出来るグラフィカルエディタもまず無いと思ってる。 で、私がVim上で使ってるPerlの開発を「200倍便利にするスクリプト」を紹介。 perldoc.vim perldocはPerlのオンラインマニュアルなんだけど、これを一々ターミナルに戻ったりして引いてると時間のロス。screenで分割して開いてもいいんだけどscreenの画面間移動よりもVim内でのウィンドウ間移動の方が操作感が統一出来てて良い。 そこ

    Big Sky :: VimmerなPerl開発環境
  • 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で動画再生
    hokaccha
    hokaccha 2010/03/29
  • Big Sky :: zen-codingの殆どの機能をzencoding.vimに取り込んだ。

    全国1億8千万人のzen-codingファンの皆様、如何お過ごしでしょうか。 先日の記事でzen-codingをpure vimscriptに移植した「zencoding.vim」をご紹介させて頂きました。 あの時は略語の展開(Expand Abbreviation)しか機能がなく物足りなかったかもしれません。まぁ殆どの移植品はExpand Abbreviationしか無いのですが。 zen-codingには他どんな機能があるかというと、実はまだ便利な機能があったりします。 オフィシャルのサイトによると Expand Abbreviation Wrap with Abbreviation Balance Tag Inward/Outward Go to Next/Previous Edit Point Update Image Size Merge Lines Remove Tag Spl

    Big Sky :: zen-codingの殆どの機能をzencoding.vimに取り込んだ。
  • Big Sky :: デスクトップアプリケーションでも認証可能なOAuth「xAuth」をpythonから試してみた。

    TwitterのBasic認証APIは6月で廃止される予定なのですが、OAuthという認証方法はブラウザを起動してユーザに認証して貰わなければなりません。一見flickrアプリケーションの様な認証方法を想定しますが、OAuthはflickr認証の様にサーバから貰ったトークンをブラウザから渡して認証させる様な物ではありません。 今回OAuthの問題を解決すべくOAuthを拡張した認証方式であるxAuthが取り入れられました。 詳しくはAPIドキュメントか以下のサイトが分かりやすいかと思います。 s-take Blog.: Twitterによる簡易版OAuth: "xAuth" 従来のOAuth認証ではまずアプリケーション(OAuthコンシューマ)がTwitterに接続してRequest Tokenを取得し、認証画面を開いてRequest Tokenを承認させ、承認されたRequest Tok

    Big Sky :: デスクトップアプリケーションでも認証可能なOAuth「xAuth」をpythonから試してみた。