SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
Emacs Org-mode
           a system for
 note taking and project planning
       using plain text files

      by Carsten Dominik




     http://orgmode.org
Working with Text Files?

•   The only truly portable format,
    read and edit anywhere
•   grep and other UNIX tools
•   Process with perl, python, ...
•   Problem-free history with version control
•   Synchronize using GIT or any other
    distributed version control system
Notes-based Project Planning
Notes-based Project Planning
•   Planning tools (GTD and other) start with TASKS.
    Why?
Notes-based Project Planning
•   Planning tools (GTD and other) start with TASKS.
    Why?
•   For me, projects start with brainstorming,
    note taking, organizing notes.
Notes-based Project Planning
•   Planning tools (GTD and other) start with TASKS.
    Why?
•   For me, projects start with brainstorming,
    note taking, organizing notes.
•   Tasks naturally appear and result from this flow.
    When tasks are done, this must be filtered back
    into the notes!
Notes-based Project Planning
•   Planning tools (GTD and other) start with TASKS.
    Why?
•   For me, projects start with brainstorming,
    note taking, organizing notes.
•   Tasks naturally appear and result from this flow.
    When tasks are done, this must be filtered back
    into the notes!
•   Initial goals of Org-mode development:
    • Make note taking the fundamental action,
      tie tasks into the notes
    • Avoid separate tools for notes and planning
Step I: Fixing Outline-Mode - visually
Step 1I: Fixing Outline-Mode - Keys
               Action               Keys
          Hide everything          C-c C-t
          Show everything          C-c C-a
           Show children           C-c C-i
           Show subtree            C-c C-s
            Hide subtree           C-c C-d
    Show body of current heading   C-c C-e
    Hide body of current heading   C-c C-c
    Show branches (heading tree)   C-c C-k
            Hide leaves            C-c C-l
           Hide sublevels          C-c C-q
             Hide other            C-c C-o
Step 1I: Fixing Outline-Mode - Keys


          Action        Key


       Cycle subtree    TAB


       Cycle globally   S-TAB
Visibility Cycling with just 2 Commands
          3x TAB, and 3x S-TAB
Step III: Easy Structure Editing

                 move up


     promote       demote




                 move down

Hold down Meta or M-S while using cursor keys
Org-mode as a
        Note Taking Application
•   Greatly improves the standard text- and
    outline-modes
•   Supports editing ordered and unordered lists
•   Hyperlinks, internal and external
    to gnus, bbdb, all emacs mail programs, files, webpages,
    erc, unix man pages, info pages... - extensible

•   Plain-text table editor and spreadsheet
•   Embedded LaTeX for taking notes
    during science classes
Step IV: Meta Data
Step IV: Meta Data
Meta Data in a Hierarchical Document

   •   Downward propagation: Inheritance
       • Parent tags can be inherited by children
       • Parent properties can be inherited as well

   •   Upward propagation: Accumulation
       • Certain properties like numbers, times,
         or status flags can be summed automatically
Special Interfaces for Meta Data

•   Org-mode has special, very fast interfaces
    for setting and changing meta data
    • one-key-per-tag interface
    • completion wherever useful
    • a date/time-reading function
      second to none
    • column view for fast tabular editing of
      meta data in the outline hierarchy
Special Interfaces: Date/Time
Special Interfaces: Column View
Step V: Capture with remember.el

•   remember.el by John Wiegley
    is the ultimate capture tool for Emacs
•   Org-mode allows to set up templates
    for remember
•   Templates define content and meta data like
    • a TODO headline
    • a link to context
    • a target location for the note
Step V: Capture with remember.el
Step VI: Collect and Display
•   Tasks can be in special lists
•   Tasks can be scattered over many large files
•   How to find the stuff that matters now?
    Use simple or complex queries
    on text and/or meta data
•   Sparse trees
    • Find stuff in the outline structure
•   Agenda views
    • Projection of outline nodes into a flat list
Step VI: Sparse Tree and Agenda Views
Exporting and Publishing

•   HTML, with JavaScript support for reading
    documents like Emacs Info, but on the Web
    • Example: http://orgmode.org/Changes.html
•   LaTeX, as gateway to PDF,
    great for scientific notes
•   ASCII, are very readable email format
•   Sets of documents can be linked to
    a publishing project
Tricks: Tables
Tricks: Radio Tables

•   Allows to embed an Org-mode table
    in the comment of an arbitrary file
    (C, Javascript, LaTeX...)
•   Define a translation on how to convert
    the table into the correct format
•   Define a location where the transformed
    table should be inserted
•   As the Org-mode table is edited,
    the translated one will be changed, too
Tricks: Radio Tables
Internals: Context-sensitive Keys
 Many keys behave differently in Org-mode, depending on context.
 Examples:
  • Meta + cursor
      -   Structure editing on headlines
      -   Table structure editing in tables
  • C-c C-c :“Look and update” in 12 different variations
  • TAB
      -   Visibility cycling in headline
      -   Motion and evaluation in tables
      -   LaTeX template expansion in normal text
  • All printing characters
      -   automatic overwrite mode in tables
Internals: Context-sensitive Keys

•   In Org-mode, special functions check for context
•   But some of this functionality is exported as a
    minor mode into other major modes
•   Solution
    • Bind keys in a minor-mode-map to a wrapper
    • Wrapper checks context
    • When in desired context,
      execute the Org-mode command
    • When not, turn off minor mode and do a key
      lookup, execute the appropriate command
Internals: Context-sensitive Keys
How Org-mode is being used today
How Org-mode is being used today
 •   Taking notes
How Org-mode is being used today
 •   Taking notes
 •   Tasks and planning
     • Simple TODO list manager
     • Like a day-planner (schedule every task)
     • GTD (Getting Things Done à la David Allen)
        - TODO states or tags for main GTD lists
        - Tags for contexts and agendas
     • Detailed time planning and accounting
How Org-mode is being used today
 •   Taking notes
 •   Tasks and planning
     • Simple TODO list manager
     • Like a day-planner (schedule every task)
     • GTD (Getting Things Done à la David Allen)
        - TODO states or tags for main GTD lists
        - Tags for contexts and agendas
     • Detailed time planning and accounting
 •   A small database
How Org-mode is being used today
 •   Taking notes
 •   Tasks and planning
     • Simple TODO list manager
     • Like a day-planner (schedule every task)
     • GTD (Getting Things Done à la David Allen)
        - TODO states or tags for main GTD lists
        - Tags for contexts and agendas
     • Detailed time planning and accounting
 •   A small database
 •   Basis for constructing web pages
How Org-mode is being used today
 •   Taking notes
 •   Tasks and planning
     • Simple TODO list manager
     • Like a day-planner (schedule every task)
     • GTD (Getting Things Done à la David Allen)
        - TODO states or tags for main GTD lists
        - Tags for contexts and agendas
     • Detailed time planning and accounting
 •   A small database
 •   Basis for constructing web pages
 •   Tool for making drafts
How Org-mode is being used today
 •   Taking notes
 •   Tasks and planning
     • Simple TODO list manager
     • Like a day-planner (schedule every task)
     • GTD (Getting Things Done à la David Allen)
        - TODO states or tags for main GTD lists
        - Tags for contexts and agendas
     • Detailed time planning and accounting
 •   A small database
 •   Basis for constructing web pages
 •   Tool for making drafts
 •   Swiss Army Knife
Org-mode is NOT
•   fiddle-free
    • but if you are like me, you require your
      computer environment to function exactly
      as you want. I want to fiddle.
•   for the masses
    • but in the Emacs community,
      the user base is growing quickly
•   for vi users, sorry folks...
    • only few people switch to Emacs
       because of Org-mode - however, some do!
