OTB#75: The General

The General. Clyde Bruckman / Buster Keaton. 1926. ⚃

Lobster? Who are they, then? Over the years, the companies doing releases and restoration of classic (and not-so-classic) movies has been ever-changing. Let’s see… there’s Criterion, of course, who’s been going all along. And BFI, doing more and more stuff, presumably gummint-funded. But I was thinking of… Arrow… and Tartan… and Carlotta… And… oh, yeah, Artificial Eye! They were awesome. Hm… Eureka? All these companies doing releases I would just snap up if I saw them somewhere, and most of them gone now.

Anyways, this has been restored pretty nicely… there’s some juddering and brightness differences between frames, but it looks pretty good. Hm…. Are they doing mostly public-domain stuff?

Hm:

At the time of its initial release, The General, an action-adventure-comedy made toward the end of the silent era, was not well received by critics and audiences, resulting in mediocre box office returns (about half a million dollars domestically, and approximately one million worldwide). Because of its then-huge budget ($750,000 supplied by Metro chief Joseph Schenck) and failure to turn a significant profit, Keaton lost his independence as a filmmaker and was forced into a restrictive deal with MGM.

But it’s more well-liked now:

In the decennial Sight & Sound poll of the greatest films ever made, international critics ranked it #8 in 1972 and #10 in 1982. It ranked #34 in 2012.

But what about 1992 and 2002!? Shame on you Wikipedia!

I’m not quite sure why it’s so highly rated. I’m not expert in 20s movies, but I’ve seen my share, and if it weren’t for it not having sound, I would have guessed it was a later movie: It’s incredibly technically accomplished. If you sit there thinking “but how did they do that with those huge cameras they had in the 20s” then it’s very impressive indeed.

I guess I agree somewhat with the contemporaneous reviews:

The Los Angeles Times reported that the picture is “neither straight comedy nor is it altogether thrilling drama” and goes on to state that the picture “drags terribly with a long and tiresome chase of one engine by another”.

There are bits here that are funny, and I laughed out loud at two scenes, but it does suffer from just going over similar scenes, again and again. Still, it’s thrilling to see the amazing scenes on the trains: They look so dangerous and out-of-control. It’s an achievement for sure, but I think the reviewers in 1926 were basically correct.

OK, this get-rid-of-liqueurs cocktail has more St. Germain. But Love On Sale also has dry vermouth…

… and I think I just don’t like dry vermouth?

OK, I tasted the stuff separately, and it’s just not very pleasant.

There. Gone.

This blog post is part of the Officially The Best series.

OTB#75: There Will Be Blood

There Will Be Blood. Paul Thomas Anderson. 2007. ⚂

Is this one of those movies designed for an actor that acts big to be allowed to be totally over the top so that he can win an Oscar (see all male actor Oscar wins ever)?

Oh it is:

The standard joke is that the craft awards should be “most” instead of “best” (“most editing” always wins), but the same can be said for the male acting award.

Those movies are seldom much good, but Paul Thomas Anderson has done some good movies (like Inherent Vice), so perhaps this is better than you’d assume…

[time passes]

This is an intriguing movie. It doesn’t seem to have any… structure… so I have no idea where all this is going or what’s up, and that’s so unusual and fun.

The religious stuff is so in-credibly boring. I mean, I can’t credit anything with being as boring as those bits are.

[more time passes]

OK, I’ve lost all interest in this movie. I thought the oil bits were interesting, but then the movie focuses on the protagonist’s personal problems (which gives Day-Lewis plenty of opportunity to earn his Oscar), but which are just plain snooze-worthy.

