Ramis's Analyze This

29 July 2017

I traveled recently and watched Harold Ramis's Analyze This (1999). I only knew Harold Ramis from Ghostbusters, and I didn't realize he'd ever directed. Anyway, I really enjoyed this film.

Billy Crystal is a psychiatrist hired by Robert de Niro's mob boss character to help cure his panic attacks. Both men did a great job, and their on-screen chemistry made me laugh out loud as I watched it. Embarrassing on a plane! Lisa Kudrow (Phoebe from Friends) was Crystal's lady friend, but I found her indistinguishable from Phoebe. Not great.

This was a film more about antics than thought, but it was engaging to watch the unlikely friendship(?) blossom. I found the combination of witty repartee and slapstick a real winner.

Reiner's When Harry Met Sally

29 July 2017

I traveled recently and watched Rob Reiner's When Harry Met Sally (1989) on the plane. It's a famous film, but I'd never seen it before. It was great. My expectations were low, since I thought it was an early foray into the 1990s rom-com scene, but it turned out to be well made and thought provoking.

The film tells the story of Harry and Sally, whose years-long friendship lasted while their various romances sparked and died. The overarching question of the film is, "Can men and women be friends?" After opening with a stark declaration from a college-age Harry that men and women can't just be friends, the rest of the film's scenes toss this question back and forth. I was delighted that the ending still left us wondering about Reiner's opinion.

Billy Crystal did a great job portraying Harry, the lead character. He had a great voice for it, and gave his speech just the right inflection. Maybe he was born that way. Meg Ryan was fine as Sally, and I was surprised to see a (surprisingly short?) Carrie Fisher as her friend.

So, can men and women be friends, or does sex always get in the way? Before getting married, I certainly didn't have an abundance of female friends. After getting married, Kirsten and I have been friends with other couples, but have rarely been solo personal friends with members of the opposite sex. (I'm omitting work friends here). Overall I guess Harry may have had a point, although I know that's not really a popular thing to say in modern America.

del Toro's Pacific Rim

29 July 2017

I traveled recently and watched Guillermo del Toro's Pacific Rim (2013) on the plane. It was a fine film of its genre: Mankind vs. Monsters.

The plot is pretty simple. Instead of just one Godzilla, mankind has been plagued by a stream of increasingly-nasty monsters. Though nations have tried to build coastal walls to keep out the invaders, the only consistent protection has come in the form of the Jaegers, giant robots with human pilots. Cue a variety of Robot vs. Monster battle scenes, a hotshot Jaeger pilot or two, some predictable attempts at emotional scenes, and (you guessed it) some romance and a heroic sacrifice to cap it off.

While it was nothing to write home about plot-wise, I wasn't expecting anything more. It was a good entry in the Mankind vs. Monsters, and a great way to pass the time on a plane.

Milestone's Ocean's Eleven (1960)

29 July 2017

I traveled recently and watched Lewis Milestone's Ocean's Eleven (1960) on the plane. Given the choice between the 2001 remake and the original, I figured I would enjoy the 1960 version more. I was wrong!

I've seen the 2001 version a few times and have always enjoyed it. It's a good caper movie, with a nice blend of famous actors, zippy plot, and the occasional twist. I usually remark "All reds" when playing cards, and those in the know slip me a grin or a wink.

The 1960 version, on the other hand, was too focused on the actors (it stars the Rat Pack), and was noticeably light on the plot. I would not watch this film again.

Le Guin's The Lathe of Heaven

8 March 2017

I had the great fortune to stumble across a description of Ursula K. Le Guin's The Lathe of Heaven by someone who couldn't remember the title. This is a great use for the internet, by the way. I like the idea of actively using the distributed memory of mankind instead of just asking Google for what it's learned from what people have written down.

