|
August 21st, 2032
May 13th, 2025
10:28 am - Смехуёчки на работе

Кто понял, тот понял :)
|
April 23rd, 2025
11:17 am - Зураб Церетели (1934-2025)

Сегодня скончался Зураб Церетели.
Знаю, многие его не любят за не самые удачные монументальные произведения, за умение устроиться, за неклассический стиль. Когда-то и я его весьма недолюбливал.
А потом, чем больше я смотрел разные произведения, чем больше знакомился с тем, что делают люди сейчас, тем больше изменялась моя оценка. В самом деле, посмотришь, что ставят Щербаков, Потоцкий, Бурганов и иже с ними, обернёшься на работы Церетели, и окажется, что пусть они слегка нелепы, или чересчур громадны, но хотя бы не производят впечатления манекенов, уродцев и прочих порождений больной фантазии. И что отдельно стоит осознать, Церетели — не реалист, реалистична у него только основа, на которую он в разных пропорциях докладывает символизма, наивного искусства и декоративности.
Окончательно же заставили меня полюбить творчество Зураба Константиновича его картины. Союз художников регулярно проводит выставки произведений своих членов, весь четвёртый этаж Дома Художников заполнен их произведениями всех возможных форм и стилей. И вот над всем этим морем картин пара его работ умудряется встать райским островком, выделиться и запомниться. Наглядно ощутить разницу между большим мастером и рядовыми современниками.
Ещё одно не совсем художественное, но важное качество его произведений, особенно малых форм, это бесконечное количество позитивных эмоций, которыми они делятся со зрителями. У меня даже есть рецепт борьбы с плохим настроением, особенно в серые зимние дни: придти в выставочные залы на Пречистенке и неспешно бродить там, рассматривая картины и эмали. Обычно часа хватает, чтобы уныние и грусть пропали и заменились как минимум спокойствием, а то и радостью.
Спасибо большое, Зураб Константинович, за всё сделаное.
P.S. Всего месяц назад был в галерее, нашёл пару фотографий его работ. ( Смотреть )
|
December 21st, 2024
11:48 pm - Дегенеративные нейросети Вот так, по мнению нейросети, Кетмар пишет компилятор...

