タグ

ブックマーク / kiwanami.hatenadiary.org (29)

  • 手元の init.el を淡々と紹介する - 技術日記@kiwanami

    Emacs Advent Calendar 2012の記事です。昨日は @syohex さんのEmacsでポモドーロテクニック - Qiitaでした。 さて、今回は手元の init.el のネタを淡々と紹介してみます。 みんな知っているよねというネタばかりだとは思いますが、逆に珍しかったりするものもあるかもしれないので、すこしでもお役に立てれば幸いです。 構造化 まず、設定ファイルの構造化ですが、いろいろ試した結果以下のような感じで分けることで定着しました。 init.el 以下のファイルを読み込み base 外部ライブラリに依存しない標準Emacsの設定 frame GUIなど見た目周りの設定 utils 便利ツールの読み込み、設定 modes 各種modeの読み込み、設定 keybinds グローバルキーバインドの設定 completions, e2wm, howm, org, wl,

    手元の init.el を淡々と紹介する - 技術日記@kiwanami
    tomoya
    tomoya 2012/12/18
    設定が大量のElisp素敵サンプルになっていて素晴らしす。最近の僕はElscreenのタブ非表示で使ってます。意外と不便ない。
  • Emacs/Lisp温泉やりました - 技術日記@kiwanami

    Emacs / Lisp 温泉 : ATNDという場所とEmacs/Lispというネタで、温泉合宿が成立するのかとても不安でしたが、蓋を開けたら予想以上に人が集まりました。また、温泉当日もかなり盛り上がりまして、初回としてはかなり成功したのではないかと思っています。自分もとても楽しかったです。 参加して頂きました皆様、ご協力ありがとうございました。また、残念ながら都合により参加出来なかった皆様、また次回どこかで温泉やると思いますのでぜひその時もまた検討してみてください。 準備・運営メモ 人気の黒川・久住・湯布院あたりを探していたのですが、半年以上前から予約しないと難しかったようです。あと、車でしか行けないような場所もあるため、温泉を取るか交通の便を取るかで迷いました。結局、人数にも余裕があって交通の便もいい玉名温泉にしました。今回のこの選択は割と良かったと思います。バスをチャーターす

    Emacs/Lisp温泉やりました - 技術日記@kiwanami
  • 技術日記@kiwanami

    求められている気がしたので、EmacsLispについて知っていることを書いておこうと思った。 PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream 開発に必要なN個のこと by Google パッケージマネージャ Cask を使うのが今風。先日CartonというPerlのパッケージマネージャと名前がかぶっていたので、改名された。 https://github.com/cask/cask ちなみに、普段使いであれば、Emacs24.xから標準で入っているpackage.elを使うか、el-getを使う。 Bitbucket | The Git solution for professional teams アプリケーションサーバ イベントドリブンなElnodeと、httpd.elをpure Emacsで書きなおした simple-httpd

    技術日記@kiwanami
    tomoya
    tomoya 2012/03/06
    id:kiwanami さんがまたやばそうなの作った!!!!
  • fukuoka-emacs 0x03 やりました - 技術日記@kiwanami

    9月23日に福岡 Ruby・コンテンツセンターにて、 Emacs の勉強会 fukuoka-emacs 0x03 を鬼軍曹の id:k1LoW さんと一緒にやりました。 前回の fukuoka-emacs 0x02 (テキストエディタ勉強会)から2年もたってしまいましたが、今回は Emacs だけで25人(最多時)もの人が集まりました。特に県外の方が 1/3 くらいを占めており、兵庫・岡山・山口・熊など、はるばる Emacs のために集まっていただいたことに大変感動しました。以下、簡単ながらレポートです。 レポート はじめに kiwanami より、ごあいさつ 勉強会の趣旨などの説明 初心者から上級者まで、情報共有や教えあえるようなコミュニティの育成を目指す 質問 Emacs の使用歴? 1年未満、1年から5年、それ以上、でそれぞれ 1/3 ぐらい 現状の設定に満足しているか、設定は長期

    fukuoka-emacs 0x03 やりました - 技術日記@kiwanami
    tomoya
    tomoya 2011/10/01
    これは良い纏め
  • GNOME Do を migemo 対応にしてみた - 技術日記@kiwanami

    GNOME Do というランチャーみたいなものがあります。 Home | Davebsd.com GNOME 上のただのランチャーであれば、標準の Alt+F2 でも悪くないのですが、 GNOME Do は Plugin によって Emacs の Anything のように拡張できると言うところがポイントです。最近開発が止まり気味ですが、端で見ている限りは、十分枯れていて、もうやることが無くなってきたと言う風に見えます。 大変便利なのですが、とても残念なことに検索に日語が(ほとんど)使えません。また、日語が使えない上に L10N な日語アプリ名で検索しようとするため、ほとんどのアプリが GNOME Do から起動できません。自分は、どうしても GNOME Do から起動したいものは、 /usr/share/applications/ の中に入っているショートカットファイルをいちいち書

    GNOME Do を migemo 対応にしてみた - 技術日記@kiwanami
    tomoya
    tomoya 2011/06/13
    migemo 使えるランチャーはヤバい。
  • 献本頂きました:良いコードを書く技術 - 技術日記@kiwanami

    かなり日が経ってしまいましたが、「良いコードを書く技術」の献をいただきました。 良いコードを書く技術 ?読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus) 作者: 縣俊貴出版社/メーカー: 技術評論社発売日: 2011/04/09メディア: 単行(ソフトカバー)購入: 46人 クリック: 2,459回この商品を含むブログ (68件) を見る 『良いコードを書く技術』という書籍を執筆しました。 (by 縣さん) 個人的には大変いいだと思っていますので、宣伝もかねて少しコメントしたいと思います。 対象読者 まずは、このがターゲットとしている対象読者についてです。 ブログなどでよく見るようなWeb系企業だけでなくて、ぜんぜん表に出てこないようなSIerも含めたエンジニアの人口分布を考えてみます。自分のこれまでの経験から、以下のような分布になっているのではない

    献本頂きました:良いコードを書く技術 - 技術日記@kiwanami
    tomoya
    tomoya 2011/06/01
    また凄いレビューがきた
  • Emacsへの知の集約 - 技術日記@kiwanami

    Emacsでアプリを作ることについての自分の考えのまとめ。 Emacsの2つの側面 Emacsの可能性を議論する場合に、エディタ・IDEとしてのEmacsと、アプリケーション実行環境としてのEmacsの2つの側面を分けた方が良いかなと思っています。両者がごっちゃになるので、「Emacsは環境だ」→「エディタでメールとか変態だ」→「むきー!!!」という不毛な議論になるのだと思っています。 単純なエディタやIDEとしてのEmacsについては、十分議論が出ていると思いますので、ここでは議論しません。個人的には、趣味なら自由、仕事でやるなら望まれた生産性を満たす好きなツールを使えばいいと思っています。 今回の議論は、アプリケーション実行環境としてのEmacsです。こちらは、 Eclipse RCP や FLEX、JVM系各種スクリプトや、各種Webフレームワーク、GAE や HTML5 といった言

    Emacsへの知の集約 - 技術日記@kiwanami
    tomoya
    tomoya 2011/05/14
    ウェブサービスのどこでも使えて便利という感覚と、Emacsアプリの何でも使えて便利という感覚は似ている。
  • concurrent.el リリース - 技術日記@kiwanami

    今まで何の説明も無しに自分のアプリで使ってきた謎ライブラリ concurrent.el ですが、一区切りが付いた気がしましたのでリリースしたいと思います。 この記事では concurrent.el の基盤である deferred.el について簡単に紹介して、 concurrent.el の機能と適用例を紹介します。 あらすじ deferred.el復習 concurrent.el紹介 機能一覧、コード例 cacoo.elでの設計解説 deferred.el 紹介 deferred.el の詳しい使い方やAPIなどはREADMEの文書がまとまっていますので、手っ取り早く使いたい人はそちらを参照してみてください。 おそらく、他の言語でDeferredに慣れていればすぐに使えるのではないかと思います。 deferred.el リリース - 技術日記@kiwanami (リリース記事:慣性スクロ

    concurrent.el リリース - 技術日記@kiwanami
    tomoya
    tomoya 2011/04/21
    なんか凄い広がってきた。いつか jQuery ならぬ eQuery みたいな言語拡張が出来て、誰でもお手軽 Elisp という未来もあるのかも。
  • Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami

    関西Emacsで発表したデモです。 まず、「FPS」は CoD MW のようなシューティングとかではなくて(それは是非やりたかったのですが)、一人称散歩(First Person Sanpo)プログラムです。FPSは釣りです。ごめんなさい。 (2011/05/06 追記: Vimにも出来てました!! 3D in Vim — KaoriYa) 動作風景 所詮テキストエディタのやることですので、期待せず、生暖かい目で見てください。 一人用のムービー バッファで描いた迷路を歩きます マルチプレーヤーのムービー Emacsでサーバーを起動して、3つのEmacsから接続します。あとでtelnetで直接接続してチートします。 動かし方:シングルプレーヤー 必要な物: 64bitEmacs23.x 22でも動くかも知れません 32bitだと整数桁あふれするそうです banner 文字のビットマップを取

    Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami
    tomoya
    tomoya 2011/04/14
    凄いのひとこと。Emacsでサーバーも作れちゃうんですね!
  • 関西Emacsに行ってきた - 技術日記@kiwanami

    (kansai-emacs #x03) : ATND = (kansai-emacs #x03) => "第三回関西Emacs勉強会" - ぺっくブログミラー@peccul ちょっと遠出して、関西Emacsに行ってきました。 福岡Emacsの企画の準備もかねて、どんな人たちがどんなことを期待して集まってくるのかをちょっと調べようというのと、最近のEmacsについて思うことについて話して議論してみたいなと思って行きました。 午前中、生でるびきちさんにお会いすることが出来ました。電車の中でAnythingと非同期について議論させてもらいましたが、ちょっとしかお話しできなかったのが残念でした。 会場は30人ぐらいぎっしりで、若い人から年季の入った熟練ユーザー、さらに女子の方もいて、たかがテキストエディタをネタにこんなに集まれるのがすごいですね。場所を提供していただいた株式会社アックスさん(

    関西Emacsに行ってきた - 技術日記@kiwanami
    tomoya
    tomoya 2011/04/14
    遠方から来て頂いて嬉しかったです。またお会いしましょう!!
  • cacoo.el v2.0 リリース - 技術日記@kiwanami

    cacoo.el を更新しました。 参考:初回リリース記事 Emacsでスムーズに図形編集ができるようになるcacoo.elを作ってみた - 技術日記@kiwanami 表向きは Anything で Cacoo の絵が選べるようになったぐらいですが、内部的にはかなり別物になりました。非同期処理を deferred.el と concurrent.el でほぼ全面書き直ししました。その結果、キャッシュ画像の扱いが賢くなり、動作速度の向上や信頼性などが向上しています。 動かした方が分かりやすいと思いますのでムービーを作ってみました。 ムービー内容:画像を一気に表示、Anythingで選択、プレビュー表示、migemo検索・絞り込み、文書へ貼り付け、サイズ調整 cacoo.elの説明については、github上のREADMEファイルに詳しく書いていますので、ぜひそちらも参照してください。 インス

    cacoo.el v2.0 リリース - 技術日記@kiwanami
  • yasnippet や emacs lisp の小ネタなど - 技術日記@kiwanami

    yasnippet は定型コードなどを素早く展開することが出来る汎用テンプレートフレームワークです。 yasnippet - Project Hosting on Google Code 普通の使い方 yasnippetのドキュメントは家のページに良くまとまっています。elisp書ける人は全部読むとかなりsnippet力が上がると思いますので、ぜひ読んでみたらいいと思います。 http://yasnippet-doc-jp.googlecode.com/svn/trunk/doc-jp/index.html (2011/09/15 追記) あと、以下のページでもみんなテンション高くなってます。(もう3年くらい前の祭りですが。。。) yasnippetがすごい!!!!1112345! - Kentaro Kuribayashi's blog yasnippet.elをインストールしてみた

    yasnippet や emacs lisp の小ネタなど - 技術日記@kiwanami
  • パスワード管理ツール id-manager.el 更新 - 技術日記@kiwanami

    id-manager.elを更新しました。あと、ちゃんと紹介記事を書いてなかったのでまじめに書きました。 以前の記事:2009/09/14 id-manager.el 何か 世の中にあふれるIDとパスワードを管理するものです。 例によって類似品がたくさんあります。有名なものを列挙すると以下のような感じでしょうか。 パスワード管理ソフト ID Manager フリー。Windows上の定番? パスワード管理、デジタルウォレット、パスワード生成 | ロボフォーム 商用。メーカー製PCにプリインストールされていることがある GNOME Keyring GNOMEの標準鍵管理ツール 家:Projects/GnomeKeyring - GNOME Wiki! 参考:gnome-keyring を利用してコマンドライン上のパスワードを置換する - daily dayflower その他 最強のパスワ

    パスワード管理ツール id-manager.el 更新 - 技術日記@kiwanami
    tomoya
    tomoya 2011/02/24
    毎回しっかりドキュメント書かれるのはほんと素晴しいです。
  • Emacsのwidgetについて思ったこと - 技術日記@kiwanami

    id-manager.el にて Emacs の widget を使ってみました。その感想などです。 widgetとは widgetはEmacs上でダイアログのようなUIを作るライブラリです。CustomizeなどのUIがこれで出来ています。 最近のEmacs(少なくともEmacs23)には標準で入っています。 widgetの例(Infoのサンプル) どこが良いか 複数の入力項目をユーザーに要求するような場合、widgetを使うことで非常に分かりやすいUIになることが多いです。 grepのUIで具体的に比べてみます。lgrepとezgrepという、Emacsからgrepするプログラムがあります。 参考 lgrep Emacsの検索機能を使いこなす(菅原泰樹) — ありえるえりあ ezgrep http://www.geocities.jp/km_pp1/ezgrep/html/ezgrep

    Emacsのwidgetについて思ったこと - 技術日記@kiwanami
    tomoya
    tomoya 2011/02/24
    emacs の widget すぐ存在を忘れてしまう。自分で使ったことないからや。
  • Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami

    (2011/07/25 追記: 設定方法などについては最新の記事を参照してください→[emacs][ui] Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami) Emacsで使えるカレンダーが必要だったので作りました。 (追記 2011/01/08 ical連携の設定に足りないところがありましたので修正いたしました。また、Emacs22ではpeccuさんの所の追加設定を参照してみてください。 → CarbonEmacsでかるふわ使っちゃうよ!(ぺっくブログミラー@peccul)) こんな感じ 完成までには近所の人たちから、「カレンダーなら壁に掛かってるだろう」とか、「Google Calendarという無料のカレンダーがありまして」とか、「カレンダーならiPadにもあります」とか、幾多の助言を頂きました。ありがとう。分かってます。自分だって、2年前にPy

    Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami
    tomoya
    tomoya 2011/01/08
    また凄いのがキターw
  • Emacs上のATOKで快適日本語生活 / 2010 Emacs Advent Calendar - 技術日記@kiwanami

    この記事はEmacs Advent Calender jp: 2010の5日目です。 Ubuntu上での漢字変換やEmacs上での漢字変換にはSKKを使われる方が多いと思います。導入も簡単です。ただ、自分は今まで何度も使おうと挑戦してきたのですが、挫折し続けてきました。 一方で、Ubuntuのデフォルトの変換エンジンはAnthyになっています。それなりに悪くないのですが、すぐに学習を忘れてしまうのでスーツ族には辛いです。 ということで、いろいろ試した結果、JustSystemさんの ATOK X3 にたどり着きました。とてもいいです。 普通のGUI上ではそのままで快適なのですが、Emacs上では微妙にキーバインドを取られたりして辛いです。ということで、Emacs上でATOKを快適に使う設定について書いてみようと思います。 Ubuntuユーザーで、ATOKユーザーで、しかもEmacsユーザー

    Emacs上のATOKで快適日本語生活 / 2010 Emacs Advent Calendar - 技術日記@kiwanami
    tomoya
    tomoya 2010/12/06
    こういうノウハウは素晴しいなぁ。
  • anythingでPDFファイルをプレビューしながら高速に選びたい - 技術日記@kiwanami

    anything-books.el ? anythingでPDFファイルをプレビューしながら開くプログラムを作りました。 なぜか大量にPDFがあって、PDFの管理方法に困っていて、たまたまEmacsを使っている人向けです。 画面イメージ 動かした方が受けが良さそうなので、今回はスクリーンキャストを用意してみました。 スクリーンキャスト インストール 必要なもの: anything-books.el anything.el deferred.el, concurrent.el ImageMagick PDF変換ツール(evince, convert+gsとか) PDFビューアー(AdobeReaderとか) anything.elはすでに皆さん入っていると思います。まだの人はanything導入のeverything 〜3分で使えるanything.el〜 - http://rubikitc

    anythingでPDFファイルをプレビューしながら高速に選びたい - 技術日記@kiwanami
  • 非同期と継続と私 - 技術日記@kiwanami

    非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。 さらに、非同期と遅延評価の関係も気になります。非同期は「結果が後で来る」感じですが、遅延評価は「必要になるまで結果を計算しない」ということで、後回しにする感じが似ています。 今回、deferred.el を作った後にこれらについて考えてみたところ、なんとなく自分の中で実用的な結論に達したのでまとめてみました。以下、その過程とまとめです。 あらすじ 継続渡し(CPS)と非同期 CPS変換から非同期化 Deferredで非同期化 遅延評価と非同期 遅延関数のCPS変換から非同期化 Deferredで非同期化 明示的形式と暗黙的形式 継

    非同期と継続と私 - 技術日記@kiwanami
  • deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami

    Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。 Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラー処理を行うために、かなり長いコードを書く必要があります。また、最近はWebにアクセスする機会も多いのですが、これも非同期で処理するとなるとまた面倒です。非同期をやめて、ブロックする(Emacs全体が固まる)コードで書けば楽なのですが、それではユーザー体験としてマイナスになってしまいます。 特に大変だったのが cacoo.el を作っているときでした。 cacoo.el では、以下のような流れで画像を表示します。 Webから画像取得(wget) 画像サイズ取得(identify) 画像リサイズ(convert) 表示

    deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami
    tomoya
    tomoya 2010/10/10
    要望・調査・設計・実装までの流れ
  • 2010-10-08

    Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。 Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラー処理を行うために、かなり長いコードを書く必要があります。また、最近はWebにアクセスする機会も多いのですが、これも非同期で処理するとなるとまた面倒です。非同期をやめて、ブロックする(Emacs全体が固まる)コードで書けば楽なのですが、それではユーザー体験としてマイナスになってしまいます。 特に大変だったのが cacoo.el を作っているときでした。 cacoo.el では、以下のような流れで画像を表示します。 Webから画像取得(wget) 画像サイズ取得(identify) 画像リサイズ(convert) 表示

    2010-10-08
    tomoya
    tomoya 2010/10/08
    キターーーーーーーーーーーーーーーーーーー!!