In The Lathe of Heaven, George Orr's dreams change reality. His psychiatrist discovers this fact and tries to use it to bring about the world he wants. There's a hint of the "Jackass Genie" trope, but Le Guin is devious, not (if you'll forgive me) a dumbass.

I literally couldn't stop reading this book. I read it all evening, slept at last, and did nothing the next day until I'd finished it. It was that engrossing. The ending was fitting, unlike other books I could mention (cough The Piano Tuner).

This is science fiction in its finest form: provocative, exploring a world of what might be, and rich in its use of science, both directly (e.g. how dreams work) and in its analogies and metaphors. And as it's Le Guin, it has her characteristically insightful choice of words, a mix of beautiful and mystifying phrases.

I think the most important ideas in the book are the role of the individual in a society, and the differences between Eastern (Orr) and Western (his psychiatrist) perspectives on the world. Having read Nisbett's The Geography of Thought last year helped me understand a bit more what Le Guin was getting at.

What if my own dreams changed the fabric of reality? I think we might be in trouble, since I dream oddly and broadly. But what a great question: what if the subconscious, not the conscious, were able to shape reality to its own ends?

Mason's The Piano Tuner

8 March 2017

I gobbled up Daniel Mason's The Piano Tuner over the weekend. My feelings are mixed.

The main character, Edgar Drake, is asked by the British War Office to go to Burma (now Myanmar) and tune a piano owned by an important officer, a surgeon, in the remotest of the British forts in the region. This hook was delightful, at once difficult to believe but extremely believable. Books begun with military orders can more readily capture that quality, I suppose.

This is the kind of book where the main character learns more about himself as part of the journey. It smacked a great deal of Conrad's Heart of Darkness, in which Marlow must similarly spend much of the book traveling deeper and deeper away from home and into strange lands to find Kurtz. But while Heart of Darkness was eminently satisfying in its ending, The Piano Tuner fell flat for me. I don't know why Mason chose the ending he did, but several more reasonable alternatives readily suggest themselves.

The book had a nice mix of fiction and history, and in reading it I learned a bit about Britain's colonies in Asia. I wouldn't recommend it though; stick with Conrad.

Buck's The Oregon Trail

8 March 2017

This semester, I attended the first two classes of Dr. D. Scott McCrickard's Technology on the Trail course at Virginia Tech. Though I ultimately decided not to pursue the course, it gave me quite a few interesting things to read. I've written about one of them (A Walk in the Woods) already, and I've been reading some of Alan Dix's work on his Alan Walks Wales project. In the vein of "epic journey" literature, I recently finished reading Rinker Buck's The Oregon Trail, and wanted to share some thoughts about it.

First of all, this book was awesome. Buck seems to have dedicated a year or three reading pretty much every original and secondhand source he can about the Oregon Trail, and does a wonderful job weaving in trail history with his own experience of it, mundane and profane. Definitely worth the $6 I paid for a used copy on Amazon.

The Oregon Trail is a roughly 2,000-mile stretch of America, from Kansas City, Missouri to the Willamette Valley near Portland, Oregon. It was traveled heavily in the 1800s, most famously by the '49ers headed to California's gold and by the Mormons on their way to Utah. It wasn't just one trail, but rather a network of trails, shortcuts, river crossings, and so on that went in roughly the same direction.

Buck and his "trailhand" (his brother Nick) successfully recreate the Oregon Trail in about as authentic a manner as you could wish for. Oddly enough Nick is an expert mule team driver, and Rinker and Nick have enough friends in the Amish and Mennonite communities to know whom to ask about a recreation wagon, wheels, and trained mules. Who knew all of this could still be obtained in America? Thre were enough harrowing experiences involved that it's a bit of a miracle they survived the trip, helped of course by a great many interesting folks they met along the way.

Now, how do Buck and Bryson compare? Frankly, there's no comparison. Bryson went on a walk and gave up partway through, while Buck set his mind on an adventure and finished it. In this regard, Buck is clearly the more impressive voice. In addition, Buck delighted in the quirky personalities he encountered, while Bryson spent much of the journey complaining about hillbillies and other odd sorts he feared he'd encounter in the woods. Buck embraced America, while Bryson seemed only interested in isolating himself from the "weird bits".

Interestingly, the time scale for each venture was about the same length -- the AT takes about 6 months to hike, and the (modern) Oregon Trail took Buck about 3 months. As to difficulty, I can't really say. Buck's journey required a lot of ingenuity and skill in driving a team, but he certainly ate a lot more fried chicken along the way than Bryson did.

Scorsese's Silence

8 March 2017

I watched Martin Scorsese's Silence (2016) in February. It was breathtaking.

This film is about two Jesuit priests searching for their missing mentor in Japan. Rumor has it their mentor has become apostate, renouncing Christianity, and they are intent on knowing the truth. More deeply, the film wrestles with the meaning of faith amidst physical and emotional persecution, and the spiritual impact of the silence of God.

At 2 hours and 41 minutes, it's far longer than the typical Hollywood movie, but I was riveted to my seat the entire time. The film balanced extended heart-rending scenes with those showing the beauty of Japan, and Andrew Garfield's intensity as the lead priest kept my focus. Adam Driver as his fellow priest was a bit painful, but he's definitely improved since Star Wars: The Force Awakens. I'm not sure why he keeps getting major roles though. Liam Neeson did a wonderful job as the missing mentor.

This is the kind of movie you want to talk about over coffee afterwards, so plan ahead. I have been recommending it to friends both Christian and not.

On a personal note, Andrew Peterson's song The Silence of God is one of my favorites and touches on some of the questions asked in Silence.

Villeneuve's Arrival

8 March 2017

Back in January my wife and I saw Denis Villeneuve's 2016 work Arrival. Since I'm writing this review in March I don't have a ton to say about it, but I thought I would leave my thoughts.

The gist of Arrival is that aliens have, well, arrived, and have landed ships in 8 powerful nations. It follows the story of the Americans attempting to communicate with the aliens that landed in the USA. This movie was unusual in that the hero isn't a swashbuckling military man or a brilliant male engineer, but rather a female linguist (Amy Adams). Adams did a great job, while her sidekick Jeremy Renner played a pretty pathetic physics professor who added nothing to the movie.

It's funny that Arrival and ID2 came out in the same year -- I suppose this was the year for aliens with enormous ships to come to Earth. But where ID2 used its special effects budget for explosions, Arrival opted for mystery. The director did a wonderful job of capturing the otherness of the aliens, even down to the unusual shape of their ships.

I think the otherness of the aliens was the strongest aspect of the movie. The various conflicts that arose in Arrival were either weird plot choices or fairly predictable. I got a bit bored as the film wore on, but the movie approached an old question from a good direction at the end. The strangeness of the aliens and the final question raised by the film made it worth sitting through the annoyances in between.

Bryson's A Walk in the Woods

26 January 2017

I just finished Bill Bryson's A Walk in the Woods and wanted to share some thoughts about it.

Summary

The book follows Bill Bryson in his pursuit of completing the Appalachian Trail. He is accompanied by a real-life bumbling sidekick named Stephen Katz, who is even more out of shape than Bryson at the beginning of their "walk" and adds plenty of comic relief in his endless gruntings and lust for cream soda and the X-files. Bryson shares stories about his time on the AT while weaving in vignettes on the history of the AT, the work of the Forest Service, and the death of many things: trees, songbirds, murdered AT hikers, and Americans' interest in being outdoors.

Thoughts

Bryson paints the Appalachian Trail (AT) in vivid detail, and brings you through many emotions. I chuckled throughout, was in turns incensed and grieved by the portrait offered of the mismanagement of our natural resources by the Forest Service and other US government agencies, and grew deeply concerned for Katz's safety. Overall, I thought the book was great.

I was frustrated, however, by a tiresome refrain through the first few chapters of the degree of inbreeding and general wildness of the "hill folk" (think Kenneth Parcell's family from 30 Rock) near the southern end of the AT. One hyperbolic joke was fine, but after four or five I began to wonder about Bryson's prejudices. Once Bryson got out of North Carolina he eased up on the hillbilly jokes and his narration began to grow on me.

Bryson has some interesting observations on the use of technology on the AT in chapter 16. Here's a quote:

I hate all this technology on the trail. Some AT hikers, I had read, now carry laptops and modems, so that they can file daily reports to their family and friends. And now increasingly you find people with electronic gizmos like the Enviro Monitor or wearing sensors attached by wires to their pulse points so that they look as if they've come to the trail straight from some sleep clinic. ... All this high-tech equipment, it appears, is drawing up into the mountains people who perhaps shouldn't be there.

He then proceeds to lambaste the many ill-prepared folks who have gone for a hike somewhere along the AT and called the national guard, or police headquarters, asking to be variously carried or helicoptered home again.

It's not clear to me what the use of gadgetry has to do with unwise decision-making. I found Bryson's sentiment especially curious given that Bryson and Katz were both "babes in the woods" in chapter 1. Bryson himself bluffed his way through an equipment store without much clarity on what he was buying or why. Bryson and Katz begin their hike with too much equipment and no clue how to use it, and indeed that Katz nearly dies (but does not!) in chapter 20. Things could have ended badly for Bryson, too, back in chapter 17. But when writing the book, Bryson had spent several months on the AT off and on, and considers himself a mountain man, an AT veteran, and perhaps superior to the millions of Americans (and one or two park rangers) he gleefully depicts as never having ventured into the woods.

Emmerich's Independence Day: Resurgence

16 Jan 2017

Yesterday my wife and I watched Roland Emmerich's 2016 work Independence Day: Resurgence, hereafter ID2. In the spirit of my brother-in-law Davin Lacksonen, with whom I have delightful conversations every year or so after watching a film, I figured I would share some of my thoughts.

For those of you who don't know, ID2 was a sequel to Emmerich's excellent 1996 film Independence Day (ID1). ID1 was a great summer blockbuster -- technologically advanced aliens have come to conquer Earth and only cocky Will Smith and brilliant-but-awkward Jeff Goldblum can save the world. Suspend some disbelief and sit back for 2.5 hours of wisecracking, explosions, and fighter jets vs. the alien fleet.

So, I was pretty surprised to learn that Emmerich directed ID2. It felt like a poor imitation of ID1 by an admiring new director. The plot felt roughly the same, the characters were less developed, and why wasn't there a rousing speech by Bill Pullman for use in weddings?

HOWEVER, it does seem that Emmerich is setting himself up for a sequel (I'm actually guessing 3 more, if Emmerich can get them funded), and I anticipate that the sequel will explore rather new directoral vistas. I will watch ID3 if it ever sees the light of day.

Overall it felt pretty much like what Star Wars: The Force Awakens was for the Star Wars franchise. It reminds the viewers roughly how Star Wars movies are supposed to go, and sets you up for new movies with different plot lines.

Crockford's JavaScript: The Good Parts

16 Jan 2017

I'm learning JavaScript, and saw Douglas Crockford's JavaScript: The Good Parts widely recommended as an introduction. It describes what Crockford believes to be "the good parts" of JavaScript, a language he says has a wonderful subsection hidden inside the clutter of bad ideas. I think he's right in some ways in wrong in others.

The book was certainly a good introduction to JavaScript. It had a lot of examples illustrating the (good parts of the) language, which were brief enough to be easy to key in and run. I learned a lot by studying these examples carefully.

The good parts of The Good Parts

I fully agree that the subset of JavaScript Crockford introduces is a great language. It's highly expressive and has good balance between the terseness of functional programming and the programmability of OOP. My favorite part of the language was the ad infinitum treatment of functions as first class objects. In JavaScript, functions are objects (with members and the other trappings of an Object) that can also be invoked. While function pointers are available in most modern languages, taking functions to the extreme of being objects was a new idea to me, and a fun one. So, overall, I don't contest that the language has great elements.

The not-so-good parts of The Good Parts

However, Crockford seemed to argue that JavaScript had many design mistakes, and here I think he was unfair. I think the designer(s) of JavaScript made a few choices Crockford disagreed with, but no language can seem perfect to everyone. I think JavaScript programmers can abuse language features, but this is true in any language - try reading code written by someone without any interest in maintenance, e.g. one-off Bash or Perl scripts. Now, recall that JavaScript is the most popular language in the world. My suspicion, then, is that many JavaScript programmers are self-taught (or at least lack a background in software engineering), and so they may not be able to differentiate between "good" and "less good" aspects of any language, JavaScript being no exception. I think Crockford would be a great guide for that audience.

Caveat emptor

The most recent edition of Crockford's book came out in 2008. Two or three new revisions of ECMAScript (ES, essentially aka JavaScript) have come out since then, so Crockford-style JavaScript will look dated. Crockford should still inform your coding style and choice of features, but pick up a more recent book to learn about more recent additions to the language.

Frees's C++ and Node.js Integration

13 Jan 2017

I recently finished reading Scott Frees's C++ and Node.js Integration (self-published, 2016). The book discusses how to integrate C++ code with Node.js, the popular server-side JavaScript development platform. Frees introduces all of the concepts you'll need to write C++ code that can talk to your JavaScript code.

Overall I liked the book a lot. It did a nice job of introducing addressing a variety of issues in this space, starting with why you should (and shouldn't) write a C++ addon for Node.js, and going on to discuss in depth the core concepts of programming against the V8 and NAN APIs. There's something, well, magical about writing C++ code that interacts with JavaScript, and it's interesting to see the same problems from the perspective of both a low-level and a high-level language. Frees writes with a lot of excitement about the subject, and the book is definitely not a dry manual.

Though some of the content of the book (perhaps 50 to 70 percent?) is available for free on the Internet, including on Frees's blog posts, I think it was worthwhile to purchase the book. It's hard to build a comprehensive understanding of a subject from a series of blog posts, and the book does a good job of unifying many of the concepts and reinforcing them as you go.

Useful content

  1. The official V8 documentation is quite limited. As far as I can tell, the V8 team wants their function names to speak for themselves, but they aren't quite verbose enough. It was awesome to see a lot of introductory examples with plenty of explanations to get started.
  2. I appreciated the extended exploration of "why not" with regard to sharing V8 data between the event thread and other threads. This helped motivate the various solutions outlined in the book.
  3. NAN is a pretty thin wrapper around V8 APIs, so spending most of the time on V8 programming before a brief foray into NAN seemed like the right approach. NAN is more like protective syntax sugar than an API in its own right, so understanding the principles of V8 felt more important than knowing the latest way to wrap around some of the V8 APIs.
  4. With regard to NAN, the extended examples of the AsyncWorker and AsyncProgressWorker, and Frees's StreamingWorker subclass, were a really good way to get a grasp of the subject.

Missing content

  1. I would have found useful a discussion of how to debug C++ addons without resorting to printf's (e.g. using gdb or valgrind in this context). This would be helpful for C++ developers without much background in JavaScript and event-driven programming, and for JavaScript developers without much in the way of C++ skills. There is very little discussion of this on the Internet, and it took me a few minutes just to figure out how to set gdb breakpoints.
  2. While Frees did a nice job with the github repo accompanying the book, it would have been nice to have references to a few well-written open-source C++ addons in the community. This would give readers another resource to study.
  3. I'm still a bit fuzzy on the difference between a V8 Isolate and a V8 Context.
  4. Some of the V8 APIs are documented better than others. Giving a brief description of the more poorly documented V8 APIs used in the book would have been nice.