Обсуждают в коллекции

Фильм «Фонтан» 81


Тёрка в тагах


Сейчас обсуждают

Друзья

Его(2) Общие(0) Хотят дружить(0)


  • Atrinax

  • Blackoff

  • login

  • login

  • login

  • login

Враги

Его(0) Общие(0) Обиженные(1)

На странице: 24 48 96

Большая Тёрка / Мысли /

Личная лента

фото

olegchir

ыыыть!
Портрет жителя

Игры, геймдизайн

Имхо, ключевая проблема Овервоча. (Кстати, цитата из Аарона Келлера, который новый геймдиректор).

Пробема в человеческой природе. Люди предпочитают понятное непонятному. Даже в играх.

Когда кто-то играет за атакующего персонажа, у него всё кристалльно ясно: если ты щелкнул по голове

...
Читать далее
...

противника в течение полсекунды - ты молодец, промазал - не молодец.

Идеальная задача - крайне specific, очевидно measurable, легко achievable, relevant, очень жёстко time-bound.

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

Вот Рейн ставит щит - как понять, правильно или неправильно он его поставил? У тебя всегда кто-то получает урон, ты не можешь спасти всех. Мерси может спасти 1 любого персонажа с вероятностью 90%, но не может спасти всех одновременно.

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

Причем, ты не можешь просто взять и сделать танков сильнее. Ну хотя бы потому, что среди популяции есть какая-то сравнительно небольшая группка людей, интеллект которых позволяет осмыслить навыки танка по SMART и начать уничтожать ими всё живое и ломая игровой баланс. Если трезво посмотреть на способности танков, они сейчас и так имба, все подряд, спасает только статистика, что 500 IQ людей совсем немного.

И вот получается, что из всей популяции только 20% имеют хоть какое-то минимальное желание играть на танке, и только 2% понимают, что вообще делать. (цифры с потолка), но танки - ЭТО КЛЮЧЕВАЯ ЧАСТЬ ИГРЫ

Интересно, что в такой ситуации делать геймдизайнерам.

Аарон решил уменьшить количество танков до 1 и поменять сущность игры.

Каплан просто уволился.

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

овер ап

В «лабораторию» Овера подвезли грядущий патч.

- Маккри перезаряжается и кувыркается хуже.
- Батист заряжает прыжок медленней.
- Заря дамажит минимальным лучом меньше.
- Вампиризм Рипера разнерфили назад.
- Мойра под ультой лечится в 3 раза быстрее.

Не блогодорите пожалусто.

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

Изучаю ЖЖ

Еще немного про ЖЖ, а может и про жизнь даже.

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

Если взять ЖЖ, то весь его топ — про что-то другое. Например, сегодня там есть «Умирать запрещено» Варламова, какие-то статьи про продажных чиновников, бандитов, и прочая совершенно никак не относящаяся ко мне неинтересная фигня.

Причем унылая

...
Читать далее
...

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

Попробуем посмотреть не на топ, а на категории. Цитирую главное меню ЖЖ: кино, еда, коронавирус, общество, история, политика, Россия, дети, медицина, лытдыбр, армия.

Из всех этих категорий хоть как-то может быть интересно общество и кино.

В «обществе» ожидаемо находится всё та же криминальная хроника, что и в топе, включая огненные статьи с заголовками «Холера — это просто понос» и «Припять. Как жили работники ЧАЭС». Изучать этот раздел далее не имеет смысла, по этому же соображению я даже не заглядывал в «политику».

Итак, осталось кино. Кино, кино, кино! Кино хоть и не моя специальность, но тут я хоть немного разбираюсь. Что я ожидаю увидеть? Например, недавно Зак Снайдер отвечал на вопросы поклонников, в июле на Нетфликсе запускают триллер «Пороховой Коктейль» о наемных убийцах, и что DC начала работать над превращением игры Injustice в мультфильм.

Что мы в реальности видим в рубрике «кино»?

— «Веселье разрешается. Могила, на которой можно танцевать.» Статья про могилу клоуна. Весело.

— «У каждого свой Курт. «Кобейн: чёртов монтаж».» Статья про музыканта, покончившего жизнь самоубийством. Я начинаю понимать принцип!

— «Ребенок Розмари» — блогер рекомендует к просмотру очень современный и свежий фильм, о котором ранее никто не знал.

— «Советский фильм о совсем не советской жизни» — явно новый актуальный фильм, по крайней мере, те кто видел «Выше Радуги» в кинотеатрах 2 мая 1986 года году могут быть всё ещё живы.

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

