タグ

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

  • LinuxでiPadをセカンドモニターにする - 技術日記@kiwanami

    はじめに 「iPad」と呼ばれるディスプレイ装置はすごいデバイスです。タッチパネル付きの9.7インチIPS液晶で、解像度はXGA、しかも無線でマシンと接続できるだけでなく、わずか700g弱という重さながら、バッテリーを内蔵していて10時間以上の連続動作が可能です。 革命的で魔法のようなデバイス「iPadAirDisplayというソフトを使うと、簡単にMacWindowsiPadをセカンドディスプレイにすることが出来ます。 AirDisplay - Avatron社 残念ながら、このiPadLinuxでセカンドディスプレイとして使う情報はありません。いろいろ検索してみましたが、やっている人は誰もいないようです。 そこでiPadLinuxでもセカンドモニターにしてみる方法を探してみました。結果としては一応セカンドモニターとして使えなくもないことが分かりました。 達成目標 ここでの「

    LinuxでiPadをセカンドモニターにする - 技術日記@kiwanami
  • 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
  • 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
  • 広くなった画面を有効利用できる、Emacs内Window管理ツール e2wm.el を作ってみた。(旧名称 ewm.el) - 技術日記@kiwanami

    世間が iPad で盛り上がっている中、空気を読まずにEmacsです。 (2010/05/31 追記:バグがあって動かない状態でしたので、修正いたしました。試してみて動かなかった皆さんご迷惑をおかけしました。peccuさんご指摘ありがとうございました。) (2010/06/07 名称変更:名称を変更ましたので、混乱しないように内容をすこし修正しました。既に導入いただいた皆さんすみません。) 図の一覧@Cacoo(2010/07/03追記) 概要 Window分割をあらかじめ決めておいて一発で切り替えたり、ポップアップの出現位置を固定したり、ちょっと便利になるプラグインを追加できるようにする、e2wm.elというEmacsの拡張を作ってみました。Emacs以外の人に分かりやすい表現で言うと、Eclipseの「パースペクティブ」のようなものを実現するものです。 画面概観 近年モニターの解像度が

    広くなった画面を有効利用できる、Emacs内Window管理ツール e2wm.el を作ってみた。(旧名称 ewm.el) - 技術日記@kiwanami
  • 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
  • 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
  • Emacsでスムーズに図形編集ができるようになるcacoo.elを作ってみた - 技術日記@kiwanami

    最新記事 -> cacoo.el v2.0 リリース - 技術日記@kiwanami (2012/11/17 追記) Cacoo(http://cacoo.com/)というWeb上の図形描画ツールを、Emacsからシームレスに使える cacoo.el を作りました。 Emacsユーザーにとっては他のWordやExcelなどのアプリを超える文書作成環境になるのではないかと、勝手に妄想しています。 Cacooについては以下のサイトを見てください。自分はCacooで方眼紙Excelをやめることが出来ました。 日発のCacooは複数ユーザーがリアルタイムで協調しながらデザイン作業ができるすぐれもの | TechCrunch Japan Online Diagram & Collaboration Features Tour | Cacoo インストール方法 必要なものは、Emacs22以上(たぶ

    Emacsでスムーズに図形編集ができるようになるcacoo.elを作ってみた - 技術日記@kiwanami
    gologo13
    gologo13 2011/02/12
    この人やばいな.次々と独創的なelispを公開してうる.
  • 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
  • 非同期と継続と私 - 技術日記@kiwanami

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

    非同期と継続と私 - 技術日記@kiwanami
  • deferred.el のできるまで:調査、設計と実装 - 技術日記@kiwanami

    deferred.elを作る上での参考にした情報や、設計・実装のメモです。 一般的なDeferredの理解や、Deferredの情報まとめとしても使えるかもしれません。 Deferredについて コールバックをうまく書くイディオム 非同期処理の抽象化の道具 汎用性が高く、使い始めると無いと困るレベル 後述のbrazilさんの記事が大変オススメです。 参考にした情報など 基的に古い記事(2年以上前)が多く、JavaScript界の中ではすでにブームは過ぎ去って、常識の域になっているようです。そうは言っても、deferred.elを実装するために過去のブックマークなどを掘り起こして読み直してみたのですが、自分の中では再発見することも多かったです。 JSDeferred deferred.elで一番参考にした実装です。実装がシンプルです。 後述のMochikit.AsyncのDeferredに

    deferred.el のできるまで:調査、設計と実装 - 技術日記@kiwanami
  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

    先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
    gologo13
    gologo13 2010/09/29
    そういう問題意識がある時に他の人のコードを読むと参考になります.これすげぇわかる
  • e2wm の設計と実装 - 技術日記@kiwanami

    はじめに e2wm.elのソース読んだり、自分流に拡張するための参考になるように、e2wmの設計と実装について簡単に説明します。 あらすじ 全体の構成の説明 各モジュールの説明 各イベント時の動きの説明 現在の実装と今後の予定 図の一覧@Cacoo 全体の構成 まず、全体構成の図を示します。 全体の構成図 全体的な流れとして、イベントや画面の変化などをパースペクティブ管理に集めてきて、そこでパースペクティブに応じた加工を行い、ウインドウレイアウト制御のライブラリで画面に描画するという形です。 モジュール間の依存関係は次の図のようです。矢印の先が依存先です。 モジュール間の大まかな依存関係 パースペクティブ管理や履歴の情報とウインドウ制御の機能を、各モジュールが参照して使っているというようなイメージになります。 e2wm.elのソースコードの命名も、大体このような分類で並んでいます。 各モジ

    e2wm の設計と実装 - 技術日記@kiwanami
  • 1