summaryrefslogblamecommitdiffstats
path: root/2021/talks/pattern.md
blob: 86df043a64c4eaf2e2970fc006d20447a7d5ac91 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                  
                                                       
                                                             



                                                                                 
                                  

           

                                                                  
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 






                                                                


            
                                                                                                                                         




                                                                                                                                                                                                                                                                                                                                                                                                                                                
                                                            

                                                                                                                                                                                                                               
                                                                               
                                                                                                                                                                                                                   





                                                                                                                                                                                                                                                                                           

                                                                                                                                                   

                                                                                                        
 

             











                                                                       
                                                                   


                                                                       
                                                                                                                                                                                                                                                                   




















                                                                        
                                                                   

                                                                   
                                                                     
                                                                     


                                                                      


                                                                   

                                                             



                                                                       
                                                                  


                                                                        
                            




                                                                       
                                                                                                

                                                                    


                                                                    

                                                                     
                                                           
                                                                   




                                                                       
                                                        

                                                                        
                                                                   



                                                                        
                                                                     
                                                         
                                            

                                                                        
                                                                           
                                                                        
                                                                     




                                                                      
                                                                       



                                                                       
                                                                        




                                                                        

                                                                      

                                                                        
                                                                    





                                                                        

                                                                                                                                                                                                           

                                                                      

                                                                        

                                                                       
                                                                       
                                                               


                                                                       
                                                                    


                                                                       
                                                                       



                                                                      
                                                                    



                                                                
                                                                     
                                                                
                                                                      
                                                     
                                                                 
                                                                
                                                                   
                                                     
                                                
                      






                                                                       
                 

                                                                      

                                                                     
 
                          


                                                  
                                         
                          

                                                                    




                                                                                                                                                                                                                                                     


                                                                             
                                                                                                          

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

         







                                                                                                                                                                                                                                                                                                                                                                                                                                             

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 


























                                                                    
                                                             
 
                                                             
[[!meta title="Emacs as Design Pattern Learning"]]
[[!meta copyright="Copyright © 2021 Greta Goetz"]]
[[!inline pages="internal(2021/info/pattern-nav)" raw="yes"]]

<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Emacs as Design Pattern Learning
Greta Goetz

[[!inline pages="internal(2021/info/pattern-schedule)" raw="yes"]]

How do we manage today? This presentation is for people interested in thinking about Emacs as a tool sophisticated enough to cater to the complex assemblage of tasks, people, activities/outcomes, tools (Markauskaite & Goodyear). Some software oversimplifies. Emacs both helps users implement design pattern learning that can cope with complexity while also modeling design pattern learning. By championing the opportunity for users to also be co-creators (cf. Beaty et al.), the free software design at the core and center of Emacs teaches us a way of "being" (Alexander, Gabriel) that can be extended to both the Emacs community and beyond, in a knowledge of how to live (Stiegler, Illich). 

1.  Definition of design patterns and relation to Emacs
2.  Why this approach matters
3.  Managing complexity: Emacs as mind map
4.  Emacs as design pattern framework
5.  Personal customization
6.  Implementing Emacs as a model for learning
7.  Emacs as accommodating complex social, community assemblages

# References

