пятница, 30 сентября 2016 г.

[prog.flame] portfile.cmake из Vcpkg супротив рецепта для MxxRu::externals

Попробовал представить, как сделать адаптацию SO-5 под новую волшебную пилюлю от Microsoft под названием Vcpkg. Проблевался. Какую только херню, пардон май френч, народ готов жрать только потому, что эта херня от MS или от Google. Поразительно.

Суть Vcpkg в том, что под каждый проект, который хочется затянуть в этот самый Vcpkg, нужно создать файлик portfile.cmake, в котором будут находится инструкции по доставанию исходников этого проекта и по его сборке (если проект нуждается в сборке). Для примера покажу, как выглядит portfile.cmake для библиотеки Range-V3. И как это же самое выглядит в виде рецепта для MxxRu::externals.

Итак, portfile.cmake для Vcpkg:

include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Range-V3-VS2015-ede9ad367fd5ec764fecb039c874614bd908e6b6)
vcpkg_download_distfile(ARCHIVE
    URLS "https://github.com/Microsoft/Range-V3-VS2015/archive/ede9ad367fd5ec764fecb039c874614bd908e6b6.zip"
    FILENAME "range-v3-ede9ad367fd5ec764fecb039c874614bd908e6b6.zip"
    SHA512 e978c7694471d8616c248647b77689f377b3e2517347abde8629b140e5994de8bf686565a24cdd7dd222f325d43b775f5e478c91220dce75313985499b134637
)
vcpkg_extract_source_archive(${ARCHIVE})

file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/range-v3)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/range-v3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/range-v3/copyright)
file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp")
vcpkg_copy_pdbs()

Тоже самое для MxxRu::externals:

MxxRu::arch_externals :range_v3_vs2015 do |e|
  e.url 'https://github.com/Microsoft/Range-V3-VS2015/archive/ede9ad367fd5ec764fecb039c874614bd908e6b6.zip'
  e.sha512 'e978c7694471d8616c248647b77689f377b3e2517347abde8629b140e5994de8bf686565a24cdd7dd222f325d43b775f5e478c91220dce75313985499b134637'

  e.map_dir 'include/*' => 'dev/range-v3'
  e.map_file 'LICENSE.txt' => 'dev/range-v3/*'
end

Резюмируя. Если кому-то действительно нужно, чтобы SO-5 был доступен из портов Vcpkg, то дайте знать. Мы сделаем. Но только если это кому-то действительно нужно. Ибо Vcpkg выглядит как говно и пахнет как говно. А посему вмазываться в говно и сопровождать потом это говно просто так не хочется, только если на то будут причины.

[life.cinema] Очередной кинообзор (2016/09)

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

Любой ценой (Hell or High Water, 2016). Понравилось, посмотрел с большим удовольствием.

Мистериум. Тьма в бутылке (Flaskepost fra P, 2016). Понравилось. Очень достойная серия криминальных фильмов получилась (если кто не видел, то советую начать с двух первых частей: Мистериум. Начало (Kvinden i buret, 2013) и Убийцы фазана (Fasandræberne, 2014), тогда будет лучше понятно, откуда взялись главные герои-следователи.

Торо (Toro, 2016). Неплохо. Европейцы все-таки снимают криминальные драмы как-то не так, как американцы.

Заклятие 2 (The Conjuring 2, 2016). Если первое "Заклятие" понравилось, то нужно смотреть и второе. Как по мне, так достойное продолжение.

Джейсон Борн (Jason Bourne, 2016). Ждал от фильма сильно большего. Если бы не погоня на автомобилях в конце, так вообще бы разочаровался бы.

Великолепная семерка (The Magnificent Seven, 2016). Постреляли в фильме от души, но, что странно, ни за кого из героев переживать не хотелось. Так что фильм смотрится просто как тщательно сделанный аттракцион с весьма предсказуемым финалом.

Транс-Пекос (Transpecos, 2016). Если бы не излишняя затянутость, то могла бы получиться вполне добротная криминальная драма.

Поезд в Пусан (Busanhaeng, 2016). Корейское кино про зомби. Причем, про весьма шустрых и злобных зомби. Если корейское кино нравится, то можно смотреть. Хотя бы для того, чтобы увидеть, как корейцы к этой теме подходят.

Такой же предатель, как и мы (Our Kind of Traitor, 2016). Несмотря на наличие хороших актеров какого-то хорошего впечатления фильм на меня не произвел.

Отмель (The Shallows, 2016). Так себе. Финал вообще сказочный.

Безбашенный Ник (Tschiller: Off Duty, 2016). Редкая муть. Доставил разве что фрагмент с проездом на комбайне по центральным улицам Москвы под "Нас не догонят".

Спарта (2016). Не понял ни что это было, ни зачем я это смотрел. Но хотя бы сцены поединков были сняты более-менее нормально.

понедельник, 26 сентября 2016 г.

[prog.thoughts] Эпоха бородатых проектов уже наступила?

Программирование сейчас -- это слишком уж сегментированная область, чтобы говорить о программировании вообще. В каком-нибудь фронтэнде, где все меняется с калейдоскопической быстротой, наверняка дела обстоят совсем не так, как в мире хардкорного эбедеда для специализированных компьютеров с 16K RAM на борту. Однако, если брать ниши таких языков программирования, как C, С++, Java, C# и, может быть, даже Haskell/OCaml/Scala, то в этих нишах библиотеки с историей развития в 10+ лет уже не редкость. Ну, например, Boost в C++ или Hibernate в Java -- это же самое начало 2000-х.

Причем Boost -- это чрезвычайно любопытный пример. Т.к. Boost, появившись более 15 лет назад, позиционировал себя как площадка для новых C++ных библиотек, специально созданных для современного C++ и которые двигают C++ вперед. Т.е. даже понятию "современный C++" уже очень прилично лет. Посему даже библиотеки, которые сразу стартовали с "современного C++", на данный момент уже имеют "лохматую историю" (см., например, Crypto++ и Botan). Что уж говорить про те библиотеки, которые появились на свет еще до стандартизации C++ (MFC, Qt, ACE).

Посему кажется, что мы уже живем в эпоху, когда нас окружают "бородатые" проекты с очень длительной историей развития. И с каждым годом это будет все более и более актуально. Пройдет лет пять-десять и, смешно сказать, 20-летние senior-разработчики и 25-летние solution-архитекторы будут собирать проекты из компонентов, которые будут постарше этих самых разработчиков и архитекторов :) А может где-то и сейчас уже так. Скажем, если речь идет об использовании СУБД Oracle или DB2.

PS. Но еще с большим интересом я лично жду времен, когда нынешняя братия молодых разработчиков постареет лет так на десять. Говорят, что сегодня средний возраст ИТ-шников у нас в РБ меньше 30 лет. Что, в принципе, понятно. Народ массово пошел в профессию где-то после 2004-го года, когда офшор в наших Палестинах стал всасывать все имеющиеся ресурсы как пылесос. Отсюда, полагаю, и засилье малолетних дебилов на профильных форумах. Тем интереснее станет, когда лет через 5-10 этот самый средний возраст существенно превзойдет 30 лет. Но это уже совсем другая история...