4 months Ago

Encodo’s configuration library for Quino: part I

Published by marco on in Programming

In this article, I’ll continue the discussion about configuration improvements mentioned in the release notes for Quino 2.0-beta1. With beta2 development underway, I thought I’d share some more of the thought process behind the forthcoming changes.

Software Libraries

what sort of patterns integrate and customize the functionality of libraries in an application?

An application comprises multiple tasks, only some of which are part of that application’s actual domain. For those parts not in the application domain, software developers use libraries. A library captures a pattern or a particular way of doing something, making it available through an abstraction. These simplify and smooth away detail irrelevant to the application.

A runtime and its standard libraries provide many such abstractions: for reading/writing files, connecting to networks and so on. Third-party libraries provide others, like logging, IOC, task-scheduling and more.

Because Encodo’s been writing software for a long time, we have a lot of patterns that we’ve come up with for our applications. These libraries are split into two main groups:

  • Encodo.*: extensions to the .NET framework or third-party libraries that don’t depend on Quino metadata.
  • Quino.*: extensions to the .NET framework, third-party libraries or Encodo libraries that depend on Quino metadata.

A sort of “meta” library that lies on top of all of this is configuration and startup of applications that use these libraries. That is, what sort of patterns integrate and customize the functionality of libraries in an application?

Balancing K.I.S.S. and D.R.Y

Almost nowhere in an application is the balance between K.I.S.S. and D.R.Y. more difficult to maintain than in configuration and startup.

So if we already know all of that, why does Quino need a new configuration library?

As mentioned above, there is a lot of commonality between applications in this area. An application will definitely want to incorporate such common configuration from a library. Updates and improvements to that library will then be applied as for any other. This is a good thing.

However, an application will also want to be able to tweak almost any given facet of this shared configuration. That is: just keep the good parts, have those upgraded when they’re changed, but apply customization and extend functionality for the application’s domain. Easy, right?

It is here that a good configuration library will find just the right level of granularity for customization. Too coarse? Then an application ends up throwing out too much common configuration in order to customize a small part of it. Too fine? Then the configuration system is too verbose or complex and the application avoids using it.

Instead, a configuration system should establish clear patterns—optimally, just one—for how to apply customization.

  • The builder of the underlying configuration library has to consider the myriad situations that might face a library developer and distill those requirements to a common pattern.
  • The library developer needs to think about which parts an application might want to customize and think about how to expose them.

So if we already know all of that, then why does Quino need a new configuration library? Well…

History of Quino’s Configuration Library

It’s really easy to make things over-complicated and muddy. It’s really easy to end up growing several different kinds of extension systems over the years. Quino ended up with a generics-heavy API that made declaring new configuration components very wordy.

The core of Quino is the metadata definition for an application domain. That part has barely changed at all since we first wrote it lo so many years ago. We declared it to be our core business—the part that we are better than others at—the part we wanted to have under our own control. Our first draft[1] has held up remarkably well.

Many of the other components have undergone quite a bit of flux: changes in requirements and the components themselves as well as new development processes and patterns all contributed to change. Over time, various applications had different needs and made adjustments to a different iteration of the configuration library. We moved from supporting only single-threaded, single-user desktop applications to also supporting multi-user, multi-threaded services and web servers.

…we were left with an ugly configuration system that no-one wanted to extend or
use—so yet another would be invented.

For all of these different applications, we naturally wanted to maintain the common configuration where possible—but customizations for new platforms stretched the capabilities of the configuration library.

Customization would be made to a new version of that library, but applications that couldn’t be upgraded immediately forced backwards-compatibility and thus resulted in several different concurrent ways of configuring a particular facet of an application.

In order to keep things in one place, we ended up breaking the interface-separation rule. Dependencies started clumping drastically, but it was OK because nobody was trying to use one thing without the other ten. But it was hard to see what was going on; customization became a black box for all but one or two gurus. On and on it went, until we were left with an ugly configuration system that no-one wanted to extend or use—so yet another would be invented, ad-hoc. And so it went.

Principles for Quino 2.0 Configuration

