Profile

Cover photo
Andrew Plotkin
Lived in Boston
581 followers|54,972 views
AboutPostsPhotosVideos

Stream

Andrew Plotkin

Shared publicly  - 
 
So, iTunes Store help time.

For years iTunes has been getting more and more confused about my TV season passes. First the "Check for available downloads" menu option stopped working. I had to go to the TV section of the store, find the newest episode, and hit "download".

Then a couple of shows (notably SHIELD, and let's not get into whether that's worth watching) completely fritzed their season-pass option. When I try it, I am only charged for past shows and the future shows are never added to my account. So I have to watch those shows a-la-carte.

Now it's gotten even shakier. When I go to the store, the new episodes (in shows that I have working passes to) are shown at $1.99. (I am logged into my account and have in fact just re-entered my password at the "show account" screen.) When I click on "buy this episode", iTunes says "whoa, you can download this for free!"

So these failures have never forced me to double-pay (although I can't get a season discount on SHIELD). But the hassle has been increasing over time. I fear double-paying is next.

iTunes behaves the same on different machines, so it's not a local preference corruption. Something is screwy with my iTunes Store account.

Is this something that an Apple Store appointment could fix? Do they know anything about this crap? Or should I try the "iTunes Support" link on Apple's site? Anyone run into similar problems?
1
1
Andrew Plotkin's profile photoDoug DeJulio's profile photoBob Igo's profile photo
5 comments
 
I only have two subsections there. Oh well.
Add a comment...

Andrew Plotkin

Shared publicly  - 
 
Starting in 2014, the Interactive Fiction competition will be run by +Jason McIntosh . +Stephen Granade is retiring with honors after... a lot of years of running it.

Congratulations, thanks, good wishes distributed as appropriate.

http://www.intfiction.org/forum/viewtopic.php?f=23&t=10988
6
2
Stephen Granade's profile photoAndrew Plotkin's profile photo
Add a comment...

Andrew Plotkin

Shared publicly  - 
 
Programming question! This one has been floating around in the back of my head for  a while.

Here's a Python 2 function which converts any unicode string into a valid Python 2 identifier:

    import unicodedata
    import re

    def sluggify(text):
        text = unicodedata.normalize('NFKD', text)   # Split off accent marks
        text = re.sub('[^a-zA-Z0-9_ ]+', ' ', text)  # Punctuation to spaces
        text = re.sub('  +', ' ', text)              # Remove redundant spaces
        text = text.strip()
        text = text.replace(' ', '_')
        if not text or re.match('^[0-9]', text):
            # Must not be empty or start with a digit
            text = '_' + text
        return text

Of course there are many functions that serve this purpose. I chose this one because the result looks like the original, as much as possible, to human readers. It removes spurious whitespace but leaves meaningful whitespace (as "_" characters). If the input already is a valid identifier, it's left unchanged.

    'foo' => 'foo'
    'Hello there' => 'Hello_there'
    'cöoperate' => 'co_operate'
    '"Hi," he said.' => 'Hi_he_said'
    'foo__bar_' => 'foo__bar_'

So here's the question: what's a good way to do this in Python 3? In Py3, identifiers are allowed to contain accented and non-Latin letters. 'cöoperate', 'αβγδε', and 'fflij' are valid identifiers. But not all Unicode symbols are fair game; '∞∞∞' and '①②③' are not valid.

As you might imagine, the Py3 rules for identifiers are baroque:

http://docs.python.org/3/reference/lexical_analysis.html#identifiers

I would like to do the above job in the brave new Py3 world.

Again, many possible algorithms fit the bill. I'm aiming for minimum damage (leave the string visually similar to the original) and maximum efficiency. (My Py2 solution uses only regexps and built-in string functions, all of which are implemented in native code in Python.) Evil hacks are encouraged, but stick to pure Python, please.
1
1
Andrew Plotkin's profile photoGraydon Saunders's profile photo
4 comments
 
I've been doing a lot of document-based XML stuff with XSLT, which does support character categories in regular expressions, and I've got so I can't imagine not having them.  Being able to say "punctuation, dash" and mean "I don't care what the author thought they meant, typographically, I mean a dash of whatever flavour" is just priceless.

So I hope the replacement library both works and is easy to install, because I suspect it'll be habit-forming.
Add a comment...

Andrew Plotkin

Shared publicly  - 
 
IF classic "Slouching Towards Bedlam" has been reimplemented and re-released for its ten-year anniversary. Inform 7 source code is now available.

http://peccable.com/if/slouching-10/index.html
7
3
Andrew Plotkin's profile photoVictor Gijsbers's profile photoBen Collins-Sussman's profile photoAsh Shevlyakov's profile photo
2 comments
 
My all-time favorite
Add a comment...

Andrew Plotkin

Shared publicly  - 
 
Ya know, I haven't promoted this on G+ for almost two years. Since I just got an update out, I say it's time...

http://zarfhome.com/meanwhile/

Meanwhile is Jason Shiga's brilliant choose-your-own-path graphic novel. A while back I worked with him to build an iPhone/iPad version. If you weren't aware of this thing, and you own such a device, then hey! You should buy a copy. Jason and I both like money.

Today's update is not, per se, exciting. The app now uses iOS7-style buttons in the popup windows. (If you happen to be on iOS7.)

I've also fixed some VoiceOver bugs -- the app behaved okay on iOS5, but 6 broke the voice support for obscure reasons that I still don't really understand. I've worked around the issue, though. Also, I made a change to the way VoiceOver presents choice panels, which should make certain story points flow more smoothly.

Nonetheless: new version, which is an excuse to write some tweets and G+ posts and stuff.
5
3
Andrew Plotkin's profile photoDoug DeJulio's profile photoDaniel Schwen's profile photoBob Igo's profile photo
4 comments
 
No, your thoughts betray you.

(This can go back and forth forever, I discovered back in the 90s.)
Add a comment...
Have him in circles
581 people
Bob Igo's profile photo
Dan Fabulich's profile photo

Andrew Plotkin

Discussion  - 
 
 
Starting in 2014, the Interactive Fiction competition will be run by +Jason McIntosh . +Stephen Granade is retiring with honors after... a lot of years of running it.

Congratulations, thanks, good wishes distributed as appropriate.

http://www.intfiction.org/forum/viewtopic.php?f=23&t=10988
2
Add a comment...
 
 
Programming question! This one has been floating around in the back of my head for  a while.

Here's a Python 2 function which converts any unicode string into a valid Python 2 identifier:

    import unicodedata
    import re

    def sluggify(text):
        text = unicodedata.normalize('NFKD', text)   # Split off accent marks
        text = re.sub('[^a-zA-Z0-9_ ]+', ' ', text)  # Punctuation to spaces
        text = re.sub('  +', ' ', text)              # Remove redundant spaces
        text = text.strip()
        text = text.replace(' ', '_')
        if not text or re.match('^[0-9]', text):
            # Must not be empty or start with a digit
            text = '_' + text
        return text

Of course there are many functions that serve this purpose. I chose this one because the result looks like the original, as much as possible, to human readers. It removes spurious whitespace but leaves meaningful whitespace (as "_" characters). If the input already is a valid identifier, it's left unchanged.

    'foo' => 'foo'
    'Hello there' => 'Hello_there'
    'cöoperate' => 'co_operate'
    '"Hi," he said.' => 'Hi_he_said'
    'foo__bar_' => 'foo__bar_'

So here's the question: what's a good way to do this in Python 3? In Py3, identifiers are allowed to contain accented and non-Latin letters. 'cöoperate', 'αβγδε', and 'fflij' are valid identifiers. But not all Unicode symbols are fair game; '∞∞∞' and '①②③' are not valid.

As you might imagine, the Py3 rules for identifiers are baroque:

http://docs.python.org/3/reference/lexical_analysis.html#identifiers

I would like to do the above job in the brave new Py3 world.

Again, many possible algorithms fit the bill. I'm aiming for minimum damage (leave the string visually similar to the original) and maximum efficiency. (My Py2 solution uses only regexps and built-in string functions, all of which are implemented in native code in Python.) Evil hacks are encouraged, but stick to pure Python, please.
2
Add a comment...
 
 
IF classic "Slouching Towards Bedlam" has been reimplemented and re-released for its ten-year anniversary. Inform 7 source code is now available.

http://peccable.com/if/slouching-10/index.html
5
Ricardo Malafaia's profile photoAndrew Plotkin's profile photo
4 comments
 
(Dunno why it changed.)
Add a comment...

Andrew Plotkin

Discussion  - 
 
 
New game! “Choice of the Deathless" by +Max Gladstone, now available for iOS, Android, and, via the Chrome Web Store, Windows, OS X, and Linux. Please reshare this with friends! The more downloads we get in the first week, the higher we'll rank in the App Store. 

Battle demons and undead attorneys, and win souls to pay back your student loans! At the elite demonic-law firm of Varkath Nebuchadnezzar Stone, you'll depose a fallen god, find romance, and maybe even make partner, if you don't lose your own soul first.

"Choice of the Deathless" is a necromantic legal thriller by Max Gladstone, Campbell Award-nominated author of Three Parts Dead and Two Serpents Rise. The game is entirely text-based--without graphics or sound effects--and powered by the vast, unstoppable power of your imagination. 

• Explore a fantasy realm with a rich and evolving backstory, based on the novels published by Tor Books. 
• Play as male or female, gay or straight, dead or alive (or both).
• Build your career on carefully reasoned contracts, or party all night with the skeletal partners at your firm.
• Navigate intrigue and mystery in a world of scheming magicians and devious monsters. 
• Look for love in at least some of the right places.
• Balance student loans, sleep, daily commute, rent payments, and demonic litigation—hey, nobody said being a wizard was always fun.
1
Add a comment...

Andrew Plotkin

Shared publicly  - 
 
Next irritable question: are there any decent third-party G+ clients for iOS? Assume that Google's app for this purpose is intolerable for me. (Too much picture, not enough text.)

I am using an old one called "iShare+" which is adequate, but has enough holes that I have to log into the web site every week or two. I'd rather use an app without holes, and skip the web site.

If (as is likely) none of you share my filthy app habits, I'd settle for a web page that reviews -- or just lists -- the top iOS G+ apps. I have found this damn-near-impossible to google for. Irony, thanks.
1
Andrew Plotkin's profile photoKen Gagne's profile photoGeorge Dorn's profile photoMichael Hannemann's profile photo
6 comments
 
Give somebody a UI design award.

Well, my third-party client has been crashing on startup for the past few days. This is a strong indication that I will be using G+ less. 

(It might get better soon. I suspect there's something in my stream which crashes it, which might scroll out of sight someday. Or not.)
Add a comment...
People
Have him in circles
581 people
Bob Igo's profile photo
Dan Fabulich's profile photo
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Previously
Boston
Story
Introduction
Hacker. IF guy.
Basic Information
Gender
Male