-   Andler, D. & Guerry, B. (Eds.). *Apprendre demain: Sciences cognitives et éducation à l’ère numérique*, 137-154. Paris: Hatier.
-   Alexander, C. (1977). *A pattern language*. New York: Oxford University Press.
-   Alexander, C. (1979). *The timeless way of building*. New York: Oxford University Press.
-   Alexander, C. (1993). *A foreshadowing of 21st century art: The color and geometry of very early Turkish carpets*. New York: Oxford University Press.
-   Beaty, L., Cousin, G., & Hodgson, V. (2010). Revisiting the e-quality in networked learning manifesto. In L. Dirckinck-Holmfeld, V. Hodgson, C. Jones, M. de Laat, D. McConnell, & T. Ryberg (Eds.), *Proceedings of the 7th International Conference on Networked Learning* (pp. 585592). Aalborg: Lancaster University. http://www.lancs.ac.uk/fss/organisations/netlc/past/nlc2010/abstracts/PDFs/Beaty.pdf. Accessed 30 October 2021.
-   Chua, S. (2021). Completing sketches. https://sachachua.com/dotemacs/#org092e0d5. Accessed 29 October 2021.
-   Crichton, M. (1983). *Electronic life*. New York: Knopf.
-   Gabriel, R. (1996). *Patterns of software*. New York, Oxford: Oxford University Press.
-   Goodyear, P. & Retalis, S. (2010). Learning, technology and design. In Goodyear, P. & Retalis, S. (Eds.). *Technology-enhanced learning: Design patterns and pattern languages*, 1-27. Rotterdam, Boston: Sense Publishers.
-   Guo, P. (2018). Students, systems, and interactions: Synthesizing the first
four years of Learning@Scale and charting the future. L@S 2018, June 2628, 2018, London, United Kingdom. DOI: https://doi.org/10.1145/3231644.3231662. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
-   Guo, P., Kim, J. & Rubin, R. (2014). How video production affects student engagement: An empirical study of MOOC videos. ACM Conference on Learning at Scale. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
-   Illich, I. (1973). *Tools of conviviality*. New York: Harper & Row.
-   Kim, J., Guo, P., Seaton, D., Mitros, P., Gajos, K. & Miller, R. (2014). Understanding in-video dropouts and interaction peaks in online lecture videos. ACM Conference on Learning at Scale. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
-   Markauskaite, L. & Goodyear, P. (2017). *Epistemic fluency and professional education: innovation, knowledgeable action and actionable knowledge*. Dordrecht: Springer.
-   Markel, J. & Guo, P. (2020). Designing the future of experiential learning environments for a post-COVID world: A preliminary case study. NFW ’20 (Symposium on the New Future of Work), August 35, 2020, Virtual Event. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
-   Morin, E. ([2004] 2008). *La Méthode - tome 6: Éthique*. Éditions du Seuil: Paris.
-   Planet Emacs Life. <https://planet.emacslife.com/>. Accessed 25 October 2021
-   Stallman, R. (2002). My Lisp experiences and the development of GNU Emacs. https://www.gnu.org/gnu/rms-lisp.en.html. Accessed 29 October 2021. 
-   Stiegler, B. (2018). *The neganthropocene*. Open Humanities Press.
-   Trocmé-Fabre, H. (1999). *Réinventer le métier d’apprendre*. Paris: Éditions d’organisation.

# Discussion 

Pad:

