Rationalist horoscopes: A low-hanging utility generator.

The other day, I had an idea. It occurred to me that daily horoscopes - the traditional kind - might not be as useless as they seem at first glance: They usually give, or at least hint at, suggestions for specific things to do on a given day, which can be a useful cue, allowing the user to put less effort into finding something useful to do with their time. They can also act as a reminder of important concepts, rather like spaced repetition, and have the possibility of serendipitously giving the perfect advice in a situation where the user would otherwise not have thought to apply a particular concept.

This seems like something that many people here would find useful, if they weren't so vague, and if they were better calibrated to make useful suggestions. So, after getting some feedback, and with the help of PeerInfinity (who did most of the coding and is currently hosting the program), I put together a tool to provide us with a daily 'horoscope', chosen from a list provided by us and weighted toward advice that has been reported to work. The horoscopes are displayed here, with an RSS feed available here. Lists of the horoscopes in the program's database can be found here, with various sorting options.

One of the features of this program is that the chance of a given horoscope being displayed are affected by how well it has worked in the past. Every day, there is an option to vote on the previous day's horoscope, rating it as 'harmful', 'useless', 'sort of useful', 'useful', or 'awesome'. The 'harmful' and 'useless' options give the horoscope -15 and -1 points respectively, while the other three give it 1, 3, or 10 points. If a horoscope's score becomes negative, it is removed from the pool of active horoscopes; otherwise, its chance of being chosen is based on the average value of the votes it has received compared to the other horoscopes, disregarding recently-used ones.

There is still a need for good horoscopes to be added to the database. Horoscopes should offer a specific suggestion for something to do that will take less than an hour of sustained effort (all-day mindfulness-type exercises or 'be on the lookout for X' are fine) and that can be accomplished on the same day that the horoscope is read. Horoscopes should not make actual predictions, but may make prediction-like statements that are likely to be true on any given day, like "you will talk to a friend today". Horoscopes can be submitted here, or left in the comments. EDIT: Any comment anywhere on the site that contains the phrase "Horoscope version:" or "Horoscope:" should now automatically be emailed to me, so feel free to horoscope-ify new posts in their comments, unless this comes to be considered spam.

78 comments, sorted by
magical algorithm
Highlighting new comments since Today at 11:20 PM
Select new highlight date
Moderation Guidelinesexpand_more

The code for this project can be downloaded here

The code is written in PHP, and uses a MySQL database. A cron job is set up to post each day's horoscope to the Tumblr account.

This is completely free software, so you're welcome to do whatever you like with it.

Contributions and feedback are appreciated.

Update:

A git repository for this project is online now at https://github.com/PeerInfinity/Weighted-Horoscopes

Why not put it on github (or similar service)?

I still haven't bothered to set up a github account. But if someone else wants to put it oh github, they're welcome to.

Today is a good day for sharing. Take a moment to overcome trivial obstacles which may be preventing you from sharing useful endeavors, insights, or wisdom with those around you. Alternatively, offer something useful to a friend, or give something away.

I'll admit that after I first read that comment, I was about to make this mistake:

"When faced with a choice between doing a task and attempting to prove that it's unnecessary, most people immediately begin on the latter."

(I'm probably misremembering that quote. I tried googling but didn't find the original quote, and I don't remember where it's from.)

So a more appropriate course of action would be for me to at least check how much effort would be required to set up a github account. And so I did. I discovered that it was more complex than I expected, but I started to set up a github account and the project repository anyway. After about an hour of setting stuff up, I got to the step where I need to choose the project name. Another hour later, I still hadn't thought of an obviously correct choice for the project name. "Rationalist Horoscopes" wouldn't be an appropriate name for the project, because there's nothing especially rationalist about it without the database of good horoscopes, except the scoring system. There is already another project on github titled "horoscope". Other names I considered were "Scored Horoscopes", "Rated Horoscopes", or "Weighted Horoscopes", but none of these seemed clearly better than the others. I have lots of trouble making decisions like this, and github doesn't let you change the project name after it has been created. And so I decided to post a comment here asking if anyone can think of a better name, or if any of the names I thought of so far sounds better than the others.

