?

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: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: 4 комментария 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: Оставить комментарий

Tags:,
Security:
Subject:использование нового синтаксиса типа сигнатуры функции (как в std::function<type>)
Time:05:45 pm
using A = int(float);
A& a1 = fun; // fun is defined elsewhere
a1(0.0);
comments: Оставить комментарий

Tags:, ,
Security:
Subject:молочные шоколады Barry Origin
Time:01:44 pm


Barry Origin Ghana 40%
мягкая, бархатная текстура.
спокойный, серьёзный вкус с оттенком кофе и кофейного ликёра.
почти без послевкусия, без лишних кислоты или сладости.

Papua 35.8%
слегка шершавая текстура
карикатурно-кремовый вкус, ириска, заварной крем, варёная сгущёнка и в послевкусии ещё какая-то сложная неопознаннная органика

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

фото semirage
comments: Оставить комментарий

Tags:, , ,
Security:
Subject:внезапно Warframe
Time:02:58 pm
Начал я тут играть в фантастическую игру про чувака в мускулистом бионическом костюме
MDK.jpg
нет, не та картинка
EarthWormJim.jpg
вот так-то лучше.

вообще, со времён рагны у меня не было ни времени, ни особого желания, окунаться в современные Game as a Service (ММО, приставочные сетевые коопы, итд), поэтому вероятно что-то, что покажется мне новым, на самом деле давно industry standard. Мне изначально понравилась эстетика - достаточно самобытная с лёгким налётом гигерства и востока. Не милитаризм, как модно нынче на западе, но и не совсем махровое корейское средневековое фентези с мечами и магией, и не очередной мультяшный близзард. Когда-то, давным-давно, я посмотрел, подумал что это скучноватый приставочный шутер, и забыл про него. А тут мне не попалась на глаза статья из полигона о том, что они якобы сделали F2P done right (вот она https://www.polygon.com/2017/11/21/16687590/warframe-perfect-game-for-real). И на пека оно оказывается тоже есть. Почему бы не попробовать!

Ныне среди издателей модно делать адскую, бесчеловечную монетизацию, а среди геймеров ругать её, поэтому конечно же идея «этичного F2P» выглядит очень интересно.
Пока что я набрал часов 20 или 30 (меркурий-марс), и могу действительно подтвердить - F2P/P2W здесь действительно очень этичный. Обменять реальные деньги на «платинум» можно только на сайте, а потратить его можно исключительно в нескольких предназначенных для этого местах на вполне конкретные вещи, никакого рандома за твои деньги. Нигде и никогда тебе в бою не сунут под нос предложение вот прям щаз купить павер-ап чтобы прям щаз выиграть. Рандомизация дропа порядочно приструнена от корейского бейзлайна, многих целей можно достичь достаточно умеренным грайндом. Причём так как компании важно не только получить деньги с новых игроков, но и занять чем-то существующих покупателей, то грайнд присутствует в огромных количествах всегда и для всех :) Благодаря аккуратно сбалансированному постоянному ощущению прогресса он не кажется пустым и бессмысленным. Для этого же сделаны тысячи разрозненных игровых механик, часто вообще никак не связанных друг с другом, которыми можно заняться, а можно и спокойно игнорировать.

Нормального интернета у меня пока что нет, только телефон, так что раздражать пингом по 3-5 секунд рандомных людей из интернетов я пока не пытался, играю соло и квесты. Если кто хочет, присоединяйтесь.
Игра почти полностью PvE, что обещает более вменяемых людей (но это не точно)

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

Что касается гейплея, то это fast-paced акробатический шутер (привет, unreal tournament!) ииииииии им удалось воткнуть туда вполне себе живенькую стелс-составляющую. Ближний бой есть, ведь надо выдерживать образ space ninjas, но он чуть менее эффективен, чем огнестрел (ну или я его неправильно готовлю). Крафтинг местами прикольный, местами странный (одноразовые чертежи конечно понятно откуда и зачем, но всё же...)