|
November 22nd, 2024
01:21 pm - Танец Я приду плясать на могилах Густогривых коней вороных, Где суровые шепчут ивы, Позабывшие вид живых
Там суровые веют ветры, Завивая позёмкой снег, Я танцую в нём птицей белой, Позабыв, что я человек.
Я взлетаю выше и выше, Но колено — ещё не крыло. На промерзшей земле я останусь, Мне покинуть её не дано.
|
November 21st, 2024
11:05 pm - День отладчика Ничего не предвещало грядущих трудностей. Милая девушка со звучной должностью контент-менеджер пожаловалась, что не может разместить файлик: система ругается страшными словами "Network error". Ничего, подумал я, у них на этаже сеть собрана по дендро-фекальной технологии, может действительно на жирном файле рвётся и не даёт загрузить. Проэскалировал проблему сисадминам, и думать о ней забыл.
Некоторые поговаривают, что российские программисты прям супер талантливые. Возможно, если рассматривать их поодиночке, это действительно так. Как говорится, к пуговицам претензии есть? Нет, пришиты намертво. Но вот когда эти программисты собираются вместе и выдают продукт — тушите свет. Система, о которой шла речь выше, один из самых ярких тому примеров. Как вы уже поняли, с сетью было всё в порядке, и проблема прилетела обратно ко мне.
Хотелось бы думать, что имея за собой больше десятка лет развития и львиную долю рынка, люди хоть как-то научились информировать пользователей о проблемах в софте. Увы, "Network error" выдаётся вообще в любом случае, если ответ от сервера оказался не в том формате, в каком надо. Сделаю небольшое отступление и скажу громадное спасибо тем разрабам, которые сделали developer tools обязательным инструментом в браузере, без них геморроя было бы на порядки больше. Итак, посмотрев сетевые запросы этим прекрасным инструментом, я увидел, что после выбора файла жабоскрипт тут же загружает его на сервер, не доевреиваясь пока пользователь сохранит всю форму. Только вот вместо JSON с атрибутами сохранённого файла внезапно в ответ прилетает страница логина.
Ага, я тоже, скажем так, удивился. Не сообщение об ошибке, не 403-й статус, реальная страница входа, которую, понятно, не видно пользователю, а видно только на вкладке «Ответ» свойств сетевого запроса. Много лет разрабатываемая CMS-ка, оказывается, не способна различить обращение пользователя в закрытый раздел и вызов API. Ну да и фиг с ней, раз есть примерное понятие, куда копать, пришла пора спросить у Яндекса, где моя любимая что же более другие люди с такой проблемой делали. Несмотря на распространённость системы, Яндекс, если отбросить шелуху и SEO, выдал всего три варианта: дать нужные права, убрать ненужные файлы правил доступа, убрать лишние настройки хостера. Ну, последнее сразу не подходит, у нас свой сервер, настроек доступа не оказалось, а права выданы, и даже в большем, чем требуется, объёме.
Покрутив руль и попинав колёса, то бишь подёргав за настройки в официальном интерфейсе, я понял, что пришла пора перейти к эфиру сырцам, чтобы понять, что всё-таки там у ней внутре происходить. К счастью, написано всё на скриптах, подавляющая часть которых лежит в открытом виде. Спасибо хоть за такой подарочек. Впрочем, стиль написания у них такой, что и обфускации не надо. Начнём с того, что вызываемый скрипт содержал ровно одну строку кода: переход к другому файлу с тем же именем, но лежащему в другом месте. Естественно, в этом файле были ссылки на другие файлы, дальше вместо включения файлов стали попадаться вызовы классов — да, там причудливо мешается ООП и процедурная лапша — так что стало понятно, надо смотреть значения вживую.
Что характерно, так как это CMS, то простой вывод она к пользователю пропускает только в нужные моменты, и естественно, пока идёт инициализация и авторизация, весь вывод падает куда-то в район /dev/null. Открывать файл, писать в него, и закрывать снова геморройно, но я уже был готов от отчаяния на это пойти. К счастью, тут меня озарила, не побоюсь этого слова, генитальная идея. Можно посылать HTTP-шный заголовок! Он прекрасно пролетает к клиенту, если в файле их несколько с одним именем, останется только последний, и сразу будет ясно, у какого обрыва оборвалась тропинка.
Долго ли, коротко ли, но в конце пятого файла таки нашлась строчка, проверяющая право чтения у файла, которая возвращала мне отказ. Там внутри было написано такое, что это неслыхано, поэтому я сначала решил посмотреть за аргументы. Их, собственно, три: юзверь, идентификатор сайта, для которого проверяется, и путь. С юзверем всё было в порядке, но остальные два меня удивили. Во-первых, идентификатором сайта оказалось значение "ru". Я сначала погрешил на ошибку в настройках, всё ещё раз проверил, везде буквенно-цифровые обозначения стоят. Проверил на тестовом сайте, где всё работает, там тоже "ru". Что делать, опять лезем с сырцы, и действительно. Если принудительно в аргументах не задан идентификатор сайта, то его значением по умолчанию является код языка. Блин, они возможность держать несколько сайтов на одном движке как минимум десять лет назад запустили.
Теперь что удивило во-вторых, хотя после первого пункта удивлять не должно. Путь, который проверялся функцией, принадлежал не тому сайту, где работала невинно пострадавшая контент-менеджер, а самому первому, который на этом экземпляре движка был развёрнут. Ну а чо, логично: работаем на одном сайте, а права проверяем на дефолтном. Впрочем, фиг с ним, пошли на дефолтный сайт, выдадим права и будем радоваться.
Агащаз. В файловом менеджере системы есть наш старый сайт, есть наш новый портал, а дефолтного сайта нет. Пользователь, под которым это всё смотрится, имеет полные админские права, и от его орлиного взора скрыться ничего не может. Ладно, гора не идёт к Магомету, пойдёт Магомет. В URL для просмотра структуры в аргументах явно пишется идентификатор — сейчас мы пропишем туда идентификатор базового сайта, и решим нашу проблему. Залезаю в адресную строку, чтобы отредактировать, и тут то самое чувство: идентификатор там базового сайта, а показывает совсем другой. К счастью, эта загадка решилась достаточно быстро: когда разделяли сайты на разные доменные имена, путь на диске и путь к сайту указали не те, в результате чего один вообще не показывался, а другой спутался с первым. Но пути распутались, базовый сайт появился в интерфейсе, доступ контент-менеджерам открыли — и всё заработало.
Какая же мораль всей этой длинной унылой истории? Если придётся внедрять российский софт, требуйте доплаты за ухудшение условий труда. Или хотя бы молока за вредность.
|
November 5th, 2024
08:53 am - Из Ахматовой Мой завтрак греется на батарее, В моленной теплится свеча, Я в будуаре, трепеща и костенея, Лежу в постели Ильича.
|
October 1st, 2024
07:33 pm - * * * Оказавшись вдруг в лесу И наткнувшись на лису, Отолью я той лисице Два стакана «Рычал-Су»
|
July 19th, 2024
05:58 pm - Корпоративный прокси и Эклипс Если хотим, чтобы Эклипс понимал корпоративный прокси, делаем две вещи:
1. В настройках сети выставляем режим прокси в Native 2. В eclipse.ini добавляем следущие параметры:
-Djavax.net.ssl.trustStoreType=Windows-ROOT -Djavax.net.ssl.trustStore=NUL
3. .... 4. PROFIT!!!!
|
July 1st, 2024
06:12 pm - Запретите их Решил посмотреть в код, который написал свежий студент. Лучше бы я этого не делал.
private Boolean isValidType(DBComponent component) {
try {
if (!component.getType().equalsIgnoreCase("ChangeNote_Revision")) {
throw new Exception();
}
return Boolean.TRUE;
} catch (Exception e) {
return Boolean.FALSE;
}
}
Плачъ и рыданияхве
|
April 5th, 2024
11:31 pm - Хроники кровавого энтерпрайза. Сижу, значит, пытаюсь прихлопнуть тапочком вражеские танчики, и вдруг звонок от линейного админа: «Родной, спасай, обнова не ставится, охрана из здания выгоняет, как жить, что делать?!». Вали, говорю, мил человек, домой, я подключусь да разберусь, что да как.
Надо сказать, что система, на которую апдейт накатывали, проприетарная, жирная и довольно зрелая, ибо писать её в начале 1990-х начали. Обновление там представляет из себя запуск туевой хучи утилит, которые меняют структуру базы, обновляют файлы, чистят метаданные и генерят кэши. Вот, думаю, открою сейчас лог утилиты, найду, что за проблема, поправлю, да и пойду дальше танки гонять. ( И как, погонял? )
|
March 25th, 2024
02:36 pm - Динозавры живы! Уволился тут у нас программер, дядька 50+ лет. И как всегда по закону подлости сразу понадобилось внести изменения в модуль, который он разрабатывал. Я честно думал, что такие люди уже вымерли, потому как годными практиками все уши заезжены, да и человек не первое десятилетие в разработке.
Агащаз. Итак, имеем код на жабе. Вся логика сидит в одном большом классе на 2000+ строк с методами на 300-500 строчек. Отступы есть, но несколько хаотичные (благо автоформат об этом позаботился потом). Половина переменных называется bl1, bl2, ir_op и т.д. Антипаттерн на антипаттерне, прям хоть иллюстрации делай.
Самое интересное то, что человек умеет в нормальный код. Та часть, что я начинал писать, вполне прилична: всё разложено по классам, общий код в общем наследнике, интерфейсы, билдеры, инъекция зависимостей — всё аккуратно, лаконично и понятно. (Форматирование, правда, всё равно хромает). Но это чисто утилитарная надстройка над API, которая особого внимания не требует. А вот основная логика...
И немедленно выпил.
|
March 12th, 2024
10:54 pm - Сочи. Нил. Лось. Я нагнусь и сниму бахилы: За оградкой чиста трава. У заброшенной старой могилы Сяду я поискать слова.
Вдруг они в листьях тонких вербы, В прошмыгнувшем хвосте кота, Или в песнях, что шепчут нам ветры... Нет, боюсь, там одна пустота.
А потом под птичьи трели Поищу в голове своей. Вдруг да выманят свиристели Пару-тройку слов пожирней.
|
March 3rd, 2024
06:55 pm - По направлению к Розановой. Часть 4.

Наконец, последняя, четвёртая часть про выставку Розановой, и, к сожалению, финальный этап её творческого пути. Ранняя смерть Ольги, также как и её коллеги по цеху Надежды Поповой, — особенно обидные потери нашего искусства. Тем ценнее то, что осталось нам от них в наследство. Итак, вернёмся в 1915 год. В выставочном зале художественного бюро Надежды Добычиной состоялась последняя футуристическая выставка «0, 10», на которой впервые было официально представлено новое художественное течение — супрематизм. Как уже писалось раньше, супрематизм не является ни чем-то неожиданным, ни, как любят писать наши малообразованные современники, каким-то обманом доверчивой публики. Появление супрематизма лежит в русле художественного развития, начавшегося ещё с импрессионистов. И, как мы видели в прошлой части, сама Розанова тоже пришла к оперированию непосредственно цветовыми массами, без привязки их к определённым объектам, в рамках своих аппликаций в оформленных ей книгах. Более того, одно время Розанова даже высказывала претензии Малевичу, считая, что он украл у неё саму идею. Однако, первенство она всё же уступила, но не потому, что не была хронологически первой, а от того что у неё, как и например у Кандинского, и у других абстракционистов не было того, что было у Малевича — системы. Чистая абстракция, «я художник, я так вижу» в абсолюте, с одной стороны дарит автору практически ничем, кроме своих возможностей, не ограниченную свободу. С другой стороны, это значительно уменьшает аудиторию: если человек не воспринимает мир хоть сколько-нибудь подобно автору, он просто не сможет воспринять замысел. К примеру, известно, что Кандинский был синестетом, слышал звук в цвете и видел цвет в музыке, во многом его абстрактные картины порождены именно этими переживаниями. Человеку же рациональному, с полностью изолированными чувствами его картины будут видеться разноцветными загигулинами, и это нормально, в его разуме просто нет такого познавательного аппарата. ( Read more... )
|
February 11th, 2024
06:10 pm - По направлению к Розановой. Часть 3.

