Thirty-one ways to leave your lover

If you run any sort of text messaging service, you’ll have to process unsubscribe requests. The standard such messages is “STOP.”

To make things easier for customers, in addition to “stop”, I wrote code that also looked for “unsubscribe”, “quit”, “cancel”, “end”, “delete” and anything beginning with the word “fuck.” (Messages merely containing the word fuck often wanted something else entirely.)

Many folks are pretty…creative with their cease-and-desists messages, and manual review is required to make sure you catch all of them. Here are thirty-one such requests for your amusement:

  • Already did!!!! Stop harassing texts… This is invasion of privacy
  • Cancel
  • Da fuck?
  • Delete me off the record
  • Dont ever text message me again
  • Dont give a fuck!!!
  • Don’t ever text me you fuck
  • Don’t text me
  • Don’t text this number again.
  • Ech don’t text me
  • End
  • Fu
  • Fuk u
  • How can I get you to STOP sending me messages?
  • I know. Stop please.
  • I will now report this phone number as illegally spamming per the FCC
  • Leave me alone
  • Please remove my phone number.
  • Please stop texts
  • Pls stop sending me messages!!!!
  • Qui
  • Quit
  • Remove
  • Remove please
  • Shame on you! It’s illegal to solicit cell phone numbers
  • Shut up
  • Stoo
  • Take me off this list.
  • Yes I have now stop texting me
  • Yes I have, you can stop sending texts now
  • Yes STOP

Book publishers, infused with aggrieved privilege 

Clay Shirky’s essay on Amazon and the book industry is so full of great lines, it’s hard to pick just one.

The fact that any bookseller ever “runs out” of a book is now ridiculous. In the twenty-first century, not being able to correctly stock or distribute a product whose main ingredient is information suggests a degree of technical and managerial incompetence indistinguishable from active malice.

Bruce Schneier briefed congress on the NSA

I suggested that we hold this meeting in a SCIF, because they wanted me to talk about top secret documents that had not been made public. The problem is that I, as someone without a clearance, would not be allowed into the SCIF. So we had to have the meeting in a regular room.

This really was an extraordinary thing.

Bruce Schneier

Making Flickr badges work with https

Following Eric’s instructions, I switched paulschreiber.com to https.

I then had to get rid of the pesky mixed-content warnings. Most were pretty straightforward — I had a few JavaScript files and images that used absolute URLs and HTTP; I switched them to use HTTPS.

However, my flickr badge presented a problem. (It’s bothering some other people too.) While it was easy enough to swap out the <script> tag:

<script src="http://www.flickr.com/badge_code_v2.gne? count=5&display=latest&size=s&layout=h&source=user&user=37996608105%40N01" type="text/javascript"></script>

for the https version:

<script src="https://www.flickr.com/badge_code_v2.gne? count=5&display=latest&size=s&layout=h&source=user&user=37996608105%40N01" type="text/javascript"></script>

that wasn’t enough. It only changes the thumbnails, not the tracking pixel, which still points at:

<img src="http://geo.yahoo.com/p?s=792600102&t=67f50b8889e85d80a3ed5894813da604&fl_ev=0&lang=en&intl=us" width="0" height="0" alt="" />

Fortunately, geo.yahoo.com responds to HTTPS requests. I wrote a thin wrapper around this, replacing the call to flickr.com with a call to a local file:

<script src="/wp-content/themes/paul2/flickrbadge.php? count=5&amp;display=latest&amp;size=s&amp;layout=h&amp;source=user&amp;user=3799 6608105%40N01" type="text/javascript"></script>

flickrbadge.php is a tiny script:

<?php print str_replace("http://geo.yahoo.com", "https://geo.yahoo.com", file_get_contents("https://www.flickr.com/badge_code_v2.gne?" . $_SERVER["QUERY_STRING"])); ?>

Doing creative work

“Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. It’s gonna take awhile. It’s normal to take awhile. You’ve just gotta fight your way through.”
― Ira Glass

How to take your bike on Amtrak

After biking to DC, I needed a way to get my bike back to New York. There were a few options:

  • Ship it (FedEx Ground would be best)
  • Take it with me on a bus
  • Take it with me on a train
  • Have someone drive it back

Since I was already taking the train myself, I figured that’d be the easiest and most inexpensive way to do so. I was right about the latter, but not about the former.

While Amtrak attempts to explain its bicycle rules, they fail miserably.

Q: I have a bike. I’m taking a train. Can the bike with me?
A: Sometimes.

