?

Log in

No account? Create an account
aantero
02 October 2018 @ 11:41 pm
"Большой дом" дописан!

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

В целЯх лучшей популяризации сабжа в массах посредством моего мегапопулярного (посты регулярно в топ Беларуси выходят!) блога попытаюсь щас соорудить трейлер без спойлеров.

[вотЪ]...
Дядя Фёдор был мальчик серьёзный и самостоятельный. В четыре года он читать научился, а к шести выучил латинский язык, потому что в папиной библиотеке все самые интересные сказки были на латыни.
...
— Неправильно ты, дядя Фёдор, бутерброд ешь. Ты же построение для призыва Андромелеха заготовил, а перед ритуалом месяц поститься надо.
Дядя Фёдор ещё разок от бутерброда откусил и коту протянул.
— Ты сам колбасу-то попробуй. Её в вегетарианской столовой можно подавать. А откуда ты про ритуал знаешь?
...
Дядя Фёдор спрашивает:
— Как тебя зовут?
Кот говорит:
— И не знаю как. И Барсиком меня звали, и Пушком, и Оболтусом. И даже Кис Кисычем я был.
Но дядя Фёдор был мальчик умный, и вопрос свой он повторил:
— Я, кот, тебя серьёзно спрашиваю. Назови мне своё имя. Или я тебя прямо в этой сумке с моста выкину.
Кот фыркнул обиженно:
— Меня зовут Меланхтон, сын Мелхесиаха, сына Молоха. А с моста меня бросать не надо, я воды боюсь. Только, дорогой мой человек, если ты меня так будешь звать прилюдно, то наши с тобой отношения очень плохо кончатся.
...
— Медленно, доставай из рюкзака свой свитер, наматывай на левую руку, нож в правую бери. Когда он прыгнет, свитер пихай в глотку и бей ножом в горло, под челюсть.
Пёс ещё пару шагов сделал. Остановился.
— Дурак ты, кот,— говорит,— Я бы мальцу руку оторвал, что со свитером, что без. А ковырялкой его только сердечки на скамейках выцарапывать.
...
И вот, из тумана по реке лодчонка выплыла. А в лодке сидел на вёслах человечек в рыбацком плаще. Капюшон на лицо наброшен, так что лица не видно.
Подошёл к пирсу, забросил конец на торчащее из воды полено.
— Здравствуй, дядя Фёдор,— говорит,— никак это ты со мной плыть собрался.
— Не шевелись,— прошипел Матроскин, да только дядя Фёдор его не слышал.
...
Начальник вокзала сидел в кресле, за столом. И очень старался не дышать. Потому что на столешнице стояла, припав на одно колено, мама. В руке её сверкало заточенное навершие флагштока с серпом и молотом, насаженное на рукоять из берцовой кости. Острием оно упиралось И.И.Ткачёву в горло.
...
Хорошая асфальтовая дорога блестела под луной и упиралась в проржавевшие металлические ворота.
Со стороны дороги костей не лежало. Видимо их на просеке от начальства прятали, чтобы далеко не вывозить.
Над воротами аркой выгибалась надпись из жестяных букв:
Скотожертвенник №4
А сбоку от ворот висел плакат, на котором было крупно написано:

ПРОВЕРЬ

КАСКУ, ОЧКИ, ОБЕРЕГ

...
Небеса содрогнулись. Они слышали и большие святотатства, но совсем редко смертные настолько приближались к осуществлению своей хулы.
...
 
 
aantero
29 September 2018 @ 08:37 pm
Это особенное чувство, когда идёшь по своим делам мимо предыдущего места работы и видишь, как его разбирают.
 
 
aantero
27 September 2018 @ 08:24 pm
Котик выявил в хозяине уязвимость: стоит начать драть когтями мебель, как хозяин отлипает от монитора и начинает весёлую игру в догонялки. Конечно, потом хозяин понесёт котика за шкирку к когтеточке, но удовольствие того стоит.

Шоб два раза не вставать.
Корм котик с удовольствием ест из миски. Но если в миску положить куриную кость, котик её достанет и унесёт есть на ковёр. Чего ему надобно? Я ж с удовольствием организую условия для комфортной еды. Знать бы, какие.
 
 
aantero
"Возможно, это не так одобно в использовании, зато семантически правильно. Да, если разработчику взбредёт в голову переместить этот файл в другое место, ему придётся вручную обновлять все относительные пути к нему, прописанные в компонентах, которые его используют, но разве не в этом суть работы разработчика? Он сможет официально затрекать на это время."

Народ правда считает, что внутри машинки сидит гномик и читает их изящную словесность. Дорогие мои дорогие, ВСЁ, что в программировании есть поверх машинных кодов, существует исключительно для облегчения труда разработчика.
 
 
aantero
16 September 2018 @ 10:31 am
Максим Кич, "Большой дом" Трэш-хоррор фанфик по "Трое из Простоквашино".

Ольга Онойко, цикл рассказов про колдуна Николая и Ко. Магический типа-реализм a-la "Дозоры", но не про Светлых, которые упырям охотничьи лицензии выписывают, а наоборот сразу по нескольким координатным осям.

Оператор наведения amarinn
 
 
 
