It’s hard to believe this is my sixth November in Paris. It may be my last! We’ll almost surely be leaving Paris and heading to the countryside before this time next year…

I was afraid I wouldn’t get a November picture at all this year. I don’t get out and about as much as I did before, what with The Illness and all. Don’t even walk the dog as often now that he lives half the time with a friend of ours in Normandy! But I managed to snap this with my iPhone while walking him in the late afternoon a few days ago. It’s right behind Notre Dame. I made it under the wire. Not much November left!

Click the picture for a large version to get the full effect of the luscious, mellow tones of the buildings in the setting sun.

You’ll find a list of previous years’ November pictures below. Want more? Here’s a site with nothing but photos I’ve taken all year.

2010 | 20092008 | 2007 | 2006

Some might think my work is boring. Today I was editing a video voiceover script written in English by a non-native English speaker (which can be a real pain). I stumbled on a tech term I didn’t know: “heavy VB client.”

I googled it and it only appeared once, which suggested to me that it’s not something English speakers say a lot. So I’m digging around online to find out how we do talk about VB clients, whatever the hell those are, and I came across this magnificent poem. It was masquerading as tech support. But I saw it for what it really was.

Everything is art.

Why does my VB client keep crashing
when compiled
and not in the IDE
when I use an ActiveX Control
with a worker thread?

You probably fire events
from the worker thread
in your control.

Since all ActiveX Controls
live in single-threaded apartments,
the event sink
your VB client supplies
lives in that STA too.

VB operates in apartment model only,
hence the pointer for the event sink
is in fact
a direct pointer
to the object in VB.

Hence you are able to call
through this pointer.

Unfortunately, by doing so
you violate
the COM threading rules –
every interface pointer
is valid 
only
within the apartment
it is obtained in.

Since VB is not thread-safe –
you experience
the crash.

Solutions.

There are three possible solutions
(described in ATL terms,
but they are appropriate
for straight C++ COM coding too):

1. The easiest solution is to create
a hidden window
upon the object’s construction
in FinalConstruct
(it is not a good idea
to put such code
in the constructor).

Then whenever you need to raise an event,
you post a message
to that window
instead.

The message handler then
fires the event.
The drawback is
that you have to package
any arguments
and unpackage them
in the message handler.

An additional benefit is
that unlike the other approaches,
this way the worker thread
is immediately
ready to continue
with the next task –
asynchronous notifications.

This approach is made possible
by the rule
that all STA threads
must have
a message loop
(in this case
implemented by VB).

2. Rewrite the implementation of
IConnectionPointImpl::Advise
and Unadvise
and forward the call
to the worker thread
somehow.

The implementation uses
CoMarshalInterThreadInterfaceInStream
and the worker thread uses
CoGetInterfaceAndReleaseStream
to marshal the interface pointer
to the worker thread.

Then the marshaled pointer
is stored in the map
instead of the direct pointer
from the client.

The worker thread
must enter an apartment
(MTA or create new STA).
The advantage of this approach is that
the code generated
by the ATL connection points wizard
doesn’t change.

The drawback is that
the events must be fired
from the worker thread’s apartment
only
(so if you have multiple worker threads
you better enter the MTA
in all of them).

The worker thread
is suspended
for the duration
of the call.

3. This one is a generalized version
of the second.
Instead of explicitly
marshaling
the interface pointer
for a specific apartment
up front,
the code in the Advise method
is modified
to use the Global Interface Table
to store the interface
and a cookie
is stored
in the map instead.

Whenever any thread
wants to fire
an event,
the cookie is used
to temporarily obtain
an interface pointer
for the current apartment.

Then the event is fired
and the interface pointer
is released.

The drawback
(with ATL in mind)
is that in addition to
the IConnectionPointImpl code,
you have to modify
the code
for the proxy
generated by the ATL wizard.

The advantage is that
events can be fired
from any apartment.
All threads which fire events
must enter an apartment.

The thread firing the event
is blocked
for the duration
of the call.

Oh yes indeedy.

Air warm and thick with the smell of fresh corn tortillas. Valentina (and other familiar faces) on the table (as opposed to some little-known Louisiana hot sauce that has no business being there: Mexi & Co.). Tasty refried black beans (as opposed to hard, cold and flavorless kidney beans: La Perla). Fresh shredded chicken (as opposed to deep fried and greasy: O’Mexico). Thick, crispy, homemade tortilla chips (as opposed to thin, stale and industrial: Indiana Café).

