Pull to refresh
-1
0
Send message

Как я делал рукоять затвора в стиле «биоморфизм»

Reading time12 min
Views15K

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

Читать далее
Total votes 39: ↑34 and ↓5+40
Comments55

Почему графику в видеоиграх по-прежнему так сложно создавать?

Reading time28 min
Views33K

Введение


В этом посте будут рассмотрены трудности и аспекты производства, которые нужно учитывать при создании новых методик и алгоритмов рендеринга/графики, особенно в контексте прикладных исследований рендеринга реального времени. Я буду рассказывать о своём личном опыте работы над Witcher 2, Assassin’s Creed 4: Black Flag, Far Cry 4 и God of War.

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

Я слышал вопросы типа «почему эта великолепная исследовательская методика X не используется в продакшене?» и от геймеров, и от коллег из научных кругов. На то всегда бывают очень веские причины!

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

Я вспоминаю об этой теме ещё и каждый раз, когда слышу дискуссии о том, что «фотограмметрия, трассировка лучей, нейронный рендеринг, [вставить любую другую новую тему] станет универсальным решением для рендеринга и заменит всё остальное!». Спойлер: этого не случится (по крайней мере, в ближайшее время).
Читать дальше →
Total votes 60: ↑60 and ↓0+60
Comments40

Типографика фильма «Чужой»

Reading time14 min
Views43K
image

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

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

Начальные титры «Чужого» — настоящий шедевр типографики. Можно посмотреть их целиком на сайте Art Of The Title. Если вкратце, их смысл таков: медленное, постепенное появление частей букв модифицированного шрифта Helvetica Black в течение 90 секунд раскрывает основную тему фильма.
Читать дальше →
Total votes 74: ↑73 and ↓1+99
Comments51

Плесени, гнили, токсины μ-скопических грибов

Reading time32 min
Views34K
Когда-то, давным давно в комментариях к моей статье, посвященной картофельному солонину, как из рога изобилия посыпались фотографии гнилого/плесневелого картофеля который люди покупают на рынках, в супермаркетах и т.п. А вместе с фотографиями и вопросы «это можно есть? как очистить ?». Уже тогда я понимал, что одними ответами на комментарии здесь не обойтись, тема гораздо более глобальна, чем может показаться. И вот недавно, в продолжение темы токсинов грибов, появился повод обсудить вездесущие микроскопические грибки, и то, с помощью чего они сражаются пытаются поработить мир — микотоксины. Статья по мотивам серии заметок в канале LAB-66 (оригинальная статья — Привет, ЕвроОпт! Оружие МИКРОгрибов). Как разрушить захватнические планы плесени — читаем под катом!

ПРЕДУПРЕЖДЕНИЕ! Статья не соответствует «тематике Хабра»!


Боишся микотоксина плесени? Заходи почитать!
Total votes 44: ↑36 and ↓8+39
Comments109

Взрывной элемент Agile

Reading time7 min
Views4.5K

Корпоративная (пред)история

Руководство одной  крупной полугосударственной компании, предоставляющей услуги населению, столкнулось с постоянным снижением доходов по нескольким направлениям из-за высокой конкуренции со стороны небольших частных компаний и низкой продуктивности собственного персонала. Генеральный директор принял решение о необходимости глубокой трансформации компании. В качестве пилотного участка был выбран один из филиалов компании, а в качестве методологии трансформации – Agile.

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

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

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

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments41

Видите глаза? А их нет

Reading time5 min
Views10K

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

Читать далее
Total votes 26: ↑23 and ↓3+28
Comments43

UUID версии 7, или как не потеряться во времени при создании идентификатора

Reading time7 min
Views34K

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

Хотя, подобные решения, не всегда хороши. В отличие от обыкновенных цифровых значений, которые легко кешировать и сортировать, UUID не так гибки в использовании. UUID версии 7 предназначен как раз для того, чтобы разобраться с подобными проблемами.

Добро пожаловать в мир сортированых UUID
Total votes 30: ↑29 and ↓1+36
Comments176

Оружие Высших грибов

Reading time15 min
Views82K
Замечателен тот факт, что грибы, распространенные в чрезвычайном изобилии, не смогли развиться. Это, можно сказать, выкидыши растительного мира.
(Анри Бергсон в кн. Творческая Эволюция)

