Gradually Falling in Love with Plain Text

Funny thing about life-changing ideas. It can take a while to warm up to them.

First in blogger, then in Squarespace (where Prolost is now hosted), I used to write my blog posts right in the blogging engine—in that little “WYSIWYG” window with its buttons for creating links, quoted text, and text formatting.

At some point I became aware of Markdown, the plain-text writing format created by John Gruber. I totally didn’t get it. Why would I want to learn some new “syntax” for formatting text when I have a tool that does it at the push of a button, and shows me exactly what I’ll get?

Even as I was thinking this, I was living through the exact pain that Markdown was designed to address. I’d often find myself battling that little WYSIWYG text window. I’d press Return after some quoted text and it would create another quoted paragraph. I’d press the “quote” button to un-quote the current paragraph, and an extra line would be inserted. I’d try to delete it and now there was no separation between the paragraphs. I’d press “Publish” and the extra line would be back. I’d eventually go into the post HTML and try to remove the offending line break, crossing my fingers that I wasn’t destroying something else in the process. After all this, I’d be afraid to touch the WYSIWYG editor again. A typo or broken link would have to be pretty important for me to risk touching this house of HTML cards I’d created.

I began writing my blog posts in other tools before moving them over to the blog. I first did this in email drafts. Then Notational Velocity. Then TextEdit. But I didn’t dare write in rich text, because I didn’t trust that my links and italics and bulleted lists would come over to Squarespace correctly.

So I wrote in plain text. If I wanted to create a link, I’d just paste the URL below the paragraph, as a kind of reminder to build a link in Squarespace using the pushbutton tools. If I wanted to style some text, I’d maybe, I don’t know, wrap some *asterisks* around it to remind myself to italicize it.

I proceeded like this for a good year or more, still bizarrely unaware that I was painfully embodying the raison d’être of Markdown. I even filed a bug report with Squarespace, because the simple process of pasting my plain text into their WYSIWYG editor would create extra line breaks and other errors. I was close, but I was still lost.

It was around this time that I started tweeting questions about why any sane person would ever want to use Markdown.

The Funny Thing About People and Stuff

I have a few dear friends who are argumentative pains-in-the-ass of staggering proportions. I’m sure they feel the same about me, because I suffer from a condition I call overemphasitis—I am so obsessed with making my points heard that I often don’t give people time to properly absorb them.

Even smart, open-minded people take time to absorb new ideas. Especially smart, open-minded people.

And here’s the thing: the more worthwhile, the more valuable an idea you present to someone, the harder it will be for them to hear it.

Think of it this way: You’re smart. Your friend is smart. If the concept you’re proposing to them is truly worthwhile, then it falls into a rarified category of being both important, and something they hadn’t already considered—or had considered, but rejected. So there’s obviously something they need to get past in order to embrace this controversial idea of yours.

You should drink less at company parties. You have bad breath. It looks like you might be lactose intolerant. You and your husband don’t seem to like each other very much. You should try writing in plain text.

Having chronic overemphasitis, I would get super annoyed with my friends when they would push back against my carefully considered and inarguably brilliant advice.

But over time, I noticed a pattern. That same friend who rebuffed my ideas upon first hearing them, would often embrace them soon thereafter—and even pitch the ideas back to me as if they were their own.

I can’t believe people still go to Starbucks. Rendering and compositing should be done in linear-light. Of course a real Martini is made with gin. The first Terminator is so much better than the second. A spoon has no role in the making of a cappuccino.

Oh, really? Interesting. I wish I’d mentioned those things to you, like, a hundred times.

A worthwhile idea challenges us. If it really has value, then it means we may been wrong about something, or failed to realize something. Coming to terms with these possibilities take time.

In my case, I practically had to invent Markdown on my own before I realized how great it was.

Getting Lost in the Neighborhood

I once led a splinter unit in setting up a shot for a famous cinematographer. When he arrived to take over our setup, he didn’t quite love our camera position, which was limited by the geography of the set. It had been quite a puzzle to negotiate our big lens into the cramped space, but he decided to tear down our setup and start fresh. Ten minutes later, he had the camera exactly back where I’d placed it.

There’s a common understanding that in order to truly learn your way around an unfamiliar neighborhood, you have to get lost there a few times. Ideas stick more when you discover them organically—via your own process.

And then they can stick pretty hard. In my case, about a week after I embraced Markdown for my web writing, I began to think about how I could bring the same portability, compatibility, and universality to screenplay writing.

Happily I was not the only one, and now Fountain, the plain-text screenplay format, is growing strong, with new apps announcing support every month.

Take Your Time

