Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2010-07-29

Всем спасибо, все свободны

У меня отпуск, две недели я постараюсь не приближаться к компьютерам.

2010-07-28

What will we do with a drunken sailor?

Early in the morning.

Ах, какая прелесть:

Irish Rovers.

Поставлю себе на будильник.

Way hay and up she rises
Early in the morning!

Дернул флешку с ютуба и конвертнул в мп3:
ffmpeg -i Drunken_Sailer_-_Irish_Rovers.flv -ar 44100 -ab 190K \
-y Drunken_Sailer_Irish_Rovers.mp3

Лью на комм :)

CheatSheets

Странно, вроде очевидно полезная штука, шпаргалки такие, а я ими никогда не пользовался. Хотя, когда увижу — лежит без присмотра, сразу утягиваю.

habrahabr.ru/blogs/webdev/97088
spyrestudios.com/mega-collection-of-cheatsheets-for-designer-developers

Там даже по Python-у есть шпаргалка:
http://www.addedbytes.com/cheat-sheets/python-cheat-sheet


HTML5ROCKS — ресурс для тех, кто разрабатывает будущее веба (от так!). Презентации для поиграть с фишками HTML5, песочница для поиграть с API и кодом, пошаговые обучалки использования фишек HTML5. Если и не полезно здесь и сейчас, то, как минимум, весьма занимательно.

2010-07-27

В Рязани хорошо

С мест сообщают:

Компания "М2М телематика Рязань" установила в Рязани комплексный маршрутный указатель (КМУ) на базе ГЛОНАСС/GPS, который в режиме он-лайн информирует пассажиров о фактическом графике движения муниципального пассажирского транспорта и времени его прибытия. В России подобный проект реализуется впервые

citforum.ru/news/24105

Интересно, через что они гоняют трафик от автобуса до диспетчерской? Через GPRS?
Каждый раз, как по полчаса и боле жду автобуса, думаю о подобных технологиях. Несложно, не очень дорого, зато как удобно. В Рязани уже есть.
Ничего, и на нашей улице перевернется грузовик с пряниками :)


3 терабайта внешний диск, FreeAgent от Seagate. Очень неплохо, но непонятно, на что делать резервные копии? На другой такой диск?

2010-07-26

Два Вьетнама

У Гоблина:

Цитата:
Многие базы морской пехоты имели специальную, хорошо защищённую — в первую очередь от собственных войск — жилую инфраструктуру отдельно для офицеров и старших унтер-офицеров. Мы никогда не узнаем сколько из них были убиты собственными подчинёнными, но наверняка в десять раз больше чем официально сообщается. «Странная» смерть быстро превращалась в «артобстрел». А мина под кроватью называлась «ракетной атакой». Многие базы испытали огневое воздействие больше изнутри, чем снаружи, в ходе перестрелок между, скажем, афроамериканскими солдатами и старшими унтер-офицерами из тех регионов страны, где виртуальное рабство всё ещё имело место быть.


Надо им заслать пару-тройку российских режиссёров.
Эти покажут, как всё было на самом деле — насчёт зверств сталинизма.

oper.ru/news

Это из статьи Гордона Даффа с сайта veteranstoday.com

Там рассказывается про два вьетнама: один, где умирали морпехи непонятно за что, при плохом снабжении и без поддержки; другой, где офицерье в тылу торговало армейским стаффом и даже оружием.

Перевод на русский:
inoforum.ru/..._chast_i/
inoforum.ru/..._chast_ii/

Читать осторожно, возможны разрывы шаблонов.

2010-07-25

Почта России не доставляет

Принесли сегодня конверт. Письмо, заказное, с уведомлением. Ну, как принесли - бросили в почтовый ящик. Хотя положено — с уведомлением. Наверное, почтарь подпись в уведомлении подделал (на этом месте прорезалась мысль - надо бы проверить и наказать, для порядку).

На конверте штемпели — отправлено 14 июля, получено в почт.отделении 19 июля. В ящик к нам попало 24 июля. И это при том, что отправитель находится на улице, до которой пешком идти 10 минут от адреса доставки. Фактически, все почтовые операции были в пределах микрорайона. 10-факин-дней!

Да, «только массовые расстрелы» помогут навести порядок на почте, такова первая реакция на такие известия. Тут где-то в тырнетах мелькало сообщение о проверке почты и последующем ее штрафовании. На 30 000 руб. Это не смешно, это очень печально.

Сцылки:
Как начать пользоватся GoogleCL. Я так и не придумал, зачем оно мне надо :)

KeePassX, программулина на .NET для хранения секретов. Удобно хранить логины-пароли и сопутствующую инфу. Работает как в винде, так и в линуксе (под Mono). Правда, самая свежая версия лично у меня в дебианчике не пошла, довольствуюсь старой версией. Мне нравится, помогает жить. Например, можно не использовать ограниченный набор запоминаемых паролей а генерить пароли генерилкой, чтобы ни одного одинакового пароля не было. Без такой программулины такое количество паролей запомнить может только маг высокого уровня :)

2010-07-22

Важен не размер заработка а его источник

Сословная Россия:

