Werner Herzog is Everywhere

Herzog as drawn on the Boondocks

The only way Herzog was going to be animated.

Some months ago, a friend sent me a book, Herzog on Herzog. It’s a fine book, Herzog is an interesting man with many interesting stories and thought processes. Having not heard much of him before receiving the book, I did a bit of research. I personally sought out a few of his films (less remarkable than the man, sadly), watched him eat his own shoe and get shot during an interview. And I thought that was that.

But no. Herzog is too persistent. There has definitely been a marked increase in allusions to Herzog’s work (especially Fitzcarraldo and the ship over the mountain story), and strong possibilities of references in a webcomic (gasp). More convincingly, I was referred to this short film about the environment, strongly narrated by Herzog. And now, the season premiere of The Boondocks’s third season is portrayed as a Herzog documentary, featuring the man himself.

So I’m just observing that there’s a Herzog resurgence, which is good, because he’s interesting. He is single-minded in an endearing way and, while his life is a bit of a museum piece for me, I think it’s all very charming.

Creativity and motivation

Imagination is a blight to those who seek to create. The propensity to readily imagine sets up the creative individual for the most frustrating of failures. Here is how it usually goes:

  1. Inspiration strikes. A miraculously useful, unique, and feasible idea is born.
  2. Excitement grows, the floodgates of enthusiasm open, the idea is developed completely.
  3. The thinker awakes from a trance, looks at his finished work, and finds it beyond his resources to realize it.

Count yourself among the lucky if this hasn’t happened to you.

As for me, I’m all too experienced in this cycle. However, it’s only recently that I have had to bear the full force of it; in the past, there was always an excuse to justify lack of proper execution: school. Now that I’m out and the world is my oyster, I’ve had to come to terms with the ease at which I produce sheer genius and find myself inexcusably challenged. So far, I haven’t encountered an elegant solution, but I have discovered some truth that I can humbly share.

A state of humility is key. A humble person is always pleasantly reassured by their abilities. There are geniuses out there, with pride and a certain zest for what they do. I respect these individuals, and find myself occasionally envying their seemingly boundless capabilities. I remind myself that jealousy and competitiveness preclude the mind from the free state that is required for fulfilling success.

There is no substitute for discipline. Provided one can imagine, motivation and enthusiasm about one’s own ideas are ever-flowing. Resist the urge to fantasize; execute instead of indulging in intellectual escapism. As one forces this discipline into place, the skill grows stronger. Until you’re out of ideas, persistence outweighs innovation.

Work can become play. I’m still subscribed to the idea focus is a positive feedback reaction: Focus hard, work hard, get better. As you get better, the frustrating incidents are fewer, the work is more enjoyable, and focus comes naturally. There are those out there who lucked out at being good before work was distinguished from play. My lucky heroes.

Simplicity is golden. Less is not just more; it is the only way to keep the goal in sight.

Don’t share any idea you truly plan to implement. It will invariably cause the idea to snowball. It leads to a sense of guilt at the lack of results as opposed to a sense of pride in results that are actually achieved. Let the process of creation be the mother of invention. I’ve been very pleased with the suggestions offered by my own implementations.

Yes, this is all based on my experience in these short 9 months since graduation. If I were a little less wracked with inspiration, I would probably write more about these observations. Part of me is glad I kept it brief. And if you haven’t guessed yet, I’ve been busy with something.

SILT: Canvas/SVG, jQuery, LESS update

Cover art for my latest mix on boroboro.com. Instead of just photos I'll probably do more stuff like this, as it is fun and enticing.

Whew, a little bit longer than expected between updates, but the reasons for this are soon to be told. First, some things:

  • For my next work project, I’m having to visualize and lay out semi-complex graphs (DAGs, as far as I can discern). I started looking at a Flash-based kit for a similar project in 2008, but these days Canvas-based solutions like the Javascript InfoVis Toolkit are popping up.
    But, as I soon learned, Canvas isn’t really the right tool for this job. the right way to go seems to be SVG, despite iffy browser support. This fantastic article by the Opera browser team has me thinking I’ll use Graphviz+dot+SVG+jQuery. I’m excited and I’ll probably write about it again the future.
  • Speaking of jQuery, I’m learning me all the JavaScript tricks by looking directly at the jQuery source. Nothing like a lean, mean piece of code to teach oneself The Right Way. Reminder: don’t forget to update to jQuery 1.4, which has been a dream so far.
  • LESS is still treating me right; did some rapid development recently, and it worked gloriously. Some observations:
    • One issue I had with LESS recently was getting the mixin syntax working with IE’s filter syntax. The equal signs throw the compiler off. I was doing terrible IE things because I was doing cross-browser pure CSS gradients.
    • I use the LESS –watch option to achieve incron-like effects when dealing with small CSS projects. Unfortunately the –watch option means having to start lessc before doing work (not a big deal) and having to monitor it for when you have errors in your file (it pauses and waits for a return key, kind of a big deal).
    • I just read about less.js, a javascript implentation done by the LESS dudes for on-the-fly, in-browser LESS action, and plenty of new features. Here’s the github page. It’s due the end of this month, but I’m in no hurry.

