関西Emacsに行ってきた

(kansai-emacs #x03) : ATND = (kansai-emacs #x03) => "第三回関西Emacs勉強会" - ぺっくブログミラー@peccul ちょっと遠出して、関西Emacsに行ってきました。福岡Emacsの企画の準備もかねて、どんな人たちがどんなことを期待して集まってくるのかをちょ…

Emacsで3DなマルチプレイヤーなFPSを作ってみた

関西Emacsで発表したデモです。まず、「FPS」は CoD MW のようなシューティングとかではなくて(それは是非やりたかったのですが)、一人称散歩(First Person Sanpo)プログラムです。FPSは釣りです。ごめんなさい。(2011/05/06 追記: Vimにも出来てました!! …

Linux上のChromeで動くCacooエディターにスクリーンキャプチャを貼り付ける

手元のUbuntuマシンでは、Cacooの画面キャプチャ機能が使えません(SunのJava環境でも不可)。画面キャプチャは大変便利なので何とかしようと思い、Chrome拡張のChromeReplを使ってローカルの画像をCacooのFlashアプリに送り込むという回避策を考えました。 …

cacoo.el v2.0 リリース

cacoo.el を更新しました。 参考:初回リリース記事 Emacsでスムーズに図形編集ができるようになるcacoo.elを作ってみた - 技術日記@kiwanami 表向きは Anything で Cacoo の絵が選べるようになったぐらいですが、内部的にはかなり別物になりました。非同期…

yasnippet や emacs lisp の小ネタなど

yasnippet は定型コードなどを素早く展開することが出来る汎用テンプレートフレームワークです。 yasnippet - Project Hosting on Google Code 普通の使い方 yasnippetのドキュメントは本家のページに良くまとまっています。elisp書ける人は全部読むとかなり…

Emacsのwidgetについて思ったこと

id-manager.el にて Emacs の widget を使ってみました。その感想などです。 widgetとは widgetはEmacs上でダイアログのようなUIを作るライブラリです。CustomizeなどのUIがこれで出来ています。 最近のEmacs(少なくともEmacs23)には標準で入っています。 …

パスワード管理ツール id-manager.el 更新

id-manager.elを更新しました。あと、ちゃんと紹介記事を書いてなかったのでまじめに書きました。 以前の記事:2009/09/14 id-manager.el 何か 世の中にあふれるIDとパスワードを管理するものです。例によって類似品がたくさんあります。有名なものを列挙す…

Linux上のJavaアプリでいわゆる「IMEをON」にする方法

結論から書きますと、今回紹介する方法で強引にONにはできますが、Javaのプログラム上で一般的に行う方法は無いようです。 きっかけ Javaで日本語入力を伴う業務アプリを作ると、かならずIMの制御が出てきます。Windowsだと以下のような方法で「たまたま」可…

anything-books.elをWindowsで使う

先日の記事(anything-books.el ver 1.1 アップデート、機能追加など)にWindowsで動かないとコメントをもらいましたので、ちょっと対応してみました。以下は Window XP (32bit) での説明です。Windows 7 や 64bit ではもしかしたら設定を変える必要があるか…

Emacsでカレンダーコンポーネントを作った

(2011/07/25 追記: 設定方法などについては最新の記事を参照してください→[emacs][ui] Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami)Emacsで使えるカレンダーが必要だったので作りました。(追記 2011/01/08 ical連携の設定に足りないところ…

大量のPDFファイルを右綴じに変えたい

最近、スキャン対象が縦書きの本に突入してきた。右綴じにする方法がすごく大変。いちいちAcrobatのプロパティで変えるのはちょっと無理。そこで、「pdf 綴じ方 変更」や「pdf 右綴じ scansnap」で探してみたが、定番のツールがあまりない。いくつかフリーソ…

Emacs上のATOKで快適日本語生活 / 2010 Emacs Advent Calendar

この記事はEmacs Advent Calender jp: 2010の5日目です。Ubuntu上での漢字変換やEmacs上での漢字変換にはSKKを使われる方が多いと思います。導入も簡単です。ただ、自分は今まで何度も使おうと挑戦してきたのですが、挫折し続けてきました。一方で、Ubuntuの…

anything-books.el ver 1.1 アップデート、機能追加など

参考:anythingでPDFファイルをプレビューしながら高速に選びたい以下の点をアップデートしました。 バグ修正:サブディレクトリをうまく扱えない問題の修正(id:authorNariさん)、JPEGではなくPNGファイルが生成されていた問題の修正 改善:qlmanagerによ…

Wanderlust(SEMI)で写真を小さく表示する

最近、メールに添付される画像のサイズが大きくなってくる傾向がある。現在のWanderlustなどのSEMIを使って大きな画像付きのメールを表示すると、画像が枠内からはみ出てしまってとても見づらい。スクロール出来ないだけでなく、正常にカーソールが動かない…

anythingでPDFファイルをプレビューしながら高速に選びたい

anything-books.el ? anythingでPDFファイルをプレビューしながら開くプログラムを作りました。 なぜか大量にPDFがあって、PDFの管理方法に困っていて、たまたまEmacsを使っている人向けです。 画面イメージ動かした方が受けが良さそうなので、今回はスクリ…

Shibuya.lisp Hackathon #1に参加してみた

東京に行く用事があって、何とか時間が取れそうだったので参加してみました。 オラクルのビルはとてもオシャレ。あと、正面でテスラのお店が仕上げをしていました。 Shibuya.lisp Hackathon #1 : ATND Shibuya.lisp | Shibuya.lisp とにかく、Lisp書く人が80…

非同期と継続と私

非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。さらに…

deferred.el のできるまで:調査、設計と実装

deferred.elを作る上での参考にした情報や、設計・実装のメモです。 一般的なDeferredの理解や、Deferredの情報まとめとしても使えるかもしれません。 Deferredについて コールバックをうまく書くイディオム 非同期処理の抽象化の道具 汎用性が高く、使い始…

deferred.el リリース

先日の関西Emacsの会で発表しました deferred.el です。 deferred.el はEmacs Lispでの非同期処理を書きやすくするためのライブラリです。(2010/10/08 追記:コンパイルできないバグがありますので修正中です。コンパイルしなければとりあえず動きます。。。…

deferred.el の出来るまで:Emacsでの非同期処理

Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラ…

evalした結果がそんな遠くで大丈夫か? 大丈夫だ。問題ない。

非同期なプログラムを書き始めると、タイミングの関係もあってprintデバッグに頼ることが多い。アプリの動作時はmessageや独自のログバッファに出力している。一方で、書きながら実験したり、ちょっと実行したいときには eval-last-sexp をよく使っている。…

Emacs Lisp が「書ける」ようになるまで

先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるよ…

(kansai-emacs #x02)に参加してきました

= (kansai-emacs #x02) - ぺっくブログミラー@peccul ちょっと頑張って大阪の方まで行ってきました。去年の fukuoka-emacs は他のエディタのユーザーも多くて、Emacsのユーザーが軒並み変態と呼ばれてしまう有様でしたが、今回はEmacsユーザー一色でしたので…

Elscreen と skype.el

現在のskype.elはウインドウがいろいろ出てきて混乱するのですが、Elscreenと組み合わせることでかなり使いやすくなります。手元では以下のように連携させています。新規チャットでスクリーンを開いたり、チャットを閉じるとスクリーンを終了するようになり…

elispのlambdaにもcalleeを

いろいろ準備中です。小ネタで。JavaScript には arguments.callee という、「今いる関数」が入っている便利なプロパティがあります。 arguments.callee - JavaScript | MDN これが非常に便利で、最近elispでも欲しくなってきたのでこう書いてみました。 (de…

Upstart の起動、終了のシーケンスや依存関係を可視化するスクリプトを作ってみた

あらすじ depchart.rbの紹介 以下余談 Upstartについて depchart.rbへの道のり 今後など depchart.rb : Upstart Diagram Upstartの起動・終了のシーケンスや依存関係を可視化するスクリプトです。 必要なものは Ruby と Graphviz です。 http://github.com/k…

Emacsでの非同期処理、イベントの取り扱い

GUIっぽいアプリを書き出すと、最近のJavaScriptで充実している基本ライブラリのような機能が欲しくなった。wgetでリソースを取ってきたり、外部プロセスやソケットとやりとりをしたり、順番が不定な平行処理を扱う場合には、JSDeferredのような非同期ライブ…

cacoo.el 機能追加:SVG, imgタグ追加

cacoo.elをバージョンアップしました。前回のエントリーからの追加機能は以下のようです。 画像記法の複数指定 cacoo:img-regexp が正規表現の文字列だけでなく、正規表現文字列のリストを指定できるように修正 はてなフォトライフ記法対応 cacoo:browser-fu…

e2wm の設計と実装

はじめに e2wm.elのソース読んだり、自分流に拡張するための参考になるように、e2wmの設計と実装について簡単に説明します。 あらすじ 全体の構成の説明 各モジュールの説明 各イベント時の動きの説明 現在の実装と今後の予定 図の一覧@Cacoo 全体の構成 ま…

e2wmについて考えたこと(調査や要件定義など)

ツールを作るのも好き。昔からツールを作って満足して、そもそもの目的が達成できないタイプ。 はじめに この記事では、e2wm.elがなんでこんなUIになっているかを説明します。UIにはストーリーが重要だと思っていて、e2wm.elについて考えたことをまとめたい…