Феодалы кормятся за счёт захваченных ими ресурсов. Такими ресурсами могут быть нефтяные вышки, высокий пост в правительстве или же должность, дающая контроль над потоком бюджетных денег.
...
Почему я объединил бизнесменов, офисный планктон и рабочих в одну категорию? Потому что они зарабатывают деньги самостоятельно. Не отбирают деньги, не получают деньги, а именно зарабатывают. Это накладывает очень серьёзный отпечаток на мышление человека.
...
Очень значительная прослойка нашего общества — это бандиты. Причём, что характерно, они сейчас плотно срослись с государственным аппаратом и занимаются вымогательством чуть ли не на законных основаниях.
Понятный всем пример — сотрудники ГИБДД. Основным заработком которых является собранная с автолюбителей дань.
...
К рантье можно отнести пенсионеров, госслужащих, преподавателей большинства ВУЗ’ов и работников поликлиник… вы можете сами легко продолжить этот ряд.
Работы от рантье никто не требует. Они или прямо получают пособие (как пенсионеры), или же в качестве работы занимаются имитацией полезной деятельности, результатов которой никто не видит.
...
Парии. Есть нашем обществе обширные пласты людей, которые не имеют вообще никаких прав. Это наркоманы, «тяжёлые» алкоголики, бомжи, заключённые, солдаты срочной службы, гопники, гастарбайтеры.
Объединяет отверженных одно — их можно безнаказанно бить и грабить.
...
Причина — в атмосфере лжи.
Дело в том, что мы — не Азия и не Северная Америка. Мы живём в Российской Федерации, в наследнице СССР, который, в свою очередь, являлся наследником Российской Империи. И у нас люди не приучены ни лгать, ни слушать ложь. Не сложилась у нас в стране культура улыбчивого лицемерия.
Когда царь называется царём — это для русского уха нормально. Согласно данным ВЦИОМ, 10% опрошенных даже считают вполне актуальным вопрос о восстановлении монархии (пруфлинк).
Но когда царь выглядит как царь, говорит как царь и ведёт себя как царь, называя себя при этом демократическим политиком… Мы, извините, не Штаты, где в головах аборигенов спокойно сочетаются залитый диоксином Вьетнам, разорванная на куски Югославия, разрушенный войной Ирак и добрая/справедливая/миролюбивая американская армия.

fritzmorgen.livejournal.com/313207

Согласен с изложенным чуть более чем полностью.


Кластерная файлсистема, для тех, у кого есть внешние накопители подключаемые сразу к нескольким хостам/узлам.

Как купить качественного чаю

Опять цитатник получается.

1.
В продолжение темы «как купить качественного бухла и сэкономить». Прям из Китая можно закупиться чаем. Настоящим, недорого.

2.
Раскрыта тайна «человеческого фактора», оказывается это «чиновничий фактор», квинтэссенция:

Ну, вы поняли идею. На всякий случай, если вдруг вы окажетесь в шкуре бюрократа, даю подробный рецепт: как прикрыть свою задницу на случай какого-нибудь ЧП.
Разберём на примере начальника IT-отдела, который не хочет отвечать, за возможную кражу или потерю информации.
1. Пишем инструкцию, которую живые люди заведомо не будут выполнять. А именно: требуем делать резервные копии раз в неделю и не реже раза в месяц менять пароль на новый, из восьми случайных буквоцифр.

fritzmorgen.livejournal.com/318216

2010-07-21

Как выжить при встрече с агрессивными собаками

Как ни банально — избегать таких встреч. А если не удалось:

Представьте себе сцену, как вы ломаете ей лапы, ребра, душите ее коленом, рвете ее на части, ее кровь течет рекой, она визжит и стремиться убежать. Таким образом, вы сами морально подготовитесь к бою, а собаки - телепаты, тоже "увидят" эту картинку своего нерадостного будущего. Ведите себя как Тарзан, демонстрируйте абсолютную решительность и готовность вступить в бой немедленно. Впрысните себе в кровь адреналин Победителя. Причем надо кричать это громко и злобным рычащим голосом "А-а-аЫ-ы-ы! Что я с тобой сделаю! Как я ждал этого момента! Ну наконец-то! Сейчас ты узнаешь, что такое Боль!" Кричите что угодно, но кричите "страшно".
...
Большую роль играет возможность нарушения оптической связи между хозяином и собакой. Без визуального контакта со своим хозяином она чувствует себя куда менее уверенно. Поэтому, если есть возможность, увлеките ее за собой к кустарник, за деревья, за угол, и т.п. Собака тут же потеряет стимул к продолжению боя. Территория наверняка не ее, хозяина тоже не видно, вы не дичь... За что бороться? В большинстве случаев она постарается выйти из бою.
...
Во время войны работники СМЕРШ использовали самодельную смесь (т.н. Кайенскую смесь) для нейтрализации собак. Состоит она из смеси молотого черного перца и табака в соотношении 50/50. При покупке табака выбирайте самый вонючий. И перец, и табак дополнительно перемалываются до пылеобразного состояния (например кофемолкой). Можно также добавить и порошок горчицы. Эта "пыль" прекрасно липнет и оседает на любой влажной слизистой ...
Хранить такую смесь надо в пластиковом цилиндрическом стаканчике. В наружном кармане. Причем крышка должна быть одновременно и плотной и сниматься мгновенно и одной рукой, например, большим пальцем. Идеально подходят флакончики из под витаминов.
...
В продаже имеются сигнальные патроны типа "Факел". Это специальный состав в корпусе, напоминающем маленькую гранату. Принцип действия как у хлопушки - "дерни, деточка, за веревочку..." После срабатывания патрон в течении минуты выбрасывает факел ослепительного пламени длиной сантиметров 30-50. Если вы удлините шнур до 20-30 см надежным шнуром, а сам патрон будете носить в доступном месте, то привести его в действие - полсекунды и одной рукой. После рывка патрон превращается в мини-огнемет.