The point of this article is simple: Don’t take my word for it that working with plain text is the best thing that ever happened to you. Or this guy’s. Or this guy’s.

The best thing I can do is gently lay out some of the reasons I love it. Go ahead: reject them. Fight back. Argue with me. This is one of those ideas that’s worth it.

Then slowly discover plain text on your own. Get lost in the neighborhood.

This post was gleefully written in Markdown using Byword, and effortlessly pasted into Squarespace as HTML.

Fast Ray Tracers

Thanks to @quarterlight for the link to this demo of Clarisse, an interactive ray-traced shading and rendering environment that uses the progressive refinement method I mention in my previous post. From the FAQ:

Clarisse is CPU-based. A basic graphics card supporting OpenGL 2.0 is more than enough.

And:

Clarisse runs perfectly fine on lower end hardware such as laptops and remains perfectly smooth and interactive. The What is Clarisse video? was recorded on a dual-core laptop dating from 2009.

This is what I’m talking about when I say that the ray-traced 3D performance in After Effects CS6 could be better optimized for the CPU.

Still not convinced? Then I guess you didn’t click the progressive refinement link in that last post. It goes to an interactive demo of a ray-traced scene that you can interact with, live, at very high frame rates. The real time rendering, which includes secondary light bounces (AKA radiosity), is done in your browser.

Ray Tracing in After Effects CS6

The Best New Feature that You May or May Not be Able to Use

While I was busy making Canadian Lysol commercial history, Adobe released Creative Suite 6, including a major update for my favorite creative software of all time, After Effects. The new version includes some exciting new features:

  • Variable mask feathering

  • 3D camera tracker

  • Global Performance Cache (sexier than it sounds)

  • Rolling Shutter Repair tool

  • Ray-traced 3D extruded layers

Each of these features is worth its own post, so I’ll just pick one to start. The ray-traced 3D renderer is the first major update to AE’s 3D capabilities since they were first introduced in 2001–2002. AE was way ahead of most of its competition (except flame, of course) in bringing 3D capabilities to a compositing environment. At the time, adding 3D layers to a dedicated compositor was a somewhat controversial move. But now it’s hard to imagine compositing without a 3D environment, and After Effects has been lapped several times by its competition in 3D features. So I’m happy to see true 3D geometry finally spinning in my AE viewport.

I could be happier though. The After Effects 3D renderer is a powerful and feature-rich ray tracer. It supports motion blur, depth-of-field, diffused reflections, and soft shadows, all in 32-bit floating point color. The results can look amazing.

But ray-tracing can be computationally expensive. Adobe decided to accelerate their new renderer using the NVIDIA CUDA technology, where the massive parallel processing capability of a GPU is turned to general computing tasks. And indeed, on a supported system, After Effects CS6 can ray-trace pretty darn fast. The above iPhone animation rendered in 2 hours, 15 minutes on a machine with a $2,000 NVIDIA Tesla C2075 GPU. On a Quadro FX4800, it took 15 hours.

The problem is, I don’t don’t happen to own one of these supported systems. My MacBook Pro has an NVIDIA GeForce GT 330M, but that’s not beefy enough for AE6, so I’m stuck with CPU rendering. And my top-of-the-line, pimped-out iMac has an AMD GPU. So again, no dice. And by no dice, I mean you would not want to try to render something as simple as a pair of dice. On my $3,000 iMac, one frame of the iPhone animation takes 48 minutes.

I don’t begrudge Adobe the decision to accelerate the ray-tracer for CUDA, but I do regret the seeming prioritization of that optimization over any kind of CPU usability. If you have a CUDA card, you can use and enjoy the ray tracer. If you don’t, you pretty much can’t. I mean, sure, you can try, but the render times will very likely dissuade you. This binary hardware differentiation between the ray-tracing haves and have-nots is, to me, unbefitting of After Effects, which has always struck me as the “people’s choice” compositor—such a paragon of accessibility that I consider it a must-have tool for the DV Rebel. I expect Autodesk to ship something that requires esoteric hardware, but not Adobe. And yet, at the same time as the CS6 announcement, Autodesk announced a greatly updated Smoke for Mac, one of the primary features being that it works on just about any Apple hardware, including my iMac.

But surely it’s impossible that a ray-tracer could ever be as fast on a CPU as on a GPU, right? Maybe—but there are numerous well-established optimizations available to ray-tracers, including sub-sampling (where areas of sparse sampling are interpolated rather then allowed to be noisy), adaptive sampling (where the number of ray samples required for each pixel is adjusted based on scene content), and progressive refinement (where low-quality results are shown to the user rapidly, and then iteratively built-upon for higher quality). The After Effects ray-tracer has none of these. It’s a brute-force multi-sample renderer—the kind you’d write if performance in a massively-parallel computing environment (i.e. a specific GPU) was your sole concern. I wish Adobe had put their efforts toward making their renderer as fast as possible for all users.