Признаюсь честно, я сделал это под принуждением. Под принуждением подписчиков отвлекся от своих любимых растений и полез в грибную тему. Потому что «скоро осень»/«надо быть готовыми» и т.п. К счастью много писать не пришлось, так как с грибами все попроще и идентифицированных токсинов немного (но они достаточно ядрёны). Под катом небольшая статья, с описанием того, что на данный момент известно про отравляющие вещества Высших грибов. А где есть такая возможность, так и с упоминанием антидота при отравлении. На протяжении недели про грибы читали в LAB-66, теперь — читаем на хабре.
ПРЕДУПРЕЖДЕНИЕ! Статья не соответствует «тематике Хабра»!

Всякий гриб в руки берут, да не всякий в кузов кладут
Total votes 104: ↑97 and ↓7+120
Comments255

13 звуков и интервалов. Их восприятие и обозначение. Лады отклонения и модуляции

Reading time11 min
Views16K

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

Читать далее
Total votes 16: ↑12 and ↓4+10
Comments56

Как сделать магический шар на Three.js

Reading time9 min
Views8.5K

Конечно же, после смерти Flash веб не превратился в простую, скучную плоскость. К старту курса по фронтенду показываем, как при помощи Three.js и технологии WebGL создать магический шар с анимацией внутри объёма. Автор статьи не только опубликовал код на CodePen для удобной демонстрации, но и добавил на страницу ползунки, чтобы вы могли экспериментировать с шаром и сразу видеть результат. В конце вы найдёте ссылку на исходный код на Github и демонстрацию не на CodePen.

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments1

Стерео пост // Как сделать

Reading time2 min
Views5.5K

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

Для того, чтобы показывать дизайн своей игры с текстовыми параллакс-слоями, я решил использовать такую возможность Фейсбука, как 3D-изображения. Оказалось, что сделать их достаточно просто.

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments6

Как развитие алгоритмов сжатия остановилось 20 лет назад, или о новом конкурсе на 200 тысяч евро

Reading time18 min
Views72K

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

Пост набрал 206 «плюсов», вышел на 2 место топа недели и вызвал оживленную дискуссию, в которой мне больше всего понравился комментарий: «Коммерческого интереса эффективность по сжатию алгоритмов сжатия без потерь сегодня не представляет, в силу отсутствия принципиально более эффективных алгоритмов. Деньги сегодня — в сжатии аудио-видео. И там и алгоритмы другие. Тема сжатия без потерь удобна именно лёгкостью верификации алгоритма, и не слегка устарела. Лет на 20.» 

Поскольку я сам уже 20 лет в области сжатия видео, с ее бурным развитием мне спорить сложно. А вот что сжатие без потерь развиваться перестало… Хотя логика тут понятна каждому. Я до сих пор пользуюсь ZIP, все мои друзья пользуются ZIP с 1989 года — значит, ничего нового не появляется. Так ведь? Похоже рассуждают сторонники плоской земли. ))) Я не видел, знакомые не видели, и даже некоторые авторитеты утверждают, значит, это так! 

О том, как Intel просили меня не прекращать читать курс по сжатию, ибо людей нет новые алгоритмы делать, я в прошлый раз писал. Но тут и Huawei в ту же дуду дует! Вместо того, чтобы раздать призы и должности победителям, а затем успокоиться, поскольку развитие давно встало, эти эксцентричные люди посчитали конкурс крайне успешным и запустили новый с призовым фондом 200 тысяч EUR.

Развивались ли алгоритмы сжатия без потерь в последние 20 лет? Чем закончился прошлый конкурс и на сколько опередили baseline? Сколько денег получили русские таланты, а сколько зарубежные? И есть ли вообще жизнь на Марсе в сжатии без потерь? 

Кому интересно — добро пожаловать под кат! 
Читать дальше →
Total votes 198: ↑197 and ↓1+255
Comments134

Вопрос на засыпку

Reading time4 min
Views9.6K

– Здравствуйте, @*! Спасибо, что согласились поговорить со мной!

– Саша, я к вашим услугам. За миллион долларов в секунду я с вами хоть все десять минут, пока держит канал.

– Времени мало, предлагаю писать кратко, чтобы больше успеть. Хорошо?

– Кнчн

– Ну можно и не так коротко)) Интересует производство Жемчужин сознания. Хочу построить фабрику.

– Это ДОРОГО

– Понимаю, @*, но я получил большое наследство. Как вообще делаются жемчужины сознания?

– Исходный объект подвергается сильным перегрузкам и облучению. В результате несколько сот тонн сжимаются до шарика в 10 грамм.