-   Q1: Any reference to a Christopher Alexander book that you liked
    most?
    -   (peer answer A:
        -   Alexander, C. (1977). A pattern language: towns, buildings,
            construction. New York: Oxford University Press.
        -   Alexander, C. (1979). The timeless way of building. New
            York: Oxford University Press. (thanks!!)
        -   also check out: Gabriel, R. (1996). Patterns of software:
            tales from the software community. New York: Oxford
            University Press.
            (<https://dreamsongs.com/Files/PatternsOfSoftware.pdf>)
        -   Alexander, C. (1993). *A foreshadowing of 21st century art:
            The color and geometry of very early Turkish carpets*. New
            York: Oxford University Press.
    -   A: The peer answer is excellent. If you are looking for an 'entryway' into Alexander, there is also his essay A City Is Not A Tree, <https://raw.githubusercontent.com/dmvaldman/library/master/essays/Alexander%20-%20A%20City%20Is%20Not%20A%20Tree.pdf>.
-   Q2: You are making a great case for the ease-of-use, humanizing, and
    empowering aspects of Emacs, but how does this align with the
    initial difficulty for many users in learning Emacs? What is the
    weakness of Emacs here, in relation to these design patterns?
    -   A: If we take a Vygotskyean approach to learning, we begin step
        by step, gradually building on to what we know. What I found
        fascinating as a non-programmer coming to Emacs was how this
        approach works even in Emacs. Particularly if we are taking a
        human-based approach to Emacs, it has no weakness here, because
        humans can only move forwards from where they are, not where
        they want to be. So Emacs becomes a good teacher in
        process-based learning. We need to hierarchize what we know,
        what we are ready/motivated to learn next, and also remember the
        time required for growth.
-   Q3: How do you suggest emacs users should go about desinging their
    work(flow) patterns?
    -   A: Strangely, I seem to have answered this above!
-   Q4: Emacs provides a lot of extensibility as mentioned in your talk.
    This is a good thing, but such extensibility and possiblility can
    sometimes inhibit creativity (for me at least). How could we
    incorporate constraints in to how we use Emacs, in order to deal
    with the possibilities that might make it's use more complex? A
    great answer, thank you!
    -   A: I love this question. What about thinking about Emacs as
        one's own path of desire? What do we want to do most with it?
        But also, because Emacs is the ultimate blank canvas, in this
        context I would recommend reading Cameron's "Blasting through
        blocks" chapter in The Artist's Way to get through any related
        anxiety and find one's 'creative purpose' with Emacs. And
        building on an answer from above, taking things one
        project/activity/outcome at a time. Trusting that over time
        skills and proficiency grow.
        -   I like the idea about "Emacs as one's own path of
            desire". It's all in my init.el.
        -   Emacs is seriously the best in this respect!  :) And it is
            so great to be part of this conference to be among like
            minds!:)
-   Q5:In your opinion, what approaches might be tried to introduce
    individuals to these aspects of emacs's user experience? In my
    experience, many of my co-workers are often impressed with what I am
    able to do with emacs, but they remain reticent to attempt it
    because I find it difficult to produce a suitably encapsulating
    "elevator pitch" for it.
    -   A: Not everyone wants to think about the tools that they use.
        Haha, that is why I am trying to get one convert at a time, and
        let them convert others in their midst :)
-   Q6: Are there ways to reach out to you after the conference to dig
    deeper here?
    -   A: I blog at <https://gretzuni.com>; my professional site is <https://gretagoetz.com>.  
