CodeSOD: A Dumbain Specific Language

Sep. 20th, 2017 10:30 am
[syndicated profile] the_daily_wtf_feed

Posted by Remy Porter

I’ve had to write a few domain-specific-languages in the past. As per Remy’s Law of Requirements Gathering, it’s been mostly because the users needed an Excel-like formula language. The danger of DSLs, of course, is that they’re often YAGNI in the extreme, or at least a sign that you don’t really need

XML, coupled with schemas, is a tool for building data-focused DSLs. If you have some complex structure, you can convert each of its features into an XML attribute. For example, if you had a grammar that looked something like this:

The Source specification obeys the following syntax

source = ( Feature1+Feature2+... ":" ) ? steps

Feature1 = "local" | "global"

Feature2 ="real" | "virtual" | "ComponentType.all"

Feature3 ="self" | "ancestors" | "descendants" | "Hierarchy.all"

Feature4 = "first" | "last" | "DayAllocation.all"

If features are specified, the order of features as given above has strictly to be followed.

steps = oneOrMoreNameSteps | zeroOrMoreNameSteps | componentSteps

oneOrMoreNameSteps = nameStep ( "." nameStep ) *

zeroOrMoreNameSteps = ( nameStep "." ) *

nameStep = "#" name

name is a string of characters from "A"-"Z", "a"-"z", "0"-"9", "-" and "_". No umlauts allowed, one character is minimum.

componentSteps is a list of valid values, see below.

Valid 'componentSteps' are:

- GlobalValue
- Product
- Product.Brand
- Product.Accommodation
- Product.Accommodation.SellingAccom
- Product.Accommodation.SellingAccom.Board
- Product.Accommodation.SellingAccom.Unit
- Product.Accommodation.SellingAccom.Unit.SellingUnit
- Product.OnewayFlight
- Product.OnewayFlight.BookingClass
- Product.ReturnFlight
- Product.ReturnFlight.BookingClass
- Product.ReturnFlight.Inbound
- Product.ReturnFlight.Outbound
- Product.Addon
- Product.Addon.Service
- Product.Addon.ServiceFeature

In addition to that all subsequent steps from the paths above are permitted, that is 'Board', 
'Accommodation.SellingAccom' or 'SellingAccom.Unit.SellingUnit'.
'Accommodation.Unit' in the contrary is not permitted, as here some intermediate steps are missing.

You could turn that grammar into an XML document by converting syntax elements to attributes and elements. You could do that, but Stella’s predecessor did not do that. That of course, would have been work, and they may have had to put some thought on how to relate their homebrew grammar to XSD rules, so instead they created an XML schema rule for SourceAttributeType that verifies that the data in the field is valid according to the grammar… using regular expressions. 1,310 characters of regular expressions.

    <xs:restriction base="xs:string">
            <xs:pattern value="(((Scope.)?(global|local|current)\+?)?((((ComponentType.)?

There’s a bug in that regex that Stella needed to fix. As she put it: “Every time you evaluate it a few little kitties die because you shouldn’t use kitties to polish your car. I’m so, so sorry, little kitties…”

The full, unexcerpted code is below, so… at least it has documentation. In two languages!

