dervish_candela: (Dervish)
2017-04-05 01:45 am

новый TOS, новый вкус «ультиматум русская весна»

so subtle.

про большую часть по для бэкапа в сети сведения колеблющиеся по «опять поменяли апи, прога сломалась / починили» с периодом в несколько лет
https://sourceforge.net/projects/ljarchive/ в данный момент выкачал мне записи и комментарии (картинки не выкачал, про сообщества не знаю)

если для кого-то работают какие-то другие варианты, не постесняйтесь рассказать в комментах.
dervish_candela: (Dervish)
2017-03-28 12:22 am

Furi

игра, состоящая из неона, кислоты, транса и 100% боссфайтов c данмаку и файтингом.
игру не перехвалил только ленивый, она неплоха, но конечно даже на легчайшей сложности очень задротская

игра очень требует реакции, а порт на пека на клаву и мышку очень-очень неаккуратный (для стрейфа кнопку нужно успеть нажать и отпустить, и направления стрейфа определяется курсором, а не вектором твоего бега в момент активации). после долгих мучений наконец-то удалось подключить свои гейпады ps3 sixaxis. сначала долго не мог понять, можно ли с pre-dualshock, можно ли с win7 x64, работает или нет старый libusbfilter (спойлер: нет), какую версию SCP брать, итд итп.
в итоге установлен старый SCP как например здесь
https://www.youtube.com/watch?v=2A1TMOMXWsc
(и важный момент https://www.reddit.com/r/PS3/comments/2ow9v5/connecting_ps3_controller_to_pc/cra43va/ )
dervish_candela: (plot)
2017-03-24 12:16 am

внезапно ещё про фантастику

я всегда считал, что фантастика должна иметь человеческий фактор в повествовании, чтобы быть интересной историей.
но сейчас заметил, что сама по себе чисто интеллектуальные построения в фантастике оособо и не радуют на уровне эмоционального восприятия, ей нужен и на этом уровне эмоциональный человеческий фактор.
лучшие образцы всегда берут одну такую доминанту и со всей силы давят на неё: таинственность (eg солярис), загадочность (непобедимый?), тревожность (сложная лепота), борьба и преодоление (гурен лаган? кек), спокойствие (йокогама, ну и конечно саймак - пересадочная станция), торжественность (нуууу например ar tonelico, хотя оно конечно же фентези). итд итп. казалось бы очевидно, что книга должна «цеплять», но именно в фантастическом дискурсе этот момент иногда теряется за обсуждениями сюжетообразующих фантастических допущений и механик.
dervish_candela: (Dervish)
2017-03-15 12:28 pm

client-server pitfalls

1) никогда не пересылать примитивы. всегда иметь общий (для клиента и сервера) заголовочник, где определены имена используемых типов данных (даже если это всего лишь int). пересылать исключительно эти типы по этим именам.
2) при использовании QDataStream(socket), обязательно использовать setVersion. обязательно. альтернатива - формировать блобы самому и использовать socket.write(blob)
3) always flush!
dervish_candela: (Dervish)
2017-03-14 04:24 pm

Madoka the Movie: Rebellion

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

градус графического скрапбукингового безумия сохранён.
dervish_candela: (Dervish)
2017-02-27 02:21 pm

тёплая, ламповая

ну вот я считаю себя достаточно технически подкованным фотографом. то есть я знаю, как выжать из любой современной цифротушки тот результат, который мне нужно, знаю их ограничения, итд итп.
когда-то давным-давно я снимал на плёнку, плохо понимая что именно я делаю. однако я никогда не снимал на плёнку на современную никоновскую технику, которой пользуюсь.
ну и вот куража ради я одолжил F90x, нахлобучил на него вечно приекрасный 85/1.4D, и парочку рулонов - astrum 100 для тестов, и ilford pan 100 для того чтоб уж значит всерьёз.
Марго нашла нам по такому случаю отличную модель :)

Astrum:






Ilford:




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

