Dec 9, 2009

Villa Panamericana

Проект MIA Villa Panamericana завершен. Читать дальше......

Nov 15, 2009

Работающий метод включения CUT в записи на blogger описан в следующем источнике: блог о блогах на движке Blogger.

Oct 6, 2009

Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies. (Felleisen et al. How to Design Programs).

Sep 16, 2009

Елизавете скоро 8

Будет скромный праздник. А для друзей в воскресенье.

Читать дальше......

Sep 1, 2009

Sick

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

Это настолько банально, описано в тысячях текстов, но всё равно остаёшься с этой болезнью один на один. А она непобедима, как известно. Вязть, хотя бы, Generation П Пелевина - кажется, там всё это есть; но там нет лекарства от этой болезни, иного чем небытиё. Поэтому настолько невыносимо осознавать что сделать ничего нельзя, что рвать волосы на голове бесполезно, глупо, а о рациональности здесь не может быть и мысли. А именно это и хочется делать очень часто, рвать волосы на голове.

Aug 17, 2009

Времени нет

Ни на что, ни на самое насущное не хватает, что уж думать о блоге.

Обновление (сентябрь 2009): Нехватка времени выливается в полное забвение и заброшенность всех этих интернет проектов. К примеру, оказалось что мой аккаунт на mail.ru (vshalisko@mail.ru) давно удалён, я не заходил на него года полтора. Столь же старый адрес vshalisko@hotmail.com каждый раз "радует" пустотой — там тоже что-то сбрасывается если заходить на него раз в полгода. А чаще я туда заходить ленюсь, нет там ничего для меня. Пароль к домашней странице vshalisko.narod.ru забыт. Я вот было полез туда сейчас, но пароля не помню. Восстановить пароль не могу так как аккаунт на mail.ru удалён. Наверное, он где-нибудь записан, нужно поискать.

Определённо, восстанавливать vshalisko@mail.ru и vshalisko@hotmail.com смысла нет. У меня остаётся адрес vshalisko на gmail.com, плюс ещё один адрес там же для технических нужд. LiveJournal vshalisko.livejournal.com тоже покинут навсегда, если там и было что-то ценное, оно теперь здесь. ICQ я не использую с тех пор как оно начало сбоить году в 2006, поэтому адреса ICQ тоже больше нет. Есть адрес skype viacheslav.shalisko. Домашнюю страницу на narod.ru (vshalisko.narod.ru), пока продолжу использовать, но без обновления. Остаётся добавить, что я принципиально не признаю социальные сети, подобные facebook, и становится ясным что виртуальное присутствие весьма скромно. На большее нет сил.

Обновление 2 (сентябрь 2009): пароль к народу нашел, но обновить там всерьёз невозможно, нужно сразу всё переделывать.

P. S. I decided to write here in English, Spanish and Russian without translating individual posts to all other languages. It should be good for time optimization. In fact, I have no Russian keyboard in my working computer, so it's difficult to maintain this blog Russian-only. Instead, it could be three-lingual. Finaly, the purpose of this blog is not related with communication, so no problem with language mixing.

Aug 2, 2009

Guanajuato (Гуанахуато)

Jul 29, 2009

Тест iPod

Техническая запись

Mar 21, 2009

Вычисление статистики для множества слоёв в ArcGIS

Имеется:
а) совокупность однослойных растровых отображений в формате ERDAS IMG (например, модель конценрации загрязняющих веществ в приповерхностном слое атмосферы)
б) набор векторных форм (полигонов) в формате ERSI SHP (shapefile) определяющих зоны для которых нужно вычислить статистику на основе растровых отображений. Зоны определены в поле ROUTE_NAME.
Все данные имеют одну и ту же геопривязку.

Задача: вычислить статистику (MEAN, STD, MIN, MAX) для каждой из зон на основе каждого из растров. Задача не может быть выполнена вручную по причине большого числа растров и зон. Статистика должна быть сохранена в форме единой таблицы.

Решение:
1) Воспользоваться скриптом David Coley для автоматического вычисления зонной статистики для совокупности файлов (BatchZonalStatsAsTable) для ArcGIS decktop. Адаптировать его код на Python для данной задачи. Для этого изменить переменные определяющие параметры запуска скрипта выражениями вида gp.Workspace = sys.argv[3], где sys.argv[3] означает поле ввода данных 3 в интерфейсе запуска скропта в ArcGIS decktop. Скрпт запускает инструмент ArcGIS из Spatial Analyst Tool -> Zonal Statistics as Table и создаёт совокупность файлов DBF, соответствующих каждому исходному растровому образу. В таблице DBF строки соответствуют зонам в исходном SHP файле.
2) Для того чтобы объединить множество файлов DBF, находящихся в директории, в один, применяется мой скрипт на Perl. Скрипт принимает путь к директории как единсвенный параметр запуска и в стандартный вывод записывает строка за строкой значения из всех прочтённых DBF файлов, разделяя их запятыми. Запускается приблизительно так: perl dbf_merge.pl f:\working_dir > output.csv

