Как стать автором
Обновить
2753.78
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15
Сначала показывать

Как я портировал Sonic 2 на графический калькулятор

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.6K

Этот пост посвящён тому, как я портировал 8-битный Sonic 2 на TI-84+ CE

Часть 1: с чего всё началось


Эта история началась осенью 2022 года, когда я смотрел видео This Does Not Compute об истории игр на графических калькуляторах. Примерно на пятой минуте автор мимоходом упомянул типы процессоров, которые использовались в этой линейке графических калькуляторов. В большинстве из них был установлен Z80, в 89 и 92 задействовали M68K, а в линейке Nspire использован процессор на основе ARM.

Это меня очень заинтересовало, ведь я знал, какие процессоры использовала Sega в своих ретроконсолях: Z80 в Master System и M68K в Genesis. Калькуляторы имеют экраны в градациях серого, но мне захотелось узнать, пробовал ли кто-нибудь портировать игру Sonic с консолей на один из калькуляторов.

К своему удивлению, я выяснил, что этого никто не делал; более того, за исключением SonicUP и Sonic TI-Blast никто не создавал завершённый платформер про Соника для калькуляторов TI. Если не считать Nspire, но он настолько мощный, что способен эмулировать старые игровые консоли, так что меня он не особо интересует.

Поэтому я задался вопросом: удастся ли мне портировать уже существующий дизассемблированный код Sonic на графический калькулятор TI. Но сначала мне нужно было выбрать конкретную игру.
Читать дальше →
Всего голосов 20: ↑25 и ↓-5+30
Комментарии0

Полезные ссылки

Десантируем арктический ЦОД и орбитального сисадмина на дрейфующую льдину

Время на прочтение6 мин
Количество просмотров10K
Всего голосов 88: ↑85.5 и ↓2.5+83
Комментарии44

Облачный апокалипсис. Файлохранилище на своём сервере

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров11K
Всего голосов 42: ↑37 и ↓5+32
Комментарии48

Рисуем рабочий процессор в Paint и запускаем на нём ОС | Ритуал по призыву демона Тьюринга

Уровень сложностиПростой
Время на прочтение28 мин
Количество просмотров4.2K


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

Термос этот он нашёл на улице и хотел перепрошить его маленький и беззащитный Cortex-M0+.
Человек бредил. Раз в пару минут его глаза загорались и он издавал душераздирающий крик: «Если что-то существует, то на этом можно запустить Doom!».

Но действительно ли это так? И что вообще значит «запустить»?

Почему нельзя просто вывести изображение логотипа или распиновать VGA для вывода изображения на дисплей абсолютно любого устройства?
Ведь все так и делают)


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

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

Ну а если вы всё ещё здесь — добро пожаловать под кат.
Читать дальше →
Всего голосов 37: ↑44.5 и ↓-7.5+52
Комментарии11

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: значения свойства display

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4K


Привет, Хабр. Я продолжаю отвечать на вопросы из собеседований на должность фронтендера. Сегодня я отвечу на следующий вопрос: «В чём отличия между значениями block, inline, flex, inline-flex, grid и inline-grid для свойства display


Прошу внимания. Мой ответ будет основан на теории, которую я описал в статье «Зачем нужно использовать свойство display?». Прочитайте, пожалуйста, сначала её.

Читать дальше →
Всего голосов 22: ↑28.5 и ↓-6.5+35
Комментарии3

Энергосистемы орбитальной станции — рассказывает космонавт А.И. Лазуткин

Время на прочтение12 мин
Количество просмотров4.3K
image
Источник

На орбитальной станции очень жёсткая энергетическая дисциплина. Генерация только с солнечных панелей, для теневой стороны — аккумуляторы, а потребители — всё вокруг. Поэтому даже пульты светятся только тогда, когда нужна красивая картинка для научпопа. Обычное состояние светодиодов на пультах — если система работает нормально, то диоды выключены. Включаются они для временно включаемых потребителей и по запросу на статус. То есть экономят даже на такой, казалось бы, мелочи.

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

Но самое неприятное — это когда при столкновении транспорта «Прогресс М-34» с модулем «Спектр» и последующим отсечением модуля для восстановления герметичности станция лишилась 40% генерации. В этот момент началась настоящая энергетическая экономия.

В общем, раз уж мы подписали с Александром Ивановичем Лазуткиным контракт на рекламу и ссылаемся на то, что энергопотребление станции сопоставимо с потреблением нашего ЦОДа, стоит рассказать про детали этого самого потребления. Рассказывает непосредственно Александр Иванович с нашими небольшими пояснениями. Итак, поехали!
Читать дальше →
Всего голосов 36: ↑44.5 и ↓-8.5+53
Комментарии20

Насколько быстрее стали терминалы в GNOME 46?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.6K

VTE (Virtual TErminal library) — это библиотека, лежащая в основе различных эмуляторов терминала GNOME. Она предоставляет GTK-виджет, отображающий элемент терминала, используемый в приложениях наподобие GNOME Terminal, Console, Black Box, Tilix, Terminator, Ptyxis и других. Также она используется во встроенных терминалах Builder и Workbench.

На протяжении цикла GNOME 46 в VTE было внесено множество улучшений производительности. Кристиан Хергерт говорил о некоторых из них в своих постах о VTE и о своей работе в GNOME 46. Но насколько же улучшилась производительность? Чего стоит ожидать вам, пользователю, от установки свежего обновления Fedora 40 и запуска любимого терминала?

Давайте измерим и разберёмся!
Читать дальше →
Всего голосов 29: ↑37 и ↓-8+45
Комментарии20

Плэнер — язык логического программирования для ИИ: что из него получилось

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.5K
Боты под управлением системы GOAP (Goal Oriented Action Planning), источник

Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом его встроенные возможности по символьной обработке значительно шире. А введение в запись нескольких типов скобок (в Лиспе допускаются только круглые скобки) сделало программы гораздо понятнее для чтения.

В свою очередь, логическое программирование — это парадигма программирования, основанная на математической логике, в которой код состоит из логических утверждений и правил вывода.
Читать дальше →
Всего голосов 26: ↑34.5 и ↓-8.5+43
Комментарии3

Найти работу в IT: миссия 2024

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров16K
Привет! Меня зовут Полина, и я уже десять лет работаю дизайнером в айти. В основном продуктовый UX/UI, но были и отдельные проекты разного характера. 


Расскажу про свой (и друзей) опыт поиска работы два года назад и сейчас, на русскоязычном рынке. 
Читать дальше →
Всего голосов 42: ↑41.5 и ↓0.5+41
Комментарии40

Поиск по коду — это сложно

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.9K

Функциональность поиска на Val Town не очень впечатляет. Сейчас в её основе лежит механизм ILIKE Postgres, работающий на основе алгоритма поиска подстроки: если искомое выражение в коде есть, оно выводится в результатах. Этот процесс не включает никакого ранжирования, и очень слабо поддерживает запросы из нескольких слов. Более эффективный поиск является одной из самых желанных для нас возможностей.
Читать дальше →
Всего голосов 26: ↑31 и ↓-5+36
Комментарии3

Секретная китайская плата: контроллер стиральной машины

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров36K


Привет, Хабр! Лучшее профессиональное образование — максимально приближённое к реальной жизни. Как минимум в этом смысле пособия для конкурсов и экзаменов по электронике в китайских колледжах заслуживают звания одних из лучших.

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

Разработчики набора не забыли добавить традиционную парочку ошибок, чтобы работа испытуемого заключалась не только в аккуратной установке деталей по предложенной схеме, но и сопровождалась пониманием того, как она должна работать, и что необходимо изменить, чтобы она заработала как надо.
Читать дальше →
Всего голосов 51: ↑61 и ↓-10+71
Комментарии57

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 5: загадочный полёт Фрэнка Олсона

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров6.2K

В прошлой части мы рассказали, как Сидни Готтлиб летом-осенью 1953 года раскочегаривал свой проект MKUltra и подключал к его подпроектам самых разных людей: от нуарного копа и знаменитого иллюзиониста до целого ряда учёных, медиков и начальников тюрем. Всё больше сотен, а затем и тысяч американцев — от богемных поэтов Нью-Йорка до заключённых и наркоманов — становились буквально подопытными кроликами в экспериментах ЦРУ с психоактивными веществами. Впрочем, сам Готтлиб и его коллеги не только смотрели со стороны и изучали отчёты, но и сами регулярно обдалбывались ЛСД — естественно, в порядке «самоотверженных экспериментов в интересах национальной безопасности». У подопытных, как вольных, так и не особо, часто начинались проблемы с психикой, и вскоре секретность проекта MKUltra, несмотря на все усилия американского государства по его сокрытию, оказалась под угрозой.

Все части цикла статей о Сидни Готтлибе и проекте MKUltra:
Читать дальше →
Всего голосов 41: ↑44 и ↓-3+47
Комментарии6

Стресс и выгорание в мире разработки ПО

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.4K
Автор: Sow Ay

Я хочу поднять тему, о которой в нашей сфере говорят недостаточно: «Психическое здоровье инженеров ПО, в особенности тех из нас, кто принял на себя роль лидера». Являясь соучредителем технологического стартапа, я часто испытываю тревожность. Это один из тех аспектов, которые сопутствуют нашей деятельности, но в описании вакансии не приводятся.

Если вспомнить конкретно 2017 год, то он стал для меня весьма неприятным. Я регулярно испытывал панические атаки, сидел на релаксантах и пытался писать код, находясь под серьёзным давлением дедлайнов и новых ответственностей. Тогда я как раз унаследовал от своего предшественника должность главы отдела информационных технологий. Теперь я отвечал за небольшую команду разработчиков. При этом наш стартап дал многим партнёрам множество обещаний. Моей же задачей была их реализация, и я мог их либо нарушить, либо выполнить. У меня получилось и то и другое.
Читать дальше →
Всего голосов 54: ↑60 и ↓-6+66
Комментарии45

Трубка Гейслера — вакуумный насос. Распыление геттера разрядом

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.7K

