Soumettre la recherche
Mettre en ligne
OSC 2011 KeySnail
•
2 j'aime
•
5,679 vues
Masafumi Oyamada
Suivre
最終鬼畜キーボードブラウジング
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 27
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
2021 01-25 lt sho kato
2021 01-25 lt sho kato
katosho1
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
Parascript
Parascript
Shoichi Masuhara
Rubyでバルクインサート
Rubyでバルクインサート
Fujimura Munehiko
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
Introduction of mruby & Webruby script example
Introduction of mruby & Webruby script example
kishima7
20151213 tokushimaapp
20151213 tokushimaapp
健一 辰濱
Contenu connexe
Tendances
簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話
yokoda_toshiaki
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Kazuhide Maruyama
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
Ansibleハンズオン勉強会
Ansibleハンズオン勉強会
Takahisa Iwamoto
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
泰 増田
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
webアプリケーションフレームワークの話
webアプリケーションフレームワークの話
Yoshihiro Ura
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
ericsagnes
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRuby
mametter
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
敦志 金谷
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Joe_noh
Web Workerで○○する話
Web Workerで○○する話
ushiboy
Gulp De wordpress in WordBench
Gulp De wordpress in WordBench
Kanako Kobayashi
れれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8lt
Junpei Matsuda
Webブラウザで使えるいろんな処理系
Webブラウザで使えるいろんな処理系
祐司 伊藤
Chefのはじめの一歩
Chefのはじめの一歩
Misa Kondo
Dockerプレゼン
Dockerプレゼン
よしだ あつし
Memcache Queue
Memcache Queue
Masaru Hoshino
八王子
八王子
Kazutake Hiramatsu
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Tendances
(20)
簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Ansibleハンズオン勉強会
Ansibleハンズオン勉強会
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
webアプリケーションフレームワークの話
webアプリケーションフレームワークの話
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRuby
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Web Workerで○○する話
Web Workerで○○する話
Gulp De wordpress in WordBench
Gulp De wordpress in WordBench
れれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8lt
Webブラウザで使えるいろんな処理系
Webブラウザで使えるいろんな処理系
Chefのはじめの一歩
Chefのはじめの一歩
Dockerプレゼン
Dockerプレゼン
Memcache Queue
Memcache Queue
八王子
八王子
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
En vedette
ES.next WeakMap
ES.next WeakMap
Masafumi Oyamada
Rios::Proxy - A framework for CLI
Rios::Proxy - A framework for CLI
Masafumi Oyamada
Exploring the Performance Impact of Virtualization on an HPC Cloud
Exploring the Performance Impact of Virtualization on an HPC Cloud
Ryousei Takano
『BrandSafe はてな』のアドベリフィケーションのしくみ
『BrandSafe はてな』のアドベリフィケーションのしくみ
Lintaro Ina
クラウドの垣根を超えた高性能計算に向けて~AIST Super Green Cloudでの試み~
クラウドの垣根を超えた高性能計算に向けて~AIST Super Green Cloudでの試み~
Ryousei Takano
OSvの概要と実装
OSvの概要と実装
Takuya ASADA
ネイティブ開発アンチパターン
ネイティブ開発アンチパターン
Yuki Tamura
Ruby everywhere
Ruby everywhere
yukihiro_matz
はてなブックマーク in Scala
はてなブックマーク in Scala
Lintaro Ina
En vedette
(9)
ES.next WeakMap
ES.next WeakMap
Rios::Proxy - A framework for CLI
Rios::Proxy - A framework for CLI
Exploring the Performance Impact of Virtualization on an HPC Cloud
Exploring the Performance Impact of Virtualization on an HPC Cloud
『BrandSafe はてな』のアドベリフィケーションのしくみ
『BrandSafe はてな』のアドベリフィケーションのしくみ
クラウドの垣根を超えた高性能計算に向けて~AIST Super Green Cloudでの試み~
クラウドの垣根を超えた高性能計算に向けて~AIST Super Green Cloudでの試み~
OSvの概要と実装
OSvの概要と実装
ネイティブ開発アンチパターン
ネイティブ開発アンチパターン
Ruby everywhere
Ruby everywhere
はてなブックマーク in Scala
はてなブックマーク in Scala
Similaire à OSC 2011 KeySnail
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
Clrh 110827 wfho
Clrh 110827 wfho
Tomoyuki Obi
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
ericsagnes
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
MODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開します
Kei Mikage
a-blog cms の基本 Ver.Kochi
a-blog cms の基本 Ver.Kochi
Kasumi Morita
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Nobukazu Hanada
Mozillaのビルドインフラ
Mozillaのビルドインフラ
Makoto Kato
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
Etsushi Ishii
Ppl
Ppl
Seizan Shimazaki
Firefoxの開発プロセス
Firefoxの開発プロセス
Makoto Kato
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
ericsagnes
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
DADA246
141115 making web site
141115 making web site
Himi Sato
フロント作業の効率化
フロント作業の効率化
Yuto Yoshinari
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
hecomi
Similaire à OSC 2011 KeySnail
(20)
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Clrh 110827 wfho
Clrh 110827 wfho
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
MODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開します
a-blog cms の基本 Ver.Kochi
a-blog cms の基本 Ver.Kochi
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Mozillaのビルドインフラ
Mozillaのビルドインフラ
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
Ppl
Ppl
Firefoxの開発プロセス
Firefoxの開発プロセス
Ember コミュニティとわたし
Ember コミュニティとわたし
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
141115 making web site
141115 making web site
フロント作業の効率化
フロント作業の効率化
入門 シェル実装
入門 シェル実装
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
OSC 2011 KeySnail
1.
KeySnail How to become
a Real Programmer id: mooz / @stillpedant
2.
ーー1982年
3.
“Real Programmers Don’t
Use Pascal” 「本物のプログラマはPascalを使わない」 ーー Ed Post
4.
ントは不要である。 コードは一目瞭然なのだ。本物の プログラマは9時から5時まで働いたりしない。本物の ログラマはネクタイをしない。本物のプログラマはLIS など使わない。本物のプログラマはハイヒールを履かな い。本物のプログラマは構造化プログラミングを共産主 義者の陰謀だと考えている。本物のプログラマはHaske を使う。本物のプログラマはマウスを使わない。本物の プログラマは昼食時間に合わせて出勤する。本物のプロ グラマは妻の名を知らないかもしれない。しかし、ASC コードテーブル(か EBCDIC)はしっかり憶えている。本 のプログラマは、GOTO
を恐れずに使う。本物のプログ ラマは、5ページにわたる長い DO ループを混乱せずに 書ける。本物のプログラマはOperaを使う。本物のプロ グラマは料理の仕方を知らない。食料品店は午前3時
5.
ントは不要である。 コードは一目瞭然なのだ。本物の プログラマは9時から5時まで働いたりしない。本物の ログラマはネクタイをしない。本物のプログラマはLIS など使わない。本物のプログラマはハイヒールを履かな い。本物のプログラマは構造化プログラミングを共産主 義者の陰謀だと考えている。本物のプログラマはHaske を使う。本物のプログラマはマウスを使わない。本物の プログラマは昼食時間に合わせて出勤する。本物のプロ グラマは妻の名を知らないかもしれない。しかし、ASC コードテーブル(か EBCDIC)はしっかり憶えている。本 のプログラマは、GOTO
を恐れずに使う。本物のプログ ラマは、5ページにわたる長い DO ループを混乱せずに 書ける。本物のプログラマはOperaを使う。本物のプロ グラマは料理の仕方を知らない。食料品店は午前3時
6.
“Real Programmers Don’t
Use Mouse” 「本物のプログラマはマウスを使わない」
7.
(c) http://www.nongnu.org/ratpoison/
8.
「マウスを使わずにWebブラウジングがしたい?」
9.
「そんな君にオススメのアプリがあるんだ」
10.
KeySnail How to become
a Real Programmer id: mooz / @stillpedant
11.
自己紹介
12.
id: mooz /
@stillpedant Add-ons for Firefox KeySnail Emacs 版 Vimperator.本日紹介. Clipple クリップボードマネージャ. gpum Gmail の未読メールを管理. Others percol UNIX のパイプに新風を.コマンドラインで anything.el Rios::Proxy expect にさよなら.Ruby でコマンドラインにフック. zlc.el Emacs のミニバッフゔ補完を zsh ライクに. org.js JavaScript で書かれた org-mode 記法のパーサ.
13.
KeySnail
14.
Emacs 版 Vimperator
15.
KeySnail と Vimperator
の比較 KeySnail / Vimperator 両方が提供する機能 • 独自の設定フゔイルによるカスタマイズ • 独自のプラグインシステム • vim や zsh ライクなコマンド入力インタフェース • anything.el / unite.vim ライクなインタフェース KeySnail にしかない機能 • 様々な組み込みキーバインド(Emacs, Vim, w3m) • GUI によるカスタマイズ機能 • Emacs ユーザ向けの機能 (キルリング,前置引数) • プラグインの管理 UI + 自動更新確認機能 Vimperator にしかない機能 • 要素の文字列を元にした Hit a Hint • 豊富なプラグインの数々 • その他,私の把握していない機能たくさん ;)
16.
GUI による設定
17.
様々な組み込みのキーバインド
18.
簡単プラグインインストール
19.
プラグインマネージャ
20.
キーボードブラウジング入門には最適
21.
演習問題 1. マウスを使わずにリンクを開く 2. マウスを使わずに画像を
Tumblr へ投稿 3. マウスを使わずにテキストを選択し Tumblr へ投稿 4. マウスを使わずに SlideShare のスライドを閲覧 5. マウスを使わずに HTML の select を選択
22.
マウスを使わずにリンクを開く 問題 •
普通はマウスでリンクをクリックする • キーボードだけでこれを行うには? 解法1: Firefox のキャレットブラウズモードを使う • Firefox に組み込まれている機能 • F7 キーで切り替えが可能 • 手順 1. F7 キーを押しコンテンツ内にキャレット(カーソル)を表示 2. 十字キーを使ってリンクまでキャレットを移動 3. Enter を押してリンクをたどる 解法2: KeySnail の Hit a Hint プラグインを使う • hok.ks.js
23.
マウスを使わずに画像を Tumblr へ投稿 問題
• Tombloo をインストールしていることが前提 • 画像を右クリックして Reblog を選択する • キーボードだけで画像を選択するには? 解法: hok.ks.js と kungfloo.ks.js を使う • HoK はリンク以外の要素も選択できる • 選択対象を CSS のセレクタ形式で記述可能 • kungfloo.ks.js は Tombloo のラッパー • HoK によって選択された要素を Tombloo 経由でリブログする
24.
マウスを使わずにテキストを選択し Tumblr へ投稿
問題 • Tombloo をインストールしていることが前提 • テキストを選択して Reblog を選択する • キーボードだけでテキストを選択するには? 解法: hok.ks.js + kungfloo.ks.js + caret-hint.ks.js • caret-hint.ks.js は HoK によるキャレットの移動を可能に • キャレットを選択したいテキストの大体の位置に動かしたら • Ctrl + Space を押してマークを設定 (Emacs ユーザにおなじみ) • hjkl によりキャレットを移動し,テキストを選択し • kungfloo のリブログコマンドを実行
25.
マウスを使わずにSlideShareのスライドを閲覧 問題 •
SlideShare のスライドは Flash / HTML5 • Flash 版にはショートカットキーが用意されていない • HTML5 版では ← と → でスライド送りが可能 • マウスでポチポチとクリックするのは面倒 • キーボードだけで快適に閲覧するには? 解法: slidehsare.ks.js を使う • ページ送り / フルスクリーンの切り替えがキーボードで可能に • Flash 版でも問題なく動作
26.
マウスを使わずに HTML の
select を選択 問題 • 都道府県の選択など,やたらと option の多い select 要素 • マウスを使って選択するのは面倒 • キーボードだけで高速に目当ての要素を選択するには? 解法: prompt.selector() を使う • http://d.hatena.ne.jp/mooz/20100206/p1 • anything.el ライクなインタフェース • 様々な候補を受け取り,それをリスト形式で表示 • ユーザが文字を打ち込むと,マッチする候補に絞り込まれる • ユーザが候補を選択すると,選択された要素がコールバック関数へ渡る – 複数のコールバック関数を指定することも可能(ゕクション) • シンプルなインタフェースだが,可能性は無限大!
27.
ご清聴ありがとうございました
Télécharger maintenant