Как стать автором
Поиск
Написать публикацию
Обновить

Все потоки

Сначала показывать
Период
Уровень сложности

Биперные музыкальные движки на ассемблере Z80

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

В своих публикациях я уже неоднократно касался темы «биперных движков», то есть музыкальных процедур для ZX Spectrum и других 8-битных компьютеров прошлого, не оснащённых аппаратными синтезаторами звука. Но каждый раз это было вскользь. Настало время сконцентрировать более тугую струю экспертизы в данном вопросе, расставить такты над логическим «И», и рассказать базу: как же устроены и как создаются подобные процедуры в их самом классическом варианте, без привлечения новомодных ардуин.

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

Читать далее

Вы не будете в это играть: игровые миры, в которые больше нельзя попасть

Время на прочтение12 мин
Количество просмотров39K

Мы привыкли считать, что в цифровом пространстве ничто не исчезает: фильм можно пересмотреть, фото — восстановить, книгу — переиздать. Но с играми все иначе. Стоит серверам замолкнуть, и игра исчезает. Игры умирают как пространство действия. Иногда беззвучно, без прощального сообщения. Виртуальный мир, в который когда-то заходили тысячи игроков, превращается в воспоминание.

В истории игр существуют не только шедевры и провалы, но и нечто более трагичное — игры, которые исчезли. Серверы отключены, лицензии отозваны, поддержка прекращена, а железо или операционные системы, для которых они были созданы, безвозвратно устарели. В этой статье пройдемся по таким играм-призракам. Уникальным, странным, в чем-то культовым. Тем, которые больше не существует не только в продаже, но и в игровом опыте. И это делает их особенно важными.

Вспомнить былое

Как в 19 лет я начал путь разработчика встраиваемого ПО

Время на прочтение4 мин
Количество просмотров19K

Привет, Хабр! Меня зовут Данила, мне 21 год, и за последние 2,5 года я успел поработать в роли разработчика программного обеспечения для встраиваемых систем — в основном на базе STM32. В этой статье я хочу поделиться тем, как я вообще пришёл в эту сферу, с чего начинал, какие грабли собрал и какие выводы сделал по пути.

Читать далее

Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB

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

Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Windows и macOS, поэтому возникла необходимость в драйвере для Linux.

В своих постах я уже настраивал Windows VM с пробросом USB и пытался выполнить реверс-инжиниринг официальных драйверов. При этом я задумался, а нельзя ли написать производителю и попросить у него спецификации или документацию его протокола. К моему удивлению, техподдержка Nanoleaf ответила мне всего через четыре часа, предоставив полное описание протокола, используемого Desk Dock, а также полосами RGB-светодиодов. Документация по большей мере подтвердила то, что я обнаружил самостоятельно, но также я нашёл в ней пару других мелких подробностей (например, управление питанием и яркостью), которые были мне неизвестны.

Сегодня мы попробуем написать драйвер на основании протокола (который я изучил реверс-инжинирингом), параллельно сверяясь с официальной документацией. Однако здесь есть одна небольшая проблема: раньше я ни разу не писал драйверов для устройств под Linux, а с USB-устройствами взаимодействовал только как пользователь.

Читать далее

В айти не войти или о бедном стажёре замолвите слово…

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

Когда-то всё было проще. В достопамятные двухтысячные годы джунов и в самом деле нанимали. Не спрашивали о «релевантном опыте», не требовали ссылки на боевые проекты и не строили сложных лабиринтов из HR-интервью, технических сессий, тестовых заданий и многоступенчатых собеседований. Но прошло 15–20 лет — и всё изменилось до неузнаваемости. Новички (стажёры и джуны) теперь бесправны и даже подозрительны.

Читать далее

Компьютерные сети для начинающих

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

Эта статья предназначена для тех, кто только начинает разбираться в IT и пока путается в терминах вроде IP, маски подсети, ISO, свичей, роутеров, TCP и UDP.

Мы разберём основы максимально простыми словами — без углубления в детали. После прочтения вы сможете увереннее общаться с коллегами и понимать, о чём идёт речь, когда говорят про сети.

Начнём с терминов, постепенно систематизируем знания и сведём всё к моделям OSI и TCP/IP.

⚠ Предупреждение для сениоров с чувствительной психикой: академические термины будут объяснены через простые аналогии.

Базовые термины

Сначала разберем термины, которые могут вам встречаться в документации, литературе и от "очень умных" коллег.

