Two comparisons of different programming languages worth reading

Normally these kinds of pieces are worthless, but these two recently stood out to me:

Dennis M. Ritchie: Five Little Languages and How They Grew: Talk at HOPL* March 19, 2002

Michael Tsai: Perl vs. Python vs. Ruby – distinguished for the thoughtful replies in the discussion thread.

SVN Branch Management Link-a-rama

Coding Horror: Software Branching and Parallel Universes

Perforce: Laura Wingerd & Christopher Seiwald: High-level Best Practices in Software Configuration Management

InfoQ: Version Control for Multiple Agile Teams

BetterExplained: A Visual Guide to Version Control

Branch Maintenance: Chapter 4. Common Branching Patterns

Submerged: CollabNet’s Subversion Blog: Branching Strategy Questioned

CMCrossroads: Robert Cowham: Branching and Merging – An Agile Perspective

CMCrossroads: Steve Berczuk. Robert Cowham, Brad Appleton: An Agile Approach to Release Management

Related Background Links:

Version Control with Subversion: Branch Maintenance: Chapter 4. Branching and Merging

Version Control with Subversion: Strategies for Repository Deployment: Chapter 5. Repository Administration

Version Control with Subversion: Repository Maintenance: Chapter 5. Repository Administration

JavaWorld: Merging and branching in Subversion 1.5

RubyRobot: Subversion With Mac OS X Tutorial

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