Twitter panel API v1.0 and API v1.1 – Time to ditch the twitter panel

Twitter killed the API v1 twitter-panel script about eight weeks ago. The decision was about as popular as one might expect. This is the script I used on almost every single client’s site. I used it because it was awesome.

With the API v1.0 script, I could style every single element of the panel. I could make each tweet dance in its own box or bubble. I could give alternating tweets different colors. The fonts could match the fonts of the page. I could knock out the background. I could dispense with the border entirely. I had absolute control over my scrollbar. I could set my own width, as small or as big as I wanted. Anything was possible and I did a lot of awesome things with my twitter panel.

Then, eight weeks ago, Twitter deprecated API v1.0 and rolled out the API v1.1 as a replacement.

With API v1.1, instead of an elegantly styled twitter feed on my sites, I can place a big brick-of-a-box that is IMPERVIOUS to styling.

I was hoping the Facebook panel would start to go in the direction of styling freedom like the Twitter panel. Instead, Twitter devs have followed in the anti-designer footsteps of Facebook developers, opting to put me in the same straightjacket Facebook wants me in.

Twitter devs: You took away a tool I used daily to make websites better,  your replacement sucks balls, and I am extremely unhappy. I was hoping by now you would have realized how incredibly bad this decision was – from a designer’s perspective – and listened to all the CSS coders who have been screaming about this decision. I’ve been holding off criticism of API v1.1, but this morning I’ve had the following conversation for I think the tenth time:

“Yes, I am aware your twitter stream isn’t there anymore. I’m sorry, I had to remove it.”

“Well, you see, Twitter made the old twitter panel not work anymore, and the new twitter panel could not be styled to match your page like the old twitter panel could. For example, the little icons cannot be made invisible, the background is either dark grey or white I’m afraid, the fonts won’t match, etc. etc. It’s basically a big ugly brick. The whole thing had to go. I had to remove it. Again, I’m sorry.”

“No, like I said, the new twitter widget cannot be styled. That means it will stand out like a sore thumb in the sidebar. We won’t be able to make it display the way it used to. The new panel was a detriment to the site, so it had to go.”

“No, I’m sorry, I do not actually know why they did this.”

“Yes, I’ve been having this conversation with all of my other clients as well.”

“No, I don’t believe they would be willing to reimburse you for the development costs to style the twitter panel. I’m afraid that money is in the toilet.”

I’m really tired of this conversation. I resent you, twitter devs, for putting me in this position.  A pox on you all.


What today’s evangelicals are telling gay people

What today’s evangelicals are telling gay people:

Today the Christian argument against gay people goes something like this email I recently received:

Would you support a serial adulterer who leaves his wife, but is just attracted to other women, because that’s who he is and how he was born?  How about an alcoholic who just can’t help himself? Would you support him as he leaves his wife for alcohol? Would support a glutton? A man of extreme pride? Why does homosexuality get a pass, and not any other sin?

A person with homosexual desires who resists temptation is exactly the same as a married man who resists temptation to carry on affairs with other women — which is to say, a human being battling the temptation to sin. The most compassionate thing that we could tell someone struggling with homosexuality (or any other sin for that matter) is to keep resisting temptation. Keep battling. Don’t give in. This is your badge as a Christian, that you fight temptation.

The argument is that a gay person struggling against the temptation to be who they really are is no different from anyone else struggling to resist a sinfulť temptation. In other words, the present refrain isn’t that gay people should stop being gay. Now it’s that they should stop, acting, gay.

Virtually all sins share a crucial, defining, common quality. That quality is present in every other imaginable sin. That quality is utterly absent from being or acting gay. Insisting upon putting homosexuality into the same category as every other sin — or in the category of sin at all — is like gluing wings on a pig and insisting that the result belongs in the category of bird.ť It doesn’t. It can’t. It won’t. Ever.

Here is that Big Difference between homosexuality and all those other activities generally understood to be sinfulť: , There is no sin I can commit that, by virtue of my having committed it, renders me incapable of loving or being loved. I can commit murder. I can steal. I can rob. I can rape. I can drink myself to death. I can do any terrible thing at all, and no one would ever claim that intrinsic to the condition that gave rise to my doing that terrible thing is that I am, by, nature, unqualified for giving or receiving love.

