?

Log in

No account? Create an account

[icon] наивный идеализм
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (http://www.pixiv.net/member_illust.php?id=1044958).
You're looking at the latest 30 entries.
Missed some entries? Then simply jump back 30 entries

Tags:, ,
Security:
Subject:с ужасом понял, что римейки старых игр
Time:03:50 pm
это примерно то же самое как постановки классических пьес
всё покрывается пылью, всё бронзовеет
comments: Оставить комментарий

Tags:, ,
Security:
Subject:exceptions vs error codes
Time:11:47 am
simultaneously throwing AND returning error codes is a really shitty policy.
if a function routinely throws operational exceptions (which are expected and handled immediately on the upper level), it should never return error codes to indicate success/failure. Completion of normal execution path is assumed as successful.

if it returns error codes, it should never throw for operational flow control.

in general, exceptions + result return is preferable but ONLY IN THE PRESENCE OF ERROR HANDLING POLICY
most universal and applicable for service code is "catch only if absolutely necessary, the rest is caught and logged in main before abort"
comments: 34 комментария or Оставить комментарий

Tags:,
Security:
Subject:Unsong by Alexander Scott
Time:12:37 pm
https://www.goodreads.com/book/show/28589297-unsong

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

what I expected: Kabbalah-punk
what I got: Jew-wank

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

вроде и цитаты можно постить бесконечно (чего стоит Уриил, пытающийся починить континентальный дрейф и восстановить континенты из бекапа потому что кто-то ОПЯТЬ СВАРИЛ КОЗЛЁНКА В МОЛОКЕ, СКОЛЬКО РАЗ ГОВОРИТЬ), местами очень забавно и фантасмагорично, но в конечном итоге понимаешь, что вся эта фантастическая история относится к себе предельно серьёзно, и становится как-то не смешно. особенно буквальный ад с буквальными демонами и буквальными мучениями грешников сильно сбивает очарование. И ведь по сути на теодицею никак не работает, а служит исключительно формальным антагонистом.

очень странное аниме.
comments: 3 комментария or Оставить комментарий

Tags:, ,
Security:
Subject:Qt + MSBuild не видит инсталл
Time:02:14 pm
когда студия отказывается находить файлы Qt, это означает что плагин Qt VS Tools не создал правильно файл .vcxproj.user где он должен выставить переменную QTDIR в соответствии с настройками в Qt VS Tools → Qt Options / Qt Project Settings.

почему он этого не делает ,я не знаю
помогает сконвертировать проект в custom build steps а затем обратно, но если такой возможности нет, то спасёт добавление руками вот такую строчку в .vcxproj.user в каждую конфигурацию

<QTDIR>C:\Qt\Qt5.8.0\5.8\msvc2015</QTDIR>


при этом на билд сервере это не нужно, на дженкинсе эту роль выполняет переменная среды окружения
environment { 
 QTDIR = "C:\\Qt\\Qt5.8.0\\5.8\\msvc2015"
}
comments: Оставить комментарий

Tags:, ,
Security:
Subject:Ruiner - игра про ВСЁ КРАСНОЕ
Time:08:26 pm
Очень атмосферный классический киберпанк. безумно крутой world-building и стиль. очень зло и кинематографично.
К сожалению сам игровой процесс состоит исключительно из боёвки. уровни очень пустые и примитивные.


история: 1/4. плохо. история на одну серию GitS SAC, и то мутновато и с натяжкой.
механика: 3/4. хорошо но мало. ебошь, стреляй, стрейфься, get up puppy. жирный + за вариант прокачки для медленных людей.
UX: 3/4. хорошо. драйвово, стильно.
самое лучшее: ебошить людей железной трубой всмятку
comments: 2 комментария or Оставить комментарий

Tags:, ,
Security:
Subject:SOMA - игра про лечебный фистинг анусов
Time:06:13 pm
очень крутая атмосфера и история, исключительно благодаря тому что называют environemntal storytelling. тонны воды над подводной базой «Пафос-2» и масса реалистичных деталей вокруг буквально давят тебе на голову.

определённо одна из сильнейших игр в истории на тему аплоада, хотя и подходит к этому с немного наивного фреймворка фантастики середины XX века, а технологический уровень не очень-то отличается от современности.
как будто не было «Блейма» или Райаниеми, а только-только вышли Дик и Азимов.

местами попдаются потрясающие вещи. когда ты обыденно, вручную, молча выкидываешь из симуляции не влезающие в память модули, отвечающие за разные аспекты VR (солнышко не влезает? нахер! а вот физику воды придётся оставить!), это в контексте безумно круто.

а вот когда начинается ебанина с нытьём про две копии «кто из них оригинал», это старо и неинтересно.
мне кажется любая история про аплоад должна смириться с Фон Нейманом и просто принять, что единственность и уникальность обечспечивается на уровне протокола, а не субстрата.
без этого допущения любые «серьёзные экзистенциальные вопросы» на тему искусственного субстрата для разума звучат одновременно очень по-детски и старомодно :(

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

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

полная беспомощность - идея охуенно плохая. System Shock 2 был очень вполне себе страшный, хотя твой персонаж далеко не беспомощен.
Soma местами очень напоминает System Shock 2, ну ровно до того момента, когда оказывается что ружья-то у тебя нет.
ближе к концу игры даже прятаться особо теряет смысл - проще и быстрее несколько раз попробовать, чем корчитьcя часами выглядывая из-за угла.
с проксями в лабораториях Теты ползать ещё реально (иногда отключал звук), но вот Йошида как раз именно при попытке играть «как надо» просто не оставляет тебе шансов.
я не знаю, как в это предполагалось играть, я почти дропнул.

графоний плохой, переходящий в очень плохой.
он был полностью сделан с упором на LDR - очень большие куски игры отрисовываются только светом на фоне тьмы, а мне это в динамике в 3D очень неприятно.
не «страшно», а на уровне как будто прям вестибулярных ощущений неприятно бегать по кускам сплошной черноты.
при попытке добавить гаммы и яркости всё предсказуемо выглядит омерзительно плоско, как будто-то какой-то хай-поли римейк half-life

подводные пешие секции очень хороши. пожалуй, это настолько же хорошо как когда-то впервые сделали космос в Dead Space 1.

монстры по дизайну хорошие, но тот факт что нарратив почти полностью обходит их стороной всё время звучит очень странно. «просто не смотри на него, ну и норм», говорит Катя. Ну подумаешь, чудище.
телепортирующийся диско-монстр так и вовсе выглядит глюком, пока ты не натыкаешься на него патрулирющего тесные коридоры затонувшего корабля. Вот нафига глюку ходить по коридорам, а?

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

история: 3/4. хорошая фантастическая драма с твёрдыми корнями в реальности. философски немного в прошлом веке, ну да ладно.
механика: 1/4. обыски шкафчиков и нажимание кнопок. кидание стула в окно. выглядывание из-за угла.
UX: 2/4. судя по отзывам в интернете, это чуть ли не воплощение идеала хоррора. видимо, я не люблю хоррор.
самое лучшее: разговоры Саймона и Кати. очень люблю это решение, когда есть персонаж поддержки, с которым как будто идёт диалог.
comments: Оставить комментарий

Tags:, , ,
Security:
Subject:добил Rain World
Time:12:29 am
самая буддистская игра года, презирающая хендхолдинг и вообще всё, что могло бы сделать игру весёлой и увлекательной. чтобы её пройти, нужно отказаться от всех земных страстей.

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

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

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

я совершенно серьёзно ожидал потратить на это несколько лет
но внезапно мне удалось отнестись к игре и её неудачам очень спокойно, без разочарований - что иронично, учитывая лор игры 50% жёсткая фантастика и 50% поиск выхода из сансары в планетарных масштабах.
этот имеющийся лор, кстати, можно получить только после серии чудовищно трудных и неочевидных фетч-квестов. и кстати не то чтобы основной квест был очевидным, хаха!

конечно, во многом это спокойствие от сейв-скама (позволяет отменить механику наказания за смерть)

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

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

В целом очень атмосферно, изысканный и утончённый саунд-дизайн

история: 3/4. фантастическая часть отличная. спиритуальная - ну ээээээ.... такое...
механика: 5/4. уникально И при этом охрененно.
UX: 4/4. очень круто, но только для очень терпеливых

и никто и никогда в это играть не будет, пототму что просто песец как жестоко и трудно. тру хардкор.

comments: 2 комментария or Оставить комментарий

Tags:,
Security:
Subject:про стекло
Time:08:10 pm
https://wordpress.lensrentals.com/blog/2011/12/reflections-on-reflections-the-most-important-part-of-your-lens/
хорошо про просветления


https://www.lensrentals.com/blog/2017/10/the-8k-conundrum-when-bad-lenses-mount-good-sensors/
отлично про системную и линзовую передаточную функцию, и про механизм алиасинга как как присутствия значимых величин MTF за частотой Найквиста (OLPF подавляет MTF именно за Найквистом, и именно повышением значения пространственной частоты Найквиста математически описывается тот факт что современные сенсоры высокого разрешения не дают алиасинга)

https://www.lensrentals.com/blog/2015/09/a-clear-history-of-glass/
просто очень мило про историю стекла
comments: Оставить комментарий

Tags:,
Security:
Subject:Высокоуровневые интерфейсы для работы с базами данных из С++
Time:01:32 pm
Высокоуровневые интерфейсы для работы с базами данных
в основном делятся на два вида:

API Wrapper - решают задачу унификации, прячут клиентские библиотеки различных БД за единым высокоуровневым С++-интерфейсом). У библиотек первого типа обычно широкая поддержка различных баз данных
EDSL (Embedded Domain Specific Language) - пытаются избавиться от SQL, заменив его на нативные типобезопасные выражения. Библиотеки этого типа как правило поддерживают очень скромный набор баз данных, можно реально рассчитывать только на Postgre и Sqlite

QSqlDatabase
API Wrapper http://doc.qt.io/qt-5/qsqldatabase.html

легко доступная, простая в использовании библиотека, — если ты уже используешь Qt
странноватые архитектурные решения - единый синглетон-реестр подключений, зачем-то прячущий от тебя уникальные объекты сессий к БД, но никак не избавляющий от необходимости работы с ними
обширный набор бэкендов DB2, Interbase, MySQL, Oracle, ODBC, PostgreSQL 7.3+, SQLite 3 & 2

SOCI
API Wrapper https://github.com/SOCI/soci http://soci.sourceforge.net/doc/3.2/

живой
имитирует Embedded SQL и биндинг в достаточно простом, удобном и интуитивно понятном виде.
достаточно старая, но вроде бы до сих пор поддерживаемая библиотека.
зависит от буста, предоставляет некоторые интеграции (boost::optional, tuple, vector)
подлкючение только в своём потоке / пул подключений
бэкенды Oracle PostgreSQL MySQL SQLite3 Firebird ODBC DB2
не тестировал

SQLAPI++
API Wrapper http://sqlapi.com/

примитивный, многословный и типонебезопасный интерфейс
странно, но живой
очень обширный набор бэкендов Oracle, SQL Server, DB2, Sybase, Informix, InterBase, SQLBase, MySQL, PostgreSQL, SQLite, SQL Anywhere and ODBC
не тестировал

ODB
API Wrapper + кривоватый EDSL
https://www.codesynthesis.com/products/odb/ документация и подробное объяснение

Вероятно, единственный контестант, более-менее подходящий под роль «ORM»
Фокусируется на перзистентности С++-объектов, синтаксис выполнения запросов функциональный, но не супер-красивый
полуавтоматический генератор бойлерплейта: декларативная часть (объявления структур С++) делается вручную, специальный генератор генерирует функциональную часть (реализацию сериализации)
Рабочая интеграция с типами Boost и Qt
бэкенды MySQL, SQLite, PostgreSQL, Oracle, and Microsoft SQL Server
ODB ставит в прямое соответствие 1 relation = 1 объект. Все атрибуты объекта доступные для обращения в С++ должны возвращать что-то. Исключением являются ссылки на другие relations, которые по умолчанию представляются в виде атрибутов объекта shared_ptr/weak_ptr, и могут быть загружены лениво, если использовать odb::lazy_shared_ptr/lazy_weak_ptr
то есть (внимание!) гранулировать запросы нужно не на уровне select полей в строке (relation), а на уровне таблиц
также при большом желании объекты могут быть разделены на секции с ленивой подгрузкой, но это скорее анти-паттерн
- работает очень хорошо и удобно, но развернуть билд не очень просто по сравнению с «бесплатной» QSqlDatabase
- потрясающее качество документации

[Redacted]
API Wrapper / рудиментарный и очень конкретно-предметный EDSL

некоторая интеграция с типами Qt (QDateTime, QString)
уникальная фича: предоставляет доступ к blob-полям в виде к QIODevice, реализуя ленивый random access
плата за это - сложные платформозависимые ритуалы доступа к blob-полям
документация отсутствует
весь функциональный бойлерплейт генерируется человеками
бэкенды Linter и Oracle

sqlpp11
EDSL https://github.com/rbock/sqlpp11 примеры использования и документация

очень красивый, современный EDSL на с++11 с сильным фокусом на типобезопасности
бэкенды PostgreSQL, MySQL, sqlite3, бета-ODBC и необычная опция STL Container
болерплейт (статические C++-типы записей) генерируется питоновским скриптом из DDL
маленький минус: ничего не работает (билд глючный, бэкенды не собираются, неясно как подключить бэкенды)

Quince
EDSL http://quince-lib.com/ (QUeries IN C++ Expressions)

современный EDSL на С++11 с сильным фокусом на компонуемости сложных запросов
поддерживает частичный select, использует boost::optional
полностью изолирует пользователя от работы SQL, даже на этапе создания базы данных. весь код, включая создание таблиц — это высокоуровневый клиентский код.
при работе с таблицами поддерживается инвариант - если вызов open() для таблицы выполнился, значит она есть и именно такая, какую ожидает наш код.
бэкенды PostgreSQL, Sqlite
не тестировал
comments: Оставить комментарий

Tags:, ,
Security:
Subject:о разнице между State и Status
Time:12:16 pm
State это строго технический термин, используемый много где в технике для обозначения всего, что не может быть описано чистой функцией, не зависящей от времени.
Например, когда физики говорят что «энергия это функция состояния», это означает что энергия зависит только от ТЕКУЩЕГО состояния, но не от истории его изменения.
В кодинге мы «состоянием» называем по сути дела любые переменные.

Status это более человеческий термин, обозначающий не «истинное состояние», а «характеристику». Необязательно даже строго объективную. Статус может не соответствовать действительности (например, индикаторная лампочка может врать)
comments: Оставить комментарий

Tags:, ,
Security:
Subject:A Long Way To a Small Angry Planet, by Becky Chambers
Time:10:17 pm
ещё один отличный пример того, насколько качественной может быть женская гуманистическая фантастика.

это не просто очередное фрикшоу или суповой набор инопланетянок, которых можно выебать. сюжетно это некий кросс между «Галактическим госпиталем» Джеймса Уайта и франшизой Mass Effect (ну про инопланетянок, да, вплоть до сюжетной линии о выдаче собственного тела корабельному AI), вот только гораздо умнее и тоньше. это цепочка действительно хорошо написанных историй о том, как могут воспринимать друг друга _действительно разные_ софонты, и как при этом они всё равно могут жить дружно.

несмотря на явную женскость прозы (она в первую очередь не об Истории, а об Отношениях™), это не просто игра в куколки. да, завязки каждой главы очень очевидно работают драйвером развития характеров и отношений, но это качественные характеры и хорошие отношения. Эти люди имеют каждый свою историю и цель в жизни, и «быть добрее к друг другу» важная, очень важная часть их жизни, но далеко не единственная их черта, а личная драма не сводится к «меня в детстве обидели».

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

Ну и Шеф, конечно.

проза: 4-/4
история: 2/4

небольшой минус прозе за то, что местами персонажи очень уж прямым текстом говорят друг с другом о своей внутренней жизни так, как не говорят о ней даже самые открытые живые люди. История как таковая вся уложилась в название книги, поэтому с точки зрения романа это было бы слабо, но формат глав книги действительно ближе к сборнику рассказов, чем к роману.
comments: 6 комментариев or Оставить комментарий

Security:
Subject:fucking devenv.exe
Time:01:31 pm
если вдруг надо добавить дополнительные пути к библиотекам в опции MSVS линкера
но ты не хочешь модифицировать проект

можно создать вот такую переменную окружения
LINK = /LIBPATH:"path 1" /LIBPATH:"path 2"
comments: 5 комментариев or Оставить комментарий

Tags:, ,
Security:
Subject:фенотропил сняли с производства :(
Time:09:40 am
вот так расслабился ты на секундочку, а сильно улучшавший твою жизнь препарат берут и снимают с производства :(

ну охуеть теперь, что дальше? метамизол? вот заживём-то, с таблеток наконец слезем!
comments: 4 комментария or Оставить комментарий

Tags:,
Security:
Subject:норм корм для котика
Time:12:38 pm
нашёл контору проставляющую оценку кошачьим кормам на основе специфичности ингредиентов (чем конкретнее написано, тем лучше)

роял канин по такой шкале оказывается очень мутная шняга - под его список ингредиентов можно подогнать любой компост.
а цена у него ого-го.
так что в качестве эксперимента пробую котика перевести на беззерновую акану, которая по цене почти то же самое, а вот ингредиенты там такие перечислены что я так не всегда питаюсь. интересно, можно ли её сыпать в трейл микс? :hmmmmm:
comments: 5 комментариев or Оставить комментарий

Tags:, ,
Security:
Subject:банданы Buff по жаре
Time:10:17 am
оказались не очень.
даже те, что у них кулмакс и "high UV", на деле — тугой и душный носок из плотной, пушистой ткани.

в конечном итоге "летние" баффы пригодились в основном на тренировке в прохладном помещении, а в жару альтернатив старым добрым банданам из тонкого power dry и панамам по-прежнему нет

в итоге единственным известным мне полезным применением кулмакса были и остаются ровно две вещи: носки Сплав Walker, и носки Mund Cross Mountain (потрясающие носки кстати - не толстенные и пушистые, как модно, а тонкие и прочные)
comments: 11 комментариев or Оставить комментарий

Tags:, , ,
Security:
Subject:A.J.Colucci - Seeders
Time:10:59 pm
плохо.
по всем описаниям моё, а в реальности кривой американский недо-хоррор. ни фантастики (ну сколько ж блин можно мурыжить несчастный кордицепс!) ни экологии (слишком много фокуса на жалких людишках), ни хотя бы интересных жалких людишек

плот твист в самом конце выглядит как начало интересной апокалиптической истории, но мех

видимо если я хочу что-то крутое про растения, мне нужна не фантастика, а фентези. например в Uprooted by Naomi Novik при всей его диснеевско-деревенской грандиозности был охуеннейший spirit loci волшебного леса (хотя казалось бы что может быть банальнее заколдованного леса!)
comments: Оставить комментарий

Tags:, ,
Security:
Subject:Babylon's Ashes
Time:07:18 pm
очередное бестолковое название, но содержимое неожиданно интересно.

Старый геополитический порядок всё.

Холоден ушел вести модный травел-блог в инстаграмме. Алекс нашёл тян, Наоми встречается с родителями Холдена и грустит, Кларисса занята тем что няшечка и чувствует себя неуютно, Амос без дробовика,Бобби торт, Пракс пракс

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

В целом неплохо.
comments: Оставить комментарий

Tags:, ,
Security:
Subject:внезапно, нельзя использовать const char* в роли ключа в словаре!
Time:05:39 pm
внезапно, нельзя использовать const char* в роли ключа в словаре!
потому что не просто сломается, а сломается по разному в зависимости от реализации словаря!
для дерева дефолтный компаратор будет сравнивать указатели, а не их содержимое, и обращение по ключу с проверкой будет вызывать out_of_bounds
а хеш-таблица будет хешировать опять же не сам литерал, а разумеется его (уникальный) указатель, что, подозреваю, не приведёт к падениям, но приведёт к неявному мультимэпу в случае наличия двух одинаковых литералов (например из разных единиц компиляции), но с двумя разными указателями
comments: 2 комментария or Оставить комментарий

Tags:,
Security:
Subject:Public Service Announcement: Qt + MSBuild
Time:03:07 pm
в январе 2018 плагин Qt Visual Studio Tools перешёл на новую систему билда MOC, RCC итд, условно назовём её Qt+MSBuild. В старой системе каждому файлу h-файлу, содержавшему Q_OBJECT, соответствовал Custom Build Step, который вызывал MOC, а результат работы добавлялся в проект явно в папку Generated Files. В новой системе Generated Files отсутствует: список моков формируется на лету, и выхлоп MOC динамически скармиливается MSBuild'у как дополнительные исходники, и это не отражено в видимой глазами структуре проекта (папка Generated Files в проекте будет пустая).
Подробности о новой системе здесь: http://blog.qt.io/blog/2018/01/24/qt-visual-studio-new-approach-based-msbuild/
У новой системы масса преимуществ, и один маленький недостаток: она не всегда работает.

Если хочется продолжать использовать Custom Build Steps, как и раньше, нужно снести Visual Studio Tools 2.1.0 и откатиться на 2.0.0.
comments: Оставить комментарий

Tags:, ,
Security:
Subject:Перенос ветки Git в новый репозиторий
Time:01:40 pm
пушится активная ветка. для избежания путаницы, не стоит пушить стандартные имена типа master и develop.

в старом репозитории:

git remote add newreponame https://host.com/newrepo.git
git push --repo newreponame
git remote remove newreponame

(если не выполнить пункт 3, то дерево коммитов старого репозитория после выполнения fetch затянет и будет показывать коммиты и ветки одновременно из origin и newrepo)

альтернативно, можно не создавать имён для remotes, и пушить непорсдественно в репу.

например, вот так можно запушить в локальный каталог, чтобы спокойно смерджить локально:
git push --repo file://C:/projects/newrepo

мердж неродcтвенных историй требует ключа --allow-unrelated-histories
(гиту всё равно, что мерджить, это чисто человеколюбивая мера)
comments: Оставить комментарий

Tags:,
Security:
Subject:Haskell types considered "not enough" (*gasp
Time:10:04 am
https://www.quora.com/Why-is-that-some-people-say-that-if-a-Haskell-program-compiles-it-probably-works/answer/Julian-Ospald

на всякий случай сохраню себе, очень уж хорошо чувак поджарил.

Why is that some people say that "if a Haskell program compiles, it probably works"?

They say it, because they want to believe it.

You can certainly consider a type system a “formal method”, which are used for program verification, proving certain properties and so on.

However, unless you utilize the type sytem explicitly for correctness proofs (and haskell actually lacks a lot of type-level tools to do that), all you know about your program is that it is “well typed”. You know nothing about its behavior. You may have set pi = 0.0 somewhere in your code, your algorithms may be plain wrong and arbitrary IO calls may fail.

So the quote is mostly wrong. The amount of program logic and value specificity you can model on type system level is a lot less than people believe. But if that’s the only formal method one knows, it might give a tremendous sense of power.

In reality, when you write larger haskell programs, you will still write unit tests, property tests and so on… exactly because types are not enough.
comments: Оставить комментарий

Tags:, ,
Security:
Subject:музыка Made in Abyss
Time:10:25 am
ещё одной забавной точкой сравнения с Hollow Knight автоматически стало обращение к австралийским композиторам. Но если композитору Hollow Knight можно спокойно приписать 50% успеха, то Made in Abyss повезло не очень - только 3 или 4 вещи из всего саундтрека вообще хоть как-то похожи на мелодию, остальное "атмосферное звуковое сопровождение по ТЗ". атмосферное звуковое сопровождение это важно, но должно быть что-то кроме него.
comments: Оставить комментарий

Tags:, , , , , ,
Security:
Subject:Made in Abyss
Time:01:51 am
Пожалуй, один из самых интересных для меня мета-жанров, это PvE (Player vs Environment) о взаимодействии людей с окружением, о трагичности познания, об неповторимой атмосфере прикоткрывающейся тайны. Оно и про сотрудничество перед лицом опасности (что позволяет мета-жанру выглядеть лучше и добрее различного соцреализма, так как горизонтальная кооперация делает людей лучше). Оно и про Spirit Loci - ощущения уникальности и загадочности места, терруара, "биома". И одновременно даёт, если нужно, полную свободу делать историю вообще не про людей, с точки зрения совсем не людей.
Именно благодаря этой экологической харизме локации как персонажа выделяются Сталкер/Пикник на обочине, Blame!, Hollow Knight, работы студии Bones вроде религиозной Xamd, открыто экологическая Навсикая и многие другие вещи в разных жанрах.

MiA обещает показать нам прекраснейший, эпичный PvE - харизма у Бездны просто зашкаливает. У нее есть то, чего нет у Халлоунеста - центральный образный и идейный стержень, простота и величие. Эта дыра формирует и организовывает целые цивилизации людей вокруг себя, но даже не столько волшебными артефактами из недр, а исключительно этой своей тайной - это ж ведь не просто дыра, это вызов любопытству.

к сожалению, MiA cкатывается в драму и вообще чересчур фокусируется на людях, и не сдерживает свое обещание. Бездне уделяется не очень много внимания, ее наполнение и экология часто грубо сказочны, иногда банальны и просто не очень неинтересны. Но я не в обиде. Это обещание уже само по себе настолько фантастично и ослепительно, что его достаточно. Это тот случай, когда даже "ты пытался" можно сказать с гордостью.

Когда доходит до дела, до реализации уникальных биомов и их атмосферы, Халлоунест вырывается вперед с огромным отрывом - в Hollow Knight с любовью прописаны мельчайшие детали, освещение, минималистичная озвучка и потрясающий академический саундтрек. Монстры в MiA карикатурные, и часто служат исключительно для развития характеров персонажей (но не всегда: плотоядный куст и пушистики были сами для себя, и поэтому охуенны).

ИЛИ ДЛЯ ЕДЫ! Хахахаха
Забавный аспект реализма, добавляющий MiA очень характерный шарм "Орегноской тропы" - это "можем ли мы его съесть" и "как бы нам это приготовить". А сьесть они пытаются почти все, до чего могут дотянуться, это очень мило и очень по-приключенчески!

Что касается людей.
с опытом банальный bait and switch перестает шокировать. ну, веселые кавайные детишки отправляются в увлекательное приключение, а оно оказывается им не по зубам. ну ок, подумаешь. когда начинаются мамору, я сижу с попкорном. классические сененовские битвы, после которых все радостно улыбаются и садятся пить чай? попкорн! Бездна выбивает дурь из детишек, кровь кишки распидорасило? ну ок, я откладываю попкорн, но все равно недоверчиво вижу только попытку быть dark & edgy. Появляются серьёзные злодеи, справедливый мир отменяется, увлекательное приключение начинает попахивать траффикингом и концлагерем? Ну ок, я сажусь поровнее, но все равно не очень могу воспринимать это всерьез. Ему не хватает утонченности и психологической глубины Alien 9, чтобы всерьез рассказывать трагедию в изначальном жанре детского приключения и этой кавайной графы. А потом в один момент внезапно появляется какая-нибудь одна маленькая деталь, настолько достоверная и "жиза", что историю резко переключает мне в восприятии, и теперь я уже этой драме верю. Правда, потом фильм кончается.
comments: 6 комментариев or Оставить комментарий

Tags:,
Security:
Subject:почему я проповедую «сразу спрашивай» в программировании
Time:03:58 pm
многие люди с непониманием относятся к моему «сразу спрашивай», ведь Надо Добиться Самому™.

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

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

поэтому, при любых сомнениях относительно областей видимости аргументо-зависимого поиска имён шаблонов в зависисмых шаблонах — лучше спросить.
comments: 6 комментариев or Оставить комментарий

Tags:, ,
Security:
Subject:внезапно ещё задумался про религию
Time:04:54 pm
может ли вера являться неким неизбежным экзистенциальным артефактом самого сознания, некоей «физиологически» обусловленной отдачей, онтологической «наводкой» от нашего же self-loop?
или может быть артефактом когнитивной структуры конкретно стайных приматов, а скажем гипотетические мозговитые вороны не будут ей подвержены?
comments: 5 комментариев or Оставить комментарий

Tags:, , , , , ,
Security:
Subject:AWS Lambda
Time:10:05 am
до вездесущего вычислительного субстсрата пока далеко, но это уже безумно круто.

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

sike! к сожалению, не просто. просто копипастнуть всё-таки нельзя. инфраструктурная обвеска этого процесса к очень большая и непонятная, нужно выставить охуительную кучу сакральных и магических настроек. туториалы плохие, гуглом по теме почти ничего адекватного не ищется. есть сильный соблазн забить и тупо автомтаизировать ресайз локально.
comments: 2 комментария or Оставить комментарий

Tags:, , , ,
Security:
Subject:кицуне в цветах вишни
Time:06:13 pm


модель semirage
мне кажется получилось очень круто.

техническая часть: 85/1.4 AF-D по-прежнему прекрасен! и с D750 у него даже есть фокус.
запилил себе краисвый домен для линковки картинок непосредственно с AWS S3, чтобы чем-то заменить почивший яндекс.
серьёзный минус пока один - ресайзы нужно генерировать самому.
comments: 15 комментариев or Оставить комментарий

Tags:, ,
Security:
Subject:Tom Sweterlitsch, The Gone World
Time:03:39 pm
неплохой фантастический хроно-крипто-детектив
немного не мой жанр, не люблю ни хардкорные детективы, ни машину времени, но написано неплохо.
автор пытается, как модно нынче, добавить ограничения на работу машины времени (только изолированные эфемерные временные ветки, forward closed time-like loops), но в целом его ждёт классическая проблема любого повествования про машину времени: проблема полной ценностной бессмысленности всего происходящего для всех его участников, которую он пытается превратить в фичу и вообще в основной мотивационный стержень повествования, но «вся твоя жизнь иллюзия» честно говоря мотивирует плохо.

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

в целом книга написана хорошо, и многие сцены очень крипи в своём сочетании дезориентации и кровавой бани.
ну и при таком нехилом уровне прозы, можно было бы и не использовать world reset.

Проза 3+/4
История 2+/4
comments: 2 комментария or Оставить комментарий

Tags:, , , ,
Security:
Subject:вспоминаем голубиную почту
Time:10:39 pm
так как из-за козней охранки телега часто работает с перебоями, напоминаю что ещё со мной можно связаться:

dervish.candela@gmail.com
это почта, и, *gasp* до сих пор работающий Hangouts, который есть в каждом, каждом карл андроидном телефоне, его даже ставить не надо

чтобы товарищу майору было не так скучно, можно писать и туда
vk.com/dervish_candela

ну и твиттер я думаю все уже догадались какой. я немного предсказуем.
comments: Оставить комментарий

Tags:, , ,
Security:
Subject:default parameters considered harmful
Time:12:14 pm
везде топлю за optional в интерфейсах функций (а не только возврата).
казалось бы, для выражения семантики необязательности есть параметры по умолчанию.
а вот нихуя. параметры по умолчанию имеют семантику абсолютной обязательности.
«этот параметр обязателен настолько, что мы готовы принять бессмысленное значение, лишь бы работать с ним».

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

Если функция может работать с неким дефолтно сконструированным объектом, лучше его явно сконструировать пустым и передать ей.

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

Есть подозрение, что мне надо почитать Domain-driven design
comments: Оставить комментарий

[icon] наивный идеализм
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (http://www.pixiv.net/member_illust.php?id=1044958).
You're looking at the latest 30 entries.
Missed some entries? Then simply jump back 30 entries