-   Q7:On the mention of emacs being 'frontierless': Doesn't this
    result in a kind of 'characterless' or 'non-definied' space? For
    example, if I learn a musical instrument, I am bound by various
    frontiers/horizons (12 tone system, the tamber of the particular
    instrument, etc). Surely there are similar limits on the
    extensibility of emacs and the possibilities it offers for 'human
    expansion'. If so, which limits/boundaries of emacs do you see as
    most meaningful/impactful on growth and transformation?
    -   A: That is a really interesting question. Aren't the limits
        here our knowledge? I am really stuck on the idea of Lisp and
        its dialects as being particularly philosophical. Any time I
        look at what people do with Lisp it seems to be profoundly
        related to design on a deeper level. I will leave it here for
        now - but thank you for the question, I will be sure to mull it
        over and possibly blog about it at some point...
    -   Hi! Thank you for the answer, that was exactly what I was
        thinking about (elisp being something particular/defining to the
        emacs experienc/environment). I don't know lisp/programming
        myself, so I was just interested in your perpsective! Really
        loved the talk a lot! But the way, the question came from a
        hermeneutic perspective, where boundaries/horizons are essential
        for defining/demarcating the self (of course, within a boundary
        there can be endless play, but the limits set the 'rules' for
        play, and therefore create meaning).Thanks again!
    -   A: Wow - a fellow hermeneuticist?! 
    -   Haha, yes. In my past life I studied it ;) also studied a lot of
        Stiegler too, so was interested to find him in the talk!
    -   A: That is quite uncanny! The combination of the three (plus Emacs)
        have given me a whole new perspective on life - and I wonder why
        Stiegler didn't pursue Free Software more, though he does nod
        to it here and there. Do you have any work to share, would you
        like to keep in touch?
    -   sure! would be great! :) My main area was Ricoeur, so I have
        written some things on Ricoeur and technology (there was a
        recent volume on his work, and I wrote something on
        postphenomenology and ricoeur) I've since left academia though,
        because it was quite difficult to find full-time work
        (especially since hermeneutics is so
        underappreciated/underreppresented! so, I always get excited to
        hear others talking about it ;)
    -   A: Yes, I know what you are talking about and actually the whole
        future - and present - of academe is an interesting question -
        haha that I think is related to Emacs, I mean, we do live in the
        knowledge age so we need tools to help with this. Ricoeur has a
        great essay on ideology and science critique, which is so limber
        (as opposed to so much calcified academic thinking) and I am so
        interested in exploring approaches to academe that 'continue
        the ongoing work of the hermeneuticist' (I am paraphrasing him
        here) that make use of technology, possibly through something
        like Ted Nelson had in mind, where we literally trace the traces
        among ideas... wow, that's a mouthful of a comment. Ha! I am
        overjoyed at the opportunity for this conversation, thank you so
        much! :) 
        -   really interesting that you are referencing Ted Nelson in
            this context. I think org-roam, in many ways, resembles what
            he had in mind with Xandadu; well, with the limitation that
            org-roam only serves Personal Information Management, not
            our civilisations' as he intended with Xanadu.
        -   A: That's an interesting point - and related to how org-roam writer Leo is now extending org-roam to collaborative work as he explains in his talk <https://emacsconf.org/2021/talks/erg/>.    
    -   Yes! the feeling is mutual :) I really love Ricoeur's general
        style and approach to questions. Unfortunately he didn't write
        much about technology itself, which made my job quite difficult!
        But I did meet a friend of his once that told me that, in the
        70s, Ricouer had asked him "are we still writing when we use
        computers?". So, he was thinking about the question at least. I
        only discovered emacs after I finished all that word, but since
        then I can finally say that 'yes!' we can 'write' using
        computers (with writing being a core activity of the self for
        Ricoeur). Also, I just wish I had emacs instead of just writing
        so many academic papers in microsoft word! 
    -   A: Yes, the moment of being freed from that software box and
        having all the LaTeX options in Emacs (here, I list my fave) is
        like stepping into technicolor out of black and white - to this
        day, I still feel that way! So much you wrote is interesting.
        Stiegler's concern of whether technology - like the writing pad
        in Plato earlier - would strip us of our intellectual capacity
        (I can see that possibly happening with automaticizing tools
        like - maybe Excel is a good example, because one does not
        really have to think about what one is doing). But Emacs use
        prompts us to ask questions and design *exactly* what we are
        looking for.
    -   wow, yes, that is so interesting. I never considered the
        question of desire and emacs until your talk, and it was
        definitely one of the most interesting parts!
        In my work I was also mostly interested in Freud (the role of
        'technique' in psychoanalysis) and also Foucault's later
        lectures on hermeneutics of the self/technologies of the self.
        The angle of 'desire' in relation to personal
        configuration/design was so interesting to me and like an
        'aha' moment. I'll definitely be thinking about it more!
        Thank you so much again for the talk and all the responses!
    -   A: Thank you too, and hope we'll be in touch!
    -   Yes :) enjoy the rest of the conference!
    -   A: Likewise :)
-   Q8: What was that Crichton quote? That was neat! (From the
    references - Crichton, M. (1983). *Electronic life*. New York:
    Knopf.)
    -   A: Thank you - I hope that general computing will have its day!
-   Q9: Greta, you seem to be an academic researcher. Any of your
    publications or other good references on this topic that you can
    share/link here?
-   Here are two:
-   <https://doi.org/10.1080/00131857.2021.1962706> A song of teaching
    with free software in the Anthropocene
-   <https://10.1007/s42438-020-00188-3> The odyssey of pedagogies of
    technoscientific literacies

**Links and other notes:**

-   Design Pattern: macro solution; human-centered
-   Emacs is a design pattern for learning.
-   Why do we care about design patterns?
-   Emacs as a mental map.
-   Everyone's Emacs is their own.
-   The development of the Emacs communitiy is similar to the [free]
    core of Emacs devlopment.