— Фильм «Нормандия-Неман» 1960 про вклад французов в победу над Германией. Тут мы вернулись к главному принципу: все участники давно умерли, присутствует обязательный внешний враг, и тому подобное. Уфф.

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

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

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

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

Иксбокс и печеньки

Преимущества обычной компании: иксбокс, печеньки

Преимущества JetBrains: внезапные лекции по метавычислениям посреди дня

D for DevOps

Конференционное

Отчислилась

лингвистика

twitch, сущностьтвича

Твич ещё не знает, что уже мёртв

Режим Ванги активирован: если Твич не изменится в самое ближашее время, то его просто помножат на ноль. Сейчас есть такая динамика: Твич способствует росту только первых двух десятков стримеров, а все остальные существуют вопреки, зачастую притаскивая подписчиков со своих роликов на Ютубе.

Получается, что фокус сдвигается со стримов на статические ролики, а сам стриминг становится только

...
Читать далее
...

интересным дополнением. Но на самом Твиче так и не сделали нормального просмотра предзаписанных материалов! По крайней мере, в веб‑приложении нет, в вебе хоть «клипы» есть.

А ещё, у них значительная часть работничков — это sjw в плохом смысле слова, и они мешают работать стримерам. Плюс, копирасты всё‑таки выработали базу как травить стримеров за фоновую музычку и картинки на майках. Интересно, что у Твича там в голове и как они собираются выжить в такой ситуации.

А тут есть вахоебы?) Расскажите, в 2021 году как там история развивается? Я помню историю с Жиллиманом и Сайфером, и на этом всё. Когда там труп скинут с трона?)

Инстант-аппы

Что это за картинка? Это на самом деле объяснение, почему приложения нужно делать или в виде веб-приложений, или желательно - PWA (progressive web apps, т.е. веб-приложений, которые могут работать без интернета).

Веб-приложение у тебя открывается мгновенно по ссылке, откуда бы ты эту ссылку

...
Читать далее
...

не достал (из гугла, из статьи, из баннера, итп). Получается, конверсия у веб-приложения очень крутая. Стопроцентная, в каком-то смысле. У клиента просто нету возможности не сконвертироваться.

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

Интересно, когда Microsoft додумается, что можно запускать нативные приложения сразу по ссылке из интернета, без всяких подтверждений, но в безопасном одноразовом Windows Containers / Hyper-V контейнере.

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

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

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

Жизнеспособна ли эта идея? Вот уже довольно долго я всё что могу запускаю в докере. Это безумно удобно: вместо того, чтобы захламлять систему тоннами мусорных пакетов, у меня есть маленькая песочница, в которой можно немного покопаться и потом удалить её без следа. Но это работает только на линуксе, где докер ничего не стоит. На шиндовсе, к сожалению, он стоит прилично так ресурсов, и ломает поддержку других виртуализаторов (кроме Hyper-V существует еще VMWare и VirtualBox). Кроме того, докер всё-таки умеет запускать только линукс-приложения. И чтобы пробросить в докер графику, особенно под виндой — нужно нехило так напрячься.

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

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

Если кто-то сомневается, может ли приложение весить мало - вспомните пиратские CD-диски из конца 90х - на одном CD-диске объемом 600 мегабайт были десятки фотошопов и 3dmax-ов. Потом прошло несколько лет, и фотошопы и максы начали занимать сначала самостоятельный диск, а потом даже несколько дисков - но это было потом. Изначальными версиями тоже вполне можно было пользоваться.

Visual Studio шла на куче CD-дисков (восемь? уже не помню), но из них самим дистрибутивом был только первый диск (потом - два первых), всё остальное - MSDN и допы типа Install Shield. У нас вместо оффлайн MSDN есть штука лучше - "интернет", так что тут никакой проблемы нет, нет никакого смысла вхреначивать в 20-мегабайтное приложение хелп на 10 гигов.

Способов, как можно управлять размером — море. Например, если в гуе у тебя огромные 4к текстуры, их можно генерировать процедурно, и не занимать под них гигабайты сетевого трафика. См. что могут чуваки на графической демосцене. Звуки тоже не нужно совать во флаке максимального разрешения — их можно сгенерировать программно, и они будут не сильно хуже предзаписанных. Впрочем, обычно приложениям не нужно звуков длиннее «Свиньи Касперского».

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

Дело осталось «за малым» — за каким-то быстрым эффективным воплощением Windows Containers. Достаточно эффективным, чтобы не убить ресурсы компьютера на десятом запущенном приложении. К сожалению, обычные люди над этим не властны, это может сделать только Microsoft.

Froxel (2015)

