#+TITLE: 015/100 actually starting clim in emacs slime
#+AUTHOR: screwtape
#+EMAIL: screwtape@sdf.org
* Preamble
0. This preamble changes to orgmode and locally caches a gopher buffer.
1. Do M-x org-mode ; alt-x org-mode <RET>
2. put the cursor anywhere in the src block below and press C-c C-c and say yes
#+name: cache-this-phlog
#+HEADER: :var phlogs-dir="/tmp/phloggersgarage/"
#+HEADER: :var phlog-server="tilde.club/"
#+HeADer: :var phlog-dir="~screwtape/synthember-100days-tooffload/"
#+HEADER: :var this-phost-title="015-clim-in-emacs.org"
#+begin_src elisp :results none
  (let* ((tmp-directory
	  (cl-concatenate 'string phlogs-dir phlog-server phlog-dir))
	 (tmp-file-name (cl-concatenate 'string tmp-directory this-phost-title)))
    (make-directory tmp-directory t)
    (set-visited-file-name tmp-file-name)
    (save-buffer (current-buffer))
    (find-file tmp-file-name))
#+end_src
3. Join #phloggersgarage in libera.chat while enjoying cached org-mode gopher
   100daystooffload
4. customize the header :var whatever="stri/ngs" for your own phosts
* Bongusta phlog aggregator by logout
[[gopher://i-logout.cz/1/bongusta/]]
Hints:
- M-x elpher-copy-link-url ; I always forget this after elpher-go. Also ^ is back
- C-c C-l C-y <RET> <RET> ; enter a link that displays as just the url
* THIS PHLOG AS SUCH                                     :actually_the_phlog:
** STARTING SWANK OUTSIDE OF SLIME INSIDE OF EMACS
Honestly, I first wrote this using =tmux new-session -c dir -s swank -d= but this is emacs.
#+name: eshell-swank
#+begin_src elisp :var my-slime-path="common-lisp/slime-v2.27/" :results none
  (eshell)
  (dolist (cmd `("cd"
		 ,(format "cd %s" my-slime-path)
		 "sbcl --load start-swank.lisp"))
    (insert cmd)
    (eshell-send-input))
  (previous-buffer)
#+end_src
Note that this will try and send "cd" to sbcl if you run it
twice. Kill the buffer and try again if you somehow send an EOF to the
swank server.
** CONNECTING TO SWANK
#+name: slime-connect
#+begin_src elisp :results none
(slime-connect "localhost" "4005")
#+end_src
** MOVIN' ON UP
#+name: require-mcclim
#+begin_src lisp :Results none
(require :McCLIM)
#+end_src
This works because by default a loaded system will not be reloaded so
the running swank gets left alone.
** Actually let's just run the McCLIM demo.
#+name: demo-demo-demo
#+begin_src lisp :results none
  (require :clim-examples)
  (clim-demo:demodemo)
#+end_src

** VOILA
voila. Quitting emacs will be fine for quitting emacs.

* Cached plugd's pgbot 100daystooffloadroll                        :appendix:
| screwtape  | [[gopher://tilde.club/1/~screwtape/synthember-100days-tooffload/]] |
| matto      | [[gopher://box.matto.nl]]                                          |
| _82mhz     | [[https://82mhz.net]]                                              |
| plugd      | [[gopher://thelambdalab.xyz/1phlog/]]                              |
| x1v        | [[gopher://rawtext.club/1/~xiu/phlog/]]                            |
| szczezuja  | [[gopher://gopher.club:70/1/users/szczezuja/personal/]]            |
| prahou     | [[gopher://triapul.cz/1/phlog]]                                    |
| pi31415    | [[gopher://tilde.pink/1/~bencollver/log/]]                         |
| damarusama | [[gopher://gopher.club/1/users/gef/]]                              |
* Also cat and jns and pkw and screwtape
| [[gopher://baud.baby]]            | [[gopher://embryonic.church]]               |
| [[gopher://gopher.linkerror.com]] | [[gopher://gopher.club/1/users/jns/]]       |
| [[gopher://g.d34d.net/1/~pkw/]]   | [[gopher://gopher.club/1/users/screwtape/]] |