Part IV of the series, "Architecture, Agile, and personal re-invention"
On a different topic: I've supplemented this whole adventure with some personal productivity upskills that became essential:
I was worried the computer was fried due to static from my walking treadmill, but the LInux build went in easily and has been marvelous.
I tried a few different Linux desktops about 6 years ago, but they were pretty rough. Happy to now report that, with a couple gaps, Linux is ready for prime time as a Windows or Mac alternative.
Tried Ubuntu Desktop but Ubuntu Server was a cleaner install, installing Gnome after the fact. Rock solid and works like a charm. Have a permanent Virtualbox Windows 7 VM for running Office, Sparx EA and MediaMonkey, and Vagrant VMs I spin up and down as needed for Calavera & other experimentation. Mostly working with Linux native tools including Github Atom, Chrome, and Libre Office. There's even a VMWare VDI client.
All in all, it's been great. Two major problems:
First, Dropbox would not behave. It is supposed to run on Ubuntu and some people have success with it, but I could not get it to work. So I run it in the permanent Win7 Virtualbox VM and use Samba to share it with the Ubuntu side.
Second, my Fujitsu Scansnap would not talk over the Virtualbox USB forwarding to the VM, no matter what I tried. So I wound up buying a $300 mini from Newegg and dedicating it to the scanner, which was OK (got a great deal on it, 8GB Windows 7 preloaded, no crapware).
First, Github is becoming a general purpose collaboration platform for all kinds of stuff. Other academics use it for their labs and lessons, and authors are using it for collaborative review. This got me thinking about some of the IT4IT standards work I'm doing lately: definitely meets the definition of “complex collaboration”! And I've had it with Microsoft Word as a platform... shipping documents around by email is so 2009.
If you spend any time at all on Github you will notice that most of the text you read is in a dead-simple markup language called Markdown. Asciidoc is Markdown's big sibling, with tables and other essentials. It's still just text, so you can easily version and compare it.
Asciidoc renders nicely as HTML or PDF, and after some fiddling and blatant stealing from the Pro Git repo I've created a simple repo that combines the necessary install as a Vagrantfile and script, with a sample document that renders as html and pdf.
Also, although the Ruby asciidoctor utility is intended to transcend the legacy Python asciidoc utility, I found that the legacy pdf building was better. So, the script I created installs both (and takes quite a while to do so). The Ruby dependencies are troublesome, but I wound up with a satisfactory toolchain that I will be able to leverage for a variety of purposes. Due to the complex dependencies, I recommend running it from a Vagrant machine for maximum configuration control. I will be looking at Docker to help solve this.
At some point, I'd like to incorporate PlantUML and DiTAA (Diagrams through Ascii Art) perhaps. There are still some issues with collaborative architectural work. I don't think OMG metamodels are agile enough. Certainly, comparing XMI across multiple git revisions does not seem to be a good way forward.
Why go to the trouble of a new writing and publishing toolchain? As Marshall Mcluhan famously said, "the medium is the message.” And Microsoft (or proprietary formats/tools in general) is not the message I care to send. More on this when the IT4IT Agile Workstream paper goes live.
Now, how can I switch to AsciiDoc for my blog? Hmm....
Next and final in the series: What's next?