You cannot start a tweet with “D. Tusk”
twitter.com
twitter.com
A few years back you could tweet FOLLOW USERNAME and that username would follow you
And it seems that, when you're a congressman, posting a dick pic even briefly is enough to attract some attention.
[1] http://www.nationaljournal.com/how-weiner-fell-into-the-twit...
I tried all of the non-space non-alphanumeric characters on my keyboard. Some worked, most caused an error.
d` d~ d$ d% d^ d& d( d) d- d+ d[ d] d{ d} d| d; d' d" d, d< d. d> d/ d?
> SUGGEST, SUG, S, or WTF - this command returns a list of Twitter users we think you might find interesting and would like to follow.
I got the impression those were SMS commands only, but it would be interesting to learn they'd shut down some of the functions but not all.
Luckily, I bought a smartphone later and stopped being a libertarian.
That could certainly be interesting.
"first 160 characters... and then I calle"
"d joe_blow to tell him about the secret company merger"
I'm in IL typing this from a 2G mobile network. It's painfully slow, the data connection goes in and out. Loading my Twitter app is a feat of patience.
SMS works fine though, and getting and sending messages via 40404 is easy. If this is how you're used to using Twitter, why shouldn't you be able to interact this way on the web?
Twitter doesn't have multipart SMS reassembly? Twitter advertises that the size limit for direct messages is now 10,000 characters.[1] But apparently you can only send big from their app, or when advertising ("sponsored tweets"), not from SMS.
Multipart SMS reassembly isn't all that hard; every smartphone does it. Messages are split into 153 byte fragments with a binary header, with a max of 255 fragments. At Twitter's scale message parts may come in to different front end machines, which means having to reassemble fragments across multiple processes/machines. Most SMS gateways don't reassemble fragments on inbound because of that scaling problem, but Nexmo and Twilio will pass through the fragment numbers so you can do it. (This is a new Twilio feature in beta. Ask Twilio to turn it on if you need it.) Outbound, SMS gateways almost always handle multipart. Have to be able to send big ads in bulk, after all.
Given that, I'd rather say "this feature will fail in this way" than "sometimes, depending on your phone and carrier, your long SMSs may be split into multiple parts, the second of which will posted as a public message".
Some phones have had trouble with reassembly. There's an old Android bug which manifests as a new incoming message being reassembled with parts of an old one, sometimes an old one from months ago.[2][3] That indicates a broken reassembly implementation. It's easy to see how that can happen. The "unique ID" on multipart messages is only 8 bits (16 bits with an alternate header format). That number is generated by the calling phone. Unmatched fragments should be discarded (or delivered as an error) after a few minutes. Android keeps unmatched SMS fragments for the life of the phone, resulting in the occasional reuse of long-forgotten message fragments. Worse, when this happens, when the correct fragment comes in, it's saved as an orphan. So once there's been an orphaned fragment, 256 long messages after that, there will be another bogus reassembly using the old fragment, with the correct fragment being saved as a new orphan. Some users changed their phone number to get around this bug.
Google's reaction to years of bug reports on the problem was to close the bug report as "Obsolete" without fixing it.[3]
To work around this botch, there's an app: "SMS Multi-Part Cleaner". Really.
[1] https://en.wikipedia.org/wiki/Concatenated_SMS [2] https://code.google.com/p/android/issues/detail?id=17769 [3] https://code.google.com/p/android/issues/detail?id=28697
number != order.
As said, sms's are not guaranteed to be received in a particular order, nor is the order recoverable (because the clocks are not guaranteed right, etc, so even sorting by time, ...)
The semi-unique ID is normally only one byte, and so old unmatched fragments can match new messages. Android keeps old unmatched fragments in a database for the life of the phone, which is insane. (We drop them after 5 minutes in our system. A more conservative approach would be to wait until a successful message from the same phone, indicating communications have been reestablished, and a few minutes after that, purge old fragments from the same source.)
Every carrier tech i've talked to tells me the same thing - the order of messages is not guaranteed nor is it recoverable.
So while it's not that i don't believe you, it's that "in practice, it seems everyone thinks and does otherwise".
"This is sufficient for correct reassembly." Except, as you prove later, it isn't when the unique ids can match other messages :)
[1]: https://en.wikipedia.org/wiki/Whitespace_character#Unicode
I wonder what the 160 character equivalent of 2600 hz tone is?
Unless the higher harmonics (5200Hz, 7800Hz, etc) mess up the tone (no idea how strict the old 2600Hz hack used to be). In which case you need some characters that approximate a sine wave. Which isn't too hard, given that you don't care about DC bias and max amplitude.
String manipulation and 'eval' (which gives access to system APIs) is a common culprit