And if you’ve been missing me, listen to more mixes. Two up since the last Superdrivel edit, a downtempo one and an uptempo one.

SILT: Reverse templates, the pixels, and swig

The Final Frontier

In case you've been wondering where I've been. (space, duh.)

Wow, it has been a while. Sorry for the silent treatment, it’s been a busy time. I’ve been learning lots, so hopefully I’ll process that queue in a blaze of consistency. Bring on the MEAT:

  • Recently I had to do a whole load of data processing. Not a one-time deal, but good old XML processing for API integration. It occurred to me that just as Web 2.0 and its myriad frameworks have brought a new age of templates, it seems that there should be a complementary reverse template. As in, I specify a template, and a string, and I get a map of variables back (as opposed to template+map = string). This would seriously be the most beautiful thing.
    And as it turns out, for once, Perl schools all other languages, because it has it. Template::Extract. If someone made this happen in Python and/or PHP, I would probably engage in an illicit tryst with them.¬†Until then, I have to do xpath-style stuff. Which is fine, I guess, but you’d agree that it’s harder to read and maintain.
  • Back when I started doing serious web frontend stuff last summer, I was pretty sure the pragmatic among us were on the same page: px is the way to go for CSS. Everything pixels. em was a hack for IE6, and we’re done with that now, to the point that I’m even exasperated by dead-horse pages like this.
  • For my next project, which will be depriving y’all of blog posts soon enough, I’m planning on using the crap out of swig. Use it to call C/C++/Objective C from basically any scripting language (in my case Python, again). I’m not yet sure of its advantages with PHP as I use it, because it’s really not hard to write your own C++ PHP extension. If all goes well, I’ll be following up on this.

OK, three is good. I save the rest in drafts as they come, in case you were wondering.

Hit and Run: Windows Mobile Emergency

I had to call the police recently. A combination of laziness and problem urgency led to me dialing 911 on my Windows Mobile-powered cell phone.

When you dial 911, Windows mobile flips the FUCK out. Despite the Vibrate setting, my phone begins a very loud and very noticeable series of beeps as it enters “Emergency Mode”. In this mode, you cannot dial any numbers that are not emergency numbers, apparently. What programmer was sitting in front of Visual Studio, mashing away, thinking, “I’m saving lives here guys, with these beeps, these loud beeps.” Woe to the bank teller or kidnappee who tries to get wise. Here’s some wisdom: anything not Microsoft.

Sent from my iPhone

^ not really; do you think I’m made of money and data plans? Also, the thing that pushed me over the edge in writing this post is the fact that my phone has not rung since this. I just miss the call. Yes, I restarted it several times.

Hit and Run: Avatar

It’s Fern Gully plus Dances with Wolves plus Halo (for the space marines). Yes, even in 3D, not much monumental other than the cost and the advertising effort. You would think with a multi-hundred-million dollar budget they could afford a custom font, or at least a nicer font than Papyrus (which was dead the day they invented ecards).

Obviously I don’t speak for the masses; 83% on Rotten Tomatoes and a ton of Facebook statuses indicate that people are pretty satisfied. Put simply, I spend too much time with computers to be impressed by this middling, overmarketed effort. What excites my brain and arpeggios on my heartstrings are personal efforts, far ahead of their time, like this one, Vol Libre.

Not the Last Airbender

Vol Libre plus Papyrus = Cooler than Avatar

Made in 1980 by one man, the current Chief Scientist of Pixar, but then just a faceless engineer for Boeing working on a passion in his spare time. Talk about unobtainium.

Geek Code

Remember this old bit? Well, I figured it was about time to generate my own. Gentoo users just emerge app-misc/geekcode and run geekcode. There’s also an online generator you can google for. It takes around 15 minutes, and transports you about 15 years into the past.

Here’s me:
Version: 3.12
GAT d- s+: a-- C++ UL++ P- L++ E W+++ N o- K w
O-- M-- V-- PS PE- Y PGP t++ 5 X- R !tv b+++ DI+++ D+
G e++ h* r y?

Here’s a geek code interpreter.