Alternatives for Google services (open source, preferably self-hosted, or easy to switch out off).
- Adsense: Don't advertise
- AJAX libraries: <cdnjs.com>
- Alerts: ?
- Analytics: ?
- AppEngine: Amazon EC2
- Apps for domains: ?
- Blogger: WordPress
Alternatives for Google services (open source, preferably self-hosted, or easy to switch out off).
Gramener's public/semi-public speaking engagements.
| *.csv | |
| .cache |
| """ | |
| Captures all headers in a JSON file. | |
| """ | |
| import json | |
| import tornado.ioloop | |
| import tornado.web | |
| import pprint | |
| class Header(tornado.web.RequestHandler): |
| {"iso_language_code": "da", "to_user_name": "Jishnu", "to_user_id_str": "110358179", "profile_image_url_https": "https://si0.twimg.com/profile_images/1761677446/2850384465_604be38694_b__copy__normal.jpg", "from_user_id_str": "15649930", "text": "@jishnu7 Automated Data Analysis talk By S Anand is at A1 #PyconIndia2012", "from_user_name": "Ramakrishna Reddy", "in_reply_to_status_id_str": "252282073249902593", "profile_image_url": "http://a0.twimg.com/profile_images/1761677446/2850384465_604be38694_b__copy__normal.jpg", "id": 252284135371067392, "to_user": "jishnu7", "source": "<a href="http://twitter.com/">web</a>", "in_reply_to_status_id": 252282073249902593, "id_str": "252284135371067392", "from_user": "ramkrsna", "from_user_id": 15649930, "to_user_id": 110358179, "geo": null, "created_at": "Sun, 30 Sep 2012 05:49:59 +0000", "metadata": {"result_type": "recent"}} | |
| {"iso_language_code": "da", "to_user_name": null, "to_user_id_str": "0", "profile_image_url_https": "https://si0.twimg.com/pr |
| // Internal color conversion | |
| // Converts `#ffffff` to `(255, 255, 255)` | |
| function _colornum(color) { | |
| var l = color.length; | |
| return [ | |
| parseInt(color.slice(l-6,l-4), 16), | |
| parseInt(color.slice(l-4,l-2), 16), | |
| parseInt(color.slice(l-2,l-0), 16) | |
| ]; | |
| } |
| body { | |
| background: white; | |
| color: #444; | |
| font-family: Georgia, serif; | |
| font-size: 11pt; | |
| margin: 15px auto; | |
| max-width: 850px; | |
| line-height: 1.5; | |
| } |
| ''' | |
| Usage: viz.py INPUT.csv [template.html] > OUTPUT.xhtml | |
| ''' | |
| import re | |
| import math | |
| import logging | |
| import datetime | |
| import operator | |
| from tornado import template |
| import win32gui, time, os.path | |
| filename = os.path.join(os.path.dirname(__file__), 'applog.txt') | |
| out = open(filename, 'a') | |
| while True: | |
| title = win32gui.GetWindowText(win32gui.GetForegroundWindow()) | |
| out.write(time.strftime('%a %d-%m-%Y %H:%M:%S') + '\t' + title + '\n') | |
| out.flush() | |
| time.sleep(30) |