Hacker News new | comments | ask | show | jobs | submit login
Is it true that you can't tweet "Get Better."? (stackexchange.com)
211 points by ivoflipse on May 23, 2012 | hide | past | web | favorite | 56 comments

It's most likely because "get [username]" is the Twitter SMS command to retrieve a list of tweets from [username]: https://support.twitter.com/articles/14020# I would wager a guess that you can't tweet "Fav Better" or "Stats Better" either.

Confirmed. And 'please get better' works fine.

That being said perhaps people should use g3t better :-).

It is an interesting case study on overloading a channel (in-band administration vs out-of-band) and damaging legitimate traffic. A fix would be to prefix the command keys with an introducer :get <username> or :fav <user> but given the bazillion clients and such doing that would be hard.

Most famous in-band admin hack has to be the +++ syntax for Hayes modems which flipped the mode bit into 'command' mode serial comms mode. It was even patented.

> Most famous in-band admin hack has to be the +++ syntax for Hayes modems which flipped the mode bit into 'command' mode serial comms mode.

Unlike this case the +++ hack did not really limit legitimate data you could send on Hayes. As far as I remember it had to be preceded and followed by pauses, so transmitting this comment wouldn't trigger it.

From what I recall (and this could very well be apocryphal), the pauses were what was patented. Non-Hayes modems still reacted to +++ but didn't need the pause. So if you could trick their software into sending "+++ATH;ATDT911" you would make them call 911.

I'd love confirmation or denial of that patent thing.

From the wikipedia page (so take it with a wikipedia sized grain of salt :-)

"Hayes had patented this concept in 1985 in patent #4,549,302, the Modem With Improved Escape Sequence With Guard Time Mechanism, generally referred to as the "Hayes '302 patent". Hayes licensed the guard time to other manufacturers for $1 a modem – a charge which competitors derisively termed the "modem tax". A number of manufacturers banded together and introduced the Time Independent Escape Sequence, or TIES, but it was not as robust as Heatherington's system and never became very successful."

Yes, the pauses were essential to the patent. As I recall they had to be a specific length and a couple of knock offs worked around the patent by making them slightly shorter.

"Get" is the 48th most commonly used word in US English. This seems like excusably poor engineering not to prefix commands with a character like $. Granted, I'm not a Twitter user so maybe there's a reason?

Forcing the typing a command character on a ten-digit phone pad might have caused enough friction to have put Twitter on a very different trajectory early on. Given how long Twitter has had this feature and how little issue it's caused, I would argue it was good product design.

Perhaps duplicating the first letter would have been a good idea. So 'gget', 'ffav' etc.

good design implies that there's some advantage to its use

? I can use a simple command to request tweets on my dumb phone. How is that not an advantage?

Is it not still simple with a single character prefix?

Depends on your userbase. Completely in band normal English command messages probably fits many users' mental model.

Being the 48th most commonly used word in US English is a little misleading in this case, though. Verbs such as "get", common as they are, are rarely used to begin a thought.

get smart

get bend

get cake and meet me

get lucky:

get me some abc

get this: These were ones that came to mind in 2 minutes.

get it?

edit: These lines give my comment a weird tone. Not intended, I just thought of random common examples.

The parameter count is enforced for each command. For GET, it needs exactly one parameter or it won't be treated as a command. So from your examples above, the longer lines would tweet fine.

I agree with treetrouble, however, this was a really bad engineering decision. They should have come up with a tweet prefix to mean "command", some symbol that would not ever start a real tweet.

Yeah, /get or :get would have been way better commands, and they have precedent in preexisting social media like IRC and MUDs.

They would be very inconvenient to type on the traditional cell phone though.

Well it doesn't have to be a symbol, just something that would not be likely to start a real tweet.

Just as an example let's say "q", followed by a space, followed by the command with the appropriate number of parameters, e.g., "q get username". That would allow otherwise-reasonable tweets that are currently being mis-interpreted ("get better" vs. "q get better").

That's just an example. There are other ways around the problem too without making things too inconvenient on a smartphone user. And sure it's possible someone somewhere will want to write a real tweet that says "q get better", but that's far far less likely than someone somewhere wanting to tweet "get better". And the point is that allowing a non-trivial portion of the tweet-space overlap with the command-space is a bad decision. A trivial overlap (like "q get better") would have been a much better decision.

I didn't think, but let Google surprise me with what it suggested when I typed "get ":

get directions

get him to the greek

get glue

get smart

get low lyrics

get off my internets

get rich slowly

get away today

get to know you questions

get fuzzy

"Get" in its present-tense for is very difficult to use to start a sentence. It sounds highly idiomatic ("wrong") not to precede it with either a subject ("I get six floppies for a dollar at the thrift store."), or to recede to the infinitive ("To get six floppies for a dollar is a very good deal."). Using a gerund makes it easier, but then you're not dealing with the plain "get" anymore.

Get real! ;)

I can just imagine promotional tweets gone wrong, e.g.:

"Get your tickets to Blind Guardian concert! Only 500 left!"

