jarrodwhaley.com

I make films. I'm also a nerd.

Dropbox Doesn’t Care About Its Own Product

I’d noticed that many of the files in my Dropbox aren’t syncing lately–and with file sync being the central and defining feature of Dropbox’s service, I found the situation to be…suboptimal. That being the case, I filed a support ticket. Three days later, I received the following non-response from some Python script running on a cron schedule on some forgotten server:

Dropbox's idea of support.

It takes giant balls to respond to one of your users like this. Why would anybody want to give money to a company with this much disdain for the people it purports to serve? Combine this with a growing distrust of pretty much all online service providers, and I kind of have to start thinking about jumping ship–and telling everybody I know to do the same.

Oh, You Didn’t See That Facebook Post?

John Moltz on Facebook’s goofily incomplete “News Feed”:

When the algorithm gets in the way of showing you what’s happening now, if you have to wait until the next day or go below the fold to see what happened last night, how is your medium any better than a newspaper?

Facebook has really become a giant abortion of theology and geometry, and every day I’m amazed to see that users aren’t kicking it to the curb en masse. Something this bad–something this disdainful of its users–really can’t be awfully long for this world. People will always get tired of eating crap…eventually.

Google Executive Murdered By Prostitute on Yacht

NBC Bay Area:

A woman police describe as a high-end prostitute has been arrested on suspicion of murder after allegedly injecting heroin into a tech executive on his yacht in Santa Cruz and leaving him to die when he overdosed.

This is bizarre and sad. Silicon Valley does seem to be a new Hollywood.

A Flexible Random Number Generator on iOS

My girlfriend manages a retail store on the Web, which entails a lot of marketing via social media. She likes to run a weekly promotion on Facebook in which a prize is awarded to a randomly selected “liker”1. When she first conceived the idea, she didn’t really have a means of properly choosing a winner with any real amount of randomness2, so I thought I’d cook up a little Python script. I realized that something like this would be a handy little utility for my own purposes, and I also knew my girlfriend would be asking for random numbers with some degree of regularity. Those two conditions being the case, I decided I’d like to write something that could be easily fired from an iPhone or an iPad with minimal effort. The script below meets those requirements fairly well, I think.

more »

Facebook Caching Data Not Even Given to Them

Pierluigi Paganini of Security Affairs:

Facebook is analyzing thoughts the writing [sic] that users have intentionally chosen not to share.

The article claims that when a user begins to type something into the status update field and then changes her mind about sharing it (or in other words, censors herself), Facebook actually keeps that text and runs data analysis on it.

I don’t know if it’s fair to say that Facebook is “analyzing thoughts,” exactly, and I don’t think there’s any reason to think that any interaction with Facebook at all is in any way connected with anything even remotely related to privacy. My sense is that humanity as a whole seems eager to do away with the very notion of privacy, so who cares?

Android Flashlight App LoJacks Users

Alice Truong, Fast Company:

The Android app Brightest Flashlight has been installed between 50 million and 100 million times, averaging a 4.8 rating from more than 1 million reviews. Yet its customers might not be so happy to learn the app has been secretly recording and sharing their location and device ID information.

I’m willing to bet a non-negligible amount of money, actually, that the number of shits given among those who’ve installed this app is less than or equal to 0.01. These users will never even know that their movements are filling a creepy database, and they wouldn’t care a whit even if they did know.

QuickReminder v. 2.0

I’ve updated my QuickReminder script for Pythonista to version 2.0, and it comes with a couple of cool improvements. Now, when the script begins to run, you’ll be prompted via a native iOS alert to either schedule the reminder or cancel it entirely1. The script will also return you to Drafts2 once your reminder is successfully set.

I have a lot of ideas for further improvements, so stay tuned. If you’d like to grab it, check out the gist.


  1. I’ve found on many occasions while running the script that I’d say, “oops,” and need to kill the notification so I could reschedule it, etc. 
  2. Required under my implementation, but it ought to be fairly simple to launch it with Launch Center Pro, for example. 

Easy URL Encoding on iOS

Occasionally it’s necessary to encode some text on iOS for easy insertion into a URL. It’s annoying enough trying to type out all of that word%20word%20word%20word gobbledegook, and it’s particularly painful trying to do so on an iPhone, since you have to dig down to the third keyboard in order to get to the % character. I came up with a couple of easy solutions to the problem using Drafts, TextTool, and Editorial.

  • The first method is a Drafts URL action which will send the text of the current draft to TextTool, properly encode the text for use in a URL, and then send the text back to a blank entry in Drafts:
    texttool://x-callback-url/transform?text=[[draft]]&method=encode&x-success={{drafts://x-callback-url/create?text=[[output]]}}
    
  • The second method is a workflow for Editorial which uses a Python script to replace the selected text with a URL-encoded version of the selection. Just install that workflow and fire at will.


UPDATE, 4:21 PM: Over on ADN, Jeff Mueller posted a handy permutation of my Drafts action for Launch Center Pro:

texttool://x-callback-url/transform?text=[clipboard]&method=encode&x-success={{launchpro:}}

Thanks, Jeff!

Everything Is In The Tiniest Things

Think about what you are, for a minute. Think about what it means to be aware of the fact that you are everything that you are–while fully knowing that you are only a cloud of particles that are attracted to one another by electromagnetic bonds. You’re a boundless part of everything; every thing is part of one boundless, unknowable, breathtakingly beautiful Everything.

Get a List of the URL Schemes Supported on Your Mac

From a post on Macworld’s hint forums comes this very helpful tip: paste the entirety of the block below into a terminal window and get a full list of URL schemes on your machine, with each entry prepended by the app to which the handler is registered.

find /Applications /System/Library/CoreServices -not \( -name '*.lproj' -prune \) -name '*.app' |
while IFS= read app; do
    apps="${app//\//\\/}"
    plutil -convert xml1 -o - "$app"/Contents/Info.plist |
        sed -nEe '/<key>CFBundleURLSchemes<\/key>/,/<\/array>/ s/^.*<string>(.+)<\/string>/ \1:'" $apps/p"
done |
sort

Super handy.