forums.bkb-vityaz.ru

Очень, очень толково все рассказано, прям спецкурс подготовки собачьих терминаторов. Остается только добавить, что знать способы и приемы мало. Надо уметь воспользоваться этим знанием. Иначе это бестолку.

2010-07-19

Включили горячую воду

Прошло две недели жизни без горячей воды. Сегодня, по графику, воду включили. Но нам это радости не принесло — в стояке неким образом срезало трубу на входе в раздаточную гребенку (после счетчика, гы). Узнали мы об этом не сразу, нет. После звонка (по телефону!) соседки снизу, которая в данный момент в деревне. О как. Ейный родственник в это время цветочки поливал и кошку кормил. Он и воду вычерпывал.

Ну, мы воду перекрыли, потоп ликвидировали, сантехника вызвали.
А пока любуемся продуктом тяжелого машиностроения (или среднего?):

Это общий план.
А это крупный план:


Хорошо, когда горячая вода в доме есть (а на улице за 30 жара, в доме тоже близко к тому; а вокруг — озера горячей воды)!

Install Oracle DB on Debian

В связи с заточкой Оракла под RedHat, установка на дебианчик выглядит волшебно. Есть прекрасная статья о установке Oracle 11 на Debian Lenny, и не просто так, а удаленно, через VNC.

The main goal is to get the Oracle installer to run so you can install Oracle successfully. This application has to be run within X windows. We will use vnc for that, this is not necessary, but you may (often) find you have to install Oracle remotely. And using something like vnc sure beats spending time in a noisy server room.

debian-administration.org/article/Installing_Oracle11_on_Debian_Lenny

И до кучи:
Продолжаем знакомиться с технологиями сегодняшнего дня: Node.JS, Redis, MQ.

2010-07-18

Уроки истории

Читаю «Доктор Фаустус» Томаса Манна (В 1947 году Манн опубликовал роман «Доктор Фаустус. Жизнь немецкого композитора Адриана Леверкюна, рассказанная его другом». В нем он изложил свое понимание эпохи нацизма отнюдь не как случайного явления, но как закономерного этапа в немецкой истории, подготовленного всем ее прежним ходом).

Ужасно тяжеловесные фразы, неторопливое изложение, масса ответвлений. Читать очень тяжело, прекрасное снотворное. Но некоторые вещи надо знать, ибо я предпочитаю быть более культурным, нежели менее. К тому же, попадаются очень интересные и современному человеку места. Вот, к примеру:

...всё это давало право назвать эту книгу эпохальной. Ещё большее право на это давали её проницательные слова о том, что в век масс парламентская дискуссия как средство политического волеопределения окажется совершенно несостоятельной; что в будущем массам заменят её мифические фикции, призванные, подобно примитивному боевому кличу, развязывать и активизировать политическую энергию. Смелое, волнующее пророчество этой книги по сути дела и состояло в утверждении, что движущей политической силой станут отныне доступные массам демагогические мифы: басни, кошмары, химеры, которые вообще не нуждаются в правде, разуме, науке, чтобы проявлять своё «творческое начало» и определять жизнь и историю, доказывая тем самым свою динамическую реальность. Нетрудно видеть, что книга эта недаром носила столь угрожающее заглавие: она трактовала о насилии как победоносном антагонисте истины. Она давала понять, что судьба истины родственна, даже тождественна судьбе индивидуума, что эта судьба — обесценивание. Она открывала глумливую пропасть между истиной и силой, истиной и жизнью, истиной и человеческим коллективом. Она молчаливо подразумевала, что последний надо предпочесть первой, что истина должна иметь целью человеческий коллектив и что желающий в таковом участвовать должен быть готов сильно поступиться наукой и истиной, готов на sacrificium intellectus[152].
...
Что-то гротескное было во внушительном аппарате научных данных, привлечённом для того, чтобы назвать чушь чушью и скандальным оскорблением правды, ибо ведь с этой стороны к динамической, исторически-творческой фикции, к так называемой фальсификации, то есть к коллективизирующей вере, не следовало и подступаться, и её защитники изображали на своих лицах тем большее презрение и превосходство, чем усерднее старалась противная сторона опровергнуть их на совершенно чуждой и ненужной им почве, на почве научной, на почве честной, объективной истины. Бог ты мой, наука, истина! Дух и тон этого возгласа пронизывал драматические вещания спорщиков. Они не уставали потешаться над бесполезными нападками критицизма и разума на совершенно неприступную, абсолютно неуязвимую в таких столкновениях веру и объединёнными усилиями сумели представить науку в настолько смешном свете и настолько немощной, что даже «прекрашные принсы» чудесно тут забавлялись на свой инфантильный манер. Правосудию, за которым было последнее слово и окончательный приговор, повеселевшие участники диспута не замедлили приписать такое же самоотрицание, каким они занимались сами. Юриспруденция, желающая слиться с «народным чувством» и не быть изолированной от коллектива, не может позволить себе судить с точки зрения теоретической, враждебной коллективу так называемой истины; она должна доказать, что она современна, в современнейшем смысле патриотична и уважает плодотворный обман, оправдывая апостолов обмана и оставляя с носом науку.
...
Однажды, впрочем, я предложил «на минутку отвлечься от забавы» и подумать» не поступит ли пекущийся о нуждах коллектива мыслитель умнее, если поставит своей целью всё-таки истину, а не коллектив, потому что косвенно и постепенно истина, и даже горькая истина, приносит коллективу большую пользу, чем философия, решившая послужить ему в ущерб истине, но в действительности этим своим отрицанием начисто разрушающая изнутри основы настоящего коллектива. Однако никогда в жизни мне не случалось делать замечания, которое бы так бесславно рассыпалось прахом, как это.