воксельность, геймдев, рендеринг

2021 — новый 2015, и Майнкрафт такой молодой.
Время шарить знания Великих Старейшин.
(полученных via Kirill A Shabordin)

Это картинка из кулуаров SIGGRAPH 2015, описывающая froxel - frustum voxel. Насколько понял из описания, это позволяет оптимизировать ray marching для рендеринга воксельного домена.

Вероятно, сейчас это правильно делать в виде шейдера постобработки для каждого пикселя, что



...
Читать далее
... возможно воплотить в Юнити. Нагуглил какую‑то статью про это (Юнити и реймаршинг) на Хабре, но ещё не читал: https://habr.com/ru/post/503554/

It's evolving, just backwards.

Сто лет спустя

Прошло очень много лет с тех пор, как я тут хоть что‑то писал.

Интересно, жив ли ещё ЖЖ? Есть ли тут люди?

По телику показывают Технопром‑2017. На сцене собрался круглый стол великих мыслителей русской промышленной революции.

Ведущий разражается речью про мощь сибирской школы алгебраистов, и объявляется слово ученику академика Ершова (на самом деле Герасимова, но что не сделаешь для понта), который якобы смог использовать алгебру на практике (sic!)

Названный сэр открывает рот и начинает...
Читать далее
... говорить что‑то внезапно разумное про отличие Искусственного Интеллекта и человека. [я готовлюсь выслушать Себрант‑like спич и сыто улыбаюсь] Речь внезапно прерывается невнятными всхлипами о психологических комплексах на тему «друзья свалили за бугор, а я нет, но почему?» и вопросами патриотического воспитания. Докладчик завершает мысль следующим: Человек отличается от ИИ тем, что в нём воспитана любовь к России и Новосибирской Области в частности.

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

Дальше Технопром‑2017 продолжается вручением призов на два конкурса, наиважнейших для смены российского технологического уклада:
- Менеджер года
- 3D‑технологии (команды из студентов? Что такое 3D‑технологии не объяснили, но скорей всего это про 3D принтеры).

Дальше я не смог смотреть, они должны мне новую пару глаз

WAT
Што это было
Шипилёв подался в стримеры :)
Вот так должна выглядеть документация для новичков
Респектище

https://www.twitch.tv/videos/152244095
Лайфхак. Релизный Шланг только четвертой версии, и не работает на свежей вижуалке.
Можно последовать инструкции и собирать руками из SVN.
Но оказывается, у них уже есть ночные сборки, которые таки работают на свежей вижуалке.

http://llvm.org/builds/
Стадии знакомства с любым опенсорцным проектом

1 стадия — Отрицание (ну не может такого быть, наверное я что‑то не понимаю и для Настоящих Профессионалов в этом коде всё отлично. Ух сейчас заберусь в пещеру на три месяца и разберусь!);

2 стадия — Гнев (бля, и здесь тоже понаписано говна, никакой документации, комментариев, какие‑то куски залочки на проприетарщину приклеены, бэк зависит...
Читать далее
... от фронта а фронт от бэка, чтобы понять как устроено здесь надо перечитать документацию от всех других проектов этой компании, явно всё посреди Большого Рефакторинга, всё выбросят через месяц и вот нахуй я это ковырял, блядь блядь блядь!);

3 стадия — Торг (ну допустим, понимание этих принципов поможет мне в будущем при создании своего проекта. Да и на этом можно вполне жить, если придумать — как. И в резюме строчка, опять же. И вообще я исследователь, это инженеру важно чтобы работало, а мне — чтобы было в чем копаться.);

4 стадия — Депрессия (на данном этапе человек может круглые сутки находится в депрессивном состоянии. Суть такова, что жизнь проходит зря, а ты ковыряешься в говне мамонта технологий 60-х годов прошглого века, и даже с этим не можешь разобраться. В то время как вокруг искусственный интеллект и не нужно больше программистов и компиляторов, блокчейн, диджитализация, аджайл);

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

kotlin

Начал разбираться в Котлине.

Проект состоит из двух частей — Kotlin и Kotlin/Native.

По идее мне нужно в Native, но с ним всё печально (хотя казалось бы, куда еще хуже), т.к. я не разбираюсь в LLVM, да и C++ для меня глубоко чужое пока. В очередь на изучение добавляется LLVM, т.к. уже очевидно, что без него жить нельзя.

Чтобы познакомиться, взял для начала джавовую часть. Процедура...
Читать далее
... установки простейшая — пойти на гитхаб, форкнуть и выполнить несколько команд на Apache Ant и Maven. Вначале несколько покоробило использование Анта, но в конце концов, наверное, на это есть причины (начиная с нехватки времени на мимимишные плагины).