With Quino 2.0, we examined the existing system and came up with a list of principles.

  • Consistency: there should be only be one way of customizing settings and components. When a developer asks how to change something, the answer should always be the same pattern. If not, there better be a damned good reason (see “Configuration vs. Execution” below).
  • Opt-in configuration: No more magic methods or base classes that automatically add components and settings in black boxes. Even if the application has to call one or two more methods, it’s better to be declarative than clever™.
  • Inversion of Control: Standardize configuration to use an IOC container or service locator wherever possible. Instead of clumping settings in configuration or application objects, create discrete settings and put them in the container. Make dependencies explicit (constructor parameters!) and resolved through the container wherever possible.
  • Configuration vs. Execution: Be very aware of the difference between the “configuration” phase and the “execution” phase. During configuration, the service locator is used in write-only mode; during execution, the service locator is in read-only mode. Code executed during configuration must rely only on explicit dependency-injection via constructor.
  • Common Usage: Establish a pattern for calling configuration methods, from least to most specific. E.g. call Quino’s base configuration methods before any application-specific customization. Establish patterns for how to configure a single startup action or how to create settings for a larger component that could be further customized in subsequent phases.

In the next part, we’ll take a look at some concrete examples and documentation for the new patterns.[2]


[1] To be fair, it wasn’t our first attempt at metadata. In one way or another, we’d been defining metadata structures for generic programming for more years than we’d be comfortable divulging. A h/t of course to Opus Software’s Atlas libraries—1 and 2—where many of us contributed. Also, I had experience with cross-platform, generic libraries in C++ stretching all the way back to the late 90s as well as the generalized/meta elements of the earthli WebCore. So it was more like the fourth or fifth shot at it, if we’re going to be honest—but at least we got it right. :-)
[2] In particular, I’ll add more detail about “Common Usage” for those who might feel I’ve left them hanging a bit in the last bullet point. Sorry ‘bout that. The day is only so long. See you next time…

Capsule Movie Reviews Vol.2015.3

Published by marco on in Art, Film & Literature

Scanners (1981)
This is a David Cronenberg movie about very special people who can control other people’s minds with their own. The movie is very much of its time—it is basically an action-adventure story of conflicting mind-control factions. The pacing is quite slow by today’s standards, but the story is pretty interesting—even if the parts involving computers are laughable. Also, about a quarter of the movie is taken up with people squinting and sweating at each other, trying to blow up each other’s minds. That all makes it sound terrible, but it’s better than that. It’s worth it if you need to round out your Cronenberg collection, but hard to recommend for non-fans.
Melancholia (2011)

This is a Lars von Trier movie about a family of not-very-nice people who have enough money to have a wedding on a gigantic estate in what looks like a castle. Kirsten Dunst is marrying Alexander Skarsgård. Stellan Skarsgård, Charlotte Rampling, John Hurt, Charlotte Gainsbourg and Keifer Sutherland are all part of the wedding party. The bride is suffering from … melancholy. The movie starts at the end, with the mysterious planet crashing into Earth—did I forget to mention the approaching planet?

Everyone moves in super-slow motion to a very sad soundtrack. It doesn’t pick up a tremendous amount of speed after that. We get to watch a bunch of rich people being dysfunctional and decadent and broken. It’s somewhat like Gatsby in this way, I suppose, but it’s still not much fun to watch. The orchestral soundtrack is ludicrously loud compared to the majority of the whispered dialogue. Perhaps this is also supposed to be jarringly suggestive of melancholia. Dunno. The timeline is disjoint and the night seems to last forever; it’s hard to tell what time it is throughout the movie. It is utterly impossible to determine whether the bride is clinically depressed or just a callous, shallow, stupid person. Banging someone other than your husband, especially on your wedding night and most especially when that someone is someone that you just met, is not a very endearing characteristic.

If nothing else, the film paints a good picture of what it must be like to have an objectively wonderful world irrevocably sullied by the miasma of depression. Sweet God, is this a boring, depressing movie, though. Mission accomplished, Mr. Von Trier. The colors are flat (as a depressive views the world), voices are dim, whispered, lifeless, the planet moves closer, suffusing everything with a flat, shadowless light, as on a cloudy day, though the sky is clear. It’s sweet relief when the planets collide and the ensuing catastrophe sweeps everything away.

