Unhealthy Obsession with TweetBots

I seem to have developed an unhealthy obsession with TweetBots.

That probably makes me sound like a bit of a nerd, and…well, yes. That’s accurate.

A TweetBot, for those of you have not yet met their acquaintance, is a human-impersonator that retweets postings made by real humans…and perhaps by other TweetBots that are impersonating humans in order to confuse the the human-impersonating TweetBots.

Still following?

My current obsession is not so much with run-of-the-mill TweetBots, but with the glorious possibility of an army of Counter-Tweet-Bots.

These Counter-Tweet-Bots would tweet random, embarrassing messages such as “This would only be retweeted by the lowliest forms of Artificial Intelligence. #startup #javascript #honeybooboo #other_popular_hashtags.”

Which brings me to a side-rant: How is there not a HoneyBooBoo TweetBot?! I thought our culture was obsessed with stupidity! This is not the America I know and love! Get it together, people.

</end side-rant>

<resume original rant>

So, as I was saying, I have a vision of an army of Counter-Tweet-Bots, and I’m sure that there are some programmers out there that are smart enough to cure #Ebola, but more inclined to produce Counter-Tweet-Bots, and I’m pretty sure I could rally their support.

Only one thing is stopping me:


Don’t ask me why, but I am convinced this action would lead to global annihilation. I’m not sure how. It’s just a gut feeling. Kind of like, “Splitting the atom is going to be totally bad-ass, but something just feels wrong about this.”

Now I’m in this situation where I have to decide: Should I enable the TweetBot blockers that can control my addiction, or should I risk total annihilation?

The thing is, I have this really good idea for a first Counter-Tweet-Bot tweet, and what harm could it really do? It’s just one counter-tweet. Surely no one would be compelled to clone my open-source software and make more.

(sigh) I should have been an alcoholic.

Code Brain


I’ve noticed that the more time I spend coding, the more I suffer from “Code Brain”. I’m pretty sure I just made that term up, so I’d better attach a definition:

Code Brain (noun): Pronunciation: cohd behr-ayhn The tendency to relate completely-non-technical events with coding, leaving your family and friends thinking you’re an alien.

I just spent several minutes staring at an email, wondering why “100%” looked wrong, because ‘Doesn’t the % sign come first?” But that’s not Code Brain, that’s just Haml-induced retardation.

Code Brain is when I have a great day and think, “I need to commit, in case this goes downhill. Oh, crap. Life doesn’t have version control.”

Code Brain is also when I stare at my child thinking, “Oh my God, we’re stuck in a “Why” loop. Control-C! Control-C! Control-C!”

Or, when I shake my fist at the guy who just cut me off, and scream: “Validates presence of brain, a**####!”

Not that any of these things have happened….I’m not an alien or anything. (hides_probe_behind_back)

Help Choose the Next “National Whatever Day”

Sometimes I wonder how “National Whatever Days” get started.

Does somebody just tweet, “Tomorrow is National Fist-Bump a Ginger Day!” and next thing you know, you’re walking down the street with your red-headed step-child, when a stranger crouches down in front of him and yells, “Fist Bump!”

Three passers-by think, “Oh, I heard about this. Fist Bump a Ginger Day. I trust the internet.”

Within 5 minutes, there’s a Flash-mob of strangers surrounding you, Channel 2 Action News shows up with a satellite van, the story gets picked up in China because for some reason THAT’s not censored, and a bunch of Chinese teenagers dye their hair red in the school bathroom and practice pronouncing “Fist Bump” in a Southern-American accent.

Within 10 minutes, 5 out of 6 continents are on board (and yes, we’re counting Eurasia as one continent because nooooobody wanted to invite Germany, so we needed some extra data points to get a fair average.)

And the guy who tweeted it in the first place doesn’t even remember because actually it wasn’t him, it was his girlfriend’s bratty kid who thought it would be funny to hack the new guy’s Twitter account and post something stupid, and the kid has a brief feeling of dejavu a year later when he sees a fist-bump-a-ginger mob scene, but he can’t quite remember why it feels so familiar.

And that, logically, is the way National Whatever Days get started.

So, I was thinking, why don’t we go ahead and create our own National Whatever Day?

Here are a couple of other ideas:

  • National “Grudgingly Buy Gifts for Distant Acquaintances” Day: (Like Christmas, but without the pretense of meaning.)
  • National “Narrate a Stranger’s Life” Day: (Pop out from behind an office plant, whisper, “Our hero emerges from his cubicle unscathed.” Disappear. Find new hiding place. Repeat.)
  • National “BE The People of Walmart” Day: (Self-explanatory.)

I’ve put up a poll and I will be deleting my cookies to vote multiple times for my favorite, so I suggest you do the same.