Th inconvenience of posting this to github ended up being a lot less trivial than I expected.

Fortune cookies used to be deeply cool, because they made predictions. Then at some point, they turned into Advice Cookies, complete with a back telling you to learn Chinese. At that point, they became far less interesting, including both in and except in bed.

I think in general the phrasing/attitude is off on these horoscopes. "Today is an excellent time to start a new project" is superior to "Start a new project today, and spend two hours on it." Yes, the second is more actionable, but may not be possible or wise, which makes the user feel bad and damages their link to the horoscopes. The first encourages something new, but without imposing a burden and leaving the person with full agency.

This seems to be a matter of personal preference - I also had a request to make the horoscopes more concrete, in the discussion area.

I have added a few more vague horoscopes to the database, in the last group, so if there's a clear preference for one style or the other it should show up in the voting. This also might be worth running another instance of the program for, with a separate database.

I think it would be useful to be able to rate a horoscope "confusing." This wouldn't be a numerical rating that got averaged in, but a separate tally. Then now and then you could look at what is most frequently rated "confusing" and see if it's an issue of jargon or if it's just too vague. They need to be vague enough to apply to a broad scale of people but not so vague that they stop applying.

For example, today I rated yesterday's horoscope as "not useful" because I spent the entire day trying to figure out what it meant, how I could apply it to my life and interactions with the universe and never came up with an answer. (It was "Are you asking the right things?" which I guess isn't the right thing to ask me. I wasn't really sure what 'things' meant in this context, or 'asking' or 'right' but I don't think it's a jargon problem.

Most questions I ask myself are ones that I go on to find answers to. The most recent one was "Hungarian used to have a lot more grammatical tenses than it currently does. I've seen them enough in old texts that I have a vague sense for their meaning but I wonder how they were differentiated from each other." so I googled and bookmarked a few pages and if I read through it a few more times I should be able to communicate effectively the next time I travel to 16th century Hungary, for all the good it'll do me. Most of my questions are of this type: how does x work? what is y like? and then i do research and find out.

One question that puzzled me for weeks was "how can I get the cat to stop pooing on the chair?" The answer ended up being "by putting some paper trash in a corner for the cat to poo on instead." (Keeping the litter box clean was my first hypothesis, but the cat disproved it.)

I think it would be useful to be able to rate a horoscope "confusing." Then now and then you could look at what is most frequently rated "confusing" and see if it's an issue of jargon or if it's just too vague.

This might be worth implementing. Even if it is an issue of jargon or some other situation where explaining the idea within the horoscope would take too long, it's possible to include links to external resources in the horoscopes, so external explanations can be written and linked to.

For example, today I rated yesterday's horoscope as "not useful" because I spent the entire day trying to figure out what it meant ... It was "Are you asking the right things?" which I guess isn't the right thing to ask me.

The assumption there is that most people ask questions and pursue answers to them as part of trying to reach larger goals, and that it's common for people to skip steps in figuring out what strategies to pursue, often without noticing that they've done so. For example, in your cat situation, if you'd unintentionally assumed that it had to be a litterbox cleanliness issue, and only asked 'how often do I have to clean the litterbox to get the cat to use it', you might have missed the less traditional but easier solution altogether. In that case, being reminded to back up and ask whether 'how often do I need to clean the litterbox' was a good question would hopefully be useful. (I should probably re-word that one anyway to mention goals, though.)

I think using hyperlinks in some of the horoscopes would be useful.

Thanks for explanation about the one I didn't understand. You're right that I could've easily missed it. I did originally assume it was a litterbox cleanliness problem, but I very early on I noticed that I'd clean the litter box, and then within an hour, the cat would go in it, pee, bury it, hop onto the chair, and poo right in front of me. I've been reinforcing "not on the chair" with a fan pointed at the chair. The cat hates the fan, but apparently there are too many other places she's willing to poo if the chair is too windy. So she went on the floor, and then I cleaned it and put some trash down on the spot she'd went on, and now at least we've got the trash solution. Maybe she just doesn't like the location the litter box. I could try moving it.

I think "Are you asking the right questions to accomplish your goals?" would be a suitable rewording.