Gainesburg is quite strong; Dunst isn’t, really, despite all protestations to the contrary (she won Best Actress at the Cannes film festival). I feel the reaction is more to two things: (1) she set the bar so ridiculously low in many other movies she’s been in and (2) she wasn’t shy about showing her admittedly spectacular breasts in this movie. That alone is probably enough to send male reviewers into a tizzy. There’s something almost but not quite Kubrickian about this movie, especially towards the end, with Gainesburg’s desperation echoing that of Wendy in The Shining. Not really recommended, though.

Hugo (2011)
This Martin Scorsese film is an homage to cinematic and directorial legend George Méliès, played by Ben Kingsley. The movie takes place in a train station, in which Hugo lives and kind-of earns his livelihood as the keeper of the clocks. He has inherited his passion and talent for clockworks from his now-dead father, played by Jude Law. The boy Hugo (played by Asa Butterfield, of Ender’s Game) was less annoying than anticipated, as was Chloë Grace Moretz as his friend. Sacha Baron Cohen has a more-or-less straightforward role as the train-station guard, obsessed with imprisoning orphans. The boy, his father, an automaton and Méliès himself all contribute to tell the story of his (Méliès) impact on cinema, as well as that of his wife. Interesting and well-made, with learning about Méliès himself being the most interesting part. Recommended.
Under the Skin (2013)
Here we go again: this is a movie starring Scarlett Johannson in which she gets well and truly naked, even going so far as to pose so in front of a mirror. And yet, it is exactly the people who would not watch a movie because of this who will enjoy her performance much more than those who would watch for more prurient reasons. She’s very good, but because she’s an actress, not because she’s naked. There is little dialogue—and what there is, is in a nearly incomprehensible Scottish brogue—much surrealism and almost no explanation or closure. It’s not a long movie and you really have to pay attention, but it’s a good film and it’s probably an important one to see, if you’re at all interested in trying something new. The soundtrack is ethereal and the characters are named “The Female”, “The Bad Man”, “The Dead Woman” and so on. As well, the long shadow of Kubrick peeks forth in this Brian Glaser film. This is the summary on IMDb: “A female drives a van through the roads and streets of Scotland seducing lonely men.” That nails the plot, in its entirety, as far as the action goes. It is utterly insufficient as far as the unspoken and hinted-at goes. Recommended.
Watchmen (2009)
I’d watched this film before, but not since I’d finished reading the comics last year. The plot of the film follows the books almost slavishly. In that, it does well, even though the comics have a lot of exposition, which makes for a slower movie than we’ve perhaps come to expect from so-called “superhero” movies. The books are about the history of a troupe of self-nominated heroes from the 1930s up until the present-day of the late 1980s, when the world is threatened by nuclear conflict. In that, author Alan Moore crafted a world that only slightly diverged from reality. That is, it was close enough to be familiar and not require any explanation, but divergent enough to be fascinating. As in the comics, part-time narrator and uncompromising literalist Rorschach stole the show, unable to understand how the solution to the world’s greatest problem could be rooted in an even bigger lie. The film was a bit longer than necessary, but well-worth the ride. Recommended.
Nosferatu the Vampyre (1979)
Werner Herzog felt the overarching need to honor the original Nosferatu (1922) by remaking the film, almost scene for scene, but starring Klaus Kinski in the eponymous role. The pacing was quite slow and some scenes muddier or more confused, but it was still decent. If you’re a Herzog or Kinski fan (guilty as charged), you’ll need to add this one to your repertoire. Saw it in the original German.
Ong Bak 2 (2008)
I don’t even know what this movie is about. It’s a lot of decent production effects to show people fighting in a jungle with knives and some primitive martial arts. Lots of sweatiness, tribes, blood and elephants. I didn’t even finish watching it. Couldn’t get into it. It shows that, now that pretty much anyone can make a pretty, technically solid movie, the pendulum might just swing back to making movies about things again. Saw it in dubbed German, but it didn’t matter. Not recommended at all—just terrible.
The Best Exotic Marigold Hotel (2011)
Despite IMDb’s insistence on filing his name below all of the British fossils also in the movie, Dev Patel (of Slumdog Millionaire fame) is the star. He is the exuberant, loquacious and fast-talking proprietor of the eponymous hotel. There is also a bunch of elderly British flotsam in the form of Judy Dench, Maggie Smith, Tom Wilkinson, Bill Nighy, Ronald Pickup and Penelope Wilton. Dench plays the same role she always plays. Smith is a good deal more racist than Mrs. Mcgonagle, and Wilkinson is gay. Nighy is the only one with any real appeal, honestly. It’s an relatively watchable flick about finding yourself in your golden years, maybe? Or how Britain ejects its unneeded generations to find themselves in a similarly abandoned India? But they’re all worth something and it’s not too late to find love? I’m not sure. The film had its moments, but it’s hard for me to recommend.
Love is Strange (2014)
I expected much more of this film about a long-time New Yorker couple played by John Lithgow and Alfred Molina. They are finally allowed to marry in their state of New York, but soon after doing so, Molina is fired by the Catholic school where he teaches music (fun fact: the head priest was played by Hollis of Northern Exposure). Lithgow’s painting hardly suffices to support them, so they are forced to depend on their families until they can get back on their feet. The families are self-absorbed in a very New York kind of way and they all seem to be largely and inexplicably unhappy. The couple is split up, at least temporarily, no-one seems to be having any fun and the mood is either defeatist, drunken, melancholy or a mèlange of all three. Fun fact #2: Lithgow’s nephew is played by Ed, considerably aged from his Northern Exposure days. Marisa Tomei plays well, but her character is small-minded, horizonless, overprotective, selfish and apparently deeply unhappy. The movie was kind of a downer, when I expected something a bit more celebratory. Not recommended.
The China Syndrome (1979)
This is a movie starring Jane Fonda, Jack Lemmon, Wilford Brimley and Michael Douglas about the dangers of a meltdown at a nuclear power plant in California. The issues today are essentially unchanged from the late 70s: corruption and incompetence in construction, corruption in maintenance, corners cut everywhere, the inexorability of a business that generates billions for its investors. Fonda and Douglas play a reporter and her cameraman, respectively, while Lemmon plays the plant director with a conscience and Brimley plays the company man. All in all, better than expected and much better than Earthquake, another disaster movie from around the same era. Recommended.
Horrible Bosses 2 (2014)
At nearly two hours, this sequel clearly lacked an editor with some steel in his or her spine. The lead trio is funny and has decent chemistry, but they’re not funny enough to carry the nearly endless repetition of the same joke: the Three Stooges-like stupidity of the three of them. Bateman is marginally smarter than the other two (like Mo Howard before him), but he also refuses to abandon them. Chris Pine plays the son of the real horrible boss, played by Christoph Waltz. Kevin Spacey and Jennifer Aniston reprise their roles from the original, as does Jamie Foxx as Motherfucker Jones. Foxx’s parts stand out, so it’s not surprising so many of his scenes were included (the car chase had its moments). Aniston is possibly even filthier than in the original, but—just like everyone else—is clearly trying too hard. Or the script was trying too hard. Cut it down by half an hour and it might be a much funnier movie. Not recommended.
Un Prophète (2009)