– Исходный объект - что это?

– Это мозг местных созданий, похожих на китов. Я так их и называю - *киты.

– Ох, блин! Это же не этично — делать товар из живых существ! Мне что, придется их убивать?? Интересно, каким оружием...

– Они уже мертвы. Первая экспедиция занесла инфекцию, которая моментально убила всех *китов.

– А они там... не испортятся, плавая в воде?

– Тут не вода, а жидкий метан. Его температура: -170 градусов по Цельсию. Трупы сохраняются вечно. Собственно *киты — бессмертны. Были.

– Ясненько! Т.е. мне надо просто вылавливать трупы, потом крутить на какой-нибудь центрифуге для перегрузок и облучать. Все? Звучит не сложно.

– Еще нужна медицинская клиника для пересадки жемчужины сознания в мозг человека.

– Так вроде вставил — и все.

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

Читать далее
Total votes 40: ↑34 and ↓6+39
Comments36

Шпаргалка по метрикам производительности cURL: как измерить задержку сервера

Reading time8 min
Views23K


Эту шпаргалку я написал в первую очередь, потому что был несколько озадачен, когда в течение более, чем 10 минут пытался найти в Google значение time_pretransfer. Попробуйте сами, я подожду. Это настоящая загадка!
Читать дальше →
Total votes 37: ↑36 and ↓1+54
Comments5

Алгоритм Краскала, Прима для нахождения минимального остовного дерева

Reading time4 min
Views93K

Привет, Хабр!
В свободное от учебы время пишу статьи, которых мне не хватало несколько лет назад.

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

Читать далее
Rating0
Comments7

Делаем сервер из Android-телефона

Reading time8 min
Views123K

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


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


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат
Total votes 99: ↑98 and ↓1+128
Comments97

Пишем первый плейбук Ansible

Reading time10 min
Views70K

Статья подготовлена на основе уроков из открытой темы "Установка LEMP стека с помощью Ansible" курса по Ansible от Слёрм. Автор – Всеволод Севостьянов, Lead Engineer в Vene.io (Affiliate marketing solution). Первые две темы курса доступны на Youtube.

Материал этого урока будет интересен тем, кто разобрался с установкой Ansible и готов написать свой первый плейбук. Результатом будет плейбук, устанавливающий nginx на удалённой машине.

Читать далее
Total votes 13: ↑12 and ↓1+13
Comments5

Создание игровых карт на основе диаграмм Вороного

Reading time6 min
Views9.2K
Я написал статью о генерации полигональных карт при помощи диаграмм Вороного, но не объяснил, как писать её код. В этой статье я расскажу об основах создания вот таких карт с примерами кода на Javascript:


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

  1. симплекс-шум: jwagner/simplex-noise.
  2. Вороной: mapbox/delaunator.

Если вы не работаете с Javascript, то для большинства языков тоже существуют библиотеки шума, а Delaunator был портирован на многие языки.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments1

Как я чуть не лишился должности после весёлого переезда компании в новый офис и организовал микросотовую систему

Reading time13 min
Views17K

Привет, Хабр! Меня зовут Александр. На первый взгляд, я типичный инженер в малоизвестной аутсорсинговой организации по обслуживанию IT-инфраструктуры компаний. Управляю небольшим отделом техподдержки и веду переговоры с заказчиками. У нас самая обыкновенная фирма: три филиала в разных городах, два программиста, отдел техподдержки. Помимо обслуживания компьютерных систем, мы занимаемся внедрением IP-телефонии и её интеграцией с CRM-системами.

У меня есть вроде как обычная хабраистория. Когда-то я работал руководителем IT-подразделения в автосалоне и невольно стал участником переезда компании в новый офис. На новом месте мне удалось внедрить такую схему, что сотрудник мог с одной DECT-трубкой перемещаться по всей территории предприятия (площадью более 3000 кв. м) и оставаться на связи. И я этой обыкновенной хабраисторией хотел бы поделиться.

Однако есть и во мне, и в моём проекте нечто такое, что на Хабре очень не любят. Один недостаток, который превращает всё в... Впрочем, мой каминаут будет под катом.

Читать далее
Total votes 49: ↑23 and ↓26+13
Comments27

Знакомство фронтендера с WebGL: четкие линии (часть 3)

Reading time5 min
Views4.3K

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

Пишем свой парсер и погружаемся в некоторые функции webGL для красивых линий.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments1

Information

Rating
Does not participate
Registered
Activity