Прежде, чем перейти к последнему этапу творчества Розановой, давайте сделаем шаг в сторону. Он нужен чтобы показать ещё одну сторону её жизни и творчества, которая обычно остаётся в тени, и отдать должное самой Ольге, чтобы она не воспринималась как очередной последователь Малевича. Как я уже писал в прошлой части, кубофутуризм широко открыл двери чистому творческому началу художника, но при этом всё равно остался привязан к объектной тематике, что налагало ограничения как на автора, который получал хоть и широкий, но ограниченный набор элементов, так и на зрителя, пытавшегося привести видение художника к привычному, или хотя бы доступному себе образу. Поэтому избавление от объекта, лежащего в основе произведения, и использование чистых мысленных форм, беспредметности, стало логичным следующим шагом, и Розанова его сделала. ( Смотреть )
|
January 21st, 2024
09:13 pm - По направлению к Розановой. Часть 2.

Продолжаем идти творческим путём Ольги Розановой. Эта часть посвящена её опытам в кубофутуризме. Кубофутуризм — достаточно сложный для восприятия стиль. Если, скажем, для того же фовизма достаточно общей насмотренности, хотя и базовые знания композиции с теорией цвета не повредят, то здесь вмешивается пресловутое видение художника. Видение тут, конечно, не в том пошлом смысле, что написал умброй завиток и заявил, что это суть нашего мира. Тут реальный, аналитический взгляд на предмет, который разбирает этот предмет на части, причем не только в чисто геометрическом смысле разбиения поверхности на элементарные фигуры, но и в пространственном (вид спереди, вид сзади), и во временном (вид в прошлом, в настоящем, в будущем). Причём нет каких-то правил, объясняющих или регламентирующих такое разбиение, в принципе нет «правильного» разбиения. Дальше ещё один шаг: синтез. все полученные ранее элементы компонуются в новое единое целое, которое и составляет собой картину. Опять же, не существует «правильной» компоновки, всё зависит только от правил композиции и видения автора. В этом и есть сложность стиля: если образ мышления зрителя слишком далёк от образа мышления автора, ему будет почти невозможно понять, почему написано именно так, а не иначе, что подчёркивает та или иная деталь. А чисто технически оценить композицию будет мешать недособраная предметность, которая лезет в голову из названия, и в глаза из отдельных узнаваемых элементов. (Собственно, гениальность Малевича как раз в том, что он убрал аналитическую компоненту и вывел чисто синтетический стиль — но это уже история для третьей части). Пока же давайте посмотрим кубофутуристические полотна Розановой и попытаемся в них вникнуть ( Смотреть )
|
January 7th, 2024
07:47 pm - По направлению к Розановой. Часть 1.

