Всем привет! Расскажу вам о том, как я собирал (и тут же ремонтировал) ретро-компьютер на базе Радио86-РК. Данной разработке через некоторое время исполняется четвёртый десяток! А процессору Intel 8080, на базе которого она сделана - все 50 лет. По ходу дам пояснения, как можно собрать аналогичное изделие, сколько оно стоит (по состоянию на 2023 год), с какими проблемами я столкнулся.
Приступим!
Редактор мультимедиа
Пишем свой личный Duolingo на минималках
Привет, меня зовут Емельянов Михаил, я Python-программист и я хотел бы показать вам свой небольшой «проект выходного дня» — Flywheel, микро-платформу для изучения иностранных языков — смесь Duolingo и Anki, программу, которая может помочь вам правильно писать на английском. Flywheel доступен в исходниках, лежит на GitHub.
Как вы, возможно, знаете, обобщенное знание иностранного языка можно разложить на четыре относительно независимые составляющие: чтение, письмо, слушание и говорение. К сожалению, тренировка одной из этих способностей не будет напрямую отражаться на остальных компонентах, поэтому, например, развивая навык чтения, мы достаточно опосредованно влияем на навык письма. Flywheel — «точилка» именно для письменного английского.
Если вы когда-нибудь пользовались Duolingo, то имеете представление о формате, в котором будет идти обучение. Последовательность проста: вот тебе фраза, переведи её на другой язык; программа запомнит, когда ты в последний раз переводил ту или иную фразу и насколько успешно у тебя это получилось; в зависимости от правильности ответа будет определено время, когда тебе нужно задать эту же фразу еще раз. В целом, на мой взгляд, как сам Duolingo, так и используемый им подход — просто гениальны. Но… Есть нюансы, которые несколько портят впечатления от процесса учёбы, и именно для их устранения я и задумал Flywheel.
Как вкатиться в геймдев начинающему винтику
Оставь мечты всяк сюда входящий — тебя ждут рутина, однотипные задачи, ненормальные коллеги и авралы, а про игру мечты лучше забыть на пороге.
Даже если вам удастся найти на схлопнувшемся игровом рынке работу, вы будете получать меньше, чем другие айтишники, и это будет мобильная галера, на которой вы выгорите. Вместо создания собственных миров вы будете корпеть над гуглотаблицами с балансом. А по вечерам играть — но не ради фана, а чтобы следить за трендами.
Если вы готовы пройти через всё это, чтобы создавать игры — добро пожаловать под кат. Я покажу путь.
Как использовать промты в ChatGPT для генерации кода на Python
Привет, друзья! Сегодня я хочу рассказать вам о том, как использовать промты в ChatGPT для создания программного кода на Python. Если вы работаете с Python или интересуетесь программированием, то вы, наверняка, знаете, насколько важно уметь быстро и эффективно создавать код.
Для тех, кто не знаком с термином "промт", это специальные подсказки, обычно они выводятся в виде текста, который указывает правила для ответа ИИ.
Чатбот ChatGPT основан на искусственном интеллекте и способен генерировать текст на основе предыдущих входных данных, так же основан на copilot. Таким образом, мы можем использовать его для генерации промтов для создания кода на Python.
После множества экспериментов и ошибок, я нашел наиболее оптимальный промт для работы с ChatGPT, который позволяет мне полностью автоматизировать процесс разработки программы в соответствии с моим ТЗ. Сейчас я готов поделиться с вами своим опытом.
Демосцена маленького городка. История в лицах и программах
Перебирая старые архивы натолкнулся на подборку наработок и программ сделанных очень давно. Тогда было свободное время для экспериментов в поиске своего места в этом компьютерном мире. Было всё очень интересно и всё хотелось попробовать. Программки потянули за собой воспоминания о событиях и людях, с которыми на тот момент мы были единодушны в своих увлечениях.
Я хочу рассказать как в одном небольшом, закрытом, сибирском городке, небольшая компания молодых людей, увлеченных компьютерами, создала свое сообщество сплоченное общим интересом к программированию, созданием чего-то нового и общением друг с другом.
[Научпоп с кодом] Что такое «жидкая» нейросеть и как научить её играть в Atari?
Алгоритмы в основе традиционных сетей настраиваются во время обучения, когда подается огромное количество данных для калибровки наилучших значений их весов, ликвидные («текучие») нейронные сети лучше адаптируются.
«Они способны изменять свои основные уравнения на основе входных данных, которые они наблюдают», в частности, изменяя скорость реакции нейронов, — рассказывает директор Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института Даниэла Рус.
Абсолютно бесплатный VPN с бесплатного VPS
Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.
DIY-проект: аудиокассета на базе Arduino для хранения и загрузки программ и игр в ZX Spectrum
20-30 лет назад кассеты были самым популярным средством хранения аудиозаписей. Их применяли и для хранения данных, в частности, программ для 8-битных компьютеров. Именно кассеты использовались для загрузки и сохранения программ для ZX Spectrum. Тем не менее, кассет становится все меньше, несмотря на то, что поклонников ZX Spectrum и других подобных ПК довольно много. Конечно, можно использовать эмулятор ZX Spectrum под Windows или Linux. Но это все же менее лампово, чем реальный компьютер. Есть еще один выход — найти замену кассете.
Пользователь с ником JamHamster решил пойти по этому пути. Его решение — устройство, которое внешне походит на привычную аудиокассету, работает с кассетным магнитофоном, но вместо магнитной ленты в нем используется SD-карта. По замыслу энтузиаста, такая «кассета» должна вставляться в магнитофон для передачи сигналов в ZX Spectrum или подключаться через аудиовыход. Кстати, решения для загрузки программ с кассет есть — например, TZXDuino для работы с ZX Spectrum, ZX81 и Amstrad CPC, но оно показалось разработчику слишком громоздким.
Ограничения 16-битных игр и их воссоздание в Unity
В нашем первом туториале по ретро-играм мы показали, как настраивать инструмент 2D Pixel Perfect и как создавалась графика в эпоху 8-битных игр. В этом посте мы перенесёмся в 16-битную эру. С помощью Mega Cat Studios мы узнаем, как создавать аутентичную графику для игр в стиле Sega Genesis (Mega Drive) и Super NES при помощи параметров, графических структур и цветовых палитр Unity.
Создание аутентичной графики в стиле Genesis
В этом разделе мы рассмотрим рабочий процесс создания графики, имитирующей картинку разных консолей. Здесь будет меньше ограничений, чем в 8-битном проекте и больше свободы при работе с цветом, но всё-таки у Genesis есть пределы. Мы считаем, что будет также полезно объяснить, как работало «железо» консоли, чтобы вы могли применить эти ограничения в собственном ретро-проекте.
Палитры и субпалитры
Переход от 8-битных к 16-битным консолям благодаря усложнению оборудования предоставил разработчикам больше возможностей. Тем не менее, принципы создания качественной NES-графики всё ещё остаются в силе. Вся графика по-прежнему хранится в тайлах, например, размером 8×8, и собирается из них в большие изображения — спрайты и элементы фона. Художники по-прежнему ограничены субпалитрами с общим прозрачным цветом, но 16 бита обеспечивают бОльшую гибкость работы с палитрами. Вас скорее всего порадует то, что у 16-битных консолей не было жёстко заданной цветовой палитры, то есть по сравнению с NES количество доступных цветов сильно расширилось.
Капитальный ремонт в сталинке и организация видеонаблюдения
Часть 2. Про «немножечко IT» внизу статьи. Про организацию видео наблюдения нашего дома. Тыц
Платформа ютуб стала основным источником информации по ремонту. Огромное количество талантливых людей делятся своим опытом абсолютно бесплатно, учат, показывают, кладут все в рот практически пережеванным. Им нужно признание и желание поделиться, а зрителям нужны ответы на бытовые проблемы.
Обратная сторона профильных видео на ютубе — я стал сомневаться в людях (ютьюбодеформация), если они не смотрят ютуб по профилю своей специальности. Новая поговорка звучит так: скажи мне на что ты подписан, и я скажу кто — ты.
Я не могу отказаться от увиденного на мониторе результата, если он технически совершеннее и теоретически достижим за те же деньги. Насмотревшись видосиков, я кинул клич по одной известной платформе для поиска исполнителей с полным описанием своей задачи — замену полов. Ни один из 5 откликнувшихся не предложил мне то, чего я желал. А хотел я стяжку про профлисту, как делают по Питеру в старых домах!
Я лучше знал что я хочу и как хочу, и никто не сможет в этом мне помочь. Я был отравлен восхваленными лайками и просмотрами видео. Измученный сомнениями, я принял единственное неправильное решение в этой ситуации — сделать все самостоятельно. Я медленно превращался в ютуб-одиночку...
Визуализируй это: LED-куб на базе Raspberry Pi показывает уровень загрузки процессора
На днях в сети появилось описание оригинального DIY-проекта на основе Raspberry Pi и светодиодных панелей. Цель проекта — визуализировать уровень загрузки процессора ПК. Для этого используются анимация на LED-панелях самодельного устройства.
Чем выше нагрузка на CPU, тем выше температура чипа и тем более «горячими» становятся цвета светодиодных панелей. Минимальная нагрузка — голубой и синий цвета, максимальная — оранжевый и красный. Общее количество задействованных светодиодов достигает 12 000. Под катом — описание проекта, его элементов, плюс исходный код ПО, которое обеспечивает работу гаджета.
Как уйти на пенсию до 40 лет с миллионом долларов на счету в банке
Намучавшись с работами, требующими слишком больших нагрузок, миллениалы увольняются и присоединяются к движению FIRE
Карл Дженсен испытал то, что он называет «пробуждением», примерно в 2012-м году.
Он работал программистом в пригороде Денвера, писал код для медицинского оборудования. Работа была напряжённой: ему приходилось документировать каждый шаг для Управления по санитарному надзору за качеством пищевых продуктов и медикаментов США (FDA), а ошибка в коде могла навредить или даже убить пациента.
Дженсен зарабатывал порядка $110 000 в год, у него был определённый соцпакет, но, казалось, что всё это не окупает стресса. Он не мог расслабиться с семьёй после работы; бывало, что целые дни он проводил, обнимаясь с унитазом. Он похудел на 5 кг.
После одного особенно брутального рабочего дня, Дженсен погуглил вопрос «как мне рано уйти на пенсию?», и глаза его открылись. Он посовещался с женой и составил план: в следующие пять лет они экономили значительную часть доходов, серьёзно урезали расходы, пока не собрали порядка $1,2 млн.
Во вторник 10 марта 2017 года Дженсен позвонил своему боссу и предупредил об увольнении после 15 лет работы в компании. Однако он не увольнялся, а уходил на пенсию. Ему было 43.
Создание персонажей в Blender и Unity
Визуально персонажи 3D-игр имитируются с помощью использования моделей, текстур и анимаций.
В прошлом для применения одинаковых анимаций персонажи должны были иметь полностью идентичные скелеты. Это ограничивало разнообразие персонажей, потому что их рост и пропорции тоже должны были быть одинаковыми. Например, в старых играх FIFA все игроки имели одинаковые размеры, потому что создание отдельного скелета и набора анимаций превратилось бы в настоящий кошмар.
К счастью для разработчиков игр, сегодня большинство движков имеет систему, позволяющую многократно использовать анимации при условии совместимости скелетной иерархии. Такая система позволяет использовать одинаковые анимации для персонажей всех форм и размеров. В Unity эта система называется Mecanim. Она обеспечивает удобную настройку анимаций, смешивание между ними и перенос гуманоидных анимаций между моделями.
Возможность многократного применения анимаций позволяет использовать анимации из Asset store и с таких вебсайтов, как mixamo.com, для ваших собственных персонажей. Это экономит кучу времени!
В этом туториале вы узнаете, как подготовить гуманоидную модель в Blender и как перенести её в Unity. В частности, вы научитесь следующему:
- Создавать арматуру (скелет) персонажа и выполнять её риггинг (привязку скелета к мешу)
- Модифицировать персонаж добавлением аксессуаров и объектов
- Экспортировать модель в FBX
- Импортировать модели Blender
- Создавать и настраивать гуманоидный аватар
- Прикреплять к персонажу объекты
- Анимировать гуманоида в Unity
Туториал по Unreal Engine. Часть 1: знакомство с движком
Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.
Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.
В этой части туториала по Unreal Engine 4 мы ознакомимся с основными возможностями программы. Вот основные темы, которые будут в нём рассмотрены:
- Установка движка
- Импорт ассетов
- Создание материалов
- Использование Blueprints для создания объектов с простейшими функциями
Создаём простейшую VR-демку с Unreal Engine
По мере того, как виртуальная реальность становится мейнстримом, всё больше разработчиков игр изъявляют желание создавать новый контент для устройств вроде HTC Vive и Oculus Rift. Из доступных движков особенно выделяются два: Unreal Engine and Unity3D. В этой статье мы рассмотрим процесс разработки маленькой демки на основе Unreal Engine. Мы делаем уровень, по которому можно будет свободно перемещаться, а также брать или уничтожать объекты.
Создание 1k intro Chaos для ZX-Spectrum
Изначально я не планировал делать демо на Chaos Constrictions 2018, однако за 2-3 недели до cc понял, что с пустыми руками идти на демопати никак нельзя, и решил написать небольшую демонстрацию для 386/EGA/DOS.
Скомпилировав в Turbo-C под DOS свою либу AnotherGraphicsLibrary, которая идеально ложиться в битплановую структуру EGA режима, я разочаровался, от тормозов, прежде всего тормозов EGA. Демо в том виде, в котором я хотел бы его видеть, за этот весьма ограниченный срок, сделать было невозможно.
Однако сдаваться и не делать что-либо, я уже не мог. И тут я вспомнил, что давно хотел принять участие в ZX-Spectrum конкурсах демо. А так, как за последний год у меня появилось целых два 48k реала, я мог получить определенное удовольствие от создания демо. К слову — для меня самое главное в написании демо это именно тестирование на реале, эмульгаторы не дают такого наслаждения от процесса, уж очень это замечательное чувство, когда после очередного изменения в коде ты закачиваешь демо на реал, и видишь как настоящая железка тасует байтики в памяти, отрисовывая эффект.
Поскольку из реалов у меня только 48k, то и демо я решил сделать для 48k. А из-за ограниченности сроков и отсутствия каких-либо наработок, выбор пал на создание 1k intro(демо объёмом всего 1 килобайт, или 1024 байта).
Проекторы для дома: лучшие “по версии”, ультракороткий фокус, чемпионы по яркости и скорости
Наиболее острая и ожесточенная конкурентная борьба за лидерство по прежнему разворачивается между вечными соперниками BENQ и EPSON, которых стремительно догоняет LG и прочие производители. Я не спешу становится на чью-либо сторону, здоровая конкуренция это хорошо, от неё выигрывает потребитель. В этой статье обзор наиболее актуальных моделей, которые были признаны лучшими, а также устройства, которые определили актуальные тренды текущего года.
Unity: знакомство со Scriptable Objects
В этом туториале вы узнаете, как создавать и использовать Scriptable Objects в Unity. Scriptable Objects помогут усовершенствовать ваш рабочий процесс, снизить объём занимаемой памяти и даже позволят разделить архитектуру кода.
Согласно документации Unity, ScriptableObject — это код класса, позволяющий создавать в игре Scriptable Objects для хранения больших объёмов общих данных, не зависящих от экземпляров скриптов.
Существует множество причин для использования Scriptable Objects в Unity. Они могут снизить объём используемой под каждый дополнительный префаб памяти, потому что по своей сути Scriptable Object следуют паттерну разработки Flyweight.
Ещё одно преимущество Scriptable Objects, которое будет основной темой этого туториала, заключается в их использовании для удобной пересылки данных. Мы рассмотрим это свойство на примере создания лавки торговца мечами, в которой будут отображаться параметры, цены и описания различных мечей.
Учим Искусственный Интеллект играть в игру
В данной статье мы разработаем нейронную сеть, которая сможет на неплохом уровне проходить созданную специально для неё игру.
Примечание: данная статья не объясняет термин "нейронная сеть" и всё, что с ним связано, а также не предоставляет базовую информацию об обучении сети методом трассировки. Рекомендуем кратко ознакомиться с этими понятиями до прочтения статьи
Ultima Online: взгляд из-за кулис
Эта статья является переводом нескольких фрагментов книги Braving Britannia: Tales of Life, Love, and Adventure in Ultima Online (www.bravingbritannia.com). Кроме бесед с десятками игроков об их опыте игры в эту прабабушку всех MMO, в книге представлены интервью с некоторыми из первых программистов, дизайнеров и продюсеров игры, в том числе с Крисом Майером (Fallout 76), Рафом Костером (Star Wars Galaxies), Старром Лонгом (Shroud of the Avatar), Гордоном Уолтоном (Crowfall), Ричем Фогелем (DOOM) и другими.
Прежде чем прийти в Origin Systems на должность ведущего программиста, Крис «Faceless» Майер экспериментировал с Ultima Online как один из первых игроков. Майер работал инженером-разработчиком ПО в Остине, штат Техас, используя быстрый Интернет на своём рабочем месте для игры в Ultima Online в обеденный перерыв или после работы.
Майера всегда интересовало создание игр и он надеялся когда-нибудь заняться им профессионально. На самом деле, он готовился к этой возможности всю свою юность.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность