Вот интересно было бы иметь камеру где-нибудь в торце телефона, чтобы можно было бы снимать более-менее скрытно.

Вот интересно было бы иметь камеру где-нибудь в торце телефона, чтобы можно было бы снимать более-менее скрытно.

По поводу Гренландии трампу надо сказать, что в случае сделки Маск туда переедет со своей Теслой. Грин лэнд ж
10 лет в EPAM.
Никогда бы не подумал, что мне будет в кайф работать на одном месте целое десятилетие. В чем секрет? В EPAM я не застаиваюсь: проекты сменяют друг друга, не давая заскучать.
Сейчас я на проекте в компании-гиганте: более 100 тысяч сотрудников и выручка за 30 миллиардов долларов. До этого был автопром — махина со штатом в 175 тысяч человек и оборотом в 150 миллиардов. Где-то around был контракт с компанией на 80 тысяч сотрудников и 35 миллиардов дохода. Настоящие масштабы и по-настоящему серьезные вызовы. А еще раньше были косметические бренды, биотех и «нефтянка». В общей сложности — больше 20 проектов самого разного калибра. При том, что у меня была более чем 100% загрузка каждый день. И еще у меня в этом году, кажется, было больше отпуска, чем обычно, но все равно меньше, чем я мог бы взять. Съездил в Коста-Рику, Мексику, Сиеттл, Анталию.
Суть в том, что на каждом новом месте ты учишься чему-то, иногда с нуля. И это чертовски круто. Это дает гораздо больше энергии, чем если бы я «врастал корнями» в любую из этих корпораций на все 10 лет. Возможно, с чисто финансовой точки зрения люди, осевшие в одном месте в этих компаниях, заработали больше меня, но деньги — не приоритет, если ради них приходится жертвовать интересом и азартом. Прожигать жизнь на работе, от которой ты смертельно устал — сомнительное удовольствие.
Прошлый год в EPAM выдался максимально интенсивным, и я искренне надеюсь, что 2026-й не будет сбавлять обороты.

Как неожиданно оказался полезен Gemini в простой задаче — сделать качественный PDF из превью низкого разрешения. Использовался Nano Banana Pro, то есть, на выходе не вектор, а растр. Посмотрите на разницу. Очень часто там невозможно даже разглядеть текст, поэтому из time out он сделал time dute;-). Но в целом неплохо


У Veritasum вчера вышел очень крутой репортаж из ASML про оборудование, на котором печатают чипы для ваших телефончиков, фотиков и лэптопов.
Кто не в курсе процесса. Сначала из сверхчистого кремния выращивают монокристалл и разрезают его на тонкие пластины, затем на поверхность пластины многократно наносят тончайшие слои диэлектриков, проводников и полупроводников, каждый раз формируя нужные участки с помощью фотолитографии, травления и ионного легирования, в итоге получаются миллиарды транзисторов и соединяющих их металлических дорожек, а в финале пластину тестируют, разрезают на отдельные кристаллы и упаковывают в корпуса, превращая их в готовые микросхемы.
У этого процесса было ограничение — ширина дорожки и расстояние до соседней ограничено длиной волны используемого света, а сокращать ее сложно, потому что нечем такой поток фокусировать — линзы просто поглощают/отражают все. В EUV-литографии (экстремальный ультрафиолет) длина волны составляет 13,5 нм. Это практически мягкое рентгеновское излучение.
Вот в видео рассказываются детали про машину ASML ценой 400 миллионов долларов. Вместо преломляющих линз используются сложнейшие системы отражающих зеркал. Эти зеркала — самые гладкие поверхности, когда-либо созданные человечеством. Если увеличить зеркало этой машины до размеров Земли, то самый большой бугорок на нем будет не толще игральной карты. Чтобы зеркало могло отражать рентген, на него наносят до 76 чередующихся слоев вольфрама и углерода толщиной менее нанометра каждый. Это все делает Zeiss. Кроме этого, это зеркало имеет управляемую кривизну — оно постоянно корректируются роботами с точностью до пикорадиан. Точность управления зеркалом настолько высока, что если бы на нем был закреплен лазер, направленный на Луну, система могла бы выбирать, в какую именно сторону монеты достоинством в 10 центов, лежащей на лунной поверхности, попасть лучом.
Но. У нас нет «лампочки», которая светит в EUV-диапазоне.
Чтобы получить этот свет, лазер «выстреливает» в каплю расплавленного олова размером с белую кровяную клетку, которая летит со скоростью 250 км/ч. Первый импульс сплющивает каплю в блин, второй и третий — превращает «блин» в плазму — и все это в течение всего 20 микросекунд. При попадании лазера капля нагревается до 220 000 Кельвинов — это примерно в 40 раз горячее поверхности Солнца. Эта плазма и излучает тот самый нужный свет. И это происходит 50 000 раз в секунду. Говорят, уже довели до 100000. Прикиньте, при сотне тысяч выстрелов лазера в секунду она не промахивается ни разу. Все это происходит в глубоком вакууме. Чтобы очистить зеркала от частиц олова, камеру постоянно продувают водородом со скоростью 360 км/ч — это быстрее урагана 5-й категории. Этот процесс описывается той же формулой (Тейлора — фон Неймана), что и ядерный взрыв или взрыв сверхновой звезды.
Машина накладывает слои чипа друг на друга с погрешностью не более пяти атомов, при этом матрица двигается туда-сюда с перегрузкой 20G.
Одну машину High-NA перевозят в 250 контейнерах на 25 грузовиках и семи самолетах Boeing 747.
Ссылочка на видео — в комментариях. Или ищите на Youtube на канале veritasium.

