Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

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

  • Big Sky :: gRPC を使ったファイル転送ツール作った。

    WindowsLinux 間でちょっとしたファイル転送をしたいと思った時に msys2 の ssh コマンドや WinSCP が入ってなくて、さらにレジストリなどを汚したくない環境で手軽に使える使えるファイル転送ソフトが欲しかった。Linux 側から Samba で繋いでも良いんだけど、その用途の為だけに Samba いれたくないなと思ったのでバイナリを1個ポンとコピーすれば使える物を作った。 GitHub - mattn/ft ft is CLI tool that transfer files. https://github.com/mattn/ft 使うには両方の端末に ft というコマンドがインストールされている必要がある。「Go が入れられるなら msys2 も(ry」とか言われてしまいそうだけど、実際にそういう環境や要件ってあるのですよ。はい。 Go で書いたので go

    Big Sky :: gRPC を使ったファイル転送ツール作った。
  • Big Sky :: zencoding-vim に新しいフィルタを追加した。

    以前から、CSVを一気にtableに出来たらいいなーと思ってたので実装してみた。 例えば以下の様なカンマ区切りのデータ行をビジュアル選択して tokuhirom, geek, perl kazuho, geek, jsx hasegawayosuke, xss, javascript <c-y>, をタイプし、以下のクエリを入れる | はフィルタを開始する識別で、/というフィルタに続いて,\s*という分割する為の正規表現パラメータを渡す。フィルタは元々カンマで複数指定が可能なので、\,という風に誤爆しないようにエスケープしてる。 Tag: table>tr*>td|/\,\s* するとこうなる。 <table> <tr> <td>tokuhirom</td> <td>geek</td> <td>perl</td> </tr> <tr> <td>kazuho</td> <td>geek</t

    Big Sky :: zencoding-vim に新しいフィルタを追加した。
    poppen
    poppen 2013/11/05
    むちゃ便利!
  • Big Sky :: Go言語で動く mobirc、gomirc で携帯からIRCしよう。

    以前から携帯から IRC する手段として mobirc を使ってきたのだけど、使ってるサーバのリソースが少なすぎてちょくちょく困ってました。 「これ、Go言語で書いたらパフォーマンスも出るし、使用リソースも減るし万々歳じゃね?」というアホの一つ覚えみたいな動機で作り始めました。 mattn/gomirc - GitHub https://github.com/mattn/gomirc mobirc とほぼ同等の機能が動きます。 複数ネットワーク クリッカブルリンク 画像インライン表示 新着件数表示 ログイン機能 iPhoneビューも付いてます。 あと、バックログ機能が付いてましてサーバを再起動したい場合は CTRL-C すると backlog.json というファイルに最新100件のバックログが保存されます。 config.json は以下の様に記述します。 { "irc": [ { "n

    Big Sky :: Go言語で動く mobirc、gomirc で携帯からIRCしよう。
    poppen
    poppen 2013/05/10
  • Big Sky :: gomon と goalert で快適Go言語開発

    ディレクトリを監視して、変更があれば指定のコマンドを実行してくれるツール gomon を c9s さんが作ってくれました。 c9s/gomon - GitHub https://github.com/c9s/gomon この gomon を活用すべく goalert というツールを作りました。 mattn/goalert - GitHub https://github.com/mattn/goalert これらを組み合わせて $ gomon . -- goalert go build -x とやっておくと、ソースの修正に伴い goalert が起動し、goalert が go build を実行します。結果としてエラーになった場合は、goalert が Growl サーバに結果を投げてくれます。 めっちゃ便利になりました。

    Big Sky :: gomon と goalert で快適Go言語開発
    poppen
    poppen 2013/05/10
  • Big Sky :: Mersenne Twister のライセンスが変更された

    « Pownce SupportにAtomPP/WSSEのPasswordDigestの作り方が間違ってるんじゃないか?とメールしても返事が返って来ない件 | Main | Lingr のGo言語部屋に golang_bot 作った。 » 乱数生成アルゴリズムは数ありますが、省リソースで循環周期の長く、生成速度が速いアルゴリズムとして Mersenne Twister が候補として上げられます。 mruby の Random でも採用されていましたが、先日ライセンスが変更され MIT への書き換えが可能となりました。ありがたいですね。 Mersenne Twisterの商用について 2001年4月6日まで、MTはGNU Public Licenseの元に配布していましたが、 多くのユーザーから「販売用プログラムに組み込むことができない」という お便りをいただきました。 松-西村はMTを販

    Big Sky :: Mersenne Twister のライセンスが変更された
    poppen
    poppen 2013/04/10
  • Big Sky :: それビム

    vim memo - neotagの雑文 出来たらいいと思う事 Twitter twitvim でhttp://www.vim.org/scripts/script.php?script_id=2204 Google検索がVimのみで完結 LivedoorReaderが読める あった http://mattn.kaoriya.net/software/vim/20090622171527.htm はてブのHotentryが読める 画像表示とかって無理だよね? 編集してるページをリアルタイムにテキストブラウザで閲覧 http://d.hatena.ne.jp/neotag/20090731/1249053709 えーーーと。 はてブのHotentryが読める それビム! mattn/ctrlp-hotentry - GitHub https://github.com/mattn/ctrlp-

    Big Sky :: それビム
    poppen
    poppen 2013/03/24
  • Big Sky :: AppFog で clojure アプリケーション動かしてみた。

    AppFog というサービスを使えば色んなアプリケーションをクラウド上で動かせるので勉強に持ってこいですね。 AppFog: PaaS for Public and Private Clouds Fast and Easy Select name, size and stack, then launch. Make your apps even more powerful with popul... https://www.appfog.com/ 使える言語も結構多くて いろいろ使えるし、デプロイ先も選べる。AWS とか無料で使わせて貰えてチョーすげー。 Java は Jetty じゃなく Tomcat で動いてるらしかったので、clojure 使ってみようと試してみた。 $ lein new hello で新しいプロジェクト作って Tomcat 向けに WEB-INF を作る。 |  

    Big Sky :: AppFog で clojure アプリケーション動かしてみた。
    poppen
    poppen 2013/02/16
    Fast and Easy Select name, size and stack, then launch. Make your apps even more powerful with popul... via Pocket
  • Big Sky :: 最速と言われる JSON パーサ「rapidjson」が本当に爆速なのか試してみた。

    なんびとたりとも俺の前は走らせねぇ ガチバトルです。 rapidjson - A fast JSON parser/generator for C++ with both SAX/DOM style API - Google Project Hosting Rapidjson is an attempt to create the fastest JSON parser and generator. Small but complete. Support... https://code.google.com/p/rapidjson/ fastest をうたうとは度胸があるなーと思いながら、半信半疑で試してみました。 rapidjson も picojson 同様に、ヘッダファイルだけあればコンパイル出来る C++ 向け JSON パーサ(およびシリアライザ)です。 まずは rapidjso

    Big Sky :: 最速と言われる JSON パーサ「rapidjson」が本当に爆速なのか試してみた。
    poppen
    poppen 2013/02/16
    Rapidjson is an attempt to create the fastest JSON parser and generator. Small but complete. Support... Why rapidjson is fast? rapidjson has made use of several techniques to achieve high performance. C++... via Pocket
  • Big Sky :: 日本語プログラミング言語「なでしこ」で LTSV パーサ書いた

    人なら日語だろ!! 日語プログラム言語「なでしこ」公式ページ 「PC Online」に執筆していたコラム(へのリンク)が、PBSupport さんのページで、FM用(FileMaker)のデータベースとして公開されました。 これは、クジラ飛行机「文系サラリーマン... http://nadesi.com/ #!cnako データとはハッシュ 「hoge:foo  bar:baz time:20:30:58」を「\t」で正規表現区切る それを反復 それを「^([^:]+):(.*)」で正規表現マッチ データ@抽出文字列[0]は抽出文字列[1] データを表示 実行結果 time=20:30:58 bar=baz hoge=foo 参考資料 【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリー Labeled Tab-separated Values

    Big Sky :: 日本語プログラミング言語「なでしこ」で LTSV パーサ書いた
    poppen
    poppen 2013/02/08
    「PC Online」に執筆していたコラム(へのリンク)が、PBSupport さんのページで、FM用(FileMaker)のデータベースとして公開されました。 これは、クジラ飛行机「文系サラリーマン... via Pocket
  • Big Sky :: 最近の zencoding.vim

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

    Big Sky :: 最近の zencoding.vim
    poppen
    poppen 2013/01/20
    zencoding.vim、Haml対応しているんだ! haml.vimいらないや!
  • Big Sky :: コマンドラインからredmineを扱える「godmine」作った。

    とりあえず issues 関連は出来てるので、これを使うコマンドラインプログラムを書いた。 $ go get github.com/mattn/go-redmine/godmine 名前は中二病っぽいけど「godmine」という名前にした。 使い方は、例えば issue の一覧であれば $ godmine issue list もしくは $ godmine i l issue の登録は $ godmine issue create "なんてこった" "大変だ!" みたいにするか $ godmine issue append で起動するテキストエディタ(環境変数EDITORを参照しunix改行コードが扱えるテキストエディタのみ使用可能)で ### Subject Here ### ### Description Here ### 上記の部分を書き換えて保存終了する。 設定ファイルは ~/.c

    Big Sky :: コマンドラインからredmineを扱える「godmine」作った。
    poppen
    poppen 2012/12/03
  • Big Sky :: vim-powerline のモードインジケータを日本語にする方法

    最近 pull-request した奴。 let g:Powerline_mode_i = '挿入' let g:Powerline_mode_R = '置換' let g:Powerline_mode_n = '通常' let g:Powerline_mode_v = 'ビジュアル' let g:Powerline_mode_V = '行ビジュアル' let g:Powerline_mode_cv = '矩形ビジュアル' let g:Powerline_mode_s = '選択' let g:Powerline_mode_S = '行選択' let g:Powerline_mode_cs = '矩形選択'

    Big Sky :: vim-powerline のモードインジケータを日本語にする方法
    poppen
    poppen 2012/08/24
  • Big Sky :: 使える FizzBuzz

    SNSでFizzBuzzが再燃しておりますが、面接時の足きり尺度としてFizzBuzzが使えるかどうかは別として、コードとしてFizzBuzzは有益でもなんでも無いので、FizzBuzzを題材としたコードを晒してみる。 Go言語には、元々Gobと呼ばれるエンコーダが同梱されていて、Goで扱える型をストリーム上に垂れ流しデコードする事が出来る。かつ、RPCも用意されているので小規模なクラサバならば簡単に書けてしまう。 巷のRPCは、エンティティからスタブを作ったり面倒だったりしますが、Go言語ではクライアントとサーバの意識さえ合っていればスタブも必要ない。 まずサーバ package main import ( "fmt" "net" "net/rpc" ) type FizzBuzz int func (fb *FizzBuzz) Serve(n int, r *string) erro

    Big Sky :: 使える FizzBuzz
    poppen
    poppen 2012/08/12
  • Big Sky :: 業務プログラマが書くJava

    gist に置いておくのも勿体ないかなと思ったので、こちらにも。 職業PGにわかるFizzBuzz - 日々常々 なんかFizzBuzzが書けないPGがどーとか定期的に話題になってるけど、私に言わせれば説明の仕方が悪い。 http://d.hatena.ne.jp/irof/20120808/p1 この設計書を参考に業務プログラマっぽくコードを書いてみた。 業務プログラマがFizzBuzz書いたらどうなるか ( ref: http://d.hatena.ne.jp/irof/20120808/p1 ) — Gist https://gist.github.com/3292173 結構、設計書通りに作ったつもり。ループじゃなく、標準入力から読み込み、標準出力する部分も仕様通りです。 ただこの標準入出力を使っている事が裏目に出て、試験では標準入出力を一時的に差し替える必要があった。 試験コード

    Big Sky :: 業務プログラマが書くJava
    poppen
    poppen 2012/08/12
  • Big Sky :: VimからTogetter見れるtogetter-vim書いた。

    togettervimからダラダラと見たいという衝動に駆られ作ってみました。 mattn/togetter-vim - GitHub interface to togetter for vim https://github.com/mattn/togetter-vim

    Big Sky :: VimからTogetter見れるtogetter-vim書いた。
    poppen
    poppen 2012/08/05
  • Big Sky :: pathogen や vundle、neobundle を使う際に必ず読んで欲しい簡単おいしい、たった1つの速報まとめ

    タイトルは気にしないで下さい。 call vundle#rc() や call neobundle#rc() や call pathogen#runtime_append_all_bundles() は filetype plugin indent on よりも後でやってはいけない。上記の様な関数は何をしているかというと、来読み込まないパスにある vim plugin ディレクトリをランタイムパスに追加します。これらプラグイン管理系の仕事は主にランタイムパスへの追加です。vimvimrc を読み込んだ後に(GUIであればこのあとgvimrc)、runtimepath (省略名 rtp) に列挙されるディレクトリをランタイムパスとして認識していきます。この一括読み込みはこのタイミングしかありません。つまり上記の命令よりも前に filetype plugin indent on を実行

    Big Sky :: pathogen や vundle、neobundle を使う際に必ず読んで欲しい簡単おいしい、たった1つの速報まとめ
    poppen
    poppen 2012/07/17
  • Big Sky :: 最近の GNU CoreUtils を使っている限り rm -rf / は --no-preserve-root 付けないと / は消せない

    何に関連して記事を書こうと思った訳でもないです。たんなる一人コードリーディングです。 GNU CoreUtils に入ってる rm を読みました。 GNU Project Archives http://ftp.gnu.org/gnu/coreutils/ 読んだのは coreutils-8.17.tar.xz に入ってる src/rm.c preserve_root 変数は 203行目にある main で int main (int argc, char **argv) { bool preserve_root = true; struct rm_options x; true に初期化されていて319行目 if (x.recursive && preserve_root) { static struct dev_ino dev_ino_buf; x.root_dev_ino = get

    Big Sky :: 最近の GNU CoreUtils を使っている限り rm -rf / は --no-preserve-root 付けないと / は消せない
    poppen
    poppen 2012/07/16
  • Big Sky :: やったーmrubyの動くMySQLできたよー

    やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール しばらく 積ん読 していたこのをちょっと眺めてみたら、 MySQL のUDFって簡単に作れるんだなー、と思った && そういや V8 って ライブラリ として簡単にリンクできるはずだな、と思い出した... http://d.hatena.ne.jp/zentoo/20110925/1316961032 Big Sky :: やったーJavaScriptの動くSQLiteできたよー 正誤表を書くのにしばらくこのをちょっと眺めてみたら、SQLiteのUDFって簡単に作れるんだなー、と思った && そういやV8ってライブラリとして簡単にリンクできるはずだな、と思い出した ので、つい... http://mattn.kaoriya.net/software/lang/c/20110926141218.htm まぁ、

    Big Sky :: やったーmrubyの動くMySQLできたよー
  • Big Sky :: Vimでギャル文字

    Vimでギャル文字を打てるプラグイン作った。 mattn/gal-vim - GitHub https://github.com/mattn/gal-vim 例えば :GalOn と実行したあと はまちおにいちゃん とタイプすると レ£маちぉL=L1ちゃh と入力されます。素晴らしいですね! 無効にするには :GalOff とします。また、既に出来上がった文書をギャル文字にしたい人もいるかと思いましたのでGalReplaceコマンドも用意しました。 :%GalReplace と実行すれば文書内が全てギャル文字になります!先日書いた記事 Big Sky :: シャア「Viをやめろと言ったはずだ。それがVimとはな」 シャア 「Viをやめろと言ったはずだ。それがVimとはな」 セイラ 「兄さんこそ、EmacsユーザにまでなってVimmerに復讐しよう      なんてやることが筋違いじゃなく

    Big Sky :: Vimでギャル文字
  • Big Sky :: シャア「Viをやめろと言ったはずだ。それがVimとはな」

    シャア 「Viをやめろと言ったはずだ。それがVimとはな」 セイラ 「兄さんこそ、EmacsユーザにまでなってVimmerに復讐しよう なんてやることが筋違いじゃなくて?」 シャア 「お前の兄がその程度の男だと思っているのか?アルテイシア」 セイラ 「え?」 シャア 「Emacsユーザになって小指を鍛えて来たのも、小指で遠いESCキーを 押したかったからだ。しかしな、アルテイシア、私だってそれから 少しは大人になった」 シャア 「VimmerをEmacsユーザが倒すだけではテキストエディタ界の真の 平和は得られないと悟ったのだ」 セイラ 「なぜ?」 シャア 「Eclipseの逆襲だ」 セイラ 「EclipseがエディタじゃなくIDEだから?」 ブライト 『Eclipse?』 シャア 「うむ、そのEclipseを敵にするのは面白くない。今後はこれまで 培った変態技が使えぬ、ということだ」 セ

    Big Sky :: シャア「Viをやめろと言ったはずだ。それがVimとはな」