RSS
 

Archive for November, 2008

Oh the Humanity (of Twitter)

11 Nov

Twitter creates a powerful opportunity: no matter who you are, or how big your business, you can put a human “face” on Twitter.

Comcast (@comcastcares), JetBlue (@jetblue), Biggby Coffee (@biggbybob) and Starbucks (@starbucks), even Britney Spears (sorry, I refuse to link that one) have all shown up on Twitter with very real, human exchanges.

I’m not sure, behind the scenes, whether there are several people or one incredibly busy person at each of these companies, but they’ve decided to drop the corporate suit and engage their followers. They aren’t using Twitter as a broadcasting medium, but as a networking and conversation tool.

They get it.

Here is one of my favorite examples:

threeofus: @Starbucks Who actually types the tweets for Starbucks?

Starbucks: @threeofus Hi, I’m Brad, I work in the online team. How are you?

So what’s the trick? What did Starbucks/Brad do right?

  • Use the First Person. “I,” “me,” “my,” all make your tweet feel more personal. No real surprise there. “We,” “us,” and “our” work, but not nearly as well. You sound like a spokesperson, instead of a person.
  • Own the Conversation. By introducing and naming himself, Brad is taking ownership of the interaction. Even if Starbucks has 10 people reading and responding to tweets, threeofus can feel like she’s talking to one person.
  • Engage. Read and respond to other users, especially @-replies. Read, retweet and share. If you’re only sending information one way, you aren’t part of the community. You can also use tools like Twitter search to find and respond to users talking about you or your company.
  • Show Emotion. “This is so cool,” “Wow, long day” or even just “:-)” are all things that a person would say, but a press release never would. You don’t need to wear your heart on every tweet, but let some of your feelings come out—at least the good ones.
  • Be Active. For most of us, Twitter is ambient information. You need to update regularly to get in to that stream.
  • Don’t “Always Be Closing.” Don’t make every tweet a pitch or a request. That doesn’t mean you can’t pitch: I link my blog posts on Twitter, my friend @alecrj mentions his shows. But if every tweet sounds like an advertisement, then you sum up to an infomercial.

Here’s a comparison: Lansing’s alternative paper recently started twittering at @CityPulse. Right now, the biggest words in their tweet cloud are their URL, “city,” “pulse,” “check,” “out,” “pick,” and “up.” Every tweet is trying to drive me to their website or pick up a copy of the paper. They’ve sent no @ messages, used the word “I” once, and have gone a week at a time without updating.

And despite following almost 300 people, they’ve only got 100 followers.

This is what confuses traditional marketing about Twitter: the community won’t listen to you until you listen to the community.

Of course, there are robots on Twitter, too, and some are very popular, like @nytimes and @BarackObama. They are broadcasters, not community members. They perform very specific roles and are backed by very unique content. They add enough value that they don’t need to engage the community.

And yet, if they did, they would be even more powerful.

So do you and your company get it?

 

Responsible SQL: How to Authenticate Users

09 Nov

Most SQL-injection articles set a horrible example for young programmers.

Here is a very typical “bad example” of why you need to escape user data before it goes into SQL queries:

(ed. The symbol « is a line break that’s not in the real code.)

  1. $username = $_POST[‘username’]; // username=admin
  2. $password = $_POST[‘password’]; // password=’ OR 1=1; — ‘
  3.  
  4. $user = $db->query("SELECT * FROM users WHERE «
  5.           username=’$username’ AND «
  6.           password=’$password’ LIMIT 1;");

The point, of course, is that you must sanitize your user input, or else this person would run this query:

  1. $user = $db->query("SELECT * FROM users WHERE «
  2.           username=’admin’ AND «
  3.           password = ” OR 1=1; — ‘ LIMIT 1;");

Which grants the sneaky user all your admin privileges. Other versions have nefarious users dropping your users or articles tables.

The problem is: this is the wrong way to authenticate users. These examples are written for beginners to understand the importance of sanitizing input, but they also provide a model to those beginners for how user authentication works. And it’s a very bad model.

This is a long one, more after the break. Read the rest of this entry »

 
Comments Off

Posted in Database, MySQL, PHP

 

Go Vote Today

04 Nov

Go vote.

If you don’t know where, lots of websites will help you, even Google Maps.

Don’t assume that the polls will come true even if you skip voting. Vote.

If you’re still undecided (have you been living on Mars, in a cave, under a rock, with your eyes closed and your ears covered for the past 2 years) or think the candidates are “the same,” I urge you to check out their websites: BarackObama.com and JohnMcCain.com and read about their positions.

I assure you, they are very different.

As David Sedaris said, it’s like being offered the chicken dinner or a plate of shit with broken glass in it, and asking how the chicken is cooked. No matter which side you’re on.

 
Comments Off

Posted in Uncategorized