Вот кстати быстрая запись с экрана, как работает мое приложение по созданию и визуализации волейбольных схем.
Детали реализации тут:
Чем я занимался в самолете в/из отпуска и иногда между и после: 3D-визуализация и редактор волейбольных схем для Нади (она — тренер). Этот корт на приложенном изображении свободно вращается, на нем могут быть поставлены игроки, и указан путь мяча и игрока — все в 3D.
Траектория мяча рассчитывается так, чтобы мяч не пересекал сетку при движении из A в B (формула Безье). Игроки могут принимать несколько поз — прямо сейчас есть наспех сделанные позы serve, attack, block, pass/receive. Кстати, из интересного в коде: пришлось прописать немного «волейбольных мозгов». Система сама считает траекторию мяча через кривые Безье так, чтобы он всегда проходил над сеткой. Причем высота вылета зависит от типа действия: для атаки мяч «вылетает» с более высокой точки, чем а для паса. Еще добавил авто-разворот: 3D-моделька сама поворачивается лицом туда, куда она по схеме должна пасовать или бежать.
Дольше и сложнее всего было сделать 3D-модель волейболистки. Для генерации реалистичной волейболистки я использовал сервис tripo3D. Он мне выдал модель в нейтральной позе (бесплатно выдал). Теоретически дальше с помощью Blender и плагина Rigify можно прицепить к ней armature и двигать руки-ноги, за которыми будет пересчитываться модель.
Однако в реальности такой подход не срабатывает: сгенерированная ИИ модель содержит большое количество геометрических ошибок, которые прощает рендер, но не прощает Rigify. Их можно условно разделить на два вида — неверные нормали полигонов и проблемы с немногообразной (non-manifold) геометрией, которые исправлять значительно сложнее. Внутри корпуса могут «плавать» невидимые кластеры полигонов или пересекающиеся поверхности. Когда Rigify пытается рассчитать веса (какая кость на какую часть кожи влияет), этот внутренний шум сбивает алгоритм с толку, и в итоге веса распределяются хаотично (например, движение руки может начать тянуть за собой сетку на животе). Плюс модель немного не симметрична.
Non-manifold — это ошибка геометрии, при которой топология объекта перестаёт быть корректной с точки зрения трёхмерного тела: рёбра могут принадлежать более чем двум полигонам, полигоны могут соприкасаться только вершинами или рёбрами без общего объёма, внутри модели появляются «висящие» поверхности или нулевая толщина. Такая геометрия формально не описывает замкнутый объём, из-за чего возникают проблемы с риггингом и деформациями. Кроме этого, нужно упростить модель, потому что для рендера в реальном времени в браузере миллионы полигонов не нужны.
Я исправлял это с помощью MashLab, попутно дорабатывая «напильником» (руками). В итоге получается модель, чуть-чуть отличающающаяся от исходной почти везде. На исходной же модели нацеплена «кожа» в виде текстуры — лицо, майка, шорты должны быть раскрашены. Как все это перенести на упрощенную модель? Для этого есть специальная операция в Blender, называется Baking. Там тоже шаманство. В итоге неидеально перенеслось, но идеально пока и не нужно.
Дальше привязываем арматуру к «суставам», и через часа три разбирательств, почему все работает не так, как должно, оно все-таки заработало. Я сделал четыре позы, и теперь каждому кружочку (игроку) можно указывать в какой позе он стоит.
Еще нужно будет сделать динамическую смену раскраски формы — это не должно быть сложно. Есть еще идея переносить позу с фотографии — это посложнее, но в целом реалистично. С помощью MediaPipe/AlphaPose можно детектировать ключевые точки в 2D, затем с помощью каких-нибудь моделей типа HMR/HybrIK можно «поднять» плоские координаты в 3D-пространство, выдавая относительные углы поворота суставов. Полученные данные можно попробовать спроецировать на Rigify-скелет. Поскольку пропорции сгенерированной волейболистки и человека на фото могут не совпадать, как раз и используется Inverse Kinematics (IK). Это довольно сложная часть, но в целом она уже не очень обязательная — просто интересно разобраться и сделать что-то работающее.
Видео в комментах