Till now, with one exception, the Mexican food I’ve had in Paris has made me sad. The exception is Anahuacali, where I’ve eaten twice. It’s authentic but way overrated. The food is only fair (bland), portions are small, and everything’s overpriced. 50€ for a skinny-ass pitcher of margaritas. Hell with that.

But now there is Candelaria, the latest Mexican restaurant to arrive in Paris, where I had dinner with friends on Friday night. It’s more taco stand than restaurant, actually, with one table and a counter providing seating for a total of 15 or so. Best to order takeout if you eat later than 7 pm, which is about when it turns into a zoo.

But it’s worth it. If this place were in my neighborhood (it’s in the Marais) I’d be eating there once a week at least.

The young, pretty, hipster owners are onto something. The stodgy sit down and eat heavy expensive shit for three hours with a stiff waiter dressed in black thing is not what younger Parisians want. And there were more young French couples and families there than there were expats.

The food is quite authentic. The tacos aren’t like the jumbo overstuffed things you get in SoCal restaurants. They’re closer to what you’ll find in taco stands in Mexico. Or, as my friend said repeatedly, bouncing up and down, “taco truck!” “taco truck!” (She was as excited as I was and for a while couldn’t say anything else.) But I think I saw feta on the menu. I’m sure it would be good, though maybe a little odd. (I understand, though. I’ve used Cantal as a substitute for Monterey Jack for 5 years.)

I had two tacos pollo pibil and two tostadas nopal queso (I do love my prickly pear!). I didn’t have the carnitas but my friends said they were good. I had a Dos Equis. My taco truck friend had a Negra Modelo. (That calmed her down.)

Ahhhhh…

Tacos and tostadas are 3.50€ each. A little high considering their size, but not at all too expensive compared to other fast and fresh dining options in Paris (of which there aren’t many). And you have to remember that you can’t get prickly pears or Mexican chorizo in France…

The bad news

A nondescript, narrow white door at the end of the counter leads to a cavey bar that has a completely different feel and clientele than the restaurant. (In fact the tiny, unmarked door looks so much like it leads to the bathroom that you get the feeling they don’t want their taco eaters to suspect there’s a bar back there…) The bar was full of the usual Paris vampire crowd: 20/30-something hipsters, scrawny girls with long, straight hair dressed in black… I wonder if the vampires even knew that there were tacos on the other side of that door.

We went to the bar for margaritas after dinner (because I had to do the complete taste test). It was good, but seriously, 12€ (about $17) for a margarita? Once is enough for me. Those prices plus the vampire crowd: not my thang.

I just found this list of Mexican restaurants in Paris by David Lebovitz, which he clearly worked very hard on… At least it’s pretty current.

I guess I’ll have to try them all just to be sure I have actually found the best. If I can ever again force myself to eat Mexican anywhere besides Candelaria, that is.

A person accustoms himself to what he is, after all, and if he’s lucky he learns to hold in somewhat lower esteem all other ways of being, so as not to spend life envying them. —Jonathan Franzen, Strong Motion

You know, the American Left (such as it is) might not be melting faster than the ice caps if we made it a little harder for the Righties in Power to whip the masses into a frenzy of hatred with the use of that magic word elitist.

But instead, Lefty just blushes and lets Righty dress her up in the word, she turns this way and that in front of the mirror, likes the way it looks on her, she throws her shoulders back, lifts her chin, thinks Damn, I’m hot. Lefty doesn’t object to being called an elitist because it feeds her vanity.

It’s true that the lefter you are in the US, the more likely you are to have a college degree. But that hardly makes you an elite anything. These days it doesn’t even mean you can spell for chrissakes.

The Righties in Power know that perfectly well yet, without compunction (sorry, elitist word), they actively fabricate an utterly false class gap, exploit that sad human tendency to despise people who are different, and foment (sorry, elitist word) a climate of hate that ends up with little girls and other nice people dead in grocery store parking lots.

Law enforcement officials continue to piece together the facts in Saturday’s shooting rampage that left a federal judge dead and a congresswoman critically injured in Arizona, and some are questioning whether divisive political rhetoric may have played a role.

The above quote is from NPR (my emphasis). Can you believe the lack of spine? (Arizona just needs to be roped the fuck off.)

Back to elitists. You and I both know that most of us don’t have an elite bone in our bodies. (I actually do. Well, a tendon, not a bone; some chromosomal defect associated with English aristocracy gave me a short tendon on the inside of the last joint of my pinkies so they bend funny at the tip. But I’m sure it’s only because some ancestor of mine was raped by a blue blood while trying to empty a chamberpot or something. Unless of course you consider the aristocracy to be the bottom of the gene pool barrel due to inbreeding rather than the elite, which is probably closer to the truth and explains my deformity.)