Ничего не напоминает? (охлократия, «совецкая интеллигенция», современные петрики?). Это Томас писал про Германию, следующим шагом которой стал приход к власти национал-социалистической партии, сиречь — Гитлера.


Доктор Фаустус


Как дизайнер троллил секретаршу. Смешно.

2010-07-16

ЖЖжужжат

Накопилось тут вкладок открытых в браузере, жж-шных. Щаз поглядим, что в них.

Борьба с коррупцией потихоньку:
Генпрокуратура направила в организацию Совета Европы «Группа стран против коррупции» («Греко») отчет, как Россия исполнила 26 рекомендаций, выданных ей европейскими экспертами в декабре 2008 г. после двух раундов проверки, рассказал «Ведомостям» чиновник Кремля и подтвердил исполнительный секретарь «Греко» Вольфганг Рау. К осени эксперты «Греко» изучат его и на 49-й сессии организации в ноябре дадут оценку усилиям российского руководства по борьбе с коррупцией в стране.
Из проекта отчета (есть в распоряжении «Ведомостей») следует, что только 12 рекомендаций было исполнено полностью: приняты план и стратегия по борьбе с коррупцией, принят закон «О противодействии коррупции», расширены возможности участия общественников в президентском антикоррупционном совете, установлены критерии приема на работу прокуроров, судьи получили право оспаривать решения об увольнении, расширены возможности по доступу граждан к информации по деятельности судов и госорганов, введены публичные отчеты чиновников и правоохранителей, в ведомствах созданы комиссии по конфликту интересов.
vedomosti.ru/newspaper/article/2010/07/12/240193


Как купить качественного бухла и сэкономить:
Теперь о ценах. Сядьте поустойчивее, пристегните ремни.
Hennessy XO - 72.30 GBP (1 GBP на сегодня == 46.04 деревянных или $1.4869). Запомните эту цифру.
Courvoisier Exclusif - 29.74 GBP.
Blue Label - 34.00 GBP.
Доставка - 28 GBP.
Итого - 164.04 GBP. Соответственно, 7552.40 RUR. Или $243.91.
Теперь самое фкусное. Мякотка, тысызыть. Точно такая же бутылка точно такого же Hennessy - если даже не принимать во внимание ненулевой шанс нарваться в Рашке на палево - здесь, в 7-м Континенте (знаю, что не самый дешёвый магазин, но в ларьках таким коньячком и не торгуют) - 11490 RUR.
Прописью: одиннадцать тысяч четыреста девяносто рублей.
Против 7552.40 за всю хуйню, объёмом больше чем в два раза, плюс доставка из Британии.
cybernatic-cat.livejournal.com/1052897

А вот футболок прикупить уже не удалось.

Комментарий участника «состязаний» про таможенный кодекс:
eldarmurtazin.livejournal.com/700416


Про справедливость:
Ну, то, что дети более склонны к примитивной справедливости вида "отнять и поделить", понятно. Опыта жизненного - ноль. Заработков - ноль. А амбиций и потребностей - максимум, поскольку только-только в жизнь вступают и еще ничего у них нет. И не скоро будет. А ждать - терпения нет. Да еще обидно: какие-то старперы все имеют, а я такой молодой, на которого девки заглядываются, ничего не могу этим девкам предложить, кроме голого хуя. С ними ясно...
Кто еще склоняется к социализму? Худшие. Неуверенные в себе. Те, которые понимают - самим им на пристойную жизнь не заработать, нужно у кого-то отнимать в виде социальных гарантий. То есть социализм - это преступление. Грабеж под прикрытием благородных слов. Социальное гопничество.
a-nikonov.livejournal.com/751965


Мы граждане, или где?
"Для обучения в тире надо взять 2 справки - у врача твоей поликлиники, что ты не псих - 5 минут, и в полиции, что не козёл (нет открытых уголовных дел на меня) - 3(!!!) минуты.
Приехал в тир. Проверили справки и удостоверение личности. Отправили на инструктаж.
Инструктаж - основы оружейного законодательства. Инструктор высказал очень интересную мысль, в вольном переводе - "мы, граждане, и на нас лежит безопасность наша и окружающих, А ПОЛИЦИЯ НАМ В ЭТОМ ПОМОГАЕТ".
По закону вооружённый гражданин при угрозе имуществу, здоровью и жизни его или окружающих ОБЯЗАН действовать. При угрозе имуществу и здоровью обязан остановить (по возможности не стреляя на поражение) преступника с помощью оружия, при угрозе жизни ОБЯЗАН открывать огонь на поражение сразу, безо всякой лабуды с выстрелами в воздух. Правда после стрельбы также обязан оказать первую помощь обезвреженному подстреленному до приезда скорой и полиции.
a-nikonov.livejournal.com/752439

2010-07-15

Да, это она, оптика!

На этот раз я не обманулся, таки да, действительно мы теперь имеем тырнет по оптике! Инженеры бибины подтвердили. Все летает, ничего не тормозит. Не прошло и двух лет.
Имея возможность сравнивать качество связи, довольно легко получается субьективно ощущать величину таких параметров как потери пакетов, отклик. А ведь я пользовался, во времена оны, модемной связью на 33 кбита и не жужжал. Правда, радости от такого тырнета даже тогда было не особо много. А сейчас тырнет - это просто необходимый инструмент. А инструмент должен быть хорошим. И должен быть :)

