
Сегодня случайно заметил вот такую надпись у себя во дворе. Похоже гопники уже сами над собой начали стебаться. Иначе, как можно представить, что кто-то написал такое серьезно?
Какой же Пушкин лох? Он весьма успешный человек :).
Сегодня пришла СМСка:
"Вам поступил запрос от анонимного пользователя: он(а) хочет узнать, какой подарок Вы хотите на Новый Год. Для ответа звоните 0878 Пользователь прослушает ваше голосовое сообщение сразу после записи. Дарите желанные подарки! Тарифы на m.mmi.ru"
Очень сомневаюсь, что какой-нить, пусть даже "анонимный" пользователь, захотел бы узнать что мне подарить таким вот образом...
В сущности, тем и хорош open source: ваше приложение, созданное на основе другого, или же использующее open source компонент внутри себя развивается вне зависимоти от вашего участия. Пример:
Примеров может быть очень много, особенно у джангистов, использующих pluggble приложения. Например, великолепный pinax...
Кстати, теперь я буду делать перевод на русский для django-profile. Мне разрешили...
Если с утра вы включили телевизор, а по евроновостям или вести24 в рубрике "no comment" показывают не взорванный автобус, не рыдающих арабов и даже не задумчивых американских солдатс автоматами... Дак вот, если там показывают засорившуюся в италии (или где-нить ещё) дамбу и обычных рабочих, которые разгребают мусор, занчит день выдался отличный.
Действие первое: заведите себе блокнот, а ещё лучше поставьте прогу для GTD. Или, уж совсем хорошо: зарегистрируйтесь на rememberthemilk.com, или ещё каком-нить аналогичном сервисе!
Действие второе: тщательно вносите в выбарнное в первом действии место все свои дела. Не пишите слишком подробно. Дэвид Аллен утверждает, что если дело может быть сделано менее чем за 5 минут, его следует сделать тут же, а не вносить в блокнот.
Записывайте более или менее сложные дела. Те дела, думая о которых, вы не сможете сосредоточиться на главном.
Действие третье: Каждый день начинайте с чтения и планирования своих дел в блокноте или GTD программе.
Ну как? Похоже на то, что многие блогеры пишут под прямо противоположными заголовками? Да, похоже. Обычно эти действия ведут к повышению производительности, но не в моем случае.
На данный момент в моем списке 27 просроченных дел на сегодня. Одно крупней другого, и думать, что у меня есть шансы закончить сегодня хотя бы 1/3 - утопия. Но мозг мой свободен от проблем, я ведь переложил их в свой rememberthemilk, а значит могут сосредоточиться на главном :).
Представьте себе Каспарова, коорый после каждого хода противника пишет в блокнот 156 todo с вариантами ходов. Правдоподобно, но маловероятно... Действительно умные люди, действительно, пользуются записками. Но, я вас уверяю, цели разгрузить свой мозг у них нет. Важно с каждой проблеммой дневать и ночевать (если речь идет о программировании, например).
ЗЫ. Анализ GTD online + Desktop сервисов показал, что лучшее решение для синхронизации, хранения и ведения todo листов под видной, S60 и WinMobile является, (барабанная дробь, занавес. Все замерли в ожидании названия очередного очень модного online GTD стартапа) - Microsoft Outlook 2007 :). Неожиданно, правда?
Сегодня утром обнаружил у себя в reader'е (который, кстати, сменил дизайн) пост про Google Friend:
http://googleblog.blogspot.com/2008/12/google-friend-connect-now-available.html.
Google Friend - на сколько я понимаю, набор виджетов для сайта,через которые можно организовать некое сообщество. С помощью этих виджетов можно "войти" в круг друзей сайта, используя Google, Yahoo, OpenID и ещё какой-нить аккаунт, комментировать страницы сайта и пр.
Подробней тут:
Оф. сайт Google Friend:
http://www.google.com/friendconnect
ЗЫ. Осталось дождаться, когда эту штуку интегрируют в blogger
Вчера поставил на десктоп и кпк evernote. Долго радовался возможности постить рукописные заметки с кпк в инет (синхронизация поздней разносит заметку по всем настроенным устройствам).
Лучше, конечно, объяснить quick tour: http://www.evernote.com/about/what_is_en/tour/
Минусы:
Удивительно полезным может быть чтение thisweekindjango. Например, 47 неделя выдалась на редкость богатой на интересующие меня темы:
Кроме того, в мире произошли следующие изменения:
Rancho и Rosetta уже отправились прямиком в один из моих проектов. Поздней напишу о своих впечатлениях...
Сегодня мой Microsoft Live Writer отказался публиковать изображение, прикрепленное к посту - сдох, в общем, не смотря на то, что он "Live". Выдает "Ошибка 400" без каких-либо объяснений. Что за ошибка такая? Думал, что в веб альбоме Picasa кончилось место. Начал проверять и наткнулся на фото, которое давным давно размещал в новостях на www.tsogu.ru. :)
Между прочим, серъезные люди прислали.
Это какие-то чемпионк нефтегаза. На первой фотке (её здесь нет), они стояли цивильно, улыбались. Затем какой-то мудила кинул им мяч, чтоб посмотреть, как чемпионки отреагируют, и получилось вот такое фото...
Тихо и незаметно 31 октября вышла beta 1.0.1 версии Django. Релиз ждем 14-го ноября. В нем не будет ничего, кроме исправления ошибок, допущенных в 1.0 релизе.
План ближайших релизов можно посмотреть тут: http://www.djangoproject.com/weblog/2008/oct/24/upcoming-releases/
Описание 1.0.1 beta: http://www.djangoproject.com/weblog/2008/oct/31/101-beta/
Узнал я об этом от: http://python.su/blog/slav0nic/2008/11/03/stala-dostupna-django-101-beta/
Пост изначально задумывался, как залоба на неотвратимость воздействия СМИ на нашу жизнь, но поздней выяснилось что понимать под СМИ объявление на подъезде не приходится.
Началась история месяц назад. В 2 часа ночи мне на домашний телефон позвонил бодрый молодой человек и попросил: "дверь пожалуйства откройте". Я немного ошалев от такого поворота событий (вроде, швейцаром не работал никогда), объяснил парню куда и как быстро он должен пойти. На следующую ночь история повторилась, но на этот раз на час раньше, а парень, вроде, был другой.
В течении месяца мне ещё несколько раз звонили разные товарищи, а буквально неделю назад, позвонил тот первый молодой человек. Я подробнейшим образом распросил его где он видит это объявление и объяснил, что не имею к нему никакого отношения. Парень, в своб очередь, уверил меня, что исправил надпись на подъезд: мол, "не звонить!".
Сегодня мне позвонила какая-то женьщина и объяснила, что на самом деле пытается позвонить в фирму "Дверити".
Погуглив, выяснил, что такая фирма реально есть, и даже вынил почему им так часто звонять:
"
Приобрел я двери с услугой монтажа оных в магазине "дверити" ул Пермякова 63а.
к самим дверям притензий нет но вот к монтажу масса.
во первых заранее был обговорен срок монтажа. Дважды это срок срывался. В итоге почти месяц двери в упаковке стояли у меня дома.
Во время монтажа рабочие разделись до голого торса обнажив наколки ярко выражающие их уголовное прошлое. В течение работ просили денег за то что они тут или там чего то подпилят и отрежут. В оплате этих услуг на месте я отказал при этом пояснил что на следующий день приеду в офис и если мне выпишут счет то я его с удовольствием оплачу. В офисе ничего об этих услугах не знади и я остался с деньгами. В процессе эксплуатации дверей был выявлен недостаток монтажа а именно не правильно была сколочена коробка двери и неправельно сделан пропил под замок двери в результате через 2 месяца после монтажа дверь не закрывается потомучто её перекосило и над ручкой двери видно пропил от замка.
"
http://www.servisanet.ru/forum/viewtopic.php?pid=836
В общем, реальный телефон этих товарищей 33-19-80, но вряд-ли стоит им теперь звонить.
http://www.tyumen-city.ru/sobitii/vajno/yr2008/mn10/dy9/3440/
"...
Квартальные имущественных комплексов ежедневно следят за регулярной уборкой закрепленной за собственниками или владельцами территорий, жилых и общественных зданий, очисткой территории от бытовых и строительных отходов. Кроме того, ведется контроль за состоянием всех видов форм внешнего благоустройства, освещения, содержанием фасадов зданий, заборов, установкой вазонов, урн, вывесок на зданиях, домовых номерных знаков. Кстати, за 9 месяцев в ЦАО установлено 246 адресных табличек и дополнительно заказано еще 218.
..."
Кто ж такие эти "квартальные"?
Они? Да вроде, нет. Кто ж тогда?
Ан нет! Всеж к милиции отношение имеет. Вот ответ: http://www.tyumen-city.ru/informacii/clear-city/telephones_kvartal/.
Бедная Светлана Ивановна Нюнько, отвечает за половину КПД, а в подчинении только 4 человека.
Оказывается, что эти люди, вообще, способны решить половину моих проблем с ремонтом:
"...За определенный участок города несет персональную ответственность один человек. Центральный административный округ поделен на 11 имущественных комплексов. За каждым прикреплен хозяин квартала. Теперь квартальный отвечает за благоустройство придомовых территорий: уборку мусора, вывоз бытовых отходов, озеленение и многое другое.
...
...ликвидированы около 50 погребов, снесены несанкционированные гаражи, вместо них появились специализированные парковки для авто, вместо груды мусора - детские уютные площадки и тротуары. Ведутся и комплексные работы: замена тепловых сетей, мусорных баков на новые контейнера и обустройство места под них.
Квартальный имущественного комплекса контролируют работу подрядных организаций, каждый день ведет ведомости контроля, штрафует нарушителей за невыполнение правил благоустройства. Финансирование на благоустройство дворов выделяется из местного бюджета. Также заключаются договора между квартальными и управляющими компаниями на совместное благоустройство."
За последние 2-3 недели начал сразу несколько проектов на django. В процессе deployment'a составил список 4 ошибок, которые я совершаю с завидным постоянством, о чем django потом мне не стесняясь сообщает через traceback'и на почту.
Конечно, все описанное ниже тривиально, но надеюсь кому-нибудь все ж будет полезно.
Поисковые боты его хотят, а его нет - плохо. Решение, как всегда есть, да ещё и не одно:
http://code.google.com/p/django-robots/ - апликация для django, которая решает проблему с robots.txt, причем, совместима с sitemaps и может с ним как-то хитро взаимодействовать. Серьезный минус, как всегда, в том, что надо эту апликацию за собой таскать...
http://forum.webfaction.com/viewtopic.php?id=760 - в этом топике придумали не плохой вариант решения проблемы (вроде даже сниппет такой есть).
## В views.py вашего приложения
from django.http import HttpResponse
def robots(request):
return HttpResponse(open('robots.txt').read(), 'text/plain')
## В urls.py
(r'^robots.txt$', 'вашпроект.вашаапликациясфункциейrobots.views.robots'),
Для решения данной проблемы я уже придумал целый набор настроек с сеттингах, которые через context_processor подставляют в страницу ошибки информацию о проекте, местонахождения его в траке и пр. Публиковать сюда пока не стану, если нужно - пишите в комментах.
Также, как и с предыдущим.
Эта ошибка в общем-то к django прямого отношения и не имеет. Просто браузеры хотят получить favicon для сайта, даже если в css и в странице ниче про нее не сказано. Подойдет:
<link rel="icon" href="{{MEDIA_URL}}favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="{{MEDIA_URL}}favicon.ico" type="image/x-icon">
если конечно favicon.ico и вправду лежит в media папке.
Ответ: да, почти. Название диска "buzz ballads 2".
А пишу я про это с единственной целью - проверить работу гугл-трендс , который счиатет, что данный трэнд многим интересен. Ждемс...
Видео по теме:
Видео интересно ещё и тем, что в нем можно вновь увидеть старую добрую магазин-на-диванову американскую рекламу. Техника, которой пользуются эти люди уже много лет не смотря ни начто пролдолжает работать и приносить деньги.
Информация о фильме тут: http://www.film.ru/afisha/movie.asp?code=NOVZEM.
От себя добавлю, что когда шел на фильм думал, что могу написать в блоге,: фильм очередной русский, чернушный. Сходил. И теперь пишу: фильм реально очередной, русский и чернушный. Но он меня всёж кое чем удивил. А именно концевкой. Мне казалось, что по закону жанра, главного героя должно было накрыть самой настоящей всероссийской жопой, которой обычно и накрывает героев таких фильмов, ан нет. Даже второстепенный герой фильма покончил с собой так приятно и радостно, что хочется жить и радоваться (опять же). Вот такой мажорный фильм про то как зеки мочат друг-друга на острове.
А ещё в фильме есть киноляпы, заметные невооруженным взглядом. Например в сцене первой массовой потасовки зеков на острове гибнет авторитетный дед. Когда камера проезжает над его трупом и замирает видно, как он моргает (труп). Целых два раза. Это Маша заметила первый раз, а второй мы уже вместе наблюдали.
Блин, ну какой же я был дурак, что не знал об этой фиче. Оказывается в django уже давным давно есть механизм переноса данных. Вот простой пример:
python manage.py dumpdata --format=xml --indent=4 >> shipping_fixture.xml
А потом восстанавливаем:
python manage.py loaddata shipping_fixture.xml
Новая версия законы Дарвина о том, что выживает сильнейший в новое время (в прочем, как и во все времена) должна звучать по-другому.
Выживает умнейший.
Почему? Очень просто: сила человека в его уме. Человеческий мир не прощает не слабость (как животный мир), а наивность. Наивно полагать, что живя в Бутово, или на Нефтемаше Вы обойдетесь без упругих сильных мышц или огнестрельного оружия. Наивно же полагать, будто не меняя привычек работать, Вы когда-нибудь сумеете заработать миллионы. Что бы зарабатывать столько, сколько ты ещё не зарабатывал - нужно делать то, чего ты раньше не делал.
Собственно сабж. Всех с этим и поздравляю!
Скоро будет котов первый релиз-кандидат, после него новой функциональности не будет. Так что ждите подробного описания релиз-канлидата во второй половине августа.
Меня, в общем-то, ломает писать об этом промежуточном релизе, так что читайте тут: http://www.djangoproject.com/documentation/release_notes_1.0_beta_1/
Маша прислала мне ссылку на это шедевр: http://www.iriney.ru/sects/commerc/news001.htm.
Я в шоке, хотя б по тому, что автор несет (нес, правильней сказать - 24.05.2000) полную чушь и этого совсем не стесняется. Например, заголовок. Шикарнейшее заявление о том, что основателю то гербалайф не помог, но а) полицейские думают иначе, б) ..."в 1985" ..."Хьюз сбросил 16 фунтов" (а гербалайф был тогда именно продуктов для похудания), в) автор так и не приводит обоснования своего словесного поноса, говорит лишь, что он прав, мы это увидим после вскрытия.
"Компании "Гербалайф" занималась сетевым маркетингом (иными словами, была пирамидой)" вот так вот. Раз! Ба-бах! И гербалайф стал пирамидой. И автору глубоко насрать, что все крупные компании в Америке проверяет специальная комиссия, которая проверяла и гербалайф в свое время, а проверяют они именно с целью понять пирамида или нет. Гербалайф - не пирамида по результатам этой проверки, более того с момента основания прошло 28 лет - на МММ ушло 5 лет, причем происходило разоблачение МММ в разваленной России, в которой бытовое правосудие то не работало, не говоря уж о гонениях крупной компании.
"В 1986 г. Хьюз выплатил все судебные издержки в размере 850 тысяч долларов, замял скандал и возродил корпорацию.". Ай-ай-ай. Хьюз выплатил издержки в размере 850 т.д., значит он точно пират, стоящий во главе пирамиды! Компания Amway, к Вашему сведению, в начале 80 тоже испытывала гонения со стороны Канадского правительства. Там все закончилось суммой по приличней - в районе 30 млн. долларов. Сейчас обе компании входят в ассоциацию прямых продаж и не правительство Америки, не правительство Канады к ним притензий не имеют (но не автор :) ).
Кстати, спустя 8 лет после написания статьи уже все ж ясно от чего умер Марк. Алкоголь + антидеприсанты = писец организму. Гербалайф не выпускает не того, не другого.
Наверняка сайт этот появился не вчера. Более того, мой пост о нем тоже наверняка баян, потому что я такие вещи нахожу каждые пол года, удивляюсь, радуюсь как ребенок и забываю, чтоб потом снова найти, и снова обрадоваться. Вот и сейчас, я нашел этот не хитрый сервис, сжимающий обычные картинки до размеров иконок и обрадовался, как ребенок...
Уникальность предложения этого сайта как раз в том и состоит, что делает он невероятно простую, но тоже нужную работу. Результат сегодняшнего моего с ним знакомства - favicon'ки для www.gisi.ru и www.russian-winter.com.
http://developer.yahoo.com/yui/3/
Урааа!!! YUI 3.x Preview Release 1. Ушёл смотреть...
У меня сегодня ночью (так как сегодня ночью я должен доделать сайт) есть три чисто русских вопроса:
По версии Google Insights for Search в Тюмени начали работать только в январе 2008, вернее искать работу через сайты, которые можно найти в гугл:
В своем блоге мой отец пишет о том, как похудел с 99 до 78 за 4 месяца. Без липосакций и прочей лабуды, насилующей организм.
http://tumen.usi.ru/press/news/2008/1095227/
"С 1 августа 2008 года удваивается скорость на безлимитных тарифных планах. При этом ежемесячный платеж остается прежним."
Скорость скачки у меня теперь реально в 2 раза больше. Причем, тех.поддержка уверяет, что мой им звонок непричем, а скорость у меня уже была увеличена в 2 раза. Скорость исходящего канала у меня прежняя. На это тех. поддержка в лице любезной девушки отвечает, что переход на новые скорости продлится ещё в течении сегодняшнего дня (включительно), а значит и притензии пока не принимаются.
Кстати, тех. поддержка теперь не круглосуточная, а только с 8:00 до 21:00. Выспавшиеся сотрудники стали более внимательны. Например, просят подождать и желают "всего хорошего" после разговора.
Вижу, что в рунете опять поднялась волна сезонного интереса к Yahoo UI. На мой взгляд, это хорошо, так как данная библиотека, или фреймворк - прекрасная штука. Щас объясню почему, а в следующих постах покажу пару примеров того, как я уже использовал YUI.
Ребята жгут, опять. Сегодня нашел в блогах ссылку на http://fmates.ru/ - сервис для обмена ичтателями среди блогеров. Дык вот, зарабатывать перцы будут на:
"Платная индексация предназначена для увеличения частоты показа анонсов ваших публикаций, однако не избавляет от необходимости размещения кода участника в данных публикациях."
Супер! Я восхищен. Ждите дублицирования идеи. Также было, в свое время, с биржами ссылок.
У меня появилась идея сделать сервис закрытых закладок, то есть противоположность сервису публичных закладок. Для меня это была б довольно полезная вещь.
Очень часто шлю своим друзьям и коллегам ссылки на статьи по интересной нам теме. Каждый раз мучаюсь при этом сомнениями по поводу удобства восприятия информации по почте. Андрюха дак вооще меня убъет скоро за то, что я ему ссылки почтой посылаю (у него на работе в Нефтегазе трафик платный).
Также часто нужно сохранить закладку самому, но сервис гуглзакладок в этом смысле не слишком удобен, хотя б потому, что за год в нем накопилось несколько тысяч закладок, каждая из которых появилась по принципу "ну завтра точно прочту...".
В общем, идея создать более гибкий сервис для хранения закладок, сделать возможным (как и в гугл закладки + блокнот) публиковать записи с комментариями, но увеличть акцент на закрытость сервиса.
Даже название есть (Маша придумала): "Кротжмот.ру - сервис асоциальных закладок". По наалогии с "БобрДобр.ру - социальный сервис закладок Рунета". :)
"Правительство включило в перечень доходов, с которых производится удержание алиментов, суммы, выплачиваемые в возмещение вреда, причиненного здоровью, и компенсационные выплаты за счет средств федерального бюджета, бюджетов субъектов РФ и местных бюджетов гражданам, пострадавшим в результате радиационных или техногенных катастроф. Изменения зафиксированы в Постановлении Правительства РФ от 14.07.2008 №517."
Интересное и справедливое, на мой взгляд, нововведение. Вопрос, безусловно, спорный, но все ж. В конце концов, если Вы считаете, что платить алименты не должны - подайте в суд!
Елена РАЗУМНАЯ на http://72afisha.ru/iview/81.html пишет о новом фильме X-Files:
...
А суть сюжета вот в чем: в северной части Вирджинии при странных обстоятельствах исчезают женщины. Потом в снегу, благодаря мистическим видениям бывшего священника (осужденного, кстати, за педофилию), были обнаружены человеческие останки. Полиция полагает, что эти свидетельства медицинских опытов как-то связаны с пропавшими женщинами, одна из которых – агент ФБР. И тогда местная полиция решает обратиться за помощью к агентам уже закрытого отдела паранормальных явлений ФБР Фоксу Малдеру и Дане Скалли, которым, как всегда, предстоит доказать, что истина где-то рядом.
Название «Хочу верить», на мой взгляд, просто идеально. Достоевщины в фильме много: главные герои постоянно раздумывают, куда им пойти, как поступить, ввязываться в новое расследование или нет... Чтобы справиться с происходящей ситуцией, действительно, остается только верить.
...
В погоне за красным словцом, получила довольное интересный метафорический оборот из которого следует, что единственной целью отдела паранормальных явлений ФБР. Смешно? Нет. Дело в том, что такими целями, на мой взгляд, озадачены 50% милицейского аппарата в России. Жаль, что они не вешают на окнах крестики из изаленты, имхо было б забавней.
Большие проблемы мельчайших организмов
Автор уверяет, что "количество зоопланктона уменьшилось на 73% за неполные 50 лет", а без него всей пищевой цепочке писец.
Необычным, в этом описании можно считать только подключение хэндлера:
import os, sys
sys.path.append('/home/eric/Python/PROJECT')
os.environ['DJANGO_SETTINGS_MODULE'] = 'PROJECT.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
В общем, советую ознакомиться.
Это кросс-пост из моего отдельного блога о джанго.
Вчера я писал о COMMON_MEDIA и ADMIN_MEDIA_PREFIX настройках в качестве context processor, а сегодня появился замечательный сниппет, который позволяет передавать записи из settings.py как context processor не парясь с написанием функций.
14 проект на Django стал последней каплей :). Нет, серьезно слоган джанго: "не повторяйте себя!", так? Каждый раз создавая проект я скурпулезно переношу в него все свои старые наработки и только потом приступаю к написанию.
"Это плохо"- подумал я, и сделал seleton проект.
Посмотреть его можно тут: svn://std.tsogu.ru/skeleton.
Структура файлов пока что такая:
skeleton
- skeletonapp
- templates
- 404.html
- 500.html
- base.html
- index.html
- __init__.py
- models.py
- urls.py
- views.py
- userapp
- templates
- index.html
- __init__.py
- models.py
- urls.py
- views.py
- __init__.py
- context_processors.py
- manage.py
- settings.py
- snippets.py
- urls.py
Наиболее интересные куски этих файлов я выложу ниже для, так сказать, обмена опытом и конструктивной критики (ага, дождаться б).
settings.py:
import os
working_dir = os.path.dirname(__file__)
MEDIA_ROOT = working_dir + '/media/'
TEMPLATE_DIRS = (
working_dir + '/skeletonapp/templates/',
working_dir + '/userapp/templates/',
)...
ADMIN_MEDIA_ROOT = '/usr/local/lib/python/site-packages/django/contrib/admin/media/'
...
COMMON_MEDIA_URL = 'http://std.tsogu.ru/media/'
...
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"skeleton.context_processors.common_media_url",
"skeleton.context_processors.admin_media_prefix",
"skeleton.context_processors.trac",
)...
## Информация о проекте в trac.std.tsogu.ru
TRAC_URL = 'http://trac.std.tsogu.ru/'
TRAC_COMPONENT_NAME = 'skeleton'
TRAC_VERSION = 'skeleton_ver1'
TRAC_MILESTONE = 'skeleton_ver2'
TRAC_OWNER = 'markeev'...
AUTH_PROFILE_MODULE = "userapp.UserProfile"
Комментарии, по большей части, излишни. Добавлю только, что большая часть непонятных переменных используется в context processors (или как это будет по русски? :) ).
urls.py (в корне проекта):
(r'^media/(?P<path>.*)', 'django.views.static.serve', {'document_root':settings.MEDIA_ROOT,'show_indexes': True}),
(r'^adminmedia/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.ADMIN_MEDIA_ROOT, 'show_indexes': True}),
Известный косяк с потерей путей к админским css файлам лечится вышеобозначенными напильниками.
context_processors.py:
def common_media_url(request):
from django.conf import settings
return {
'COMMON_MEDIA_URL': settings.COMMON_MEDIA_URL,
}def admin_media_prefix(request):
from django.conf import settings
return {
'ADMIN_MEDIA_PREFIX': settings.ADMIN_MEDIA_PREFIX,
}def trac(request):
from django.conf import settings
try: username = request.username
except: username = 'anonymous'
return {
'username': username,
'TRAC_URL': settings.TRAC_URL,
'TRAC_COMPONENT_NAME': settings.TRAC_COMPONENT_NAME,
'TRAC_VERSION': settings.TRAC_VERSION,
'TRAC_MILESTONE': settings.TRAC_MILESTONE,
'TRAC_OWNER': settings.TRAC_OWNER,
}
С первыми двумя функциями все ясно: передают в шаблон значения COMMON_MEDIA_URL и ADMIN_MEDIA_PREFIX.
Функция trac нужна для заполнения страниц с ошибками:
404.html:
{% extends "base.html" %}
{% block title %}404 - Запрошенная страница не найдена{% endblock %}
{% block content %}
<h1>404 - Запрошенная страница не найдена</h1>
<p>Страница не найдена. <a href="{{ TRAC_URL }}newticket?reporter={{username}}&component={{ TRAC_COMPONENT_NAME }}&milestone={{TRAC_MILESTONE}}&version={{TRAC_VERSION}}&owner={{TRAC_OWNER}}">Сообщить об ошибке!</a></p>
<p>Дополнительная информация на <a href="{{ TRAC_URL }}wiki/{{ TRAC_COMPONENT_NAME }}">странице проекта.</p>
{% endblock %}
snippets.py использую для хранения и использования понравившихся сниппетов. Например очень удобный 821:
from django.shortcuts import render_to_response
from django.template import RequestContext
def render_to(template_path):
def decorator(func):
def wrapper(request, *args, **kw):
output = func(request, *args, **kw)
if not isinstance(output, dict):
return output
return render_to_response(template_path, output,
context_instance=RequestContext(request))
return wrapper
return decorator
Осталось только одно, про что я не рассказал - COMMON_MEDIA_URL. Параметр используется в шаблонах для подключения общих для всей информационной службы css и javascript фреймворков.
На очередном хреновом стартапе отправил ежедневный вариант, на что получил вот это:
а ещё газета, над которой, видимо, Березюк тоже работает получила награду (об этом в конце сюжета).
Загадка для детей: найди 10 отличий.
Одно из отличий: "оптимизирован для просмотра в Firefox 2" -нету на вконтакте. Ещё б такой херней марать посещаемый ресурс.
У 72.ru похоже поменялся журналист, или я просто раньше из внимательно не читал. В общем, не перестают радовать заголовками вроде вот этого:
Спортсменка избила милиционеров
Далее текс, тоже юморной:
Привлечена к уголовной ответственности 23-летняя Ирина Х., обвиняемая в применении насилия, опасного для жизни и здоровья в отношении представителя власти. 23 февраля 2008 года кандидат в мастера спорта по дзюдо Х., работающая бухгалтером в учебно-консалтинговом центре в Тюмени, и ее друг приехали в Упоровский район, чтобы навестить родителей последнего. После застолья они решили отвезти домой их общую приятельницу. Во время пути, пьяного водителя заметил наряд ДПС.
Задержав пьяного лихача, сотрудники милиции посадили его в служебную машину для разбирательства. В это время к автомобилю подошла Х. и стала оскорблять милиционеров нецензурной бранью. Сотрудники ДПС по рации сообщили о происходящем в дежурную часть ОВД района и вызвали эвакуатор.
Спортсменка, желая помочь приятелю избежать административной ответственности, схватила одного из инспекторов за одежду и, осуществив бросок, повалила его на землю, порвав при этом форменную куртку. После этого, Х. подбежала ко второму сотруднику ДПС и произвела удушающий захват за шею. В это время к месту происшествия прибыл автомобиль-эвакуатор и его водитель пресек противоправные действия девушки.
В настоящее время Заводоуковским межрайонным следственным отделом расследование уголовного дела завершается, в ближайшее время оно будет передано в суд, сообщает пресс-служба следственного управления области.
Забавно, что в новости, ну по крайней мере мне так кажется, очевидно прослеживаются два факта:
Вот пара цитат:
"Мозг человека - мудрёная вещь, и эффективно пользоваться им умеют очень немногие. Почему? Потому что каждый человек за детство, юность, молодость и т.д. набирает множество установок, которым потом следует безо всякой критики, как единственной истине. Между тем 90 процентов поступающей в мозг информации - это всего лишь чьи-то мнения, суждения, слухи, домыслы, но никак не истина.
..."
http://bicvo.blogspot.com/2008/06/blog-post_9296.html
"Учёные установили прямую зависимость между неправильным завтраком и многими проблемами здоровья. Организм человека состоит из миллиардов клеток. Они каждый день нуждаются в сотне различных питательных элементов. То, что мы съели вчера, состоит из двух основных групп элементов. Первая даёт организму энергию (белки, жиры, углеводы), вторая - строительные материалы (белки, витамины, минералы, микроэлементы и т.д.). Энергию мы потратили вчера, когда бодрствовали, а строительные материалы организм израсходовал ночью, когда происходят процессы восстановления на клеточном уровне. Так что, утром наш организм просыпается голодным и просит сотню питательных элементов и энергию, потраченные нами за последние сутки.
..."
"В соответствии с распоряжением администрации города Тюмени от 5.06.2008 № 475-рк «О внесении изменений в распоряжение администрации города Тюмени от 16.12.2005 № 1773-рк» стоимость разовой поездки в маршрутном такси с 10.06.08 г. установлена в размере 14 рублей."
http://www.tyumen-city.ru/sobitii/vajno/yr2008/mn6/dy11/2936/ - отсюда.
Гениально, не меньше. Прочел Multiple django configurations for development and production. Matt предлагает использовать файлы настройки вида settings_[hostname].py. Типа, settings_ivan-laptop.py.
А проект запускать с параметрами
./manage.py --setings_ivan-laptop runserver
В settings_[hostname].py нужно будет дописать
from settings import *
В чем же гениальность? - спросите Вы. Овет прост:
<Location "/">
SetHandler python-program
PythonPath "['/srv/site-name/python-packages'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE trainingwebsite.settings_production
</Location>
Полный пример и дисскусии по его поводу читайте тут:
http://www.bearfruit.org/blog/2008/05/28/multiple-django-configurations-for-development-and-production
На сайте djangoproject.com оказывается тоже давно об этом подумали. Вот материал: http://code.djangoproject.com/wiki/SplitSettings
Самый интересный вариант, на мой взгляд - ini-style file for deployment.
Телекс пишет, что УСИ ввело новый тариф - 1 Мб для абонентов Интернет для дома. Абонентская плата в месяц - 2000 рублей.
Вот я думаю переходить или нет?
Заголовки тюменских информ изданий пестрят громкими фразами. Например, вяерашние:
Не ходите, дети, в школу, подождите еще год
http://72doctor.ru/children/17.html
За свет можно заплатить картой «Экспресс-энерго»
http://72.ru/newsline/32960.html
или вот самая громкая новость
Казнить педофилов нельзя помиловать?
Депутаты Тюменской областной думы единогласно поддержали коллег из ряда регионов в обращении к президенту РФ, правительству, Госдуме и Совету Федерации об отмене моратория на смертную казнь в отношении лиц, совершивших преступления против детей. Подобную инициативу одобрили законотворцы Санкт-Петербурга, Челябинской, Волгоградской, Владимирской и Ивановской областей.
Думал, что получится повторить фишку с использованием международного приложения к диплому - фигу. В ActiveState Software Inc. об этом подумали сразу, так что студентом считается тока тот, кто реально щас учится по этому student id - то есть я в пролете - мой id в дипломе о законченном образовании.
Вот список всех условий для получения скидки:
1. Copy of your student ID card: current year's date, or expiry date must
be on the card
2. Dated, current class schedule, with school stamp or on official school
letterhead
3. Letter from school on official school letterhead which confirms your
current student status
Не вышло получить лицензию на халяву, ну и пусть. Буду продолжать пользоваться бесплатным вариантов - OpenKomodo.
The Open Komodo platform will be entirely open source and licensed under the same terms as Firefox: Mozilla Public License (MPL), GNU General Public License (GPL), and GNU Lesser Public License (LGPL).
На AG.ru целая серия роликов про FarCry 2. Примечательно, что в игре реализованы все новомодные фишечки и технологии, которые только можно представить.
Например, траву в игре можно сжечь нафиг. Устроить лесные пожары, в которых погибнут враги. Такое я уже видел в Alone In Th Dark, но тут ландшафты побольше и по сложней.
Вот завлекалка:
Старикашку UML рано пытаться заменить молодым блондином WebML. В то время как космические корабли бороздят просторы большого театра в Enterprise Architect можно рисовать интерфейсы (концепцию, естественно, а не сам дизайн).
Пример:
В интернете сейчас огромное количество материалов о unobtrusive javascript. Появляются не смелые упоминания о том, что может быть ещё и unobtrusive css. Ненавязчивай в данном контексте значит - не объязательный, не нужный. То есть должно работать и без него.
Насмотревшись на это сполна выдвигаю встречную теорию unobtrusive everything, but html.
Сейчас обясню откуда ноги ростут: в последнее время я был в роли пассивного свидетеля и активного участника нескольких проектов в которых презентационная логика в силу разных предрассудков опережала функциоальную часть WEB-приложения. В общем-то, я раньше и сильней всех других наступил на эти грабли в аудиторном фонде... Теперь делаю вывод: первична функциональная сторона приложения, продемонстрировать которую можно и в голом html.
В той же django для генерации html форм на лету уже несколько инструментов есть с помощью которых из голой идеи можно получить результат за 30-40 минут (http://f.labwr.ru например), не больше, но нерадивый программист тратит 70% времени проекта на отлаживане работы вот этой вот рюшечки, которая относится к юзаюилити, а не к функциональности в фундаментальном смысле слова.
Ниже таблица приоритетов снизу вверх она уменьшает уровень приоритетности:
yui | ExtJS | любой другой javascript framework |
Unobtrusive javascript | ||
Unobtrusive CSS | или оба сразу | Unobtrusive CSS framework |
HTML |
Наверное Вы скажете: "Что это за фигня такая вааще? Что за банальности?". А я отвечу: "Да, это банальности, но почему-то каждый раз начиная новую проект программист забывает эти банальности..."
Пример масса: у многих горе-любителей AJAX есть привычка фигачить в ссылки асинхронный запрос к серверной части, который возвращает кусок страницы. Итог: отключаем javascript и логи нарушается полностью. Про javascript framework'и я вообще молчю
Неплохой фельмец о том, что итак ясно - нормальную хавку не заменишь фаст фудом, но есть и новые мысли... Смотреть всем!
http://habrahabr.ru/blog/internetbourgeois/42051.html
Про соответствующие органы кстати, действительно они могли б этим занятся. Не правильно как-то, что многие хабролюди ему уже приговор вынесли, хотя и говорит многое против него.
Я не трудоголик. Это факт. Есть просто интересные темы, которые меня могут иногда на долго поглатить, но трудоголизмом я никогда не отличался... Но вот случилось кое-что, что заставило меня всеръез задуматся о моей принадлежности к этой касте (трудоголиков).
Я занимался аудиторным фондом ТюмГНГУ чуть больше 2 недель. Решил достаточно большое количество проблем связных с адаптацией джанго форм к моим конктретным нуждам. Очень много всего понял про джангу.
Последним откровением для меня было то, что я посути всегда знал, но почему-то в нужный момент не вспомнил.
Итак, кульминация:
- за 2 недели я сделал кучю коммитов
- написал много, очень много строк кода
- изматерил всех кто хоть как-то связан с имуществом нефтегаза
сегодня заглядываю в админку (в 500 раз) и понимаю, что реально заказчику нужно было, чтоб к модели данных, которой они пользуются какой-нить добрый человек приделал фильтрацию и скрыл из админки все лишние объекты. На это у меня ушло ровно 3 минуты. 2 недели псу под хвост.
ЗЫ. Зато Серегин диплом готов :)
ЗЫ 2. Я сильно поумнел :)
Докачал наконец-то все 10 сезонов с torrents.ru. Ура!
Они качались 3 недели и 3 дня - это тупо время закачки, а я иногда выключаю комп., который у меня качает.
Пошукал в нете, наешел несколько тематических сайтов:
http://friends.cdom.ru/ - различные интересные факты о сериале Друзья, обои для рабочего стола, куча фоток с участниками сериала Друзья, мелодии и логотипы для мобильных телефонов, видео из Друзей, эпизод-гид The Friends, и можно приобрести полную коллекцию видео сериала "Друзья" в DVD и MPEG4 форматах.
http://www.friendstv.ru/ - русскоязычный сайт любителей... обновлялся 4-го апреля.
Есть и такие, копатся в которых я не захотел:
Обнаружил, что в гугл мой блог чаще попадается в выдаче для запроса ""Mod WSGI". Дело в том, что я уже давал линки по теме. Однако мне есть что ещё написать про это.
Во первый, modwsgi хостится на code.google.com по адресу: http://code.google.com/p/modwsgi/
Там то, собственно и есть вся необходимая информация для настройки modwsgi:
Во вторых, процесс настройки modwsgi под apache описан так же на djangoproject.com:
http://code.djangoproject.com/wiki/django_apache_and_mod_wsgi
С Дениской мы пользовались вот этим источником http://piranha.org.ua/blog/2007/10/05/apache--modwsgi--django/ при настройке modwsgi.
Могу даже привести кусок кода для esp-oilwell.ru, чтоб Ваши поиски закончились на этой странице... Там по проще, чем у Александра Соловьева (предыдущий абзац) - нет процессов-демонов.
<Directory "/var/www/esp/">
Order allow,deny
Allow from all
</Directory><VirtualHost *:80>
ServerAdmin markeev@labwr.ru
DocumentRoot /var/www/esp/
ServerName esp-oilwell.ru
ServerAlias www.esp-oilwell.ruWSGIScriptAlias / /var/www/esp/django.wsgi
LogLevel warn
CustomLog /var/log/apache2/esp-oilwell.ru_access_log common
ErrorLog /var/log/apache2/esp-oilwell.ru-error_log
</VirtualHost>
Добавлю ещё, что wsgi использует свои параметры окружения, поэтому мой любимыйй вариант setting'ов для django
import os
working_dir = os.getcwd()MEDIA_ROOT = working_dir + '/media/'
работать с modwsgi не будет (вроде даже не он виноват, а апач). Жаль.
Известный способ копить на инвестиционные нужды - http://www.kraynov.com/2008/01/22/4-envelope-rule/
И серия статей/отзывов развивающих эту идею:
http://www.kraynov.com/2008/03/05/4-envelope-rule-2/
http://www.effman.ru/2008-04-11/94
http://www.kraynov.com/2008/04/24/4-envelopes-testimonials-1/
Натолкнули нас (меня и Машу) на мысль о том, что не хило было б использовать что-то похожее. Наш вариант - 3 конверта, т.к. деньги для инвестирования/накопления мы тупо сразу кладем в банк.
Отличие нашего метода в том, что мы пишм на конвертах что от кого и как пришло (сумма) и ушло. Конверты выполняют роль группы статей расходов. Например, мы тратим сумму X на выплату за комунальные услуги, Санькины школы, кружки еду в холодильник и пр. - это первый конверт.
Второй конверт еженедельные траты на еду. Получилась сумма Y. В неделю тратим Y/4.
Третий - непредвиденные расходы. Сумма Z. Пока что Y = Z. Не знаю, как так получилось, но в прошлом месяце мы опытным путем выяснили значения каджой из сумм. Для этого старались записывать все денежные операции. Но прошлый месяц был не совсем обычным - я получил от УТСК полную оплату наших услуг. Не обычность как раз в том, что заказчик расчитался в течении 1 (!) месяца.
УТСК - это ОАО "Уральская теплосетевая компания". Мы с Дениской и Юлей запустили его 10 дней назад. Урл сайта - utsk-teplo.ru.
Примечательно, что сайт как-то хиленько проиндексировался в google, хотя обычно наличие google analitycs скрипта на сайте приносит не плохие плоды. Как бы там нибыло, я начинаю открытый эксперимент по новым для меня методам раскрутки. Чрезмерно упорствовать не буду, так как бюджет мероприятия не велик, но всеж попробую некоторые дедовские методы. По прошествии недели, если не закручюсь слишком опубликую результаты...
Пока картина такая:
88 посещений
821 просмотр страниц (видимо со стороны заказчика из других городов).
9,33 Страниц/посещение
Процент посещений из поисковых систем (собственно то, что я и собираюсь увеличивать) - 2,27 %
Google Webmaster tools про сайт вааще ниче не знал, и сильно удивился, его увидев. Сегодня добавлю сайт в пару каталогов. Больше ниче (по крайне мере сегодня) делать не стану.
http://www.sitepoint.com/print/javascript-library
Говорят, что YUI подойдет для "smaller projects" т.к. не нужно глубоко копать... - хз-хз. Пока не все так шоколадно.
И вот ещё прикол:
http://www.google.com/trends?q=jquery%2C+yahoo+ui%2C+ExtJS&ctab=0&geo=all&date=all&sort=0
jquery
yahoo ui
extjs
Кстати, гугл трэндс полезная штука! Например вот такое исследование:
путин
медведев
Предлагаю конкурс: самый бредовый график на гугл трэндс. Скажем, что популярней в Америке: покупка носков или Буш?
В Google Reader есть возможность вести shared list'ы. В них попадают RSS собщения, на которых Вы в своем ридере выбрали опции share. Если учесть, что делается это не хитрыми хоткеями, то получится очень удобный инструмент.
Главный плюс этой штуки как раз в том, что не нужно рассылать всем своим друзьям ссылки на интересные статьи.
Мой лист доступен (как и любой другой) в виде страницы и в виде RSS ленты.
Вот тут Slocum написал, почему все так плохо http://jackslocum.com/blog/2008/04/26/ext-js-license-change-and-personal-attacks/.
Оказывается, "people who know me know that for me, it’s not about money, but about a passion for doing something that I love"
мой перевод: "пацаны, котрые меня знают, реально подтвердят, что бабло тут непричем! Для пацана главное - лохов мутузить, деньги отбирать... - ну, в общем, заниматься любимым делом".
Поздно Slocum, мы тебя уже ненавидим! :)) - шутка, конечно. Пусть зарабатывает, жалко что ли.
В этом и нескольких следующих постах опишу свое знакомство с Yahoo User Interface Library. Штука это, прямо скажу, замечательная, так как с недавних пор (после знакомства с ExtJS) меня радует все, что хорошо справляется со своими возможностями, но не тянет за собой ничего лишнего. Последнюю часть предыдущего предложения пожалуй опишу по подробней.
Почему? Представьте, что грид. или форма, используют большие массивы данных (в гридах примеры не нужны, в формах - список стран, городов и пр.). Представьте, теперь, что Вы, чтоб это дело не тормозило, сделали динамическую подгрузку данных с сервера. Ура, вроде проблема решена, но известный факт что javascript машины в разных браузерах работают по разному.
Например, стал свидетелем того, как мой layout из 3 колонок с вложенным в него деревом, гридом и панелью картинок (но помню как точно называется компонент) грузился в опере за 3-7 секунд в фоксе (из за известного повисания в начале перегрузки страницы) 10-15, а в safari - рекрдные 30-40, причем бэнчмарк для этих браузеров дали такие результаты:
firefox 2.0.0.14 - 25172.2ms +/- 2.3%
Safari 3.1.1 - 6174.0ms +/- 7.1%
Ещё интересный материал по теме http://celtickane.com/webdesign/jsspeed2007.php, результаты которых подходят по смыслу больше (сравнивается работа с массивами), но парадокса все равно не объясняют.
Вывод: ExtJS - один хороший фреймворк можно было бы разделить на два отличных (javascript и стили), но тогда, видимо, было б сложней продавать поддержку - ведь все стало б быстрей и проще :). ExtJS рано или поздно выйдет на Enterprise уровень, где ему и место и станет библиотекой для Visual Studio и пр. монстров. И попытки ограничть круг использующих ExtJS просто ради забавы уже сейчас видны - 2.1 версия под новой лицензией.
YUI, на первый взгляд, этими вещами не страдает. Наоборот, есть хорошая и очень подробная документация с примерами. По каждому примеру Вас ведут за ручкуу на хорошем английском :(.
Есть даже блог разработчиков в котором публикуют новости из мира yui. Там например, я узнал, что есть сниппет для django использующий YUI Loader как Django Middleware - AJAX, блин, полный.
Главное, что меня привлекает в YUI - возможность наряду с javascript'овыми извращениями сохранять RESTful подход к созданию веб-приложений, оставлять лазейку, в случае если отключен javascript, картинки. Хотя это параноя.
Господин хороший в своем блоге http://sqwishy.wordpress.com/2008/04/22/django-svn-zip-archive-download/ сделал удивительное открытие/наблюдение: оказывается в траке есть ссылка (в browsesource) "Download in other formats: Zip Archive".
Уверен, что при всей нелепости данного открытия многим оно будет очень полезно. В особенности моим дипломникам, у которых постоянные проблемы с svn-клиентами.
Вот так! Не больше не меньше! Экономическая система.
Почему экономическая спросите Вы? А очень просто. Разрабатывали её в Управление автоматизации экономических систем.
В общем, я думаю, можно смело идти делать электронные презентации - теперь все делают что им захочется.
Referer-checking view decorators
local_referer_only - подошел бы для органичения Google Analytics на http://www.education-ws.ru
И ещё одно: Django tips: Template context processors
Статья о том как переписать контекст render_to_response например.
При регистрации в сервисе (до первого входа) просят дословно следующее:
"Можно конечно, просто поставить ссылку на нас. Но нам, честно говоря, было бы интересно почитать, что вы думаете о самой идее проекта. Нам интересны ваши мысли на эту тему. Мы не требуем положительных откликов — говорите правду, только правду и ничего кроме правды."
Легко, ребят: тупо просить оставить отзыв о Вашем сервисе до непосредственного его просмотра, а именно этим Вы и занимаетесь. Я ещё ниче не видел, но уже должен написать "...правду, только правду и ничего кроме правды".
Идея хороша, но я не видел реализации пока что. Если мне все ж понравится, то я тут чуть позже и отпишусь.
Оригинал тут: На Мельникайте ремонт!
Движение транспорта будет организовано по четной стороне в двух направлениях:
а) с 22 апреля по 9 мая на участке от ул. Харьковская до ул. 50 лет Октября;
б) с 9 мая по 25 мая на участке от ул. 50 лет Октября до ул. Республики.
1. Django on Google App Engine in 13
Автор по шагам показывает как можно использовать джанго на Google App Engine хостинге и его же SDK.
2. Google App Engine & Django - ветка обсуждения этой парочки на Google Groups.
3. Anybody used Google app engine, and wanna share their experience? - ещё одна ветка на гугль групс, но эта посвящана first look ощущениям.
Если кто, вдруг, ещё не в теме, то
http://code.google.com/appengine/docs/ - Developer's Guide по Google App Engine
http://appgallery.appspot.com/ - примеры приложений на Google App Engine
Среди них есть некозистый ToDone, тем не менее, сразивший меня. Пользуюсь им теперь все время.
А ещё по Django Photologue есть теперь документация.
И порадовал: http://code.google.com/p/django-mobileadmin/. Мне б их проблемы :).