The rest of me comes from all-American white trash stock. My dad was the first person ever to get a college degree on either side of my family, and that’s only because the Navy yanked him out of the enlisted ranks and popped him into Purdue and officer training at the tender age of 20. I went to a Party League college; when I was at San Diego State it was one of the top five party schools in the US. But I was a single mom with a preschooler and was not doing Girls Gone Wild at Cabo, trust me. I had a damn good time, though, and still graduated cum laude (sorry, elitist expression).

(Sexy trashy girls image: White Trash Beautiful II by Stefanie Schneider. Limited edition photo, edition of 150, signed.)

I do know what arugula is, and I adore it, but I couldn’t tell a Bordeaux from a Merlot, which I guess puts me on the beer track, which is peachy with me. I get so bored around wine people when they get going. Just pour me a glass of whatever goes with my spaghetti, there, Mr. Fancypants. I like opera (but know zip about it) and NFL football (which I know a lot more about). I read good literature almost exclusively, but I’m also a WoT geek (which is some of the worst writing around: “The boat made haste slowly down the river…”). I say fuck a lot.

Despite a BA and one and a half MAs, I realize every single day how little I know about anything. (It doesn’t help that I live in France where everybody knows everything.) In any given week I run across hundreds of cultural and historical references—things I never knew, know superficially, or have forgotten the details of—and I gotta look ‘em up on Wikipedia just like every other non-elitist, which is pretty much everybody.

(Wikipedia is the ultimate face-saver and dilettante-enabler (sorry, elitist word), isn’t it? You’re at a party, somebody starts talking about some esoteric (sorry, elitist word) topic, so you pop off to the bathroom, look it up on your iPhone, and come back and act like you knew all along what they were talking about. Plus you really learn stuff that way. Not that I ever did this. I usually just say “I have no idea what you’re talking about” and look it up when I get home.)

My point is (yes, I have one, kind of) that maybe if the Poor Right Trash weren’t made to feel so afraid that they wouldn’t know which metaphorical fork to use at a metaphorical dinner at a Liberal’s metaphorical house, they’d see us less as The Other. We just need to show them you can go to college and still know next to nothing, and top your tuna casserole with potato chips and still believe that gays have a right to live and breathe and get married and adopt kids!

Maybe the answer is a reality TV show where a liberal mom and conservative mom switch houses and cook Velveeta-based dinners for their temporary families and casually discuss values over dinner, all in an attempt to find common ground. (No evangelicals though, they can’t be reasoned with. We just need to write them off as a loss and hope they abstinence themselves to extinction.)

Or not.

Aside: I was going to call this post Left Wing White Trash, but of course trash comes in all colors and flavors, and if we had to go and start adding letters for all of us, we’d end up like the LGBTIQPFLAG crowd and at a certain point you just have to pick a letter or a symbol or make up a word or something and let it go already. You guys (meaning guys and girls and everything in between and above and beyond, but I’m from California where you can just say you guys and everybody knows what you mean) had a good thing going with that upside-down triangle a while back instead of all these letters. It seems to have disappeared, don’t know where I was when that happened, but if you ditched it because of the Hitler connection I understand completely. But you could still revisit the general symbol idea and lose all the letters, although Prince with his little thou shalt not pronounce my name phase was totally absurd. The rainbow just doesn’t have enough gravitas; it’s way too Care Bear. There must be a happy medium somewhere between acronym and abstraction, and there must be something that does not scream fabric softener. And I’m a lifelong card-carrying FLAG by the way, so don’t even give me any shit about any of this.

Right, back to trash.

For your dining pleasure, here are my favorite White Trash recipes. I welcome any of your (mammal-free) trash recipes if you’d like to share. Hey elitist: Don’t knock it till you’ve tried it.

Crying Chicken (Its name in our family because my uncle Jim cried the first time my mom made it for him. Then he tasted it and stopped crying.)

4 skinned chicken breasts
2 T melted butter
1/2 medium onion minced (the original WT version called for the dried stuff)
10 oz can Cream of Mushroom or Cream of Chicken soup
1 c grated sharp cheddar cheese

Sauté minced onion in butter. Mix soup, cheddar, and sautéed onions in bowl. Place chicken in round casserole dish. Pour soup mixture over chicken. Bake covered at 325° for an hour. Good served with rice and peas.

Bunny’s Fruit Salad (Bunny is the mom of an ex-boyfriend.)

