af4c24c9a6a5b7743cf58483f4671710cbbad1bf
[worg.git] / code / elisp / davidam.el
1 ;; Copyright (C) 2013  David Arroyo Menéndez
2
3 ;; Author: David Arroyo Menéndez <davidam@es.gnu.org>
4 ;; Maintainer: David Arroyo Menéndez <davidam@es.gnu.org>
5
6 ;; This file is free software; you can redistribute it and/or modify
7 ;; it under the terms of the GNU General Public License as published by
8 ;; the Free Software Foundation; either version 3, or (at your option)
9 ;; any later version.
10
11 ;; This file is distributed in the hope that it will be useful,
12 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ;; GNU General Public License for more details.
15
16 ;; You should have received a copy of the GNU General Public License
17 ;; along with GNU Emacs; see the file COPYING.  If not, write to
18 ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
19 ;; Boston, MA 02110-1301 USA,
20
21 (defun davidam-org-envolve-src(msg)
22   "Envolve source between org tags"
23   (interactive "sChoose your programming language: " msg)
24   (if (string= "" msg)
25       (setq msg "lisp"))
26   (if (> (point) (mark))
27       (progn 
28         (goto-char (point))
29         (insert "#+END_SRC")
30         (goto-char (mark))
31         (insert "#+BEGIN_SRC " msg "\n"))
32     (progn
33       (goto-char (point))
34       (insert "#+BEGIN_SRC " msg "\n")
35       (goto-char (mark))
36       (insert "#+END_SRC"))))
37
38 (defun davidam-org-src(msg)
39   "Insert org source tags"
40   (interactive "sChoose your programming language: " msg)
41   (if (equal nil msg) 
42       (setq msg "lisp"))
43   (insert "#+BEGIN_SRC " msg)
44   (insert "\n#+END_SRC\n"))
45
46 (defun davidam-org-display-date ()
47   (interactive)
48   (setq item-time (org-get-scheduled-time (point)))
49   (message "%s" item-time))
50
51 (defun davidam-happy-birthday(person)
52   (interactive "MWrite the person name: ")
53   (message (concat "Happy birthday to you. Happy birthday to you. Happy birthday, dear " person ". Happy birthday to you")))
54
55 (defun davidam-fibonacci (n)
56   (interactive "nEscribe un numero: " n)
57   (message (number-to-string (fibonacci-aux n))))
58
59 (defun fibonacci-aux (n)
60 ;;  (interactive "dEscribe un numero: " n)
61   (if (or (= n 0) (= n 1))
62       1
63     (+ (fibonacci-aux (- n 1)) (fibonacci-aux (- n 2)))))
64
65 (defun davidam-torres-de-hanoi (discos)
66   (interactive "nDime tus discos y te digo cuantos pasos tienes que dar: " discos)
67   (message (number-to-string (torres-de-hanoi-aux discos))))
68
69 (defun torres-de-hanoi-aux (discos)
70   (if (= discos 1)
71       1
72     (+ 1 (* 2 (torres-de-hanoi-aux (- discos 1))))))
73
74 (defun davidam-insert-output (command)
75    (interactive "sCommand: ")
76    (insert (shell-command-to-string command)))
77
78 (defun davidam-output-to-buffer (buffer command)
79    (interactive "sBuffer name: \nsCommand: ")
80    (get-buffer-create buffer)
81    (call-process command nil buffer)
82    (switch-to-buffer (get-buffer buffer)))
83
84 (defun davidam-rsync-rmail ()
85   (interactive)
86   (get-buffer-create "rsync")
87   (call-process "/home/davidam/scripts/rsync-rmail.sh" nil "rsync")
88   (switch-to-buffer (get-buffer "rsync")))
89
90 (defun davidam-multiply-two (number1 number2)
91   (interactive "nNumber 1: \nnNumber 2: " number1 number2)
92   (message "The result is %d" (* number1 number2)))
93
94 (defun davidam-triangle-using-dotimes (number-of-rows)
95   "Using dotimes, add up the number of pebbles in a triangle."
96   (interactive "nNumber of rows: " number-of-rows) 
97   (let ((total 0))  ; otherwise a total is a void variable
98     (dotimes (number number-of-rows total)
99       (setq total (+ total (1+ number))))
100     (message "Number of pebbles: %d" total)))
101
102
103
104 ;;(get 'i 'vecinos)
105
106 ;; (defun davidam-extend (trayectoria)
107 ;;   (interactive "eList to extend: " trayectoria)
108 ;;   (mapcar #'(lambda (nuevo-nodo) (cons nuevo-nodo trayectoria))
109 ;;        (remove-if #' (lambda (vecino) (member vecino trayectoria)
110 ;;                        (get (first trayectoria) 'vecinos)))))
111
112 ;;(davidam-extend '(i))
113