Это было приятное. А теперь про грабли, чтобы другим не наступить.
Есть у ESRI такая штука, как argisscripting. Для скриптования разных действий с данными и разными обьектами в ГИС. Так вот, докладываю, эта штука весьма глючная, в частности, при длительной работе текут ресурсы (видимо). Ибо если в цикле, перебирая таблицы, делать из них выборку и слегка печатать инфо из выборки, то к сотой итерации начинаются чудеса. Неприятного свойства. Чтобы их избежать, надо просто перезапустить обьект геопроцессора:

for num,x in zip(xrange(1, 9999),sorted(listObj)):
if x.startswith('TEST.'): pass
else: continue
if num % 50 == 0:
del gp
gp = arcgisscripting.create(9.3)
gp.workspace = dbName

Это фрагмент скрипта, в части перезапуска геопроцессора каждые 50 итераций.

Разное.

Хороший текст про работу с кодировками текста в Python. Основная проблема, не решенная до сих пор, в том, что надо точно знать, в какой кодировке текст, с которым вы работаете. Чтобы успешно применять функции decode, encode. Если вы не угадаете кодировку, получите иксепшн. Или, если выберете опции «ignore» или «replace» для декодера, потеряете текст.

Плохой текст про дисбаланс закона. Если не оплачена коммуналка, можно потерять собственность — квартиру. А если вы потеряли квартиру по «ошибке» буха или судебного пристава или почтальона, то никому ничего плохого не будет.

2010-07-14

Потери=0

Сегодня я на практике проверил теорию о зависимости «скорости тырнета» в винде от потерь пакетов на линии. Ибо сегодня я обнаружил, что тихо, мирно, без обьявления ядерной войны бибина расщедрилась на нулевые потери. Вы не поверите, я без всяких замеров могу ощутить наличие/отсутствие 10% потерь. Но я замерил — нет потерь! Как только я осознал этот замечательный факт, я побежал мерять скорость скачивания на винде. И таки да! Качает полной мерой.
Практика подтвердила, есть зависимость скорости от потерь пакетов.
Если у вас недостижима тарифная скорость и вас MS Windows, померяйте потери пакетов. Если они не равны нулю, тарифной скорости вам не видать.


Типа гуглобус, но не гугл, да еще и опенсорц:
World Wind, an open source 3D interactive world viewer, was created by NASA's Learning Technologies project, and released in mid-2004. It is now developed by NASA staff and open source community developers.

Погода шепчет, если прислушаться, слышно «сдохни». К выходным обещают ППЦ.

2010-07-12

Вечные часы

На днях искал запчасть некую в своих коробках и наткнулся на чудесное:

вечные часы. Я купил их у китайцев, в Паланге, в 1996 году, за копейки, по приколу. Они исправно показывают время (китайское? никогда не совпадало с моим) до сих пор. Нет, батарейку не менял, даже не знал и не знаю, где она там и какого формата. Вы только подумайте — 14 лет! Я два раза переезжал, а они не потерялись. И тикают! Сколько аппаратуры у меня вышло из строя за это время — не перечислить. А они тикают.
Безумный аппарат. Сейчас таких не делают.

И еще чудесное.

Бенджамин Франклин про самосовершенствование:

Я решил поступать подобно человеку, который, желая выполоть свой огород, не пытается сразу уничтожить всю сорную траву, что превосходило бы его возможности и силы, а трудится одновременно только на одной грядке и переходит ко второй лишь после того, как очистит первую.

habrahabr.ru/blogs/arbeit/98422

Достойный был человек. Сейчас таких не делают.

2010-07-10

Приехали в светлое завтра

Следите за руками, будем считать деньги. 2010 год, лето.

Итак, имеем:

  • маршрут Москва - Паланга (если угодно, Клайпеда);
  • два чела едут туда и обратно;
  • жел.дор.билеты обошлись в 16000 рублей;
  • еще тыщи три-четыре придется потратить на билеты от Вильнюса до Паланги;
  • прямого авиарейса нет, с пересадкой самый дешевый вариант обойдется раза в полтора дороже жел.дороги.
  • Есть еще автобус, идущий сутки от Москвы до Паланги, но это пытка, хотя и относительно недорогая.

Плюс, ко всему этому явное недовольство ценой на билеты.

Теперь считаем.

Расстояние чуть более 1000 километров, будем считать, со всеми загибулинами дороги, 1500 км.
Бензин стоит за литр - доллар. Автомобиль жрет менее 10 литров на 100 км., примем, 1 литр на 10 км., т.е. 10 км эквивалентно доллару.

Теперь амортизация авто. Есть где-то специальные таблицы, но мне их лень искать, я посчитаю просто. Авто стоит 10 000 долл. Его эксплуатация, допустим, сожрет еще 10 000 долл. за срок его службы. Срок службы, допустим 150 000 км. После чего авто продается за 3000 долл. Итого, 17 000 долл. за 150 000 км. Упростим, 17 000 долл. за 170 000 км. и скручивание спидометра :) Получается, опять 10 км. эквивалентно доллару.

В сумме, мы имеем стоимость проезда на личном авто - 5 км. за один доллар. Свое время считать не будем, это очень тонкая материя.

Общую длину маршрута в 3000 км. делим на 5, получаем 600. Это цена поездки на автомобиле (личном) в отпуск из Москвы в Палангу. 600 долл. это 18000 руб.