I can totally see why these people rate this movie highly, but it’s not a good movie. The cinematography’s occasionally fun (with all the symmetrical scenes and the screen mostly filled with #000), and it starts off with lots of interesting bits, but then it peters out. I guess the reveal is supposed to be all shocking and stuff? I seemed kinda obvs to me…

In the leftover booze series, I’m trying to get rid of all these bottles, but particularly the St. Germain. Unfortunately the
Left Bank Martini
only uses a smidgen.

And it’s not very good. The dry vermouth dominates.

This blog post is part of the Officially The Best series.

Reagent is… Nice?

I’ve been procrastinating on writing a web-based admin interface for news.gmane.io… because I just haven’t been able to make up my mind as to what technologies to use.

I hate learning new stuff, but it feels pretty stagnant to tap away in Javascript (on the frontend) and PHP for whatever has to happen on the backend. I really just kinda dislike PHP for no particular reason, but it’s so convenient: If you need a simple API for doing whatever, you write a .php page and that’s it. No dependencies, no setup, pretty good error reporting: Everything built in in Apache.

But I don’t liiiike iiiittt. (Imagine a whiny voice.)

For the Gmane stuff, I had the additional problem that I have a lot of admin logic in Emacs, and I want to keep that. Because it’s really convenient, especially when doing mass updates.

So… it took me weeks to accept it, but if I don’t want to implement a lot of things twice, I had to use Emacs on the backend.

*insert shocked face here*

I wrote a very short PHP component that does the TLS and the auth, and just reads some JSON posted to it, sends it over to Emacs, reads the JSON from Emacs and spits it out to the client. Like… middleware.

I could have done the HTTPS server in Emacs, too, but there’s just too many variables to get that solid, and Apache works.

So. That’s the backend, and what about the frontend?

I have no knowledge of Clojure, ClojureScript, Java or React, so I settled on Reagent.

My first stumbling block was Clojure, of course. I’ve been writing in Common Lisp for my day job for a couple of decades, and Clojure is… not Common Lisp? And I’m not sure what the design philosophy behind it is. Is it perhaps “make it look cool enough so that Java people won’t notice that it’s Lisp”?

Compared to Common Lisp, it’s terse and tends towards line noise, just like Perl. I made the following comment on irc:

(lambda (bar) (foo bar)) is the same as #(foo %)

And got the sarcastic response back:

And I guess (lambda (foo zoo) (bar foo zoo)) is the same as #(bar %1 %2)?

And it is! It was a joke, but that’s exactly what it is. When people are sarcastic, but happen onto the actual language design, that says… something?

And, oy, don’t get me started on the threading operators (-> and –>). Perhaps designed to placate Java developers who can’t read anything but foo.bar().zot().foobar()? More than a few of the design decisions seem predicated on limitations of the Java language (which are then reflected in the JVM), like there not being “real” keyword arguments for functions.

My point is: My quibbles are irrelevant. Whatever the idea behind Clojure was — it worked. People love these tricks, because people love writing code that’s incomprehensible I mean clever.

We now have a Lisp that’s mainstream enough that you can do web development on it instead of writing Javascript. And for that we’re all grateful.

I have not learned Clojure in depth (to put it mildly), but learning enough to write a web page only took a day. I guess I’ll look back upon my first ClojureScript project in shame, but it, like, works, and it’s a lot more fun to add new stuff to it now than it would have been in Javascript.

My major problem with all this is… the tooling isn’t quite all there yet when developing. With leim and Figwheel, everything reloads nicely and magically in the browser while doing stuff, and when doing something egregiously wrong, I get nice error messages:

However, if the breakage isn’t during compilation, the error reporting is really, really bad:

That’s an error message from line 25173 in react-dom.js, and determining where the error in my .cljs file is is… difficult? I thought I must be doing something obviously wrong to not get better error reporting, but googling this stuff shows that people mostly are just putting a lot of prns everywhere, and that’s really primitive.

Even worse are Reagent errors that are less… errorey. I spent an hour on a problem with bind-fields because I thought it took a function parameter, but it wanted a vector. Absolutely no feedback whatsoever — nothing worked, but I didn’t see what the problem was before I googled “reagent-forms” “bind-keys” (with quotes), and the second answer is somebody who’d done exactly what I’d done.

And some of the error messaging seems wilfully obtuse:

This was because of:

Yes, those should be square brackets. (And note: No reporting on what line the error was on.)

*sigh*

But Reagent feels quite nice, and the Hickup HTML syntax is wonderful: The best I’ve seen in any language. Even real Lisps don’t have an HTML-generator syntax that’s that thought-through and regular. I mean… this makes me happy:

[:div
 [:h2 "New edit requests"]
 [:div#requests.log
  (map (fn [req]
         [:div.clickable {:on-click #(show-edit % req)
                         :key (:request-time req)}
			 (:request-time req) " " (:newsgroup req)])
       (:ok data))]]

Here’s the live admin interface in action, handling an edit request:

BC&B: Gardiane La Cargue w/ Cervelas Rémoulade

Busyness never ends, so I’ve had no time to read anything… which means that I can’t cook anything either. It’s this whole concept.

Finally, time for some food.

So the starter couldn’t possibly be simpler: It’s sausages with a Dijon mayonnaise. But that means that I get another crack at making mayonnaise: My two previous attempts at making aioli (basically the same thing) were less than perfect.

Simple ingredients.

This time, instead of trying to use an electric mixer thing, I thought I’d do it the old-fashioned way.

Just whisk the yolks a bit, and then add a teensy amount of oil, and whisk some more, and then a bit more and etc etc you get the idea. And it worked! The mayo didn’t break!

I did, however, spill the oil over the counter while doing all this. Do you know how many paper towels are required to map up two cups of oil?

All of them.

ALL OF THEM.

Should have used a squeegee instead.

The recipe didn’t specify heating the sausages, but I thought it sounded nicer warm…

And it’s a … simple dish? It’s Dijon mayo over sausage. But with some bread, it’s a very nice nibbly little dish to nibble on while reading a book.

Which is Geoff Dyer’s White Sands.

I’ve previously read only his Zona book. It’s about Stalker, and it’s fabulous. It’s structured as a sort of meditation and a diversion from doing what Dyer should be doing, so he’s retelling the plot of Stalker and talking about other things, and it has lines like:

There are more and more things […] from which one has to avert one’s ears and eyes. With television I have my strict rule, a rule applying to Jeremy Clarkson, Jonathan Ross, Russell Brand, Graham Norton and a whole bunch of others whose names I don’t even know; I won’t have these people in the house.

How can you not love this man? So I bough a handful of his books, but haven’t found the time to read them.

Let’s look at the first pages here:

Well, OK, this isn’t Zona. It reads like it’s a selection of magazine articles… which it turns out to be! Darn! That’s really not my favourite genre of writing.

But, I mean, it’s fine… Dyer tries to make it cohere with some interstitial bits, and many of the pieces are about travelling to see big outdoors art pieces (like the Watts Towers). But it reads like a collection of magazine articles. Interesting ones, and it made me want to go have a peek at some of these things, like the Spiral Jetty.

And the bit about Svalbard was very funny. I mean, Dyer is witty throughout: It’s a pleasant, fun read, but I was still disappointed. Perhaps with my expectations lowered somewhat, the next Dyer book I read will be less er disappointing.

So I need more food:

So this is yet another beef stew, and like the previous (how many is it now? three? four?) beef stews, it’s the same thing: Throw some beef into a pan with some wine, let it sit for a day in the fridge, and then steep the fuck out of it.

So the normal ingredients… this time the variation is that we have olives in the stew.

So chuck some chuck in a pan with some veggies, and pour over some wine, and then into the fridge.

It comes out looking quite purple the day after. And not very appetising.

Then we brown the shit out of it.

New gadget time! Patricia Wells (the author of the Bistro Cooking book that I’m cooking my way through methodically) has a thing for olives from Nyons. She specifies “preferably from Nyons” whenever she says “olives”. Perhaps it’s just an autocomplete bug in her typewriter? Anyway, I ordered some from Amazon in the US, and they arrived in a smashed glass. And then I ordered some from Amazon in the UK, and they arrived… ripe? The glass made a “WHOOSH” sound when I opened it, and the olives were rotten, through and through. And then I ordered some Nyons olives from (you guessed it) Amazon in France, and they arrived whole and edible.

So I get a chance to try out this new gadget, which de-pits pitted olives.

And… it works?

The Nyons olives tasted just fine, but I’m not sure it was worth it all. They’re kinda on the mushy side, and I prefer them a bit firmer, but they’re fine.

So, into a pot for some cooking. The recipe specified “two sprigs of thyme”, so I put half a plant in. Wells is very … careful? about spices and herbs.

Well, OK, doesn’t that look… appetising…

No, indeed, it does not.

Man, these pics are totally out of focus… I must have twiddled with something on the camera…

It tastes… like… it looks? It’s not very interesting this time either. Perhaps I’m using the wrong cuts of beef, or the wrong wine? It should just taste… more…

Oh, well.

This blog post is part of the Bistro
Cooking & Books
series.