Emacs: The Editor of a Lifetime or... Thirty Years of M-x info

Perry E. Metzger [email protected]

University of Pennsylvania Department of Computer and Information Science

NYC Meetup, August 11, 2014

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It is now August, 2014

...in one month, it will have been thirty one years

Why would anyone use a program that long?

Surely the state of the art has improved?

I learned Emacs in September, 1983

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...in one month, it will have been thirty one years

Why would anyone use a program that long?

Surely the state of the art has improved?

I learned Emacs in September, 1983

It is now August, 2014

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Why would anyone use a program that long?

Surely the state of the art has improved?

I learned Emacs in September, 1983

It is now August, 2014

...in one month, it will have been thirty one years

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Surely the state of the art has improved?

I learned Emacs in September, 1983

It is now August, 2014

...in one month, it will have been thirty one years

Why would anyone use a program that long?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I learned Emacs in September, 1983

It is now August, 2014

...in one month, it will have been thirty one years

Why would anyone use a program that long?

Surely the state of the art has improved?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime People used to camp out to use one. Now it is a museum piece.

Best terminal at Columbia in 1983.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Best terminal at Columbia in 1983.

People used to camp out to use one. Now it is a museum piece.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I don’t miss it one bit.

The OS I used was TOPS-20, on a DECSYSTEM-20

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime The OS I used was TOPS-20, on a DECSYSTEM-20

I don’t miss it one bit.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Some of you in this room weren’t even born in 1983.

So why the hell would I still use Emacs?

Crazy nostalgia aside, no one wants to use museum hardware.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime So why the hell would I still use Emacs?

Crazy nostalgia aside, no one wants to use museum hardware.

Some of you in this room weren’t even born in 1983.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Crazy nostalgia aside, no one wants to use museum hardware.

Some of you in this room weren’t even born in 1983.

So why the hell would I still use Emacs?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I only recently (temporarily) stopped reading Email in Emacs but I intend to fix that. I keep my calendar and phonebook in Emacs (though I want better integration with OS tools). I do all my development work in Emacs. I (sometimes) use IRC/ICB/etc. in Emacs. I wrote this presentation in Emacs (it’s LATEX). I wish I could browse the web and read papers in Emacs, maybe that can be fixed too.

In fact, I don’t just use Emacs, I live in Emacs.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I keep my calendar and phonebook in Emacs (though I want better integration with OS tools). I do all my development work in Emacs. I (sometimes) use IRC/ICB/etc. in Emacs. I wrote this presentation in Emacs (it’s LATEX). I wish I could browse the web and read papers in Emacs, maybe that can be fixed too.

In fact, I don’t just use Emacs, I live in Emacs. I only recently (temporarily) stopped reading Email in Emacs but I intend to fix that.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I do all my development work in Emacs. I (sometimes) use IRC/ICB/etc. in Emacs. I wrote this presentation in Emacs (it’s LATEX). I wish I could browse the web and read papers in Emacs, maybe that can be fixed too.

In fact, I don’t just use Emacs, I live in Emacs. I only recently (temporarily) stopped reading Email in Emacs but I intend to fix that. I keep my calendar and phonebook in Emacs (though I want better integration with OS tools).

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I (sometimes) use IRC/ICB/etc. in Emacs. I wrote this presentation in Emacs (it’s LATEX). I wish I could browse the web and read papers in Emacs, maybe that can be fixed too.

In fact, I don’t just use Emacs, I live in Emacs. I only recently (temporarily) stopped reading Email in Emacs but I intend to fix that. I keep my calendar and phonebook in Emacs (though I want better integration with OS tools). I do all my development work in Emacs.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I wrote this presentation in Emacs (it’s LATEX). I wish I could browse the web and read papers in Emacs, maybe that can be fixed too.

In fact, I don’t just use Emacs, I live in Emacs. I only recently (temporarily) stopped reading Email in Emacs but I intend to fix that. I keep my calendar and phonebook in Emacs (though I want better integration with OS tools). I do all my development work in Emacs. I (sometimes) use IRC/ICB/etc. in Emacs.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I wish I could browse the web and read papers in Emacs, maybe that can be fixed too.

In fact, I don’t just use Emacs, I live in Emacs. I only recently (temporarily) stopped reading Email in Emacs but I intend to fix that. I keep my calendar and phonebook in Emacs (though I want better integration with OS tools). I do all my development work in Emacs. I (sometimes) use IRC/ICB/etc. in Emacs. I wrote this presentation in Emacs (it’s LATEX).

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime In fact, I don’t just use Emacs, I live in Emacs. I only recently (temporarily) stopped reading Email in Emacs but I intend to fix that. I keep my calendar and phonebook in Emacs (though I want better integration with OS tools). I do all my development work in Emacs. I (sometimes) use IRC/ICB/etc. in Emacs. I wrote this presentation in Emacs (it’s LATEX). I wish I could browse the web and read papers in Emacs, maybe that can be fixed too.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I am not the only one, either.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Another PhD Student at U. Penn said to me:

