(incoherencies)

About

Cowper On “Writer’s Block”  (03-23-2012 9:35 AM; cowper, quotes, writing)

William Cowper:

Did I allow myself to plead the common excuse of idle correspondents, and esteem it a sufficient reason for not writing that I have nothing to write about, I certainly should not write now. But I have so often found, on similar occasions, when a great penury of matter has seemed to threaten me with an utter impossibility of hatching a letter, that nothing is necessary but to put pen to paper, and go on, in order to conquer all difficulties; that, availing myself of past experience, I now begin with a most assured persuasion that, sooner or later, one idea naturally suggesting another, I shall come to a most prosperous conclusion.

(from a letter to Rev. William Unwin, written in 1782)

Allow me to paraphrase this, for the benefit of our modern-day attention spans:

Just write.

(Thanks to Mr. Orton and his minions at Distributed Proofreaders for their work on getting T. S. Grimshawe’s “Works Of William Cowper” ready for publication on Project Gutenberg — I have, as this post demonstrates, been already reading the text.)


Tabutational wells  (01-18-2012 3:39 PM; humor, quotes)

I will now violate the constraints of my once-every-two-months posting schedule (which was coincidental, but which, once I had discovered it, I planned to stick to) to bring you this excellent justification of tables within tables.

It’s called a tabutational well: if you build up enough depth in recursive tables it helps keep all the other bytes on the page from floating away… like with a planet & moon.

—overheard by John Spadafore

I would almost worry about doing it any other way now. You do have to be concerned about those bytes.


A series of very small lists  (12-13-2011 8:48 AM; diveintomark, lists)

List of subjects on which I could read all day

  1. Static site generation

List of words which I believe are useful in spite of advice from Strunk & White to the contrary

  1. “very”

List of “computer languages” which I do not know, and must learn

  1. JavaScript

List of web frameworks which I am currently using on my 11-inch MacBook Air

  1. Grails

List of my main purposes for my 11-inch MacBook Air

  1. Web development

List of devices with which I hope to replace my 11-inch MacBook Air

  1. iPad

List of phrases which I may have overused in the preceding three lists

  1. “11-inch MacBook Air”

List of sentences which ably describe a typical Missouri winter

  1. “Foggier yet, and colder! piercing, searching, biting cold.”

List of names which I plan to someday use for open-source projects

  1. Gonzo

List of 23-year-old text editors with which I am trying to become familiar

  1. vim

List of still older editors, on which the previously listed ones were based

  1. “Stevie”

List of persons which may find that enlightening and amusing (or perhaps not)

  1. P. B.

List of books which I expect to finish someday

  1. Cosmos, Creator And Human Destiny, by Dave Hunt

List of iPhone apps which are proving exceedingly helpful in the reading of books

  1. ReadMore, by Jonathan Penn

List of apps which I recommend for reading ebooks on an iPhone

  1. Kindle for iPhone

List of web development companies whose sites’ contact section used to be brilliant

  1. Evil Martians

List of recommendation quotes which I find hilarious

  1. “Working with Evil Martians lets us grow faster and earn more.”

List of blogs weblogs whose designs I most admire, now that dive into mark is gone

  1. Geek & Mild, by Sean Sperte

List of posts which I am blatantly copying

  1. “A series of very small lists”, by Mark Pilgrim


Basic insignificance  (10-19-2011 8:46 AM; blogging, perspective)

So I have not been writing here. I am, however, still around, and I have taken measures to see that you, my sole reader, will, if I must be absent, yet have this fine thought, brought to you from the Wayback Machine.

I believe we are on this earth to serve God and in so doing, encourage others to reach their full potential by accepting Jesus Christ as their Lord and Savior who will take them just as they are and then enable them to be all they can be (which is far more impressive than anything they can achieve on their own)…. As cool as software is, it is basically insignificant in the grand scheme of things.

Ken Auer


Getting At MarkdownJ From Within A Groovy Script  (08-20-2011 4:30 PM; grape, groovy, markdown, markdownj, rizzo)

Today I finally started to work on adding Markdown support for Rizzo. (No, it is not finished yet.)

(UPDATE 08/22/2011: Now it is.)

I have many good reasons for doing this, by which I mean: It has occurred to me that until I add Markdown support, no one will take Rizzo seriously. There is only one yours truly, and there is only one Mark Pilgrim.

Writing in one format and converting it to HTML is not worth the mental and technical overhead. HTML is not just one output format among many; it is the format of our age.

Mark Pilgrim

But there. I have spent enough time on writing in HTML for a post about adding Markdown support to Rizzo. I just like writing in HTML (and, yes, I like that quote).

So I was looking at MarkdownJ, which is a pure Java port of Markdown, and I was originally drawing inspiration from Ted Naleid’s Markdown plugin for Grails. But you must load the classes before you can instantiate them, and Mr. Naleid’s use of the class has the advantage of being in a Grails service, which is to be run as part of a Grails plugin, which will have a lib directory, which can contain the MarkdownJ JAR, which Grails will load for him automatically.

Rizzo is a Groovy script. I have discovered that there are several ways to load the MarkdownJ classes from a Groovy script, and one of them even works: using Groovy’s Grape. The idea here is (to quote directly from the documentation) that “a developer” (me) can “write a script with an essentially arbitrary library requirement, and ship just the script.” At runtime, Grape will download and link the “arbitrary libraries.” This happens to be exactly what I want.

Thus, with help from Per Olesen in the form of a helpful post on Groovy Script Deployment With Grape and from mvnrepository.com in the form of up-to-date module and group IDs, I came up with this:


import com.petebevin.markdown.MarkdownProcessor

@Grapes(
    @Grab(group='com.madgag', module='markdownj-core', version='0.4.1')
)

def magicalAbilityToConvertMarkdownToHtml = new MarkdownProcessor()

//...

(Yes, I may have syntax highlighting here someday, too. But I reserve the right to never quite get around to adding it.)



UPDATE 09/02/2011: Guillaume Laforge has pointed out that I could omit needless code by using Grape’s shorter “Gradle-inspired” syntax, which for Rizzo looks like this:


import com.petebevin.markdown.MarkdownProcessor

@Grab('com.madgag:markdownj-core:0.4.1')

def magicalAbilityToConvertMarkdownToHtml = new MarkdownProcessor()

//...

So I learn that there is much to be discovered by reading the docs. [smacks forehead] Thanks to Guillaume for that.



And that is the whole conclusion of the matter. I have been trying to get this working, an hour or two at a time, for several months. Perhaps this may save someone else the trouble.

If not: Thanks for reading.