Permalink
Browse files

Add my LCA2016 presentation.

- run edlib as "./edlib -g"
- open lca2016/edlib.md (C-x C-f)
- go to the buffer list (C-x b)
- nagivate to the edlib.md entry
- type 'p' to view in presentation mode

Alternate to last step:

- type C-x 5 2 to get new window (will be blank)
- type C-x b in that window to get buffer list
- move it to other monitor
- type M-f to go full screen
- in original window us C-v or page-down to page down both displays
- use C-l anywhere to re-centre the other display

Signed-off-by: NeilBrown <neil@brown.name>
  • Loading branch information...
1 parent d4e67fc commit 956605b0969a43c0ca8461cb6f9213b13039896b @neilbrown committed Feb 4, 2016
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
@@ -0,0 +1,213 @@
+:H1:center,20,fg:blue,space-above:15,family:sans
+:H2:center,15,fg:darkblue
+:background:image-stretch:back.jpg,page-local
+:scale:x:533,y:300
+:P:left:30,12,family:sans
+:bullet:fg:red,13
+:L1:,left:30,12,bullet:•,tab:30,family:sans
+:L1c:,left:30,12,tab:30,family:sans
+:L2:,left:50,10,bullet:*,tab:30
+:L2c:,left:50,10,tab:30
+
+# Edlib
+## because one more editor is never enough
+
+
+
+
+
+
+
+
+
+:P:center,14
+Neil Brown
+
+
+LCA 2016 - Geelong
+
+# Edlib
+## because one more editor is never enough
+
+!400:200:standards.png
+:P:center,16,fg:purple
+xkcd.com/927
+
+:background:overlay:B-nun.JPG
+# I Love EMACS
+
+- have been using it for nearly 30 years
+- *vim* is quite good too!
+- good for code
+- good for email
+- lots of packages and add-ons.
+- not quite perfect
+- wikipedia lists over 100 others
+
+
+:background:overlay:B-bather2.JPG
+# Consider the MVC pattern
+## Model-View-Controller
+
+!350:190:mvc1.png
+
+:background:overlay:B-blue.JPG
+# Consider the MVC pattern
+## Model-View-Controller
+
+!380:160:mvc2.png
+
+Model is text buffer
+- characters with attributes.
+- indefinite undo.
+
+:background:overlay:B-boy.JPG
+# **Buffer List** buffer
+
+!400:160:bufferlist.png
+
+- That **GNU Emacs** buffer doesn't exist any more
+- Model requires indirection for non-text sources
+- "style" formatting must be stored in the buffer
+
+:background:overlay:B-fisher.JPG
+# `hexl-mode`
+
+!400:160:hexl.png
+- binary file must be converted to text (external program)
+- not effective for `/dev/sda`
+
+:background:overlay:B-flag.JPG
+# Back to Model-View-Controller
+
+!480:140:mvc3.png
+
+View is a window that interprets attributes
+- can hide, highlight, insert chars etc.
+- text can be "intangible" and "read-only"
+- attribute with hooks to call on change
+- no hooks to call on display
+
+:background:overlay:B-glamor.JPG
+# An attempt at a spreadsheet
+
+!400:200:xlnt-tex.png
+
+Uses a LaTeX table with expressions in comments
+
+:background:overlay:B-sailor.JPG
+# An attempt at a spreadsheet
+
+!450:150:xlnt-ss.png
+
+- code: hides and highlights and calculates.
+- felt like programming in assembly-language.
+- rendering isn't programmable.
+
+:background:overlay:B-bather.JPG
+# Model-View-Controller again
+
+!480:180:mvc4.png
+
+- Controller is elisp. Awesome.... or not.
+- steep learning curve for single use-case
+
+:background:overlay:B-camera.JPG
+# `edlib` - scratching an itch
+
+Everything is plugable
+
+- multiple "document" backends
+- multiple "language" bindings
+- multiple multi-stage "renderers"
+- multiple "display" managers
+- configurable key/event bindings (of course)
+- core provides essential abstractions
+- loadable libraries for everything else
+
+:background:overlay:B-nurse.JPG
+# edlib core - panes
+
+!400:170:panes.png
+
+- a pane represents an area of interaction
+- may have children with depth
+- sends and receives all messages
+
+:background:overlay:B-girl.JPG
+# edlib core - documents and marks
+
+- a document is a set of interfaces provided by a pane
+- document can be accessed as bytes, characters, lines, ...
+- multiple panes can access the one document
+- a mark is a location in a document - with state
+- marks can be grouped
+- easy to find "next" or "previous" in given group.
+
+:background:overlay:B-minister.JPG
+# edlib core - commands
+
+- commands pass control between panes
+- can pass control between languages
+- args are:
+ - two panes - source and destination
+ - two integers
+ - two strings
+ - two marks
+ - two co-ordinates (x,y or w,h)
+ - another command
+- return an integer ... or call-back the command
+
+:background:overlay:B-police.JPG
+# edlib core - attributes
+
+- attributes are named strings
+- elements (characters) in a document have attributes
+- panes, marks, and documents have attributes
+- can be used to pass extra information between
+ commands
+
+:background:overlay:B-clown.JPG
+# edlib plugins
+
+- documents: text buffer and directory
+- displays: ncurses and pygtk
+- render: lines, hex, format, complete, presentation
+- key bindings: emacs-like, per-pane
+- tile manager
+- status line/scroll bar
+- popups: search and find-file
+
+:background:overlay:B-scots.JPG
+# future work
+
+Currently have a working prototype. Want more...
+- re-evaluate all interfaces
+- unit tests!
+- lots more edit functionality
+- understand copy/paste for non-text documents
+- Bindings for Lua, and Rust? and ...
+- vi-like bindings
+- hexmode overlays for known structures
+ e.g. filesystem superblocks
+- Email client (based on notmuch)
+- spreadsheet?
+- wiggle plugin ... or plug in to wiggle
+
+:background:overlay:B-naked.JPG
+# Edlib - a naked bollard
+
+:P:center,samily:sans,15
+
+Ready for decorating
+
+
+
+github.com/neilbrown/edlib
+
+
+
+
+:P:center,family:sans,20
+Questions?
+
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Diff not rendered.
View
Diff not rendered.
View
Diff not rendered.

0 comments on commit 956605b

Please sign in to comment.