Tags: жизненный путь

Итоги 2014 года

14:48 30.12.2014
Итоги 2014 года
Как обычно, в конце года, перед сливом текущих документов в архив, отчитываюсь о проделанной за этот год работе. :)
  • 1. Статьи и другие публикации - оных было 4 штуки:
    1. Артюхин В. В., Чяснавичюс Ю. К. Планирование аналитического исследования при помощи методов анализа качественных данных // Прикладная информатика № 2 (50) 2014. – Московский финансово-промышленный университет «Синергия», 2014. – ISSN 1993–8314. – С 23–48.
    2. Артюхин В. В. Прогнозирование чрезвычайных ситуаций с помощью дискретной оптимизации и современных программных средств // Технологии гражданской безопасности, том 11, 2014, № 1 (39). – ISSN 1996–8493. – С 86–91.
    3. Артюхин В. В. Прогнозирование комплексных чрезвычайных ситуаций методом перебора с распространением ограничений (эвристического алгоритма) // Опыт ликвидации крупномасштабных чрезвычайных ситуаций в России и за рубежом. XIX Международная научно-практическая конференция по проблемам защиты населения и территорий от чрезвычайных ситуаций. 20–23 мая 2014 года, Москва, Россия. Тезисы докладов / МЧС России. – М. : ФГБУ ВНИИ ГОЧС (ФЦ), 2014. 198 с. – С 92–93.
    4. Артюхин В. В., Чяснавичюс Ю. К. Применение методов анализа качественных данных в ходе планирования аналитического исследования, уточнения его целей и задач // Опыт ликвидации крупномасштабных чрезвычайных ситуаций в России и за рубежом. XIX Международная научно-практическая конференция по проблемам защиты населения и территорий от чрезвычайных ситуаций. 20–23 мая 2014 года, Москва, Россия. Тезисы докладов / МЧС России. – М. : ФГБУ ВНИИ ГОЧС (ФЦ), 2014. 198 с. – С 132–134.
  • 2. Получил одно свидетельство о регистрации программы для ЭВМ (сейчас еще два на регистрации, но уже не успеют): Артюхин В. В., Вялышев А. И., Долгов А. А., Добров В. М. Программа для ЭВМ "Решение задачи трехмерной упаковки (3DBP) ящиков произвольного размера в контейнеры произвольного размера с визуализацией процесса размещения ящиков по шагам" - разрабатывалась она в прошлом году (и я о ней писал).
  • 3. Продолжал эпопею по оптимизации управления нематериальными активами в форме результатов научно-исследовательских, опытно-конструкторских и организационно-технических работ. 1,5 млрд. рублей в результатах около 800 работ, к сожалению, распихать не получается уже третий год.
  • 4. "Государственный доклад о состоянии защиты населения и территорий Российской Федерации от чрезвычайных ситуаций природного и техногенного характера в 2013 году" - здесь традиционно (хотя я уже давно хочу отменить эту традицию) два моих раздела: 6.6. Состояние резервов финансовых и материальных ресурсов для ликвидации чрезвычайных ситуаций природного и техногенного характера и 6.7. Страхование и социальная поддержка населения.
  • 5. Рассчитывал прогноз по количеству пострадавших от различных видов ЧС за год по отдельным регионам РФ (расчет коллективного риска).
  • 6. Готовил XIX Международную научно-практическую конференцию по проблемам защиты населения и территорий от чрезвычайных ситуаций "Опыт ликвидации крупномасштабных чрезвычайных ситуаций в России и за рубежом". Таскал ящики.

    Создавал наглядную агитацию.

    Всячески участвовал.

  • 7. Научные работы (3 штуки):
    • НИР 5.1.40/Б1 «Научное сопровождение перспективного развития сил МЧС России». Раздел "Анализ ЧС для применения аэромобильных групп МЧС России" - участвовал, но меня туда благополучно забыли включить... бывает;
    • НИР "Разработка методологических основ и технологий стратегического прогноза Российской Федерации в сфере безопасности жизнедеятельности на период с 2015 по 2045 годы" - я о ней в прошлом году писал;
    • НИР "Научно-методическое сопровождение деятельности МЧС России по предупреждению и ликвидации последствий чрезвычайных ситуаций природного и техногенного характера с учетом международного взаимодействия". 1 этап "Научное методическое сопровождение реализации Хиогской рамочной программы действий в Российской Федерации (анализ прогресса, достигнутого при реализации пяти основных приоритетов ХРПД)" - относительно простая работа, но жутко затратная по силам и времени: пришлось обрабатывать данные о 2498 мероприятиях в рамках всех ФЦП, связанных с МЧС (а эти данные еще извлечь нужно было - концепция "открытых данных" в России, как и многое другое, имеет весьма специфическое воплощение).

  • 8. Написал разгромный отзыв на учебное пособие Кайбичева И. А., Худяковой С. А.,
    Порхачева М. Ю. "Применение информационных технологий для решения статистических задач и прогнозирования", завершающийся выводом:

    "Эксперт считает нецелесообразным присвоение пособию грифа, поскольку, по его убеждению, абсурдно поверхностное мнение о статистической обработке данных и прогнозировании, каковое студенты могут почерпнуть из пособия, при их последующей работе в системе МЧС России, потенциально может привести к дополнительным человеческим жертвам".

    Я сообщаю об этом не потому, что хочу похвастаться, какой я "плохой", а потому что по-прежнему уверен в адекватности своего отзыва, хотя и уверен, что в итоге оно было принято с восторгом и присвоением грифа.
  • 9. Разрабатывал лекции для пособия МАТИ (до сих пор не понимаю, какая связь между мной и МАТИ, поэтому от этой задачи в определенный момент открестился).
  • 10. Начал докторскую. Учитывая, что продвинулся я недалеко (хотя двигаюсь постоянно), лет 5 на нее еще уйдет.
  • 11. Прошел 14 курсов на Coursera.org. Вообще, этот год характерен случившимся ренессансом любви к математики через изучение зарубежных авторов. Я даже вник в симплекс-метод, который 15 лет не мог понять.

  • 12. Ну, и как обычно, где-то 20 книг, где-то 20 игр. Такой вот годик. :) Всем удачи и с Новым Годом!

  • read more at АйТи-общественный блог

    Итоги 2013 года

    18:41 03.01.2014
    Итоги 2013 года
    Совершенно забросил блог - было очень много работы, и я не уверен, что получится соблюдать регулярность постов в новом году. Однако если какую-то традицию я и считаю ценной, так это традиция по написанию и публикации отчета за год. :)

    1. С блогом, как я уже сказал, все было позорно - 16 постов за весь год.

    2. Статей было предельно мало - всего одна: "Базовый анализ социальных графов организаций в социальных сервисах на примере МЧС России" в ВАКовском интернет-журнале "Образовательные технологии и общество".

    3. Аналогично мало было свидетельств о регистрации ПО / БД из Роспатента - тоже одно, зато на первую базу данных "Результатов научно-исследовательских и опытно-конструкторских работ, выполненных в интересах МЧС России".


    4. Воронежский институт Государственной противопожарной службы МЧС России переиздал "Редакторские будни: объединенное" под грифом МЧС, книга стала одним из флагманских изданий Школы молодых ученых и специалистов МЧС России 2013 и разошлась по 40 городам.


    5. Занимался, в основном, научными работами (9 штук, хотя некоторые из них классифицируются как оперативные поручения или консультации) - вот что занимало все мое время. Во многих работах поучаствовал исполнителем:

    5.1. Государственный доклад "О состоянии защиты населения и территорий Российской Федерации от чрезвычайных ситуаций природного и техногенного характера в 2012 году": я разрабатывал раздел 6.7 "Страхование и социальная поддержка населения".

    5.2. "Арктика": я точно не знаю, в чем была общая суть работы, у меня был небольшой кусочек, потребовавший решения задачи эффективного расположения разных ящиков в контейнерах разного размера для морской перевозки (C#). Вообще, это, так называемая, 3DBP (3D bin packing) задача, которая NP-сложна и требует применения оптимизации.


    5.3. "Краудсорсинг": большая работа за 200 миллионов от Фонда перспективных исследований. Я ею начинал заниматься, но потом решил отказаться (по разным причинам). О ней много чего писали, хорошего и не очень. Меня вообще смущают слова "портал" и "соцсеть" в одном описании (если даже мы неправильно используем термин "соцсеть" для обозначения "социального сервиса", "онлайн социального сервиса" или "онлайн социальной сети", то и в этом случае главная цель существования подобного ресурса - набор пользователей и максимальное увеличение числа связей, что вообще к проекту отношения не имеет).

    5.4. "Прогноз 2045": интересная работа, связанная с долгосрочным прогнозированием опасностей для России на 30 лет вперед. Можно по-разному относиться к ней, здравое зерно там есть, хотя мне кажется, что стоило бы еще издать монографию "2045: Надежды и страхи академиков" - думаю, книга точно имела бы успех. Дальше идет как раз диаграмма угроз на 2036-2045 года, согласно данным экспертного опроса.


    5.5. Карты рисков олимпийских объектов: тут с моей стороны была, в основном компиляция данных, не могу сказать, что это была какая-то реальная научная деятельность.

    5.6. "Водный туризм на территории Красноярского края": в этой работе я делал два реестра - реестр опасностей и реестр субъектов предпринимательства в области туристической безопасности (MS Access).

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

    5.8. Отчет по прохождению пожароопасного сезона 2013 года на территории Российской Федерации: я готовил раздел с результатами анализа информационной деятельности территориальных органов МЧС России.

    5.9. "Разработка методов прогноза рисков возникновения многофакторных и комплексных чрезвычайных ситуаций природного и техногенного характера с учетом природно-климатических особенностей регионов страны на примере Сибирского федерального округа": здесь было очень много интересного. Речь идет о том, что на уровне объекта или территории может произойти цепочка аварий, перетекающих в ЧС, или вероятность аварии повышается из-за действия не одного природного или техногенного, а сразу нескольких факторов. Вопросы в том, а) как оценить в этом случае опасность на конкретном агрегате или установке, и б) как реагировать (куда бежать и от чего держаться подальше) в ситуации, когда комплексная ЧС уже развивается. Было разработано несколько довольно сложных математических моделей, включая модель на основе методов дискретной оптимизации и модель на основе марковских процессов.

    6. 2 работы, в которых я выступаю научным руководителем, хочется отметить особо. Это работы "Научно-методическое обеспечение интернет-представительств и использования информации, генерируемой пользователями в интернет-пространстве, с целью популяризации деятельности МЧС России" и "Анализ информационной деятельности территориальных органов МЧС России". В обоих случаях речь, в первую очередь, идет об использовании Интернета и социальных сетей в интересах МЧС России. Обе работы потребовали масштабной программистской и аналитической работы: комплекс программ на Python 2.7, статистическая аналитика в Octave и R, представление данных в Tableau. Одна работа закончилась (вторая), другая еще идет, но я думаю, что и она не последняя - в этой области раздолье и непаханое поле (один и второй пример того, что делалось, хотя это далеко не самое сложное - в ходе уже выполненной работы потребовалось использовать 13 свободных программных продуктов).

    7. Было подготовлено 4 отзыва на авторефераты (один отзыв ведущей организации), 2 отзыва на предлагаемые МЧС программные продукты.

    8. Награжден Нагрудным знаком "За заслуги" МЧС России.

    9. Наверное, самым большим событием в прошедшем году стало увлечение обучением на Coursera.org. Кучу всего интересного узнал: от анализа данных, Fortran-а 77, Python-a 2 и 3 и истории Интернета до освежения своих отношений со статистикой благодаря курсу Стэнфорда (а в МЭСИ у меня было 3 балла). 12 курсов прошел в общей сложности, что-то ради интереса, что-то для развития. В 2014 продолжу.


    10. Как обычно, переиграл примерно в 20 игр. Playstation 4 пока брать не собираюсь - нет на нее интересным мне игр.

    11. Как обычно, прочитал порядка 20 книг.

    12. Приобрел планшет - Sony Xperia Tablet Z. Раньше все пытался понять, зачем он мне нужен... до сих пор пытаюсь это понять.

    13. К сожалению, во втором полугодии практически не было времени на спорт.

    Вот такой был годик. Кстати, новый 2014 год я встретил, до шести утра выпиливая из корпуса часть стойки, чтобы вставить туда новую видеокарту почти "полуметровой" длины.

    read more at АйТи-общественный блог

    Восприятие жизни

    23:48 30.01.2013
    Восприятие жизни
    Мое восприятие жизни сводится примерно к следующему:

    1. У меня есть потребности: духовные, физиологические, связанные с обязательствами (работа, родственники, другие социальные контракты).

    2. Есть ряд ограничений на удовлетворение этих потребностей, налагаемых внешней средой (логистика, экономика, окружающие и прочее) и собственными способностями/возможностями (IQ, состояние здоровья и т. д.) и опытом.

    3. На стыке 1 и 2 рождаются некие "предприятия" или, если мельче, необходимые действия.

    4. Каждому действию в момент его появления назначается определенный приоритет с учетом оперативной обстановки (погода, настроение и прочее).

    5. Список действий периодически пополняется (новые потребности определяют необходимость новых действий), некоторые действия удаляются из списка (теряют смысл или к ним теряется интерес), некоторые выполняются.

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

    7. Список держится в голове и постоянно перечитывается и обновляется (пополняется, сокращается, изменяются приоритеты отдельных действий) с учетом изменяющейся оперативной обстановки. Это происходит от 3 до 5 раз в минуту.

    Всё!

    read more at АйТи-общественный блог

    Итоги 2012 года

    17:22 31.12.2012
    Итоги 2012 года
    Продолжаю традицию, начатую в прошлом году, - докладываю о своих результатах за этот:

    1. С блогом было вяло - всего 34 поста, считая с этим, хотя я никогда и не ставил целью натужное наращивание их количества. Изменение в этих цифрах свидетельствует об изменении приоритетов.

    2. Статьи: уникальных было 5 (2 в журналах из списка ВАК, 1 на специальную тему, то бишь секретная), если с перепечатками, дополнениями и изменениями, то 9. Продолжилось плодотворное сотрудничество с журналами "Прикладная информатика", "Защита информации. Инсайд" и "Актуальные инновационные исследования: наука и практика". Не удалось подготовить статью для "Образовательных технологий и общества", но уже есть идея, как исправить это в следующем году. Наиболее интересными опубликованными статьями лично я считаю следующие:
    3. Книги, с ними было довольно масштабно. Смотря как считать, но я считаю, что их было 4:
    • Издательство Lambert Academic Publishing перевыпустило мою "Реальность 2.0b".


    • С моим участием издана книга "Актуальные вопросы обеспечения безопасности туристской деятельности" / Под общ. ред И. В. Сосунова. МЧС России. М. : ФГБУ ВНИИ ГОЧС (ФЦ), 2012. Я писал раздел, посвященный страхованию.


    • "ФГБУ ВНИИ ГОЧС. Нам 36 лет" - я писал небольшой раздел. Только что понял, что книга вышла, а я ее даже в руках не держал ни разу. Надо бы выяснить, где ею расжиться.
    • Наконец, вышла моя собственная книга Артюхин В. В. "Редакторские будни: объединенное" / Артюхин В. В. - М. : 2012, посвященная практике написания научных и публицистических статей, а также редакторской работы. Большое спасибо Александру Архипову - редактору "Защиты информации. Инсайд" и Евгению Альтовскому - руководителю информационно-аналитической службы МОО "Информация для всех", а также всем, кто работал над книгой.
    4. Больших научных и смежных работ было 5:
    • Подготовка Государственного доклада «О состоянии защиты населения и территорий Российской Федерации от чрезвычайных ситуаций природного и техногенного характера в 2011 году» - М. : МЧС России, ФГБУ ВНИИ ГОЧС (ФЦ), 2012. Моя часть - страхование и экономическое регулирование.
    • НИР «Исследование стимулирования оплаты труда и мотивации денежными выплатами квалифицированных работников с целью поддержания численности военизированного состава военизированных горно-спасательных частей» - на первом этапе из двух я участвовал активно, но потом несколько "отпочковался" в связи с переходом в другой отдел и переходом всего предыдущего отдела в другой научный центр.
    • НИР «Разработка методики по оценке безопасности, риска и ущерба при подтоплении градопромышленных территорий» - там я участвовал не с начала работы, зато она на меня свалилась почти полностью под конец срока.
    • НИР "Прогноз рисков возникновения многофакторных и комплексных ЧС природного и техногенного характера с учетом природно-климатических особенностей регионов". Эта работа только началась.
    • Работа "Организационно-техническое обеспечение проведения научно-практического семинара "Практическое использование программ поведения человека в кризисных ситуациях в системе образовательных учреждений высшего и среднего профессионального образования Сибирского федерального округа Российской Федерации". На мне была подготовка информационных, презентационных и опросных материалов на бумаге и в электронной форме (информационные письма, бэджи, анкеты, сообщения для СМИ и на сайты и т. д.), обработка заявок на участие, часть отчетной работы.
    5. Одну работу нужно выделить особо. Она не проходила ни по плану, ни по оперативному поручению, она была просто оформлена приказом министра (то есть под нее даже не выделялись средства), но, тем не менее, оказалась наиболее масштабной и, в основном и в первую очередь, моей. Речь идет об оптимизации управления нематериальными активами МЧС России на сумму 4,5 млрд. рублей. Результаты НИР, выполненных в интересах МЧС, ставятся на учет в различных организациях, в том числе и у нас. Однако работа по учету / списанию этих результатов в виде нематериальных активов до этого централизованно не велась, видимо, законов / приказов Минфина не было. Я не буду подробно описывать, насколько сложной и масштабной работой было поднять все документы по всем работам (НИР, ОКР и т. д.) за годы с 2005 по 2011, составить списки результатов, согласовать внутриинтитутской комиссией, согласовать с заказчиками соответствующих работ, сформировать все акты. Скажу только, что это потребовало значительных усилий как в части организационной и бюрократической, так и в части разработки ПО и баз данных - каждый результат должен был быть оценен экспертом по ряду вопросов, причем работали они быстро и одновременно, впервые мне пришлось базу в сеть выкладывать.

    6. Было получено 4 свидетельства о регистрации программ для ЭВМ от Роспатента:
    • "Программа для хранения и анализа информации о неблагоприятных процессах и явлениях с региональной привязкой".
    • "Графический конструктор "Architect" имитационных (симуляционных) моделей в среде "Pilgrim 5".
    • "Программа Tuftemetr: анализ изображений на предмет соотношения данные / мусор".
    • "Универсальный интерактивный справочник документов, настраиваемый посредством XML".
    7. Довелось выступать для Управления информации и Научно-технического управления МЧС России аналитиком по отдельным аспектам представления информации о ЧС и их ликвидации. В частности речь идет о ЧС в Крымске и Нью-Йорке. Результаты этого анализа навели меня на очередную идею докторской диссертации. Не знаю пока, что получится, но систематическую работу уже начал.

    8. Также в рамках работы в НИИ было подготовлено 3 отзыва на статьи, 2 отзыва на авторефераты, 2 отзыва на предлагаемые МЧС программные продукты.

    9. Саморазвитие в форме обучения тоже было довольно интенсивным. Посетил, прослушал, поучаствовал во многих мероприятиях, получил ряд сертификатов:
    • Сертификат СибГТУ (одновременно являющийся свидетельством о повышении квалификации) об участии в работе научно-практического семинара "Практическое использование программ поведения человека в кризисных ситуациях в системе образовательных учреждений высшего и среднего профессионального образования Сибирского федерального округа Российской Федерации". Ну, собственно, мы его организовывали, было бы странно, если бы я в нем не участвовал.
    • Сертификат МЭСИ о принятии участия в мастер-классе "Перевод как аналитическая работа с текстом".
    • Сертификат по "Гаранту", свидетельствующий о том, что я прослушал курс, формирующий навыки работы с возможностями информационно-правового обеспечения.
    • Сертификат международного образца МЭСИ по курсу "Strategic Analysis, Decision Making and Innovation" и...
    • второй сертификат того же формата по курсу "Five Steps of Production Development Opportunity and Market Development". Оба курса читал доктор Арним Деккер - замечательный человек.

    10. Награды. Довольно урожайно (если не учитывать, что до этого много лет не было ничего - за 10 лет самоотверженной работы в высшей школы на всевозможных постах я так и не получил благодарности от Минобра, помню, какие были драки в некоторых наших вузах за них):
    • Благодарность теперь уже бывшего министра МЧС России С. К. Шойгу, объявленная приказом по МЧС России, за высокий профессионализм, добросовестное отношение к выполнению служебных обязанностей и в связи с Днем спасателя РФ (вообще, я должен был ее получить в конце 2011, но приказ до нас дошел только в начале 2012).
    • Грамота начальника Института.

    • Диплом МОО "Информация для всех" за многолетний вклад в развитие экспертной дискуссии по актуальным вопросам информационного общества и общества знаний.

    • "Реальность 2.0b" получила второе место в номинации "Компьютерно-опосредованная коммуникация" конкурса Российской коммуникативной ассоциации "Лучшая книга по коммуникативным наукам и образованию".

    • Общественная медаль "100 лет российской военной авиации" - за работу в области разработки средств мониторинга ЧС. Патента, правда, пока нет, но, надеюсь, что будет.
    11. Впервые развлекся в аквапарке.

    12. Начал заниматься спортом системно по программам. До этого 2,5 года занимался кое-как и встал в тупик в физическом развитии. С другой стороны, за пару недель системных занятий получил две травмы - защемил нерв и прижал шею. И случилось это в аккурат 29 декабря, с чем меня можно только поздравить. Дурость, помноженная на энтузиазм, равно...

    13. Переиграл где-то в 20 компьютерных игр, я к ним очень серьезно отношусь.

    14. Прочитал, как обычно, около 20 книг. Кстати, я давно работаю с книгами по ИТ, дизайну, другим наукам с карандашом, отмечая понравившиеся цитаты. После прочтения я выписываю эти цитаты с указанием книги и страницы, добавляю коротенькую аннотацию и сохраняю все это в Google Docs.


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

    15. Разучил штук 5 песен под гитару (правда, играть от этого лучше не стал).

    16. Попросил автора переделать рисунок второй татуировки, но пока ее так и не сделал.

    17. Зарегистрировался В контакте, раньше это была единственная популярная социальная сеть, где меня не было - теперь я есть и там.

    Таковы мои скромные итоги уходящего 2012 года. Всех с наступающим!

    read more at АйТи-общественный блог

    Жизненный путь: О СУБД и мучениях

    23:14 01.10.2011
    Жизненный путь: О СУБД и мучениях
    Довелось тут в очередной попотеть над базой данных, а именно - над "Базой данных опасных и неблагоприятных процессов и явлений на территории Красноярского края". Бывает иногда производственная необходимость реализовать что-то не на языке программирования, а в рамках какого-то приложения (в основном это как раз приложения из группы Office - Access, Excel, Outlook, Visio). База была не то, чтобы слишком уж хитрая, но и не простейшая: пять таблиц, связи многие-ко-многим, каскады, целостность и т. д. Еще пришлось карты Google к ней подключать - для визуализации, так сказать, географического положения населенного пункта.

    Обматерился. Я недавно высказался в пользу языка C# в таком ключе:

    Я работал с C и С++, я работал с VB. Конечно, поскольку я не работаю в области создания ПО постоянно, а только время от времени, я многое забыл. Но того, что я помню, как раз хватает для эффективной работы в C#, поскольку он требует от меня как раз совмещения этих небольших, но системных воспоминаний. Даже удивительно...

    С Access-ом ситуация другая. Я бы сказал, прямо противоположная. Кажется, ничто не способно подготовить человека к работе в Access-е: ни опыт разработки в Paradox-е, Clipper-е и FoxPro, ни знания в области теории СУБД и реляционных БД. И, что самое удивительное, опыт работы в нем самом, похоже, тоже не может подготовить к работе с ним самим. Да с Access-ом я тоже сталкиваюсь на жизненном пути время от времени, и да я и о нем многое забываю в промежутках, когда не сталкиваюсь, но все же: я читал книги, я имею опыт программерства на VBA и все такое. Тщетно. На поверку выходит какая-то аномалия: какое бы решение я ни принял, какое бы свойство ни принял за нужное мне, наличие или поведение какой бы функции я ни предполагал - каждый шаг оказывается неверным. Каждый!

    Немало способствуют этому и проектировочные и конфигурационные решения, заложенные в сам Access:
    • Кому пришло в голову переводить названия свойств? То есть кто тот человек, который сказал, что в русском Access-е свойства должны называться по-русски? Ё-моё, это же VBA - туда нормальный пользователь и лезть-то не должен.
    • Ладно, нормальному пользователю помимо использования готовых форм и отчетов может понадобиться поднастроить что-то. Но контекстную справку-то можно было выпрямить под это, хотя бы? Она же кривая, как бублик Мёбиуса.
    • В Access-e есть десяток способов сделать что-то одно... а нужен один. Такое впечатление, что сидел себе программист и создавал конструктор форм и отчетов в СУБД. Через плечо ему заглянул кто-то, кому мне очень хочется зла, и сказал: "Конструктор - это, конечно, хорошо, но давай еще сделаем режим макета". Программист согласился и принялся за работу (так толком и не доделав конструктор). Потом через его другое плечо заглянул еще один товарищ, которому я тоже добра не желаю, и заметил: "Слушай, нужны еще мастера - пользователь их любит"! И снова согласился программист, и снова переключился на разработку новых фишек, не доделав режим макета (который вообще лишний, на мой взгляд). Вот в итоге и получилось: создаешь поле со списком в режиме мастера, мастер тебя спрашивает: "У вас будет фиксированный набор значений, набор значений из таблицы или значение в поле будет использоваться для поиска записи в форме"? Да ситуации, когда необходимы сразу второй и третий варианты, встречаются на каждом шагу: например, значения в списке поступают из таблицы, и на основании выбранного значения нужно сделать перезапрос в подчиненную форму. Ну ладно, думаешь, исправлю / доделаю руками. Не тут-то было. Как было сказано выше, в Access-е десяток способов сделать что-то одно (фильтры, запросы, макросы, сценарии - это так для примера, всеми этими способами можно поменять то, что отображается на форме, причем одновременно), и какой из способов выберет тот или иной мастер - неизвестно. Вот и начинаешь плутать. Плутать можно часами.
    • Сообщения об ошибках - это притча во языцых. Представьте: у вас форма с двумя вложенными друг в друга подчиненными. Что-то меняем, сохраняем, открываем в режиме формы, пытаемся что-то изменить в данных... Бац! "У вас где-то в каком-то индексе ошибка!" - радостно заливается Access. Пять таблиц, десятки полей, десятки индексов. Где искать-то? Я когда работал системным аналитиком и техписателем, в нашей системе дистанционного обучения часто выскакивало сообщение "Системная ошибка", после чего ничего не происходило. Ну, кто хорошо знает исключения или знает их не очень хорошо, тот понимает, когда появляются в превеликом множестве и непредсказуемых местах такие вот безликие ошибки. По-моему (я сам исключения ненавижу, они для меня, как парадокс Монти-Холла - я способен их постичь, но через 5 минут уже не могу сказать, почему оно работает, так что, надеюсь, более грамотные коллеги поправят меня, если я ошибаюсь), это происходит чаще всего тогда, когда в один блок try заключается здоровенный кусок кода с вызовами всяческих функций или просто текст функции main(), а в catch(...) прописано отображение вот такого сообщения. Это означает: что бы и где бы ни случилось, результат будет одинаковым и диагностировать такую ошибку с целью исправления можно только одним путем - воспроизвести ситуацию, когда ошибка возникла, что далеко не всегда легко и даже возможно, в особенности если ошибка возникла на стороне клиента. "У нас выскочила ошибка"! "Какая"? "Системная ошибка"! "А что вы делали"? И дальше рассказ о том, что делал сотрудник клиента в момент, когда появилось сообщение, что он делал до этого (с утра), и что делали все остальные сотрудники клиента. Я "в детстве" тоже любил писать код наподобие:

      Public Sub foo()
      On Error GoTo ErrorHandler
         (some action)
      ErrorHandler:
      End Sub

      но уж никак не мог предположить, что такими же вещами занимаются разработчики Microsoft Office-а.
    В общем БД, конечно, была реализована, получилось довольно симпатично. Однако я серьезно думаю, какое бы средство с меньшей фунциональностью и заморочками взять в качестве платформы для разработки базы в следующий раз. Больше всего из СУБД мне, в свое время, полюбился Clipper - исключительно теплые воспоминания.

    read more at АйТи-общественный блог

    Жизненный путь: Pilgrim5

    16:36 27.08.2011
    Жизненный путь: Pilgrim5
    Не могу не рассказать. Pilgrim5 - это не язык программирования, это система имитационного моделирования, с которой я работал очень долго и очень много. Разработана она была еще где-то в начале 90-х годов моим научным руководителем Емельяновым А. А. (в то время, конечно, он еще моим руководителем не был, потому что еще нечем было научно руководить). Система имитационного моделирования - это такая штука, которая позволяет настраивать "узлы", "транзакты", "генераторы" и "пути", то есть модели процессов, запускать их и получать всякую статистику. Все, что можно представить в виде системы массового обслуживания, можно представить в виде модели на Pilgrim и обсчитать.

    Система имитационного моделирования в данном случае представляет собой просто статическую библиотеку pilgrim.lib, которая ликнуется к проекту, и еще пару заголовочных файлов, которые с помощью инструкций препроцессора до неузнаваемости меняют текст основного исходника проекта. То есть сами не меняют - просто программист должен из-за этих макроопределений набивать в файл такое, что ни капли не похоже на C-шный текст. Вот примерчик:


    Такая модель создания хм... моделей оригинальна и, когда начинаешь работать в этой области (а я начал в 1998 или 1999-ом в рамках институтского курса), весьма удобна. Этот мизерный по объему и по сравнению с его же функциональность код, сам создает и окно, и несложные инструменты для анализа процесса, и даже графики строит кое-какие. Конечно, когда требуется модель более сложная, с более богатой визуализацией, с дополнительными расчетами, с подключением к БД, со всякими трюками, наподобие придуманного мною в свое время "парного забега" (долго объяснять) или чем-то подобным, возникают проблемы, которые таким вот нестандартным вынужденным синтаксисом только усугубляются. Но речь сейчас не об этом.

    Любопытно то, что даже по сравнению с OpenGL, Pilgrim5, наверное, еще более глубоко и профессионально изученная мною технология. С этой системой я работал долгие годы, создав много крупных и мелких моделей разной степени сложности для разных целей. Вот самые памятные проекты:
    • модель издательства, с учетом работы отделов сбыта, производства, букинистики и т. д. и т. п. с визуализацией, в которой все вертелось, бегало, уменьшалось и увеличивалось, динамически отображая состояние процесса по многим показателям (заказная);
    • модель родного деканата Института компьютерных технологий МЭСИ;
    • модель системы дистанционного обучения и взаимодействия с ней обучаемых с учетом индивидуальных учебных планов, курсов, дисциплин, промежуточного и итогового контроля и прочего, и прочего - для этой модели впервые пришлось подключать БД, из которой программа дергала данные, в БД же была вынесена и большая часть интерфейса для ввода данных, и все проверки этих данных на корректность и целостность, а сама модель стала ядром моей кандидатской диссертации;
    • три больших модели "Структурированной системы мониторинга инженерных систем" (СМИС) - тут тоже понадобилась БД, но не потому что данные были сложные, как в предыдущем случае (там были курсы, темы внутри курсов, индивидуальные планы), а потому что данных было очень много, а само моделирование производилось помиллисекундно (заказная).
    Помимо этого я разработал на базе Visio конструктор для имитационных моделей, который позволяет перевести одним щелчком это:


    в текст на C, который гарантированно компилируется.

    Интересно, что когда ты создаешь модели в Pilgrim-е, ты пишешь на C и не на C одновременно. То есть в тех аспектах, которые выходят за рамки терминологии Pilgrim-a ты должен соблюдать синтаксис и логику C, но большую часть времени ты мыслишь категориями теории массового обслуживания и имитационного моделирования. Программируя внутри Visual Studio, выполняя те же операции и шаги, что и обычно, ты при этом работаешь в основном не с языком программирования, а с чем-то созданным поверх этого языка. Любопытное ощущение.

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



    read more at АйТи-общественный блог