Добавим еще печальных известий: комментариев в исходнике практически нет. Код написан довольно ясно, но его объем поражает воображение. Поражает вот в каком смысле: когда ты пишешь очередное веб‑приложение, у тебя есть скорей всего стандартная структура типа MVC фреймворка с контроллерами и сервисами, ты сразу идешь в сервисы и читаешь, что происходит. Дальше нужно прошарить, как устроена БД, и начать писать свои сервисы и методы в контроллерах, выставляя их наружу для фронтендщиков. В целом, код неважен, важна бытовая логика, лежащая за манипуляциями с глобальным состоянием. Здесь же код важен. (Наверное, потом его можно будет легко разделить на важное и мусор, но не сейчас).

На всякий случай я связался с Димой и Андреем и получил ту инфу, что никакой дельной документации о дизайне компилятора не существует. Всё что тут остается делать — это читать весь исходник подряд и комментировать. Дельные комментарии можно пул‑риквестить.

По‑моему, правильным подходом было бы аккуратно документировать всё что видишь, чтобы в результате через несколько месяцев как раз получилось бы что‑то типа architecture reference guide
Забавно, что в фейсбуке у любого поста (даже унылейшего) тысячи просмотров и десятки комментариев, в то время как в ВК нет почти ничего. 78 просмотров, 104 просмотра, wtf, это синонимы нуля в пределах погрешности. В Живом Журнале всё еще печальней.

Новосибирск Кудряшовский Бор

Трек на Страве:

[видео]

Фоточки на Имгуре:

alt

Заметки:

  • Посередине закончилась вода, всё дальнейшее путешествие было в полусонном состоянии. Киосков нет, заправка Лукойла случилась только при въезде в город. Брать с собой больше воды!

  • Страва строит маршруты «minimum elevation» через лютые ебеня. Иногда это забавно, но сегодня из‑за этого накрылась важная срезка (дорога уткнулась
...
Читать далее
...
  • тупо в непролазный лес), пришлось давать крюк. Просматривать маршрут со спутника!

  • До Новомарусино стоит чудовищная пробка. Тротуар не везде пригоден для проезда. Нахер ехать по этой дороге. (а есть другая?)

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

  • Но в некоторых мест таки есть хороший асфальт. Проклятые олигархи.

  • На Р‑254 асфальт отличный. Ехать по нормальному асфальту в горку проще, чем по облезшему под горку.

  • Рядом с обью есть гостиница с домами в виде мельницы и корабля. Но въезд туда закрыт. Проклятые олигархи.

  • Родники стали выглядеть офигенно! Интересно, почем там квартиры

Какими решениями/библиотеками/фреймворками вы пользуетесь для сборки мусора в C++?

По идее ведь, каждый человек, который упарывается по сборке мусора, должен делать таковой велосипед для Крестов, но несмотря на это, фреймворков и информации очень мало..

...
Читать далее
...

Сылышал только о древнючем как создание жизни на Земле Boehm-Demers-Weiser. Есть всякие пулы типа того, что есть в Apache Portable Runtime, но это слишком убого - современные коллекторы типа G1 или Shenandoah в той же джаве умеют на пару порядков больше. То же касается велосипедных слаб аллокаторов и другой забавной копипасты со stackoverflow (кстати, есть где готовый продакшен-реди?). Думаю, что даже без прямой поддержки в синтаксисе языка, реализовать это на готовых инструментах возможно, собирая по кусочкам пулы, кастомные аллокаторы, трейсеры и раскрашиватели ссылок, итп

Так как в предыдущем вопросе о RTTR люди жаловались на отсутствие постановки цели, то вот Лекс лет так 7 назад описал Логику Неизбежности. Каждый кто начинает писать свой мемори менеджмент в конце концов доходит до написания GC в том или ином виде.

В качестве причин можно рассматривать как чистый перфоманс (перемещение выделенных объектов в куче, отложенное пакетизирование удаление с приоритетами), подкрепленный безумной сложностью реализации в одно рыло некоторых вещей (например многопоточности с учетом отсутствия приятной модели памяти), так и вопросы архитектуры приложения (лень писать поэтому вот цитата Донского из «Жизненного цикла программиста»):

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

Да, можно взять какой-нибудь Garbage Collection Handbook и пару пейперов, потратить два месяца (или два года?), и закодить велосипед - но зачем? Я уже видел эту дорогу (не на чистых крестах, а на крестах + джава, но это неважно), и не хочу ходить по ней второй раз, поэтому прошу достойных сэров экспертов Лора подобрать мне уже готовую GC-подобную систему для C++.