1 pkg (3 1/8 oz) vanilla pudding (not instant)
1 can mandarin oranges
1 lg and 1 sm can pineapple chunks
2-3 bananas
1 2/3 c of juice from pineapples plus syrup from oranges

Drain fruit, reserve juice. Prepare pudding according to box using juice instead of milk. Cool and thicken pudding. Slice bananas. Fold fruit into pudding. Serve chilled. 6-8 servings.

Tuna Casserole (From the side of a Creamette macaroni box, a brand I only ever saw in Michigan. No potato chips. Sorry to disappoint. But knock yourself out if you want.)

1 can tuna
8 oz Velveeta
1 c milk
1 can Cream of Mushroom soup
3-4 c medium or large elbow mac

Elitist ingredients I added to original WT version:
grated parmesan
1 c frozen peas
1-2 t curry powder
1-2 t mustard

Heat soup, Velveeta, and milk in a saucepan till “cheese” is melted. Add tuna and, if using, peas, curry and mustard. Heat for a few minutes over med-low heat and remove from heat. Cook macaroni. Combine cooked mac and soup mixture and mix well. Pour into casserole. Sprinkle with parmesan. Bake covered at 325° for 30 minutes. Remove lid and bake an additional 10 or 15 minutes till top gets a little crispy.

I’ve been yakking (here and here) about how bloggers are frequently offered “exposure” instead of money for their work. What “exposure” really means, of course, is “We could help you become famous.” Hard for the average human to resist. Very hard. But exposure doesn’t buy the groceries (at least not in the immediate). So we need to figure out a way to get cash into bloggers’ pockets, especially if the sites they’re blogging for can’t or won’t pay them.

Another part of the equation is the readers, who are very free with their likes (easy to be generous when it costs you nothing), but likes don’t pay the rent any more than exposure does.

Speaking of readers, permit me to draw your attention to Flattr, which I affectionately refer to as “likes with balls.” It’s a revolutionary idea, though most people don’t seem to have grasped that just yet. (Or maybe they have, and they’re just selfish and lazy. Or maybe they’ve lost their jobs and homes and are living in their vans and eating uncooked Top Ramens every day. I’ll give them the benefit of the doubt.)

With Flattr, content creators add buttons to their sites and/or individual posts (there’s one at the bottom of this post). When you, the reader, click a Flattr button, the creator of the content you just enjoyed gets cash. Real money!

Where does this money come from, you ask? Well, initially, you put it into an account. Then you tell Flattr how much of it you want to spend each month. If you’ve specified a budget of €3 a month, and you Flattr one blog in a month, that blogger gets €3 (minus a minuscule fee). If you Flattr two blogs, those two bloggers get €1.50 each. Get it? If you Flattr nothing, your money goes to charity.

If you put Flattr buttons on your own site(s), then, theoretically, your account could just be filled up with money from Flattrs others have given you, and you wouldn’t have to put more money in. You could even withdraw extra money and buy ramen with it.

Flattr can only work if enough people are doing it, of course. It’s caught on in Germany, I hear.

So what does Flattr have to do with group blogs that don’t pay their bloggers (like The Huffington Post)?

Well, Flattr is in a good position to do something to change the situation. It would be super cool if Flattr could develop a system whereby Flattrs on individual posts on a group blog directed the payment to the specific bloggers’ accounts rather than to the main site. (Chances are sites would want to share Flattr revenue. This could be an option, and the site owners could be allowed to configure the split themselves.)

[Aug. 8: Vincent saw a tweet go by that said the Flattr WordPress plugin supports multiple users. Great minds, right?]

You can go to the Flattr site and look for people who are using Flattr (keyword search). I discovered Mimi and Eunice (the cartoon above) on the Flattr blog today. I found a poet I really like searching Flattr for “prose poetry” a few months ago.

What exposure really gets you

I was whining to a (non-blogger) friend and colleague about blogsploitation the other day, and she asked me if what I had gained from blogging for free had been worth it. I had to admit that it had. It’s opened a lot of doors. I’ve had press passes to pricey events I couldn’t have attended otherwise. These events provided material about which I wrote and for which I (sometimes) got paid, and lots of contacts. It’s helped me put together a significant professional network here in Paris and online, which has led in turn to more paid work. Having content on major blogs that I could point people to has gotten me some very interesting and lucrative projects. So maybe the exposure myth is not all myth.

In fact, in between the first and second of my blogsploitation posts, another friend and colleague, who was about to be hired as a blog editor, asked me if I’d be interested in blogging for her. The site? HuffPo.