<xs:simpleType name="SourceAttributeType">
                        <xs:documentation xml:lang="de">
                Die Source Angabe folgt folgender Syntax

                        source = ( Eigenschaft1+Eigenschaft2+... ":" ) ? steps

                        Eigenschaft1 = "local" | "global"

                        Eigenschaft2 ="real" | "virtual" | "ComponentType.all"

                        Eigenschaft3 ="self" | "ancestors" | "descendants" | "Hierarchy.all"

                        Eigenschaft4 = "first" | "last" | "DayAllocation.all"

                        Falls Eigenschaften angegeben werden muss zwingend die oben angegebene Reihenfolge der Eigenschaften eingehalten werden.

                        steps = oneOrMoreNameSteps | zeroOrMoreNameSteps | componentSteps

                        oneOrMoreNameSteps = nameStep ( "." nameStep ) *

                        zeroOrMoreNameSteps = ( nameStep "." ) *

                        nameStep = "#" name

                        name ist eine Folge von Zeichen aus der Menge "A"-"Z", "a"-"z", "0"-"9", "-" und "_". Keine Umlaute. Mindestens ein Zeichen

                        componentSteps ist eine Liste gültiger Werte, siehe im folgenden

                Gültige 'componentSteps' sind zunächst:

                        - GlobalValue
                        - Product
                        - Product.Brand
                        - Product.Accommodation
                        - Product.Accommodation.SellingAccom
                        - Product.Accommodation.SellingAccom.Board
                        - Product.Accommodation.SellingAccom.Unit
                        - Product.Accommodation.SellingAccom.Unit.SellingUnit
                        - Product.OnewayFlight
                        - Product.OnewayFlight.BookingClass
                        - Product.ReturnFlight
                        - Product.ReturnFlight.BookingClass
                        - Product.ReturnFlight.Inbound
                        - Product.ReturnFlight.Outbound
                        - Product.Addon
                        - Product.Addon.Service
                        - Product.Addon.ServiceFeature

                Desweiteren sind alle Unterschrittfolgen aus obigen Pfaden erlaubt, also 'Board', 'Accommodation.SellingAccom' oder 'SellingAccom.Unit.SellingUnit'.
                'Accommodation.Unit' hingegen ist nicht erlaubt, da in diesem Fall einige Zwischenschritte fehlen.

                        <xs:documentation xml:lang="en">
                                The Source specification obeys the following syntax

                                source = ( Feature1+Feature2+... ":" ) ? steps

                                Feature1 = "local" | "global"

                                Feature2 ="real" | "virtual" | "ComponentType.all"

                                Feature3 ="self" | "ancestors" | "descendants" | "Hierarchy.all"

                                Feature4 = "first" | "last" | "DayAllocation.all"

                                If features are specified, the order of features as given above has strictly to be followed.

                                steps = oneOrMoreNameSteps | zeroOrMoreNameSteps | componentSteps

                                oneOrMoreNameSteps = nameStep ( "." nameStep ) *

                                zeroOrMoreNameSteps = ( nameStep "." ) *

                                nameStep = "#" name

                                name is a string of characters from "A"-"Z", "a"-"z", "0"-"9", "-" and "_". No umlauts allowed, one character is minimum.

                                componentSteps is a list of valid values, see below.

                                Valid 'componentSteps' are:

                                - GlobalValue
                                - Product
                                - Product.Brand
                                - Product.Accommodation
                                - Product.Accommodation.SellingAccom
                                - Product.Accommodation.SellingAccom.Board
                                - Product.Accommodation.SellingAccom.Unit
                                - Product.Accommodation.SellingAccom.Unit.SellingUnit
                                - Product.OnewayFlight
                                - Product.OnewayFlight.BookingClass
                                - Product.ReturnFlight
                                - Product.ReturnFlight.BookingClass
                                - Product.ReturnFlight.Inbound
                                - Product.ReturnFlight.Outbound
                                - Product.Addon
                                - Product.Addon.Service
                                - Product.Addon.ServiceFeature

                                In addition to that all subsequent steps from the paths above are permitted, that is 'Board', 'Accommodation.SellingAccom' or 'SellingAccom.Unit.SellingUnit'.
                                'Accommodation.Unit' in the contrary is not permitted, as here some intermediate steps are missing.

                                <xs:restriction base="xs:string">
                                        <xs:pattern value="(((Scope.)?(global|local|current)\+?)?((((ComponentType.)?(real|virtual))|ComponentType.all)\+?)?((((Hierarchy.)?(self|ancestors|descendants))|Hierarchy.all)\+?)?((((DayAllocation.)?(first|last))|DayAllocation.all)\+?)?:)?(#[A-Za-z0-9\-_]+(\.(#[A-Za-z0-9\-_]+))*|(#[A-Za-z0-9\-_]+\.)*(ThisComponent|GlobalValue|Product|Product\.Brand|Product\.Accommodation|Product\.Accommodation\.SellingAccom|Product\.Accommodation\.SellingAccom\.Board|Product\.Accommodation\.SellingAccom\.Unit|Product\.Accommodation\.SellingAccom\.Unit\.SellingUnit|Product\.OnewayFlight|Product\.OnewayFlight\.BookingClass|Product\.ReturnFlight|Product\.ReturnFlight\.BookingClass|Product\.ReturnFlight\.Inbound|Product\.ReturnFlight\.Outbound|Product\.Addon|Product\.Addon\.Service|Product\.Addon\.ServiceFeature|Brand|Accommodation|Accommodation\.SellingAccom|Accommodation\.SellingAccom\.Board|Accommodation\.SellingAccom\.Unit|Accommodation\.SellingAccom\.Unit\.SellingUnit|OnewayFlight|OnewayFlight\.BookingClass|ReturnFlight|ReturnFlight\.BookingClass|ReturnFlight\.Inbound|ReturnFlight\.Outbound|Addon|Addon\.Service|Addon\.ServiceFeature|SellingAccom|SellingAccom\.Board|SellingAccom\.Unit|SellingAccom\.Unit\.SellingUnit|BookingClass|Inbound|Outbound|Service|ServiceFeature|Board|Unit|Unit\.SellingUnit|SellingUnit))"/>
[Advertisement] Release! is a light card game about software and the people who make it. Play with 2-5 people, or up to 10 with two copies - only $9.95 shipped!

Танцуй или умри!

Sep. 20th, 2017 10:04 am
[syndicated profile] exler_ru_blog_feed
рубрика : кино

Все-таки российский кинематограф - он милый, милый! Попался на глаза анонс очередного супершедевра. Называется "Танцы нахер"... ой, "Танцы насмерть".

Цитирую анонс - только не ржите!

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

Ну скажите, разве это не гениально?!! Выживание человечества, Карл, зависит от энергии, которую, Карл, отдают участники жестого танцевального турнира! Но когда один из претендентов, Карл, влюбляется...

Слушайте, это совершенно гениально! Смотреть, немедленно смотреть! Жестокий танцевальный турнир без правил! Какой идиот это все придумал? Какой идиот это все снял? Кто на такой идиотизм вообще дал деньги?!!

Впрочем, о чем это я? После совершенно потрясающих "Защитнегов" никаких вопросов ни у кого уже быть не может!

А эти танцы в апреле еще и на экраны вышли. Рейтинг на "Кинопоиске" высокий - аж 3,9. Почти 4, между прочим, чуть-чуть не дотянули.

[syndicated profile] shakko_kitsune_feed
Испания -- неисчерпаемый источник сюжетов, связанных с телами. Недаром в их латиноамериканских колониях культ Смерти так хорошо зашел. Рассматриваем полотна про то, как тревожили могилу великого героя Эль Сида и его возлюбленной прекрасной Химены, читаем про мощевик атеиста с королевскими зубами от директора Лувра, а также узнаем про "самый популярный сувенир" среди vip-любителей истории Испании.

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

