Archive for the 'appengine' Category
Building a personal favicon collection, or Running 16×16 locally, or an AppEngine Tutorial
Sunday, May 18th, 2008The favicoop (my site running 16×16) has completely exceeded my expectations. With only ~75 add-on users, we are quickly approaching 10,000 hashably unique favicons in the collection. I think this is the largest favicon collection on the internet.
While this project has a lot to do with collecting favicons, I was mainly motivated to build it to learn about various technologies. It’s built with many Google services (AppEngine, code hosting, groups, hosted apps, analytics, etc). I’m pretty sure it is the only tool on AppEngine app that integrates with a Firefox add-on — even serving add-on updates. It is a great tool if you want to learn about AppEngine, Firefox add-on integration, and all the free Google services. To top things off, it can all be ran locally with the AppEngine SDK — so you can learn about these tools too!
With that, if you’re interested in collecting favicons you browse AND learning about how to run an AppEngine app — continue reading!
Step 0: Background
I assume you know how to install things on your computer, including add-ons, handle a few basic shell commands, and use SVN.
Step 1: Download stuff
You will need to grab three things, the Google AppEngine SDK, the 16×16 sources, and the packaged add-on. To grab the SDK, visit http://code.google.com/p/googleappengine/. Note: it requires python2.5. On OSX 10.4, I had to install that manually.
After you download/install the SDK, grab my sources from here:
svn checkout http://16x16.googlecode.com/svn/trunk/ 16x16-read-only
Last, you need to install the add-on. Do this by dragging this link to the URL bar (Firefox 3 only).
If you did all that, you should have everything you need to get started.
Step 2: Local environment tweaks
You will need to do some house-keeping to get things working on localhost. First, lets update the add-on upload-uri pref. This will cause the add-on to send your favicons to localhost. Hit about:config and modify the extensions.favicon.upload-uri pref. The pref should be changed to:
http://localhost:8080/send/
Next, cd into the app/ directory (of the svn repo) and copy the settings.py.dist to settings.py.
cd app/
cp settings.py.dist settings.py
Now we need to modify the app slightly to display images off of localhost — and not the production favicoop. In templates/index.html, find the line that reads:
// for running locally
// var domains = ['localhost:8080'];
Uncomment the var domains line, so it reads:
// for running locally
var domains = ['localhost:8080'];
This will cause the javascript to load the images locally.
Step 3: Launch the development environment
To launch the development environment, run the following command from the app/ directory.
python2.5 /usr/local/bin/dev_appserver.py ../app/ # you may have to modify this a bit for your SDK install
Now try hitting http://localhost:8080/. If you see “(error)”, browse to a few different websites (non-https) to load up some favicons into the collection. A good way to test is to bounce back and forth between tabs with favicons, as the add-on will send the favicon every time.
dev_appserver.py should spit out some debugging information. For instance, when a favicon is sent from the add-on to the server, you should see a request like this:
INFO 2008-05-19 04:05:48,967 dev_appserver.py] "POST /send/ HTTP/1.1" 200 -
Note the 200 status code, that means it worked! If it is returning 500, that means something is messed up. The dev_appserver.py should spit out the errors to help with debugging.
That’s it!
Refresh localhost a few times to see the new favicons being added to the collection as you browse. If you’re able to get it up and running locally, please let me know!
If you have any questions/comments, feel free to mail the shiny new discussion list. If you encounter any bugs, please let me know here, and if you are really interested — commits are here, and bugmail is here.
Favicon Collective breaks 500 favicons!
Monday, April 14th, 2008Woohoo! After my last post, and a few additional users, we now have over 500 unique favicons in the favicon collection. I think if we can push through 1000 favicons, we will have the largest favicon collection on the internet.
If you would like to help add to the collection, install the Firefox 3 add-on.
This project has been a good skill-set tester… as it has required me to hack in Javascript/XUL, Firefox 3 apis (devmo++), google app engine, python, and django. If you find any bugs while interacting with this sausage factory, please be sure to file a bug on my google code project.
Help me create a huge favicon collection
Wednesday, April 9th, 2008I really like favicons. So, I created a Firefox 3 add-on that sends all my favicons to a web service. Then, the stars aligned, and google released app engine. Now we’re enabled to collect all the favicons in the world. But I cannot do it alone, I need your help.
You can see the progress here. If you want to add favicons that you encounter (in Firefox 3), please see this page.
The add-on is alpha alpha alpha, so please let me know if you run into any issues.