There are four different situations you might be in:

  1. You cannot take the bike on the train with you
  2. You can take the bike on board the train with you
  3. You can take the bike on board the train with you as checked baggage
  4. You can take the train, and the bike will go as checked baggage on a different train

Bikes on board (walk the bike the train with you)

You can do this on several of Amtrak’s line: Amtrak Cascades, Capitol Corridor, San Joaquin, Pacific Surfliner, Downstate Illinois Services, Blue Water (trains 364 and 365 only), Missouri River Runner, Downeaster
(BRK, POR and BON stations only) and Piedmont.

For those of you (like me) unfamiliar with Amtrak’s naming scheme, here’s a decoder ring:

  • Cascades is the Pacific Northwest (Oregon, Washington)
  • Capitol Corridor takes you from the San Francisco Bay area to the Sacaramento area (California)
  • San Joaquin runs through California’s Central Valley
  • Pacific Surfliner takes you from Los Angeles to San Diego (California)
  • Downstate Illinois takes you from Chicago to other parts of Illinois
  • Blue Water is code for “around Michigan”
  • Missouri River Runner takes you St. Louis to Kansas City
  • Downeaster runs from Boston to Portland, Maine
  • Piedmont means Raleigh-to-Charlotte

Bikes as checked baggage (bike in a box)

In order for you to to check your bike as baggage, both the arrival and departure stations must offer checked baggage service. Unfortunately, Amtrak doesn’t provide this list in a useful format. There’s a list of stations and a search tool. Ugh. How inconvenient.

I put together a script to collect this data from the Amtrak site.

Amtrak stations with checked baggage service are: ABQ, ADE, ALB, ALX, ALY, ANA, ATL, AUS, BAL, BED, BEL, BFD, BHM, BNL, BOS, BUF, CBS, CDL, CHI, CHM, CHS, CHW, CIN, CLB, CLE, CLT, CRB, CSW, CTL, CVS, CYN, DAL, DAV, DEN, DFB, DLD, DNC, EDM, ELP, EMY, EUG, EVR, FAR, FAY, FLG, FLO, FNO, FTL, FTW, FUL, GFK, GFV, GJT, GRO, GRV, GSC, HAS, HAV, HCH, HKL, HMD, HNF, HOL, HOS, HUN, IND, JAN, JAX, KCY, KFS, KGG, KIS, LAJ, LAK, LAX, LKL, LMY, LNK, LRK, LSE, LVW, LYH, MCD, MEI, MEM, MIA, MKE, MOD, MOT, MRC, MSP, MTZ, NHV, NOL, NWK, NYP, OKJ, OKL, OMA, ORL, OSD, OXN, PDX, PGH, PHL, PRC, PSC, PTB, PVD, RGH, RMT, RNO, ROC, RVR, SAC, SAN, SAS, SAV, SBA, SBG, SBY, SDY, SEA, SFC, SJC, SKN, SLC, SLM, SLO, SNA, SNS, SOB, SPG, SPI, SPK, SQA, STL, STP, SYR, TAC, TCL, TOL, TPA, TUS, TWO, TXA, UCA, VAC, VAN, VNC, WAS, WFH, WIL, WIN, WLN, WOR, WPB, WPK, WTH and WTN.

Just because there’s checked baggage between your departure and arrival stations doesn’t mean you get to take the bike on board with you. Not all trains have a baggage car. If your train doesn’t have a baggage car, your checked baggage will be placed on the next train that does, and you can come back to your arrival Amtrak station to retrieve your bike.

As an example, the only WAS-NYP train with a baggage car is the 10pm train.

If returning to your arrival station to pick up your bike is too inconvenient, you can always show up at your departure station the day before, check your bike, and collect it when you arrive.

Actually checking the bike

You can’t just hand the bike over to the baggage clerk as-is—the bike must be in a bike box. Amtrak will sell you one for $15. Most bike shops will give you one for free, as they throw them out.

Once you have the bike and the bike box, you need to pack it up. There are many YouTube videos demonstrating how to do this. Typically, you’ll need a pedal wrench and a set of allen keys. If you have bolt-on skewers, bring along a 15mm wrench.

After the bike is boxed up, bring it to the Amtrak ticket counter. The clerk will take your contact information, charge you $10, and hand you a receipt and a claim check. Next, tape the necessary paperwork to the box (Amtrak should loan you tape) and write your name and phone number on the box with a sharpie (just in case).

Finally, walk around the corner to the spot where you drop off checked baggage, and hand your boxed bike to the clerk.