タグ

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

  • Big Sky :: Facebookの今後を勝手に予測してみる。

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

    Big Sky :: Facebookの今後を勝手に予測してみる。
  • 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
    tyru
    tyru 2010/10/10
    Growl::Any++ Growl for Windows++
  • 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検索
  • Big Sky :: vimperatorで「はてなスター」を打つ「hatenaStar.js」書いた。

    なんか「入れろ!」と言われた気がしたので入れました。vimperator pluginデビュー? まぁ大したものではないですが... hatenaStar.js 使い方は :hatenastar もしくはノーマルモードから「,?s」です。カウントが使えますからotsune氏の記事に10個はてなスターを付けたかったら「10,?s」とすればよし。 ま、vimperatorはちょっと変態的なので常用するかはこれから決める。

    Big Sky :: vimperatorで「はてなスター」を打つ「hatenaStar.js」書いた。
    tyru
    tyru 2010/10/05
    「:hatenastar {text}」ではないのか... / スター追加のボタンを探すのか。素直にURLに1個スター追加してくれたほうがうれしいなぁ。
  • Big Sky :: リチャードストールマンがemacsのメンテナから引退するという話に思った事

    一つの時代が終わるのかな。 リチャード・ストールマンが Emacs のメンテナを引退 - YAMDAS現更新履歴 Looking for a new Emacs maintainer or team vimではBram氏がメンテナであり、Bram氏がGoogleに移籍してからも尚、ワンマンな体制をとり続けている。 パッチを含む全てのリリースからリリースアナウンスまで全てをBram氏が行う。 パッチは皆vim-devに送るけれど、Bram氏がOKを出さない限り取り込まれない。 これまで、ほぼ例外なくそうだった。 Bram氏は引退について考えた事、あるんだろうか。 他のプロジェクトの様にBram氏の右腕とか、作らないんだろうか... vimってBram氏引退したらどうなるんだろ... 今まで突飛な機能でも良いと思った機能は取り込んでくれる様なリーダー、マルチバイトに関する物は率先して取り組んで

    Big Sky :: リチャードストールマンがemacsのメンテナから引退するという話に思った事
  • 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 :: 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で化けたファイルを開く方法

    vimはファイルを開く際、iconvを使用してfileencodingsの順に変換を試し、正しく変換出来た物をfileencodingとして使用する仕組みになっています。 つまり化けたファイルだと、どのfileencodingsにもマッチせずencodingで指定されたエンコーディングでファイルが開かれステータス行に「変換失敗」と表示される事になります。 しかしながらそのファイルのエンコーディングが分かっている場合もあります。vimでは++encオプションを指定する事で指定のfileencodingでファイルを開く事が出来ます。 :e ++enc=utf-8 foo.txt この場合、vimはiconvで変換出来なかった文字を?という文字で置き換えてしまいます。 # echo あいうえお | iconv -f char -t utf-8 > utf8.txt # echo あいうえお |

    Big Sky :: vimで化けたファイルを開く方法
  • Big Sky :: VimでGoがautocomplete出来るgocodeがいい感じ

    Goは型宣言無しに値が代入出来てしまうので、カーソル上の変数から型推測する必要がある補完は難しいんじゃないかなーと思ってたら、なんと作った人がいました。 すげー。 nsf's gocode at master - GitHub Autocompletion/refactoring daemon for Go language.Work in progress..Currently available things: - .a... http://github.com/nsf/gocode 仕組みはvimスクリプト内でデーモン起こしてコードとキーワードと共にサーバ側でコンパイルし、解析して返すというもの。通信にはRPCが使われている。 補完はomniなので<c-x><c-o>で開始。ちゃんと インスタンスメソッド一覧 構造体のメンバ パッケージ内の定数や型、関数 もろもろ補完してくれる。私が

    Big Sky :: VimでGoがautocomplete出来るgocodeがいい感じ
  • Big Sky :: vimで、はてなスーパーPre記法に言語毎のシンタックスを適用する

    今日、とある場所でkanaさんからvimに"syn-include"なんて物があるのを教えて貰いました。 :he syn-include 9. Including syntax files                               *:syn-include* *E397* It is often useful for one language's syntax file to include a syntax file for a related language.  Depending on the exact relationship, this can be done in two different ways: - If top-level syntax items in the included syntax file are to be allowed at

    Big Sky :: vimで、はてなスーパーPre記法に言語毎のシンタックスを適用する
  • Big Sky :: Vimで外部ライブラリを複数個の引数で呼び出せるlibcallex.vim書いた。

    tyruさんが既に記事にしてくれてますが、こちらでも。 mattnさんが前の記事にコードで回答してくれた - おつあり mattnさんが前の記事にコードで回答してくれた Vim mattn’s libcallex-vim at master - GitHub こんなリポジトリが作られたので十中八九僕のlibcall()... http://d.hatena.ne.jp/tyru/20100518/cool_mattn 通常 libcall は引数が1つしか扱えないのですが、内部でJSONでやりとりしてC言語で書いた呼び出しproxyを介して外部ライブラリ(DLL等)の関数を呼び出せます。 とはいってもvimで扱える型しか対応していませんが、ちょっと無茶すればいろんな事が出来ます。 例えばuser32.dllのMessageBoxAを実行したり... so ../libcallex.vim

    Big Sky :: Vimで外部ライブラリを複数個の引数で呼び出せるlibcallex.vim書いた。
    tyru
    tyru 2010/06/18
  • Big Sky :: JSONをvalidation出来る正規表現。

    追記 os0xさんにjson2.jsで使われている手法である事を教えてもらいました。 正しくはエスケープが必要。 以下フォーラムで議論されている内容から拝借 validating json unnecessarily is killing firefox - jQuery Forum // Try to use the native JSON parser first if (window.JSON && window.JSON.parse) { try { return window.JSON.parse( data ); } catch (err) { jQuery.error( "Invalid JSON: " + data ); } } else { if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-f

    Big Sky :: JSONをvalidation出来る正規表現。
  • Big Sky :: HTML更新時にブラウザをリロード

    もう既出感丸出しですが... リロード如きでソケットサーバとか使うの嫌だったのでWindows API使った。 function! s:UpdateBrowser() python<<EOM import win32gui,win32api,win32con hwnd = win32gui.FindWindow("MozillaUIWindowClass", None) hwnd = win32gui.FindWindowEx(hwnd, 0, "MozillaWindowClass", None) win32gui.SendMessage(hwnd, win32con.WM_KEYDOWN, win32con.VK_F5, 0) EOM endfunction function! s:StartEditing() augroup HtmlEditing au! autocmd BufWr

    Big Sky :: HTML更新時にブラウザをリロード
  • 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で動画再生
    tyru
    tyru 2010/03/26
    テキストの可能性は無限大
  • Big Sky :: VimでFizzBuzz...いやBrainfuck

    先日、「はてなFizzBuzzグループ」に入って、さっそくvimのFizzBuzzを書いたのですが... 2010-03-04 - mattnの日記 - fizzbuzzグループ for v in range(1,100)|ec v%15?v%3?v%5?v :"Buzz":"Fizz":"FizzBuzz"|endfo http://fizzbuzz.g.hatena.ne.jp/mattn/20100304 数日後にid:tyruさんにgolfで抜かされた! Vim script - id:tyruが毎日FizzBuzzを一生懸命書く日記 - fizzbuzzグループ for i in range(1,100)|ec[[i,"Buzz"],["Fizz","FizzBuzz"]][i%3<1][i%5<1]|endfo http://fizzbuzz.g.hatena.ne.jp/ty

    Big Sky :: VimでFizzBuzz...いやBrainfuck
    tyru
    tyru 2010/03/12
    「はじめてのvi&vim」をこのエントリにのせるのはおかしいと思うのです。/やっぱりそうですよね。でも奇抜さじゃ僕も負けない!>golf度
  • Big Sky :: 興味のあるテキストエディタにVimと書いておいたら面接で爆笑された

    Inspired by http://d.hatena.ne.jp/moriyoshi/20100204/1265242273(興味のある言語にPHPと書いておいたら面接で爆笑された) UNIXエンジニアを募集してる会社の採用面接を受けた時の話。 転職エージェントに作れと言われて作ったシートに、「使っているテキストエディタ」という欄があったんです。 nanoとか秀丸とか色々書いたけど、一応WindowsでもUNIXでも使えて操作感が好きだったるので、 Vimと書いておいたのですが、それを見た仙人染みた長髪の面接官のリアクションが酷かった。 面接官「Vim・・・ふははっ!Vim!」 面接官「Vim使ってるんですか?wwwww」 俺「(唖然)は、はい・・まだVimscriptを理解したぐらいですが。。」 面接官「Vim・・・ニヤニヤ」 その人はEmacs信者と呼ばれていて、当然Vimくらい知っ

    Big Sky :: 興味のあるテキストエディタにVimと書いておいたら面接で爆笑された
    tyru
    tyru 2010/02/09
    RMS...
  • Big Sky :: カンチョーが迷惑行為か否か

    やっぱり少し私とは認識が違う気がする。 おごちゃんの雑文 » Blog Archive » 「はまちちゃん」をspamと断じる思考停止 この穴を「カンチョウ」で済ませているところが、はまちちゃんのサジ加減なのだ。 「スキだらけの後ろ」があることは、彼にはわかっている。わかっていてそこを突かないのは一見親切で礼儀正しい態度に見える。でも、そういった非常に突きやすい、単純な穴があることは、わかる人にはわかってしまっていて、気がついてないのは運営者だけという状態になっているのが、「Amebaなう」だったわけだ。はまちちゃんのやったのは「カンチョウ」かも知れないけれど、やれることがわかっている悪意の者であれば、 後ろから刺す ことだって出来るわけだ。「悪の組織」がはまちちゃんの彼女をどーこーしたら… とかだってないとは言えない。Amebaには首相官邸のブログだってあるわけで、ポストにちょっとした仕

    Big Sky :: カンチョーが迷惑行為か否か
  • Big Sky :: GoでGTK

    やっぱり新しい言語が出来たらGUIだよね! って事でGTKバインディング作ります! mattn's go-gtk at master - GitHub gtk extension for go http://github.com/mattn/go-gtk Goでは継承が使えないので、例えばGtkBoxを継承したGtkVBox/GtkHBox、GtkWidgetを継承したGtkWindow/GtkButton/GtkLabel...が上手く表現出来ません。 出来ないというか、GtkButtonにGtkWidgetと同じメソッドを生やそうと思うと、同じコードを書かなければなりません。 色々と模索した結果、gtk.Window()やgtk.Button()で返すのは常にGtkWidgetとし、GtkWindowやGtkButton独自のメソッドを呼び出したい場合には (&gtk.GtkWindo

    Big Sky :: GoでGTK
  • Big Sky :: Goでmigemoライブラリ作った。

    そろそろgoでライブラリを作る頃かなーと思って、migemo(cmigemo)を使う物を書いてみた。 mattn's go-migemo at master - GitHub migemo extension for go コードの中ではKoRoNさんのcmigemoを使った。コードは少ないけど実は少しハマって、今日はそれを書き記したい。 migemoでは、正規表現文字列やパターン文字列をunsigned char*で引数として扱っているんですが、cgoを使ったC言語ライブラリの取り込みを行う場合、char*と型が合わなくてコンパイルエラーが発生する。しかしC言語の様に *C.uchar(p) 等と書けない(これだとucharの参照になってしまう)Go君は、致し方なくchar*を引数に持つwrapper関数を用意するしかないんだけど、実はcgoにわせるgoファイルでは package m

    Big Sky :: Goでmigemoライブラリ作った。
    tyru
    tyru 2009/11/25
  • Big Sky :: Twitterの新しいReblogはやめた方が良い

    今日、TypePadが提供するMicroblogを作ってみた。 http://mattn.typepad.com/ とてもグラフィカルで、reblogもついててfavoriteもついててカッコイイのだが、これを見て最近twitterのBeta機能として盛り込まれているReblogボタンの存在に疑問を感じた。 twitterではこれまでRT(Retweet)する際にはユーザがRTという接頭語を入れ、さらにその前にコメントを付与してポストするのだけれど、実はこのボタン、押すとそのまま自動でRetweetされる。まぁコメントが入れれない訳なんですが、私が疑問を感じたのはそこじゃない。 「何故ボタンにしたのか」 私が思うにtwitterが起こした革命の一つが「テキストの可能性」へ着目した事だと思う。140字以内で、かつ太字に出来る訳でもアンカーを貼れる訳でもなく、かつ宛名をGUIで指定出来る訳でも

    Big Sky :: Twitterの新しいReblogはやめた方が良い