Some of my Emacs defaults (in .emacs)

(defvar my-dir-root (expand-file-name "~/elisp"))
(set-default-font "-apple-consolas-medium-r-normal--13-0-72-72-m-0-iso10646-1")
; appending to the elisp load path for our stuff
(setq load-path (cons my-dir-root load-path))
; stop that splash screen
(setq inhibit-splash-screen t)
; set the fill column
(setq-default fill-column 79)
; set the default tab width
(setq-default tab-width 4)
; always show the line number
(line-number-mode t)
; always show the column number
(column-number-mode t)
; allow selection deletion
(delete-selection-mode t)
; yes-or-no will always take "y" or "n"
(fset 'yes-or-no-p 'y-or-n-p)
; stop automatic insertion of new line
(setq next-line-add-newlines nil)
; enable selection highlighting
(setq transient-mark-mode t)
; enable search highlighting
(setq search-highlight t)
; show matching parens
(show-paren-mode t)
; have backspace be backspace
(normal-erase-is-backspace-mode 1)
; have emacs scroll line-by-line
(setq scroll-step 1)
; prevent emacs from making automatic backups
(setq make-backup-files nil)
; switch dabbrev-expand to hippie-expand
(global-set-key "\M-/" 'hippie-expand)
; turn off backups
(setq backup-inhibited t)

Reading about Graphviz

While gearing up on a content management project, a few developers were wrangling with how to share solution diagrams between Visio and OmniGraffle. While there is a level of compatibility between the two, its not ideal. While researching, I went off into a related tangent, a cross platform tool that I can manipulate from a text editor or programming language, and ended up reading about Graphviz.

Graphviz – command line tool and DSL (dot) to define and render graphs and diagrams.

Doesn’t sounds like much, but check out this magic: Visualizing traceroute output with Ruby and Graphviz or how about Maven based dependency graphing?

I think prefuse (with the unbelievable looking flare) is an excellent related toolkit to look into next (interaction and animations!!!!!) .

O’Reilly: An Introduction to GraphViz and dot

O’Reilly: Graphviz – Why draw when you can code?

Orgmode.org: org-exp-blocks.el: pre-process blocks in org-mode files in Emacs to generate diagrams – rocking!

Bernt Hansen’s fantastic Org Mode – Organize Your Life In Plain Text! is a working example of the above org-mode use case (and a great org-mode tutorial)

Forever for Now: UML Diagrams Using Graphviz Dot

Haven’t read or experimented with yet, but will…

Linux.com: Create relationship diagrams with Graphviz

IBM developerWorks: Visualize function calls with Graphviz

Graphviz Resources – large list of viewers, navigators, language bindings, etc

WikiViz: A large list of related tools and libraries

ZGRViewer: a Java-based desktop GraphViz/DOT Viewer – Adds interactivity to viewing a dot defined graph.

Graphviz Eclipse plug-in

pydot

NetworkX

UMLGraph

Getting Lisp

At work props go to Michael Bevilacqua-Linn and his great brown bag on Clojure. I think it helped a few of us not only get exposed to Clojure, but Lisp as well.

Here are some great starting points for the procedural-biased:

defmacro: The Nature of Lisp – absolutely fantastic. Uses Java and XML examples to help bridge the conceptual divide.

Ward Cunningham’s WikiWikiWeb: LispUsersAreArrogant entry.

Steve Yegge’s Lisp is not an acceptable Lisp

Stuart Sierra: Clojure is a Lisp worth talking about

News and Blog: Getting it

Steve Yegge: Emergency Elisp

Me? I have a lot of practice ahead of me to become proficient, but since Emacs is my editor, it comes naturally.

Very quick start with Scala on OS X

1. Download and extract directory

2. Move scala install directory under to /usr/local/.

3. Add SCALA_HOME variable to your .bashrc export SCALA_HOME=/usr/local/[SCALA INSTALL DIRECTORY]

4. Add $SCALA_HOME/bin to your path in .bashrc, example: export PATH=$PATH:/usr/local/bin:/usr/local/sbin:$SCALA_HOME/bin

5. Get Emacs set up, read Scala, Emacs, and Yasnippet and Stone Tools and Scala Development.

(even easier, check out Bill Venners of Artima’s tips for steps 1-4)

Play, experiment. Maybe write the equivalent of Code To Joy’s myTunes: Groovy and JFugue (“Crazy Train” as the new “Hello World”? Not exactly, but a fun exercise).

Read The busy Java developer’s guide to Scala: Functional programming for the object oriented

Emacs links for Sunday March 15th, 2008

I used Emacs org-mode to compose my first college report. These first two links delve into some of the techniques I used.

Marios Braindump: Using Emacs Org-mode to Draft Papers

emacs-orgmode: [Orgmode] Example of thesis in org-mode and LaTeX

Xah’s Emacs Tutorial and Xah’s Lisp Tutorial – Fantastic.

Emacs links for today

Emacs Screencast (Ruby developer shows why he likes Emacs)

Xah’s Emacs Lisp Tutorial – I’m following this myself. Some great bits in there for the Lisp/Emacs newbie.

Publiushing Org-mode files to HTML – nice setup to publish a directory of org-mode files.

Hacker News thread: Ask HN: Emacs users on OS X, what’s your setup?