Начнем издалека: Доминик Виван-Денон был великий человек.

Помимо всего прочего, мы обязаны ему египтоманией: он сопровождал Наполеона в Египетском походе, и после издал альбом зарисовок (откуда много почерпнул стиль ампир).

Кроме того, он был первым директором Лувра: когда Наполеон по всей Европе занимался экспроприацией ценностей, Денон лично отбирал лучшие картины для музея. Потом, правда, когда императора тогось, победители (в особенности Италия) растащили все по домам обрано. Но он умудрился так договориться, что кое-что все же осталось в Париже.

Вообще читайте его биографию, там много всего удивительного и достойного восхищения.

Портрет Денона кисти Р. Лефевра, 1808

Помимо гравюр, камей и прочего такого красивого, он собирал и то, что сегодня мы бы назвали трофеями маньяка.

Так, Денон велел изготовить для себя «мощевик атеиста», в который поместил, помимо прочего, зуб Вольтера, фрагменты останков Абеляра с Элоизой и клочок бороды знаменитого бонвивана Генриха Наваррского, полученный при осквернении его могилы в 1793 году.

Jean-Baptiste Mauzaisse. Вскрытие могилы Генриха IV. 1793

Вообще во Французскую революцию народ активно вскрывал все какие попало гробницы из-за милого и наивного обычая хоронить людей в драгоценностях.
Делалось все это, конечно, под соусом борьбы с монархией и религией (ровно как у нас в 17-м).

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

"Мощевик атеиста" Денона. Используется классическая форма католического реликвария.
reliquaire de Vivant Denon (2).jpg

Содержание мощевика:

1) Фрагменты костей Эль Сида и доньи Химены.
2) Фрагменты костей Абеляра и Элоизы
3) Волосы Аньес Сорель и Инес де Кастро (той самой мертвой невесты на троне из прошлого выпуска)
4) Волосы из усов Генриха Наваррского и клок савана виконта де Тюренна
5) Косточки Мольера и Лафонтена
6) Кусок зуба Вольтера и локон генерала Дезе

А вот волосы Наполеона там же

Чтобы наполнить этот ковчег вышеперечисленными некрофильскими сувенирами, Денон и его знакомые, а также просто фанаты-читатели (присылавшие ему подарки), активно занимались вскрытием могил.


Остановимся на одном из них -- осквернении могилы великого испанского героя Эль Сида, поскольку этому посвящено достаточно заметное количество произведений искусства, причем Денона в них тоже изображали.

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

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

А. Фрагонар. Денон помещает останки Эль Сида в его гробницу. Ок. 1811.

Факты же, которые мне удалось найти, таковы: в 1808 году французы под предводительством маршала Нея взяли Бургос (читайте цикл про стрелка Шарпа) и разграбили могилу великого героя Эль Сида и его жены Химены, которая находилась в монастыре.

Вид могилы в монастыре до нашествия французов, все прибрано, подметено.
Вид могилы при французах. Кости истоптаны в крошку

А французский военный губернатор так был шокирован этим поступком, что перезахоронил героя с почестями в новой могиле в соборе.

Так что возникают вопросы к картине:
откуда на ней Денон вообще не понятно -- вроде бы считается, что тот губернатор послал кусок Эль Сида упомянутому Денону в качестве сувенира в мощевик, и все.

То же, худ. А Роен (по рисунку Б. Зикса), 1809
Бенжамен Зикс, сопровождавший Денона в путешествии, нарисовал себя рядом.

О, нашла более расширенную версию событий!

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

И только когда великий Денон проезжал по Испании через соответственно, Бургос, этот Тибо отщипнул ему кусочек мощей. В мемуарах генерала все описано.

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

А вот первоначальный рисунок Б. Зикса.

Кстати, после этого приключения покойного Эль Сида и возлюбленной его Химены продолжались.

Испания была освобождена от французов.
Но испанцев раздражало, что над гробницей их героя стоит поставленный французами монумент.
Его разбили.

Памятник 1809 года, французский.

В 1826 году останки перевезли обратно в монастырь San Pedro de Cardeña в том же Бургосе. Надгробие оставили то же, но передвинули его, насколько я поняла, в другое место храма, более проходимое, не то, что на рисунках и гравюрах.

В 1842 году из-за плохого состояния монастыря захоронение было решено переместить обратно в собор.

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

Перезахоронение в 1883 году

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

В 1921 году была проведена очередная роскошная процедура по перезахронению Сида, в которой принял участие король Альфонс XII.

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

Тем не менее, на протяжении ХХ века продолжают всплывать все новые фрагменты костей. Но эта не та история, что с 5 черепами Иоанна Крестителя: при перезахронениях кости Сида были пересчитаны, и там реально не хватает.
Могилу, чтобы доложить находки, больше не вскрывают -- косточки кладут рядом в витринах.

Книжка про это рассеяние останков есть Los huesos del Cid y Jimena: expolios y destierros / Leyre Barriocanal Fernández (2013).
Испанцы стараются все собрать, но из мощевика Денона кусочек им не отдадут, конечно.

Вот еще раз крупно мощевик Денона:

Histoire d&apos;os 4.jpg

Источники на испанском языке: 1-я часть , 2-я часть

Предыдущие выпуски читайте по тэгу "омерзительное искусствоведение".