This is a French movie about a young. timid man named Malik El Djebena, sent to jail for an unspecified crime of violence against a police officer. He is of Arab descent but grew up in France. He has no friends inside or outside, neither among the Arabs nor among the French. The Corsicans approach him and give him an ultimatum: to kill a new Arab prisoner or suffer the consequences. He manages it—his first murder—and is taken up in their ranks, though not really accepted.

He slowly gains power, learning Corsican, making himself more useful, trying to make a space for himself in the criminal world. He is more-or-less honest compared to the others around him, but not an honorable man. He evinces fealty to one good friend he made in prison, with whom he goes into business while still inside.

As the deals grow, so does the threat of violence, culminating in a very risky but finally successful mob hit on a rival gang that he and his by-now cancer-ridden friend execute all on their own. The Corsicans, the French, the Africans and the Arabs are all scheming against each other, with the Prophet pushing out a place for himself. When he returns late from a furlough, he is put in solitary for 40 days—during this time, he avoids being in gen-pop for the repercussions of the hit he’d executed the day before.

Luciano’s (the Corsican don) power continues to wane as first his supporters are moved to another prison and then many are killed in the aftermath of Djebena’s hit. Finally, he is on the bench where he used to hold court, accompanied only by two other prisoners who don’t even know that this is “his” bench. The Prophet is taken in by the Arabs, who were helped considerably by the bloodletting among the Corsicans and Italians. Luciano’s time is past and the Prophet is in ascendancy.

In the end, he is released and he leaves the prison gates with his good friend’s wife and child, who he’d promised to look after and support (his friend had since died of cancer). As they walk from the prison, he is followed by several carloads of his supporters. So it ends up being a feel-good story of triumph for Djebena.

It’s a well-made, well-acted and well-written film about the criminal world of France, quite long at 155 minutes, but nonetheless worth it. The French Godfather, perhaps. Saw it in the original Arabic, French and Corsican with English subtitles. recommended.

XX beats XY

Published by marco on in Quotes

“Women, my friend, are the new men. They get things done. Our female colleagues are sane and smart, they stick together and they smell a helluva lot better than we do.”
Senator Gil John Biggs (Alpha House S02E09: Will There be Water)

Alpha House is a TV show on Amazon Prime about four Republican U.S. Senators living together in a house in Washington D.C. John Goodman is just fantastic as Gil John Biggs. Definitely worth a watch: it might even be better than Veep.

A Dance with Dragons by George R.R. Martin (Read in 2015)

Published by marco on in Art, Film & Literature

Disclaimer: these are notes I took while reading this book. They include citations I found interesting or enlightening or particularly well-written. In some cases, I’ve pointed out which of these applies to which citation; in others, I have not. Any benefit you gain from reading these notes is purely incidental to the purpose they serve of reminding me what I once read. Please see Wikipedia for a summary if I’ve failed to provide one sufficient for your purposes. If my notes serve to trigger an interest in this book, then I’m happy for you.

This is book five of the Song of Ice and Fire. Bran ends up in the lair of the Children of the Forest, far North of the Wall, with the three-eyed raven. Jon’s fate is unknown, but things don’t look too good. Arya’s training continues. Tyrion is captured by Mormont and both of them near Meerreen. Quentyn’s mission fails horribly, Victarion approaches Meereen, possessed of powers. Daenerys accepts her destiny and mounts Drogon. Stannis marches on the marshes first, rousts the Ironborn, captures Asha and then sinks into the snows before he can arrive at Winterfell, where he wants to roust the Boltons. Young Aegon Targaryen and John Connington land in Dorne and make their way north to attempt recapture of the Iron Throne. Cersei takes the walk of shame.

Citations

Some of the characters are almost shockingly small-minded. Daenarys bears unhealable grudges against traitors who betrayed her family decades or even centuries ago. And in the next passage, Davos’s fealty to Stannis is so strong that he thinks the following of his old friend Salladhor Saan,

“I knew the day would come, Davos told himself. I was fond of the old rogue, but never so great a fool as to trust him.”
Page 138

He should just as well think this of Stannis, who is at least as deluded, terrifying and cruel as anyone else in the book. He does nothing for himself, but for what he calls justice.

This next passage serves to illustrate just how good a writer Martin is, how deliciously he brings you into the moment. Here we see Reek in his dark cell, snacking at long last.

“The rat squealed as he bit into it, squirming wildly in his hands, frantic to escape. The belly was the softest part. He tore at the sweet meat, the warm blood running over his lips. It was so good that it brought tears to his eyes. His belly rumbled and he swallowed. By the third bite the rat had ceased to struggle, and he was feeling almost content.

“[…]