Подскажите что-нибудь? Шпасибо!

04.06.2017 - P-255, Снегири

Не стал никуда ездить — просто отдохнул в месте с относительно чистым воздухом, совершив тестовый наезд на Снегири

alt

Фоточге единым ольбомом


alt
alt
alt
alt

[Археология Java] Контекстно-зависимый инлайнинг трейсов в Java

Перевел очередную статейку на Хабр

https://habrahabr.ru/post/329120/
Начал вести приватный дневничок.
Идея была такая, что нужно каждый день выписывать умные мысли, а потом делать из них хорошие статьи.
Знаете что? Эти листы все пустые.
Нечего писать.
Моя жизнь — говно.
Ушел думать.
Нашел таки скан 98ого года «Theory of Objects» (Абади, Карделли) на каком‑то безвестном файлообменнике на задворках интернетов. Завидуйте, жучары! Чуваки заморочились и написали краткие минимальные формализмы для ООП, не используя код на реальном ЯП. Удивительно как всякий шлак типа «освой реакт за 3 часа 33 минуты» заполоняет торренты, а градообразующие труды киснут в мягких обложках на...
Читать далее
... задворках амазона
«– Как же победить третьего врага, дон Хуан?
— Человек должен восстать на него, понять, что сила, которую он якобы покорил, на самом деле ему не принадлежит. Он не должен расслабляться, осторожно и добросовестно относясь к тому, чему он научился. Если он поймет, что ясность и сила при отсутствии самоконтроля хуже, чем заблуждение, все снова будет в его руках. Он узнает, когда и как применять свою...
Читать далее
... силу, и таким образом победит своего третьего врага.
К этому времени человек приблизится к концу учения и совершенно неожиданно встретится с последним своим врагом — старостью. Это самый жестокий из врагов, победить которого невозможно, но можно отогнать.
И вот наступает пора, когда человек избавился от страха, преодолел ясность, подчинил силу, но его одолевает неотступное желание отдохнуть. Если он поддастся этому желанию лечь и забыться, если усталость убаюкает его, то он проиграет последнюю схватку — четвертый враг его повергнет. Желание отдохнуть пересилит всю ясность, все могущество, все знание.
Но если человек сумеет преодолеть усталость и пройдет свой путь до конца — тогда он станет человеком знания хотя бы на то краткое мгновение, когда ему удастся отогнать последнего, непобедимого врага. Этого мгновения ясности, силы и знания — достаточно.»
Наглядное пояснение, почему люди в Новосибирске живут ажно в 4 раза меньше (23/6), чем в более благополучных местах