Трансляция рубрики вконтакте
Мой канал в телеграмме
Пожертвовать автору на темное пиво можно тут.

[syndicated profile] exler_ru_blog_feed
рубрика : обновление

Медиаплеер Dune HD Solo Lite

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

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

logrotate в docker

Sep. 20th, 2017 05:04 am
[syndicated profile] ru_root_lj_feed

Posted by ingvarhelgisson

Камрады, недавно столкнулся с такой вещью, как docker
после чего имею вопрос: Как настроить ротацию логов nginx и apache, запущенных в docker
на хосте SLES12.2 с дефолтным docker1.12
гугленье дает отсыл к статьям двухлетней давности с невменяемыми рекомендациями, типа слать логи в stdout контейнера
прошу подсказки, где искать.

Comic for September 20, 2017

Sep. 20th, 2017 11:59 pm
[syndicated profile] dilbert_com_rss_feed
Dilbert readers - Please visit to read this feature. Due to changes with our feeds, we are now making this RSS feed a link to
fixik_papus: (Default)
[personal profile] fixik_papus

Безусловный базовый доход - это когда каждому постоянно падает бабло за просто так, по факту существования.
Это, наверно, как коммунизм, который к 1980 в СССР обещали (только зачем-то еще работать заставляли).

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

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

Я просто хочу показать, что вот прямо здесь и сейчас... да-да! в России в 2017 - некоторая часть населения может получать безусловный базовый доход. И это будут не какие-то там копейки а-ля минимальное пособие по безработице (4900 руб. в месяц ЕМНИП). Это будет доход, превышающий среднюю зарплату по стране! Разумеется, с уплатой всех налогов (НДФЛ+ПФ/ФСС/НДС).

Ах, да, никаких дополнительных расходов от государства не понадобится! Напротив, гос.расходы будут уменьшены!

Что, говорите, я совсем свихнулся и несу утопический-фантастический бред?
Давайте посчитаем.

Давайте посчитаем )

Что-то здесь не так, правда?
А что не так и что со всем этим делать - я предпочту помолчать и послушать умных людей. Потому что ни экономист ни разу.

Сказка на ночь - 47

Sep. 19th, 2017 06:46 pm
[syndicated profile] u_96_feed
Был солнечный полдень.

- Ну? – спросил дракон.
- Сейчас-сейчас, - успокоил его рыцарь.
- Ты обещал показать мне какой-то уникальный местный ритуал. Почти восьмое чудо света. Я ради этого даже согласился пропустить завтрак, - желчно напомнило крылатое пресмыкающееся и осмотрелось по сторонам.

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

- Вот сейчас! – наконец сообщил рыцарь, сверившись с солнечными часами.

Секундой спустя где-то неподалеку раздалось звонкое «Бам!» После чего над крепостной стеной вознесся некий снаряд. Отчаянно кувыркаясь, пронесся он над всем городом и скрылся за противоположной линией крепостных стен. Где с гулким плюхом и рухнул в реку. С места старта снаряда донеслись ликующие вопли.

Дракон прислушался. Затем решил уточнить:
- «Хвасон! Хвасон!», это что такое?
- Это такой акцент, - выпалил рыцарь, спеша поделиться добытыми ранее на городском рынке познаниями, - На самом деле они радуются. И кричат: «Хоросо! Хоросо!»

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

- Что этот парень делает? – удивился дракон.
- Это и есть старинный ритуал! – хихикнул рыцарь.
- А точнее?
- Он проклятия сочиняет.
- А зачем он их на доске чирикает? – крылатый ящер недоуменно наморщил чешую на лбу.
- Потому что давно голос сорвал, - охотно пояснил напарник, страшно гордый тем, что в кои годы именно он поучает дракона, а не наоборот.

Заглянув через плечо бургомистра, ящер прочел: «Я вас, узкоглазых, совсем на фиг полностью от и до уничтожу, урою, убью, лишу жизненных сил и долбаного дзэна! Мейк наш город грейт эгейн!!!» После 140 знаков место для записей на доске кончилось. Но внутри бургомистра явно еще продолжали клокотать нерастраченные эмоции. Поэтому он, сдернув шоссы, продемонстрировал окружающим свой голый зад, десять раз показал язык и пять раз – оттопыренный средний палец правой руки. Попутно, от избытка чувств, пустившись вприсядку.

- Горячий парень, - прокомментировал увиденное дракон.
- О да! – согласился рыцарь, с восторгом наблюдая за ужимками бургомистра.

Внезапно перформанс с пальцем вприсядку оказался самым безжалостным образом прерван появлением нового действующего лица. Сначала над крепостной стеной воздвиглась верхняя часть приставленной снаружи к фортификационному объекту стремянки. Затем, тяжело отдуваясь, по лестнице поднялся пухлый незнакомец с явно азиатским разрезом глаз. Увидев приплясывающего бургомистра, незнакомец радостно осклабился и крикнул: «Сам козел!». После чего под аплодисменты своей свиты величественно съехал по стремянке вниз.

С бургомистром случилась падучая.

