Pull to refresh
13
-1.1
Send message

Город в бутылке — движок Raycasting всего на 256 байт

Reading time8 min
Views1.8K

Привет любителям микро-кодирования. Вот вам кое-что невероятное: крошечный движок raycasting (метод “бросания лучей”) и генератор городов, который помещается в отдельный 256-байтовый HTML-файл.

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

Из театра на завод: можно ли сделать из актрисы инженера-тестировщика

Level of difficultyEasy
Reading time6 min
Views1.4K

Что будет, если актрису пустить работать на завод, да не простой, а медицинского оборудования? Первые дни я и сама себе задавала этот вопрос. Ведь я актриса, и я на заводе! Расскажу, чем актерское мастерство помогает в инженерной сфере, как я боялась излучения, пряталась в виртуалках и стала голосом рентген-аппарата.

Читать далее
Total votes 19: ↑14 and ↓5+16
Comments6

Геймдев, про который мы забыли: как работали 2D-игры на кнопочных телефонах нулевых

Level of difficultyMedium
Reading time11 min
Views3.4K
image

Друзья! А вы помните, какими были мобильные игры в 2000-х годах? Помните, как разработчики умудрялись уместить целые миры в устройство с небольшим дисплеем, аппаратной клавиатурой, весьма слабым железом и парой сотен килобайт памяти? Но задумывались ли вы, как в своё время работали эти сами игры «под капотом»? В сегодняшней статье-ретроспективе предлагаю вспомнить мобильный геймдев нулевых и узнать, как же работали 2D Java-игры, какие API были доступны и что из себя представлял средний телефон тех лет! Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 26: ↑25 and ↓1+32
Comments32

Автомобильный трекер из детских часов с GPS

Reading time3 min
Views4K

Приветствую, Хабр!

Когда дети пошли в школу, мы купили им часы с SIM-картой и GPS. Довольно удобное устройство для начальной школы, когда нужно чтобы ребенок минимум отвлекался на различные гаджеты на уроках. Дети уже выросли и ходят с телефонами, а пара часов осталась. Наконец я решил их использовать для чего-то полезного.
Читать дальше →
Total votes 34: ↑34 and ↓0+40
Comments42

Сумасшествие «Артемиды» или почему она обречена на провал

Reading time27 min
Views14K

Более полувека назад, 7 декабря 1972 года, с космодрома на мысе Канаверал стартовала ракета, уносящая к Луне трех астронавтов и луноход. После трехдневного полета двое из них спустились на поверхность Луны в хрупком посадочном модуле. В течение трех дней астронавты исследовали лунный ландшафт, собирали образцы пород и испытывали луноход. Затем они вернулись на орбиту, где их ждал третий член экипажа. Вместе они отправились обратно на Землю, приводнившись в южной части Тихого океана 19 декабря 1972 года. Эта миссия, получившая название «Аполлон-17», стала последним на сегодняшний день случаем, когда человек покидал пределы низкой околоземной орбиты.

NASA планирует вернуть американских астронавтов на Луну в конце 2026 года в рамках миссии «Артемида-3». Подобно «Аполлон-17», два астронавта проведут около недели на лунной поверхности, собирая образцы и делая памятные селфи. Однако, в отличие от исторической миссии, «Артемида-3» будет осуществлена без лунохода.

Несмотря на внешнюю схожесть с «Аполлон-17», «Артемида-3» значительно отличается по сложности и стоимости. В то время как «Аполлон-17» была запущена одной ракетой и стоила $3,3 миллиарда (в пересчете на 2023 год), «Артемида-3» потребует десятка запусков тяжелых ракет и обойдется в астрономическую сумму, которую NASA отказывается раскрывать. По оценкам экспертов, стоимость миссии может достигать 7–10 миллиардов долларов.

Сложность «Артемиды-3» поражает: одноразовый посадочный модуль станет самым тяжелым космическим аппаратом в истории, а научный результат миссии — небольшая коробка с лунными образцами — будет меньше, чем у «Аполлона-17». Более того, вся программа зависит от технологий, которые еще предстоит разработать и протестировать в течение ближайших полутора лет.

Возникает закономерный вопрос: если мы смогли отправить человека на Луну полвека назад, почему это так сложно сделать сейчас, учитывая технологический прогресс?

Читать далее
Total votes 84: ↑73 and ↓11+83
Comments268