Видно, да? На личном автомобиле ехать если не дешевле, то и не дороже. Плюс, вы имеете все преимущества самостоятельного перемещения в личном (не общественном) транспорте. Ну и недостатки. Хотя, если посмотреть, с какой жадностью народ покупает автомобили, преимущества пересиливают недостатки.

Вы не находите, прекрасно невидимая рука рынка отрегулировала цены? Дешевле купить автомобиль и самому на нем везде ездить, чем пользоваться общественным транспортом. Дожили, пля, до светлого завтра.

Похоже, я таки куплю автомобиль. Буду в отпуск ездить, да?

Один WKID, много SRID

Временами просто оторопь берет, от ощущения, насколько на соплях все держится. Все, в данном случае, это АркГИС-ный инструментарий.
Вот, последнее откровение :)

Веб-карта умеет передать на сервер сведения о своей координатной системе, в формате WKID (Well Known ID, я, кстати, так и не нашел общего реестра этих «хорошо известных ID). Сервер умеет преобразовать координаты в другую коорд.систему используя SRID (Spatial Reference ID, это просто ID в служебной таблице на сервере). Задача сводится к тому, чтобы по известному WKID найти в таблице нужный SRID, после чего вызвать функцию преобразования координат. Изи.
Думаете вы. Я тоже так думал, пока не убедился в том, что для одного WKID в табличке есть аж десяток SRID-ов. И только один из них нужный, обладающий необходимым мне датумом. Вопрос, как его найти? Ответ — никак, только перебором. Ибо в веб-карте нет информации про датум. Такая информация есть в реестре проекций, оттуда можно взять описание датума. Хорошо, попытка не пытка.
Только без результата, ибо дурная таблица со SRID-ами отличает один срид от другого только дополнительными параметрами, которые более нигде не участвуют, а описание датумов у них одинаковое! В итоге, грамотно выбрать один из 10 как-бэ-подходящих сридов невозможно. Выбираем наощупь — сработает/не сработает. Ибо трансформация координат работает только «для одинаковых датумов», которые, плять, записаны как одинаковые, но не работают.

Ну вот как жить? Так и напишу заказчику, мол «проведите ручную чистку системных таблиц, с непредсказуемым постэффектом», да?

Вот еще пример неадекватности. Поведение антиалиасинга зависит не от галочки «включить антиалиасинг» а от формата графического файла.

2010-07-09

Безопасность внешних методов

В документации Zope довольно ясно сказано, что не нужно возвращать из ВнешнихМетодов обьекты классов. Возвращать нужно, в худшем случае, коллекции или итерируемые обьекты, тогда их можно будет использовать в DTML, ZPT и прочих обертках/шаблонах.
Довольно туманно сказано, зачем было наложено такое ограничение. Нет, в целом, конечно, понятно — безопасность и такое-прочее.
И практически ничего не сказано, как это ограничение обойти, при необходимости. Но если поискать, то тайна оказывается вовсе не тайной, а одним из решений дизайна модели расширяемости.

Вот, собственно, рецепт обхода ограничения:

For instance, lets say you have an External Method that returns instances of a Thing class that you have created. You want to be able to call the External Method from DTML and iterate over the 'Thing's returned to make a report. Your Thing class is not a Zope class of any kind, so it doesn't know about permissions or anything else about the Zope security model. To be able to access the methods and attributes of your 'Thing's from DTML you will need to add the special declaration to the Thing class for the security model to allow you access to those unprotected methods:

      class Thing:
# This tells the security policy that its ok to use attributes
# of this object even though they aren't explicitly protected
__allow_access_to_unprotected_subobjects__=1
def name(self):
return self._name

Product authors should be very careful about using this special declaration as all subobjects not explicitly protected will now be accessible. Note when you add this security assertion that all unprotected attributes in the base classes of the object will be affected as well.

zope.org/Documentation/How-To/ProductAuthorUpdateGuide

В модуле ВнешнегоМетода у вас класс, обьект которого вы хотите возвращать в DTML, к примеру. Для последующего юзания. Тогда после определения имени класса пишите волшебную строку «__allow_access_to_unprotected_subobjects__=1» и начинайте думать о том, как закрыть доступ хакерам к атрибутам данного класса и всех его базовых классов.
Все или ничего, вот какой вопрос стоял перед разработчиками Zope. Если открывать доступ к атрибутам классов, то ко всем. Поэтому они предпочли по умолчанию закрыть доступ. Я бы тоже так сделал на их месте.

2010-07-08

Винценти

В завершение вчерашнего поста, немного информации про измерения (расстояний) по карте/глобусу.
Есть два основных подхода в этом непростом деле: измерять по карте и измерять по поверхности эллипсоида (что я называю «измерять по глобусу»).

С измерениями по карте уже все должно быть ясно (прочитавшим вчерашний пост) — измерения боле-мене точны, если для карты выбрана правильная проекция и измерения ведутся на площади вокруг точки соприкосновения глобуса с плоскостью проекции.

Измерения по глобусу, суть вычисление длин дуг по поверхности эллипсоида, точны настолько, насколько данный эллипсоид совпадает с поверхностью Земли на участке измерений.

Все остальное — напевы на вышеуказанную тему.

