department of hack
675 stories
·
15 followers

Photo

1 Comment and 5 Shares


Read the whole story
brennen
8 days ago
reply
Boulder, CO
Share this story
Delete
1 public comment
Technicalleigh
9 days ago
reply
Mew!
SF Bay area, CA (formerly ATL)

Writing with scissors

1 Comment and 2 Shares

Over the last few years, one of my great pleasures has been reading the articles on writing that John McPhee has been contributing on an annual basis to The New Yorker. I’ve written here about my reactions to McPhee’s advice on using the dictionary, on “greening” or cutting a piece by an arbitrary length, on structure, on frames of reference. Now his full book on the subject is here, Draft No. 4, and it’s arriving in my life at an opportune time. I’m wrapping up a draft of my own book, with two months to go before deadline, and I have a daunting set of tasks ahead of me—responding to editorial comments, preparing the notes and bibliography, wrestling the whole thing down to size. McPhee’s reasonable voice is a balm at such times, although he never minimizes the difficulty of the process itself, which he calls “masochistic, mind-fracturing self-enslaved labor,” even as he speaks of the writer’s “animal sense of being hunted.” And when you read Sam Anderson’s wonderful profile on McPhee in this week’s issue of The New York Times Magazine, it’s like listening to an old soldier who has been in combat so many times that everything that he says carries the weight of long experience. (Reading it, I was reminded a little of the film editor Walter Murch, whom McPhee resembles in certain ways—they look sort of alike, they’re both obsessed with structure, and they both seem to know everything. I was curious to see whether anyone else had made this connection, so I did a search for their names together on Google. Of the first five results, three were links from this blog.)

Anderson’s article offers us the portrait of a man who, at eighty-six, has done a better job than just about anyone else of organizing his own brain: “Each of those years seems to be filed away inside of him, loaded with information, ready to access.” I would have been equally pleased to learn that McPhee was as privately untidy as his writing is intricately patterned, but it makes sense that his interest in problems of structure—to which he returns endlessly—would manifest itself in his life and conversation. He’s interested in structure in the same way that the rest of us are interested in the lives of our own children. I never tire of hearing how writers deal with structural issues, and I find passages like the following almost pornographically fascinating:

The process is hellacious. McPhee gathers every single scrap of reporting on a given project—every interview, description, stray thought and research tidbit—and types all of it into his computer. He studies that data and comes up with organizing categories: themes, set pieces, characters and so on. Each category is assigned a code. To find the structure of a piece, McPhee makes an index card for each of his codes, sets them on a large table and arranges and rearranges the cards until the sequence seems right. Then he works back through his mass of assembled data, labeling each piece with the relevant code. On the computer, a program called “Structur” arranges these scraps into organized batches, and McPhee then works sequentially, batch by batch, converting all of it into prose. (In the old days, McPhee would manually type out his notes, photocopy them, cut up everything with scissors, and sort it all into coded envelopes. His first computer, he says, was “a five-thousand-dollar pair of scissors.”)

Anderson writes: “[McPhee] is one of the world’s few remaining users of a program called Kedit, which he writes about, at great length, in Draft No. 4.” The phrase “at great length” excites me tremendously—I’m at a point in my life where I’d rather hear about a writer’s favorite software program than his or her inspirational  thoughts on creativity—and McPhee’s process doesn’t sound too far removed from the one that I’ve worked out for myself. As I read it, though, I found myself thinking in passing of what might be lost when you move from scissors to a computer. (Scissors appear in the toolboxes of many of the writers and artists I admire. In The Elements of Style, E.B. White advises: “Quite often the writer will discover, on examining the completed work, that there are serious flaws in the arrangement of the material, calling for transpositions. When this is the case, he can save himself much labor and time by using scissors on his manuscript, cutting it to pieces and fitting the pieces together in a better order.” In The Silent Clowns, Walter Kerr describes the narrative challenges of filmmaking in the early fifties and concludes: “The problem was solved, more or less, with a scissors.” And Paul Klee once wrote in his diary: “What I don’t like, I cut away with the scissors.”) But McPhee isn’t sentimental about the tools themselves. In Anderson’s profile, the New Yorker editor David Remnick, who took McPhee’s class at Princeton, recalls: “You were in the room with a craftsman of the art, rather than a scholar or critic—to the point where I remember him passing around the weird mechanical pencils he used to use.” Yet there’s no question in my mind that McPhee would drop that one brand of pencil if he found one that he thought was objectively better. As soon as he had Kedit, he got rid of the scissors. When you’re trying to rethink structure from the ground up, you don’t have much time for nostalgia.

And when McPhee explains the rationale behind his methods, you can hear the pragmatism of fifty years of hard experience:

If this sounds mechanical, its effect was absolutely the reverse. If the contents of the seventh folder were before me, the contents of twenty-nine other folders were out of sight. Every organizational aspect was behind me. The procedure eliminated nearly all distraction and concentrated only the material I had to deal with in a given day or week. It painted me into a corner, yes, but in doing so it freed me to write.

This amounts to an elaboration of what I’ve elsewhere called my favorite piece of writing advice, which David Mamet offers in Some Freaks:

As a writer, I’ve tried to train myself to go one achievable step at a time: to say, for example, “Today I don’t have to be particularly inventive, all I have to be is careful, and make up an outline of the actual physical things the character does in Act One.” And then, the following day to say, “Today I don’t have to be careful. I already have this careful, literal outline, and I all have to do is be a little bit inventive,” et cetera, et cetera.

Mamet might as well have come out of the same box as Walter Murch and McPhee, which implies that I have a definite type when it comes to looking for advice. And what they all have in common, besides the glasses and beard, is the air of having labored at a craft for decades, survived, and returned to tell the tale. Of the three, McPhee’s career may be the most enviable of all, if only because he spent it in Princeton, not Hollywood. It’s nice to be able to structure an essay. The tricky part is structuring a life.








Read the whole story
brennen
17 days ago
reply
"It’s nice to be able to structure an essay. The tricky part is structuring a life."
Boulder, CO
Share this story
Delete

Existential Ad Agency

3 Comments and 20 Shares



But seriously, I'm pretty sure the taco with the doritos as the shell was a metaphorical representation of our inescapable despair.
Read the whole story
brennen
17 days ago
reply
Boulder, CO
hannahdraper
19 days ago
reply
Washington, DC
Share this story
Delete
3 public comments
brico
18 days ago
reply
//
Brooklyn, NY
tante
20 days ago
reply
KierkegAd
Oldenburg/Germany
freeAgent
21 days ago
reply
So, so good.
Los Angeles, CA

Trump: The Intersectional President

1 Share

President Trump has turned the intellectual elite on its head. Depending on one’s disposition, public intellectuals have assigned blame (or credit) for the bombastic blowhard President-who-would-be-king to: poor whites, upper class whites, the Hispanic voters who did not turn out, the Black voters who did not turn out more, Hillary Clinton, Bernie Sanders, Berniebros, effete limousine liberals. The most recent iteration of this crisis in our public discourse is Mark Lilla’s condemnation of “identity politics”. Really good writers have already pointed out the flaws in Lilla’s argument. I will simply point out that he isn’t the only one advancing those flaws.

More important than Lilla is how woefully unprepared our public discourse is for articulating this President. The real crisis for professionally smart people who make a living setting the agenda of public discourse is how badly they predicted President Trump. For many, the instinct is to jettison all the multicultural experts who had become stylized interpreters of President Obama’s administration. In their place is a compulsive desire to tap into the “real” America: angry white voters. It is the exact wrong impulse. President Trump is not a refutation of identity politics; he is its logical ends. And, he isn’t just the manifestation of white anger. As a manifestation of white patriarchal middle class anxieties, Donald Trump’s presidency is one ripe for intersectionality.

Intersectionality is one of those academic ideas that has experienced popular culture legitimacy. It is part of that identity politics movement that authors like Mark Lilla disparage as inconsistent and the progressive Achille’s heel. On the right, intersectionality has become a slur. At least a dozen times a week a social media account with a MAGA slogan in its bio hurls “social justice warrior” and “intersectional feminist” at me with the heat of the n-word emblazoned on a thousand suns. In the bowels of white nationalist websites where an entirely new vocabulary has been created to identify, target, and delegitimize women and minorities, “intersectional feminist” has the patina of a hate word.

It is a strange thing. An academic theory, a way to understand our social world, has become shorthand for the deep-seated rage that white voters, perhaps especially men, feel at their perceived victimization. Survey data shows that a majority of white people think that the only real racism that exists anymore is racism against white people. For those who embody that grievance, intersectional feminism is slang for all that is wrong with U.S. culture.

That is why it is a most elegant twist of fate that few groups need intersectionality more than aggrieved white men and the professional intellectual class seeking to understand how they elected Donald Trump president of the United States of America.


At its core, intersectionality is about nuance and context. Intersectionality emerged out of black feminism, most notably from legal scholar Kimberlee’ Crenshaw. But, the idea of intersectionality is as old as recorded histories of black women trying to understand their place in a world where racism, sexism, and classism is always operating at the same time in their public and private lives. Despite the popular culture caricatures of the theory’s original framing, intersectionality is not about identity. That is why people sound foolish using intersectionality and identity politics interchangeably. Intersectionality is a structural theory about processes and systems that make our identities mean something in different contexts.

Over time, the theory has had the kind of success that can make superstars of academics and enemies of their academic work. Intersectionality is a victim of its own success. And, it is a victim of its own potential to reveal things that many people would rather not see. Like, Donald Trump, intersectionality is about making text of subtext. President Trump does not dance around his motivations for building a wall or threatening North Korea or revoking DACA. He is not nearly as inarticulate as the press lampoons him. His worldview is remarkably consistent and cohesive. He only renders as incomprehensible because our systems for chronicling politics and power assumes a level of subterfuge. Like covert sexism that dresses up misogyny as gentlemanly manners and racism parading about in a satin cloak of colorblindness, our political rhetoric is designed to obscure politics’ true motivations. Of course it is déclassé to grab a woman by her pussy or insist that Mexicans are rapists. But, the perfectly acceptable political rhetoric that it is fine to pay women less than men or use stereotypes to legally detain and arrest brown people is as egregious. Donald Trump’s only violation is being transparent.

That transparency has revealed a blind spot in our professional intellectual class. Because so many of that class emerges from the same culture of obfuscation from which comes our political culture they cannot violate the rules of rhetoric that make Trump politically bulletproof. When a small group of colleges, which enroll students from a select group of communities produces thinkers who are remarkably similar in breeding, training, and culture it is no wonder that our public intellectuals take for granted the assumptions of political rhetoric. It isn’t that our professional critics cannot see Donald Trump. It is that to render him as visible as he so clearly speaks is to say as much about our intellectual class as it says about Donald Trump.

In the academy, intersectionality was the antidote for that kind of white blindness. Intersectionality’s raison dêtre is to reveal the systems that organize our society. Intersectionality’s brilliance is that its fundamental contribution to how we view the world seems so common-sense once you have heard it: by focusing on the parts of the system that are most complex and where the people living it are the most vulnerable we understand the system best. Mark Lilla and others who critique this view of the body politic, reducing it to the caricature of “identity politics”, refuse to engage intersectionality’s most powerful empirical truth: we all have intersectional identities and all of them matter, if not all in the same way.

An intersectional analysis of the nation that elected Donald Trump president would not just focus on his whiteness or his maleness. It would not just understand his wealth and status. It would not look for the Rosetta stone in the Appalachian mountains or in the hearts and minds of white women in rural America. It would look at all of those identities, in context. An intersectional analysis of President Trump might reveal that his authoritarian performance centers an identity as American as apple pie and colonialism. It is a performance that is simultaneously at odds with what masculinity means when whiteness cannot anchor it to upward mobility and white women cannot reconcile their own stagnate mobility as mirroring that of black working class women. It might consider that white Latino voters have different identity politics than their darker and Afro-Latino kin who navigate vastly different aspirations for assimilation because the latter can pass for black. And, it might reveal that of all voters, the reliable Democratic voting block of middle class and working class black women most accurately read the socio-economic conditions that professional smart people missed.

We find ourselves at a crossroads. The more liberal among us are tempted to retreat to the great man histories, which were too male and white to begin with. Others scramble for singular explanations of Trumpism that reduce complex identities to static categories like poor, white, and rural. And, far too many of those on whom we rely to help us make sense of a complex world reject the very nuanced framework to help them help us. The intersectional President who was elected as a rebuke of intersectionality is one of the best modern examples of why we need more intersectional feminists, not fewer.

Read the whole story
brennen
20 days ago
reply
Boulder, CO
Share this story
Delete

Photo

2 Shares


Read the whole story
brennen
22 days ago
reply
Boulder, CO
Share this story
Delete

Topographical Sorting in Golang

1 Share

I own a fair number of computer books that I have never read from cover-to-cover (and a slim few that I have). I tend to dip in-and-out of programming books—absorbing a chapter here and a chapter there. One of the books I pick up with some frequency is Algorithms Unlocked by Thomas H. Cormen, who is one of the authors of the often cited CLRS which is a hugely comprehensive textbook covering the topic of algorithms.

Algorithms Unlocked, in contrast to its massive textbook counterpart, is a slim and snappy little book filled with all kinds of neat algorithms. It doesn’t focus on any specific language implementations, but rather describes algorithms in pseudo-code and plain English. After an algorithm is introduced, there is a discussion of the Big-O and Big-Θ run-times.

One of the things I like to do is read about a particular algorithm and test my understanding by implementing the pseudo code in some programming language. Since I recently ran into a graph problem while working on blubber —which is a Go project—I figured I’d implement the first algorithm in the Directed Acyclic Graph (DAG) chapter in Go.

Also, since I haven’t written anything on my blog in a while, I figured I’d write up my adventure!

Directed Graphs Represented in Go

The first problem when attempting to create a topographic sort of a graph in any programming language is figuring out how to represent a graph. I chose a map with an int as a key (which seems pretty much like a slice but the use of a map makes this implementation type agnostic). Each vertex n is represented with a key in the map, each vertex that adjacent to nm—is stored as a slice in the map referenced by the key n.

package main

import "fmt"

func main() {
    // Directed Acyclic Graph
    vertices := map[int][]int{
        1:  []int{4},
        2:  []int{3},
        3:  []int{4, 5},
        4:  []int{6},
        5:  []int{6},
        6:  []int{7, 11},
        7:  []int{8},
        8:  []int{14},
        9:  []int{10},
        10: []int{11},
        11: []int{12},
        13: []int{13},
        14: []int{},
    }

    // As yet unimplemented topographicalSort
    fmt.Println(topographicalSort(vertices))
}

Topographical Sort

I implemented the algorithm in a function named topographicalSort. The inline comments are the pseudo-code from the book—also noteworthy I stuck with the unfortunate variable names from the book (although somewhat adapted to camelCase to stick, a bit, to Go conventions):

// topographicalSort Input: g: a directed acyclic graph with vertices number 1..n
// Output: a linear order of the vertices such that u appears before v
// in the linear order if (u,v) is an edge in the graph.
func topographicalSort(g map[int][]int) []int {
    linearOrder := []int{}

    // 1. Let inDegree[1..n] be a new array, and create an empty linear array of
    //    verticies
    inDegree := map[int]int{}

    // 2. Set all values in inDegree to 0
    for n := range g {
        inDegree[n] = 0
    }

    // 3. For each vertex u
    for _, adjacent := range g {
        // A. For each vertex *v* adjacent to *u*:
        for _, v := range adjacent {
            //  i. increment inDegree[v]
            inDegree[v]++
        }
    }

    // 4. Make a list next consisting of all vertices u such that
    //    in-degree[u] = 0
    next := []int{}
    for u, v := range inDegree {
        if v != 0 {
            continue
        }

        next = append(next, u)
    }

    // 5. While next is not empty...
    for len(next) > 0 {
        // A. delete a vertex from next and call it vertex u
        u := next[0]
        next = next[1:]

        // B. Add u to the end of the linear order
        linearOrder = append(linearOrder, u)

        // C. For each vertex v adjacent to u
        for _, v := range g[u] {
            // i. Decrement inDegree[v]
            inDegree[v]--

            // ii. if inDegree[v] = 0, then insert v into next list
            if inDegree[v] == 0 {
                next = append(next, v)
            }
        }
    }

    // 6. Return the linear order
    return linearOrder
}

In our vertices DAG, the only vertices with an inDegree of 0 are 1, 2, and 9, so in a topographic sort one of those number would be first. Running this code seems to support that assertion:

$ go build -o topo_sort
$ ./topo_sort
[9 1 2 10 3 4 5 6 7 11 8 12 14]

In fact, all the vertices with no inDegrees ended up right at the beginning of this slice.

Can you dig it?

DAGs are ubiquitous and have many uses both inside and outside of computers. I keep running into them again and again: I stare this dad-joke cold in the face, once again, this evening.

Algorithms Unlocked talks in approachable language about using a DAG to graph and understand things like the order of operations for cooking a meal or for putting on hockey goalie equipment—I find the plain-spoken explanations charming and helpful. I dig this book, and this is far from the first exercise I’ve hacked through out of it. I’m sure I’ll be picking up this book again sometime in the near future–who knows?–I might even finish it!

Read the whole story
brennen
24 days ago
reply
Boulder, CO
Share this story
Delete
Next Page of Stories