В ГЭС-2 идёт интересная выставка, посвящённая Ольге Розановой и тем, кто считается её последователями и на кого она повлияла. Современная часть, увы, малоинтересна, есть несколько неплохих работ, но в основном шлак. Зато из работ Розановой получилась отличная ретроспектива, охватывающая весь её короткий, но яркий творческий путь. Так что кто в Москве или будет там, крайне рекомендую посетить, тем более, что билеты в ГЭС-2 бесплатные и ажиотажа нет.
И немного контекста, чтобы было более понятно, о чём будет идти речь. Те, кто легко расшифруют строчку «ОР-ЛП-НГ-АЭ-ВС-НУ», могут сразу идти под кат смотреть картины, а для оставшихся будут подробности. В начале XX века художественная жизнь в России просто кипит. Живописцы осваивают новые стили, основывают общества единомышленников, постоянно дискутируют о том, каким должно быть искусство, пытаются изобрести что-то новое. В принципе, ничего, такого, чего не было бы в других крупных столицах, но было одно отличие, которое потом назовут «Амазонки русского Авангарда». Такого количества заметных женщин, которые были не на вторых ролях, а шли вровень с лидерами искусства, более не было нигде. Собственно, та тестовая строка в начале абзаца это просто их имена, которые хорошо известны всем, кто интересовался авангардным искусством. Это Ольга Розанова, Любовь Попова, Наталья Гончарова, Александра Экстер, Варвара Степанова и Надежда Удальцова.
Ольга Розанова не зря стоит первой в этом списке. Она была одной из самых заметных и деятельных художниц своего времени. После приезда в Петербург она вошла в художественное объединение «Союз молодёжи» и быстро стала одним из ведущих его членов. Она участвует в каждой выставке, пишет статьи и манифесты, участвует в дебатах, договаривается с другими группами о совместных выставках. Ну и конечно, с чисто художественной стороны она работает в самых актуальных стилях. ( Смотреть )
|
December 22nd, 2023
05:38 pm - Си -- говно, а MSVC -- дважды. Как вы думаете, на что я сегодня убил полдня? Правильно, на отладку сишного кода. Полдня это потому что код сидит внутри библиотеки, которая дёргается в рантайм-контексте. Поэтому никаких тестов, скомпилили библиотечку, засунули в систему, подняли клиента, дёрнули процесс, система упала, посмотрели логи, вернулись к началу.
ну ладно, я человек упорот упорный, докопался. Так как в Си, как известно, строк нет, у меня был статический массивчик, куда клалось имя текущего верхнего элемента с тем, что если в кишках его найдётся ошибка, добавить это имя в лог. Потыкав пальцем в небо, я дал этому массиву размер в 128 байт, потому как для большинства имён это было с хорошим запасом. Но кому-то понадобилось назвать элемент «Установка прокладкоустойчивой канализационной арматуры с автоматическим фекальным запором "Сфинктер-ВЖ-ЕБ" №2». И, бинго, оно оказалось 129 символов, почему на моменте копирования из контейнера в переменную всё и рушилось.
Казалось бы, причём тут MSVC, когда сам рак? Чукча, конечно, тупой, но соломку подстелил: копировалось оно безопасной функцией strcpy_s. В MSDN пикселями по экрану четко написано: возвращаем код ошибки и ставим dest[0]=0, если dest слишком маленький. То есть по идее в случае слишком длинного имени я максимум получаю неполное сообщение о проблеме в логе проверок, и то, если оно таки будет. Собственно почему так долго и искал: всё смотрел глубже по коду, а strcpy_s она ж безопасная, там все проверки есть. Авотхуй, при копировании большего буфера в меньший трапнулась, как таиландский шимейл.
|
December 10th, 2023
10:09 pm - Испанская коллекция. Часть 3.

Последняя, третья часть выставки, правда он такая маленькая, что можно её назвать частью два с половиной. На ней показано неживописное искусство, а именно скульптура и керамика. Ничего особенного, но именно эти предметы наиболее испанские из тех, что мы видели. ( Смотреть )
|
December 3rd, 2023
11:22 pm - Испанская коллекция. Часть 2.

Итак, вторая часть обзора выставки, в которой я собрал картины XIX - начала XX века. К сожалению, более поздних работ не представили. С другой стороны, и тех, что есть вполне достаточно, а если интересно, что было дальше, у меня был обзор на выставку испанских импрессионистов, там тоже есть на что посмотреть. ( смотреть )
|
|
|