Почему не стоит измерять расстояния по всяким гуглобусам (собирательное название общедоступных веб-карт).
Волшебная формула Винценти, позволяет посчитать длину дуги с точностью 0.5 миллиметра, что довольно смешно, принимая во внимание всевозможные допущения, приближения и относительности (приводящие, сами по себе, к погрешностям в десятки метров для, к примеру, Британских островов).
Прекрасная реализация формулы Винценти, яваскрипт.
ArcGIS до сих пор не умеет считать по глобусу!? Я до сих пор не могу в это поверить, но вот пруфлинк, в нем инженер ESRI дает рецепт применения недокументированных функций АркГИС-ного Projection Engine для нуждающихся.
Но не все так плохо, уже есть API у есрая для счета по глобусу, вот прям на днях появился.

2010-07-07

Географические координаты

Сегодня весь день вникал в детали определения координат на Земле. Так все непросто, такое количество вариантов. Хочу поделиться вынесенной сутью.

Суть такова, что абсолютно точно никто своих координат не знает и знать не может. Все относительно чего-нибудь, да еще в разное время разными людьми применяются разные точки отсчета (я уж не говорю про искусственные ограничения, накладываемые гос-вом). Например, до появления спутников, координаты определяли относительно звезд, что, с практической точки зрения, сейчас не интересно. Сейчас координаты определяют относительно спутников (я не хочу рассматривать геодезические сети, это совершенно особая статья). А координаты спутников, в свою очередь, определяют относительно базовых станций. Как определяют координаты базовых станций, вообще туманно (видимо, опять через звезды), главное — какую используют математическую модель для высчитывания.

Модель, или Система Координат, это очень важно. Потому как, к сожалению, Земля не диск, не шар, и даже не эллипсоид. Точную форму поверхности до сих пор не установили. И более того, форма (да и размеры) все время меняется (да и положение осей). Сложно определить точные координаты на теле, меняющем размеры и форму, правда? Уже понятно, почему абсолютно точных координат быть не может, да?

Так вот, для получения Системы Координат люди берут эллипсоид, и, чтобы жизнь медом не казалась, определяют размещение выбранного эллипсоида относительно, упрощая, центра масс Земли. Итого, Система Координат складывается из параметров эллипсоида (большая ось, малая ось, сжатие) и датума (параметры размещения эллипсоида относительно Земли).
Это будет Географическая Система Координат (Geodetic Coordinate System, GCS). Координаты записываются как Широта, Долгота. В градусах.

Потом, чтобы получить плоскую карту, делают развертку эллипсоида на плоскость. Вполне конкретного эллипсоида, отсюда понятно, что проекция всегда должна ссылаться на GCS, из которой проекция сделана. Способов развернуть эллипсоид на плоскость придумано вагон и немаленькая тележка, на все случаи жизни. Кому надо, сами список составляйте. Фокус в том, что для каждой проекции существует своя Координатная Система, PCS (Проецированная Координатная Система). И, таки да, не существует универсальной, пригодной для всех проекции. Для разных задач нужны разные.

И еще, самые употребимые Координатные Системы названы Spatial References, зарегистрированы в как-бэ реестрах и имеют номера. SRID, WKID.

О системах координат и проекциях.
Основы картографии и GPS.
Передний край геодезии.
Эллипсоиды, датумы, проекции.
NGS Geodetic Toolkit, куча полезняшек, многие с исходным кодом.

2010-07-05

Посол оказался хитрее

На этот раз я подготовился, заранее вспомнил про то, что есть летом праздник, который мешает мне получить визу. И поехал в посольство за два дня, 5 июля. И прочел на посольском заборе обьяву: выходные 5,6 июля. А вот 7 июля день рабочий, как ни странно. Перехитрили. Пора уже запомнить телефон посольства и без звонка даже и не совацца.
Я пытался подготовиться лучше, но сайт посольский лежит, не подымается. Да и по телефону я как-то давно пробовал, там все время занято было. Как жить?

Посольство Литвы в Белоруссии о праздниках.
Календ.ру о Литовских праздниках.

(чуть позже) Абалдеть! Через сайт посольства в Белорусии я вышел на сайт посольства Литвы в России! Это при том, что гугление дает битые ссылки. А вы говорите SEO это зло. Кому как.
Выходные (праздники) Литовского посольства в России.
А еще можно анкету заполнить прям с сайта.

2010-07-04

WebSockets server

Вебсокеты это реинкарнация сокетов TCP/IP. С клиентами, поддерживающими технологию, понятно. А с серверами?

На сегодня альтернативы для проксирования Web Sockets мне известно всего две. Обе являются чистыми прокси-серверами. То есть для отдачи статики, или кэширования всё также стоит использовать nginx или squid во втором эшелоне.
Во-первых, это
HA Proxy, который, кстати, показывает более высокие характеристики по времени отклика, чем nginx. Пример конфигурации от y8.
Во-вторых, это
Pound.
GHS рассказал про Yaws, Web-сервер на Erlang, поддерживающий WebSockets.

habrahabr.ru/blogs/webdev/96354

Оттуда же, как проверить, включен ли у пользователя в браузере кеш. Вот давайте клиента еще в жопу поцелуем, да? Если приложение работает и без кеша (да, медленно, но работает же), то за ответами на разные вопросы, в том числе и быстродействия, пусть обращаются к FAQ. RTFM, короче.

2010-07-03

Дизайн не идеален, зато работает

Занятно, если некий процесс становится широко распространен, довольно быстро находятся башковитые люди, которые проводят анализ, раскладывают по полочкам и формируют некие методики. Но если таланта не дадено, никакие методики не помогут. Разве только впечатление произвести на собеседника. Но в умелых руках, знание-сила! Это я про разработку софт-проектов:

