Literate Devops with Emacs

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024

Комментарии • 43

  • @JayMartin7
    @JayMartin7 9 лет назад +44

    Masterful solution to one of the least discussed aspects of day to day development, navigating from between shell and editor, all while accessing remote systems and generating documentation. Superb!

  • @wrburdick
    @wrburdick 9 лет назад +7

    Thanks for publishing this stuff, Howard, this has really helped me a LOT. Your essay is one of the main reasons I got into orgmode after using Emacs just for editing for many, many years!

    • @howardabrams1
      @howardabrams1  9 лет назад +2

      +Bill Burdock You very welcome. Thanks for the kind words.

  •  9 лет назад +6

    Thank you Howard - with your literate devops/programming blog articles you made huge difference to my work/life ;) This video intro is amazing too, I even found couple small improvements I didn't know about.

  • @nickevans4285
    @nickevans4285 8 лет назад +6

    This is ridiculously awesome.

  • @howardabrams1
    @howardabrams1  9 лет назад +2

    Seth Mason ... not sure why I missed your question, but Slack accepts modified markdown format, so at the moment, I have been working on a simple "slack-specific markdown" wrapper that seems to work pretty well, but isn't quite as ready-for-primetime as it should. The biggest change that I made to it was replacing the links to files with a references to my company's gitweb interface.... clearly not something others would find helpful.
    But perhaps you start with Markdown and go from there?

  • @davidzuber3921
    @davidzuber3921 8 лет назад +12

    MIND=BLOWN
    truly awesome stuff

  • @khReichel
    @khReichel 9 лет назад +6

    really awesome, got some new ideas how to use org-mode

  • @yatesco
    @yatesco 9 лет назад +3

    Brilliant Howard - many thanks.

  • @martinbijl-schwab3308
    @martinbijl-schwab3308 9 лет назад +3

    Thank you for taking the time to showcase this really great idea. Really great presentation! Literate devops is the way to go for daily devops operations. This begs for a follow up !
    Did you try to make the tramp and babel run asynchronously (so one can keep on using emacs during execution of commands)? And how do you protect emacs from freezing when tramp freezes on more difficult output?

    • @howardabrams1
      @howardabrams1  9 лет назад +1

      +Martin Bijl-Schwab Synchronously working with Tramp is a real problem and primary challenge in my projects working like this. One approach that sometimes works well is to use the :session feature and keep the connection alive. However, any hiccup, and the connection can get into an unknown state (but you can switch to its connection buffer and press Return or whatever it takes to get back to the prompt to continue).
      When it gets to be a problem (I have one deployment that requires a few hours to run), I use a Terminal session, and copy/paste results into my notes file.
      Perhaps we can create a more comint approach to an asynchronous process...

    • @martinbijl-schwab3308
      @martinbijl-schwab3308 9 лет назад +2

      +Howard Abrams I like to help to get a more comint approach, though I am not an expert lisp hacker... I can share some examples how I manage using org-babel-tangle, async, async-inject-variables, shell-command. The basic idea is to have a section in the org-file with all async blocks. They share the parameters use language specific properties and a bit of elisp (print) to share variable filenames. I execute the org-babel-execute on a emacs-lisp block which tangles all the blocks in the async section.

    • @howardabrams1
      @howardabrams1  8 лет назад +1

      +Martin Bijl-Schwab Regarding your comment for a follow-up, I did made a movie of a wrapping Tramp functions/features to kick off multiple remote shell commands ... in parallel. Not quite a follow-up, but close. ruclips.net/video/pSjrwSI4OHk/видео.html

    • @martinbijl-schwab3308
      @martinbijl-schwab3308 8 лет назад +2

      and inspiring.... It clutters less than having all the outcomes in org-mode directly and your eshell config is nicely documented on github. Pretty slick and easy to hook into orgmode.

    • @howardabrams1
      @howardabrams1  8 лет назад +1

      Babel commands do run synchronously by default, and can be an issue for long running jobs. This is why I generally don't run chef-client directly from my org-mode files. However, this is something that we should probably fix.

  • @raveeshsharma9236
    @raveeshsharma9236 7 лет назад

    Thanks for the awesome tutorial.. gave me new ideas on how I can use emacs in a more mature manner for my project

  • @BrianSmith-jl8qn
    @BrianSmith-jl8qn 8 лет назад

    Thanks for your excellent demo and coining the phrase 'Literate DevOps'!

  • @sethm.5666
    @sethm.5666 9 лет назад +1

    org can export to slack? My google-fu is failing. Where is this library?

  • @prasannarajaram
    @prasannarajaram 8 лет назад +2

    Hi, how did you make this presentation in org? I want to do a similar presentation

    • @howardabrams1
      @howardabrams1  8 лет назад +1

      I'm using an Emacs project called 'demo-it'. While you can install it from MELPA, its version 2.0 is in beta, but is much nicer. github.com/howardabrams/demo-it

  • @notjohnzorn
    @notjohnzorn 9 лет назад +1

    Is it just me or do the :PROPERTIES: not work. I have to use the following syntax:
    :PROPERTIES:
    :header-args: :dir Reporter
    :END:
    The style in the video is much more convenient/easy to remember. Is there a way to have them? Also for the header-args version I have to hit C-c C-c after adding the new args in order to add them to the buffer session.

    • @howardabrams1
      @howardabrams1  9 лет назад +1

      +jonathan willis What version of org-mode and Emacs are you using. I'm wondering if this may be a feature of a newer version....

    • @notjohnzorn
      @notjohnzorn 9 лет назад +1

      +Howard Abrams
      GNU Emacs 24.5.1
      Org-mode version 8.3.2 (8.3.2-37-gd45217-elpa)
      It might be because I use spacemacs instead of plain jane emacs.

  • @DainMiller
    @DainMiller 9 лет назад +1

    Hey Howard,
    What is the theme you use for Org mode? I can't seem to find it in your config, but I like the way it does bullets

    • @howardabrams1
      @howardabrams1  9 лет назад

      Check out org-bullets and my .emacs setup:
      github.com/sabof/org-bullets
      github.com/howardabrams/dot-files/blob/master/emacs-client.org#color-theme

  • @mattford63
    @mattford63 9 лет назад

    Hi, some pretty cool stuff. Do you know how to *nicely* close a session though? If I execute a "setup" session i.e, ssh somehost and then immeadiately execute again I'm running the 2nd time within the shell of the first. This can lead to unexpected results in code blocks later.

    • @howardabrams1
      @howardabrams1  9 лет назад

      +Matt Ford Try renaming the buffer window, as this will allow you to run another shell session.

    • @mattford63
      @mattford63 9 лет назад

      +Howard Abrams yeah or I can kill the shell session. What I'd like is to be able to label the setup code bock as a "init" section so when I C-c C-c it it kills the existing session and starts a new one.

    • @howardabrams1
      @howardabrams1  9 лет назад

      +Matt Ford Oh, I misunderstood. I see, you are using the `:session` feature of org-mode, right? In that case, you can specify different names for when a block that is going to say, host-a and another going to host-b ... however, those sessions (as far as I know) are never closed cleanly... just dropped.
      Let me know what you figure out.

  • @diegoberrocal8500
    @diegoberrocal8500 9 лет назад +4

    This is awesome, thank you ! :) I'm a fan of demo-it . I used it at my research group presentation. I will try to contribute :P

  • @byronschlemmer
    @byronschlemmer 7 лет назад +2

    Howard, really enjoyed this a derived a lot of inspiration from it! Now, when is part II? Perhaps further examples of how you use it here : github.com/howardabrams/dot-files/blob/master/babel/openstack.org :-)

  • @tomasvojtisek4640
    @tomasvojtisek4640 9 лет назад +3

    wow ... just wow thank you :)

  • @MrMikeseth
    @MrMikeseth 9 лет назад

    You should run the sound through a compressor; a hiss filter won't hurt either.

  • @thapakazi_
    @thapakazi_ 9 лет назад +12

    You sir, you are awesome, you deserve a cookie. :D

  • @jamesbond_007
    @jamesbond_007 9 лет назад +3

    Seriously amazing stuff! Thanks!

  • @Granateable
    @Granateable 9 лет назад +2

    So good! :)

  • @rimaraf999
    @rimaraf999 9 лет назад +10

    Sounds like Agent Smith!

  • @Ephrones
    @Ephrones 8 лет назад +2

    I’ve created a summary of this talk: gist.github.com/Profpatsch/abda97a7b635f876e29f544a26840666

    • @howardabrams1
      @howardabrams1  8 лет назад +1

      +Ephrones Sharp (Profpatsch) Thanks! That is really nice.

  • @tibology
    @tibology 7 лет назад +1

    awesome, deesser pls

  • @darkwave22
    @darkwave22 8 лет назад

    Oh man, so fnghhgg cool!!!