seven-languages-in-seven-weeks/announcements.org
2015-08-05 13:31:43 -04:00

106 lines
5 KiB
Org Mode

#+TITLE: Extreme Tech Seminar
#+AUTHOR: Correl Roush
#+EMAIL: correl@gmail.com
#+OPTIONS: H:1 toc:nil ^:nil
#+STARTUP: beamer indent
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation,aspectratio=169]
#+begin_src emacs-lisp :exports results :results silent
(defun org-get-scheduled-end-time (pom &optional inherit)
(let ((parse-end-time
(lambda (time)
(let ((ts-regexp (concat org-ts-regexp1
"\\(-\\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)")))
(when (string-match ts-regexp time)
(org-parse-time-string (string-join (list (string-join (list (match-string 2 time)
(match-string 3 time)
(match-string 4 time))
"-")
(match-string 5 time)
(string-join (list (match-string 10 time)
(match-string 11 time))
":"))
" ")))))))
(let* ((time (org-entry-get pom "SCHEDULED"))
(end-time (funcall parse-end-time time)))
(if end-time
(apply 'encode-time end-time)
(org-get-scheduled-time pom inherit)))))
(defun xts-announcement (location language)
(print (string-join `("#+LATEX: \\fontspec{Antonio-Bold}\\color{trek@lightyellow}"
"#+LATEX: \\Huge"
"#+BEGIN_CENTER"
"THE EXTREME TECH SEMINAR"
"#+END_CENTER"
"#+LATEX: \\Large\\color{trek@lightorange}"
"#+BEGIN_CENTER"
,(concat (format-time-string "%a, %B %e @%l:%M%p"
(org-get-scheduled-time (point)))
(format-time-string "-%l:%M%p" (org-get-scheduled-end-time (point))))
"#+END_CENTER"
"#+LATEX: \\normalsize\\color{trek@lightblue}"
"#+BEGIN_CENTER"
"Come join us as we study Bruce Tate's book, \"Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages\"."
"#+END_CENTER"
"#+LATEX: \\small\\color{trek@darkorange}"
"#+BEGIN_CENTER"
,(concat "THIS WEEK: " language)
"#+END_CENTER"
"#+LATEX: \\small\\color{trek@midblue}"
"#+BEGIN_CENTER"
"pragprog.com/book/btlang\\\\"
"COUPON CODE: ExtremeTech7\\\\"
"#+END_CENTER"
"#+LATEX: \\footnotesize\\color{red}"
"#+BEGIN_CENTER"
"FOOD WILL BE PROVIDED"
"#+END_CENTER")
"\n")))
#+end_src
* Ruby
SCHEDULED: <2015-05-27 Wed 18:00-20:00>
#+begin_src emacs-lisp :exports results :results raw
(xts-announcement "Franklin Training Room"
"The object-oriented langauge, \"Ruby\"")
#+end_src
* Io
SCHEDULED: <2015-06-10 Wed 18:00-20:00>
#+begin_src emacs-lisp :exports results :results raw
(xts-announcement "Franklin Training Room"
"The prototype language, \"Io\"")
#+end_src
* Prolog
SCHEDULED: <2015-06-24 Wed 18:00-20:00>
#+begin_src emacs-lisp :exports results :results raw
(xts-announcement "Franklin Training Room"
"The logic programming language, \"Prolog\"")
#+end_src
* Scala
SCHEDULED: <2015-07-08 Wed 18:00-20:00>
#+begin_src emacs-lisp :exports results :results raw
(xts-announcement "Franklin Training Room"
"The functional/object-oriented hybrid JVM language, \"Scala\"")
#+end_src
* Erlang
SCHEDULED: <2015-07-29 Wed 18:00-20:00>
#+begin_src emacs-lisp :exports results :results raw
(xts-announcement "Franklin Training Room"
"The concurrent, functional language, \"Erlang\"")
#+end_src
* Clojure
SCHEDULED: <2015-08-12 Wed 18:00-20:00>
#+begin_src emacs-lisp :exports results :results raw
(xts-announcement "Franklin Training Room"
"The JVM lisp, \"Clojure\"")
#+end_src
* Haskell
SCHEDULED: <2015-08-26 Wed 18:00-20:00>
#+begin_src emacs-lisp :exports results :results raw
(xts-announcement "Franklin Training Room"
"The pure functional language \"Haskell\"")
#+end_src