Got a good one? Leave a comment and I might add it to my poll.

Yak Shaving, or “How I Spent my Weekend”

My goals for the weekend were to get through the Codeschool Jquery course and add a new feature to our team project.

I was about half-way through the course and getting incredibly restless. One of the videos was taking a long time to load (long time = 3 milliseconds), so I thought, “I’ll just pop over to Twitter for a second while that loads.”


I just don’t understand why anyone would write a language with this many parenthesis.

Within about a half a millisecond, an account I’d never seen before, @JSDigest, retweeted me. It was scary how fast it happened. I was like, “What?! Were you just looking at my profile, waiting for me to click submit?”

Then I popped over to @JSDigest’s page, and saw that everything was just a retweet with #javascript. So I thought, “Okay, that makes sense. It’s a Tweet Bot.”

“Hmmmm…..I should probably test it just to be sure.”

Testing to see if JavaScript Digest is a robot that retweets everything with the hashtag

So I waited a whole 5 milliseconds, and it didn’t retweet me. I thought, “What?! Wait…what if it’s not a Tweet Bot? Let me test that.”

I tweeted something with #javascript, and again it didn’t retweet me. Then it retweeted something in Arabic!!!

What the hell, TweetBot?

@ passed my Turing test, but I’m still convinced it’s a clever Tweet-bot. It just retweeted Arabic.

And it retweeted me!

This makes no sense. I’d better run the test suite again.

Tweeted again, and again it immediately retweeted me.

Okay, that makes sense. It is a TweetBot. It was probably just down for maintenance when I ran the first test.

Convinced I’d correctly identified it as a TweetBot, I tweeted one more time:

Yes! retweeted my comment. If it’s human, it’s a very sarcastic human. I like you, TweetBot.

And it followed me!

What?!! How does it know to follow me?

Okay, keep calm. It’s probably just counting the number of tweets with @js_digest. 3 tweets = follow. Got it. My world makes sense again.

But wait….what if it is a sarcastic human?

New development: followed me. This thing’s got some complex logic!  

 Immediate retweet.

Okay, this is getting weird. I’ve got to design a better Turing test. Somebody has to have written a TweetBot Turing test that can distinguish between TweetBots and sarcastic humans. I should Google that.

I pop over to the other Google Chrome tab and see the CodeSchool course staring at me reproachfully.

Yeah, I’ve been here for about a half hour. I was wondering when you’d stop running Turing tests and come back.

I thought, “Man, I really need to do something productive. I don’t think I can concentrate on Codeschool right now. Maybe I’ll try to work on the team project.”

I worked for a few minutes, and then I had to google “has_and_belongs_to_many”. That led me to the docs, which led me to some more docs, which led me to an article, which led me to a blog post, which led me to another blog post.

That last blog post mentioned “yak shaving”, so I googled that:


Coined by Carlin Vieri in his time at the MIT AI Lab (1993-8)[1] after viewing[2] a 1991 episode of The Ren and Stimpy Show featuring “Yak Shaving Day,” a Christmas-like Holiday where participants hang diapers instead of stockings, stuff rubber boots with cole slaw, and watch for the shaven yak to float by in his enchanted canoe.


yak shaving

(idiomatic) Any apparently useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem.

“I was doing a bit of yak shaving this morning, and it looks like it might have paid off.”

I was tempted to correct the article (the holiday is actually “Yaksmas”), but I refrained, thinking “I really should get back to that CodeSchool video.”

Or….I could write a blog post about this.

Geek Speak: Total Immersion

My Geek Fluency is improving. Most days, I totally parse what my classmates are saying.


Here are a couple of the Geek Cultural references that I learned this week:

1) Has The Large Hadron Collider Destroyed The World Yet?


2) “I Attack the Darkness”

That’s what I call quality education.

(I learned some code stuff too.)


And here’s a third thing I learned:

3) Having an Android phone makes me the Nerd of the Geek World

Learned this one when I innocently asked a group of guys in the common room: “Does anyone have a charger for an  Android phone?”

Answer: (scoff) “We’re tech people. We all use iPhones. (scoff, giggle, scoff).

Alrightly then. My Android smart phone cost me $20 to buy and $35 a month for service. It does almost everything your iPhone does, minus scoring me Geek Street Cred. Go ahead and scoff. I’ll giggle when you pull up your bank accounts.

Attr_accessor In Its Natural Habitat

And here we see the elusive Attr_accessor in it’s natural habitat, just above the initialize method.   

class Card
attr_accessor :rank, :suit

def initialize(rank, suit)
@rank, @suit = rank, suit


Watch how gracefully it executes a reader and writer method in a single line, making the following code unnecessary:

def  rank                              #reader method



def  rank=rank                     #writer method

@rank =rank


She truly is a beautiful beast.