I have to confess I’ll probably do it. I’m only human. And you never know what it could lead to…

Do I contradict myself? Very well, then, I contradict myself; I am large — I contain multitudes. -Walt Whitman

There was a lovely young couple living upstairs for the first few years I was here, and by lovely I mean when they walked by you could only stand there gaping in wonder at their sheer splendor (especially in combination). One Brazilian and the other Welsh, they had both undoubtedly been models at some point.

My neighbors were high-fashion photographers at the beginning of their careers, with a full studio set up in their apartment (probably illegally), and there were always gorgeous, exotic six-foot-tall stick girls knocking on our door. Vincent would answer and smile and point to the sky to indicate they were one floor short (no names or numbers on our apartment doors in typically efficient French fashion).

One day the Perfections and I were chatting on the sidewalk and they told me that fashion magazines, even the big ones, didn’t want to pay them for their work, claiming the exposure they’d get and the portfolio they were building should be adequate compensation. However, landlords don’t take payment in magazine spreads any more than they do in blog posts, so the Lovelies were forced to move out of this neighborhood, all the way to the outskirts of Paris. Shame.

Evidently graphic designers have the same problem. Designer Ben Crick created a manifesto for designers…

There exists an unfortunate cultural history of exploitation in Visual Communication, and indeed the arts in general. Designers, especially young designers, are expected to work for little or no money, either to prove themselves, gain exposure, or provide spec work.

…and a charming set of posters to illustrate its four main points:

Read the rest of the manifesto and see the other posters

In a discussion I had with a writer friend the other day on the topic of blogsploitation, I tried to pin down for her why some people (like me) have a problem with being asked to blog for free and maybe why others don’t, and why many websites don’t seem to think there’s anything wrong with not paying their bloggers.

I think part of the problem is the concept of “blogger.” The general consensus (among the kind of people who think Amazon and Facebook are the Internet) seems to be that bloggers are ordinary people — pilots, housewives, nurses, mechanics — who just decided to start writing about whatever popped into their heads. People tend to place blogging in the hobby rather than the profession category, and they write off bloggers and blogs as amateurish and not to be taken seriously. I think traditional media and big online media capitalize on this perception to keep bloggers in a journalistic underclass.

At a certain point, though, if a blogger has been writing enough, and well enough, to have some significant content on the Web to point to, whether or not he or she’s ever been paid for any of it, that blogger should be taken seriously as a writer or a journalist (depending on what he/she blogs about and how).

Blogging is essentially self-directed OJT for writing and/or journalism.

Another part of the problem is related to what a blogger’s profession is in the first place. While a nurse might be excited to blog for a large platform for free (at least at first), a writer might be more indignant about being expected to do so. In my case, I was getting paid to do tech writing, translation and many other kinds of writing for years before I started blogging, so it irks me to write for free unless it’s for a good cause, or to help a friend, or to share something I’m passionate about.

Ideally, if you end up writing for free for a website, there should be a time limit to it. Give ‘em a free sample of the milk, but not a lifetime supply, ya know? Companies should have the courtesy to define trial periods after which they agree to pay for the content you’re producing, vest you in the company, or offer some other arrangement.

For example, after you’ve written X posts per month for X months or years, you’ll be paid X per post (or maybe X to start, with increases down the line), or own X shares of the company.

If your writing’s no good, or you’re flaky, or not a good fit, the company should send you on your merry way before the trial period ends, which can only improve the quality of their site’s content. In fact, if it’s true that bloggers don’t draw that much traffic to HuffPo, maybe it’s because HuffPo doesn’t actively separate the wheat from the chaff. I stopped reading it about three years ago, when I saw a celebrity gossip blog post about Tom Cruise…

If you are good, and your content resonates with the site’s audience, it’s easy to quantify your value based on the number of comments you get (and “Likes” and tweets) as well as your stats. The site you write for is tracking stats, and should tell you your “popularity” ranking relative to other bloggers, or the ranking of your posts, and should share your stats with you (number of views, external links to your posts, etc.), so you can judge just how much “exposure” you’re actually getting for your efforts. If it’s clear your content is popular, the company using you should recognize and reward your contribution in some way.

It’s just a question of doing the right thing.

I may continue this discussion. Might talk about the open source philosophy (Vincent thinks I should), intellectual property, Flattr, faux celebrity, and the reality of the situation, which is that most of us do write for free, despite everything I’ve said. Or I might not. We’ll see.

**********************

*Shit my pre-Sexual Revolution mom said.

Read the first post on this topic, Give me equity or give me a break.

Gay Pride parade, Paris, 2011.