Link (линк) – это просто соединение между двумя компьютерами. Чаще всего — обычный провод: витая пара (рис. 1) или оптоволокно.

Читать далее

Эксперты шокированы: язык программирования на основе кликбейтных заголовков

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

Кликбейтные заголовки, давайте признаемся, надоели всем. Сейчас они встречаются даже на Хабре. Программист Линус Ли, судя по всему, испытывал те же чувства и решил действовать по принципу «не можешь победить — доведи до крайности». В результате он создал Tabloid — полноценный язык программирования, где весь код пишется в стиле сенсационных заголовков.

Представьте язык, где вместо привычного function hello() вы пишете DISCOVER HOW TO HELLO WITH (англ. «узнайте, как сделать... с помощью»), а вместо return используете SHOCKING DEVELOPMENT! (англ. «шокирующее развитие событий»). А еще каждый листинг должен заканчиваться фразой PLEASE LIKE AND SUBSCRIBE.

Звучит как странная шутка? Да, но этот язык реально работает, имеет собственный интерпретатор и позволяет писать полноценные программы.

СЕНЬОРЫ СКРЫВАЛИ ЭТОТ ЯЗЫК….

Краткий разбор фейковой зарядки в прикуриватель, которая прикончит ваши гаджеты

Время на прочтение5 мин
Количество просмотров18K

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

Читать далее

Вайбовый панк

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

Из всего айти отдела вайбовал один лишь я.
У меня Курсор с подпиской, я довольный как свинья.
Мой папанька инженером отбатрачил тридцать лет,
А сейчас в анкетах пишет что детей у него нет

Я теперь на таски скор — у меня же есть Курсор.
Я на ём вайб код лабаю всем олдам наперекор.
Любой челендж для меня нынче полная фигня.
А-а-а!!! Вайбовый кодер я!

Читать далее

Измеритель силы хвата. Когда реально переоценил свою силу

Время на прочтение6 мин
Количество просмотров12K


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

Недавно вспоминал свои школьные годы и как проходило наше свободное время. Многие из нас занимались спортом. На уроках по физ-ре учитель частенько устраивал разного рода соревнования (это не как сейчас, детей один раз за зиму выпускают на лыжах, а остальное время в зале). Обычно это был бег, подтягивания, прыжки в длину и т.д. (именно по соревновательной системе), но все перевернулось, когда были устроены состязания по армрестлингу, да еще и между разными классами. После этого на переменах мы искали свободный стол, чтобы продолжить состязания – это было очень интересно. Кто ходил в спортзал, начали усиленно заниматься своими предплечьями и плечами. Почти у каждого был кистевой эспандер. Нет, я учился не в спортивной школе, а на физмате. Просто у нас не было телефонов и планшетов. С того времени прошло уже больше 20 лет, но я до сих пор люблю спорт, на сколько это позволяет время.

Читать дальше →

Как выйти из IT?.. и пойти слесарем на завод. Моя попыточка дауншифтинга [2\5]

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

Вторая часть нашего слесарно‑айтишного балета будет с элементами 18+, поэтому уберите от экранов джунов.

Сегодня в попытках «Выйти из АйТи» мы посетим пару собеседований, проведём оценку компаний по косвенным, но важным моментам взаимодействия с human resources, и получим оффер в очень интересном месте...

- Оппа, Сюрприз!

Как выйти из IT?.. и пойти слесарем на завод. Моя попыточка дауншифтинга [1\5]

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

Видя рекламу «Как войти в IT» все шутят про попытки «выйти из АйТи».

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

Пойти работать на завод...

Как в РФ разрабатывали уникальный судовой радар ближней зоны в диапазоне 76 ГГц

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

Этот пост — не про финальный продукт, а про инженерную задачу, которую ранее никто в России (и никто в мире) не решал. Работы над судовым радаром ближней зоны СИД360-76 начались в 2021 году — а первый прототип заработал в лаборатории уже в 2022 и в этом же году был уже временно установлен для тестов на судне. Поводом стал запрос от оператора ледокольного флота: при проводке судов во льдах ледоколы вплотную подходят к борту сопровождаемого судна. В такой ситуации «слепая зона» обычных радаров становится критически опасной. Нужно было решение, которое «видит» препятствия буквально в нескольких метрах от борта и позволит избежать ситуации с наваливанием судов друг на друга.

Читать далее

Ближайшие события

Тихая сила: как управлять не через контроль, а через влияние

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