Известно свойство целого ряда металлов, в большей или меньшей степени распыляясь при нагревании в вакууме, связывать молекулы оставшихся газов. Явление широко применяется в электровакуумной технике. Как в виде встроенного одноразового элемента для доводки-откачки электровакуумных приборов (ЭВП), так и в виде отдельных высоковакуумных насосов различной производительности. Металлы в таком качестве называют геттерами, а насосы — геттерными. Поставим несложный эксперимент, демонстрирующий работу геттера, для чего изготовим специальную разрядную трубку.
Читать дальше →
Всего голосов 71: ↑82 и ↓-11+93
Комментарии47

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

Время на прочтение8 мин
Количество просмотров9.9K
image

Кое-что пошло не так, поэтому российскую научную базу пришлось эвакуировать.

2 апреля мы должны были сбросить экспериментальный арктический мини-ЦОД (из одного сервера и двух систем спутниковой связи) на дрейфующую льдину со временной российской полярной базой. Потом — подняться в стратосферу и выпустить орбитального админа, который вместе с двумя напарниками поставит рекорд высотного парашютного прыжка.

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

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

Но кое-что сделать удалось.

Собственно, начну по порядку.
Читать дальше →
Всего голосов 65: ↑71.5 и ↓-6.5+78
Комментарии38

Радиоэфир без регистрации и СМС

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров22K

Пост для тех, кто любит радиосвязь, но не радиолюбитель с позывным

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

В старшем возрасте я понял, что могу позволить завалить себя радейками и время от времени покупал различные недорогие модели, которые выбирал лишь по цене и внешнему виду. Но на удивление связать серенькие радиостанции с фиолетовыми или чёрными не получалось, даже если выбрать один и тот же номер канала. Пришлось разбираться, и всё оказалось куда сложнее, чем просто выбрать переключателем номер канала и нажать кнопку PTT (Push-To-Talk). Ну и осложнилось всё задачей не получить по шапке за эфир на частотах, где не следует этого делать. Для прояснения ситуации для начинающих и создан этот пост.
Читать дальше →
Всего голосов 83: ↑94 и ↓-11+105
Комментарии93

Анатомия Hello World на языке C

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров19K

Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.

Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
Читать дальше →
Всего голосов 103: ↑118 и ↓-15+133
Комментарии47

Неадекватная стоимость исходящего трафика у некоторых облачных хостеров

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.3K


Пользователи часто поднимают вопрос неадекватной стоимости исходящего трафика (egress) у отдельных облачных провайдеров.

Если обычные хостеры не тарифицируют этот трафик, то некоторые другие сервисы устанавливают специальные тарифы. Как показывает практика, это может стать неприятным сюрпризом для клиентов.
Читать дальше →
Всего голосов 29: ↑34 и ↓-5+39
Комментарии18

Термоэлектрические генераторы

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9.3K
Картинка WangXiNa, Freepik

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

Тем не менее, существует отдельный вид генераторов, которые не содержат в своём составе движущихся механических частей — так называемые «термоэлектрические генераторы».
Читать дальше →
Всего голосов 34: ↑38 и ↓-4+42
Комментарии35

Графика древности: пятая волна. Аутсайдеры и современность (часть 4/4)

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров6K

В предыдущих частях этого лонгрида мы узнали всё про лидеров пятого поколения игровых консолей и про параллельную реальность 3D-ускорителей на персональных компьютерах. Казалось бы, тема исчерпана. Но не спешите расслабляться. В заключительной, самой объёмной части статьи мы узнаем многое про аутсайдеров поколения, а также о современном наследии, которое оставила после себя пятая волна.
Читать дальше →
Всего голосов 46: ↑53.5 и ↓-7.5+61
Комментарии4

Безопасность памяти меня не волнует

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.2K
Фото с сайта платформы CHERIoT, проекта Microsoft по решению проблем с доступом к памяти IoT-устройств на аппаратном уровне

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

То же касается и безопасности памяти. Для меня тот факт, что 70% уязвимостей возникают в результате её отсутствия, не говорит о важности этого аспекта. Важность безопасности памяти в том, что один связанный с ней баг может полностью подорвать все гарантии, на которые я опираюсь.
Читать дальше →
Всего голосов 27: ↑30.5 и ↓-3.5+34
Комментарии7

Firefox остаётся самым быстрым браузером

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров35K


Почти год назад случилось знаковое событие: впервые в истории Firefox обошёл Chrome по скорости работы.

Многие помнят, что с момента выхода в 2008 году Chrome отличался высокой производительностью, а Firefox на его фоне выглядел тяжеловесным и страдал от утечек памяти. Но постепенно Mozilla исправила ситуацию, так что в 2023 году браузеры наконец поменялись местами.

Единственное сомнение может вызвать объективность тех тестов, всё-таки Speedometer 2.0 — довольно старый набор 2018 года. Может, он не соответствует современному разжиревшему вебу? Что ж, теперь увидела свет новая версия Speedometer 3.0, поэтому взглянем на более достоверную и объективную картину: какой браузер быстрее на самом деле?
Читать дальше →
Всего голосов 91: ↑98 и ↓-7+105
Комментарии127
1
23 ...

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds