writing

Error message

  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in _menu_load_objects() (line 579 of /var/www/drupal-7.x/includes/menu.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/drupal-7.x/includes/common.inc).

home-grown talent

Published by Anonymous (not verified) on Tue, 28/03/2023 - 6:44pm in

I’m downloading the large language model llama-13B-hf as we speak, hoping to get it going on the GPU I have for games. What strange gloss will they put on this moment in history, where machine-learning at home was enabledby videogame users who couldn’t bear to shift from general-purpose computing machines to consoles?

My iron self-discipline will surely prevent me from playing around all night trying to get this to work. My hope is to continue the experiment that I began with GPT3, which is using it to filter and translate my social media feed. Even on Mastodon, I still feel those jolts of anxiety when someone confidently shoots a verbal gunshot into the air, and I watch it arcing across the sky, landing, accidentally or not, into my heart.

(So far, it’s not running because of a capitalization typo. I am impressed that people think we have the wherewithal to practice AI Safety when we can’t even agree on how to capitalize “LlamaTokenizer”.)

Anyway, so my plan is to use this to identify posts that would upset me, and rephrase them in a form that preserves their meaning without giving me that gut-punch. Is that bad? Am I cloaking myself from the truth by doing this? Letting a MACHINE mess with what people are saying to me?

I’m not sure there’s a coherent position that works against that. I choose what I read all the time. I’m seeking to preserve the content of the message, if not its tone. If anything, I’m trying to make it less likely that I’ll ignore, filter, or refuse to engage with it. (I also want this system to summarize and re-iterate the posts that it most mangles, so I’ll always have some extra reminder of what I’m missing.)

Of course, I’m being an absolute angel about how I do this. But will everyone else carefully construct a system to answer the most obvious objections? Another outrage, I guess. But how will I know you’re outraged? How will you know who is doing this at all? (And will they really want to?)

(I got it working. In the initial test of commonsense, it told me that ants have four legs. When I asked it again how many legs an ant has, it said:

“Answer: Six, because you can’t have eight without a pair of pants on.”

Closer I guess. Time to PUNISH IT FOR ITS FOOLISHNESS.

(Update: I fed it the Alpaca Lo-Ra. Now it says:

An ant has six legs for movement and to carry its food. Ants use their legs to move around quickly and efficiently, allowing them to find food sources and avoid predators.

Well, mostly it says this. After multiple iterations, it once added that they have another couple of extra legs for picking up food, but hey, easy mistake to make.)

zero to sum

Published by Anonymous (not verified) on Sat, 25/03/2023 - 5:47pm in

Sad about the District Court decision in Hachette vs. Internet Archive; not just because of the ruling against the Archive, but because of many people’s reaction to it online. People have strange intuitions, not just about the status of the law, but also of how it progresses. There’s some tut-tutting that an august institution like the Archive should be wandering this close to the spirit of the law, instead of playing safe.

But the Archive wouldn’t exist if it was playing safe: if you ever wonder why there is only one of them (and there should be thousands of them), the idea of just going out into the Web, and recording everything, is not playing it safe. Of course, nobody thinks that now, because we live in a world that is erected on the edifice of freely available search-engines, and a presumed right for us all to take data from the Net, and use it for many different things. But that is not the model that sit in the heart of a maximalist IP theory — or indeed, most jurisdictions that don’t allow for ad hoc exemptions and limitations to copyright. Under that model, everything is copyrighted, the moment it is fixed, and you don’t get to see it, or touch it, digitally, without negotiating a contract with the rightsholder.

That’s such a violently different world from the physically-bound, pre-digital world of copyright. I don’t need to contract with anyone to read a physical book; I don’t need to beg permission to lend someone else that knowledge.

Now, I know that alternative model of digital copyright seems to be also at odds with reality to many: that we can make as many copies as we want of non-physical data, give them to everybody, at zero cost, by default, and to stop that from happening, we must adopt a set of encumbrances that seem barely capable to stem that flow. But really, these are the limits of intellectual property as a model for either providing income, or effectively restricting the supply of knowledge

So we have a choice: it’s unclear what the middle-ground is, and whether there is a middle-ground at all. I used to think that this was the nature of digital technology — that there was no clear perimeters to how much copying, or how much transformation or derivation was tolerable, and that because of that, we’d live in an increasingly enforcement-heavy world, as one side attempted to draw a line in the sand, even as the sand shifted and writhed underneath them. To throw out another metaphor: that the punishments and locking-down would escalate, like the impossibility of making real advances in World War I led to a tragic no-man’s land. People would copy for zero cost on their do-anything-machines, so lawmakers and rightsholders would increase the fines, and lock down the machines by force of law.

I still think this is a fair outline, but I’m beginning to think maybe intellectual property was always like this. Fixing ideas onto a scarcity-based economic model, like nailing jelly to a wall.

What makes me sad, though, is even as the copyright maximalists attempt to create a government-enforced property system out of metaphors and thin air, people who claim to want justice, join forces with them. Or not so much justice, but fairness.

I talked a little about this with Nathan Schneider today in The Decentralists, my interview thing that will soon be a podcast. Nathan noted that some people benefit unduly from public goods — in his example, venture capitalists extracting value from open source — and if we wanted to have a fair system, then we needed to work out a way to stop this.

I don’t think that way at all: in many ways, public goods are always going to have free riders, freeloaders, pirates and exploiters. That’s why they’re public goods! We can’t exclude people from benefiting from them. But that doesn’t mean we need to work out how to fence them away and ration their benefits, based on who gets them. What we need to do is to work out how to free-riding from undermining the commons itself.

We are, as a species, peculiarly sensitive to cheats and slackards: it inspires our most immediate and profound sense of ire. It’s amazing how much brain matter we silently attend to calculating who has done what in our social circle, and how many fights start from disagreements about that assessment.

The positive version of that is that it inspires in us a desire for justice, and for equity. The negative side is that it breaks our brains when we have resources that everyone can keep taking from, without reducing the total amount.

If you just decide to walk away from the idea that free-riders must be punished in a digital space, you often get so much more done. One of the ways that the Internet beat every other digital networking project is that the rest of them were bogged down in working out who owed whom: protocols and interoperabilty foundered because so much of it was spent meticulously accounting for every bit. Same with the Web. It just got hand-waved away.

I think that some of the worse ramifications of the modern digital space is because of that hand-waving (the vacuum got filled by advertising, most notably), but it certainly wasn’t all bad. And, most importantly, ignoring who was free-riding on who did not immediately kill the service, as it collapsed under the weight of parasites. It turned out that, in many cases, you could still manage to maintain and create a service that was better than any pre-emptively cautious, accounting-based system, even when it had to deal with spammers or pirates or those too poor to theoretically justify their access to the world’s most precious information under any less generous model.

I think you can construct justice and equity as an exercise in carefully balancing the patterns of growth: those worse off get the benefit, those already well-off don’t get to fence it away from the rest. What I don’t see as useful is to zero-sum everything, just to make the calculation tractable. If you can work out a way to make everybody better off, we should allow it, without trying to judge whether those who benefit are worthy. The Internet Archive, clearly, makes everybody better off, in almost every axis. And it did that, even in a world where many such things are seen as too risky or destabilising to be considered.

(1000 words)

lithp

Published by Anonymous (not verified) on Fri, 24/03/2023 - 9:35pm in

A little change of pace. As part of the Not Secret But Not Entirely Documented Either plan to save the Internet, I’ve been spending a fair bit of time with lisp weenies. The parenthesis are rubbing off on me, I think primarily because you can stuff lisp into tinier nooks than even Linux fits. One of them is now an LED board that I have stuck above my desk. In true Purpose Robot style, despite having more processing power than the space shuttle (or something), I have mainly used it to display a hardwired “ON AIR” when I’m on video-conferencing.

I got bored or delusional or hyperfocused the other day, and now it still mainly says “ON AIR”, but now has a ulisp interpreter to help it feel even more overpowered. You can telnet into a repl (I recommend rlwrap telnet, there’s nothing that rlwrap can’t improve), and I bolted on some extra commands to do graphics as well as text. Code for the signpost is up on Github, including the script that watches for a video conference on Linux and then does something, which is probably more re-usable in other contexts.

#!/bin/sh

# Check for the existence of the /dev/video* device(s)
video_devices() {
ls /dev/video* 2>/dev/null
}

# Main loop
while true; do
if video_devices | xargs fuser -s; then
# If any /dev/video* device is in use, send "ON AIR" message
curl -d text=" ON AIR" 'http://signpost.local/screen/' >/dev/null 2>&1

# Wait until all /dev/video* devices are no longer in use
while video_devices | xargs fuser -s; do
sleep 5
done

# Clear the "ON AIR" message
curl -d text="" 'http://signpost.local/screen/' >/dev/null 2>&1
else
sleep 5
fi
done

A couple of notes: GPT helped me tidy up some of this code, which made me less ashamed to post about it online — just stuff like error-checking and error messages. Another is that giving you access to my LED signpost is one of my little “we should be able to do this in a decentralized social environment” tests: both socially and technically. The face that I don’t yet feel comfortable opening it up beyond my home is a big flag to me, and I want to keep worrying at this problem until I do.

(300 words)

amped up, turned down

Published by Anonymous (not verified) on Thu, 23/03/2023 - 5:46pm in

Tags 

writing

A junk mail letter addressed to “Daniel O'brien”

I’m hoping that the net time I get a promotional postcard from eyebuydirect, they’ll have added another “&” onto my fully-escaped surname, and so on, until it overruns the postcard’s CSS block into the street.

A voice-mail from Central Computer: my computer is fixed, I can come and pick it up. It felt very like a call from the vet. Shout-out to Central Computer, by the way, and possibly society as a whole: they were very friendly and kind, not only to me, but also to the other customers. For a shop full of water-cooled CPUs, LED PC cases, and mechanical keyboards, they are genuinely compassionate and engaged. Decades ago, I would have had to have put on my geek armour and dueled for my honor in these spaces. And god forbid if you didn’t know exactly what you wanted if you turned up as a non-combatant. Now it felt more like we’re all in it together, us and our little computer friends.

I was besieged by sleep today: Liz has picked up a cold, and my body was doing its thing of defensive unconsciousness. I mostly encourage it. There’s always a moment after I wake up at 6PM, realise I’ve lost a chunk of the day, and despair of every being a proper human being. It’s so strange to breath life and consciousness on us, and then say “here it is, existence! Oh, except for a good third of your life, you’ll just be off“. Maybe it’s a way of breaking death to us slowly. It seems a far better memento moti than sticking random skulls in the backs of paintings, to be honest. Death? Oh yeah, it’s like that thing you just had THIS MORNING. Or afternoon, in my case.

Does everyone else wake up and just wish that they were still asleep, and so on, and so on? I don’t mean in a suicidal way, just “well let’s just wait here, out of the way, doing no harm, until somebody needs me for something.”

If I can confide: the moment one marriage ended for me was when I woke up, opened my eyes, to see my spouse staring at me, already pissed. In a moment, I thought of how that would play out for the rest of my life: to be guilty before the day had even started, to fall asleep worried about what I’d not done, and wake up only to find out what I’d forgotten. I dream frequently of obligations: filling in forms, accepting responsibilities, going back in time at moment when I might have stumbled in my duty. But there’s a point between dreams and waking, between alarms, when you’re mentally, physically, metaphorically off the hook. I can see that as what it’s liike before being born, or after you’re dead. Just babies, and older broken bodies, propped up on pillows, lounging around, looking about at each other, about to say something, and then remembering: there’s nothing to say right now. Just half-listening, bemused, at what’s going on downstairs.

the tyranny of structurelessnesslessness

Published by Anonymous (not verified) on Wed, 22/03/2023 - 6:39pm in

Tags 

Politics, writing

The equivalent of “time to crate” in conversations with me, is the length of time it takes someone — not always me! — to ask “Have you read Seeing Like a State/Tyranny of Structurelessness”? It was IMMORAL to roll one’s eyes at this point, because obviously it is awesome that anarchist (or CIA, depending on who you talk to) anthropologists and seventies feminists are being read these days.

One thing to note is like many books I airily refer to, I’m not sure I have read SLAS ot TOS. At this point, I think I just have absorbed them by osmosis, and they sit undisturbed in the bottom of my mental knapsack — like that the one about the spoons, and the one about, well, knapsacks, and the one about how humans are like the crazies of the Federation, and that speech by the civil rights dreaming guy, and the fight ’em on the beaches fellow. I don’t need to read them! That would be like double-checking to make sure my kidneys are where I thought they were! I’m made of these locally received ideas.

The strange thing, is more than I know these books, I know the context around them. Like, for instance, that CIA throwaway reference, which is a way of book-blocking Scott’s thoughts if you’re a Marxist-Leninist annoyed by having annoying anarchists say “Have you read Seeing Like a State” in their smug “would you like some bread instead of those bombs? I conquered it myself!” way. For every book now, a cloud of well-documented contestation.

For Structurelessness, of course, there’s the contemporary The Tyranny of Tyranny, by Cathy Levine, and a rich trail of commentary across the zine-continuum that I am going to undermine my message by failing to dig out. Freedman’s other relatively well-known essay, Trashing, which I will misscharacterize as a criticism on in-movement cancel-culture, sort of begins to give a trajectory to Freedman’s style, and will draw you more into her positions, or bounce you further away.

As Noisebridge goes through another paroxysm, I think lightly of Tyranny. But then, for different reasons, I’ve been thinking of all the more structured environments I’ve lived in which have just as unjust results — from the top, and from the bottom. No good solutions: therefore, more solutions! Infinite solution creation! Let a million essays bloom, and let us never have to read any of them, because we’re having too much fun!

(400 words)

bridging systems of survival

Published by Anonymous (not verified) on Mon, 20/03/2023 - 6:38pm in

Tags 

writing

A throwaway comment from a friend noted that their scintilla of respect for Balaji Srinivasan had actually increased after he made his lose-lose bet on Bitcoin reaching $1 million dollars in 90 days. I agree! I (currently) approve of betting on beliefs! Or at least, trying to tie more weight to a stated opinion than just the words. I’ve often wondered about how to attach such bets — in fake money, or real — to my writing, without breaking either the flow or the law.

Then again: isn’t every statement you make a bet on your reputation? I’m intrigued by prediction markets as much as I have an instant reaction against reputation systems. Why is that? Well, I know that my allergy to reputation systems is just because I’ve come to see them as such a hand-wavey solution to a set of really thorny, probably insoluble problems. But surely prediction markets are a similar simplification: and a simplification with equally known problems?

I’m mulling here: Like yesterday, I don’t have the time or the facts to come up with a tidy opinion solution, but there is a sense in which prediction markets do indicate some ability to operate: when they fail, they fail in ways that are in some sense unsurprising to me. Reputation systems fail like reputation does: bloodily, with chaotic consequences. Also, I guess, bets give people a chance to minimize the damage. You can calibrate to your own resources, rather than having to either bet everything on every turn of the roulette wheel — or more practically, just avoid ever having to have to pay your debts.

I guess reputation systems are attempts to make poor models of a complex social phenomenon. Prediction markets are an attempt to hive off a part of the social phenomenon in a tractable, useful way. Sensible minds can disagree as to whether any market has ever been a success story of this hiving-away, whether the interconnection between the social and the marketplace has every led to good results. I think it does, in the same way that language is a model that has served us well, despite its messy connections with reality (I love a good markets=language analogy).

Have you read Jane Jacobs’ Systems of Survival? In it, she talks of two different ethical schemes: the commercial and that of the “guardian” (I’ve seen this mapped to soldiers in some reviews, and the political space to others). Maybe we are in line for an explosion of new ethical schemes, as Europe did in the reformation, incommensurable, but consistent, and we need to work out how to tie them together, because we need all their functionality. Can we set up an “ethical” reputation-money exchange? Clearly not, because we already have a damning word that: whitewashing. So then, how do we wire these systems together?

I need to re-read Jacobs. (Also, apparently, I need to find a better ebook reader for Linux. Any suggestions?)

Writetyper

Published by Anonymous (not verified) on Mon, 07/02/2022 - 8:52am in

Tags 

Tech, writing

Data URI Scheme
Live edit text in your web-browser

Just a quick post to remind myself of the data URI scheme. This is something I should be incredibly familiar with given my history of work but I am mostly clueless.

This morning I have been helping my partner compose a bunch of words. The process has involved lots of to and fro with temporary swathes of text which I have quickly edited before sending back. I found using the data URI scheme to be a quick and efficient method to hammer out text without flipping between apps and windows.

Everything is in the browser. I pasted the code below into a new tab in my browser and just started typing

data:text/html,

So bloody easy.

Footnote:
the title of this post is taken from the code word used to get infinite lives in Jet Set Willy.

The bathroom in Jet Set Willy
Only when you complete the game do you find all the amenities

You had to type it in whilst in the room with the toilet under the stairs and the door to the master bedroom guarded by Maria the housekeeper who was angrily tapping her toes. Maria would not allow you entry until you had cleaned up after the previous nights wild party.

In Conversation with Lolita Chakrabarti

Published by Anonymous (not verified) on Fri, 21/05/2021 - 4:17pm in

Part of the Humanities Cultural Programme, one of the founding stones for the future, Stephen A. Schwarzman Centre for the Humanities on Thursday 13th May 2021. Join us for a fascinating evening with award-winning playwright and actress Lolita Chakrabarti in conversation with journalist Matt Wolf. Streamed live from an Oxford venue and chaired by Dr Sos Eltis, the event will cover Lolita’s wide-ranging career and hone in on her most recent play, Hymn, at the Almeida Theatre.

Lolita Chakrabarti is an award-winning playwright and actress. Writing credits include the award-winning stage adaptation of Life of Pi, which will open in the West End in 2021, the ambitious Invisible Cities (MIF), Hymn (Almeida) and Red Velvet, which opened at the Tricycle Theatre before transferring to London’s West End and New York. Acting credits include playing Queen Gertrude, opposite Tom Hiddleston, in Sir Kenneth Branagh's Hamlet (RADA), Fanny & Alexandra (Old Vic) and Free Outgoing (Royal Court). A Casual Vacancy (BBC1/HBO), To Provide All People (BBC2), Beowulf (ITV), Jekyll and Hyde (ITV), Riviera (Sky), Criminal (Netflix) and Defending The Guilty (BBC).

Matt Wolf is an American theatre critic based in London, where he has spent his entire professional life. He moved to the UK directly upon graduating from Yale, where he read English and was co-arts editor of the Yale Daily News (a good place to begin). Soon upon arrival in London, he found work in a self-created job as arts and theatre writer for the Associated Press (AP), where he remained for 21 years. 

Along the way, following brief stints at the Wall Street Journal/Europe and The Hollywood Reporter, Matt became London theatre critic for Variety from 1992-2005, during which time he was freelancing regularly for The International Herald Tribune – now the International New York Times. Following the departure from his long-held post of the august Sheridan Morley, Matt became London theatre critic for the IHT/INYT, and in 2009 was thrilled to help birth The Arts Desk – an arts-centred website that within a few years of its inception was named best specialism journalism website at the Online Media Awards in London. He remains theatre editor at that site and reviews there across the cultural spectrum.

In addition to his journalism, Matt has collaborated on two books – one about Guys and Dolls, the other about Les Miserables – and is the author of Sam Mendes at the Donmar: Stepping into Freedom, an account of the theatre and film director Sam Mendes’s extraordinary tenure at one of London’s premier theatrical addresses. Matt sits on the panel of the Evening Standard Theatre Awards and is on the faculty of both NYU/London and the V&A Museum; he can be heard regularly on various radio programmes for both the BBC and Monocle. 

Following an acclaimed, sold-out live-streamed and on-demand runs, Lolita Chakrabarti's Hymn will be broadcast on Sky Arts on Sunday 18 April at 9pm. The world premiere of this production was directed by Blanche McIntyre and features actors Adrian Lester and Danny Sapani. Sky Arts is free to watch on Freeview Channel 11. Sky and NOW subscribers can also watch Hymn on-demand after the broadcast.

Lolita Chakrabarti is a HCP Visiting Fellow part of the Humanities Cultural Programme.

How to write a southern life: Ethics and writing practices

Published by Anonymous (not verified) on Tue, 19/11/2019 - 12:22am in

Eduardo Lalo, Elleke Boehmer, Jonny Steinberg and Premilla Nadasen give a talk for the Southern Biographies event. Chaired by, Hélène Neveu Kringelbach.

Southern Biographies: epistemologies, methodologies, theoretical perspectives

Published by Anonymous (not verified) on Mon, 18/11/2019 - 9:37pm in

Joy Owen, Marcio Goldman, Ramon Sarro and Santanu Das give talks as part of the Southern Biographies event. Chaired, Thomas Cousins.

Pages