начать с того, что домашний планшетный сканер - вещь для сканирования плёнки совершенно неадекватная. отсканировав негативы, я увидел размытое и серое нечто. аструм оказался достаточно контрастной плёнкой, хорошо подошедшей к сюжету, и занимающей информацией примерно 50-60% гистограммы. а вот более дорогой илфорд был весь очень серым, и снятые с него данные соответственно занимали 10-30% гистограммы, узенькую полосчку в центре О_о
что платить 600 рублей за сканирование мне совершенно не хотелось, поэтому я соорудил стенд из фотоаппарата D800 + 105/2.8D + подсветка сканера (неравномерная) и сфотографировал плёнки. (помогает включить дикий перешарп, иначе по live view фокусироваться очень трудно, а по видоискателю - и вовсе бессмысленно. мы тут ловим буквально микроны. хоть и сотнями.

чёткость сразу очень выросла (ещё бы, 36 мегапикселей восьмисотки + 105D это не хухры-мухры), а вот тоновая информация так и осталась.


(на картине типичный необработанный кадр c илфорда «как есть»)

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

ACR:
→ для улучшенного импорта включить Grayscale 16 bit/channel
- опционально отключить весь sharpening
- растянуть диапазон значений (ACR делает это точнее, чем фотошоп, интерполируя все промежуточные значения):
black -100
white +50
highlights увеличивать для проявления детализации в тенях
sshadows уменьшать для проявления детализации в светах

PS:
→ импортируется в том режиме, который был в ACR
- Action { Crop, Invert, Levels Auto (именно после кропа!) }

после этого обе плёнки выглядят почти одинаково. у илфорда тона всё же чуть нежнее и мягче, то есть в этот мини-кусочек на самом деле утрамбовано гораздо больше информации, а-ля camera neutral, s-log или того, что делает со своими жпегами Fuji S5.
dervish_candela: (Dervish)
2017-02-19 01:01 pm

move semantics: passing sink-parameters by pointer, reference and rvalue; what of unique_ptr

https://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
Herb Sutter
семантика различных видов передачи хозяйственного указывателя (*, &, unique_ptr, shared_ptr, etc)

http://scottmeyers.blogspot.ru/2014/07/should-move-only-types-ever-be-passed.html
Scott Meyers
unique_ptr by value vs all sink parameters by rvalue

http://stackoverflow.com/questions/24814696/move-semantics-and-function-order-evaluation
passing unique_ptr sink by value vs rvalue
guaranteed order of initialization of braced-init-list
using constructor delegates

http://web.archive.org/web/20140113221447/http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/
Dave Abrahams
та самая статья

http://stackoverflow.com/questions/27021698/moving-stdfunction-into-another-stdfunction-does-not-invoke-move-constructor
yo dawg
so we moved std::finction into std::function

Andrzej's C++
https://akrzemi1.wordpress.com/2011/06/27/unique-ownership-shared-ownership/
обзор идей владения

https://akrzemi1.wordpress.com/2011/08/30/move-constructor-qa/
когда нужен move constructor?

http://stackoverflow.com/questions/17098407/when-are-implicit-move-constructors-not-good-enough
«Another valid reason for providing your move constructor if you want to enable your type that is non-copyable (because it is RAII-like and represents a resource) to be still passed by value where copying is not required, and stored in STL containers.»
dervish_candela: (Dervish)
2017-02-14 04:09 pm

c++ move semantics : БЕЗНОГNМ БЕЗλМНРIW

моя бошка уже немного пухнет, но вот что я понял.

std::move(x) ничего не двигает. оно просто приводит тип к rvalue (&&x), то есть мы явно говорим что объект x нам больше не нужен.

втихую move contructor генерится только для POD (не совсем так, но смысл именно такой).
совершенно точно нельзя передвинуть класс, если у него явно запрещён copy contructor и при этом не определён явно move contructor.

есть некий middle gorund вида const T& ← &&T , то есть rvalue will bind to a const lvalue reference
то есть, класс с нетривиальным конструктором можно передвинуть, если он is_move_contructible<T>, то есть std::is_constructible<T,T&&> (его можно сконструировать из rvalue)
например так работает конструктор копирования из T(const T&) и инициализирцет T из временного выражения &&T

иными словами, подвинуть некопируемый объект нельзя. никак. нихт. нада.
такие классы нужно инстанцировать в хозяйствующий указыватель unique_ptr<T> и передвигать это хозяйство с помощью std::move(unique_ptr<T>)
в частности, никак невозможно и нельзя подвинуть QObject, и это by design, именно потому что правильно скопировать identity class (уникальный объект) просто невозможно по определению.
для этого у них у всех запрещены конструктор T(const T&) и присваиватель T& operator=(const T&) макросом Q_DISABLE_COPY


а вот RVO всё может, потому что он не языковая механика, а компиляторная.
dervish_candela: (Dervish)
2017-01-29 01:12 am

Westworld

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

спойлер )

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

