29 окт. 2010 г.
28 окт. 2010 г.
Удивительное рядом * 2
Сегодня с утра, после того, как отвел сына в школу, включил обновление приложений на моем HTC Hero. FBReader обновился до версии 0.7.12 и начал валится с ошибкой. В FBReader’е (а может это android такой) в таких ситуациях предлагается отправить traceback разработчику. Так вот, я его отправил и лег спать (8:19 (GMT+05:00)), а в 8:22 мне пришел ответ от разработчика “Fixed in 0.7.13, sorry.”. В 10 утра я проснулся и скачал 0.7.13 версию, в которой этого бага уже не было. Удивительные скорости реакции, не правда ли?
А ещё, сегодня мне приснился невероятный по свой красочности и правдоподобию сон. Он состоял из двух частей: в первой я вне всяких законов физики, перемещался по городу. Причем, сознание во сне убеждало меня, что этот город мне хорошо знаком и я в нем не первый раз (после пробуждения я действительно припомнил, что мост из этого города я действительно, уже видел в одном из прошлых снов).
Удивительным в этой части сна был тот факт, что я видел город в мельчайших подробностях (что обычно не свойственно для снов). Я мог свободно перемещаться по этому городу и рассматривать его дома, целые районы. Чем больше я там проводил времени, тем больше новых деталей видел и узнавал. Мне становились понятны некоторые причины именно такой архитектуры и жизни, протекавшей в этих дворах, домах и пр.
В какой-то момент сна я понял, что хочу в нем оказаться (материализоваться или что-то в этом роде) – это вторая часть сна. В ней я уже по всем законам физики в своем привычном теле путешествую по этому же городу, но, конечно, по значительно меньшей его части. В какой-то момент я дохожу до большой стройки с плитами разложенными в форме какой-то сложной фигуры-фундамента для будущего здания. Я прохожу этот участок и оборачиваясь вижу, что где-то позади произошел взрыв. Это не смущает меня, но дальше я двигаюсь быстрей.
В какой-то момент я оказываюсь на песчаной дорожке, по которой идут люди, но к этому моменту от долгого бега у меня кончаются силы и я падаю лицом вниз прям на эту дорожку. Голова моя, однако, при этом повернута на лево и я вижу как ко мне приближается девушка в фиолетовом плаще (или пальто – сейчас я уже не так хорошо помню). В ней я узнаю девушку, с которой встречался ещё в школе. Мы вместе идем дальше. Разговариваем. Среди прочих тем выясняется, что я нахожусь в альтернативной реальности, в которой мы с ней не расставались. У нас есть сын Пашка, которого мы так назвали по совету друзей (были действительно такие друзья, но чтоб они что-то такое советовали я не помню). Во время этой беседы, всего содержания которой я передавать не стану, я вижу где-то справа за домами ещё один взрыв, похожий на первый. Через некоторое время я просыпаюсь, но в сознаний у меня остаются чьи-то слова, мол: “не бойся оказаться в эпицентре взрыва (которые происходили на фоне), бойся проснуться, т.к. тогда ты не останешься в этой реальности”. Видимо, чтоб в ней остаться, нужно именно во взрыв попасть?
Как проснулся, сразу вспомнил пост про чьего-то друга, который употреблял в разговорах фразу “в той жизни”, обозначавшую принадлежности описываемого им события ко второй жизни этого человека – жизни во сне.
UPD.
26 окт. 2010 г.
SuperBoxSelect для ExtJS
Он реально крут! Советую всем, кто когда-либо собирается делать формы на ExtJS присмотреться к нему:
http://technomedia.co.uk/SuperBoxSelect/examples3.html
Наиболее приятная (для меня) его часть в том, что допилить djangoextjs для генерации форм с ним сможет даже однорукий дебил.
24 окт. 2010 г.
Ext JS 3.3.0
11 октября вышла 3.3.0 версия ExtJS. Список изменений можно смотреть по адресу http://www.sencha.com/products/js/CHANGES_ext-3.3.0.html. К сожалению, чуда не свершилось – в списке изменений нет исправлений в работе форме через ext.direct, а формы не сабмитятся .
22 окт. 2010 г.
Updates: django-reversion и cmsplugin_gallery
Хочу акцентировать ваше внимание на двух инструментах для django-cms:
http://github.com/etianen/django-reversion (вообще, можно использовать в проектах на джанго без django-cms) – позволяет хранить ревизии объектов, в django-cms используется для восстановления удаленных страниц.
http://www.django-cms.org/en/extensions/gallery-plugin/detail/ – галерея с Drag&Drop для 2.1 версии, которая все никак не появиться…
20 окт. 2010 г.
Браузеры в песочнице
Протестировать свою очередную веб-поделку во всех популярных браузерах порой не просто, а держать в одной ОСи установленными более 2 версии IE вообще невозможно (или возможно?). Аналогичные проблемы? “Песочница” в помощь: http://spoon.net/Browsers/ (Microsoft Internet Explorer 6-9beta, Mozilla Firefox 2 –4beta, Google Chrome видимо 5 и 6, Apple Safari 3-5, Opera 9 и 10).
17 окт. 2010 г.
Changing Education Paradigms
14 окт. 2010 г.
Перепост по розыску г. Тюмень
'''
12 октября 2010 года из дома по адресу: г. Тюмень, ул. Комбинатская, 42-а, ушла и до настоящего времени не вернулась Анисимова Анна Андреевна 1998 года рождения.
На вид 11 лет, низкого роста, телосложение худощавое, лицо овальное, по цвету смуглое, глаза голубые, волосы волнистые, светло-русые.
Одета: плащ тёмно-зелёного цвета, сапоги чёрного цвета.
Последний раз Анисимову Анну видели на перекрёстке улиц Л. Толстого – Пролетарской, недалеко от стройки, она разговаривала с незнакомым мужчиной, которому на вид 30 – 35 лет, лицо круглое, щёки полные, среднего роста, полного телосложения, на голове кепка, одет в куртку, брюки тёмно-зелёного цвета. Недалеко от них стояла автомашина «Жигули»-классика тёмно-зелёного цвета.
Предположительно, может находиться в районе садоводческих обществ д. Метелёвой.
Всем, кто располагает сведениями о местонахождении Анисимовой Анны, просьба обратиться в отдел милиции № 8 УВД по г. Тюмени по телефонам: 43-02-02, 79-41-64, 29-11-50 или 02.
Контактные телефоны родителей: 8-922-485-34-00, 8-912-994-19-78.
'''
К.О. об excel в python.
Недавно я задавался вопросом о изменении существующих файлов excel в python. В процессе изучения задача обросла новыми требованиями, но все же стало ясно, что продолжать пользоваться pyExcelerator для генерации “похожих” на существующие файлы клонов я не хочу (долго, сложно, муторно, не точно). На помощь пришел кэп – сайт называется http://www.python-excel.org/.
Там ссылки на 3 библиотеки xlrd (чтение), xlwt (запись) и xlutils, которая объединяет использование первых двух. Кроме того, на сайте есть ссылки на примеры и документацию.
13 окт. 2010 г.
12 окт. 2010 г.
Вконтакте и джанги с питонами.
Обертка для методов API Вконтакте:
http://bitbucket.org/kmike/vkontakte/src/
http://bitbucket.org/kmike/django-vkontakte-iframe/src
Документация по методам:
http://vkontakte.ru/page2369282
Есть ещё мерчант, хотелось бы поиметь нативное API и к нему:
http://vkontakte.ru/pages.php?o=-1&p=Merchant%20API
но я тут не один такой умный
http://moikrug.ru/vacancies/168071264/
ExcelResponse
Опробовал ExcelResponse с http://bitbucket.org/kmike/django-excel-response/src. Понравилась возможность выгружать эксель вот таким простым способом:
def excelview(request):
data = [
['Column 1', 'Column 2'],
[1,2],
[23,67]
]
return ExcelResponse(data, 'my_data')
Далее, буду переписывать под свои нужды, т.к. мне почти всегда нужно переопределить default стиль оформления.
Было бы конечно круто найти инструмент, позволяющий писать в готовый шаблон данными, но мне пока не удалось. Может быть читатель был удачливее меня?
7 окт. 2010 г.
Используем “укротитель” ссылок от Google в django.
На самом деле, кончено не “укротитель”, а “укорачиватель” ссылок: http://djangosnippets.org/snippets/2220/
import urllib
import json
def GooGL(url):
params = urllib.urlencode({'security_token': None, 'url': url})
f = urllib.urlopen('http://goo.gl/api/shorten', params)
return json.loads(f.read())['short_url']
Пример для адреса сниппета:
>>> l = 'http://djangosnippets.org/snippets/2220/'
>>> GooGL(l)
'http://goo.gl/HSal'
5 окт. 2010 г.
Django 1.3
Релиз планируется на 17 января 2011. 18 октября уже наверное можно будет пощупать нововведения: логирование и основанные на классах views (подробней на djangoproject.com).
Сказ о inlineformset_factory в Django
Как говориться, все уже давно украдено до нас – в django есть поддержка наборов форм (formset), объединенных отношением к общему объекту (т.е. у одной сущности есть ForeignKey к другой – К.О.). Ниже листинг, который позволяет очень просто управляться с этим набором (листинг шаблонов и моделей не привожу – он тривиален):
# in views
from django.forms.models import inlineformset_factory
...
@render_to('my_template.html')
def step2(request, hash):
h = get_object_or_404(ModelWithHash, hash=hash)
MyFormSet = inlineformset_factory(ModelWithHash, \
RelatedWithModelWithHashModel, extra=1)
if request.POST:
formset = MyFormSet (request.POST, instance=h)
if formset.is_valid():
formset.save()
formset = MyFormSet(instance=h) # Затер лишние формы
else:
formset = MyFormSet(instance=h)
return {
'formset':formset,
}
Уже используете? Где пригодилось?