Jason H. Davis

Icon

This is me.

Gmail deletes user accounts: user testing run amok

I wanted to talk about this for a moment because the language Google uses to handle this minor crisis is very good, but the root cause is the very thing that Google prides itself on. Testing.

So what caused this problem? We released a storage software update that introduced the unexpected bug, which caused 0.02% of Gmail users to temporarily lose access to their email. When we discovered the problem, we immediately stopped the deployment of the new software and reverted to the old version.

source: Gmail Blog

150,000 users woke up to an empty inbox because they were part of a testing sample. This is routine for large production sites – they continually roll new features out to testing audiences. If Facebook has a new feature, they’ll put it in front of a test audience. As it is, I believe the storage (gmail offline) feature is an opt-in labs option.

It’s great that Google has a backup plan for a catastrophic data collapse. Hopefully they also have backups for the backup of their multiple location redundant data distribution network.

Obviously, Google does not mention anything about user testing or being more careful with its user tests. They are, however, very sorry. This is not to rail against user testing, it is much better that only 0.02% of the population was exposed to this malignant code.

Remember your backups. Only expose beta users to potentially dangerous code. Hey, they signed up for it.

Setup Mac web development, Apache server, mysql, php

Just a quick note. I had spent about 2 hours getting MySQL and maybe an hour getting Apache going inside of OS X. Afterwords, I couldn’t get MySQL to work again.

Today, I installed MAMP (Mac, Apache, MySQL and PHP).

It was up and running in 10 minutes, so I had time to write this blog post.

Gmail Artificial Intellegence

Gmail (Google) will be rolling out ‘Priority Inbox‘ sorting in the coming weeks to help users determine which emails are most important and should be answered first.

[youtube]http://www.youtube.com/watch?v=5nt3gE9dGHQ&feature=player_embedded[/youtube]

This service works based on emails that a user reads and replies to most often. Priority Inbox learns a user’s preferences and delivers their interests. It is part of a coming wave of intelligent machines. Google, for example, has started scanning books, not necessarily to be read by people, but by machines to create a more knowledgeable machine.

This is happening now, and I believe there is an inherit flaw in the way prediction software is thought about. Although, I am no expert. It comes down to the idea that calibrating results based on preference may induce an echo chamber effect, helping lead to a more insular society.

That is to say, the algorithm seems to be based on what the user believes is important, but what if the user’s preference is wrong? Not in a ‘their ideas are wrong,’ but maybe in the sense that a person can never know what they truly need. Or, maybe they never realized a sphere of knowledge existed (very common in our diversity of people) . For example, my father has recently been talking about block time management and being a ‘slave to email.’ It is interesting to think about if these personalized algorithms will reinforce bad habits and behavior or serve as a gentle nudge in the other direction.

Netflix, for example, has been holding a competition to improve its recommendations for movies (source). While the algorithm is designed to give an oddball every now and then, we see that this methodology could quickly become an echo chamber. It’s nice to have a computer’s help, but you have to wonder at what point the machine is thinking for you.

I believe it comes down to the principle that a machine is only as good as its operator.

In other news: Starting in January, I will be starting a business based on my existing freelance career. I will probably do something different with this site, although it is on the back burner at the moment. Technical walk troughs have been the most popular, so one of my goals is to increase the coverage of that here.

Simple Django Setup on Mac OS X

I’ve been getting into some JQuery lately and will be posting some slideshow code I’ve built. First, though – learning Python and Django has been something new to play with for the past few days. I ran into a problem getting Django to work with a database. The rest was pretty straight-forward, so if you’re looking to get Python updated and Django installed, check out this article: Install Django Official Release

MySQL vs SQLite3

I first tried MySQL because I am fairly familiar with it and it is pretty ubiquitous, but while MySQL appears simple to install at first, I ran into a few crazy errors:

  • ERROR 1133 (42000): Can’t find any matching row in the user table
  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
  • error: command ‘gcc-4.2′ failed with exit status 1

The first was solved by connecting to MySQL as ‘root’@'localhost’ – ok, great.

The second appears that for some reason Python in OS X does not include the module for MySQL. – Uhhh, well, there was this resource to install it.

Finally, I had gcc (a C compiler) installed with XCode, it was version 4.2.1, but my only explanation was it wasn’t working because it was the 64bit version and I have a 32bit Macbook.

Ok, ok ok. That’s 4 hours down the drain.

Let’s try SQLite3: This article was helpful for this part.

  1. Open Terminal and see that SQLite3 comes installed
  2. $ sqlite3
  3. If yes, then (why did we mess with MySQL?)
  4. .exit (that’s dot exit to quit back to terminal)
  5. cd /your/django/project/ (or near it)
  6. $ sqlite3 mydatabase.db; (don’t forget the semi-colon)
  7. .databases (to verify creation and path)
  8. In your project’s settings.py, use ‘django.db.backends.sqlite3′ and ‘/your/django/project/mydatabase.db’
  9. Run python manage.py syncdb
  10. Success!

If you found this helpful, please visit a sponsor and get me some of that google money. Also, check out this book for learning Django – I’m using it now and can recommend it: Sams Teach Yourself Django in 24 Hours.