I’ve been noticing this trend for a while now, too (in print or on the radio: , nobody is ever brave enough to say shit like this to my face). This is the first time I’ve seen it described and categorized in any way.

Despite the run-on sentences, this is an excellent article.

Art’s Guide to Cooking Tacos

Alex and I had tacos at Art and Betty’s house a few months ago. They were cooked perfectly. And his process seemed so much easier than the one I had grown up with. I bugged Betty for instructions and here’s what she sent. Thanks Betty and Art!

8 inch porcelain coated cast iron. Cast iron is best for maintaining an even cooking temp and the coating makes it easy care.
the amount of oil should be about as deep as the tortilla is thick, about 1/16 to 1/8 inch deep.
Oil should be hot enough to really bubble when the tortilla is lowered into the oil.
Hold it down for a bit until it softens and then fold top over
two at a time…
trying to show the depth of the oil – it should remain at 1/16 to 1/8 inch deep.
turning the taco…
Don’t cook it too crispy or it will get hard and break. It will probably be done before you think it is.
Always drain the taco – it’s really hard to keep the right amount of oil so you’ll want to drain here and rest it on a paper towel when done. If you’re cooking a lot you’ll have to add oil during the cooking process and let it come to temp again



shiitake lasagna

This was before it went into the oven. Here’s the basic recipe, with these variations:

  • I put a sprig of rosemary in milk while the milk is heating up but remove it before adding the milk to the flour
  • Instead of 4 cups milk, I used 1c half-and-half and 3c milk.
  • To the sauce, I added:
    • one whole chopped up sautĂ©d onion
    • three cloves garlic
    • couple dashes of allspice
    • about a half teaspoon of cayenne
  • recipe calls for 1.5 lb of portobellos. Instead, I used 1.25 lb of crimini, 1lb of shiitakes, and then a handful of anything else at the store (I grabbed a handful of trumpets, maitake and Lobster mushroom) to throw on top.
  •  I sautĂ©d all the mushrooms before hand and i do them in small batches so they don’t steam each other (bad – lose flavor that way). This usually takes more butter and adds twenty minutes of prep time.
  • I doubled the parmesan, I used the good fresh Parmigiano-Reggiano block, not that horrible shit in the green can, which I don’t allow in my house.
  • when building the lasagna, I added about a cup of mozzarella on top of each mushroom layer.

NationBuilder and Facebook – best practices

There’s been a recent revelation that Facebook has been throttling down the online presence of Facebook Pages (pages by organizations, businesses, celebrities, etc. that Facebook users can “Like”) and crimping the ability of owners of those pages to reach their respective fans:

Spring of 2012 was when bloggers, non-profits, indie bands, George Takei, community theaters, photographers, caterers, artists, mega-churches, high schools, tee-shirt vendors, campus coffee shops, art galleries, museums, charities, food trucks, and a near infinite variety of organizations; individuals from all walks of life; and businesses, both large and small, began to detect—for it was almost imperceptible at first—that the volume was getting turned down on their Facebook reach. Each post was now being seen only by a fraction of their total “fans” who would previously have seen them.

Some are describing this as “broken on purpose:”

It’s no conspiracy. Facebook acknowledged it as recently as last week: messages now reach, on average, just 15 percent of an account’s fans. In a wonderful coincidence, Facebook has rolled out a solution for this problem: Pay them for better access.

As their advertising head, Gokul Rajaram, explained, if you want to speak to the other 80 to 85 percent of people who signed up to hear from you, “sponsoring posts is important.”

In other words, through “Sponsored Stories,” brands, agencies and artists are now charged to reach their own fans—the whole reason for having a page—because those pages have suddenly stopped working.

This is a clear conflict of interest. The worse the platform performs, the more advertisers need to use Sponsored Stories. In a way, it means that Facebook is broken, on purpose, in order to extract more money from users. In the case of Sponsored Stories, it has meantraking in nearly $1M a day.

I like to simplify things for my clients. Broken on purpose is cute, but I’ll be calling it a bait-and-switch because that’s what it looks like to me. (Extortion also sounds rather apt) Regardless of the terminology, the conclusion is clear: it’s a dick move by a rapacious corporation. As such, I’ve lately been recommending to my clients that they approach Facebook differently than they’ve done in the past.