Коридоры не всегда тесные, попадаются и очень открытые пространства (ну и конечно это не считая впиленной недавно open-world локации) . Сами миссии огромные, реально многокилометровые. До сих пор не могу привыкнуть, что часто их нужно просто максимально быстро пробежать с ветерком, даже не расчехляя оружие. Механика урона основывается на классическом элементальном фарше, где на оружие можно навешивать разные типы урона, для разных врагов. Не могу сказать что люблю «камень-ножницы-бумага», но альтернативы всё равно нет (если не считать нажирание DPS, к которому сводятся все игры без элементального фарша).

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

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

В целом мне пока больше всего понравилась изначальная бионическая/пост-индустриальная эстетика (чего стоит анимированные скульптуры с откровенно скелетными образами, или мясная стена, которую разделывают на еду!) и (классное слово придумали) цефалон Ордис. Учитывая, что в Ниере мне тоже очень нравились поды и их реплики, видимо у меня слабость к AI sidekick.

Графоний на удивление крутой. Не Witcher 3, конечно, да и количество блума и СЛЕПЯЩЕГО СВЕТА В ГЛАЗА немного зашкаливает (впрочем в настройках есть ползунок), но всё равно очень и очень неплохо, особенно с тесселяцией.

ХЗ как быстро надоест грайнд. например, обязательный 10-волновой дефенс или «убей 150 врагов» это имхо немного перебор, но такие миссии попадаются.
comments: 15 комментариев or Оставить комментарий

Tags:,
Security:
Subject:Чёрные кувертюры Cacao Barry
Time:04:15 pm
сильно ограниченный (в магазине нет всего ассортимента) набор шоколада Origine от Cacao Barry
подразумевается, что речь идёт о бобах из конкретного региона, но, к сожалению, производитель не поясняет точнее критерии вхождения в серию.

Barry S.Dominigue 70%
фактура мягкая
очень тонкие горечь и кислинка
сыро-древесные тона, пыль, плошка для тушения окурков, земля, плесень

Barry Cuba 70%
фактура нежно-кремовая
нет горечи и вообще почти нет вкуса шоколада
цемент, гипс, шпаклёвка, кофейные бобы средней обжарки, наверное хорошо сочетается с чем-нибудь другим (но я без понятия с чем можно жрать шоколад)

Barry Mexique 66%
фактура твердоватая, упругая
самый традиционно «шоколадный» из этой четвёрки
яркий аляповато-фруктовый вкус, горечи нет, очень сильная и кричащая кислость, долго сохраняющаяся в послевкусии

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

Различия не тонкие, вкус отличается очень сильно. В целом такой наборчик - очень приятная возможность провести вечер с друзьями (или котом), пробуя и сравнивая различные варианты. Больше всего понравился своей оригинальностью «Танзания».
comments: 2 комментария or Оставить комментарий

Tags:,
Security:
Subject:белые кувертюры (Callebaut и Barry, формально одна фирма, но реально нет)
Time:04:50 pm
я тут обнаружил, что крутой белый импортный шоколад можно купить не только в виде переслащенных плиток, а в «профессиональном» (для кондитеров и шоколатье) форм-факторе маленьких капелек
так как я уже распробовал чёрный Каллебаут (никогда не думал, что чёрный шоколад может быть настолько вкусным, а не терпким горьким ужасом), то уже знал, что искать, нашёл контору, отсыпающую их по 100 граммов, и устроил себе дегустацию белого шоколада.

Callebaut Velvet 33.1%
приятная гладкая текстура
вкус очень приторные печеньки (как будто ароматизатор песочного печенья. перебрали с ванилью, видимо)
830/кг

Callebaut CW2 25.9%
уже немножко вязкая («рассыпатая, плстилиновая, замазочная») текстура. не то чтобы страшно, но уже не оч.
на вкус агрессивные сгущёнка и сухое молоко
не "Россия щедрая душа", конечно, но что-то типа "Бельгия щедрая душа".
750/кг

Barry Zephyr 34%
сливочно-маслообразная, лёгкая текстура без малейшего следа вязкости
очень спокойный интегрированный вкус, кажущийся менее сладким (видимо за счет большого содержания масла какао)
очень легкое ощущение кислинки немного напоминает "сушёный йогурт"
990/кг