I don’t care about the OS I use, it is just a boot loader for Emacs anyway.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime If you take CIS-500 at Penn, you’ll watch the professor run Coq from within Proof General Mode in Emacs.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime My “normal” non-programmer friend Ian uses Emacs for his calendar, email, to-do lists, practically everything.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I gave the original version to the Emacs Club at Penn!

Sure, there’s a lot of weird people in any CS department, but there’s an Emacs Club. There’s an Emacs Meetup here in a city not lacking for forms of entertainment.

That implies fanaticism.

Heck, I’m giving this talk to the Emacs Meetup.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Sure, there’s a lot of weird people in any CS department, but there’s an Emacs Club. There’s an Emacs Meetup here in a city not lacking for forms of entertainment.

That implies fanaticism.

Heck, I’m giving this talk to the Emacs Meetup. I gave the original version to the Emacs Club at Penn!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime There’s an Emacs Meetup here in a city not lacking for forms of entertainment.

That implies fanaticism.

Heck, I’m giving this talk to the Emacs Meetup. I gave the original version to the Emacs Club at Penn!

Sure, there’s a lot of weird people in any CS department, but there’s an Emacs Club.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime That implies fanaticism.

Heck, I’m giving this talk to the Emacs Meetup. I gave the original version to the Emacs Club at Penn!

Sure, there’s a lot of weird people in any CS department, but there’s an Emacs Club. There’s an Emacs Meetup here in a city not lacking for forms of entertainment.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Heck, I’m giving this talk to the Emacs Meetup. I gave the original version to the Emacs Club at Penn!

Sure, there’s a lot of weird people in any CS department, but there’s an Emacs Club. There’s an Emacs Meetup here in a city not lacking for forms of entertainment.

That implies fanaticism.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime WHY?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Those of you who use it every day know the learning curve is (ridiculously) steep.

Is it because Emacs is so easy to learn?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Is it because Emacs is so easy to learn?

Those of you who use it every day know the learning curve is (ridiculously) steep.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime HELL no.

Is it because Emacs is so pretty?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Is it because Emacs is so pretty?

HELL no.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Don’t laugh too hard.

UniPress actually tried.

Is Emacs well promoted by companies selling it?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime UniPress actually tried.

Is Emacs well promoted by companies selling it?

Don’t laugh too hard.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Is Emacs well promoted by companies selling it?

Don’t laugh too hard.

UniPress actually tried.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime He uses an IDE.

...and I don’t think he’s ever really tried Emacs.

On the other hand, one of my doctoral brothers, in a meeting recently, opined that he didn’t see why anyone would bother.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...and I don’t think he’s ever really tried Emacs.

On the other hand, one of my doctoral brothers, in a meeting recently, opined that he didn’t see why anyone would bother.

He uses an IDE.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime On the other hand, one of my doctoral brothers, in a meeting recently, opined that he didn’t see why anyone would bother.

He uses an IDE.

...and I don’t think he’s ever really tried Emacs.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Is it just mental illness?

So, WHY?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime So, WHY? Is it just mental illness?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It isn’t just mental illness.

No.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime No. It isn’t just mental illness.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Natural Selection

First, the uninteresting explanation.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime First, the uninteresting explanation.

Natural Selection

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime In the beginning was the Teletype

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Late 1960s: Glass TTYs appear. They save paper.

By Mid-1970s: Commercial terminals with positional cursor control.

(1975: VT-52)

Teletypes mean line editors.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime By Mid-1970s: Commercial terminals with positional cursor control.

(1975: VT-52)

Teletypes mean line editors.

Late 1960s: Glass TTYs appear. They save paper.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Teletypes mean line editors.

Late 1960s: Glass TTYs appear. They save paper.

By Mid-1970s: Commercial terminals with positional cursor control.

(1975: VT-52)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ca. 1972-1975: Modern terminals

1976: Emacs (, Guy Steele)

1976: vi (Bill Joy)

Coincidence?

Status quo: line editors.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime 1976: Emacs (Richard Stallman, Guy Steele)

1976: vi (Bill Joy)

Coincidence?

Status quo: line editors. ca. 1972-1975: Modern terminals

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Coincidence?

Status quo: line editors. ca. 1972-1975: Modern terminals

1976: Emacs (Richard Stallman, Guy Steele)

1976: vi (Bill Joy)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Status quo: line editors. ca. 1972-1975: Modern terminals

1976: Emacs (Richard Stallman, Guy Steele)

1976: vi (Bill Joy)

Coincidence?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Emacs and vi are the sole survivors.

We expect they survived because they were better.

Were the designers lucky or smart?

Can we know? Does it matter?

At least hundreds of screen editors created were created in the mid-to-late 1970s.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime We expect they survived because they were better.

Were the designers lucky or smart?

Can we know? Does it matter?

At least hundreds of screen editors created were created in the mid-to-late 1970s.

Emacs and vi are the sole survivors.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Were the designers lucky or smart?

Can we know? Does it matter?

At least hundreds of screen editors created were created in the mid-to-late 1970s.

Emacs and vi are the sole survivors.

We expect they survived because they were better.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Can we know? Does it matter?

At least hundreds of screen editors created were created in the mid-to-late 1970s.

Emacs and vi are the sole survivors.

We expect they survived because they were better.

