How to be a cult leader (the musical)


Viveca Ornstein is another great example. She was born in the backwoods of rural Arkansas to a drunken mother and enabling brother. At the age of three she realized she was meant to lead. By seven she was already bossing around her several siblings, nieces and nephews, and at twelve she had already earned enough Victory green stamps to purchase a push lawnmower. These achievements only fueled her ambitions. She was destined for greatness, or if not greatness, at least not simply mere goodness. Her official biography states that on her twenty first birthday she changed her name to Rama bin Lama and began her decade-long training in the Himalayas with the famed burglar and lousy chef, Kor-e-na-ghe-na-san. Like many others who had come before her, Viveca stumbled on her path. Ultimately it did not lead to glory but to an early death due to pneumonia contracted while cross-country skiing in Utah.


Six Word Poem

don’t say
fuck it


Sometimes a combination of words gets stuck in your head and you think these things somehow go together, along with a crude sticker you saw on the side of a motorcycle. This is how writing works.

Adhoc data analysis – book reviews and ratings from Goodreads offers a variety of public datasets, including one of Goodreads Book Reviews. I thought I’d take a quick and dirty look at this thing and see what I could see. I wrote a little program to gather the ratios of ratings to reviews. I’ve been curious about that, and overall the dataset seems to suggest that for every 33 ratings there is 1 written review. That was gleaned from an overall calculation, row by row.

Looking further into it I find that the dataset is not at all clean – the columns often don’t correspond so that a ratingsCount column might be a number or it might be ‘J.K. Rowling’. It needs a lot of work, which I’m a little too lazy to do this morning, so instead I went through again and ignored all the rows for which the rating was not in the 1-5 star range. This gave me some bad results as well.. The 4-star rating column totals seem worthless, but the others seem reasonably consistent and provided one possible insight:

ratingsCount: 1 592
ratingsCount: 2 2378
ratingsCount: 3 55836
ratingsCount: 4 52425090
ratingsCount: 5 11170

reviewsCount: 1 79
reviewsCount: 2 298
reviewsCount: 3 5540
reviewsCount: 4 1661702
reviewsCount: 5 1085

1 star ratio, ratings to reviews: 7
2 star ratio, ratings to reviews: 7
3 star ratio, ratings to reviews: 10
4 star ratio, ratings to reviews: 31
5 star ratio, ratings to reviews: 10

If this data is to be believed, it looks to me that the less someone likes a book, the more likely they are to say something about it (1 and 2 stars vs 3 and 5 stars). Negativity is more eager to express itself. I feel like this falls in line with the natural intuition, and crosses over to other areas in life, like social media, the news media in general, politics and so on.


dataset is here

python code:

from argparse import ArgumentParser
import csv
import pandas as pd

class GoodreadsAnalysis():
    def __init__(self):
        self.args = self.arguments()

    def arguments(self):
        argument parser
        :return: parsed args
        parser = ArgumentParser()
        parser.add_argument('--input_file', default="./goodreads_book_reviews.csv")
        return parser.parse_args()

    def parse_csv(self):
        columns = ['bookID','title','author','rating','ratingsCount','reviewsCount','reviewerName','reviewerRatings','review']
        df = pd.read_csv(self.args.input_file, names=columns, quoting=csv.QUOTE_NONE)
        print df.head()

        ratings_count = {}
        reviews_count = {}
        total_ratings = 0
        total_reviews = 0
        for index, row in df.iterrows():
                rating = int(row.rating)
                if rating > 0 and rating < 6:
                    if ratings_count.has_key(rating):
                        ratings_count[rating] += int(row.ratingsCount)
                        ratings_count[rating] = int(row.ratingsCount)

                    if reviews_count.has_key(rating):
                        reviews_count[rating] += int(row.reviewsCount)
                        reviews_count[rating] = int(row.reviewsCount)
            except:  # bad column

        for k, v in ratings_count.iteritems():
            print "ratingsCount: ", k, v
            total_ratings += v
        for k, v in reviews_count.iteritems():
            print "reviewsCount: ", k, v
            total_reviews += v
        print "totals (ratings, reviews):", total_ratings, total_reviews  # 3465722733 104000732  # 33:1

        for i in range(1,6):
            ratio = ratings_count[i] / reviews_count[i]
            print "{} star ratio, ratings to reviews: ".format(i), ratio

if __name__ == '__main__':
    g = GoodreadsAnalysis()


My ideal workspace consists of a comfortable chair, on a perch way up high, overlooking the bay and the hills far beyond, while assorted Russian co-workers jabber endlessly in the background. I have no idea what they’re saying, and I care even less. If I knew I am sure it would detract from the soundtrack. What can I say? It is what it is.

I was lucky again this morning, tucked away up there on the seventh floor of a building I had never been in before. I can work there anytime I want. All I have to do is go. And today, cold and windy as it was on the outside, inside there were Russians, and they were talking. Needless to say, I got a lot done.

Gorlock the Contented (the musical)

This is where we are, we can see the fields around us brown and dry, and we recall the prophecy:

“Thirteen brown and white rabbits shall pass before your eyes, and then the lighting will get dimmer”.
Already the tenth rabbit has made its way down the cold steel ramp, while the Onlookers peer out from  the massive ship’s portholes. We shudder in the cold of the dawn, all of us standing back,  frightened and bewildered. Some among us whisper, “where is he?” while others frown and say that he will never come. Isn’t he already safe and warm and bathing in the light of his own planet. Didn’t he already try and do his best? And how did we reward him aside from all that money and the coupons?

I can see the eleventh rabbit now, edging towards the outer flap. Our time is running out.
But wait. That rabbit isn’t brown, it isn’t white! That’s a black rabbit for sure.
The prophecy didn’t say anything about a black rabbit! Is there hope after all?

originally on Wattpad