Это настолько просто сделать, что я даже не понимаю как вообще об этом можно написать полноценную статью. Весь туториал можно уместить буквально в один комментарий под постом, т. к. тут нет чего-то сверхтяжёлого.
https://steamclub.net
Микрочиповое граффити, или Чип-арт
Привет, Хабр!
Приглашаю вас в увлекательное путешествие в удивительный мир микрочипового граффити. Приготовьтесь к встрече с настоящими шедеврами, скрытыми от посторонних глаз в самом сердце электронных устройств. Поговорим о феномене чип-арта, его истории, технических аспектах и о том, какое место он занимает в современной технологической культуре.
Пишем за неделю 3D-редактор на C
Вот, как он выглядит:
Майк Вазовски!
3D-редактор
Я ненавижу тормознутость компилятора Typescript (поверьте, это относится к теме статьи). Джем показался мне подходящей возможностью реализовать более быстрое подмножество Typescript, обгоняющее по скорости
tsc
. Мне показалось, что проект можно реализовать, если начать с парсера Typescript esbuild or Bun. Но потом ко мне пришло понимание, что успешный результат будет выглядеть как команда терминала, выполняющая работу быстрее другой. Не особо впечатляюще в качестве демо. Мне хотелось создать крутое демо, поэтому я выбрал 3D.Задача трёх тел (не китайская нефантастика)
Однажды, выполнив в Гугле запрос "Three body problem" ("Задача трёх тел"), я был просто поражен - первая страница результатов состояла только из ссылок на роман китайского писателя-фантаста Лю Цысиня с соответствующим названием, а также на телесериал, снятый по этому роману, т.е. ссылок на собственно задачу трёх тел не было вообще! Мне это показалось удивительным и несправедливым, поскольку сама по себе задача трёх тел тоже может выглядеть увлекательной в популярном изложении. В этой публикации я постарался привести некоторые доказательства этого утверждения.
Два слова о процедурной графике
Среди многочисленных демосценерских конкурсов, которые традиционно входят в программу различных demo party, незаслуженно недооценённым, на мой взгляд, является конкурс процедурной графики (procedural graphics). Смысл этого специфического вида компьютерного творчества — формирование статичного изображения при помощи короткой программы. Стандартные ограничения на размер — 4кб, 1кб, 256 байт.
Связана недооценка, думаю, с тем, что конкурс одновременно не вполне понятен как тем, кто любит демки (поскольку процедурная графика статична), так и тем, кто любит картинки (т.к. процедурная графика не позволяет нарисовать что хочешь). И всё же, его популярность хоть и медленно, но растёт.
Первые работы во многом были вызваны интересом к теме трассировки лучей (raytracing). Сам по себе алгоритм довольно простой, но требует много вычислений, поэтому работы стали возможны, когда распространились компьютеры с, во‑первых, достаточно высокой производительностью и, во‑вторых, с достаточным количеством отображаемых цветов (или, хотя бы, градаций серого). Я порылся на pouet и нашёл одну из первых работ в категории «procedural graphics» — Digital Phantasy by EG:
FreeRTOS: введение
Здравствуйте. В короткой серии постов я постараюсь описать возможности, и подходы работы с одной из наиболее популярной и развивающейся РТОС для микроконтроллеров – FreeRTOS. Я предпологаю базовое знакомство читателя с теорией многозадачности, о которой можно почитать в одном из соседних постов на Хабре или ещё где-то.
Ссылки на остальные части:
FreeRTOS: межпроцессное взаимодействие.
FreeRTOS: мьютексы и критические секции.
Автомашинист. Intel Atom водит поезда
Нетрудно догадаться, что, как и прочие приборы, использующиеся на наших поездах, система автоведения не остановилась на форм-факторе «коробочка с люминесцентным индикатором». В новых версиях использовалось более мощное железо и более интересная периферия. Мне всегда хотелось заполучить на опыты и такой блок. И вот мне удалось это сделать, так что самое время посмотреть, как он устроен и чем отличается от предшественников.
Итак, в сегодняшней статье поговорим про устройства автоведения ещё более поздних версий, нежели я показывал ранее. Узнаем, что у них внутри и на какой операционной системе они работают. Традиционно будет много интересного.
Как американская коррупция превратила физика-ядерщика в быдло-кодера
Это история из цикла «как войти в IT», написанная старпером, ветераном броуновского движения, который помнит динозавров. Поэтому его опыт вхождения в ИТ никому не пригодится, но представляет интерес с точки зрения истории.
Также поделюсь своим мыслями об интерфейсе инженерного ПО. Участвуя в разработках различного ПО, предназначенного для ускорения разработки сложных систем, периодически приходится выслушивать жалобы от новых пользователей на «кривой и устаревший» интерфейс ПО. Однако инженеры, погруженные в проблемы проектирования реальных железок, вообще не задают нам таких вопросов, либо потому, что уже искривили свои руки о кривой интерфейс, либо им это вообще неважно. Более того, есть два примера, когда реальные высокопрофессиональные инженеры в своей области предъявляли претензии обратного свойства, и первая версия кривая версия GUI была удобнее, а вот улучшения делали какие-то полупокеры.
К написанию данного текста меня подтолкнула беседа с одним из крутых разрабов из «жирной» конторы, с которым мы пересеклись на яхте в Средиземном море. Узнав, что я тоже из Бауманки, и у меня свой бизнес, он заинтересовался и выспрашивал. Как я смог начать бизнес на софте, почему не пошел в большую контору, типа Yandex, Сбер и прочие. У него тоже знакомство с софтом началось как создание собственной разработки по анализу результатов металлургических испытаний в лаборатории, но закончилось работой прогером по найму. Попивая вино на яхте где-то между Турцией и Грецией в 2023 году, он предположил, что, возможно, если бы он продолжал писать софт для металлургических исследований, то, наверное, сейчас мог плавать на своей яхте, а не арендованной, и не около Турции, а на Карибах (но это не точно). А поскольку фарш невозможно провернуть назад, я решил описать свою историю успеха, так как она забавна и поучительна.
Самое бессмысленное обучение: почему благодаря школе и вузу вы «застряли» в болоте
Я просыпался. Открывал глаза и с тоской думал, что опять надо ехать на работу. Она казалось мне бессмысленной, выматывающей, но, увы, безальтернативной. Как сменить ее на что-то еще — я не знал. Чем хочу заниматься — не знал. Я жил с чувством, что влип в нелюбимую работу навсегда. Чувствовал, что застрял, но не подозревал, что выход из болота находится совсем не там, где я предполагал.
Как рос мой доход в IT: от 17к до $21000 в месяц
Подробно рассказал про каждое место работы, что делал для увеличения дохода, за что увольняли. Дал советы, как тебе достичь этой цели более коротким путем, не допустив моих ошибок.
Физический смысл метрического тензора
В специальной (СТО) и общей (ОТО) теориях относительности широко используется понятие метрического тензора (метрики). В разных источниках можно найти несколько определений этого понятия, но все они страдают общим недостатком -- крайней математизированностью. Для людей с математическим складом мышления, уже когда-то понявшими, что такое метрический тензор, приводимые в литературе определения, вероятно, представляются ясными и очевидными. Но они не помогают, а, напротив, лишь затрудняют постижение сути этого понятия человеку с обыденным мышлением, впервые с ним столкнувшимся. Дело в том, что математические определения не раскрывают физического смысла метрического тензора, то есть, не позволяют представить его роль и место в физическом мире.
В этом тексте мы попытаемся изложить смысл метрического тензора с физической, даже обыденной точки зрения, не выходя при этом за пределы простой математики.
Цель, ради которой метрику и метрический тензор ввели в научный оборот, -- желание описать любое пространство с помощью математических формул. Как это можно сделать? Для начала представим две бесконечно близкие точки 1 и 2 в обычном евклидовом пространстве. Будем считать, что мы перемещаемся из точки 1 в точку 2 по кратчайшему пути. В таком случае расстояние между точками определяется длиной вектора ds, проведённого из точки 1 в точку 2.
В частном случае прямоугольной декартовой системы на плоскости квадрат длины вектора ds2 рассчитывается по теореме Пифагора по значениям координат dx1 и dx2:
О контра- и ковариантных тензорах
Записки «чайника», травмированного тензорным исчислением
Тема, заявленная в названии, пожалуй, самая запутанная в тензорном исчислении. Высокоучёные авторы мудрых книг в большинстве случаев ограничиваются только формальными определениями понятий ко- и контравариантности, не опускаясь до подробного пояснения их геометрической и физической сути. Похоже, в этом вопросе они сознательно или бессознательно воспроизводят ситуацию, характерную для квантовой физики: «Не старайтесь понять, просто считайте!». Но если в квантовой физике подобный подход безальтернативен, то в данном случае – вряд ли.
Подзаголовок даже комплиментарен для меня, поскольку в своём восприятии математики я даже не «чайник», а, скорее, «валенок». По этой причине мне очень хорошо понятны проблемы «чайников», с которыми они сталкиваются в попытках постичь математические абстракции. Поэтому материал предназначен не для «продвинутых», они и без меня разберутся, а для… В общем, для таких же, как я, «задвинутых» в математике (только в ней!). При этом предполагается хотя бы «шапочное» знакомство с тензорным исчислением.
Математика остаётся непонятной для многих потому, что нам её объясняют люди, которые понимают её на интуитивном уровне, или, выражаясь более изящно, «на уровне интуитивных образов» [1-7 ≡ Л.1, с. 7]. Нам же, нематематикам, для того, чтобы что-то понять, надо это «что-то» увидеть не в абстрактном («интуитивном»), а в реальном, физически представимом пространстве (по-научному это – «визуализация») или, ещё лучше, поковырять его пальцем (научный термин пока еще не придумали. Открыт приём предложений).
Криптография и другие вычисления на детских логических машинах
Электрическая игрушка "Детская логическая машина" (ДЛМ) представляет собой устройство, позволяющее решать несложные логические задачи про приведённым в настоящей инструкции рисункам и описаниям программ.
ДЛМ способна отвечать на вопросы, решать поставленные перед ней задачи, быть партнёром в играх и даже экзаменатором.
На коробке предупреждение, что игрушка только для детей 13-15 лет. Читайте статью с осторожностью, если не попадаете в указанный диапазон.
Plane-based геометрическая алгебра для описания движения тел
Этот текст логически состоит из трёх частей. Сначала кратко расскажу про геометрическую алгебру с точки зрения математики. Потом расскажу как можно взять одну конкретную алгебру и использовать её для описания вращения и перемещения тел. И вишенка на торте - покажу, как будут выражаться физические сущности типа силы и момента, импульса, момента инерции и уравнений движения тел.
Картины маслом космос киберпанк фантастика и как их превратить в NFT
Недавно я размещал свой арт, обычные картины маслом на космическую и киберпанк тематику в соцсети Reddit, и ко мне обратился человек, представившийся соучредителем bitnifty. Он сказал, что это организация (скорее всего только начинающая), которая позволяет художникам по всему миру получать постоянный доход, облегчая продажу оригинального искусства как NFT. Оригинального, то есть обычного - картины маслом на холсте, из палок, бисером вышитые и тому подобное.
Я мог бы на это ответить спустя пару минут раздумья нечто вроде ээээ.. или мммм.., но что-то мне подсказало забить в поиск Хабр nft и я был просвещен.
Действительно, почему бы и нет. Сегодня любой удачный арт, созданный не в диджитал формате, а на бумаге, холсте или как-то иначе, в конечном итоге превращается в пиксели, распространяется по сети и вполне может стать мемом. Даже у меня есть такие, но тут не покажу по этическим и другим соображениям. В итоге, где бы и чьей не была оригинальная картина, в сети есть ее электронная версия, которую каждый пользует как хочет если на нее не установлены авторские права.
И какая действительно разница какой это арт - диджитал или оригинальный, если перед вами просто img? Для nft разница есть. У оригинального арта существует физический носитель.
Следовательно, чтобы он смог стать полноценным nft, физический носитель должен быть уничтожен как это сделал Бэнкси со своим произведением при помощи встроенного в него устройства сразу после продажи на аукционе. То есть, теоретически, обычный художник может создать nft. Но лично я могу кромсать свои картины сколько угодно чтобы продать их как nft и в итоге остаться с кучей мусора если они не стали реальным мемом.
ИТ — сам себе профсоюз
Как-то меня зацепила статья Зачем вам нужен профсоюз? в которой от лица работников ИТ-отрасли стран СНГ пропагандируется организованная форма саботажа воздействия на работодателя, как единственный способ решения проблем между работниками и собственниками бизнеса.
Зацепила в первую очередь тем, что я успел побывать на каждой из сторон подобного противостояния и неоднократно приходилось вмешиваться и разруливать различные проблемы. Причем "разруливать", это не только объяснить сотруднику в чем он был не прав, но и показать руководству, что так делать не стоит и давайте попробуем вот-так, чуть по другому.
И ни одном случае ни разу не было ситуации, когда забастовка помогла бы в разрешении кризисной ситуации. Потому что забастовка, это "Ultima ratio", последний довод, и он хорош только в виде аргумента, до использования которого дело не дойдет. Но если уж дошло, то можно со 100% уверенностью готовить заявление на увольнение, потому что у работодателя достаточно способов не нарушая закон избавиться от подобных неадекватных сотрудников.
Сложная красота в простой формуле
Красота генеративного искусства состоит не только в неожиданных и сложных образах, порождаемых простыми алгоритмами, но и в том, что их можно изучить, понять и объяснить. Как известно, объяснение способно убить шутку, но настоящую красоту внутренняя логика делает только богаче.
Сегодня я предлагаю вспомнить один старый и простой алгоритм, рисующий красивые картинки, который когда-то вовлёк меня в программирование и увлёк математикой. А заодно мы немного разберёмся в том почему картинки получаются именно такими.
Демо City In A Bottle – система рейкастинга в 256 байтах
Привет всем любителям size coding, сегодня я расскажу о чём-то потрясающем: крошечном движке трассировки лучей (raycasting) и генераторе города, умещающихся в автономном файле HTML размером 256 байтов.
В этом посте я поделюсь секретами работы этой волшебной программы. Возможно, вы уже видели этот пост в моём Twitter. После публикации два года назад он стал самым популярным моим твитом.
В этой потрясающей программе используется множество разных концепций, а их разбор похож на решение головоломки. Программа состоит из нескольких основных частей: html-кода, цикла обновления кадра, системы рендеринга, движка рейкастинга и самого города.
Возможно, вы подумаете, что для распутывания этой загадки необходима сложная математика, но на самом деле это не так, сам код довольно прост и в нём используется простейшая алгебра, даже без тригонометрических функций. Впрочем, там есть несколько трюков, позволяющих создать впечатляющий результат.
Почему для меня так важен алгоритм CORDIC
CORDIC — это алгоритм для вычисления тригонометрических функций вроде
sin
, cos
, tan
и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».
Матрицы Паули. Просто. Для обычной физики и графики
Давно хотел я написать про матрицы Паули. Но каждый раз, когда я читал очередную чисто научную статью на схожую тему, задавал простой вопрос: "Дружище, ты за что так не любишь людей?". Поэтому во-первых статья в жанре "научно-популярный кейс", во-вторых из изначальной идеи статьи долго исключал все, что возможно, из лишнего и труднопонятного.
В-третьих, основной рецепт во введении, на первой же странице.
Мне не нравится, когда от букв в глазах рябит, или много не нужного лирического текста, или не очень понятно, где же практически полезный рецепт и линия повествования. Поэтому в основном тексте только суть, а все подробности кейса убраны под кат, для тех читателей, кому нужны подробности, а не простота.
Все что ниже, наверное, у кого-то опубликовано, но мне лично не попалось. С одной стороны, к моему сожалению, потому что сэкономил бы полгода своего досуга. С другой стороны, разобраться было увлекательно. Ну и буду рад, если кому знания о таком инструменте окажутся полезными, или хотя бы расширят кругозор.
Информация
- В рейтинге
- 2 273-й
- Зарегистрирован
- Активность