IRC:

- this paper is relevant to exploring the space of design patterns: https://www.aaai.org/Papers/Workshops/1998/WS-98-08/WS98-08-024.pdf it's old and a little cryptic, but a good paper. it's "Recommender Systems for Problem Solving Environments" 
  - greta: Thanks for that link!
- if I may ask, what's the little toy figure in the background, looks nice :D
  - A wooden (fake) Transformer :)
- do you think emacs could have implemented with this design pattern, but in another programming language?
   - Emacs Lisp as a dialect of Lisp shares its philosophical qualities. I often think about what Norvig wrote about Lisp back in the day, e.g. <https://www.norvig.com/lisp_talk_final.htm>, and while there are some people who feel strongly that Lisp's time is passed, I think that Emacs shows that it is the opposite: that we haven't fully taken advantage of Lisp's potential. Another example would be what Rick Hickey has done with Clojure, and recommend his talk Are We There Yet, <https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/AreWeThereYet.md>.
   
Feedback:

- That's a great point about the sketches, and why Emacs graphical improvements are important.
- yes this talk is excellent. i'm very happy to find some of my thoughts echoed here in such a clear and well researched way
- this is exactly my experience. using/learning emacs is THE way that i gained the skills, the learning to learn skills i needed to become a professional programmer (which is incidental to the growing up into a hacker :P)
- a friend of mine (my original emacs mentor) has been telling me about Ivan Ilich and wondering about how his philosophy lines up with free software, so this is amazing synchronicity of thought for me.
- cognitive democracy is a very useful phrase to describe emacs (and FOSS) culture
- This is saying out loud in concrete language everything I've felt about emacs and the community since e.g. the package system became available and social git forges made it easy to explore others' configs 
- What a wonderfully diverse set of viewpoints so far.  Not just viewpoints but concepts I would never have expected in an ‘Emacs conf’.  I'm glad I dropped by.  Thank you greta.
- This quote of Richard Gabriel rings a bell in the emacs context: "If it is small, it was written by an extraordinary person, someone I would like as a friend; if it is large, it was not designed by one person, but over time in a slow, careful, incremental way" (Gabriel, R. (1996). Patterns of software: tales from the software community. New York: Oxford University Press. (https://dreamsongs.com/Files/PatternsOfSoftware.pdf)
- I just finished listening to Greta Goetz's talk and I love it so much.
- I listened to it after listening to acdw's talk on the frownies mode, a little mode to do something very simple, how he met people, wrote that mode, published it, got feedback. Your talk felt like an excellent background on the experience. The part about helping each other also really resonated with me. I would like to search for how many messages I must have posted to comp.emacs and gnu.emacs.help back in the days. I feel like it must have been about 2000 of them. :) Much of that long before I started writing any code.

# Speaker release

By submitting this proposal, I agree that my presentation at
EmacsConf 2021 is subject to the following terms and conditions:

The EmacsConf organizers may capture audio and video (a "Recording")
of my presentation and any associated materials, which may include
slides, notes, transcripts, and prerecording(s) of my presentation
that I provide to the EmacsConf organizers.

I authorize the EmacsConf organizers to distribute, reproduce,
publicly display, and prepare derivative works of the Recording and
any derivative works of the Recording (the "Licensed Materials")
under the terms of the Creative Commons Attribution-ShareAlike 4.0
International (CC BY-SA 4.0) license.

I grant to the EmacsConf organizers permission to use my name,
likeness, and biographic information in association with their use
of the Licensed Materials under the above license.

I represent that I have the authority to grant the above license to
the EmacsConf organizers. If my presentation incorporates any
material owned by third parties, I represent that the material is
sublicensable to the EmacsConf organizers or that my use of them is
fair use.


[[!inline pages="internal(2021/captions/pattern)" raw="yes"]]

[[!inline pages="internal(2021/info/pattern-nav)" raw="yes"]]