In short: Use Facebook to drive people to your site, never vice-versa.

On your Nation (your NationBuilder site), you control your outreach. You decide your message. You even have control over what a particular set of people see, while showing another set something different. You know who went where, what they saw, and what they did. You have the ability to sign up people for events, ask for donations, sign them up for email, etc. Your Facebook Page provides none of this. Think of it like this: your site is your home and your Facebook Page is there to invite people over to hang out.  🙂

NationBuilder makes it effortless to display a Facebook Like Box.  By default, a NationBuilder user can have this box appear in the sidebar of their two-column pages. Since it’s so easy, most orgs with a Facebook Like Page opt for it.

I’m not going to tell you not to do this. I’m going to tell you the best way to do it:

(Before we start, if you are not using the blog on your Nation, start using it. Your blog is where you post anything relevant that you think your users might want to see. If you’re only using your blog for press releases or official announcements, then you might as well draw cobwebs on it, too, because nobody’s going to look at it, much less follow it or subscribe to it with RSS. Want to know what to put on your blog? Ask yourself: would you add it to your Facebook Page? If yes, then add it to your blog in a blog post.)

When you want to share something with your audience, follow these steps:

  1. post it on your blog
  2. copy the link to your new blog post
  3. go to your Facebook Page
  4. post the link to your blog post on your Facebook Page. You can write a little something about it, too.
That’s it! Simple, right?  It’s simple, but it’s profoundly better.

Each blog post is an opportunity to get eyeballs away from Facebook and onto your site. Your Facebook Page should have no original content, it should only consist of links to the original content that’s posted on your blog (or events page, if you’re posting an event).

Now, a word about the different types of Facebook plugins. You have a few options.

I always recommend the Facebook Like button without reservation:

When a user is on your site and clicks Like, a thumbnail of your website appears in the user’s timeline. Free advertising!

The Facebook Like Box is to the right and you have some control over what it displays. You can have one with an Activity Stream, one with faces, or one with both. I recommend the one with faces only.  The Activity Stream is huge leak in your bucket. It invites people to click on something that will take them away from your site and land them on Facebook, which is likely where they will stay to read all the new updates from their friends. They might not even remember to come back to your site.

Again, your Facebook page should exist for one purpose only: to drive traffic back to the your site. And once they are there, you should do what you can to keep them there and minimize anything that might send them away. The Activity Stream is so big a leak that I’m surprised it doesn’t make its own sucking sound like a sink draining out the last bit of water.

Now, some organizations do this exceedingly well. The Electronic Frontier Foundation’s Facebook Page, for example, has nothing on it that wasn’t already posted somewhere on their site. Every link goes back to


  1. Post everything to your blog that seems interesting
  2. Post each link to each blog post on your Facebook Page. Don’t forget to Tweet the link, too!
  3. Never post something first on your Facebook Page.
  4. Never, ever post something only on your Facebook Page.

UPDATE: The NationBuilder blog beat me to the punch by a couple months. Dammit!

Boy Scouts of America Lawsuit – A Brief History (from my perspective)

A friend wrote to me:

“I wanted to ask you from a LGBT point of view why it seems important to try and change the Boy Scouts policies when they obviously are so against it versus Those leaving the Boy Scouts of America?and boycotting it for these reasons and making a new organization? I basically want to know if there is something im missing, because it just seems easier to create something not already set in stone yaknow?

This was my response.

In the late 1980s, Chuck Merino, an El Cajon, California police officer, started a group under the Boy Scouts of America ?umbrella for at-risk teens. Called “the Explorers”, the class met once or twice a week at a high school in El Cajon. They had motivational speakers, classes, etc., mostly from low-income, at-risk backgrounds. El Cajon is about 40 minutes East of San Diego. It’s hot and poor and miserable. Teens there have it rough, so a program like Chuck’s was important and did a lot of good. Through this program, Chuck helped hundreds of kids.

On a summer night in 1992, around 10PM or so, I was standing out in front of SOHO Tea and Coffee in Hillcrest, a San Diego suburb just north of downtown – the gay section of town. I was standing out in front of the place, chatting and smoking with my friends like we did almost every night. One of my friends, 17-year-old John Weir, had parked his car in the alley around the corner. On his way to meet up with us, he was jumped by some gay bashers. He was stabbed in the neck. He made it as far as where we were standing, but then he went down on the sidewalk. He died at the scene. The gay bashers got away.

This was the latest in a string of gay bashings and people were very upset.

Chuck, who by then was a friend of mine, started an effort to get the San Diego police department to set up a sub station mobile unit (basically, a police station inside a tour bus). As part of the effort and to help get community buy-in on the sub station, he gave different talks throughout the Hillcrest neighborhood at community centers, including the LGBT Community Center. The Boy Scouts of America ?got wind of it, asked him if he was gay, and when he didn’t deny it, they fired him from the Scout Explorer program he started.

Chuck took the Boy Scouts of America ?to court – not for being homophobic bigots, which they are certainly guilty of being – but because they were using a public accommodation (the high school in El Cajon) and as such, were subject to certain rules, which they violated. You can’t use city property and discriminate the way they did.

Chuck won the first round, but he lost on appellate level. It went all the way up to the Supreme Court, but they declined to hear the case. So that was the end of that.

The court has ruled that the Boy Scouts of America ?is a private organization and private organizations can exclude gay people if they want since we gay people are not a protected class of people, according to the Civil Rights Act of 1964. (Not being a protected class means that, at the time of this blog post, people in many states are routinely fired by good Cristian bosses who think that employee might be gay; at present these people have no legal recourse.) It is important to point out that the court never said that the BSA was right or justified in their discrimination, but simply that they were ?allowed ?to discriminate. Some judges called the organization’s practices “loathsome” while still ruling in favor of the organization.

Chuck’s lawsuit was the first of it’s kind against the Boy Scouts of America ?over their anti-gay bigotry.

I’m dismayed when friends sign up their kids for Boy Scouts because then it means I have a decision to make: whether or not to share this story, dredging up the past, taking an overt and very unpopular stance and basically implying (perhaps unfairly) that if they had a shred of empathy then they’d make the same decision. ?I don’t like putting people in that position. Perhaps, in the future, I’ll just send people a link to this post and let that be the end of it.

Regardless, I’m certainly not on any mission to change the Boy Scouts of America; a bigoted organization with a shameful history. They can do what they want. However, if they use a public accommodation, like a high school or a park building or some other special deal or privileged arrangement, that’s not OK and the courts have agreed with me on that point. In all such cases involving favoritism in regards to a public accommodation, I think they should be banned in favor of non-bigots.

On the other hand, I have had friends who have been beaten, some killed, by gay bashers. Gay bashers are usually guys in their late teens or early twenties. These men do not learn hate from a book or a movie. They learn it from bigots, like the ones in charge of the Boy Scouts of America. They are taught that gay people are not “morally straight“, that we are against God, that we cannot be truly Christian, that we’re all going to Hell, that we all have AIDS, that we molest children, and all sorts of other horrible shit. They are taught these things from people who should know better – people like those in charge of the Boy Scouts of America. And then these kids go and kill my friends.

The Boy Scouts of America can go to hell.

Tim’s voting guide

By popular request, here’s my voting recommendations for those of you who haven’t already early voted.


San Francisco Bay Guardian Harvey Milk Democratic Club Democratic Party Tim Wayne
Prop 30 Yes Yes Yes Yes Prop 30
31 No No No 31
32 No, No, No No No No 32
33 No No No No 33
34 Yes, Yes, Yes Yes Yes YES 34
35 No No Yes No 35
36 Yes Yes Yes Yes 36
37 Yes Yes Yes Yes 37
38 Yes No No YES 38
39 Yes Yes Yes Yes 39
40 Yes Yes Yes Yes 40
A Yes Yes Yes Yes A
B Yes Yes Yes B
C Yes Yes Yes Yes C
D Yes Yes Yes D
E Yes Yes Yes Yes E
F No, No, No No No F
G Yes Yes Yes Yes G
District 5 Supervsor 1. Rizzo
2. Selby
(Julian Davis
endorsement withdrawn!)
Davis 1. Selby
2. Rizzo
District 5 Supervsor
State Legislative Offices Leno
State Legislative Offices