I know it’s fashionable to hate on Adobe, but I have never felt a part of that crowd—probably because the Adobe tools I use, After Effects and Lightroom, are shining beacons of awesomeness within the company. I’m quite the opposite of an Adobe hater. So seeing After Effects sprout a feature we’ve been anticipating for a decade, only to have it tie users to specific, high-end hardware, feels a bit like seeing a good friend make a bad life decision.

As more and more of us use laptops as our primary machines, and as those laptops are getting smaller and lighter rather than necessarily more powerful, Autodesk is heading in the right direction, and Adobe is not. This, to me, was the big surprise of the post-production announcements at NAB 2012.

Want to know how I rendered these sample movies? I tried doing it on my mini-render farm of CPU-only machines, but it took days (of my laptop being too hot to touch) to produce unacceptable results. Smooth motion blur, fuzzy shadows, diffracted reflections and depth of field require a lot of samples (controlled by the anti-aliasing setting), and if I turned up the quality enough to stop seeing noise (for the iPhone, that was 14), those renders would still be going today. So I sent the project files to a friend with a CUDA GPU. A friend who happens to work at Adobe.

Wouldn’t it be amazing if you could do that too?

No, seriously.

Along with CS6, Adobe unveiled Creative Cloud, which includes subscription pricing for the Creative Suite applications. But is that really what After Effects power-users need from “the cloud?” What if that subscription also gave me access to a cloud-based render farm that is constantly Backblaze-syncing with my work directories and is ready to instantaneously render my 1,000-frame animation on 1,000 virtual machines at the push of a button?

Then what if Adobe removed the button?

It used to be my dream that After Effects would speculatively render my work in the background, using every ounce of my computer’s processing power. Now I want the same thing, but with Adobe supplying the processors. That would be worth a subscription fee.

The “big iron” days are over. Simplicity is the new powerful. Fast is the new good. The computer is the new hardest working person in the room. Except it’s no longer in the room.

I can’t wait for my favorite creative software of all time to realize that.

Update

on 2012-06-04 21:12 by Stu

Don’t miss the follow up post.

I'm Back

Sorry for the long radio silence. Here’s what I’ve been up to.

In early April I traveled to Montreal to direct a Canadian Lysol commercial for Euro RSCG NY. If you live in Canada and have tried to view a web video recently, you may have already been forced to watch it. When I get my director’s cut done, I’ll post it. We shot on the Alexa, and it marked my first opportunity to direct for Bodega, a production company run by some old friends with whom I’m delighted to be working.

I then flew directly to Toronto to help my friend Scott Stewart with a very exciting new project. Scott was invited to direct the pilot of a new Syfy series called Defiance. The show, developed simultaneously with a Massively Multiplayer Online game from Trion Worlds, was so enormous in scope that Scott lobbied for me to be brought on as “Additional Units Producer.” Terminology in TV is a little different than in features, but the role was very similar to my second unit directing duties on The Spirit. For just over four weeks I shadowed Scott with my mini “splinter unit” crew, picking up inserts and sometimes even entire scenes of this epic show. Scott and his cinematographer Attila Szalay chose the Epic for the pilot, although one of our three camera bodies was a Scarlet. We almost never cared which was which. I met some amazing new friends, learned a ton, and, as you may have noticed, didn’t have much time for Twitter or blogging.

My sudden streak of back-to-back work overlapped with NAB and its aftermath, leaving some to speculate that my silence on certain camera and other filmmaking tech announcements held some portent. People were drawing all sorts of conclusions, none of which were true. Maybe I was testing a new camera and sworn to secrecy? Maybe I was snubbing certain tech intentionally?

The only accurate conclusion, and the one that seemed most obvious to me, was one at which no one arrived:

This is not a camera blog.

There are plenty of wonderful blogs out there that exhaustively and reliably cover every new camera, every new piece of filmmaking tech. You read them every day, and so do I. We can all be grateful for them. But I hope you see a difference between those sites and this one.

This difference must not be as obvious to some as it is to me. I’m always amused when I receive a kind message to the effect of “I can’t wait for you to review this new camera!” Looking back through the archives, I don’t believe I’ve ever “reviewed” a camera.

I do write a lot about cameras. I also write about screenwriting, post-production, and other filmmaking things. Sometimes I write about tasty beverages. This blog is not my work. It’s a reflection of my work. It’s me learning out loud. And I’m always thrilled and honored when you enjoy it.