The following horoscopes have been added. There are now 33 horoscopes in the database, with 1 scored below 0; horoscopes can repeat at most once every 16 days.

  • Today, before you ask for someone's opinion, consider the answers that they might give. What kind of answer would you consider useful? If their answer is not the one you want to hear, what will you do?

  • When you notice yourself procrastinating about something, figure out the first step, count down from 10, and then do it.

  • Today, before making changes to something, make sure you understand why that thing is in the state it's in. Just because something appears wrong or sub-optimal doesn't mean it is.

  • Today, give moment-by-moment attention to something you usually do.

  • The precedents that you set for yourself may be the most important factor determining your behavior. Make a point of setting a good precedent or repairing a bad one today.

  • Today is a good day for sharing. Take a moment to overcome trivial obstacles which may be preventing you from sharing useful endeavors, insights, or wisdom with those around you. Alternatively, offer something useful to a friend, or give something away.

  • Project your voice and speak loudly.

  • Smile!

  • Keep eye contact with everyone you talk to today. If you find your gaze wandering, force yourself to focus on the person you’re talking with.

  • It is a good idea to change your passwords once in a while, even if they are secure and well crafted passwords. Take the time today to change your passwords on many accounts both online and on your computer.

  • Today is a good day to finish up a project you’ve been working on that is almost done.

For the past 2 days the horoscopes have been repeating. With only 33 choices it's bound to happen, but it does seem a bit often.

Also, my english is letting me down. Does "repeat once every 16 days" mean "no more than one instance in any 16 day period" or "no more than 2"?

"Repeat at most once every 16 days" means they can repeat twice in 17 days (once on day 1, no more for the rest of the 16 days, and again on day 17), but don't have to. And in this case, they mostly shouldn't be repeating every 17 days. I'm not sure if we're seeing a bug in the horoscope-choosing code or it's just that the unused ones aren't being given enough of the probability mass, but if it's been three days in a row I suspect the former. I'll look into it.

ETA: There's at least a bug, since horoscope 8 came up twice with about a week between instances. Hopefully Peer will have time to take a look at it tomorrow, and while we're poking at the code anyway I'll have him change the default functional score of the unused ones to 3 rather than 1. There may still be another couple days of repeats while we iron things out, though.

This suggests an exercise in mathematics and programming:

Given a set of N objects, generate an indefinitely long sequence of random members of the set, such that:

  1. No object is drawn more than once in any consecutive P drawings, for a given P <= N.
  2. Every object is drawn at least once in every consecutive Q drawings, for a given Q >= N.
  3. The probability distribution of the next drawing, given only knowledge of the last P-1 drawings, is uniform over the remaining N-P+1 objects.

I think 2 and 3 are mutually exclusive - 3 is a pretty strict specification of how an item is chosen, and doesn't lend itself to making 2 guaranteed to happen at all.

(3) only says what you know about the next one, given the last P-1. The actual algorithm can know the entire previous history. So if object X has just been passed over Q-1 times, it must be chosen next by (2), but that doesn't violate (3), because that information isn't available from the last P-1 drawings.

ETA: A simple algorithm that I think works is this:

1. Generate the first P-1 items at random, all distinct.
At each subsequent step:
2. If there is an item that has not appeared in the last Q-1 drawings, choose it.
3. Otherwise, choose uniformly from among those that have not appeared in the last P-1 drawings.

This isn't the only possible algorithm. Instead of a uniform distribution in part (3), one might weight it towards those that were last chosen longer ago, with (2) being a special case of that.

I couldn't resist programming it. I have a MATLAB function randchoiceseq(N,P,Q,K), where N, P, and Q are as above and K is the length of sequence to generate. If it would be useful for the horoscope site, I can send a copy. Result of randchoiceseq(33,16,40,100):

   8  16  19  18   5   2  15  33  28   1  25  24  26  31  32  10   4  27  20   7
   3  16  23   6  33  17  22  13  21  12  14  30   9  19  29   8  11   2   5  18
  15  28  25   4  24  26   1  10  32  31  27   3  20   7  16  33  23  19  17   6
  13   8  22  21  12  14  30  29   9  25  15   5   2  11  18  28  26  24  32   4
  27   1  20  10   3  31  33  23   7  16  17  19  13  29   6   8  14  24  22  21