Were the designers lucky or smart?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime At least hundreds of screen editors created were created in the mid-to-late 1970s.

Emacs and vi are the sole survivors.

We expect they survived because they were better.

Were the designers lucky or smart?

Can we know? Does it matter?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...not the first editor they dealt with (E, TECO Ctrl-R mode) ...started as “improved” TECO + macro packages. ...macros evolved fast in community. ...community had great hackers with great ideas.

but in some sense, it makes no difference.

I would argue that the Emacs designers were smart.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...started as “improved” TECO + macro packages. ...macros evolved fast in community. ...community had great hackers with great ideas.

but in some sense, it makes no difference.

I would argue that the Emacs designers were smart.

...not the first editor they dealt with (E, TECO Ctrl-R mode)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...macros evolved fast in community. ...community had great hackers with great ideas.

but in some sense, it makes no difference.

I would argue that the Emacs designers were smart.

...not the first editor they dealt with (E, TECO Ctrl-R mode) ...started as “improved” TECO + macro packages.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...community had great hackers with great ideas.

but in some sense, it makes no difference.

I would argue that the Emacs designers were smart.

...not the first editor they dealt with (E, TECO Ctrl-R mode) ...started as “improved” TECO + macro packages. ...macros evolved fast in community.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime but in some sense, it makes no difference.

I would argue that the Emacs designers were smart.

...not the first editor they dealt with (E, TECO Ctrl-R mode) ...started as “improved” TECO + macro packages. ...macros evolved fast in community. ...community had great hackers with great ideas.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I would argue that the Emacs designers were smart.

...not the first editor they dealt with (E, TECO Ctrl-R mode) ...started as “improved” TECO + macro packages. ...macros evolved fast in community. ...community had great hackers with great ideas. but in some sense, it makes no difference.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It works really well!

More interesting explanation.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime More interesting explanation.

It works really well!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime In Emacs, you change text as fast as you think.

Keyboard orientation is feature, not a bug.

Hands never leaving keyboard means speed!

Great at Editing!

Menus and mice are just too slow.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Keyboard orientation is feature, not a bug.

Hands never leaving keyboard means speed!

Great at Editing!

Menus and mice are just too slow.

In Emacs, you change text as fast as you think.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Hands never leaving keyboard means speed!

Great at Editing!

Menus and mice are just too slow.

In Emacs, you change text as fast as you think.

Keyboard orientation is feature, not a bug.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Great at Editing!

Menus and mice are just too slow.

In Emacs, you change text as fast as you think.

Keyboard orientation is feature, not a bug.

Hands never leaving keyboard means speed!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Programmer features: automatic language indentation, compile code, fix errors, refactor, etc, all without hands moving from keyboard.

Macros! Do mass edits without programming!

Great at Editing!

Open and close files, switch buffers, split screen, change window, transpose letters, transpose words, capitalize, downcase, move text up and down, reflow, reformat, i-search, spellcheck, all without hands moving from keyboard.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Macros! Do mass edits without programming!

Great at Editing!

Open and close files, switch buffers, split screen, change window, transpose letters, transpose words, capitalize, downcase, move text up and down, reflow, reformat, i-search, spellcheck, all without hands moving from keyboard.

Programmer features: automatic language indentation, compile code, fix errors, refactor, etc, all without hands moving from keyboard.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Great at Editing!

Open and close files, switch buffers, split screen, change window, transpose letters, transpose words, capitalize, downcase, move text up and down, reflow, reformat, i-search, spellcheck, all without hands moving from keyboard.

Programmer features: automatic language indentation, compile code, fix errors, refactor, etc, all without hands moving from keyboard.

Macros! Do mass edits without programming!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Editing in GUIs drags on, it’s slow.

Many of you understand.

Work flows fast!

It is hard to explain how fast thoughts turn to changed text.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Many of you understand.

Work flows fast!

It is hard to explain how fast thoughts turn to changed text.

Editing in GUIs drags on, it’s slow.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Work flows fast!

It is hard to explain how fast thoughts turn to changed text.

Editing in GUIs drags on, it’s slow.

Many of you understand.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Then Lisp became customary ( Emacs, EINE, Zwei, Gnu Emacs...)

Extensible means EXTENSIONS...... read email in Emacs ...run debugger in Emacs ...IDEs, refactoring tools in Emacs ...and of course yet more powerful editing ...etc, etc.

Extensible!

TECO was first (terrible) extension language.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Extensible means EXTENSIONS...... read email in Emacs ...run debugger in Emacs ...IDEs, refactoring tools in Emacs ...and of course yet more powerful editing ...etc, etc.

Extensible!

TECO was first (terrible) extension language.

Then Lisp became customary (Multics Emacs, EINE, Zwei, Gnu Emacs...)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...read email in Emacs ...run debugger in Emacs ...IDEs, refactoring tools in Emacs ...and of course yet more powerful editing ...etc, etc.

Extensible!

TECO was first (terrible) extension language.

Then Lisp became customary (Multics Emacs, EINE, Zwei, Gnu Emacs...)

Extensible means EXTENSIONS...

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...run debugger in Emacs ...IDEs, refactoring tools in Emacs ...and of course yet more powerful editing ...etc, etc.

Extensible!

TECO was first (terrible) extension language.

Then Lisp became customary (Multics Emacs, EINE, Zwei, Gnu Emacs...)

Extensible means EXTENSIONS...... read email in Emacs

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...IDEs, refactoring tools in Emacs ...and of course yet more powerful editing ...etc, etc.

Extensible!

TECO was first (terrible) extension language.

Then Lisp became customary (Multics Emacs, EINE, Zwei, Gnu Emacs...)

Extensible means EXTENSIONS...... read email in Emacs ...run debugger in Emacs

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...and of course yet more powerful editing ...etc, etc.

Extensible!

TECO was first (terrible) extension language.

Then Lisp became customary (Multics Emacs, EINE, Zwei, Gnu Emacs...)

Extensible means EXTENSIONS...... read email in Emacs ...run debugger in Emacs ...IDEs, refactoring tools in Emacs

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...etc, etc.

Extensible!

TECO was first (terrible) extension language.

Then Lisp became customary (Multics Emacs, EINE, Zwei, Gnu Emacs...)

Extensible means EXTENSIONS...... read email in Emacs ...run debugger in Emacs ...IDEs, refactoring tools in Emacs ...and of course yet more powerful editing

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Extensible!

TECO was first (terrible) extension language.

Then Lisp became customary (Multics Emacs, EINE, Zwei, Gnu Emacs...)

Extensible means EXTENSIONS...... read email in Emacs ...run debugger in Emacs ...IDEs, refactoring tools in Emacs ...and of course yet more powerful editing ...etc, etc.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...but why write apps in (mediocre) ?

Extensions seem weird (to non-Emacsers). Why read or write email inside Emacs?

Because it’s totally natural. When you’re writing email, you’re editing text! Why edit with something less powerful?

Emacs is a UI for text hacking!

Extensions are applications

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Extensions seem weird (to non-Emacsers). Why read or write email inside Emacs?

Because it’s totally natural. When you’re writing email, you’re editing text! Why edit with something less powerful?

Emacs is a UI for text hacking!

Extensions are applications ...but why write apps in (mediocre) Emacs Lisp?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Because it’s totally natural. When you’re writing email, you’re editing text! Why edit with something less powerful?

Emacs is a UI for text hacking!

Extensions are applications ...but why write apps in (mediocre) Emacs Lisp?

Extensions seem weird (to non-Emacsers). Why read or write email inside Emacs?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Emacs is a UI for text hacking!

Extensions are applications ...but why write apps in (mediocre) Emacs Lisp?

Extensions seem weird (to non-Emacsers). Why read or write email inside Emacs?

Because it’s totally natural. When you’re writing email, you’re editing text! Why edit with something less powerful?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime A common complaint: “Emacs is an OS.”

My reply: “You say that like it’s a bad thing.”

(Though it is more of a UI framework than a true OS.)

“I only run one OS at a time.”

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime My reply: “You say that like it’s a bad thing.”

(Though it is more of a UI framework than a true OS.)

“I only run one OS at a time.”

A common complaint: “Emacs is an OS.”

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime (Though it is more of a UI framework than a true OS.)

“I only run one OS at a time.”

A common complaint: “Emacs is an OS.”

My reply: “You say that like it’s a bad thing.”

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime “I only run one OS at a time.”

A common complaint: “Emacs is an OS.”

My reply: “You say that like it’s a bad thing.”