Как мы встретили новый год? В пустом кинотеатре на Avatar IMAX 3D.
CGI просто потрясающий. Серьёзно, это, возможно, самый фотореалистичный фильм в истории с точки зрения компьютерной графики. Детализация отдельных лиц — временами я готов был поклясться, что смотрю на человеческие лица, покрытые краской (и это комплимент). И ещё там очень много всего происходит на заднем фоне. Или нужно на IMAX и желательно в 3D, потому что это один из немногих фильмов, где технология imax 3D используется не в отдельных сценах, а вообще везде.
Главная злодейка Varang там просто потрясающая. Каждый раз, когда она появлялась в кадре, она перетягивала внимание на себя. Несмотря на CGI, они идеально передали все сложные эмоции её персонажа. Её сделали реально беспощадной, сексуальной и опасной. Клёво получилось.
Хронометраж в три часа очень густо наполнен экшеном, там практически нет сцен, где хочется позевать.

Сажусь в самолёт и задумался, а как авиакомпании разделяют излишне тучных людей от ещё недостаточно тучных, и как они заставляют первых платить в два раза больше. И как м это вообще дружит с политикой всеобщего равенства и единых возможностей. Проблема вызывает «антропометрический диссонанс» — за последние десятилетия средняя ширина кресла в самолетах сократилась с 47 до 43 см, в то время как средний вес пассажиров значительно вырос. В итоге, выходит жесткая классификация пассажиров на «обычных» и официально признанных «пассажирами крупной комплекции» (Customer of Size — CoS).
.
Главным техническим критерием, разделяющим эти категории, является «правило подлокотника». Если тело человека выступает за внешнюю границу опущенного подлокотника более чем на 1 дюйм (2,5 см), он официально признается «негабаритным». Неспособность полностью опустить подлокотник без боли для себя или дискомфорта для соседа является основанием для требования выкупить второе кресло.
.
До 2025 года авиакомпания Southwest Airlines считалась «золотым стандартом» для крупных людей, позволяя бесплатно занимать второе место. Однако с 27 января 2025 года правила изменились: теперь такие пассажиры обязаны покупать второе место заранее при бронировании. Если человек этого не сделал и самолет оказался полон, ему могут просто отказать в посадке и предложить перебронировать билет на другой рейс, где будет два свободных места рядом.
.
Финансовые риски теперь почти полностью лежат на пассажире. Согласно новой политике 2025 года, возврат средств за дополнительно купленное место возможен только в том случае, если рейс вылетел не полностью заполненным. Учитывая, что средняя загрузка самолетов сегодня составляет 85–90%, вероятность того, что деньги за «кресло для комфорта» не вернут, крайне высока.
.
В мире существует «географическая лотерея» прав пассажиров. В Канаде действует уникальная доктрина «Один человек — один тариф» (1P1F), закрепленная судом. Там ожирение признано «функциональной инвалидностью», поэтому на внутренних рейсах авиакомпании обязаны предоставлять второе место бесплатно, если пассажир предоставит медицинскую справку. В США и Европе таких льгот нет, и комфорт считается коммерческой услугой.
.
Технически, есть ещё правило ремня», которое является вторым по значимости (после правила подлокотника) и служит своего рода «юридическим и техническим барьером». Типа каждый пассажир обязан быть пристегнут во время руления, взлета и посадки. Если ремень не застегивается, пассажир физически не может находиться в кресле. Мол, это не вопрос комфорта, а вопрос законности нахождения на борту. Если стандартной длины ремня не хватает, пассажир имеет право попросить удлинитель (seatbelt extender). Обычно он добавляет от 25 до 60 сантиметров. Сам факт просьбы удлинителя часто фиксируется бортпроводниками как маркер «пассажира повышенной комплекции». Это критический момент. Большинство авиакомпаний мира официально запрещают использовать два удлинителя одновременно. Если человеку не хватает длины одного стандартного ремня плюс одного удлинителя, он признается «негабаритным» для данного типа кресла. В этом случае авиакомпания имеет полное право снять его с рейса или потребовать покупки второго места, так как безопасность не может быть обеспечена.
.
Безопасность полетов — основной аргумент авиакомпаний при введении ограничений. Согласно нормам EASA и FAA, полная эвакуация самолета должна занимать не более 90 секунд. Крупный пассажир, который физически не помещается в кресло, может заблокировать проход или замедлить движение других в экстренной ситуации, поэтому им запрещено занимать места у аварийных выходов.я лично думаю, что это просто красивая причина не тратить лишние деньги.
.
Идентификация «слишком толстых» пассажиров часто происходит прямо в салоне. Бортпроводники имеют право потребовать от человека пройти «тест на подлокотник» при свидетелях. Если обнаружится «вторжение» в пространство соседа, приоритет всегда отдается тому, кто помещается в свое кресло, а пассажира CoS могут снять с рейса ради комфорта окружающих.

Офигеть, они реально думают, что «мы» 19 лет вместе и для меня это new achievement.