alt
Если бы у меня была компания, это точно было бы L3C.
(https://en.wikipedia.org/wiki/Low‑profit_limited_liability_company)

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

Стремление к максимальной коммерческой эффективности в ущерб социальной пользе порочны по своей...
Читать далее
... сути. Это стремление не стоит своих жертв.

Мы не обязаны вести себя как рациональные потребители. Мы не обязаны вести себя как модельные менеджеры из формул.

Главное — чтобы всем было хорошо, приятно и спокойно, всё остальное вторично. Да, чтобы заработать на личные замки и яхты, возможно, нужно что‑то большее. Можно просто принять за данность, что у тебя нет и не будет нескольких замков, и всё будет хорошо.

Пожертвовавший всеобщим счастьем ради малой вероятности возвыситься над быдлом — не заслуживает ни счастья, ни возвышения.
Самая большая проблема с тренажеркой — это сумка :(
Иногда начинаешь собирать сумку, и уже идти всё желание пропало

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

Не в каждую сумку всё это влезет....
Читать далее
... Единственное куда всё влезает без проблем — это большой туристический рюкзак, но и он неудобен — внутренности рюкзака имеют линейную скорость доступа, а не константную как у наплечной сумки. На больших N распаковка нужной мелочи может так затянуться, что от злости хочется порвать всех на клочки.

Грязную мокрую одежду нужно держать отдельно от чистой свежей. Полотенце мокрое для душа — отдельно от полотенец для подкладки на тренажер и протирки лица. Отдельно от щетки и геля для душа. Отдельно от кроссовок. Значит всё нужно расфасовывать по герметичным пактам, которые завязывать туда‑сюда. Как изолировать планшет, телефон, наушники и прочую электродрянь — вообще хз, они ведь кроме воды еще и к давлению и царапанию очень неустойчивы.

Ах да, все эти вещи нужно собирать по чек‑листу, написанному на бумаге, т.к. запомнить все мелочи нереально (у меня очень маленькая память ;). Забыл замок от кабинки — всё было зря. Забыл ключ от замка для кабинки — всё было зря.

Ненависть. Кажется, сумка — не самая лучшая коллекция для хранения таких данных...
Оказывается, Нуки заявилась в «Голос»
(для тех кто не в курсе — это такая старпёрская передача на 1м канале, где люди поют русские народные песни, и в лучшем случае — слащавую попсятину)
Жюри сделало вид, что не знает, кто это.
Нуки сделала вид, что это не автоматический выигрыш.
Не очень честный вышел конкурс, но уровень толлинга впечатляет.
Я влюбился, Нуки — королева.

[видео]

Откомментировал фильм «Легион (Сезон 01)»

10 из 10, очень круто
"Я только что видел какой-то сон? Утро пришло… День – не мое время. Днем живет нечто далекое и чужое: оно просто, исполнительно и результативно, и это касается не только меня, а вообще всего живущего под ярким светом. Утром оно начинает свою бурную радостную активность, днем громыхает, ревет, мечется, суетится, нагромождая одни плоды своей суеты на другие и запирая себя в лабиринте в конечном...
Читать далее
... счете беспричинной и бесплодной деятельности. А к вечеру удовлетворенно умирает в гробу идеи о непрерывности своего существования изо дня в день, не зная, что с его воспоминаниями назавтра проснется уже кто-то другой.

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

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

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

Скоро я вспоминаю… Мне снова, в который уже раз становится понятно, что на самом деле я – огромное кладбище, на котором похоронены поколения и поколения разных незнакомых мне якобы меня. Смерти во мне все множатся, каждое следующее поколение «меня» все более жирное и дурное, и к самому темному часу они уже напоминают попытку душевнобольного нарисовать своих демонов.

Такие дохнут скорее всех.

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

Я только что видел какой-то сон? Утро пришло… День – не мое время. Днем живет нечто далекое и чужое…"
xxx: проще убить месяц на написание своего языка программирования на xml'е
xxx: и это будет выгоднее компании, потому что завтра они наймут еще сто хомяков
xxx: которых посадят править эти xml'и
xxx: и гори оно огнем
xxx: рэпид разработка, мать её
yyy: кодь, как будто никто не ревьювит
yyy: комментируй, как будто пишешь на бересте
yyy: проектируй, как будто на все воля Божья
Посмотрел запись доклада Алименкова про ООП и ненужность наследования, надо бы прокомментировать что-то.
Вот ссылка на его видео: https://www.youtube.com/watch?v=G6LJkWwZGuc

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

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

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

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

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

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

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

И понимая это, ты приходишь к проблеме конструирования мета-языка поверх Java. Например, правил SOLID (одно из которых говорит, что на каждое мажорное изменение нужно создавать новый класс), или специальных фреймворков (не знаю специальных, наверняка есть, но например в Spring есть своя особенная внутренняя философия на эту тему). Или решать вопрос выходя из границ языка, с помощью пакетного менеджера Linux. Или что-то гибридное, версии бандлов в OSGi. И всё это обмазать системой деплоя, которая реально будет работать в настоящем времени, например, Ansible.

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

И вот к чему это. Утверждение "наследование - это плохо" - это немного неверно. Наследование не нужно без всего остального. Слепым мастерам, джедаям всех методов класса ArrayList, придется ознакомиться еще с сотнями кусочков, прежде чем осознать свой путь к выходу :3

(Кстати о видеозаписях докладов. Приходите на джава-конференцию JBreak 2017, сможете набить мне морду за эти еретические мысли. Нет, я не докладчик по проблемам ООП, а вот какой-нибудь Бугаенко там точно будет)
UPD про «собеседование на вайтборде». В общем, идея в том, чтобы полностью сделать компьютер и другое железо частью себя: частью своего тела, мозга, способа думать и действовать. Желательно не только мозг заменить на комп с подключением к сети, но еще и тело заменить на механику. И это вполне нормально, что ты не можешь функционировать без части своего тела. И это касается не только кодеров, а...
Читать далее
... вообще всех: если у тебя руки заменены стальными манипуляторами под управлением компьютера, сдавать собеседование на инкассатора и показывать чудеса стрельбы без электроники не получится — руки то двигаться не будут.
Имеется полувоенный девайс, который хотелось бы похакать и превратить в man in the middle.

На матери есть только USB2 вход (1шт), внутри установлена винда, доступ только под гостевой учеткой (но флешки и клавиатура работают), типичные эксплоиты на эскалацию на винде не работают. Запустить экзешник из C:/temp можно.

Я как раз хотел симулировать работу сети с помощью USB, для достижения...
Читать далее
... цели этого хватит.

Поэтому вопрос. Как сделать, чтобы ноутбук с линуксом (или виндовсом, или маком — но это печальней), при подсоединении по USB компьютеру, начал выглядеть для него как флешка? Или еще какой‑то источник данных, для использования которого не нужно прав администратора, но соединение — именно по USB

Мы пока придумали подключить андроид смартфон: на ноутбуке включить вайфай свисток в режиме роутера, данные на телефоне получать по вайфаю, к девайсу подключаться как usb mass storage, а данные пропихивать с помощью самописного андроид‑приложения. Вариация того же самого: чуть более дорогой телефон, чтобы у него был рут доступ и тетеринг (режим wifi точки доступа) — тогда дорогого вайфай‑свистка не нужно, пушить файло с ноута. Но как‑то всё это тяжело. Есть ли более простой способ?
Как правильно сделать зеркало для сайта с плагинами Jenkins для использования без интернета?

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

Про собеседования на вайтборде

Наткнулся на забавный пост Бугаенко, который обиделся на рекрутеров Амазона на тему рисования алгоритмов на вайтборде.

Вот тут можно посмотреть сумму срачей со ссылками: https://jug.ru/2017/02/bugayenko-recruiters/

Вот про сам вайтборд - это интересно! Я не использовал ручку с бумагой уже лет, наверное, десять. Если нужно вести конспект живой речи, обычно это делается с ноутбуком, в котором...
Читать далее
... открыт софт для Mind Mapping (типа Mindjet MindManager - там удобные хоткеи и вообще). Если надо нарисовать диаграмму - то она рисуется мышкой в Визио (или чем-то получше типа Magicdraw UML, если на него есть деньги). Если нужно нарисовать график, то это точно будет эксель и кальк, но никак не тетрадка в клетку.

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

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

Также вайтбордом полностью игнорируются типичные практики формирования этих мыслей. Например, я года два (в общей сложности) использовал PHP, но не знаю в точности его синтаксиса. Да и что там знать, он за всё это время поменялся несколько раз. Когда я пишу, подсознание автоматически мониторит подсказки от IDE и выхлоп компилятора, и в режиме test driven development выдает результирующий код. Проще перезапустить тесты и увидеть косяк, чем разбираться в нем с помощью своего мозга. Таким образом ноутбук с компилятором и IDE становятся частью мышления, самых базовых низкоуровневых рефлексов. Ты не думаешь как дышать и моргать. Ты не думаешь, когда нажимаешь кнопку "перезапустить тесты" или корректируешь подчеркнутое красным. Оно происходит само, совершенно отдельно от твоего сознания.

Что происходит, когда у тебя внезапно исчезает воздух? Случается паника, острая необходимость найти источник воздуха, совершенная неспособность что-либо делать без дальнейшего поступления воздуха. Точно такая же аника случается, если забрать у человека нормальную IDE типа Эклипсы и заставить писать код в vim или notepad.exe. Если вообще забрать ноут и заставить чертить рисунки на доске - то пиши пропало.

По сути, на собеседовании человека лишают основного его средства выражения мыслей (ноутбука), и заставляют писать какой-то немыслимой херней. Что же в этом плане могло пойти не так?
Людям, которые любят вайтборды, возьмете меня рекрутером? Только что придумал несколько забавных испытаний для соискателей:
а) Написание кода под водой, ногами на песке.
б) Написание кода под бутиратом.
в) Написание кода под ЛСД. Десять стандартных доз.
г) Написание кода на эстонском языке, сделав вид что это Java, и что в окружающем мире не выполняется транзитивность.
д) Написание кода кровью на обоях. Представляя себя Есениным. Сложность в том, что Есенин не умел кодить.
е) Методично избивать соискателя каждый раз, когда в голове забрезжит идея. Не давать глазам сфокусироваться.

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

