Google отменил бесплатные подписки на почту для своего домена (Google Apps for your domain). Как было хорошо и удобно. Теперь всё.
Хак позволяющий обойти это новшество (cам не пробовал).
Есть мнение, что таким образом Google собирает деньги на гугло-очки ).
28 мар. 2013 г.
Сваки месеца
Каждый месяц я забываю заплатить за...
- Интернет telenor'у 30 евро до 20го числа. И каждый месяц мне отключают Интернет, а я удивляюсь этому, как Собянин снегу.
- Логолу за vps и vps в облаке (да-да, у них есть свой скалакси).
В этом месяце еще порадовал ВТБ24. Оплата по кредиту производится с "текущего рублевого счета", но текущий рублевый счет в телебанке и текущий рублевый счет клиента вообще - это, как говорят у нас в Одессе, две большие разницы. Счет кредита вообще не доступен в телебанке без дополнительного заявления (о, как! А все остальные счета доступны без заявления. Где логика?). Заплатил как обяснили, и еще и должен остался пени за просрочку платежа. Потом конечно разобрались, но осадок остался ).
Сижу жду Интернета с Интернетом суши-бара Wasabi в Баре.
20 февр. 2013 г.
Бизнес по-русски. Видео-реклама в метро иногда не работает.
Москвичи частенько видят такую картинку на мониторах станций метро.
В один из дней я наблюдал эту картинку несколько раз в течении нескольких часов подряд.
Каково же было мое удивление, когда я узнал стоимость размещения этой рекламы. В соответствии с прайсом на странице http://www.new-tone.ru/transit/services/moscow/metro/, день размещения рекламы стоит 500000 рублей. Это за 10 минут в блоке в день.
На этом фоне рекламные бюджеты в Интернет выглядят приятной мелочью.
Сколько интересно стоит день простоя такого рекламного щита для рекламного агентства "Нью-тон"? Или выплачиваются ли какие-либо компенсации за простой рекламодателям? Думаю, нет. Хоть площадку и видят миллионы людей, ежедневно пользующихся услугами метрополитена, настучать рекламодателям некому...
В один из дней я наблюдал эту картинку несколько раз в течении нескольких часов подряд.
Каково же было мое удивление, когда я узнал стоимость размещения этой рекламы. В соответствии с прайсом на странице http://www.new-tone.ru/transit/services/moscow/metro/, день размещения рекламы стоит 500000 рублей. Это за 10 минут в блоке в день.
На этом фоне рекламные бюджеты в Интернет выглядят приятной мелочью.
Сколько интересно стоит день простоя такого рекламного щита для рекламного агентства "Нью-тон"? Или выплачиваются ли какие-либо компенсации за простой рекламодателям? Думаю, нет. Хоть площадку и видят миллионы людей, ежедневно пользующихся услугами метрополитена, настучать рекламодателям некому...
7 февр. 2013 г.
Лучше поздно, чем никогда - redis и python!
Redis — документо-ориентированное сетевое журналируемое хранилище данных типа «ключ-значение» с открытым исходным кодом.
Python обертку над командной консолью redis лучше познавать по исходным кодам (спасибо, кэп! :) ), иначе вы рискуете так и не узнать, что можно запросто журналировать данные на диск по требованию, а не по рекгламенту.
bgsave() - это сохранение в фоне, можно и просто save().
Обертка транслирует метод в комманду: BGSAVE и SAVE соответственно.
Методом lastsave() можно уточнить дату и время последнего сохранения.
Советую прочесть http://codemehanika.org/blog/2011-07-15-redis-types-usage.html. Надеюсь в комментариях вы, дорогие читатели, посоветуете мне еще что-нибудь?
Python обертку над командной консолью redis лучше познавать по исходным кодам (спасибо, кэп! :) ), иначе вы рискуете так и не узнать, что можно запросто журналировать данные на диск по требованию, а не по рекгламенту.
# coding: utf-8 import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) r.set('key', 'val') r.bgsave()
bgsave() - это сохранение в фоне, можно и просто save().
Обертка транслирует метод в комманду: BGSAVE и SAVE соответственно.
Методом lastsave() можно уточнить дату и время последнего сохранения.
Советую прочесть http://codemehanika.org/blog/2011-07-15-redis-types-usage.html. Надеюсь в комментариях вы, дорогие читатели, посоветуете мне еще что-нибудь?
28 янв. 2013 г.
Генерируем QR код в python
В посте не будет описания алгоритмов генерации QR-кодов. Это муторно и не интеренсо. В конце концов, вам скорее всего нужно просто один раз сгенерировать код для сайта или визитки. Но если вам всеже очень интересно, как это делается, читайте по ссылкам из kcoding.net.
Конечно, можно воспользоваться Google Charts:
<img src="https://chart.googleapis.com/chart?chs=250x250&cht=qr&chl=кодируемаяфраза&choe=UTF-8">
Вместо "кодируемаяфраза" вы можете подставить свой кодируемый текст или ссылку.
Однако, в pypi есть библиотека qrcode, с помощью которой можно сгенерировать QR код картинку у себя на сервере. Google в большинстве случае проще, но во втором подходе можно "зашить" в QR код например логин с паролем, которые будут сгенерированы под браузерную суссию и "прочитаны" на телефоне, например. По сети будет минимум хождения приватных данных, так что вариант безусловно полезный.
1. Ставим билиотеку себе:
easy_install qrcode
# OR
pip install qrcode
Еще нам понадобится PIL:
easy_install PIL
# OR
pip install PIL
Код генерации файла с QR кодом может выглядеть например так:
22 янв. 2013 г.
Костюм АйТишнику
Знакомые друзей открыли магазин мужских костюмов http://www.fe-style.ru/. Тема эта - новая и полезная. Я вам скажу, очень удобно сидя у себя в офисе, дождаться курьера, отдать ему 300 рублей, и примерить десяток размеров понравившеся тебе товарной позиции или позиций.
На вроде, выбрал себе костюм тройку, сорочку и плащ. Сделал заказ через интернет, померял все по приезду курьера, и профит. Необходимость ходить по магазином с грустным лицом отпадает. И это хоршо! Ту-бу-ду-ба-ду-ба-дууум!
На вроде, выбрал себе костюм тройку, сорочку и плащ. Сделал заказ через интернет, померял все по приезду курьера, и профит. Необходимость ходить по магазином с грустным лицом отпадает. И это хоршо! Ту-бу-ду-ба-ду-ба-дууум!
22 нояб. 2012 г.
Собираем прокси лист для grab
Grab - фреймворк для парсинга сайтов, умеет работать через прокси сервера. В документации заявлено, что grab в принципе может сам брать сервера из файла-списка, сам может выбирать случайный, сам может менять сервера от запроса к запросу (Grab documentation. Работа с прокси-серверами).
Ниже скрипт для сбора этого списка с spys.ru - так проще, чем собирать список из поисковиков, а потом еще постоянно мониторить не отвалился ли какой-нибудь из серверов.
# -*- coding: utf-8 -*- import os import sys import re from grab import Grab, GrabError from urllib import quote from iptools import validate_ip def parse(): g = Grab() g.go('http://spys.ru/') rex = re.compile(r'(?:(?:[-a-z0-9]+\.)+)[a-z0-9]+:\d{2,4}') f = open(os.path.join(sys.path[0], 'proxy_list.txt'), 'w') for proxy in rex.findall(g.css_text('body')): ip, port = proxy.split(':') if len(ip.split('.')[0]) >= 4: # на spys.ru для секурности дописывают двухсимвольную фигню в начало. ip = ip[2:] proxy = proxy[2:] if validate_ip(ip): g.setup(proxy=proxy, proxy_type='http', connect_timeout=5, \ timeout=5) try: g.go('http://www.apple.com/') try: h1 = g.xpath_text("//h1") if h1 in ['ERROR', 'Proxy Authentication Required']: continue except Exception, e: print e if g.response.code == 200: print proxy.ljust(20), 'OK ', g.response.code f.write(proxy + '\n') except GrabError: print proxy.ljust(20), 'FAIL' f.close() if __name__ == '__main__': parse()
Подписаться на:
Сообщения (Atom)