Barry blanc satin 29.2%
текстура сбалансированная
менее интегрированный вкус, больше "сухое молоко с маслом и сахаром"
930/кг

безусловный фаворит Barry Zephyr, по странной случайности он же и самый дорогой (хммммммм).
есть и более дорогие шоколады, за 1000/кг, их пока брать не стал.
comments: Оставить комментарий

Tags:, , ,
Security:
Subject:Аааааааааааа
Time:11:51 am
слишком много соцсеток
не могу теперь определиться, куда что хуярить
- твитор из них всех самая живая (в смысле жизнь кипит)
- в инстач удобно фоточки, и народ там тоже живёт
- жж бросать не хочу, туда удобно большие писули (и не потеряешь их блять как во всех остальных)
- вконтач бросать нельзя, казуалы не поймут, хотя лента теперь состоит почти на 100% из перепостов
- фейсбуч не завёл и не собираюсь!!1
comments: 5 комментариев or Оставить комментарий

Tags:, ,
Security:
Subject:изучаю гит
Time:12:33 pm
с матом, rtfm и кузькиной матерью из него почти можно сделать рабочий меркуриал.
SourceTree вроде бы даже эквивалентен по функционалу TortoiseHG Workbench, но какооооой же он тормозной... (и их новый «дизайнерский» не-нативный интерфейс омерзителен)
TortoiseGit бездонно уныл, сокпированное из TortoiseSVN беспомощное нагромождение контролов

вообще если подумать, то TortoiseHg надо менять имя.
Если бы я не знал о ней, и судил по её тёзкам, я бы её никогда даже устанавливать не стал.
А ведь входящий в THG интерфейс Workbench - охуенное ПО, пожалуй самый удобный DVCS-клиент на планете.

стратегия объединения
https://stackoverflow.com/questions/39098811/what-happens-if-i-rebase-after-pushing
https://developer.atlassian.com/blog/2014/12/pull-request-merge-strategies-the-great-debate/
https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase

пожалуй лучший материал об отличиях hg и git, что мне удалось найти
https://www.rath.org/mercurial-for-git-users-and-vice-versa.html
comments: 19 комментариев or Оставить комментарий

Tags:,
Security:
Subject:тайны какао
Time:08:07 pm
оказывается, какао различается не только жирностью. существует так называемый «алкализованный какао».

как всегда, хорошо рассказывает мой любимый сайт serious eats:
http://www.seriouseats.com/2014/08/difference-dutch-process-natural-cocoa-powder-substitute.html

TL;DR
обычный (натуральный) какао-порошок получается из обжаренных какао-бобов, отжат от какао-масла (часто насухо), имеет относительно светлый цвет (вероятно, ещё зависящий от остаточной жирности), относительно большую кислотность (5-6) и всегда в той или иной степени горький и вяжущий привкус, с характерным ароматом какао, который описывают как «фруктовый» чтобы протиовпоставить его «шоколадному».
алкализованный какао применяется в выпечке, имеет тёмный цвет, нейтральную кислотность (7, а то и 8 для совсем чёрного порошка), а вкус и аромат в нём мутируют в нарочито шоколадный (достаточно вспомнить любые печеньки а-ля Oreo).

ну вот и по-видимому, тот какао, к которому мы (уроженцы совка) привыкли - это натуральный, выжатый насухо, неалкализованный.
сегодняшние качественные образцы питьевого какао (например Alce Nero), вероятно содержат некий процент жира и небольшую примесь алкализованного какао, так как они заметно менее вяжущие и более шоколадные на вкус.
продающийся в «Азбуке» Van Houten настолько шоколадный, что он явно не просто имеет жирность порядка 20%, но и явно целиком слабо-алкализованный (собственно товарищ по имени Van Houten этот процесс и выдумал).

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

для себя, вероятно, буду делать бленд с недорогим неалкализованным (напр. «пища богов» из индийских специй)
comments: 1 комментарий or Оставить комментарий

[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