ж) ну и на вайтборде рисовать, как же это можно забыть
Теоборос — «Носитель Слова», — он касается своей шляпы.

TLC: «Зиобе сказала, что один из вас, ветеранов, — психическая проекция. Это ты?»

Теоборос — «Психическая проекция. Интересно ты это называешь, Зи», — он поворачивается к Зиобе. «Мы все в той или иной мере проекции, разве не так?»

Он наклоняется: «Давай подумаем вот о чем... ты всегда выглядишь так, как я тебя представляю? Меняется...
Читать далее
... ли твое поведение от моих мыслей?»

TLC: «Да. Все зависит от формируемого образа. Может, я и изменю мнение».

Теоборос — «Итак, мои мысли формируют тебя. Но в полной ли мере? Если так, то ты мое воображение, а я — твое. Можно сказать, что мы суть единое сознание, субъективно воспринимающее само себя, а значит каждый из нас, и все мы вместе — психические проекции друг друга». Он медленно задумчиво вздыхает.

«Но мы ведь все равно отделены друг от друга, да? В какой‑то степени. Ты ведь существуешь и тогда, когда я на тебя не смотрю. Мне ведь вовсе неинтересно представлять кого‑то вроде тебя».

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

Даама из Цветения — Он закатывает глаза. «Ну вот, Зиобе. Теоборос снова за свое».

