aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcolin <colin@cicadas.surf>2023-01-03 21:31:09 -0800
committercolin <colin@cicadas.surf>2023-01-03 21:31:09 -0800
commit37260474e36fcb22726e0988577ec05023d297e4 (patch)
tree7a181f03341c36a470f8cfd2dd64aba9101cbec1
parentfe9182d7e863b3961072b0148fdc8ab41784bafc (diff)
Much destruction
-rw-r--r--init-el.org787
1 files changed, 13 insertions, 774 deletions
diff --git a/init-el.org b/init-el.org
index ffdd2a2..cee7846 100644
--- a/init-el.org
+++ b/init-el.org
@@ -1,41 +1,5 @@
#+auto_tangle: t
#+OPTIONS: html-style:nil
-* About This Tangle
-
-** Customize This Tangle
-
- Set these variable src blocks before tangling. When these are set,
- simply type =C-c C-v t= to build your emacs config.
-
- Set this to configure [[Configuring offlineimap][offlineimap]] correctly. It should be your email
- password.
-
-#+name: emailpw
-#+begin_src conf
-PUTSOMETHINGHERE
-#+end_src
-
-** Tags used in this file
-
- - =prereq= indicates that this involves installing something on the
- underlying system, and is not part of the tangle
-
- - =disabled= indicates that the name of the code block under this
- heading has been disabled. I perform this disabling by commenting
- out the name of the block so that the tangle operation does
- nothing when encountering it. Some blocks are a pain to run
- everytime I want to tangle this file, so by marking them as
- disabled I can easily see the blocks that might need to be
- enabled on a fresh emacs install.
-
-So, to use this file for the very first time you must
-
-1) run the code tagged prereq, then
-2) fill in the [[*Customize This Tangle][customize]] section, above, then
-3) enable the disabled sections (by uncommenting the code blocks they contain)
-4) then run the tangle.
-
-
* init.el
This section generates the init.el file in the .emacs.d
@@ -75,8 +39,7 @@ So, to use this file for the very first time you must
<<time-management-config>>
<<reading-notes-and-writing-config>>
<<software-development-config>>
-<<bells-and-whistles>>
-<<overwrites>>
+
#+end_src
** Packages Setup Config
@@ -118,8 +81,6 @@ So, to use this file for the very first time you must
<<my-leader-key-applications-menu>>
#+end_src
-
-
I have written a custom leader key system called "my-leader-keys". A
leader key system emulates menus. An initial key (M-m for me) opens
the top level menu. The menu presents a key to press that either leads
@@ -323,29 +284,13 @@ So, to use this file for the very first time you must
#+begin_src elisp :results none
-(package-install 'graphviz-dot-mode)
-(package-install 'ob-haxe)
-(package-install 'plantuml-mode)
-
-(add-hook 'org-mode-hook
- (lambda () (org-toggle-inline-images)))
-
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(lisp . t)
- (haxe . t)
- (dot . t)
- (plantuml . t)
(C . t)
(shell . t)))
-(add-to-list 'org-src-lang-modes
- '("dot" . graphviz-dot))
-
-(setq org-plantuml-jar-path
- "/usr/share/plantuml/plantuml.jar")
-
#+end_src
@@ -478,37 +423,6 @@ So, to use this file for the very first time you must
#+end_src
-** Fonts Config
-
- I use Victor Mono for most coding work, and Linux Libertine for my
- variable pitch font. Variable pitch fonts are good for e.g. reading
- the web using =eww= and writing in distraction-free mode with
- =writeroom=.
-
- Fonts must generally be installed. Linux libertine came preinstalled
- with my Debian system (running Gnome 3), but Victor Mono had to be
- installed manually. I downloaded it from [[https://rubjo.github.io/victor-mono/][here]] and then installed it
- using the =font-manager= application.
-
- Running these two commands should install the font.
-
-
- : sudo apt install font-manager
- : font-manager -i ~/Downlaods/VictorMonoAll.zip
-
- #+name: ui-fonts-config
- #+begin_src elisp :results none
- ;; FONTS
-
- (add-to-list 'default-frame-alist
- '(font . "Victor Mono-10"))
-
- (set-face-attribute 'variable-pitch nil
- :family "Linux Libertine"
- :height 1.25)
-
- #+end_src
-
** Bells and Whistles
#+name: ui-bells-and-wistles
@@ -553,16 +467,17 @@ So, to use this file for the very first time you must
#+name: ui-windows-and-perspectives-packages
#+begin_src elisp :results none
- (package-install 'perspective)
- (persp-mode)
+(package-install 'perspective)
+(setq persp-suppress-no-prefix-key-warning t)
+(persp-mode)
- (package-install 'rotate)
+(package-install 'rotate)
- (package-install 'window-numbering)
- (window-numbering-mode)
+(package-install 'window-numbering)
+(window-numbering-mode)
- (package-install 'resize-window)
- (require 'resize-window)
+(package-install 'resize-window)
+(require 'resize-window)
#+end_src
*** Window Leader Key Menu
@@ -802,278 +717,7 @@ So, to use this file for the very first time you must
#+end_src
-** Org
-
-*** Org mode tweaks
-# #+name: ui-org-mode-tweaks
- #+begin_src elisp :noweb no-export :results none
- (add-hook 'org-mode-hook
- '(lambda ()
- (mapc
- (lambda (face) ;; Other fonts with fixed-pitch.
- (set-face-attribute face nil :inherit 'fixed-pitch :height 100))
- (list 'org-code
- 'org-link
- 'org-block
- 'org-table
- 'org-block-begin-line
- 'org-block-end-line
- 'org-meta-line
- 'org-document-info-keyword))))
-
-
- (setq org-adapt-indentation nil)
-
- #+end_src
-
-* Communications
-
-#+name: communications-config
-#+begin_src elisp :noweb no-export :results none
-<<erc-config>>
-;;<<cicadas-bepasty>>
-;;<<cicadas-scpaste>>
-;; <<mu4e-config>>
-<<mastodon-config>>
-#+end_src
-
-** Mastodon
-
-#+name: mastodon-config
-#+begin_src elisp :noweb no-export :results none
-
-(package-install 'mastodon)
-
-(require 'mastodon)
-
-(setq mastodon-instance-url "https://mastodon.sdf.org"
- mastodon-active-user "antisphex")
-
-#+end_src
-
-
-** ERC
-
- ERC is an IRC client that is built into Emacs. You can use it to
- log into irc servers and chat with other nerds. ERC is very
- communicative about changes in status in a particular IRC channel
- -- too informative. It prints messages everytime somebody joins or
- leaves a room or quits the server altogether. This can be a bit
- annoying - active rooms will often contain just as many join/part
- messages as chat messages. So this little snippit configures ERC
- to hide certain kinds of message:
-
-#+name: erc-config
-#+begin_src elisp :results none
-;;; ERC
-(setq erc-hide-list '("JOIN" "QUIT" "PART"))
-#+end_src
-
-** Cicadas Pastebin
-
-*** bepasty from emacs
-
-First you need to install ~pastebinit~
-
-: sudo apt install pastebinit
-
-Then you should get the pastebin creds from somebody who has them and
-put them into a file called ~$HOME/.bepasty-key~.
-
-Then put the following into yoru config.
-
-#+name: cicadas-bepasty
-#+begin_src elisp :noweb no-export :results none
-
-
-
-
-
-(setq cicadas-paste-pw (read-file-into-string "~/.bepasty-key"))
-
-(defun cicadas-paste-current-buffer ()
- (interactive)
- (let ((tmpfile
- (concat "/tmp/" (buffer-name))))
- (write-region nil nil tmpfile)
- (let ((url
- (first (last (butlast
- (split-string
- (shell-command-to-string
- (format "pastebinit -i %s -p %s -t '%s' -f text/plain"
- tmpfile
- cicadas-paste-pw
- (buffer-name)))
- "\n"))))))
- (delete-file tmpfile)
- (kill-new url)
- (message "Pasted to %s (on kill ring)" url))))
-
-
-#+end_src
-
-*** SCPASTE :disabled:
-# #+name: cicadas-scpaste
-#+begin_src elisp :results none
-(package-install 'scpaste)
-
-(setq scpaste-http-destination "http://cicadas.surf/pastebin"
- scpaste-scp-destination "colin@cicadas.surf:/srv/http/www.cicadas.surf/pastebin"
- scpaste-user-name "Colin"
- scpaste-user-address "https://hyperthings.garden")
-
-
-#+end_src
-
-** Mail on emacs
-
-*** Installing dependencies :prereq:
-
- On debian 11, I was able to run this to install dependencies.
-
-#+begin_src bash
-sudo apt-get install -y libgmime-3.0-dev libxapian-dev \
- mu4e guile-3.0-dev html2text xdg-utils offlineimap
-#+end_src
-
-
-*** Configuring offlineimap :disabled:
-
- The blocks in this file are used to separately tangle to an ~/.offlineimparc
-
- See the file at
- /usr/share/doc/offlineimap3/examples/offlineimap.conf for more
- info.
-# :tangle ~/.offlineimaprc :noweb no-export :results none
-
-#+begin_src conf :resutls none
-
-[general]
-
-accounts = Cicadas, ToyfulSpace
-
-[Account Cicadas]
-localrepository = CicadasLocal
-remoterepository = CicadasRemote
-
-[Repository CicadasLocal]
-type = Maildir
-localfolders = ~/Maildir/Cicadas
-
-[Repository CicadasRemote]
-type = IMAP
-remotehost = imap.migadu.com
-remoteuser = colin@cicadas.surf
-remotepass = <<emailpw>>
-ssl = yes
-sslcacertfile = /etc/ssl/certs/ca-certificates.crt
-
-
-[Account ToyfulSpace]
-localrepository = ToyfulSpaceLocal
-remoterepository = ToyfulSpaceRemote
-
-[Repository ToyfulSpaceLocal]
-type = Maildir
-localfolders = ~/Maildir/ToyfulSpace
-
-[Repository ToyfulSpaceRemote]
-type = IMAP
-remotehost = imap.migadu.com
-remoteuser = okay@toyful.space
-remotepass = <<emailpw>>
-ssl = yes
-sslcacertfile = /etc/ssl/certs/ca-certificates.crt
-
-
-#+end_src
-
-**** Setup Mu and Sync Initial Mails :setup:
-
-#+begin_src bash
-mu init --maildir=~/Maildir --my-address=colin@cicadas.surf --my-address=okay@toyful.space && \
-offlineimap -a Cicadas && offlineimap -a ToyfulSpace && \
-mu index
-#+end_src
-
-*** Confuguring Mu4e :disabled:
-
-#+name: mu4e-config
-#+begin_src elisp :noweb no-export :results none
-
-
-(require 'mu4e)
-
-<<mu4e-sendmail-config>>
-<<mu4e-fetch-and-sync-mail-config>>
-
-(setq mu4e-contexts
- (list
- <<cicadas-mu4e-context>>
- <<toyfulspace-mu4e-context>>))
-
-;; For viewing patches in emails
-(package-install 'message-view-patch)
-(add-hook 'mu4e-view-mode-hook 'message-view-patch-highlight)
-
-#+end_src
-
-**** Mu4e Sendmail Config
- #+name: mu4e-sendmail-config
- #+begin_src elisp :results none
- (require 'smtpmail)
-
- (setq mail-user-agent 'mu4e-user-agent
- message-send-mail-function 'smtpmail-send-it
- smtpmail-stream-type 'tls
- smtpmail-default-smtp-server "smtp.migadu.com"
- smtpmail-smtp-server "smtp.migadu.com"
- smtpmail-smtp-service 465)
-
-
- #+end_src
-
-
-**** Mu4e mail sync command
- #+name: mu4e-fetch-and-sync-mail-config
- #+begin_src elisp :results none
- (setq mu4e-get-mail-command "offlineimap -a Cicadas && offlineimap -a ToyfulSpace")
- #+end_src
-
-**** Mu4e Contexts
- #+name: cicadas-mu4e-context
- #+begin_src elisp :results none
-
- (make-mu4e-context
- :name "Cicadas"
- :enter-func (lambda () (mu4e-message "Entering Cicadas Context"))
- :leave-func (lambda () (mu4e-message "Leaving Cicadas Context"))
- :match-func (lambda (msg)
- (when msg
- (mu4e-message-contact-field-matches msg :to "colin@cicadas.surf")))
- :vars '((user-full-name . "Colin Okay")
- (user-mail-address . "colin@cicadas.surf")
- (smtpmail-smtp-user . "colin@cicadas.surf")
- (mu4e-sent-folder . "/Cicadas/Sent")
- (mu4e-compose-signature . "Making Things Wiggle\nColin\n")))
- #+end_src
-
- #+name: toyfulspace-mu4e-context
- #+begin_src elisp :results none
- (make-mu4e-context
- :name "Toyful Space"
- :enter-func (lambda () (mu4e-message "Entering Toyful Space Context"))
- :leave-func (lambda () (mu4e-message "Leaving Toyful Space Context"))
- :match-func (lambda (msg)
- (when msg
- (mu4e-message-contact-field-matches msg :to "okay@toyful.space")))
- :vars '((user-full-name . "Colin Okay")
- (user-mail-address . "okay@toyful.space")
- (smtpmail-smtp-user . "okay@toyful.space")
- (mu4e-sent-folder . "/ToyfulSpace/Sent")
- (mu4e-compose-signature . "Making Things Wiggle\nColin\n")))
- #+end_src
* Time Managment
@@ -1170,17 +814,17 @@ mu index
<<calibre-config>>
<<pdf-tools>>
<<pdf-mode-config>>
-<<nov-mode-config>>
+
<<elfeed-config>>
-<<zettelgunk>>
+
<<ccrypt>>
<<toggler>>
<<deft>>
<<writeroom>>
<<eww-config>>
<<markdown-editing>>
-<<writefreely-config>>
-<<threadcat>>
+
+
#+end_src
** Calibre db
@@ -1259,16 +903,6 @@ mu index
-** Nov for Reading EPUBs
-
-#+name: nov-mode-config
-#+begin_src elisp :results none
-
-(package-install 'nov)
-(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
-
-#+end_src
-
** Elfeed for Reading RSS Feeds
#+name: elfeed-config
@@ -1420,34 +1054,6 @@ mu index
#+end_src
-** Zettelgunk
-
- Zettelgunk is a half-hearted zettelkasten system I am sometimes
- working on.
-
-#+name: zettelgunk
-#+begin_src elisp :results none
-(load "~/notes/elisp/zettel-mode/zettel.el")
-(setq zettel-directory "~/notes/zettel/")
-
-(def-my-command my-zettel-mode-command
- '((?b "[b]ack " zettel-jump-back)
- (?t "[t]ag browse" zettel-browse-tags)
- (?f "[f]ind note" zettel-browse-notes)
- (?/ "[/] term search" zettel-search-notes)
- (?h "[h]istorical browse (days)" zettel-browse-notes-days-ago)
- (?r "browse by [r]everse link" zettel-browse-notes-linking-here)))
-
-(def-my-command my-zettel-subcommand
- '((?/ "[/] search notes" zettel-search-notes)
- (?f "[f]ind note" zettel-browse-notes)
- (?t "[t]ag browse" zettel-browse-tags)
- (?h "[h]istorical browse (days)" zettel-browse-notes-days-ago)
- (?n "[n]ew note" zettel-spanking-new-note)
- (?z "[z]ettel" zettel)))
-#+end_src
-
-
** CCRYPT
ccrypt is a standard unix encryption tool. It ships with emacs
@@ -1537,55 +1143,6 @@ mu index
#+RESULTS: markdown-editing
-** Writefreely
-
-Writefreely is a federated blogging service. The [[https://github.com/dangom/writefreely.el][writefreely.el]]
-package lets you publish to writefreely blogs from the comfort of
-emacs.
-
-*** Prereqs
-
-
-First, you need to get an auth token. The following will dump one to a json document.
-#+begin_src shell
-
-curl "https://read.cicadas.surf/api/auth/login" \
- -H "Content-Type: application/json" -X POST \
- -d '{"alias": "your-user-name", "pass": "your-pw"}' > wf-token.json
-
-#+end_src
-
-Next, open that json document and cop the value of the "access_token"
-field into a file called =~/.cicadas-wf.token=. When you do, don't
-keep the string quoted - leave it unquoted in that .token file.
-
-*** Writefreely Config
- #+name: writefreely-config
- #+begin_src elisp :noweb no-export :results none
- (package-install 'writefreely)
- (require 'writefreely)
-
- (setq writefreely-instance-url "https://read.cicadas.surf/"
- writefreely-instance-api-endpoint "https://read.cicadas.surf/api"
- writefreely-auth-token (read-file-into-string "~/.cicadas-wf.token"))
-
-
-
- #+end_src
-
-** threadcat
-
-There is nothing to do for threadcat except set a threadcat user.
-
-It has been convenient to type threadcat messages into a scratch
-buffer and then post using =M-x |= on a selected region, piping to
-=threadcat write ...=
-
-#+name: threadcat
-#+begin_src elisp :noweb no-export :results none
-(setenv "THREADCAT_USER" "colin@cicadas.surf")
-#+end_src
-
* Software Development
#+name: software-development-config
@@ -1597,10 +1154,6 @@ buffer and then post using =M-x |= on a selected region, piping to
<<software-dev-essentials>>
<<shell-config>>
<<common-lisp-config>>
-<<haxe-config>>
-;; <<webdev-setup>>
-<<wasm-setup>>
-<<cpp-ide>>
#+end_src
** Literate Programming
@@ -1687,77 +1240,6 @@ association one shell with each [[*Perspectives Leader Key Menu][perspective aka
#+end_src
-** Eshell :disabled:
-
-*** Eshell Prompt
- The ehsell prompt can be customized
-
- #+name: eshell-prompt-config
- #+begin_src elisp :results none
-
- (defun shortened-path (path max-len)
- "Return a modified version of `path', replacing some components
- with single characters starting from the left to try and get
- the path down to `max-len'"
- (let* ((components (split-string (abbreviate-file-name path) "/"))
- (len (+ (1- (length components))
- (cl-reduce '+ components :key 'length)))
- (str ""))
- (while (and (> len max-len)
- (cdr components))
- (setq str (concat str (if (= 0 (length (car components)))
- "/"
- (string (elt (car components) 0) ?/)))
- len (- len (1- (length (car components))))
- components (cdr components)))
- (concat str (cl-reduce (lambda (a b) (concat a "/" b)) components))))
-
- (defun rjs-eshell-prompt-function ()
- (concat (shortened-path (eshell/pwd) 30)
- (if (= (user-uid) 0) " # " " $ ")))
-
- (setq eshell-prompt-function 'rjs-eshell-prompt-function)
-
- #+end_src
-
-*** Persp-Eshell
-
- Persp eshell ensures that there is at most one eshell buffer that can
- be easily reache per "perspective" It depends on perspectives.
-
- #+name: persp-eshell
- #+begin_src elisp :results none
- ;; relies on the package 'perspective' from melpa
-
- (defun persp-eshell--eshell-buffer-p (buffer)
- (string-prefix-p "*eshell*" (buffer-name buffer)))
-
- (defun persp-eshell--persp-eshell ()
- (cl-find-if 'persp-eshell--eshell-buffer-p
- (persp-buffers (persp-curr))))
-
- (defun persp-eshell--get-next-eshell-n ()
- (let ((n 0))
- (while (get-buffer (format "*eshell*<%i>" n))
- (cl-incf n))
- n))
-
- ;; bind this to a key of your choice
- (defun persp-eshell--jump-to-persp-eshell ()
- (interactive)
- (let ((buff (persp-eshell--persp-eshell)))
- (if buff (switch-to-buffer-other-window buff)
- (eshell (persp-eshell--get-next-eshell-n)))))
-
-
- #+end_src
-
-
-
-
-
-
-
** Common Lisp
#+name: common-lisp-config
@@ -1889,246 +1371,3 @@ from debian contrib
-** Haxe
-
-#+name: haxe-config
-#+begin_src elisp :results none
-
-(package-install 'battle-haxe)
-
-(use-package haxe-mode
- :mode ("\\.hx\\'" . haxe-mode)
- :no-require t
- :init
- (require 'js)
- (define-derived-mode haxe-mode js-mode "Haxe"
- "Haxe syntax highlighting mode. This is simply using js-mode for now."))
-
-
-;; (use-package battle-haxe
-;; :hook (haxe-mode . battle-haxe-mode)
-;; :bind (("M-," . #'pop-global-mark) ;To get back after visiting a definition
-;; :map battle-haxe-mode-map
-;; ("M-." . #'battle-haxe-goto-definition)
-;; ("M-/" . #'battle-haxe-helm-find-references))
-;; :custom
-;; (battle-haxe-yasnippet-completion-expansion t "Keep this if you want yasnippet to expand completions when it's available.")
-;; (battle-haxe-immediate-completion nil "Toggle this if you want to immediately trigger completion when typing '.' and other relevant prefixes."))
-
-
-#+end_src
-
-** Web Development
-
-#+name: webdev-setup
-#+begin_src elisp :results none
-(package-install 'json-mode)
-(package-install 'skewer-mode)
-#+end_src
-** WASM
-
-#+name: wasm-setup
-#+begin_src elisp :noweb no-export :results none
-(if (not (file-exists-p "~/.emacs.d/wat-mode"))
- (shell-command "git clone https://github.com/devonsparks/wat-mode ~/.emacs.d/wat-mode"))
-
-(add-to-list 'load-path "~/.emacs.d/wat-mode")
-
-(require 'wat-mode)
-#+end_src
-
-#+RESULTS: wasm-setup
-: wat-mode
-** CPP development
-*** Notes
-
- + tags (ctags, etags) index file storing language objects from
- different sources, sued for code navigation
- + gnu global source code tagging system
- + cmake [[https://github.com/atilaneves/cmake-ide][cmake-ide]] is a package to "enable ide-like features" for
- "cmake" projects.
-
-*** Language Server :prereq:
-
-clangd is the language server, [[https://github.com/rizsotto/Bear][bear]] is "a tool that generates
-a compilation database for clang tooling.
-
-#+begin_src shell :noweb no-export
-sudo apt install clangd bear
-#+end_src
-*** CPP IDE setup
-
-#+name: cpp-ide
-#+begin_src elisp :noweb no-export :results none
-(mapc #'package-install
- '(lsp-mode yasnippet flycheck dap-mode ivy-xref))
-
-
-(add-hook 'c-mode-hook 'lsp)
-(add-hook 'c++-mode-hook 'lsp)
-
-(with-eval-after-load 'lsp-mode
- (require 'dap-cpptools)
- (yas-global-mode))
-#+end_src
-
-
-* Bells And Whistles
-
-#+name: bells-and-whistles
-#+begin_src elisp :noweb no-export :results none
-<<lifecoach>>
-<<emms>>
-#+end_src
-
-** Lifecoach
-
-A few functions to start a process where, periodically, motivational
-messages echo to the echo area.
-
-#+name: lifecoach
-#+begin_src elisp :noweb no-export :results none
-
-(setq lifecoach-messages
- '(
- "In pursuit of knowledge, every day something is acquired. In pursuit of wisdom, every day something is dropped. -- lao tzu"
- "Abandon the idea that you are ever going to finish. -- steinbeck"
- "You are the only hope you have! Keep working!"
- "You get hack on stuff you thought up... Keep going!"
- "You don't have to be working a real job! Enjoy this!"
- "Trust the process. Act and React!"
- "Resistence points in the direction of courage. Step into courage!"
- "Care About Your Craft. (pragprog)"
- "Think! About Your Work. (pragprog)"
- "Remember the Big Picture. (pragprog)"
- "Make It Easy To Reuse. (pragprog)"
- "There Are No Final Decisions. (pragprog)"
- "Use Tracer Bullets To Find The Target (pragprog)"
- "Prototype To Learn. (pragprog)"
- "Dont Panic -- the guide"
- "Abstractions Live Longer Than Details. (pragprog)"
- "There is one path in the world that non can walk but you. Where does it lead? Don't ask, Walk!"
- "Get it done. Then start the next one!"
- "Interact! Hack forward!"
- "This is your work. Love it!"
- "What if it works? Don't give up!"
- "Dont play the finite games!"
- "There is no escape from now!"
- "Be Tosk! Challenge the hunter! Surprise him. Delight him."
- "Expect anything worthwhile to take a long time. -- popova"
- "To know what you're going to draw, you must begin drawing! --picasso"
- "Fire and motion. Move forward a little each day. --spolsky"
- "Enthusiasm at the price of reinventing the wheel pays for itself. --boutade"
- "This is reality happening! --boutade"
- "Allow yourself the uncomfortable luxury of changing your mind. --popova"
- "Do nothing for prestige or status or money or approval alone. --popova, graham"
- "Follow Your Wierd -- bruce sterling"
- "Do you. -- Charlie Kauffman"
- "Prefer to work on things you can own --patio11"
- "Beauty rests on necessities --Emerson"
- "Every day we see people who are busy distorting their talents in order to enhance their popularity or to make money that they could do without. --flannery o'conner"
- "Problems worthy of attack prove their worth by fighting back --Erdös"
- "To work continuously at the highest level a person needs to be challenged continuously. --harold cohen"
- "Difficulty is an essential element in the creative process."
- "There's a million races being run. You just got to get in one of them and win --hamming"
- "To invent your own life's meaning is not easy, but it's still allowed, and I think you'll be happier for the trouble --watterson"
- "There is no heaven. -- boutade"
- "Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better --beckett"
- "Welcome the accidents. --boutade"
- "Occassion that invites no accidents invites nothing and need not occur, for everything is known already. --boutade"
- "What is the harder thing? Why is it harder?"
- "What does the perfectionist want? And the artist? --godin"
- "What are you doing right now? What do you want one year from now?"
- "Which impulse is the saboteur?"
- "Is your exahaustion real?"
- "Don't be ashamed of the carrot - what is the carrot?"
- "Who benefits when you do?"
- "How committed do you feel? Where's the evidence?"
- "Why do you resist?"
- "What is an ideal future?"
- "Can you work another ten minutes?"
- "Do you understand the why?"
- "This is just resistence."
- "Fear is the soul killer."))
-
-
-(setq lifecoach-idle-timer nil)
-(setq lifecoach-index 0)
-(setq permuted-lifecoach-messages nil)
-
-(defun permute (seq)
- (let ((len (length seq)))
- (if (zerop len)
- seq
- (let ((idx
- (random len)))
- (append (subseq seq idx (1+ idx))
- (permute (append (subseq seq 0 idx)
- (subseq seq (1+ idx)))))))))
-
-(defun lifecoach-message ()
- (setq lifecoach-index
- (mod (1+ lifecoach-index) (length permuted-lifecoach-messages)))
- (message
- "Lifecoach says: %s"
- (nth lifecoach-index
- permuted-lifecoach-messages)))
-
-(defun lifecoach-start ()
- (interactive)
- (when lifecoach-idle-timer
- (cancel-timer lifecoach-idle-timer))
- (setq
- permuted-lifecoach-messages (permute (copy-seq lifecoach-messages))
- lifecoach-idle-timer (run-with-idle-timer 30 t #'lifecoach-message)))
-
-(defun lifecoach-stop ()
- (interactive)
- (when lifecoach-idle-timer
- (cancel-timer lifecoach-idle-timer))
- (setf lifecoach-idle-timer nil))
-#+end_src
-
-
-
-** EMMS
-
- Configuration for the emacs multi media system
-
-#+name: emms
-#+begin_src elisp :noweb no-export :results none
-(package-install 'emms)
-
-(require 'emms-setup)
-(emms-all)
-(emms-default-players)
-
-(setq emms-source-file-default-directory "~/Music/")
-
-(defun update-cicadas-now-listening-to ()
- (let ((track
- (emms-track-description
- (emms-playlist-current-selected-track))))
- (with-temp-buffer
- (insert track)
- (write-file "/ssh:colin@cicadas.surf:~/.now-listening-to"))))
-
-
-(add-hook 'emms-player-started-hook #'update-cicadas-now-listening-to)
-
-(defun update-cicadas-drop-listening-to ()
- (with-temp-buffer
- (write-file "/ssh:colin@cicadas.surf:~/.now-listening-to")))
-
-(add-hook 'emms-player-stopped-hook #'update-cicadas-drop-listening-to)
-
-
-#+end_src
-
-* Overwrites
-
-#+name: overwrites
-#+begin_src elisp :noweb no-export :results none
-(setq-default cursor-type 'box)
-(setq cursor-type 'box)
-#+end_src