"Project your voice and speak loudly," is not rationalist advice, unless your goal is to be loud. If your goal is to be heard and maybe listened to, I suggest advice that matches those goals, where volume and projection are tools rather than the goal.

So, um, in the interest of providing a constructive replacement rather than solely offering criticism, Horoscope: Speak effectively. Start with speaking so you can be heard clearly by your audience, whether it is one person or a group.

"Smile!" is a bold and simple exhortation, but I think it is worth one crucial adjective. Horoscope: Smile sincerely.

Don't try to change something unless you've paid attention to it first.

This is a piece of advice I figured out that I need because I have a bad case of free-floating perfectionism-- a standard comes into my consciousness, and I'll immediately try to make things "better" (the things are frequently my state of mind) without any further consideration.

I suspect that the lack of respect implied by this habit contributes to depression and akrasia.


Give moment-by-moment attention to something you usually do.


Is there a chance that something you're doing to make things better is actually making them worse?

The first and last of these are a little short on actual 'do this today' implementation advice, so I'm trying to re-word them. The first one looks good as "Today, before making changes to something, make sure you understand why that thing is in the state it's in. Just because something appears wrong or sub-optimal doesn't mean it is.", but then it's not clear how the last one is different enough to get a separate entry. Perhaps you could clarify that a bit?

The first also implies that something could be wrong, but your first idea about what needs to be changed might not be accurate.

The first one is about a specific discovery I made as a result of following the second.

Now that you mention it, the third is a somewhat different angle on the first-- I didn't realize how closely linked the three are. The first one is about my finding out a very specific bad approach I've been using.

The third isn't as specific about the problem, but acknowledges that even actions which jam problems into place are well-intended. It was actually a revelation that a mistake I'd made was an effort to improve my life instead of generic evidence about how fucked up I was.

At this point, I'm curious about whatever people might want to say about problems which aren't related to perfectionism.

Project Premortem. Imagine your project has failed in the worst possible way. What does that look like? How did it happen? What can you do now to prevent that from happening?

I found it amusing to pretend this was to be applied to the horoscope project, not a submission to it.

Any ideas?

I'm imagining new submissions decline in quality and the old ones become less relevant over time. At the same time, more and more people believe that these horoscopes are able to predict the future, and a diabolical conspiracy begins using them as a mind-control device.

So my scraper catches this:

Horoscope: Do a project premortem: Imagine your project has failed in the worst possible way. What does that look like? How did it happen? What can you do now to prevent that from happening?

In the interests of removing trivial inconveniences, I'm in the process of setting up a system that will forward any comment containing either "Horoscope version:" or "Horoscope:" to my email. Hopefully this will encourage others to horoscope-ify new posts as they're made. The same system will also pick up any posts that have either of those two phrases before the jump.

(This is not actually a good way of drawing my attention to things, since these emails are shunted to a folder that I'll only look at when I'm ready to update the database.)

Thanks for doing this Adelene.

I've found similar sorts of positive affirmations helpful in my life. I think of them as a way of counteracting negative environmental messages (media, self-talk) with positive ones.

This site has quite a few tips for general improvement: http://theenergyproject.com/tips Some of them might be suitable for inclusion.

Horoscope-ifying posts sounds like a bite-sized writing practice. I can help with that.

Evelyn

If a horoscope's score becomes negative, it is removed from the pool of active horoscopes; otherwise, its chance of being chosen is based on the average value of the votes it has received compared to the other horoscopes, disregarding recently-used ones.

Why not use a Bayesian method, like the one described here.

EDIT: I misremembered; this is not actually a Bayesian method.

That's not a Bayesian method -- it's a frequentist shrinkage method. That said, it's a good one to use for this purpose.

Sorry, I read the page a while ago and linked it without rereading.

Is that compatible with the idea of having multiple 'strengths' of upvotes and downvotes? I'm not following the math well at all, but it seems not to be, and having things that are rated harmful disappear quickly and automatically seems important.

Rereading the article, I'm not sure whether the method is actually Bayesian. If it is, you could do that by saying that the probability of a 'harmful' rating is very low if the horoscope is not actually harmful.

So we'd track 'chance that it's harmful', 'chance that it's not useful', etc. separately, and combine those probabilities somehow to get the score that's used to determine the horoscope's chance of being picked?

Sounds convoluted, but I could see that working.

Essentially. It wouldn't be that complicated. You'd use a multinomial distribution for your conditional probabilities and the factors of usefulness and harmfulness should combine linearly if your utilities sum over people.

There's a reasonable chance that what you just said will be parseable to Peer, but it goes over my head.

Alternately, some non-us person could do the relevant coding, since it is open-source.

I think I've figured this out. I still can't implement it, since I don't write PHP, but I'm going to drop it here anyway, to get a sanity check and in case seeing it written out will be useful for anyone else. (Hint, hint.)

Edit: On further examination, I think my conclusion is wrong... or rather, the first set of numbers I got was right, and just not useful for this purpose.

I started with a set of sample data: A horoscope with 2 votes for 'not useful' and 3 votes each for 'sort-of useful' and 'useful', totaling 8 votes.

I then used the wolfram alpha Wilson score interval calculator to get a pair of numbers for each of the 5 vote types, given 95% confidence:

  • 'Harmful' and 'awesome' have a lower bound of 0 and an upper bound of .324

  • 'Not useful' has a lower bound of .071 and an upper bound of .590

  • 'Sort of useful' and 'useful' have a lower bound of .137 and an upper bound of .694

I messed around with using those numbers directly to get weighted scores for the horoscopes, but they didn't work very well that way, so I adjusted each set to add up to 100%. For example, on the lower bound set, 'not useful' has (0.071)/(0.071+0.137+0.137)=0.206 of the adjusted votes. Multiplying these adjusted numbers by the weighting that I gave in the original post (-15, -1, +1, +3, +10) gave what look to me like sane numbers: My sample data got an adjusted lower bound score of 1.382 and an adjusted upper bound score of 0.216. (The adjusted upper bound score is low because 'harmful' votes are weighted more strongly than 'awesome' votes, and the upper bounds for those are closer to the upper bounds of the other types of votes - in other words, the 'upper bound' vote is more pessimistic because of how things are weighted.)

I could easily have done something wrong, there, but assuming not and assuming that it's easy to code a Wilson score interval calculator, this should be simple enough to add to the code once someone gets to it. (Peer appears to have become busy with something else.) The decision on whether to use upper or lower bounds seems to depend on how we want newer horoscopes to act in comparison to older ones, and I think using the lower bound (optimistic) one makes sense - I think new horoscopes should ideally be given a few opportunities to prove themselves at a higher rate of visibility before settling into their accurate place in the hierarchy, rather than having to claw their way up from enforced obscurity.


Numbers:

actual votes

0 harmful
2 useless
3 s/o useful
3 useful
0 awesome

score 1.25

-

lower bound 95% confidence

0.000 harmful    (*-15 = -0.000)
0.071 useless    (*-1 = -0.071)
0.137 s/o useful (*1 = 0.137)
0.137 useful     (*3 = 0.411)
0.000 awesome    (*10 = 0.000)

score (total weighted score divided by sum of Wilson numbers): 0.48475

-

upper bound 95% confidence

0.324 harmful    (*-15 = -4.860)
0.590 useless    (*-1 = -0.590)
0.694 s/o useful (*1 = 0.694)
0.694 useful     (*3 = 2.082)
0.324 awesome    (*10 = 3.240)

score: 0.2155

-

