Category Archives: Writing

Current topics

Some things I’ve been reading that demand follow-up:

New Yorker, June 23 12014, The Disruption Machine, by Jill Lepore

This is a critique of Clayton Christensen’s theory of disruptive innovation. I find the article both interesting and tragically flawed. There are certainly many things about this theory that can be picked apart and dismantled, but the author fails to make a case on the entire theory. I find some of the arguments akin to the attacks on the theory of evolution (and, as I was thinking this while reading the article, M. Lepore mentions that very similarity). So file this under “critiques that I need to critique), but read this article after you’ve read at least one of the Christensen books.

American Scientist, June 2014, Quantum Randomness, Scott Aaronson

Alas, this is not the start of a regular column, just a two-part article. M. Aaronson is both highly educated and intelligent, and a witty and clear writer. Read this article and try to understand it. You might find the “Free Will Theorem” of particular interest.

Suppose you agree that the observed behavior of two entangled particles is as quantum mechanics predicts (and as experiment confirms); that there’s no preferred frame of reference telling you whether Alice or Bob measures “first” (and no closed timelike curves); and finally, that Alice and Bob can both decide “freely” how to measure their respective particles after they’re separated (i.e., that their choices of measurements aren’t determined by the prior state of the universe). Then the outcomes of their measurements also can’t be determined by the prior state of the universe.

This is a fairly up-to-date article, ending by discussing 2014 research. And this is on the path to being directly used, NIST is trying to develop practical systems.

Medidata Engineering Blog, No Single Points of Failure

I wish I could recommend this as must-read, but, at least for me, it just points out the right direction without having much new to say about how to get there. So my follow-up here is simply to elucidate those better ways.

There’s a need for good writing and drawing tools

Over the past few years, I’ve written a fair amount of text using HTML-based programs like MediaWiki, Atlassian’s Confluence, or Markdown. I’ve used Microsoft Word more than I care to admit. And while I can appreciate the niches that both Illustrator and OmniGraffle fit, and use both moderately heavily, neither is a general-purpose drawing program. Frankly, the entire crop of writing and drawing programs I’ve used in the past 10 years suck.

I miss WriteNow, FrameMaker, MacDraw, Canvas. I miss the promise of OpenDoc (that was so badly betrayed by its lackluster implementation). And while I’m a big booster of open source, none of the open source writing and drawing programs are very usable, stable or powerful.

Everyone writes, everyone draws, and everyone communicates. So, while the market for the tools I want is niche, I think there’s a huge market for a tool suite that can cater to all of us. WriteNow was a very good start for something that was easy to use and could produce decent results. FrameMaker was awesome, and while it had a learning curve, it wasn’t insanely steep like with Adobe Illustrator.

This is not a technical problem any more. Computers are far more powerful and software engineers far better at their craft compared to 30 years ago. It blows my mind that no one has produced a great writing program. It also is mindboggling that while we have phenomenal painting tools, we don’t have any great drawing tools. I mean, people use Visio to do their vector graphics! There’s something wrong with a world where that happens.

I would write these, except then I would be even farther from working on the projects I really want to do. We have the user expertise to just sit down and do these.

Part of the problem is that most of the effort goes into web-based tools that create HTML content, and HTML content just isn’t rich enough for book-level layout, not at the source level. You can render something into HTML that looks decent, but it would be too verbose to actually write it that way. And since the effort is going in to web-based tools, the drawing side uses SVG, and SVG is still immature, both in rendering and in capability.

Hmm, this just turned into a rant about the idea of separating content from presentation, which was the entire premise of markup in the first place, going back to at least the 1960s (my first experience with markup and writing was with Wordstar), and which drove the development of SGML – which most of you only know because its most famous sibling, HTML.

Here’s the killer program that needs to be written – we have very powerful computers that can do pattern recognition, so take advantage of it and create writing and drawing programs that can infer your structure from examples, letting you write in whatever form you want but be able to take advantage of both working at a very denotative manner (“hmm, I’ll make this Bodoni 18 point bold because I need this to stand out as a chapter heading”), but have the software be able to figure that out (“gosh, a lot of this text is in 12-point strung together in paragraphs, interspersed with some larger text set aside with whitespace, that must be a heading and that other thing is the first subheading, and I’ll just infer that structure”). So that half-way through, when you want to replace Bodoni with Palatino, you just do it annotative in the structure that was built for you. Or, you tweak the structure, or you completely replace it with the New Yorker style guideline because you’re submitting part of your magnum opus as a magazine article, or you take 20 of your books and completely reformat them into a consistent whole with a few simple operations.

Someone please make that, so I don’t have to.

And then, make a drawing program that’s the same way. I’d love to draw on a tablet and have my pitiful lines turned into the correct regular images, and I’d like to be able to apply styles to drawings the same way that we apply style sheets to text, and I’d like the drawing program to be able to figure out the difference between a connective line that sticks to a shape, and a decorative line that nonetheless should be grouped with related objects even if I don’t drag-select when I move. And of course when I put graphics into my text, the text and the graphics should know about each others’ visual properties so I can apply consistent styles automatically.

Someone make that too, please, so I don’t have to.


Writing tools

Drawing tools

Weekend tidbits

The spiped secure pipe daemon

Spiped (pronounced “ess-pipe-dee”) is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses, so that one may connect to one address (e.g., a UNIX socket on localhost) and transparently have a connection established to another address (e.g., a UNIX socket on a different system). This is similar to ‘ssh -L’ functionality, but does not use SSH and requires a pre-shared symmetric key.

Spaced Repetition

One of the most fruitful areas of computing is making up for human frailties… My current favorite prosthesis is the class of software that exploits the spacing effect, a centuries-old observation in cognitive psychology…The spacing effect essentially says that if you have a question (“What is the fifth letter in this random sequence you learned?”), and you can only study it, say, 5 times, then your memory of the answer (‘e’) will be strongest if you spread your 5 tries out over a long period of time – days, weeks, and months

Google Now

Need to set it up on iOS or Android first, even if you mostly access it from a desktop computer.

Alan Kay talk: The Future Doesn’t Have To Be Incremental. The stuff we have now was invented by a few dozen people over 5 years.

Alan Kays’s Reading List.

Understanding the Linux Virtual Memory Manager, Mel Gorman, 2007.

Build your own Lisp. Write a Lisp interpreter in 1000 lines of C.

America’s Young Adults at 27: Labor Market Activity, Education, and Household Composition: Results From a Longitudinal Survey Summary



Misc reading

The real story behind “a cryptography breakthrough” – worth reading:

Etsy’s Randy Hunt on Product Design:

A wonderful article on Bill Murray’s career:

Some programmer tests/practice/kata:

Metrics for dashboard metrics:

ShareLaTeX is a online collaborative LaTeX editor, and it’s now open source: