When I first used Twitter they had a simple "Notification" settings page with three checkboxes on it:
I chose not to receive any emails, so all three checkboxes were unchecked. They didn't send me anything. Those days were great. However over time their notification page changed. The first change wasn't a big deal. They added "Auto Nudge" and it was off by default:
In a more recent update to their notifications page Twitter went even further and split apart the email updates preference. While before there was only one preference, titled "I want the inside scoop -- please send me email updates!" now there was two.
It's unclear how the two preferences differed. After all, isn't a "product or service update" similar to an "update on a new Twitter product?" What's worse, Twitter chose to make the new preference default-on even if you previously asked not to receive email updates. The trend seems to be continuing:
As of last month Twitter added a third update type: "A weekly digest of Stories & Tweets from my Network." Of-course this update is also default-on. This behavior is a bit comical, but ultimately deceptive and borderline spam. At what point will this stop? Will Twitter create a new update preference every time they want to send me a new email? In 2020 exactly how many different types of "Updates" will I have had to unsubscribe from?
As someone who originally asked not to receive any email updates, this game of cat & mouse is leaving a bad taste in my mouth.
Hi, I'm Sam Odio. I'm a snowboarder, off-roader, developer and a life-hacker.
This bug has caught me a few times so I figure I'll share it. The default tests fail with errors like:
AssertionError: False is not True : Couldn't find 'Message 1' in response ... KeyError: 'user'
These two failures occurred when I added the authentication and messages middleware but not their template context processors. In settings.py I needed something like:
MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', ) TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', )
Hopefully this helps someone ... more
The first time I went through YCombinator, it was in a batch of 14 companies. The most recent batch 59 demoed (39 publicly). They've outgrown the YCombinator demo space and have moved to an auditorium in Mountain View's Computer History Museum - with a seating capacity of 380.
I was lucky enough to attend YCombinator's Alumni Demo Day last night (where the startups do a practice run-through of their pitches). Here's a quick summary of the public companies with my thoughts:
When I was 17 my brother asked me to build a touch-screen interface for a bus he had recently purchased. The screen was to serve as the dashboard, controlling the turn signals & headlights, starting the engine, opening the door, etc.
To complete this project I used a rabbit embedded microcontroller similar to the SBC BL4S200. You can get one for as little as $250 today. A budget computer connected to the touch screen via USB & VGA and communicated with the microcontroller via a serial port. I then reverse-engineered the relays on the bus to determine their function (ie, power the ... more
Filed under: home
Since moving off Blogger (here's why) and loosing all of my blog's comments my blog has fallen into a bit of disuse. Now that I'm freshly unemployed (at least, that's how my Dad calls it) I aim to change that.
- Create an open source lightweight django blog.
- Crowd-source a blog design using crowdspring.
- Realize that crowd-sourcing is a failure, convince Michael to donate his time and patience to fix it.
- Port all old blog posts to new platform.
- Port all comments (which have recently disappeared) to new platform.
- Make myself a Margarita and relax ... more