Compiler Explorer — уникальный проект для исследования компилируемого кода

Level of difficultyMedium
Reading time7 min
Views8.1K
Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer, который я в дальнейшем будут называть CE.

CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и перейдите на веб-сайт CE, где вы увидите примерно такой экран:

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


В основе CE лежит очень простая идея. Достаточно ввести исходный код в левую панель, и сайт мгновенно покажет вам на правой панели скомпилированный результат (обычно на языке ассемблера).

CE поддерживает 69 языков, более двух тысяч компиляторов и широкий спектр архитектур, включая x86, arm, risc-v, avr, mips, vax, tensa, 68k, PowerPC, SPARC и даже древний 6502.

То есть теперь для просмотра результата работы компилятора достаточно открыть godbolt.org и скопировать туда блок кода.

Это само по себе удивительно, но у CE есть гораздо больше возможностей. Это инструмент, который должны знать все интересующиеся компиляторами и архитектурами компьютеров. В статье мы сможем лишь поверхностно рассмотреть функции CE. Вам стоит самим перейти на сайт CE и попробовать всё самостоятельно.
Читать дальше →
Total votes 60: ↑58 and ↓2+74
Comments12

Почему для меня так важен алгоритм CORDIC

Level of difficultyMedium
Reading time8 min
Views12K

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

Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».
Читать дальше →
Total votes 81: ↑81 and ↓0+107
Comments24

Создание музыки в нейросети Udio, подробная инструкция с примерами от сообщества

Level of difficultyEasy
Reading time17 min
Views6.5K


Друзья, всем привет! Меня зовут Илья, я основатель онлайн-нейросети для создания изображений ArtGeneration.me, техноблогер и нейро-евангелист. С самого детства я мечтал научиться играть на каком-нибудь музыкальном инструменте. Я делал много попыток: были две гитары (акустическая и электро), клавиши и даже электронные барабаны. Но мне всегда не хватало усидчивости, и я не чувствовал удовлетворения от освоения инструмента, поэтому забрасывал его. Пробовал также освоить Ableton и FL Studio, но они казались мне слишком сложными. В итоге, к 35 годам я научился играть только на варгане, хотя душа требовала большего — я очень люблю музыку и слушаю ее буквально 24/7.


Нейросети уже дали мне возможность создавать прекрасные изображения, и я думал, как было бы здорово, если бы можно было так же легко создавать музыку. И действительно, около 10 месяцев назад появились такие инструменты, как MusicGen и AudioCraft от Meta*.


Читать дальше →
Total votes 24: ↑23 and ↓1+33
Comments12

Samsung и SK hynix прекращают выпуск DDR3 в угоду всё более популярной HBM3. Что будет дальше?

Reading time3 min
Views4.1K

На днях стало известно, что два крупнейших производителя оперативной памяти — компании Samsung и SK hynix — решили остановить линии, специализировавшиеся на выпуске DDR3. Вместо этого освободившиеся мощности планируется использовать для расширения объёмов выпуска ИИ-оптимизированной памяти HBM3. Что это за технология и почему HBM3 требуется много, читайте под катом.

Читать далее
Total votes 6: ↑6 and ↓0+15
Comments4

Транскодирование — видеоконтент на диете. Часть 1

Level of difficultyEasy
Reading time6 min
Views1.5K

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

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

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

Читать далее
Total votes 13: ↑9 and ↓4+7
Comments0

Тайны Вселенной: что происходит внутри черных дыр

Reading time8 min
Views13K

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

Читать далее
Total votes 35: ↑18 and ↓17+15
Comments48

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views39K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 293: ↑293 and ↓0+349
Comments126

Собираем балансирующий куб

Level of difficultyEasy
Reading time8 min
Views20K

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

Первоначальная идея этого устройства взята у исследователей Швейцарской высшей технической школы Цюриха, продемонстрировавших в этом видео свой Cubli. За последующие годы дизайн в определённых аспектах был усовершенствован. В частности, Bobrow et al (Университет Сан-Паулу) предложили улучшенную концепцию управления, уменьшающую количество IMU (блоков инерциальных датчиков) с шести до всего одного.

Я решил собрать такое устройство. Хотя идея и не нова, все предыдущие работы по этой теме в основном имели закрытые исходники. Я планирую изменить ситуацию. Это значит, что мне придётся выполнить реверс-инжиниринг и начертить всё с нуля. Результат моей работы, полностью опенсорсный (GitHub), показан в видео.
Читать дальше →
Total votes 116: ↑116 and ↓0+139
Comments39

Одноплатник на 155-й серии

Reading time5 min
Views25K

Эта история началась с ухода в отпуск зимой. Вы только представьте! Полярная ночь, темно хоть глаз выколи и дикий мороз. И вот сижу я такой страдалец, не зная, чем себя занять горемычного. А тут выскакивает статья, что японцы собрали однобитный компьютер на четырех микросхемах. (Naoto64). И вот то ли от безделья, то ли от тоски, или азарт меня одолел, но решил я попробовать собрать «одноплатник» с минимальным количеством микросхем. Под словом «минимальным» я подразумеваю компромисс между функционалом и лишним корпусом микросхемы. В итоге получилось при минимальной комплектации 26 микросхем. Это конечно гораздо больше, чем у Naoto64, но за то это уже 4-х битный «одноплатник».

Читать далее
Total votes 222: ↑221 and ↓1+249
Comments127

Воплощаю мечту, создавая игру. Часть 2-я

Level of difficultyEasy
Reading time7 min
Views5.2K

Вторая часть статьи про разработку компьютерной игры в одиночку на игровом движке Unreal Engine 5. Вторая часть является заключительной моего знакомства с аудиторией и в ней я высказываю свои мысли по поводу покупных механик и 3D моделей в marketplace, делюсь результатами работы и планами.

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments10

Архитектура Stable Diffusion: Face ID, Lighting

Level of difficultyMedium
Reading time7 min
Views3.7K

Это перевод моей статьи на medium.com.

Год назад я провёл краткий обзор по теме переноса стиля. Пару месяцев назад я решил вернуться к этому вопросу и исследовать прогресс за последний год. За это время случилось много значимых изменений: архитектура open-source модели Stable Diffusion стала, лидирующей среди моделей для задач генерации изображений. Особенно её модификация SDXL [1]. Hugging Face превратился в лидирующую платформу для запуска модели Stable Diffusion с помощью библиотеки diffusers [2].

Читать далее
Total votes 20: ↑17 and ↓3+20
Comments2

Байт-кодовые VM в неожиданных местах

Level of difficultyMedium
Reading time4 min
Views9.8K

Отвечая на вопрос в Twitter, Ричард Хипп написал, почему SQLite использует байт-кодовую VM для исполнения операторов SQL.

Вероятно, большинство людей ассоциирует байт-кодовые VM с языками программирования общего назначения, например, с JavaScript или Python. Но иногда их можно встретить в неожиданных местах! В статье я расскажу о тех, которые знаю.
Читать дальше →
Total votes 51: ↑49 and ↓2+69
Comments16

Использование маппера UNROM при разработке игр для Dendy на языке Си

Level of difficultyMedium
Reading time11 min
Views3.8K

Приветствую всех любителей программирования всяческих ретро-железок. Могу предположить, что у большинства из читателей этой статьи была в детстве Dendy (а может и сейчас есть) или другой клон Famicom (клонов NES в СНГ я не встречал). Сегодня предлагаю обсудить особенности разработки игр для приставок Dendy, NES и Famicom с маппером (mapper) UNROM. Те из вас, кто хоть немного углублялся в особенности архитектуры игр для 8-битных приставок, наверняка слышал про мапперы. Это электронная схема, которая находится на плате картриджа и расширяет возможности консоли, подключаясь напрямую к шинам процессора.

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

Читать далее
Total votes 28: ↑28 and ↓0+37
Comments2

«Строка бога»/идеальный промт, часть 2, продолжение истории

Level of difficultyMedium
Reading time4 min
Views2K

Здравствуйте, уважаемые читатели!

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

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

Инструмент и соответствующий раздел веб-сайта Anthropic, на котором он размещен, получили название Prompt Library – Библиотека Запросов – а в качестве подзаголовка представлена фраза Explore optimized prompts for a breadth of business and personal tasks (Осваивайте оптимизированные запросы для решения широкого спектра деловых и личных задач).

Читать далее
Total votes 11: ↑6 and ↓5+5
Comments13

M100 — Зеркальная галактика

Level of difficultyMedium
Reading time4 min
Views11K

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

Читать далее
Total votes 25: ↑24 and ↓1+31
Comments20
1
23 ...

Information

Rating
Does not participate
Registered
Activity