хотя почему при такой крутой печати их чинят живые люди - совсем уже не понятно.

п.с. охрененная терминология
они когда начали говорить hosts, я был в таком восторге
это же сисадминский термин, host - машина, узел сети
dervish_candela: (Dervish)
2017-01-26 09:28 pm

pile of objects vs causality chain

прикольная статья которая представляет ооп и функциональное программирование как диалог двух противоположных способов миропознания, начавшийся задолго до появления собственно программирования.
Декарт vs Беркли, fight!
https://medium.freecodecamp.com/descartes-berkeley-and-functional-reactive-programming-18b0b61eac58
dervish_candela: (Dervish)
2017-01-26 10:30 am

modules in C++ часть 2

моё примерное на сегодня понимание. копипащу сюда, разу же написал, чтоб не пропало.

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

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

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

а если этот .h файл включён в ещё одну единицу компиляции (в другой .cpp) - компилятор опять согласистя с тобой и снова сгенерирует определение, уже в этой ЕК... и при попытке слинковать это линкер скажет «лол што, у тебя две реализации, не хочу». именно поэтому, насколько я могу понять, происходит вот эта фигня: чтобы писать определения функций в h-файле, приходится им добавлять inline - вместо одной функции в одном объектном файле компилятор намеренно генерирует эту функцию в каждом объектном файле ... при этом не выставляя её наружу для линковки?

http://stackoverflow.com/a/41737096/294763
An inline function is defined in all translation units that use it, while a non-inline function is defined in one translation unit only as required by the one definition rule. That is what an inline declaration of a function means; it relaxes the one definition rule, but also gives the additional requirement of being defined in all translation units that use it (which would not have been possible if the odr wasn't relaxed).

а вот если ты добавляешь в проект дополнительный, уже существующий код, и включил в одну из твоих ЕК .h файл, но не добавил в проект его .cpp файл (то есть не запланировал создание ещё одной ЕК, содержащей не только объявления, но и определения) - компилятор снова мирно согласится с тобой и сгенерирует объявления в твоей ЕК, но при этом НИКТО не знает где взять опеределения сущностей - ни компилятор, ни линкер.
dervish_candela: (Dervish)
2017-01-16 12:36 pm

Westworld

Time of Eve на западный манер.
очень круто, что работы на тему ИИ начинают наконец уходить от задолбавших своим анахронизмом «законов робототехники».

стильно, крипово, в меру держат некое эмоциональнео напряжение. слабо, впрочем, пока что подкрепляемое интересом.
то есть понятно, что происходит какая-то херня, но серьёзность намерений, — действительно ли они готовы обсуждать заявленные темы, а не мусолить статус кво? — пока что никак подтверждена.
dervish_candela: (Dervish)
2017-01-15 11:12 pm

тестил новую полноценную духовку

запекал окорок на 200°С с конвекцией час, потом развернул, сунул обратно и врубил гриль на 15 минут, а потом открыл и сунул туда лицо понюхать
это была ошибка, не делайте так
dervish_candela: (Dervish)
2017-01-15 03:08 pm

восстановление данных с карточек

по мотивам долгих мытарств с кучей говна по восстановлению файлов с карточек рекомендую бесплатную Recuva (от тех же чуваков, что делали CCleaner)
помогает часто, не виснет, интерфейс простой (удобнее почти всего остального)
dervish_candela: (Dervish)
2017-01-14 07:23 pm

Ghost in the Shell: The New Movie (2015)

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

после заданной Stand Alone Complex высочайшей планки чуть ли не крутейшего фантастического политического боевика современности, попытка сделать меланхоличный малобюджетный фильм одновременно и на материале Осии (вот эти вот продолжающиеся рабские повторения знаковых сцен падающей с высоты майора) и на материале Stand Alone Complex (захват посольства - шо, опять?!) приводит к очевидном провалу - ни меланхолии, ни нормального боевика. боевые сцены жутко анемичные и расслабленные, звуковое сопровождение какое-то потрясающе безразличное и апатичное. сюжетно с SAC и Arise никак не связано, и вообще с представлением сюжета и понятностью происходящего на экране у него большие проблемы. даже никаких интересных новых идей (за что я хвалил сам Арайз) во вселенную гитса оно не привнесло.

Грустно, но франшиза превращается в какое-то убожество из ритуальных, религиозных самоповторов. Фанфик на фанфик на фанифк.