(Though it is more of a UI framework than a true OS.)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime static const char * const names[] = { "netbsd", "netbsd.gz", "netbsd.old", "netbsd.old.gz", "onetbsd", "onetbsd.gz", #ifdef notyet "netbsd.el", "netbsd.el.gz", #endif /*notyet*/ };

The Old NetBSD Boot Loader.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime The Old NetBSD Boot Loader.

static const char * const names[] = { "netbsd", "netbsd.gz", "netbsd.old", "netbsd.old.gz", "onetbsd", "onetbsd.gz", #ifdef notyet "netbsd.el", "netbsd.el.gz", #endif /*notyet*/ };

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Why wouldn’t you want to edit and debug in the same application? (Yes, IDEs were created later to let you do this, but they’re less powerful.)

Why wouldn’t you want to reprogram and extend your UI? You are a computer scientist!

Emacs is a UI for text hacking!

Why wouldn’t you want to cut and paste from other files with the keyboard when composing mail?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Why wouldn’t you want to reprogram and extend your UI? You are a computer scientist!

Emacs is a UI for text hacking!

Why wouldn’t you want to cut and paste from other files with the keyboard when composing mail?

Why wouldn’t you want to edit and debug in the same application? (Yes, IDEs were created later to let you do this, but they’re less powerful.)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime You are a computer scientist!

Emacs is a UI for text hacking!

Why wouldn’t you want to cut and paste from other files with the keyboard when composing mail?

Why wouldn’t you want to edit and debug in the same application? (Yes, IDEs were created later to let you do this, but they’re less powerful.)

Why wouldn’t you want to reprogram and extend your UI?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Emacs is a UI for text hacking!

Why wouldn’t you want to cut and paste from other files with the keyboard when composing mail?

Why wouldn’t you want to edit and debug in the same application? (Yes, IDEs were created later to let you do this, but they’re less powerful.)

Why wouldn’t you want to reprogram and extend your UI? You are a computer scientist!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Machinists make and modify their own tools.

Good computer professionals do the same thing.

We know how. It makes our lives vastly better. Why wouldn’t we?

Good Computer Professionals Make Tools!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Good computer professionals do the same thing.

We know how. It makes our lives vastly better. Why wouldn’t we?

Good Computer Professionals Make Tools!

Machinists make and modify their own tools.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime We know how. It makes our lives vastly better. Why wouldn’t we?

Good Computer Professionals Make Tools!

Machinists make and modify their own tools.

Good computer professionals do the same thing.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It makes our lives vastly better. Why wouldn’t we?

Good Computer Professionals Make Tools!

Machinists make and modify their own tools.

Good computer professionals do the same thing.

We know how.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Why wouldn’t we?

Good Computer Professionals Make Tools!

Machinists make and modify their own tools.

Good computer professionals do the same thing.

We know how. It makes our lives vastly better.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Good Computer Professionals Make Tools!

Machinists make and modify their own tools.

Good computer professionals do the same thing.

We know how. It makes our lives vastly better. Why wouldn’t we?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Non-portable programs die with their system. Closed source programs die with their company.

Even the first Emacs was Open Source. Once ported to C & Unix, Emacs could live forever.

...Learn Once, Use For Decades!

Portable, Open Source

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Even the first Emacs was Open Source. Once ported to C & Unix, Emacs could live forever.

...Learn Once, Use For Decades!

Portable, Open Source

Non-portable programs die with their system. Closed source programs die with their company.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...Learn Once, Use For Decades!

Portable, Open Source

Non-portable programs die with their system. Closed source programs die with their company.

Even the first Emacs was Open Source. Once ported to C & Unix, Emacs could live forever.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Portable, Open Source

Non-portable programs die with their system. Closed source programs die with their company.

Even the first Emacs was Open Source. Once ported to C & Unix, Emacs could live forever.

...Learn Once, Use For Decades!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Restaurant kitchens aren’t pretty. The people that work in them need to prepare hundreds of dinners in several hours, not to show off their hand-made cabinets and granite counters to guests.

Similarly, CS professionals need tools to get their own work done efficiently. Pretty isn’t the point.

Professionals Need Efficient, Not Pretty!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime The people that work in them need to prepare hundreds of dinners in several hours, not to show off their hand-made cabinets and granite counters to guests.

Similarly, CS professionals need tools to get their own work done efficiently. Pretty isn’t the point.

Professionals Need Efficient, Not Pretty!

Restaurant kitchens aren’t pretty.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Similarly, CS professionals need tools to get their own work done efficiently. Pretty isn’t the point.

Professionals Need Efficient, Not Pretty!

Restaurant kitchens aren’t pretty. The people that work in them need to prepare hundreds of dinners in several hours, not to show off their hand-made cabinets and granite counters to guests.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Professionals Need Efficient, Not Pretty!

Restaurant kitchens aren’t pretty. The people that work in them need to prepare hundreds of dinners in several hours, not to show off their hand-made cabinets and granite counters to guests.

Similarly, CS professionals need tools to get their own work done efficiently. Pretty isn’t the point.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Computer scientists do just two things: ...reading text ...and generating it. No one pays us to read if we don’t write afterwards. We edit text for a living! Whether software, documentation, email, web pages, we all spend our entire day editing text. Your productivity depends on how efficiently you can edit text!

Editing is what CS types do.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...reading text ...and generating it. No one pays us to read if we don’t write afterwards. We edit text for a living! Whether software, documentation, email, web pages, we all spend our entire day editing text. Your productivity depends on how efficiently you can edit text!

Editing is what CS types do.

Computer scientists do just two things:

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime No one pays us to read if we don’t write afterwards. We edit text for a living! Whether software, documentation, email, web pages, we all spend our entire day editing text. Your productivity depends on how efficiently you can edit text!

Editing is what CS types do.

Computer scientists do just two things: ...reading text ...and generating it.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime We edit text for a living! Whether software, documentation, email, web pages, we all spend our entire day editing text. Your productivity depends on how efficiently you can edit text!

Editing is what CS types do.

Computer scientists do just two things: ...reading text ...and generating it. No one pays us to read if we don’t write afterwards.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Whether software, documentation, email, web pages, we all spend our entire day editing text. Your productivity depends on how efficiently you can edit text!

Editing is what CS types do.

Computer scientists do just two things: ...reading text ...and generating it. No one pays us to read if we don’t write afterwards. We edit text for a living!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Your productivity depends on how efficiently you can edit text!

Editing is what CS types do.

Computer scientists do just two things: ...reading text ...and generating it. No one pays us to read if we don’t write afterwards. We edit text for a living! Whether software, documentation, email, web pages, we all spend our entire day editing text.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Editing is what CS types do.

Computer scientists do just two things: ...reading text ...and generating it. No one pays us to read if we don’t write afterwards. We edit text for a living! Whether software, documentation, email, web pages, we all spend our entire day editing text. Your productivity depends on how efficiently you can edit text!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime To be productive, you have to learn your editor well.

I’ve had to learn just one editor well!

I’ve been able to use it for over thirty years! I can probably use it another thirty years!

So it is okay that it has lots of (useful) features. There’s time to make the investment pay!

Endurance is a feature!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I’ve had to learn just one editor well!

I’ve been able to use it for over thirty years! I can probably use it another thirty years!

So it is okay that it has lots of (useful) features. There’s time to make the investment pay!

Endurance is a feature!

To be productive, you have to learn your editor well.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I’ve been able to use it for over thirty years! I can probably use it another thirty years!

So it is okay that it has lots of (useful) features. There’s time to make the investment pay!

Endurance is a feature!

To be productive, you have to learn your editor well.

I’ve had to learn just one editor well!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime So it is okay that it has lots of (useful) features. There’s time to make the investment pay!

Endurance is a feature!

To be productive, you have to learn your editor well.

I’ve had to learn just one editor well!

I’ve been able to use it for over thirty years! I can probably use it another thirty years!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Endurance is a feature!

To be productive, you have to learn your editor well.

I’ve had to learn just one editor well!

I’ve been able to use it for over thirty years! I can probably use it another thirty years!

So it is okay that it has lots of (useful) features. There’s time to make the investment pay!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It probably took me a couple of weeks to get good with Emacs. ...probably a month or so to get really good. ...but it has probably saved me at least a few minutes, sometimes an hour or more every single day! ...for thirty years! ...and probably will until I drop dead in another thirty. Amazing return on investment!

Endurance = Investment Pays!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...probably a month or so to get really good. ...but it has probably saved me at least a few minutes, sometimes an hour or more every single day! ...for thirty years! ...and probably will until I drop dead in another thirty. Amazing return on investment!

Endurance = Investment Pays!

It probably took me a couple of weeks to get good with Emacs.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...but it has probably saved me at least a few minutes, sometimes an hour or more every single day! ...for thirty years! ...and probably will until I drop dead in another thirty. Amazing return on investment!

Endurance = Investment Pays!

It probably took me a couple of weeks to get good with Emacs. ...probably a month or so to get really good.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...for thirty years! ...and probably will until I drop dead in another thirty. Amazing return on investment!

Endurance = Investment Pays!

It probably took me a couple of weeks to get good with Emacs. ...probably a month or so to get really good. ...but it has probably saved me at least a few minutes, sometimes an hour or more every single day!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...and probably will until I drop dead in another thirty. Amazing return on investment!

Endurance = Investment Pays!

It probably took me a couple of weeks to get good with Emacs. ...probably a month or so to get really good. ...but it has probably saved me at least a few minutes, sometimes an hour or more every single day! ...for thirty years!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Amazing return on investment!

Endurance = Investment Pays!

It probably took me a couple of weeks to get good with Emacs. ...probably a month or so to get really good. ...but it has probably saved me at least a few minutes, sometimes an hour or more every single day! ...for thirty years! ...and probably will until I drop dead in another thirty.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Endurance = Investment Pays!

It probably took me a couple of weeks to get good with Emacs. ...probably a month or so to get really good. ...but it has probably saved me at least a few minutes, sometimes an hour or more every single day! ...for thirty years! ...and probably will until I drop dead in another thirty. Amazing return on investment!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Great editor...... that you can practically live in ...that you can extend and customize ...that you will never have to stop using.

If you’re a computer professional, that’s irresistible.

So why has it survived?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...that you can practically live in ...that you can extend and customize ...that you will never have to stop using.

If you’re a computer professional, that’s irresistible.

So why has it survived?

Great editor...

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...that you can extend and customize ...that you will never have to stop using.

If you’re a computer professional, that’s irresistible.

So why has it survived?

Great editor...... that you can practically live in

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...that you will never have to stop using.

If you’re a computer professional, that’s irresistible.

So why has it survived?

Great editor...... that you can practically live in ...that you can extend and customize

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime If you’re a computer professional, that’s irresistible.

So why has it survived?

Great editor...... that you can practically live in ...that you can extend and customize ...that you will never have to stop using.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime So why has it survived?

Great editor...... that you can practically live in ...that you can extend and customize ...that you will never have to stop using.

If you’re a computer professional, that’s irresistible.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Failing to adapt!

What could make it die?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime What could make it die?

Failing to adapt!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Emacs has changed in 38 years.

Improved extension language. Window system support New modes New capabilities (networking)

It has adapted...

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Improved extension language. Window system support New modes New capabilities (networking)

It has adapted...

Emacs has changed in 38 years.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Window system support New modes New capabilities (networking)

It has adapted...

Emacs has changed in 38 years.

Improved extension language.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime New modes New capabilities (networking)

It has adapted...

Emacs has changed in 38 years.

Improved extension language. Window system support

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime New capabilities (networking)

It has adapted...

Emacs has changed in 38 years.

Improved extension language. Window system support New modes

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It has adapted...

Emacs has changed in 38 years.

Improved extension language. Window system support New modes New capabilities (networking)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Extension language still mediocre. Better support for modern refactoring. Not enough of an OS! (Threading sucks!) Not enough of an OS! (I still need to leave it!) Needs more PIM integration (e.g. protocols).

...but it needs to go further.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Better support for modern refactoring. Not enough of an OS! (Threading sucks!) Not enough of an OS! (I still need to leave it!) Needs more PIM integration (e.g. protocols).

...but it needs to go further.

Extension language still mediocre.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Not enough of an OS! (Threading sucks!) Not enough of an OS! (I still need to leave it!) Needs more PIM integration (e.g. protocols).

...but it needs to go further.

Extension language still mediocre. Better support for modern refactoring.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Not enough of an OS! (I still need to leave it!) Needs more PIM integration (e.g. protocols).

...but it needs to go further.

Extension language still mediocre. Better support for modern refactoring. Not enough of an OS! (Threading sucks!)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Needs more PIM integration (e.g. protocols).

...but it needs to go further.

Extension language still mediocre. Better support for modern refactoring. Not enough of an OS! (Threading sucks!) Not enough of an OS! (I still need to leave it!)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...but it needs to go further.

Extension language still mediocre. Better support for modern refactoring. Not enough of an OS! (Threading sucks!) Not enough of an OS! (I still need to leave it!) Needs more PIM integration (e.g. protocols).

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Suggestions to Future-Proof Emacs

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime GZ0J\UNQN"E 40UN ’ BUH BUV HK QN< J BUQ QN*10/3UI QI< \+2*10+(QQ*QI)UA B L K QI*2-1UJ QA/QJUQ QA-(QQ*QJ)-2\ 10@I// -1\%I > QQ/10UT QH+QT+48UW QW-58"E 48UW \%V ’ QV"N QV^T ’ QWUV QQ-(QT*10)UH > QV^T @^A/ /HKEX$$

And so Lisp was a big improvement.

TECO was problematic...

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime And so Lisp was a big improvement.

TECO was problematic...

GZ0J\UNQN"E 40UN ’ BUH BUV HK QN< J BUQ QN*10/3UI QI< \+2*10+(QQ*QI)UA B L K QI*2-1UJ QA/QJUQ QA-(QQ*QJ)-2\ 10@I// -1\%I > QQ/10UT QH+QT+48UW QW-58"E 48UW \%V ’ QV"N QV^T ’ QWUV QQ-(QT*10)UH > QV^T @^A/ /HKEX$$

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime TECO was problematic...

GZ0J\UNQN"E 40UN ’ BUH BUV HK QN< J BUQ QN*10/3UI QI< \+2*10+(QQ*QI)UA B L K QI*2-1UJ QA/QJUQ QA-(QQ*QJ)-2\ 10@I// -1\%I > QQ/10UT QH+QT+48UW QW-58"E 48UW \%V ’ QV"N QV^T ’ QWUV QQ-(QT*10)UH > QV^T @^A/ /HKEX$$

And so Lisp was a big improvement.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Some improvements have been made ...lexical scope finally!

But ...API is awful. ...no modules. ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...lexical scope finally!

But ...API is awful. ...no modules. ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime But ...API is awful. ...no modules. ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...API is awful. ...no modules. ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

But

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...no modules. ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

But ...API is awful.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

But ...API is awful. ...no modules.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

But ...API is awful. ...no modules. ...threading.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

But ...API is awful. ...no modules. ...threading. ...not really a good lisp.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Solution: Build a better lisp in parallel!

But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

But ...API is awful. ...no modules. ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime But... ELisp Still Sucks!

Some improvements have been made ...lexical scope finally!

But ...API is awful. ...no modules. ...threading. ...not really a good lisp. ...really, really, needs to be replaced.

Solution: Build a better lisp in parallel!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Tools like Eclipse and XCode are symbol aware.

Some tools like that for Emacs (CEDIT etc.), but we need much better.

XCode uses LLVM’s libclang for C/C++, Emacs could too.

Better extension language would help enormously!

Better Refactoring

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Some tools like that for Emacs (CEDIT etc.), but we need much better.

XCode uses LLVM’s libclang for C/C++, Emacs could too.

Better extension language would help enormously!

Better Refactoring

Tools like Eclipse and XCode are symbol aware.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime XCode uses LLVM’s libclang for C/C++, Emacs could too.

Better extension language would help enormously!

Better Refactoring

Tools like Eclipse and XCode are symbol aware.

Some tools like that for Emacs (CEDIT etc.), but we need much better.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Better extension language would help enormously!

Better Refactoring

Tools like Eclipse and XCode are symbol aware.

Some tools like that for Emacs (CEDIT etc.), but we need much better.

XCode uses LLVM’s libclang for C/C++, Emacs could too.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Better Refactoring

Tools like Eclipse and XCode are symbol aware.

Some tools like that for Emacs (CEDIT etc.), but we need much better.

XCode uses LLVM’s libclang for C/C++, Emacs could too.

Better extension language would help enormously!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Emacs blocks all windows when computing in any window!

It is an OS, but not enough of one!

I often run three or more instances to get around this.

Per buffer threads, lock only global data?

Threading and hangs

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It is an OS, but not enough of one!

I often run three or more instances to get around this.

Per buffer threads, lock only global data?

Threading and hangs

Emacs blocks all windows when computing in any window!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I often run three or more instances to get around this.

Per buffer threads, lock only global data?

Threading and hangs

Emacs blocks all windows when computing in any window!

It is an OS, but not enough of one!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Per buffer threads, lock only global data?

Threading and hangs

Emacs blocks all windows when computing in any window!

It is an OS, but not enough of one!

I often run three or more instances to get around this.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Threading and hangs

Emacs blocks all windows when computing in any window!

It is an OS, but not enough of one!

I often run three or more instances to get around this.

Per buffer threads, lock only global data?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I have to leave Emacs!

...mostly to browse the web

...or to view HTML. (HTML email now frequent.)

My #1 problem!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...mostly to browse the web

...or to view HTML. (HTML email now frequent.)

My #1 problem!

I have to leave Emacs!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...or to view HTML. (HTML email now frequent.)

My #1 problem!

I have to leave Emacs!

...mostly to browse the web

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime My #1 problem!

I have to leave Emacs!

...mostly to browse the web

...or to view HTML. (HTML email now frequent.)

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Embed Webkit in Emacs! Render pages directly in Emacs windows UI managed by Emacs Buffer shared by Webkit, Emacs isearch web page, copy region, C-x o, paste into email!

Solution: Give in to the OS impulse!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Render pages directly in Emacs windows UI managed by Emacs Buffer shared by Webkit, Emacs isearch web page, copy region, C-x o, paste into email!

Solution: Give in to the OS impulse!

Embed Webkit in Emacs!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime UI managed by Emacs Buffer shared by Webkit, Emacs isearch web page, copy region, C-x o, paste into email!

Solution: Give in to the OS impulse!

Embed Webkit in Emacs! Render pages directly in Emacs windows

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Buffer shared by Webkit, Emacs isearch web page, copy region, C-x o, paste into email!

Solution: Give in to the OS impulse!

Embed Webkit in Emacs! Render pages directly in Emacs windows UI managed by Emacs

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime isearch web page, copy region, C-x o, paste into email!

Solution: Give in to the OS impulse!

Embed Webkit in Emacs! Render pages directly in Emacs windows UI managed by Emacs Buffer shared by Webkit, Emacs

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Solution: Give in to the OS impulse!

Embed Webkit in Emacs! Render pages directly in Emacs windows UI managed by Emacs Buffer shared by Webkit, Emacs isearch web page, copy region, C-x o, paste into email!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...isearch through PDF, copy region, C-x o, paste!

Similarly...

Also, possibly add an SVG renderer (or use Webkit’s) and a PDF viewer.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Similarly...

Also, possibly add an SVG renderer (or use Webkit’s) and a PDF viewer.

...isearch through PDF, copy region, C-x o, paste!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Back to the future!

Embrace being an OS!

With embedded Webkit & PDF, might never need to leave Emacs any more!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Embrace being an OS!

With embedded Webkit & PDF, might never need to leave Emacs any more!

Back to the future!

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime I want mail reader modes to really do IMAP.

Contacts should really do CardDAV

Etc.

Integrate More!

I want calendar modes to do CalDAV.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Contacts should really do CardDAV

Etc.

Integrate More!

I want calendar modes to do CalDAV.

I want mail reader modes to really do IMAP.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Etc.

Integrate More!

I want calendar modes to do CalDAV.

I want mail reader modes to really do IMAP.

Contacts should really do CardDAV

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Integrate More!

I want calendar modes to do CalDAV.

I want mail reader modes to really do IMAP.

Contacts should really do CardDAV

Etc.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime A Rant About Keyboards, Part 1

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime A Rant About Keyboards, Part 2

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime A Rant About Keyboards, Part 3

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime It will die. Nothing lasts forever.

Keyboards ceasing to be the fastest way to enter text?

But multiple buffers, programmability still needed...

...so maybe that’s just a new input mode?

So who knows?

When will Emacs die?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Keyboards ceasing to be the fastest way to enter text?

But multiple buffers, programmability still needed...

...so maybe that’s just a new input mode?

So who knows?

When will Emacs die?

It will die. Nothing lasts forever.

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime But multiple buffers, programmability still needed...

...so maybe that’s just a new input mode?

So who knows?

When will Emacs die?

It will die. Nothing lasts forever.

Keyboards ceasing to be the fastest way to enter text?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime ...so maybe that’s just a new input mode?

So who knows?

When will Emacs die?

It will die. Nothing lasts forever.

Keyboards ceasing to be the fastest way to enter text?

But multiple buffers, programmability still needed...

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime So who knows?

When will Emacs die?

It will die. Nothing lasts forever.

Keyboards ceasing to be the fastest way to enter text?

But multiple buffers, programmability still needed...

...so maybe that’s just a new input mode?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime When will Emacs die?

It will die. Nothing lasts forever.

Keyboards ceasing to be the fastest way to enter text?

But multiple buffers, programmability still needed...

...so maybe that’s just a new input mode?

So who knows?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime Questions?

Perry E. Metzger [email protected] Emacs: The Editor of a Lifetime