aantero
09 September 2018 @ 10:26 pm
Бытует мнение, что, мол, статическая типизация - это такие юнит тесты, встроенные прямо в компилятор.
Ничерта. Статическая типизация - это документация кода, встроенная непосредственно в язык программирования и проверяемая компилятором при сборке. Документация, которую программист не может забыть написать или полениться апдейтить при изменении кода, и которая, соответственно, всегда будет актуальна и внутренне непротиворечива.
Кроме того, так как эта документация машино-читаема, то её может использовать не только компилятор, но и, к примеру, IDE, для предоставления программисту дополнительной информации по коду и для помощи в работе над ним. Становятся, например, возможны запросы вида:
"Свет мой зеркальце, скажи, а какая зараза в этом макаронном легаси коде могла засунуть в это поле вот это странное значение, от которого всё падает в совершенно другом месте?"
"Свет мой зеркальце, скажи, а вот это поле кем-то вообще используется, или можно его сносить? А метод, который его инициализирует?"
"А что унутре вот этого объекта, который передан в эту функцию как параметр?"
"А что делает метод, который вот здесь вызывается?"
И т.д.

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

Обратный переход, по рассказам, не менее богат впечатлениями. "А почему я не могу засунуть ежа внутрь ужа или возвращать из метода дрозда либо дрозофилу в зависимости от ситуации? Почему я вообще должен заранее думать, что этот метод возвращает?"

Что из этого следует.
Код на языке с динамической типизацией пишется быстрее. Именно потому, что его не приходится документировать на ходу. Зато поддержка его требует большой внимательности и усидчивости, потому что в поисках нужной информации нужно просматривать весь код, для понимания конкретной функции требуется держать в голове весь стек вызова.
Код на языке со статической типизацией пишется медленне и выглядит громоздко ("Борщ борщ дай мне новый Борщ" (цы)). Зато поддержка его облегчается значительно. Большая часть операций, которая в динамически типизированном коде требует ползания по коду с лупой и пинцетом, вообще автоматизирована в IDE.

Соответственно, проект, написанный на языке со статической типизацией, может накопить в себе гораздо больше окаменевших макарон, прежде чем его станет невозможно поддерживать.
 
 
aantero

А то что это я один наслаждаюсь.

Кликабельно.
По ссылке есть ещё много вкусного.
 
 
aantero
Вотэтоповорот с особым цинизмом, пошаговый рецепт приготовления:
1. где-то за 1/3 книги до часа Хэ проанонсировать вотэтоповорот прямым текстом. Не намекнуть, не предоставить читателю достаточно информации, чтобы он сам догадался, а именно прямо сказать, что будет.
2. на протяжении указанной трети книги дать возможность читателю развидеть то, что читатель сам глазками прочитал: забыть; решить, что показалось; понадеяться, что ключевые персонажи передумали, ватэвер.
3. перед самым часом Хэ проанонсировать вотэтоповорот ещё раз, мол, вы же, дорогой читатель, не забыли то, что было так прямо и ясно сказано, хммм?..
4. и сразу же фигакнуть вотэтоповоротом, причем, максимально сжато и кратко: читатель уже сам всё понял. Если сейчас начать размазывать подробности или тянуть саспенс, читатель, пожалуй, книжку бросит.
5. для пущего глумления над читателем вставить в голову персонажа те самые мысли, которые сейчас сам читатель напряжённо думает: как мне удалось убедить себя, что этот момент не наступит, если твёрдо знал обратное?

Инфернальная версия шуточек Самодержца из "Мемуаров Муми-папы", блин.

Был бы этот вотэтоповорот не так хорошо написан, я бы книжку дропнул, как ПЛиО на Красной свадьбе в своё время. А так, пожалуй, и продолжение куплю.
 
 
aantero
30 August 2018 @ 09:43 pm


В Bloodborne, как и Dark Souls, я играть не смогу никогда. У меня нету столько нервов и времени, чтобы прорубаться через стопиццот мильёнов врагов ради того, чтобы любоваться видами живописной разрухи или лавкрафтианского декаданса и по крупице собирать мозаику смысла происходящего. Благо, есть люди, которые выкладывают прохождения игр на ютуб, собирают и упорядочивают раскиданные там и сям намёки и пишут трактаты о возможных способах её интерпретации. Ну или создают превосходного качества фанарт.
 
 
aantero
19 August 2018 @ 02:54 pm
Нижеследует рецензия на роман "The Traitor Baru Cormorant" by Seth Dickinson (в русском переводе "Бару Корморан, предательница").

Вот остров Тараноке, дремлющий вулкан посреди тёплого моря, жители которого растят кофе и сахарный тростник и решают межплеменные конфликты в ритуальных поединках.
А вот девочка Бару Корморан, счастливо живущая на этом острове со своими родителями. Девочка, которая больше всего на свете любит считать звёзды и птиц в небе. Девочка, наделённая необычайно острым и живым умом.
А вот идущий к острову корабль Империи Масок под алыми парусами, везущий островитянам парусину, мыло, компасы, бумажные деньги, социальную гигиену, основанную на инкрастицизме, единственном в мире рациональном и научно обоснованном учении о правильном общественном устройстве, а также многие более другие вещи, которые технически развитое и цивилизованное общество обычно приносит обществу менее развитому и цивилизованному.
А вот девочка Бару Корморан уже учится в созданной имперскими Силами Милосердия школе в кольце карантина. Когда учитель её спрашивает, чего она хочет, она отвечает: "Я хочу быть могущественной". На самом деле это означает "Я хочу понять природу могущества, хочу знать его источники, закономерности, которым оно подчиняется". Знать, как устроена сила, уничтожившая мир её детства.

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

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

Варнинг: жести много. Но оно того стоит.

З.Ы. Пока не дочитал, ибо см выше. У меня нет столько нервов одним куском.

З.З.Ы. Наконец-то нашёл экземпляр моей любимой разновидности злодеусов.

З.З.З.Ы.
[Спойлер:]Спойлер: вторая книга серии называется "The Monster Baru Cormorant".