Fortunately, this wouldn't be a problem since there are more than two words

The second is definitely not a sentence, and the first is idiomatic with it's implied subject. :)

The second person imperative always implies the subject (at least since we stopped saying thee, and even then the subject and verb were inverted, as it remains in the first person plural imperative). The first sentence in the second example is a complete sentence; only the second is a fragment.

If you see an imperative "get" with an apparent subject, it's probably a topic rather than a subject:

"Paul, get your boots on and get going!"

You are speaking to Paul:

"Get your boots on and get going!"

You use the topic to designate or call attention; it's not the subject of the sentence.

get out, get in, get in shape, get laid, get up, get down, get http://example.com/file.zip

It really is poor engineering, any non-letter prefix would have been good enough.

Well there aren't many convenient choices on a phone. # is used in twitter, * is often used by the carrier. Might have been better to prefix with just "z".

Twitter existed before the hash-tag - that was a user created meme: http://support.twitter.com/articles/49309-what-are-hashtags-...

disabling the use of #get as a hashtag is still better than disabling its use as an english word

You're right that it wouldn't be the 48th most common word to begin a sentence. Still, it's not uncommon enough to warrant not prefixing it. This goes for "stats" as well...

> https://support.twitter.com/articles/14020#

When I saw that I thought, "Wait, there's actually a manual for this thing?". Of course there is, but I wonder how many people have actually read it. <1%?

If I don't have twitter SMS enabled, it shouldn't parse SMS commands. It should parse only when sent from the "txt" application (that's how twitter SMS is called)

Oh to be this guy: https://twitter.com/#!/better

It appears the obvious answer may be correct:

The reason that certain tweet content appears to do nothing is that Twitter is interpreting them as commands, according to this article:


The get command will send the latest tweet from the named user to your phone. I've tried some of the other commands listed in that article, and they don't post a tweet. They do, however, have the listed effect. For example, fav accountname does indeed mark the most recent tweet from accountname as a favourite.

It's perhaps useful to remember that'd accountname Some message here will send a direct message to accountname, even if entered in the public tweet box or via another client. This shows that they have a standard text to action parser that works on tweets as they are submitted.

So, to answer your question: No, it's not down to Jack Dorsey's father. It's purely because Twitter is interpreting it as a command. Sorry!

I find the explanation posted in the question more fascinating than the actual answer:

while in High School, Dorsey's father used to spur him to work harder with that exact sentence.

For me, this implies that the creator of Twitter hated his father's trademark phrase, and by extension his father's demands to work harder, so much that Dorsey would explicitly put a ban on the phrase to spite his father.

This follows humanity's tradition of creating myths to explain things we don't understand[0], but it's exciting to see the mystery phenomena revealed as something created entirely by man.

[0] https://en.wikipedia.org/wiki/Echo_(mythology)

Any tweet beginning with "get" yields the same result. It's being interpreted as an API command.

Seems likely to be related to the Twitter in-band signalling thing that caused the accept bug back in 2010.


It seems odd to me that they would have the same command filter on the web client as the SMS handler. What possible reason would you have for that?

Wouldn't it just be smart to have the web client bypass the command handler altogether?

Heaven forbid they make the mobile/SMS UX the same as the web client.

But keeping the same UX is harmful in this situation -- on SMS it's a common pattern to use text commands, but in the desktop context you'd never expect it (and the commands don't make sense).

I worked at Amazon and we found (to our surprise) that power users were using these commands from the build in Kindle tweeting functionality.

I think the number of power users using this feature is probably actually higher than the number of false positives of exactly 2 word tweets where the first is get

It makes sending a direct message a lot easier than wading through the web UX. It's great for power users

I didn't seem to have any trouble posting "get better":



Related: you can't create filenames in DOS reserved by devices.


Relatedly, there was an in-channel-command bug in Twitter in 2010 that would allow you to force anyone to follow you by tweeting "accept [username]". It was discovered accidentally by a fan of a band named "Accept" tweeting "accept pwnz": http://mashable.com/2010/05/10/twitocalypse-heavy-metal/

Little Bobby Tables strikes again, potentially?

I found this to be true with the term 'M$', specifically with the '$'. I didn't think that term was still a thing, and then I came across it in an email. I wanted to note my surprise on twitter, making a ridiculous comparison that I shall not repeat here, but the tweet would NOT go through. Change the '$' to 'S' and everything is cool.

SMS is probably the root of quite a few Twitter restrictions, not just this one.

For instance, the length of a tweet. I think it's 140 characters so they can fit it in an SMS message along with the username or command.

"..it's perhaps useful to remember that d accountname Some message here will send a direct message to accountname, even if entered in the public tweet box or via another client"

d, and and dm as well.

Also...when I try to tweet "; DROP TABLE;" it cleared all my friends tweets!

Hmm. If I (septerr) did RT septerr, will that start an infinite loop?

Wonder if they have a escape character in that text-action parser?

It seems to me like this could potentially be used as an exploit.

Whoa, I was not expecting a discussion about grammer. Damn I love HN.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact