Thursday, January 21, 2010
The beauty of Latex: my AllegroGraph book becomes two books, one for JVM languages and one for Lisp
I have been working on and off for 16 months on a book about Semantic Web (or Linked Data) application programming using the AllegroGraph product. I have decided to substantially increase the scope of this applications/tutorial style book to also include support for Sesame. The figure on the left shows the software architecture road map for the book using JVM languages.I am splitting the book into two volumes, and using Latex makes this really easy to share small amounts of common material so both books stand on their own. Latex also makes it easy to combine both books into one all-inclusive book, eliminating the duplicated parts. The two volumes are:
- Volume I: will cover the use of both AllegroGraph and Sesame using JVM languages: Java, Scala, JRuby, and Clojure. I am working on a common wrapper written in Java that supplies my own (rather simple) API to both AllegroGraph and Sesame. My wrapper implements Sesame support for geolocation and free text indexing and search so the wrapper is adequate to run all of the book examples using either AllegroGraph or Sesame "back ends."
- Volume II: will cover only AllegroGraph using both the embedded and client Lisp APIs.
Labels: Clojure, Java, JRuby, Latex, Lisp, RDF, Scala, semantic web
Sunday, September 21, 2008
Very cool: PracTex online magazine for LaTex users
I very much enjoy writing and using LaTex makes the whole process even more fun. I just discovered PracTex this morning (thank you Google Reader "suggestions" :-)
Labels: Latex
Friday, September 12, 2008
Very useful book: "LaTeX Graphics Companion, The (2nd Edition) (Tools and Techniques for Computer Typesetting)"
I am using LaTex for most of my writing projects and this book provided me with a fast start for generating UML diagrams, 2D and 3D graphics, formulas, Chess/Go/Backgammon boards and move lists, a very wide range of engineering diagrams, music scores, etc., etc. This is a large book (almost 1000 pages) but the layout and well organized examples from the book (which are easy to try out) make the whole book feel accessible and lots of fun to work with.
Labels: Latex
Friday, August 08, 2008
More use of Eclipse and Mylyn: new book project using Latex
I am working on the 3rd edition of my Java AI book and I set up Eclipse with TeXlipse today. Now, I have always liked using TeXShop on my Mac, and I still really like TeXSHop but the ability to have my book code examples and my Latex files in one working environment with Mylin task management makes it well worth the effort to switch setups.
Labels: Eclipse, Latex, Mylin, technical writing
Sunday, March 11, 2007
New version of my free web book "The Software Development Book"
As I mentioned in an earlier blog entry, starting in March 2007, I am taking a new approach to distributing my web books:
- During development (writing), my web books are accessible as HTML linked from http://markwatson.com/opencontent
- When the books are complete, the HTML links will point to the latest version of the book and additional links will reference PDF and a physical book purchase links at lulu.com
As always, I am grateful to receive reports on misspellings, etc., and even more grateful to receive suggestions.
Labels: Latex, open content, publishing
Sunday, March 04, 2007
Automating the technical writing process
I have been working fairly hard in my free time on two "free web books" for my main we site. In the past I have simply created PDF files and made them available for my site. Although I write my "free web books" using a Creative Commons license, I decided that I wanted to make at least a small revenue stream so that I can spend more time on these projects. My plan has been to have all of my web books readable for free online with a small Google Adsense advertisement at the beginning of each chapter and offer through lulu.com the ability to buy PDFs with no advertising for a few dollars or get a printed book for about $12.
I would prefer spending my time writing rather than preparing HTML, PDF, and printer ready PDF. I think that I now have this process automated about as fully as I can, using custom Ruby code, shell scripting, and a "do everything" Makefile. I had experimented with using OpenOffice.org and writing some utilities to modify the generated HTML. I also experimented with the very cool SiSU system.
In the end, I went back to automating my writing setup using Latex, htlatex, pdflatex, custom Ruby code and shell scripts, and the OS X Latex editor TexShop. It feels good to get things working "just right".
Labels: Latex, Ruby, technical writing
Monday, October 09, 2006
Praise for older software
Now that the old days are long gone and word processors come preinstalled with every machine, why should we care about this remnant of history? The answer is that remarkably LaTeX is much better suited for composing and distributing most types of documents than any other modern word processor on the market that I am aware of. Just like programming languages tend to converge towards Lisp because it got things right the first time around, so do the Word Processors tend to converge towards LaTeX.In the last few months almost all of my writing has been done using LaTex and most of my development in Common Lisp (using another old program: Emacs). I love to experiment with new technology, but I use whatever is best for a job to support my family.
I blogged a few years ago about this: in the distant future, I wonder if people will be using ancient software that has been thoroughly tested over the centuries, is bug free, and seems 'just right' feature-wise.
Saturday, September 30, 2006
Best technical writing software?
As a computer scientist, I spend a reasonable amount of time tweaking my software development and technical writing work environments. For software development, I almost always prefer a fast Linux box with just the tools I need - no fluff to act as a distraction.
Unfortunately, my favorite writing environment is heavily Mac OS X dependent, largely because of the OmniGraffle technical drawing tool (I am addicted to using it and I highly recommend it.) So I am stuck on a Mac for writing most of the time. I also strongly prefer Latex over Microsoft Word or OpenOffice.org for writing (much more efficient use of my time!) While I am very happy using Emacs+autex for Latex work, there is something a little better: the free TeXShop Latex working environment for OS X.
Labels: Latex, technical writing
Monday, August 07, 2006
How much more productive is using Latex rather than Word or OpenOffice?
I am too busy with consulting work to spend much time on it, but I started a new for fun writing project using Latex and some custom code for inserting both program listings and the output from running the program examples - it is clear to me why Latex + my custom code is more efficient for programming texts using than using a word processor. BTW, my new 'for fun' writing project is "AI Programming in Ruby".
Labels: Latex, technical writing
Monday, July 03, 2006
21 years with Emacs; streamlining writing/publishing with LaTex
I still think that IntelliJ is the best Java development environment, but I am trying to not do so much Java anymore - this year I have been developing mostly using Common Lisp and Ruby. Emacs is a natural fit for Lisp development, and is good for Ruby (but Ecplise+RDT is a bit better). It feels strange to still be using the same software (sort of) that I have been using for a good part of my life!
Just in the last few days, I have been finding Emacs recently to be the best environment (that I have found) for working with LaTeX - AucTeX was a 1 minute install in Ubuntu and I liked the way that it gives limited preview right in an Emacs buffer, and it takes only a few keystrokes to run LaTeX and get a real preview.
I have a good reason for getting back into into LaTeX: I love to write but I am not as enthusiastic about going with the established publishing industry anymore (I have written 14 published books, with another in progress, so "been there, done that"). I am much more enthusiastic about web publishing and alternative print on demand publishing outlets because a lot of things that interest me enough to write about are niche markets. In order to more easily write more (but much shorter) programming texts, I want to streamline and automate generating high quality text with embedded programming examples and equations. It took very little time this afternoon to set up an automated system for embedding program listings with generated output in LaTeX. Saving lots of "busy work" time lets me spend more time writing.
Subscribe to Posts [Atom]