Дабы не мешать высокому должностному лицу заниматься столь интимным делом, дракон и рыцарь поспешили ретироваться в ближайшую таверну. Прикончив первую пинту, ящер потребовал вторую и, пока ему несли заказ, повернулся к напарнику:
- Ты что-то там говорил про старинный ритуал?
- Очень старинный! – рыцарь для пущей важности оттопырил палец, - Не каждый посвящен в его тайну, а только…
- Достойнейший? – предположил дракон.
- Во-первых, да. Во-вторых, я. В-третьих, на рынке в большой луже пьяный валялся. Пока я по нему лужу переходил, он не только высказал все, что обо мне думает, но и поведал массу иных удивительных сведений.
- Например?..
- Например, живет тут неподалеку одно племя азиатское. Когда-то с этими дикарями воевали, а затем на войну плюнули, ибо дорого. Надеялись, что дикари сами вымрут. А те надежд не оправдали. Одно слово – дикари!.. Мало того, что выжили, так еще, говорят, из гуано и палок соорудили катапульту. После чего стали с ее помощью регулярно ведра с помоями над городом швырять. Зачем, правда, не понятно…
- Как раз понятно, - хмыкнул дракон, - Потому что – могут!
- В общем, - продолжил рыцарь, - пришлось бургомистру как-то на это безобразие реагировать. Воевать, повторю, было дорого. Поэтому прибег он к более дешевому варианту - стал в ответ на каждое ведро проклятиями сыпать.
- Результат-то был?
- Даже два, - рыцарь начал загибать пальцы, - Во-первых, у бургомистра голос сел. Во-вторых, ведра стали летать чаще. Но по-настоящему бесит бургомистра даже не это…
- А что? То, что однажды ведро может внутри города грохнуться?
- То, что начиналось все с ведер деревянных. А сейчас летают уже эмалированные!..

Я из лесу вышел. Дыбр

Sep. 19th, 2017 04:51 pm
nataraj: (Default)
[personal profile] nataraj
Вчера окончательно снял лагерь в лесу.
Планировал провести там несколько дней, но посмотрев на прогноз погоды посуху снял тент, а мокрую палатку уже запихнул в машину уже перед вечернем стартом... Теперь сушу.

Итого три месяца... Неплохо получилось...
[syndicated profile] shakko_kitsune_feed
кат7_до реставрации.jpg
Любопытная выставка откроется 5 октября в Москве.
Про вот эти хрупкие аксессуары, и их сложную жизнь.
34 веера из коллекции музея Останкино. Причем к выставке еще и мастер-классы подготовили "по реставрации старинных вееров", эх, сходить, что ли, вдруг пригодится в жизни?

А слова-то, слова какие волшебные в пресс-релизе. Завораживают:

На выставке будут представлены представлены практически все существующие типы вееров —brisé из жестких пластинок и plié с тканевым или кружевным экраном, бальные веера pliant из перьев страуса и марабу, вошедшие в моду во второй половине XIX века; веера, служившие своим хозяйкам в качестве сarnet de bal — книжки для записи танцев на балу; веер-кокарда с круглым экраном из черепахового панциря и редкие для России ручные экраны, защищавшие лицо дамы от жара камина.

Экран ручной «Проделки Скапена». Франция, Париж, мастерская Пети, 1780-е.

кат32_Экран ручной лПроделки Скапена╗. Франция, Париж, мастерская Пети, 1780-е.jpg

Их декор также весьма разнообразен — исследователи называют веера «зеркалом жизни» своей эпохи, поскольку в их росписи находят отражение исторические и культурные события, литературные произведения и новые веяния моды. Часто в одном предмете использованы несколько видов материалов — слоновая кость и бумага, черепаховый панцирь и перламутр, дерево и шелк, рог и экзотические перья, что создавало определенную сложность при реставрации. Каждый экспонат реставрировался по индивидуально разработанной методике и зачастую несколькими специалистами Центра.

Веер pliant из перьев марабу. Франция, начало ХХ века.

кат31_Веер pliant из перьев марабу. Франция, нач ХХ в.jpg
Выставка представляет 34 веера середины XVIII — начала XX веков из коллекции музея-усадьбы Останкино. Все они в 2012-2016 годах были отреставрированы в Центре имени Грабаря.

Для некоторые из них выставка и сопутствующий каталог станут первым «выходом в свет», поскольку прежнее руинированное состояние не позволяло их экспонировать.

Веер plié «Радости материнства». Италия (?), 1840-1850-е
кат7_после_Веер pli__ лРадости материнства╗. Италия, 1840-1850-е.jpg
Он же до реставрации.
кат7_до реставрации.jpg
Мультимедийное сопровождение выставки познакомит зрителя с типологией вееров и расскажет об особенностях их реставрации.
В рамках выставки предусмотрена образовательная программа, которая включает лекции специалистов музея-усадьбы Останкино и Центра имени Грабаря, а также мастер-классы по реставрации вееров.

Даты проведения: 6 октября — 5 декабря 2017
Место проведения: Выставочный зал ВХНРЦ им. академика И.Э. Грабаря
Москва, ул. Радио, д. 17, к. 6

А вот по ссылке интересный спецпроект с любопытными фотографиями.



Sep. 19th, 2017 10:19 am
[syndicated profile] u_96_feed
«Джавелины» не помогут: летальное оружие из США не изменит ситуацию в Донбассе
19 сентября – День оружейника. В России вспоминают Михаила Тимофеевича Калашникова и поздравляют сотрудников отечественного ОПК. На Украине вспоминают сотрудников американского Сената и поздравляют Петра Алексеевича Порошенко.

Вот такие национальные особенности…

И ТыДы


Sep. 19th, 2017 01:04 pm
[syndicated profile] exler_ru_blog_feed
рубрика : Испания

Вот такая вот маленькая черепашка выползла на пляж в нашем городке.

Несчастное животное ранено, ее уже оградили, сейчас будут решать, как ей помочь.