“He crouched down in a corner of his cell, clutching his prize under his chin. Blood ran from the corners of his mouth as he nibbled at the rat with what remained of his teeth, trying to bolt down as much of the warm flesh as he could before the cell was opened. The meat was stringy, but so rich he thought he might be sick. He chewed and swallowed, picking small bones from the holes in his gums where teeth had been yanked out. It hurt to chew, but he was so hungry he could not stop.”

Page 176

As good as some of the descriptions are, he is equally adept at dialogue. Here he mixes thoughts (in italics) with spoken words to create a full picture of the conversation from the point of view of Daenerys.

She was no stranger to the overblown courtesies of Qarth. “If you are drunk, blame the wine.”

“No wine is half so intoxicating as your beauty. My manse has seemed as empty as a tomb since Daenerys departed, and all the pleasures of the Queen of Cities have been as ashes in my mouth. Why did you abandon me?”

I was hounded from your city in fear for my life. “It was time. Qarth wished me gone.”

“Who? The Pureborn? They have water in their veins. The Spicers? There are curds between their ears. And the Undying are all dead. You should have taken me to husband. I am almost certain that I asked you for your hand. Begged you, even.”

“Only half a hundred times,” Dany teased. “You gave up too easily, my lord. For I must marry, all agree.”

“A khaleesi must have a khal,” said Irri, as she filled the queen’s cup once again. “This is known.”

“Shall I ask again?” wondered Xaro. “No, I know that smile. It is a cruel queen who dices with men’s hearts. Humble merchants like myself are no more than stones beneath your jeweled sandals.” A single tear ran slowly down his pale white cheek.

Page 225

"[…]Do you know how Unsullied are made and trained?”

“Cruelly, I have no doubt. When a smith makes a sword, he thrusts the blade into the fire, beats on it with a hammer, then plunges it into iced water to temper the steel. If you would savor the sweet taste of the fruit, you must water the tree.”

“This tree has been watered with blood.”

“How else, to grow a soldier? Your Radiance enjoyed my dancers. Would it surprise you to know that they are slaves, bred and trained in Yunkai? They have been dancing since they were old enough to walk. How else to achieve such perfection?” He took a swallow of his wine. “They are expert in all the erotic arts as well. I had thought to make Your Grace a gift of them.”

“By all means.” Dany was unsurprised. “I shall free them.”

That made him wince. “And what would they do with freedom? As well give a fish a suit of mail. They were made to dance.”

“Made by who? Their masters? Perhaps your dancers would sooner build or bake or farm. Have you asked them?”

“Perhaps your elephants would sooner be nightingales. Instead of sweet song, Meereen’s nights would be filled with thunderous trumpetings, and your trees would shatter beneath the weight of great grey birds.” Xaro sighed. “Daenerys, my delight, beneath that sweet young breast beats a tender heart … but take counsel from an older, wiser head. Things are not always as they seem. Much that may seem evil can be good. […]”

[…] the Queen of Cities rests upon the backs of slaves. Ask yourself, if all men must grub in the dirt for food, how shall any man lift his eyes to contemplate the stars? If each of us must break his back to build a hovel, who shall raise the temples to glorify the gods? For some men to be great, others must be enslaved.”

Page 226–227
“A wooden keep could be seen beside the water, rotted and overgrown. Slender spires took form above it, some of them snapped off like broken spears. Roofless towers appeared and disappeared, thrusting blindly upward. Halls and galleries drifted past: graceful buttresses, delicate arches, fluted columns, terraces and bowers. All ruined, all desolate, all fallen. The grey moss grew thickly here, covering the fallen stones in great mounds and bearding all the towers. Black vines crept in and out of windows, through doors and over archways, up the sides of high stone walls.”
Page 258

Brutal:

“From time to time some wench escapes and lives to tell the tale. Most are less fortunate. When Ramsay catches them he rapes them, flays them, feeds their corpses to his dogs, and brings their skins back to the Dreadfort as trophies. If they have given him good sport, he slits their throats before he skins them. Elsewise, t’other way around.””
Page 430

Is this a deliberate pun?

“Brown Ben Plumm was puzzled. “Who is Eroeh?” “A girl I thought I’d saved from rape and torment. All I did was make it worse for her in the end. And all I did in Astapor was make ten thousand Eroehs.””
Page 442
“Tyrion had never seen a bigger moon. Monstrous, swollen, it looked as if it had swallowed the sun and woken with a fever. Its twin, floating on the sea beyond the ship, shimmered red with every wave.”
Page 489

This is exactly how people accustomed to snow talk to those unaccustomed. The following was uttered after it had only been snowing for a week and a half straight and a mere six or seven feet of snow lay on the ground.

“Ned’s girl,” echoed Big Bucket Wull. “And we should have had her and the castle both if you prancing southron jackanapes didn’t piss your satin breeches at a little snow.”
Page 615

More northern bravado:

“That seemed to amuse the northman. “I want to live forever in a land where summer lasts a thousand years. I want a castle in the clouds where I can look down over the world. I want to be six-and-twenty again. When I was six-and-twenty I could fight all day and fuck all night. What men want does not matter. “Winter is almost upon us, boy. And winter is death. I would sooner my men die fighting for the Ned’s little girl than alone and hungry in the snow, weeping tears that freeze upon their cheeks. No one sings songs of men who die like that. As for me, I am old. This will be my last winter. Let me bathe in Bolton blood before I die. I want to feel it spatter across my face when my axe bites deep into a Bolton skull. I want to lick it off my lips and die with the taste of it on my tongue.””

And, then, from even farther north, is Tormund Giantsbane, another wonderful talker.

“Half-brothers, born o’ different mothers. Alfyn’s member was a wee thing, even smaller than yours, but he was never shy with where he stuck it. Had a son in every village, that one. (Emphasis added.)”
Page 847

And then,

“The wildling gave him a shrewd look. “Aye, I might have. And you crows might decide to close that gate. A few fighters on t’other side, well, that way the gate stays open, don’t it?” He grinned. “I bought your bloody horse, Jon Snow. Don’t mean that we can’t count his teeth. Now don’t you go thinking me and mine don’t trust you. We trust you just as much as you trust us.” He snorted. (Emphasis added.)”
Page 849

And finally,

“I know,” said Jon Snow. Tormund turned back. “You know nothing. You killed a dead man, aye, I heard. Mance killed a hundred. A man can fight the dead, but when their masters come, when the white mists rise up … how do you fight a mist, crow? Shadows with teeth … air so cold it hurts to breathe, like a knife inside your chest … you do not know, you cannot know … can your sword cut cold?”

A Feast for Crows by George R.R. Martin (Read in 2015)

Published by marco on in Art, Film & Literature

Disclaimer: these are notes I took while reading this book. They include citations I found interesting or enlightening or particularly well-written. In some cases, I’ve pointed out which of these applies to which citation; in others, I have not. Any benefit you gain from reading these notes is purely incidental to the purpose they serve of reminding me what I once read. Please see Wikipedia for a summary if I’ve failed to provide one sufficient for your purposes. If my notes serve to trigger an interest in this book, then I’m happy for you.

This is book four of the Song of Ice and Fire. Cersei descends into paranoid madness, reinstating a religious army, an act she would come to rue as it backfires spectacularly. Jaime and Brienne meet up again in the Riverlands, after Jaime had solved a few issues there. The Iron Islands feature much more prominently, with all of the Greyjoys—Euron, Victarion, Aeron and Asha—getting in on the action. In Dorne, intrigue abounds, with plot built on plot and the Red Viper’s brother machinating to maintain the power balance with King’s Landing and the upper South. Quentyn Martell has traveled East with his friends to try to join Dorne to the Targaryens through Daenerys. Arya arrives in Braavos and apprentices at the House of Black and White. Jon maintains a balance between Stannis’s demands—and those of Melisandre—as well as arming to fight the Others from the North. Samwell travels with Gilly and Aemon around the periphery of the Seven Kingdoms by boat, to get to Old Town and train at the Citadel.

Citations

Cersei descends into paranoid madness. Here she encounters the new High Septon.

“Lord Tywin had given him that crown to replace the one that was lost when the mob killed the previous High Septon. They had pulled the fat fool from his litter and torn him apart, the day Myrcella sailed for Dorne. That one was a great glutton, and biddable. This one … This High Septon was of Tyrion’s making, Cersei recalled suddenly. It was a disquieting thought. The old man’s spotted hand looked like a chicken claw as it poked from a sleeve encrusted with golden scrollwork and small crystals. Cersei knelt on the wet marble and kissed his fingers, and bid Tommen to do the same. What does he know of me? How much did the dwarf tell him? The High Septon smiled as he escorted her into the sept. But was it a threatening smile full of unspoken knowledge, or just some vacuous twitch of an old man’s […]”
Page 113
“To both our queens!” he chirruped. “To the young queen and the old!””
Page 201

That’s lovely: he doesn’t refer to the new queen and the old, so the intended mean is to call Cersei old rather than former.

More evocative writing on Martin’s part, an excellent use of metaphor:

“His desire was as deep and boundless as the sea, but when the tide receded, the rocks of shame and guilt thrust up as sharp as ever. Sometimes the waves would cover them, but they remained beneath the waters, hard and black and slimy.”
Page 213

Or here, where the master of the multi-faced God in Braavos tells Arya of the history of his temple:

“The tale of our beginnings. If you would be one of us, you had best know who we are and how we came to be. Men may whisper of the Faceless Men of Braavos, but we are older than the Secret City. Before the Titan rose, before the Unmasking of Uthero, before the Founding, we were. We have flowered in Braavos amongst these northern fogs, but we first took root in Valyria, amongst the wretched slaves who toiled in the deep mines beneath the Fourteen Flames that lit the Freehold’s nights of old.”
Page 360

Or this lovely passage on the futility of war and causes and justice from the view of a simple soldier. This was presented as an explanation for how formerly honorable soldiers and men could sink to such depths.

“They see the lord who led them there cut down, and some other lord shouts that they are his now. They take a wound, and when that’s still half-healed they take another. There is never enough to eat, their shoes fall to pieces from the marching, their clothes are torn and rotting, and half of them are shitting in their breeches from drinking bad water. “If they want new boots or a warmer cloak or maybe a rusted iron halfhelm, they need to take them from a corpse, and before long they are stealing from the living too, from the smallfolk whose lands they’re fighting in, men very like the men they used to be. They slaughter their sheep and steal their chickens, and from there it’s just a short step to carrying off their daughters too. And one day they look around and realize all their friends and kin are gone, that they are fighting beside strangers beneath a banner that they hardly recognize. They don’t know where they are or how to get back home and the lord they’re fighting for does not know their names, yet here he comes, shouting for them to form up, to make a line with their spears and scythes and sharpened hoes, to stand their ground. And the knights come down on them, faceless men clad all in steel, and the iron thunder of their charge seems to fill the world … “And the man breaks.”
Page 421
“The lady of the castle was a Lannister by marriage, a plump toddler who had been wed to his cousin Tyrek before she was a year old.”
Page 446

We recoil from this notion on instinct, calling arranged marriages barbaric. But are they really worse than the modern singles scene? It’s as if we seize on this issue because it offends our sense of direct freedom but sit back satisfied that we’ve thrown everyone together into a system that is quite probably equally barbaric, but whose barbarity is hidden behind complexity and randomness, and therefore somehow better.

““Plant,” said Jaime, “and pray for one last harvest.” It was not a hopeful answer, but it was the only one he had.”
Page 450

The man who’d asked had been hoping for a better answer than that. It’s not that he’s grasping for handouts from his betters, but that he has invested in their society, accepted his station below them and expected something back. When this arrangement tells him to fuck off, it loses him forever. If society—e.g. the lions of Lannister—cannot protect him from the wolves (in a metaphor, perhaps banks and insurance companies), then what good is it? The citizen is not lazy or ungrateful for turning his back. This part resonated in particular because I was watching Treme at the same time and noticed parallels between how the high and might lords of Westeros treated their smallfolk and how the government of New Orleans treated (treats?) its citizens. They all act as if the hierarchy is God-given and cannot be changed by anything. Those on top are just as fooled as those below, failing to note the precarity of the situation.