#!/usr/local/bin/perl 
dbf_merge.pl by Viacheslav Shalisko
-----------------------------------
use XBase;
my $dir = $ARGV[0];
chdir $dir || die "\nCan`t open directory $dir\n";
while (<*.dbf>) {
    $file = $_;
    my $database = new Xbase;
    $database->open_dbf($file, undef);
    my $end=$database->lastrec;
    my $current_rec = 1;
    while ($current_rec < $end) 
    {
      $current_rec = $database->recno;
      print "linea $current_rec de $end, ";
      print "$file, ";
      print &trim($database->get_field("ROUTE_NAME"));
      print ", ";
      print $database->get_field("COUNT");
      print ", ";
      print $database->get_field("AREA");
      print ", ";
      print $database->get_field("MIN");
      print ", ";
      print $database->get_field("MAX");
      print ", ";
      print $database->get_field("RANGE");
      print ", ";
      print $database->get_field("MEAN");
      print ", ";
      print $database->get_field("STD");
      print ", ";
      print $database->get_field("SUM");
      print "\n";
      $database->go_next;
    }
    $database->close_dbf;
}
sub trim {
  my @out = @_;
  for (@out) {
    s/^\s+//;
    s/\s+$//;
  };
  return wantarray ? @out : $out[0];
}

Mar 5, 2009

Поездка на тихоокеанское побережье в зону Marismas Nacionales

Состоялась четырёхдневная поездка в штат Найарит (Nayarit) для изучения состояния мангров обширной прибрежной зоны. Останавливались в городке Tuxpan. Это уже вторая поездка в эту зону, но в прошлый раз были южнее и ночевали в Santiago Ixcuintla.

Подтверждена дизъюнкция в ареале Bravaisia integerrima, этот вид древесных растений действительно встречается в зоне Marismas Nacionales, а затем пропадает в Jalisco, и на юге обнаруживается в штате Colima.

Feb 9, 2009

Черновик размышлений смоге. Фрагмент.

Читать дальше......

Feb 5, 2009

О цене жизни

Статья "Благость на погосте" академика Константина Уманского, ветерана Великой Отечественной Войны, из Денвера о той войне, о сорока миллионах соотечественников которые не вернулись домой, о забвении этих жертв сейчас, о боли и об обиде, о забвении и проклятии того поколения сегодня, ещё при жизни, но и о том что их жизнь была прожита не зря, и плодотворно. Наворачиваются слёзы. Нужно помнить о них. Нужно ценить жизнь которую они подарили нам.

Мне кажется, поколения людей родившихся после Второй Мировой Войны, особенно последние поколения, не ценят жизнь которая им досталась так как должны были бы. Забываем про то какую цену за нашу беззаботную жизнь заплатило поколение наших дедов. У военного поколения не было выбора, страшно представить себе безысходность и обречённость которую они должны были чувствовать на полях сражений, где шансы остаться в живых были куда меньше чем шансы умереть ничего не успев. Едва ли мы можем представить себе насколько это страшно, бессмысленно. Уманский пишет что из его школы на войну "прорвались" 140 юношей, а вернулись только 6, все инвалиды. Что может быть страшнее этих цифр.

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

Jan 26, 2009

Проект Las Cruces

Las Cruces это название проектируемой гидроэлектростанции на границе штатов Найарит (Nayarit) и Дуранго (Durango) в Западной Мексике. Её планируют построить на реке Сан Педро (San Pedro). Перед воплощением такого рода проектов, проектов которые предполагают очень значительные локальные изменения окружающей среды, проводится длительная подготовка, в частности изучается характер землепользования в прошедшие десятилетия. Для этого привлекаются разные источники, в том числе карты растительности, полученные на основе анализа данных дистанционного зондирования (remote sensing).

Случилось так, что в последние два-три года я стал часто участвовать в работах по изготовлению карт растительности на основе анализа спутниковых фотографий. Las Cruces — последний к настоящему моменту проект такого рода. Что-то нужно сделать к концу января, а что-то — к марту. Поэтому сейчас я время от времени занимаюсь этим.

У меня двойственное отношение к таким проектам. С одной стороны, я понимаю необходимость развития энергетической инфраструктуры, преимущества гидроэлектростанций как "зелёного" метода получения электроэнергии, с другой — меня не может не беспокоить разрушение местообитаний растений и животных, связанное с затоплением ущелий и изменением гидрологического режима территории.

Казалось бы, всё просто. Мексиканские гидроэлектростанции имеют общую мощность более 11 ГВт, и в год производят около 47 тераватт-часов энергии, что составляет приблизительно 22% от всего производства энергии в этой стране (CFE). Если бы эта электроэнергия была получена из ископаемого топлива, потребовалось бы сжечь более 19 миллионов тонн угля, или эквивалентный объём нефтепродуктов/газа. А значит, в атмосферу попало бы 49 миллионов тонн двуокиси углерода, или даже больше (1). Я слышал что это плохо влияет на климат. К вопросу влияния на климат я вернусь в другой раз, но в отношении преимуществ генерации энергии из возобновляемых источников существует полная ясность.

Однако, в связи с проектом Las Cruces оказываются затронуты массивы сезонного тропического леса (selva baja caducifolia), столь характерного для горных ущелий на тихоокеанском побережье. Участь тропического леса печальна, но наиболее тревожно не это, а влияние на зону мангров Marismas Nacionales (которую предполагают превратить в природоохранную зону). Изменение гидрологического режима реки Сан Педро наверняка приведёт к изменениям в её дельте, а это непременно скажется на обширных мангровых зарослях, весьма чувствительных к трудноконтролируемым факторам, таким как солёность воды или концентрация растворенного в воде кислорода. У меня нет уверенности что эффект будет исключительно негативным для мангров. Но изменения растительности в прибрежной зоне обязательно будут. Чтобы разобраться, как изменялась растительность в последние десятилетия, каковы тенденции этих изменений (а они всегда выражаются в сокращении площади естественной растительности) анализируем данные дистанционного зондирования доступные с начала 70-х годов.

Jan 23, 2009

Рабочая станция Hewlett-Packard

На этой неделе принесли новый компьютер, купленный для проекта анализа дисперсии загрязняющих веществ в Гвадалахаре. Временно, для ускорения рассчётов в рамках проекта, поставили его у меня дома, а потом он переедет в лабораторию. Компьютер, по всей видимости, хороший, называется HP xw9400 workstation, оснащён процессором Quad-Core AMD Opteron 2352. Единственным его недостатком оказалось отсутствие видеокарты, которую забыли купить (и купят к понедельнику). Пришлось временно поставить древнюю Matrox Mystique, с этой видеокартой компьютер стал пригодным для работы.

Он действительно считает быстрее, то что на моём Pentium D занимает полтора или даже два дня, на этом компьютере делается за 20 часов, кроме того, одновременно запускаются 3-4 таких задачи (одна задача загружает систему ровно на четверть). Раз эта рабочая станция больше ни для чего не предназначена сейчас, я спокойно могу загружать её на 100%, готовя конфигурацию модели и анализируя результаты на основном компьютере. Так что, за прошедшие с момента установки дни я уже сделал значительную часть работы.

Не считаю что вычислительная задача действительно так велика, что её трудно или невозможно выполнить на компьютере послабее, скорее речь идёт о недостаточной оптимизации используемого кода для запуска на конкретном оборудовании. Уточню, что в качестве модели дисперсии частиц и веществ в атмосфере мы используем Open Source AUSTAL2000, разработанную немцами из Janicke Consulting. Эту модель можно было бы откомпилировать под определённый процессор, и это, без сомнения, дало бы прирост производительности...

Но не слишком хочется этим заниматься, раз наш проект имеет локальный и ограниченный во времени характер. Строго говоря, AUSTAL2000 должна быть в некоторой степени доработана для наших нужд. И компилируя, грех был бы не посмотреть как она там написана. Но у меня есть сейчас другие, более насущные дела как в рамках этого проекта, так и за его рамками. Поэтому пусть работает как работает.

Jan 17, 2009

Импортированные сообщения и старый блог

Комментарии не импортируются из старого блога в Живом Журнале (LiveJournal, LJ), однако, они сохранились в моём личном архиве и не потеряны. Тот предыдущий блог я вынужден был забросить по вполне тривиальным причинам. Центральной была проблема времени. Сейчас мне очевидно то негативное влияне, которое оказал механизм чтения блогов других участников (друзей в терминологии LJ): случилось, что я стал тратить непозволительно много времени на чтение записей в т. н. ленте друзей. Это было невозможно терпеть. Чтобы избежать подобного в будущем, смена платформы была неизбежна. В принципе, я вообще не намерен сейчас и не намеревался прежде использовать блог как средство знакомства, поэтому не стану обзаводиться лентами чтения; кроме того, этот журнал в значительной степени эгоцентричен. В конце концов, для общения у меня есть электронная почта... Ещё одним немаловажным фактором стало значительное ухудшение политики и практики предоставления сервиса в LJ, связанное с переходом в собственность российской компании СУП (0, 1, 2, 3). Слышал о распространении репрессий, выражающихся в форме закрытия дневников. Закрытия вызванного "жалобами" особо озабоченных пользователей на правонарушения, вернее на нарушения каких-либо из нелепых правил ведения дневника, часто ложными или сфабрикованными жалобщиком. Меня непосредственно это всё никак не коснулось, но для меня это важно. Интересно, что сходная трансформация открытого общества в олигархию случилась, судя по всему, в русскоязычном сегменте Wikipedia, да и не только там (4, 5).