Upd: Померла черепаха. Целый грузовик потребовался, чтобы ее вывезти.

Poor Shoe

Sep. 19th, 2017 10:30 am
[syndicated profile] the_daily_wtf_feed

Posted by Jane Bailey


"So there's this developer who is the end-all, be-all try-hard of the year. We call him Shoe. He's the kind of over-engineering idiot that should never be allowed near code. And, to boot, he's super controlling."

Sometimes, you'll be talking to a friend, or reading a submission, and they'll launch into a story of some crappy thing that happened to them. You expect to sympathize. You expect to agree, to tell them how much the other guy sucks. But as the tale unfolds, something starts to feel amiss.

They start telling you about the guy's stand-up desk, how it makes him such a loser, such a nerd. And you laugh nervously, recalling the article you read just the other day about the health benefits of stand-up desks. But sure, they're pretty nerdy. Why not?

"But then, get this. So we gave Shoe the task to minify a bunch of JavaScript files, right?"

You start to feel relieved. Surely this is more fertile ground. There's a ton of bad ways to minify and concatenate files on the server-side, to save bandwidth on the way out. Is this a premature optimization story? A story of an idiot writing code that just doesn't work? An over-engineered monstrosity?

"So he fires up gulp.js and gets to work."

Probably over-engineered. Gulp.js lets you write arbitrary JavaScript to do your processing. It has the advantage of being the same language as the code being minified, so you don't have to switch contexts when reading it, but the disadvantage of being JavaScript and thus impossible to read.

"He asks how to concat JavaScript, and the room tells him the right answer: find javascripts/ -name '*.js' -exec cat {} \; > main.js"

Wait, what? You blink. Surely that's not how Gulp.js is meant to work. Just piping out to shell commands? But you've never used it. Maybe that's the right answer; you don't know. So you nod along, making a sympathetic noise.

"Of course, this moron can't just take the advice. Shoe has to understand how it works. So he starts googling on the Internet, and when he doesn't find a better answer, he starts writing a shell script he can commit to the repo for his 'jay es minifications.'"

That nagging feeling is growing stronger. But maybe the punchline is good. There's gotta be a payoff here, right?

"This guy, right? Get this: he discovers that most people install gulp via npm.js. So he starts shrieking, 'This is a dependency of mah script!' and adds node.js and npm installation to the shell script!"

Stronger and stronger the feeling grows, refusing to be shut out. You swallow nervously, looking for an excuse to flee the conversation.

"We told him, just put it in the damn readme and move on! Don't install anything on anyone else's machines! But he doesn't like this solution, either, so he finally just echoes out in the shell script, requires npm. Can you believe it? What a n00b!"

That's it? That's the punchline? That's why your friend has worked himself into a lather, foaming and frothing at the mouth? Try as you might to justify it, the facts are inescapable: your friend is TRWTF.

[Advertisement] Manage IT infrastructure as code across all environments with Puppet. Puppet Enterprise now offers more control and insight, with role-based access control, activity logging and all-new Puppet Apps. Start your free trial today!
[syndicated profile] exler_ru_blog_feed
рубрика : Экслер

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

1. Я начал читать только в 6,5 лет

Чистая правда. Я не помню, почему начал читать так поздно, но точно помню, что первую книжку прочитал, когда мне было уже 6,5 лет и это была "Буратино" - специальный детский вариант с большими буквами. Потом я это компенсировал: со второго класса прочитывал обычно по две книжки в день и читал со скоростью 150 страниц в час, причем этому специально не учился.

2. Я первый раз женился в 19 лет

Да, 16 августа 1985 года. Женился на однокласснице, свидетелем у меня был Гарик Чер-ский. Вот пруф.

3. Я никогда в жизни ни у кого не взял автограф

Правда, никогда в жизни ни у кого не брал автограф. Но это не значит, что у меня нет книг с автографами - дарили и сами подписывали.

4. Я лично знаком с Германом Титовым: выпивали с ним на пикнике, он рассказывал о полетах в космос и о Юрии Гагарине.

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

5. Свой первый язык программирования (Basic, будь он неладен) я изучил, прочитав учебник по Basic'у за время поездки от станции метро "Варшавская" до станции метро "Сокол".

Правда. Преп одного предмета сказал, что если кто-то сможет запрограммировать решение задачи по расчетно-графической работе, то можно будет сделать только одно задание из пяти и не делать чертежи. Мне отец с работы принес учебник по "Бейсику", я поехал в институт с "Варшавки", где мы с женой снимали квартиру, зайдя в вагон метро раскрыл учебник, приехав на "Сокол" его закрыл, пришел в институт, попросил машинное время и на "СМ-4" сделал программу решения задачи - она была очень легкой, на самом деле. Да и тот бейсик был очень простой. Это я потом программировал на персоналках на всяких сложных бейсиках, вроде Turbo Basic от Borland, MS Basic от Microsoft и так далее. А потом начал изучать Паскаль и понял, какое же барахло этот Basic.

6. Мой дед держал радиосвязь с Валерием Чкаловым во время легендарного перелета Чкалова через Северный полюс.

Правда. Дед был легендарным радистом. Его рекорд 1937 года по скорости приема-передачи цифр морзянкой не побит до сих пор (понятное дело, морзянкой давно не пользуются). Вот, например, упоминание о нем отсюда:

В послужном списке Пеклера зимовки на полярных станциях о. Визе, м. Стерлегова, о. Гейберга, о. Известия и других. Льву Наумовичу очень хотелось освоить радиодело. И в один из отпусков он поступил на курсы ДОСААФ. Его учителем был полярный радист, старейший коротковолновик, в прошлом член сборной страны по приему и передаче радиограмм Семен Давыдович Экслер. Вернулся на зимовку Пеклер уже метеорологом-радистом. Конечно, не забудутся не только люди, но и та Арктика, которую они «строят» в трудных, часто экстремальных условиях.

7. Я шесть лет учился играть на фортепьяно

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

Родители! Не заставляйте детей учиться на тех музыкальных инструментах, которые они ненавидят. Ни к чему это! И они вам это еще припомнят!

8. Я не умею играть на фортепьяно

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

9. Я заканчивал испанскую спецшколу и по ее окончании не знал ни слова по-испански

В 8-м классе я перешел из 648-й школы в испанскую спецшколу имени Сервантеса на "Соколе". В этой школе, во-первых, преподавала музыку моя мама, во-вторых, там рядом был ДК "МАИ", где я играл в ансамбле, а, в-третьих, в школе был один-единственный класс с изучением английского, где учились дети из расформированной школы в Тушино. Вот в этот класс меня и взяли, я там доучился до десятого класса.

10. В студенчестве я одно время играл сразу в четырех ансамблях и встречался сразу с четырьмя девушками (поочередно, разумеется, не одновременно)

Тоже чистая правда. И играл в четырех ансамблях (в двух - на барабанах, в двух - на гитаре), и встречался с четырьмя девушками. Одна из них, правда, на тот момент еще была моей женой и мы с ней встречались, чтобы обсудить развод, но тем не менее.

Так что все факты - чистая правда. Простите, что ввел в заблуждение, но так же еще интереснее, правильно?

[syndicated profile] exler_ru_blog_feed
рубрика : Интернет

Майкл на "Триггере Штейна" опубликовал "Краткий словарь начинающего протрампа".

Начало шикарное, цитирую:

  • Мадам – писательница, автор бестселлера “What Happened”, жена Билла Клинтона от первого брака, два раза пытавшаяся стать президентом, потому что женщина и потому что президенство может передаваться половым путем

Ну и определения некоторых СМИ прикольные.

  • Washington Post (WaPo) – газета и онлайн издание, рупор ЦРУ, поскольку им владеет владелец Амазона Джеф Безос, который продал ЦРУ амазоновских облачных сервисов на 600 миллионов долларов
  • New York Times (NY Times) – личный блог мексиканского миллиардера Карлоса Слима
  • CNN – новостной телеканал, насильно показываемый во всех аэропортах
  • Fox News – новостной телеканал, ненасильно показываемый во всех барах
  • Fake News – содружество из WaPo, NY Times и CNN, к которому пытается присоединиться Fox News, но пока плохо получается из-за наличия нескольких засевших там консервативных (см. ниже) ведущих, которых никак не уволят

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

nataraj: (Default)
[personal profile] nataraj
От остелпатов знаю о механизме компенсаций, и для своего случая знаю, что у меня напряжение в мышц основания черепа волнами компенсируется мышцами нижележащих отделов. Ну как минимум одна из историй...

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

Забавно все устроено...
[syndicated profile] u_96_feed
К перечисленному еще стоит, видимо, добавить автомобиль КАМАЗ-5350-379 (оборудованный комплектом дополнительной защиты и многофункциональным модулем ММ-501 для перевозки личного состава), станцию спутниковой связи Р-439-МД2, многоцелевой истребитель поколения «4+» МиГ-29СМТ.

Два года в Сирии: Россия продолжает испытания своего оружия в военно-полевых условиях
...Начиная с 30 сентября 2015 года, Россия не только проводит в Сирии контртеррористическую операцию, но и использует сирийскую территорию как полигон для испытаний в реальных боевых условиях изделий своего ОПК. И делает это, судя по результатам, более чем успешно.

Подтверждением данного тезиса является не только позитивные для Дамаска и Москвы изменения на сирийском ТВД, но и заметное усиление интереса к российской военной продукции за рубежом...

И ТыДы
[syndicated profile] shakko_kitsune_feed
Свадьба -- один из самых праздничных дней в жизни женщины. Но только не в русской живописи!

Художники XIX века постоянно использовали тему женитьбы для создания полотен весьма трагических, бичующих всевозможные социальные пороки Российской империи. Даже если не брать картины, посвященные суровой судьбе крестьянской женщины и посмотреть лишь произведения про более обеспеченные социальные слои -- купечество, мещанство и дворянство, все равно получается печальненько.

Особенно усердствовали на эту тему передвижники, но общего настроения не избежали и другие художники-жанристы.
Итак, окунемся в бездны слез!



Самая знаменитая картина на эту тему написана Пукиревым.
Славе полотна способствовали и художественные достоинства, и слухи, что художник запечатлел в работе собственную сердечную трагедию. Правда ли это — исследователи спорят до сих пор.

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

А еще

В картинах передвижников и других русских реалистов второй половины XIX века часто можно встретить сцены из купеческой жизни, которую тогда же начинают активно высмеивать на театральной сцене, в особенности Островский. На этой изображен жених купеческой дочки, помолвка которого срывается из-за появления прежней возлюбленной с младенцем на руках. Скандал!

По эскизу видно, что замысел был смелее: там дочка в белоснежном платье, то есть срывалась не помолвка, а само венчание.