Меня заинтересовал конспект лекции об «отзывчивом дизайне», поскольку текущая наша разработка идёт именно в таком ключе — функционал добавляется понемногу, в процессе уточнения и переосмысления задач, без революций, с хорошим пренебрежением к академической идеальности и законченности, которой в процессе развития просто не имеет права быть. Это по-своему замечательно — пренебрегать правилами валидности (они — для будущего), кроссбраузерности (функционал есть, но отображается в IE c долей снисхождения) и концептуальности до момента, пока функционал системы не определён. Она имеет только те куски «мяса», которые работают, отработавшие куски постепенно удаляются.

habrahabr.ru/blogs/webdev/95942

А вообще, знать стратегии развития проекта по-любому полезно. Ведь не все, далеко не все проекты умирают не успев толком появицца. А так можно с оттенком научности порассуждать, как именно и почему надо что-то менять в проекте.

Node.JS прет. И людей с него прет неподецки. Вот, пример веб-сервера с префоркнутыми обработчиками, в 20 строк.

Одна из стратегий кеширования веб-приложений. Разделить контент на юзерозависимый и остальной. Юзерозависимый кешировать в браузере. К этой теме очень полезно добавить «Edge Side Includes».

2010-07-02

Git

Git это распределенная система управления версиями (кода). Написал ее небезизвестный Линус, после того как его любимый BitKeeper намозолил всем глаза своей закрытостью. На мой взгляд, в Гит две основные фишки, которые отличают его от популярных систем, типа SVN или CVS. Это распределенность, которая заключается в том, что у каждого разработчика находится все содержимое репозитория а мощные механизмы branch-инга и merge-инга позволяют обходится без центрального сервера. И это заточка на скорость, эффективность создания, редактирования, принятия патчей.

Torvalds had several design criteria:

  1. Take CVS as an example of what not to do; if in doubt, make the exact opposite decision. To quote Torvalds, speaking somewhat tongue-in-cheek:

    "For the first 10 years of kernel maintenance, we literally used tarballs and patches, which is a much superior source control management system than CVS is, but I did end up using CVS for 7 years at a commercial company [Transmeta] and I hate it with a passion. When I say I hate CVS with a passion, I have to also say that if there are any SVN (Subversion) users in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan of Subversion for a while was "CVS done right", or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right."
  2. Support a distributed, BitKeeper-like workflow

    "BitKeeper was not only the first source control system that I ever felt was worth using at all, it was also the source control system that taught me why there's a point to them, and how you actually can do things. So Git in many ways, even though from a technical angle it is very very different from BitKeeper (which was another design goal, because I wanted to make it clear that it wasn't a BitKeeper clone), a lot of the flows we use with Git come directly from the flows we learned from BitKeeper."[11]
  3. Very strong safeguards against corruption, either accidental or malicious
  4. Very high performance

The first three criteria eliminated every pre-existing version control system except for Monotone, and the fourth excluded everything. So, immediately after the 2.6.12-rc2 Linux kernel development release, he set out to write his own.

http://en.wikipedia.org/wiki/Git_(software)

Что еще любопытно, распространение правок между репозиториями (копиями кода) заточено на электропочту.
В целом, если ваш стиль работы над проектом совпадает с таковым у Линуса (большой проект, слабо связанные разработчики), вам определенно нужен Git для повышения эффективности разработки.

Если раньше вы пользовались SVN.
10 приемчиков для начинающих. То же, но на русском.

Про венду и Oracle: зачем нужны тройные кавычки в командной строке?

2010-07-01

Corpsman!

В «смотровой военврача» увидел сцыль на очень полезное любому человеку. А именно — справочник по оказанию первой помощи. Почитал и поразился — почему это не заставляют зубрить в школах? Это же гораздо важнее, чем правила правописания, на которые тратится уйма времени а пользы — ноль (что очевидно, если почитать тексты современной школоты).

ВСТУПЛЕНИЕ

1. Смысл оказания первой помощи пострадавшим заключается в:
a. Спасении жизни.
b. Предотвращения ухудшения состояния.
c. Доставки пострадавшего в медицинское учреждение и оказания ему квалифицированной медицинской помощи.

2. Для эффективного оказания первой помощи ты должен:
a. Сохранять спокойствие.
b. Использовать здравый смысл.
c. Демонстрировать пострадавшему уверенность в благополучном исходе.

3. Помни, что ты всегда должен:
a. Смотреть. Убедись, что ты в первую очередь оказываешь помощь наиболее тяжело пострадавшему.
b. Думать. Что ты делаешь, и в какой последовательности.
c. Действовать. Оказывай первую помощь быстро и без паники.

4. Приоритеты. Помни правило ABC для всех травм:
a. А (Airway) – дыхательные пути. Их необходимо очистить, обеспечить доступ свежего воздуха и поддерживать в этом состоянии.
b. В (Bleeding) – кровотечение. Оно должно быть остановлено.
c. С (Chest Wounds) – ранения грудной клетки. При открытых ранениях грудной клетки необходимо перекрыть проникновение воздуха.

5. Важное. Несоблюдение этих условий может привести к тому, что пострадавший умрет, не дождавшись квалифицированной медицинской помощи. Всегда помни про правило ABC.

tiomkin.livejournal.com/869377

Интересно (щаз буду искать), в нем указано, что делать при ударе по ушам звуком рекламы? А то я щаз смотрел кинцо на айви, в кине звук занижен, а потом включилась реклама. Это было что-то! Ушки побаливают до сих пор, а тогда глаза чуть не выскочили-бля-пиздец!

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) Java (22) humor (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) Klaipeda (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) купи/продай (9) Photo (8) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)