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

Understanding CIDR notation

Good guides for those that need a quick dive:

Wikipedia: CIDR notation. Terse. Without understanding of IP addressing and subnets worthless. So the following give a better big picture:

Cisco: IP Addressing and Subnetting for New Users

MediaWiki’s guide to blocking ranges: Help:Range blocks

Yahoo! Small Business Help: What is CIDR?

Microsoft: Understanding TCP/IP addressing and subnetting basics

Pain kept me away too

Great to hear an acupuncture treatment helped Susie get back to her guitar.

Arthritis in the hands is scary. Part of me is thankful my pain stems only from the back.

Past few weeks I’ve been getting to my garage and plugging in here and there. Becoming re-acquainted with an old friend.

Speaking of that, I’ve been spending the past day transferring old recordings of myself jamming with friends and bands from long ago from cassette to my computer. Around 20 or so cassettes, so its a big job, probably will take a week or more. And I’m doing this, one side of a cassette == one .wav file (for expediency’s sake). Breaking down to individual songs will take a bit.

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.

Links for picking up Python FAST

hetland.org: Instant Hacking – very fast introduction to the language and even programming in general.

Dive Into Python – Experienced programmer in other languages should choose this. My favorite introduction to Python.

The Official Python Tutorial – more thorough starter – take a day or so to go thru it and absorb.

Code Like a Pythonista: Idiomatic Python – a must read sooner or later.

Yahoo!’s Python Developer Center – full of info and good links.

PLEAC – Python Cookbook

The ActiveState Python Cookbook

Reading about Domain-Driven Design

InfoQ: Domain-Driven Design in an Evolving Architecture – how guardian.co.uk employed DDD in the development of its new CMS and Web management framework.

Wikipedia: Domain-Driven Design

Related:

Comment: On colour-modelling techniques and Archetypal Domain Shape

BBC – Radio Labs: How We Make Websites

To read:

InfoQ: ebook: Domain-Driven Design Quickly

Domain Language /DDD

InfoQ: Video: Jimmy Nilsson on Domain Driven Design

InfoQ: DDD in Practice

InfoQ: Domain Driven Design Content on InfoQ

JavaWorld: Domain-driven design with Java EE 6