Известный художник-жанрист Владимир Маковский сравнения с Пукиревым не боялся: он писал свои свадебные картины 40 лет спустя. Но современный зритель и не заметит особой разницы в стиле их живописи. А подсказка прямо перед глазами — фасон свадебного платья. Хотя основной набор атрибутов неизменен — фата, венок из флердоранжа, белая ткань, но модный силуэт заметно поменялся. На картине Пукирева, написанной в 1862 году, — у невесты большой громоздкий кринолин; с таким из-под венца не убежишь. А вот у невест 1890-х юбка значительно сужена и выглядит намного более удобной. Любопытно, что невесты XXI века все-таки предпочитают фасон полуторавековой давности, с кринолинами.

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

На второй картине Маковского — невеста, замершая будто агнец перед закланием, ей подбирают приданое и, конечно, эта ситуация для нее невероятно оскорбительна!
Как вы понимаете, писать про счастливых невест в ту эпоху было совершенно не комильфо.

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

На полотне Николая Неврева "Смотрины" (1888) тоже особой радости у девушки при встрече с потенциальным женихом не заметно.


Картина Журавлева «Перед венцом» за которую он получил звание академика, пользовалась такой популярностью, что он позже написал ее второй вариант. В первом, из Русского музея, полно свидетелей, причем костюмами и атрибутами явно подчеркивается: семья купеческая, то есть можно и посмеяться над ними.

Второй вариант, из Третьяковской галереи, более лаконичен и трагичен: тут разговор идет только между отцом и дочерью.
Картину, пытаясь угадать предысторию, называли и «Благословение невесты», и «Брак по приказу»…

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


Однако похвалить русских художников за оригинальность трагической темы нельзя: ровно в те же годы по всей Европе все подряд пишут полотна про несчастливых невест. В викторианскую эру, когда стал господствовать капитал и развелось много богатых стариков, тема неравных браков стала весьма актуальной. Кроме того, плачущие девушки в белом просто эффектно смотрятся!

Названия иностранных картин говорят за себя: «Пока смерть не разлучит нас» (Эдмунд Блэр Лейтон), «Несчастная невеста» (Огюст Толмуш), «Первая слеза» (Норберт Гёнётт), «Отвергнутая невеста» (Эдуард Свобода) и так далее…

Полотно Прянишникова «В ожидании шафера» из этой традиции бытописательства c подразумеванием какой-то скрытой драмы не выбивается. Но зато тут русский антураж: шубы, самовар, иконы.


Впрочем, одним русское искусство отличалось от европейского: живописцы были прогрессивными и либерально относились к многочисленным арестантам. Ведь это были политзаключенные — боровшиеся с режимом революционеры и террористы, герои и подвижники, как считало интеллигентное общество той поры. Отсюда такие доброжелательные тюремные картины, как «Не ждали» и «Отказ от исповеди» Репина, «Всюду жизнь» Ярошенко, «По этапу» Владимира Маковского и т. д.

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


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

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

(c) Софья Багдасарова,
для культура.рф, 2015
(по ссылке сокращенная версия)

10 фактов обо мне

Sep. 19th, 2017 10:04 am
[syndicated profile] exler_ru_blog_feed
рубрика : Экслер

В Facebook лютует забавное развлечение под названием "10 фактов обо мне". Нужно написать 10 фактов о себе, среди которых два - ложных, то есть неправда. И народу предлагается угадать, где там правда, а где нет.

Ну, давайте поиграем в эту игру здесь - почему нет? Правда, мне трудно найти 10 фактов о себе, которые бы не были известны или которые нельзя было бы проверить поиском, но я постараюсь.

  1. Я начал читать только в 6,5 лет.
  2. Я первый раз женился в 19 лет.
  3. Я никогда в жизни ни у кого не взял автограф.
  4. Я лично знаком с Германом Титовым: выпивали с ним на пикнике, он рассказывал о полетах в космос и о Юрии Гагарине.
  5. Свой первый язык программирования (Basic, будь он неладен) я изучил, прочитав учебник по Basic'у за время поездки от станции метро "Варшавская" до станции метро "Сокол".
  6. Мой дед держал радиосвязь с Валерием Чкаловым во время легендарного перелета Чкалова через Северный полюс.
  7. Я шесть лет учился играть на фортепьяно.
  8. Я не умею играть на фортепьяно.
  9. Я заканчивал испанскую спецшколу и по ее окончании не знал ни слова по-испански.
  10. В студенчестве я одно время играл сразу в четырех ансамблях и встречался сразу с четырьмя девушками (поочередно, разумеется, не одновременно).

Ну, какие два факта тут - неправда, кто угадает? Первому угадавшему - приз! Какой - не знаю, придумаем.

P.S. Я не буду сразу отвечать, что угадал, а кто нет - так будет неинтересно. Ровно в 12 часов по Москве (через полтора часа) я здесь напишу, кто угадал. И расскажу подробности о некоторых реальных фактах.

Upd: Ура, на данный момент неправдой постепенно объявили все десять фактов обо мне. 10-й назвали только один раз, 2-й - всего раза 2. Ровно в 12 я сделаю отдельный пост, где все объясню.

Comic for September 19, 2017

Sep. 19th, 2017 11:59 pm
[syndicated profile] dilbert_com_rss_feed
Dilbert readers - Please visit to read this feature. Due to changes with our feeds, we are now making this RSS feed a link to


stanislavvv: (Default)

September 2017

3 45 6789
10 111213141516

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 12:58 pm
Powered by Dreamwidth Studios