Теоборос — «Тихо ты. Сейчас я говорю».

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

Он смеется: «Я лишь хочу сказать, что я не проекция Зиобе. Послушай наши истории и докопаешься до правды. Своей правды.»
Посоветуйте современный стек технологий для реверсинга
(кейводы: бинари аналитика, логическая защита, легкая криптография, сетевые протоколы и всегда онлайн, реконструирование ценных алгоритмов и медиа‑контента)

Для начала, свободные/открытые аналоги IDA и PVS‑Studio. Которые еще и могут работать не только под винду, но и под линукс. И под 64 бита. Неплохо бы из асма какой‑то си‑подобный...
Читать далее
... псевдокод или прям си. А для поисковщика ошибок ориентацию на C++.

Гугл у нас общий, но там куча каких‑то полудохлых проектов, IDEшек на тикле 98ого года производства от одного вида которых задница перекусывает чугунный лом, какие‑то шеллскрипты для аппликух от которых уже и исходников не осталось... Вообще получасовое гугление протащило как будто по задворкам начала 2000х, хаос ужос и запустение. Я из Java и Javascript мира с няшными глянцевыми IDEшками, и все эти остатки ушедших в небытие цивилизаций создают тягостное ощущение..
Это пиздец, посоны. Всё, финиш, приехали. Точнее, приплыли. На двух яхтах с одинаковым именем сразу.

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

В общем‑то Олег — не настоящий...
Читать далее
... программист, просто повезло попасть в струю, достаточно уверенно играть роль, а зрители почему‑то продолжают смотреть (то ли глупые и не раскусили, то ли Олег просто достаточно забавно корячится). Но это не беда, от криво написанной кнопочки войны не случится.

Но вот по‑настоящему страшно, когда секретарь правительства — тоже не настоящий секретарь. Ну ведь не может же быть генсеком правящей партии человек, не могущий связать два слова? А премьер — не настоящий премьер. Ведь не может же быть премьером человек, пиздящий бабки как не в себя. Может быть, даже президент — не настоящий президент? Что за херня творится? Вся окружающая жизнь отдает стойким вкусом сладкого, свежеиспеченного фейка.

Олег не будет логически замыкать этот пост, потому что если даже генсек не может, то нам и подавно можно :-) (а пиздить яхты — нельзя!)

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

Дело в том, что формат общения программистов между собой основан на издевательствах, унижении, подколках, словоблудии, и бесконечном измерении своей крутости (в основном, по уровню денег, знаний в конкретных технологиях, итп). Ты...
Читать далее
... как будто участвуешь в непрекращающейся серии Зеленого Слоника.

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

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

По дефолту считается что любой технарь бесконечно психологически устройчив, но это не так.
Fuck this shit, I'm out.
Надо бы поспать часа два перед работой (подумал Олег, замечая, что левая рука без участия разума нашаривает чашку с уберкрепким чаем с сахаром)

alt
Гитхаб всё.

1 марта 2017 года в условия использования GitHub (секция D) были внесены пункты, которые несовместимы с требованиями атрибуции некоторых лицензий, таких как (A/L)GPL и CC-*-SA, а также с лицензиями, которые накладывают условия на использование. Лицензии MIT и BSD, возможно, не затронуты этим изменением. Проекты, которые используют несовместимые лицензии, нарушают условия использования...
Читать далее
... сервиса и должны быть удалены.

Вечерний Овервоч #52 - Бухать, Жахаться и смотреть Польский Артхаус

Когда иконка канала на YouTube не меняется и не обновляется

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

[видео]
Called DeepCoder, the software can take requirements by the developer, search through a massive database of code snippets and deliver working code in seconds, a significant advance in the state of the art in program synthesis.

https://mspoweruser.com/microsoft‑research‑developing‑ai‑put‑coders‑job/