adjusted lower bound of 95% confidence (keep wilson numbers proportional to each other but make 'em total 1.0)

0.000 harmful    (*-15 = -0.000)
0.206 useless    (*-1 = -0.206)
0.397 s/o useful (*1 = 0.397)
0.397 useful     (*3 = 1.191)
0.000 awesome    (*10 = 0.000)

score: 1.382

-

adjusted upper bound 95% confidence

0.123 harmful    (*-15 = -1.845)
0.225 useless    (*-1 = -0.225)
0.264 s/o useful (*1 = 0.264)
0.264 useful     (*3 = 0.792)
0.123 awesome    (*10 = 1.230)

score: 0.216

I just realized that I didn't mention this in a direct reply to you so I should mention now that this method was not actually Bayesian. It seems to work well enough for whatever sites use it but if you want I could do a Bayesian analysis of the data similar to the one you did.

I don't really care whether a given method of Baysean or frequentist so long as it works in context. But it looks to me like the point of any predictive method is to give a higher score to something with more votes, and I don't think that makes sense here - there's a risk of ending up in a situation where a few dozen horoscopes (based on how often the horoscopes are allowed to repeat; out of hopefully at least a few hundred) have many more votes than the others, because they happened to be at the top of the heap at one point and started getting picked more often by the RNG, which got them more votes, which widened the gap in how often they were chosen, which got them even more votes....

To ensure churn, fix a lower bound on the probability that a horoscope will be picked, at least until it has been picked enough times to accurately rank it against horoscopes that have been picked more often.

That would work, but it's not obvious to me how to implement it.

Thinking aloud:

The probability of a given horoscope being picked is currently based on the percentage of the sum of the active horoscopes' scores represented by its score. In other words, if we have 5 active horoscopes, and two have scores of 1 and three have scores of 1.5, the sum is 6.5, the two lower-scored horoscopes have a 1/6.5=15.4% chance of being picked, and the three higher-scored horoscopes have a 1.5/6.5=23.0% chance of being picked. But, the script never actually calculates those percentages - it sums the scores, picks a random number in that range, and considers the horoscopes in ID order until the sum of the scores of the considered horoscopes is greater than the random number, at which point it uses the last considered horoscope. (It helps to think in terms of a line, with the different horoscopes taking up different areas along it with their length depending on score, and the random number being a point along the line.)

It could calculate the percentages, but then I'd have to figure out how to have it take weight away from high-percentage horoscopes in a sane way to give it to low-percentage horoscopes, and that sounds hard given just that information.

It could say that a given horoscope's functional score is the greater of its actual score or some function of the number of votes it has, or the average of those two values. Even assuming that I can come up with a sane function, though, neither of those seem to work too well - using the greater of the two interferes with having negatively-scored horoscopes, and an average seems like it'll add unwanted noise to the scores of highly-voted horoscopes, unless the function takes the score and/or votes into account in such a way as to approach the value of the score as more votes come in.

Perhaps the Wilson scores can use different confidence levels for different horoscopes, with the confidence level being a function of the number of votes?

Hmm... here's the scheme I'd use. I'd partition the horoscopes into two classes based on the widths of the Wilson confidence intervals at some specific confidence level. Horoscopes with intervals wider than some threshold are classed as poorly-characterized; otherwise, well-characterized. To select a horoscope, first select a class with probability proportional to the size of the class, e.g., if 20% of horoscopes are currently well-characterized, select the well-characterized horoscopes with probability 20%. If the chosen class is the well-characterized horoscopes, use score-weighted random selection within that class; otherwise, select uniformly at random among the poorly-characterized horoscopes.

Or, more simply, use weighted scores for everything but count the horoscopes with the fewest votes twice?

Maybe consider a horoscope 'new' if it has less than 10% as many votes as the most-voted-on horoscope, double the scores of new horoscopes, and calculate normally from there? I have a sneaking suspicion that that will lead to a situation where some horoscopes have enough votes to not be 'new' anymore but too low of a score to compete with the others, and wind up stuck - but it may be self-correcting if we check to see if each horoscope is 'new' every day, so that when the highest-scoring one comes up to earn votes, any horoscopes that are stuck in the doldrums get a temporary boost. It may also help to apply the 'new' status to horoscopes that have 10% of the votes of the 30th most popular horoscope, 30 being a relevant number because it's the number of days that a horoscope is considered 'recently used' if there are more than 60 horoscopes, and thus the fastest one can see a repeat.

Or, maybe have things with <10% as many votes as the relevant high-scorer get their score doubled, and things with 10-20% as many votes as the relevant high-scorer get a smaller bonus? That sounds like it will work... though, after testing, I'm not actually sure it's necessary. This may be an artifact of the dummy data I used, though - I'll poke at it more in a bit.

Sanity check data:

HighVote=100
HighHarmful=3
HighUseless=17
HighSOUseful=35
HighUseful=40
HighAwesome=5

Lower-bound adjusted numbers, 95% confidence

AdjHarmful=0.010 -15 = -0.15
AdjUseless=0.109
-1 = -0.109
AdjSOUseful=0.264
AdjUseful=0.309 3 = 0.927
AdjAwesome=0.022
10 = 0.22
Total adj. votes=0.714
Total points=1.152

HighScore=1.613

Test1Votes=10
Test1Score=0.24 (arbitrary, based on old test data given roughly-similar voting profile)
Test1AdjustedScore=0.48 (about 30% the chance of High - not bad)

Test2Votes=15
T2Harmful=1, adjusted=0.012, weighted=-0.18
T2Useless=2, adjusted=0.037, weighted=-0.037
T2SOUseful=5, adjusted=0.152, weighted=0.152
T2Useful=6, adjusted=0.198, weighted=0.594
T2Awesome=1, adjusted=0.012, weighted=0.12

vote total:0.411
weighted total:0.649
base score: 1.579 (probably doesn't need adjusting, actually)

The reason why I suggest looking at the width of the Wilson confidence interval instead of looking directly at the number of votes is because the width of the confidence interval is a direct measure of the information we have about a horoscope. It's hard to reason about what is likely to happen when addressing amount of votes; what we really care about is the precision with which horoscope quality is known. In particular, learning the quality of extreme horoscopes (either good or bad) takes fewer votes than learning about 50 percenters, a fact which will be reflected in the width of the confidence interval.

That does make sense. It doesn't help that each horoscope has 5 intervals, though. Maybe look at the narrowest one for each horoscope?

What happened to this? It seems like the Tumblr is defunct?

Hello everyone, I am an artist working in the UK and I'm currently working on a project that involves the creation of a 'newspaper of the future'. To make it more realistic, we're having a back section with crossword puzzles, cartoon strips and horoscope. I came across your blog when searching for alternative horoscope generators, and not being a big fan of the traditional one, I was wondering if you would allow me to use some of your actually useful horoscopes in my project. Please let me know if I can provide you with any additional information. All the best

If a horoscope's score becomes negative, it is removed from the pool of active horoscopes; otherwise, its chance of being chosen is based on the average value of the votes it has received compared to the other horoscopes, disregarding recently-used ones.

Wouldn't this system doom a horoscope if the first person to ever get it didn't see anything valuable in it, even if other people would have found it more beneficial?

The functional solution to this issue at the moment is having several people see the horoscope on the same day - if three people are watching the feed, and one votes 'unhelpful' and the other two vote 'sort of helpful', the horoscope stays in the active pool, even if the 'unhelpful' vote comes in first. It does give whoever votes on a horoscope the first time it comes up an unusual amount of influence, but hopefully it'll be balanced enough for horoscopes to stick around long enough for a few rounds of voting.

Maybe horoscopes should start at more than zero points when first created, or should never be removed if they have fewer than a certain quorum of votes.

"When you notice yourself procrastinating, you will be able to muster the courage to do what you're trying to avoid."

When I actually realize that I am procrastinating, I often can, by this pure insight, get myself to doing that task. To me, it serves as a mind-hack, similar to "The Game".

How about: When you notice yourself procrastinating about something, figure out the first step, count down from 10, and then do it.

I wasn't aware of that. Neat. And it's a better horoscope than mine.

you are lucky in that regard. I have no similar power.

There may be some critical step I am missing that would make it that easy? I have insufficient wisdom to tell.

I utterly lacked that power. Then someone said to me, "I used to have kleptomania, but then I talked to a therapist, and they told me that I'm only stealing things compulsively in order to prove to myself that there's something wrong with me. After I realized that, I stopped." I thought about that for a while, and decided that maybe the only reason I'm acting akratic is that I want to prove to myself that I do experience akrasia.

And now... well, I don't actually know if that has fixed the problem, or not. I haven't tried to use the method TrE mentions enough times to know how well it works. Send me a message in, oh, a week, and I'll get back to you.

I don't know. Probably, it just works for me. It's a five-second-skill.

  1. notice procrastination
  2. think "I shouldn't be procrastinating, it doesn't help"
  3. convince myself to doing the task I ought to do
  4. do it.

I'd say the third step is crucial.

Awesome! Well done for putting this idea into action.

Thanks for creating this new service! I'll definitely check it out. Another service in this space that I'd also recommend is SmartUp.

They offer productivity/effectiveness/motivational tips designed to match what you're most likely to need given what time of day it is!

It's not perfect yet, but it's good and has been getting better the past few months. Also, I met the founder last year and was impressed with his overall vision.

I think making it depend to the birthday is also rational. Otherwise there is more possibility of some sort of resource congestion if horoscope compels every user (rather than 1/12th of the users) to do same thing. This is not a big concern in the Internet with few thousands users spread all over the world - but imagine a small village, where there's just 1 horoscope, and it tells everyone to think about failure modes of their plans - they are all farmers, they all think what they're gonna do if crops fail, they all try to buy same equipment at same day.

one idea is to have 12 separate tumblr accounts, one for each zodiac sign, then the users subscribe to the tumblr account for their own zodiac sign.

I don't think there's any good reason to depend on birthday or actually follow the zodiac; it would be simpler to just have a few horoscopes for each day and show them randomly.

Actually, one interesting variation on this theme would be a website which keeps a database of all of the rationalist horoscopes, lets people get accounts and rate individual horoscopes by usefulness, and uses that information to predict which other ones that user would find the most useful. That would be a lot more helpful than going randomly or by birthday.

The basic idea can definitely be implemented in more sophisticated ways, though I'm not sure how quickly one would hit the point of diminishing returns.

At this point I think there's a clear advantage to having everyone using the same database; more feedback in the same place means we'll more quickly figure out how good the horoscopes are, so that the horoscope-choosing script is better calibrated and we have the data we need to know what kind of horoscopes we need to write more of.

The code as written does allow for several tumblrs to draw from and report to the same database, so if there's an advantage to having different people see different horoscopes even though each group has the same probability of seeing any given one, that can be implemented easily enough, but I'm not sure that's the case.

I hope that there will eventually be patterns of some people getting more benefit from some horoscopes than others, so that some information will fall out about mental habits and personalities.

12 groups is good, but why not let people sort themselves into groups of similar personalities & needs, so their votes will be more relevant to others in the group.

If dividing by 12 would mean too few votes per group, make them overlap. So if your sign was (for example) Slytherins for Sunshine, your votes would affect 3 Slytherin signs & 4 Sunny signs (double for the combination), but not the other 6.

Awesome! One suggestion: consider a different background or theme. I find that black on brown combination hard to read.

I've changed the theme to one I knew was very customizable in terms of colors, and given it a rough approximation of LW's color palette. It should be significantly more readable now, but I'm still open to changing it if there are any other issues or suggestions.

General suggestion: light text should go on dark backgrounds and vice versa. When I see difficult-to-read text in PowerPoint presentations that my classmates give, it's almost always because they didn't do this.

Huge text, like the "Actually Useful Horoscopes" title, doesn't have to follow this rule, but it doesn't hurt, either. Try making the title lighter and the background darker, or vice versa.

I changed the title to use the lighter green that's used for some of the backgrounds.

I may, in the long run, wind up replacing the title text with a graphic.

Qualification: Whether a given color is "light" or "dark" for these purposes depends on the display medium (monitor (including brightness), projector, paper, ...), and the text size and viewing distance.

How about making it possible to leave comments on the horoscopes? Probably with making optional to have them easily accessible, so they aren't too great a temptation to kill time?

If you were starting over from scratch, what choice would you make? Sometimes we weight things we can't change too much, and need to give ourselves permission to look at the situation with a fresh start.

Awesome idea! It just so happens that I've been thinking about daily goals - for example, "Strike up a conversation with a random person", or "Remember to project your voice and speak loudly", or even something as simple as "Smile!".

The interface for horoscope submission is somewhat awkward - if I want to submit multiple horoscopes, I have to re-type my name/email address each time.

That is inconvenient. Unfortunately, it's part of tumblr, rather than anything I can actually change.

You can certainly submit more than one horoscope at the same time, though. Just leave a line between them or something so it's clear they're meant to be different things.