Evolved Software
Evolved Software
•   Org-mode started as a small personal hack
    • Original scope: Notes and Tasks
Evolved Software
•   Org-mode started as a small personal hack
    • Original scope: Notes and Tasks
•   95% of features were added later
Evolved Software
•   Org-mode started as a small personal hack
    • Original scope: Notes and Tasks
•   95% of features were added later
•   Overruling principles
    • Keep the simple core intact
    • Never impose unwanted complexity
Evolved Software
•   Org-mode started as a small personal hack
    • Original scope: Notes and Tasks
•   95% of features were added later
•   Overruling principles
    • Keep the simple core intact
    • Never impose unwanted complexity
•   Org-mode does not offer
    a finished and closed solution
Evolved Software
•   Org-mode started as a small personal hack
    • Original scope: Notes and Tasks
•   95% of features were added later
•   Overruling principles
    • Keep the simple core intact
    • Never impose unwanted complexity
•   Org-mode does not offer
    a finished and closed solution
•   Instead, Org-mode facilitates
    a learning and development process
Acknowledgements

•   The people on emacs-orgmode@gnu.org
    for enthusiasm, criticism,
    and a constant stream of ideas
•   Bastien Guerry
    for being the second man on the ship
•   Andrew Hyatt, T.V. Raman, and Google
    for giving me the opportunity to speak here

Weitere ähnliche Inhalte

Ähnlich wie Google

Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Jazkarta, Inc.
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcampahkjsdcsadc
 
Don’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME WorkflowsDon’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME WorkflowsSafe Software
 
Translating Drupal
Translating DrupalTranslating Drupal
Translating Drupalguest3a6661
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5SSW
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageRan Levy
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarskyoscon2007
 
Reversing with gdb
Reversing with gdbReversing with gdb
Reversing with gdbMihir Shah
 
Don’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME WorkflowsDon’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME WorkflowsSafe Software
 
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketScott Abel
 
Efficient Django
Efficient DjangoEfficient Django
Efficient DjangoDavid Arcos
 
SQLite3
SQLite3SQLite3
SQLite3cltru
 
Turbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appTurbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appfRui Apps
 
Practical Domain-Specific Languages in Groovy
Practical Domain-Specific Languages in GroovyPractical Domain-Specific Languages in Groovy
Practical Domain-Specific Languages in GroovyGuillaume Laforge
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesDrew Hansen
 

Ähnlich wie Google (20)

Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcamp
 
Drupal
DrupalDrupal
Drupal
 
Don’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME WorkflowsDon’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME Workflows
 
Translating Drupal
Translating DrupalTranslating Drupal
Translating Drupal
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritage
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
 
Practical Groovy DSL
Practical Groovy DSLPractical Groovy DSL
Practical Groovy DSL
 
Reversing with gdb
Reversing with gdbReversing with gdb
Reversing with gdb
 
Qure Tech Presentation
Qure Tech PresentationQure Tech Presentation
Qure Tech Presentation
 
Don’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME WorkflowsDon’t Bug Out! The Ins and Outs of Debugging FME Workflows
Don’t Bug Out! The Ins and Outs of Debugging FME Workflows
 
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
 
Efficient Django
Efficient DjangoEfficient Django
Efficient Django
 
Rails data migrations
Rails data migrationsRails data migrations
Rails data migrations
 
SQLite3
SQLite3SQLite3
SQLite3
 
Turbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appTurbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc app
 
Practical Domain-Specific Languages in Groovy
Practical Domain-Specific Languages in GroovyPractical Domain-Specific Languages in Groovy
Practical Domain-Specific Languages in Groovy
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
 
Magee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance ItalianoMagee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance Italiano
 

Kürzlich hochgeladen

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 

Kürzlich hochgeladen (20)

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 

Google

  • 1. Emacs Org-mode a system for note taking and project planning using plain text files by Carsten Dominik http://orgmode.org
  • 2. Working with Text Files? • The only truly portable format, read and edit anywhere • grep and other UNIX tools • Process with perl, python, ... • Problem-free history with version control • Synchronize using GIT or any other distributed version control system
  • 4. Notes-based Project Planning • Planning tools (GTD and other) start with TASKS. Why?
  • 5. Notes-based Project Planning • Planning tools (GTD and other) start with TASKS. Why? • For me, projects start with brainstorming, note taking, organizing notes.
  • 6. Notes-based Project Planning • Planning tools (GTD and other) start with TASKS. Why? • For me, projects start with brainstorming, note taking, organizing notes. • Tasks naturally appear and result from this flow. When tasks are done, this must be filtered back into the notes!
  • 7. Notes-based Project Planning • Planning tools (GTD and other) start with TASKS. Why? • For me, projects start with brainstorming, note taking, organizing notes. • Tasks naturally appear and result from this flow. When tasks are done, this must be filtered back into the notes! • Initial goals of Org-mode development: • Make note taking the fundamental action, tie tasks into the notes • Avoid separate tools for notes and planning
  • 8. Step I: Fixing Outline-Mode - visually
  • 9. Step 1I: Fixing Outline-Mode - Keys Action Keys Hide everything C-c C-t Show everything C-c C-a Show children C-c C-i Show subtree C-c C-s Hide subtree C-c C-d Show body of current heading C-c C-e Hide body of current heading C-c C-c Show branches (heading tree) C-c C-k Hide leaves C-c C-l Hide sublevels C-c C-q Hide other C-c C-o
  • 10. Step 1I: Fixing Outline-Mode - Keys Action Key Cycle subtree TAB Cycle globally S-TAB
  • 11. Visibility Cycling with just 2 Commands 3x TAB, and 3x S-TAB
  • 12. Step III: Easy Structure Editing move up promote demote move down Hold down Meta or M-S while using cursor keys
  • 13. Org-mode as a Note Taking Application • Greatly improves the standard text- and outline-modes • Supports editing ordered and unordered lists • Hyperlinks, internal and external to gnus, bbdb, all emacs mail programs, files, webpages, erc, unix man pages, info pages... - extensible • Plain-text table editor and spreadsheet • Embedded LaTeX for taking notes during science classes
  • 16. Meta Data in a Hierarchical Document • Downward propagation: Inheritance • Parent tags can be inherited by children • Parent properties can be inherited as well • Upward propagation: Accumulation • Certain properties like numbers, times, or status flags can be summed automatically
  • 17. Special Interfaces for Meta Data • Org-mode has special, very fast interfaces for setting and changing meta data • one-key-per-tag interface • completion wherever useful • a date/time-reading function second to none • column view for fast tabular editing of meta data in the outline hierarchy
  • 20. Step V: Capture with remember.el • remember.el by John Wiegley is the ultimate capture tool for Emacs • Org-mode allows to set up templates for remember • Templates define content and meta data like • a TODO headline • a link to context • a target location for the note
  • 21. Step V: Capture with remember.el
  • 22. Step VI: Collect and Display • Tasks can be in special lists • Tasks can be scattered over many large files • How to find the stuff that matters now? Use simple or complex queries on text and/or meta data • Sparse trees • Find stuff in the outline structure • Agenda views • Projection of outline nodes into a flat list
  • 23. Step VI: Sparse Tree and Agenda Views
  • 24. Exporting and Publishing • HTML, with JavaScript support for reading documents like Emacs Info, but on the Web • Example: http://orgmode.org/Changes.html • LaTeX, as gateway to PDF, great for scientific notes • ASCII, are very readable email format • Sets of documents can be linked to a publishing project
  • 26. Tricks: Radio Tables • Allows to embed an Org-mode table in the comment of an arbitrary file (C, Javascript, LaTeX...) • Define a translation on how to convert the table into the correct format • Define a location where the transformed table should be inserted • As the Org-mode table is edited, the translated one will be changed, too
  • 28. Internals: Context-sensitive Keys Many keys behave differently in Org-mode, depending on context. Examples: • Meta + cursor - Structure editing on headlines - Table structure editing in tables • C-c C-c :“Look and update” in 12 different variations • TAB - Visibility cycling in headline - Motion and evaluation in tables - LaTeX template expansion in normal text • All printing characters - automatic overwrite mode in tables
  • 29. Internals: Context-sensitive Keys • In Org-mode, special functions check for context • But some of this functionality is exported as a minor mode into other major modes • Solution • Bind keys in a minor-mode-map to a wrapper • Wrapper checks context • When in desired context, execute the Org-mode command • When not, turn off minor mode and do a key lookup, execute the appropriate command
  • 31. How Org-mode is being used today
  • 32. How Org-mode is being used today • Taking notes
  • 33. How Org-mode is being used today • Taking notes • Tasks and planning • Simple TODO list manager • Like a day-planner (schedule every task) • GTD (Getting Things Done à la David Allen) - TODO states or tags for main GTD lists - Tags for contexts and agendas • Detailed time planning and accounting
  • 34. How Org-mode is being used today • Taking notes • Tasks and planning • Simple TODO list manager • Like a day-planner (schedule every task) • GTD (Getting Things Done à la David Allen) - TODO states or tags for main GTD lists - Tags for contexts and agendas • Detailed time planning and accounting • A small database
  • 35. How Org-mode is being used today • Taking notes • Tasks and planning • Simple TODO list manager • Like a day-planner (schedule every task) • GTD (Getting Things Done à la David Allen) - TODO states or tags for main GTD lists - Tags for contexts and agendas • Detailed time planning and accounting • A small database • Basis for constructing web pages
  • 36. How Org-mode is being used today • Taking notes • Tasks and planning • Simple TODO list manager • Like a day-planner (schedule every task) • GTD (Getting Things Done à la David Allen) - TODO states or tags for main GTD lists - Tags for contexts and agendas • Detailed time planning and accounting • A small database • Basis for constructing web pages • Tool for making drafts
  • 37. How Org-mode is being used today • Taking notes • Tasks and planning • Simple TODO list manager • Like a day-planner (schedule every task) • GTD (Getting Things Done à la David Allen) - TODO states or tags for main GTD lists - Tags for contexts and agendas • Detailed time planning and accounting • A small database • Basis for constructing web pages • Tool for making drafts • Swiss Army Knife
  • 38. Org-mode is NOT • fiddle-free • but if you are like me, you require your computer environment to function exactly as you want. I want to fiddle. • for the masses • but in the Emacs community, the user base is growing quickly • for vi users, sorry folks... • only few people switch to Emacs because of Org-mode - however, some do!
  • 40. Evolved Software • Org-mode started as a small personal hack • Original scope: Notes and Tasks
  • 41. Evolved Software • Org-mode started as a small personal hack • Original scope: Notes and Tasks • 95% of features were added later
  • 42. Evolved Software • Org-mode started as a small personal hack • Original scope: Notes and Tasks • 95% of features were added later • Overruling principles • Keep the simple core intact • Never impose unwanted complexity
  • 43. Evolved Software • Org-mode started as a small personal hack • Original scope: Notes and Tasks • 95% of features were added later • Overruling principles • Keep the simple core intact • Never impose unwanted complexity • Org-mode does not offer a finished and closed solution
  • 44. Evolved Software • Org-mode started as a small personal hack • Original scope: Notes and Tasks • 95% of features were added later • Overruling principles • Keep the simple core intact • Never impose unwanted complexity • Org-mode does not offer a finished and closed solution • Instead, Org-mode facilitates a learning and development process
  • 45. Acknowledgements • The people on emacs-orgmode@gnu.org for enthusiasm, criticism, and a constant stream of ideas • Bastien Guerry for being the second man on the ship • Andrew Hyatt, T.V. Raman, and Google for giving me the opportunity to speak here