Иногда тебе кажется, что ты обычный член команды, такой же винтик системы, как и все. Вы так же общаетесь с командой, у вас есть свои приколы, иногда очень жесткие. Ты так же ходишь с ребятами в бар и на квизы, часто скидываете друг другу мемы. Но однажды ты слышишь:
 — Марина так сказала. Как самый важный довод при споре по рабочим вопросам, истина в последней инстанции. И тебя это пугает, потому что ты тоже человек, ты не хочешь, что бы они делали так, как ты сказала, а что бы сами подумали и нашли правильное решение. И тут до тебя наконец‑то доходит что твоем мнение не одно из равных, а самое значимое. И теперь тебе нужно очень внимательно следить за тем, что ты говоришь и насколько хорошо люди тебя поняли.

Читать далее

HackRF One. Доступный SDR трансивер для каждого

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

В очередной раз перебирая залежи своей электроники мне на глаза попался старый добрый товарищ - SDR-трансивер HackRF от Great Scott Gadgets. И я вспомнил, что у меня когда-то давно были планы написать несколько статей о том, как им пользоваться, что он может, да и зачем он вообще нужен. По всему Интернету я нагуглил огромное количество самого разнообразного разрозненного материала насчёт HackRF, утилит, прошивок, дополнительных модулей и прочего. И я решил подсобрать все это в своём материале сделав хороший вводный обзор.

Для всех, кому интересна тема радио и SDR — добро пожаловать под кат!

Читать далее

Нейробиология восприятия: почему мы никогда не увидим мир «глазами» животного

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

(Научный взгляд зоопсихолога на сенсорные миры собак и кошек).

Стена понимания: почему нельзя «стать жирафом»

Посмотрите на эту иллюстрацию. На ней — мое вольное представление о том, как видят мир разные виды. Вольное, потому что мы никогда не будем уверены в этом на 100%. Мы можем изучить мозг, узнать его «инструменты» для обработки информации. Но что «видит» собака, встречая хозяина, или лягушка, ловящая комара? За этими вопросами — нейробиологическая стена.

«Мой кот четыре часа смотрел на дождь», — рассказала владелица рыжего красавца. Этот случай — живая иллюстрация пропасти между нашими мирами. Человек, получающий 70% информации через зрение (Amedi et al., 2017), не способен представить реальность существ, для которых первичны иные чувства.

Эволюционный ключ: природа минимизирует энергозатраты (Niven & Laughlin, 2008). Развитие органов чувств строго коррелирует с их экологической значимостью.

Читать далее

PEP-734: Субинтерпретаторы в Python 3.14

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров7.2K

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

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

Под катом будет про: новые питоновские API для ускорение и паралеллизации ваших програм, про управление памятью, про дублирование данных. Ну и много C кода!

Чтобы разобраться в вопросе и рассказать вам, я сделал несколько важных шагов: прочитал почти весь код данной фичи, начал коммить в субинтерпретаторы и взял интервью у автора данного проекта. Интервью доступно с русскими и английскими субтитрами. А еще я добавил кучу контекста прямо в видео. Ставьте на паузу и читайте код.

Если вам такое интересно или целиком незнакомо – добро пожаловать!

Читать далее

Изучение Python за 2 недели через боль и дедлайн: личная история

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

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

Читать далее

Встреча ISO C++ в Софии: С++26 и рефлексия

Время на прочтение9 мин
Количество просмотров12K


Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса, и сейчас я расскажу о софийской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была последняя встреча, на которой новые фичи языка, с предодобренным на прошлых встречах дизайном, ещё могли попасть в C++26.

И результат превзошёл все ожидания:
  • compile-time-рефлексия
  • рефлексия параметров функций
  • аннотации
  • std::optional<T&‍>
  • параллельные алгоритмы


Об этих и других новинках расскажу в посте

Visi On — предтеча Windows, о которой забыли

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

Если спросить любого человека, хоть немного знакомого с компьютерами, как называлась первая операционная система с оконным графическим интерфейсом для IBM PC, он наверняка скажет — Microsoft Windows. И это будет неправильный ответ. Ещё за два года до Windows 1.0 пользователям PC была доступна ОС с полноценным графическим интерфейсом, меню и окнами, управляемая при помощи мыши. Но про эту систему благополучно забыли… Почему? Сейчас разберёмся, а заодно узнаем, почему Билл Гейтс, увидев Visi On на выставке COMDEX в 1982 году, не поверил в её реальность.
Читать дальше →