Все потоки
Поиск
Написать публикацию
Обновить

Разработка

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

Защита схемы от переполюсовки, что может быть проще?

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров53K
image
«Я не такая», «со мной этого точно не может случиться» — говорили они, но упорно продолжали пихать батарейки в пульт для телевизора не той стороной…

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

Содержание:



Всех неравнодушных к электронике прошу под кат!
Читать дальше →

Как я создал полностью автоматизированное онлайн радио с AI ведущими и музыкой

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

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

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

Читать далее

Создаем эмулятор Sega Mega Drive на C++

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

В этой статье описано создание эмулятора 16-битной приставки Sega Mega Drive на C++.

Будет много интересного: эмуляция процессора Motorola 68000, реверсинг игр, графика на OpenGL, шейдеры, и многое другое. И все это на современном C++. В статье много картинок, можно хоть на них посмотреть.

Blast Processing!

256 байт веселья, или как развлечь себя Ассемблером когда скучно

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

Это еще одна статья про демосцену, сайзкодинг, ассемблер, MS‑DOS и ретрокодинг. То есть, о том, как ночами напролет добровольно и бесплатно писать бесполезный и очень трудоемкий код, и получать от этого массу удовольствия (и седую бороду). Даже если вы уже пробовали и вам не понравилось, вам все равно стоит почитать. Возможно, вы что‑то делали не так. Например, использовали не те буквы и цифры. А еще тут есть подборка «демок» размером в 256 байт!

Читать далее

«Тупой ИИ» с нами надолго. Почему в новых моделях больше галлюцинаций

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

В последние несколько месяцев ведущие модели обновились с функцией «рассуждений» (reasoning). Предполагалось, что качество ответов улучшится. Но последующие тесты показали, что уровень галлюцинаций сильно вырос. И это не какая-то случайная недоработка разработчиков, а фундаментальное свойство. Сейчас становится очевидным, что от галлюцинаций мы не избавимся никогда.
Читать дальше →

Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1

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

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

В этой статье я хочу рассказать, как можно скачивать видео, аудио (1 часть статьи), плейлисты и целые каналы с YouTube (2 часть статьи) без использования VPN и на чистом Python-е. Сразу оговорка: VPN нам не понадобится, но мы сделаем собственное средство, которое будет решать "проблему с устаревшим и изношенным оборудованием Google Global Cache" (вы поняли, о чём я). Я думаю это средство будет особенно актуально сегодня, когда у многих россиян YouTube почти или совсем не работает.

Читать далее

Регулярные выражения простыми словами. Часть 1

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

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

Хьюстон, у нас проблема, или Чего не договаривают производители HDD

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

Однажды к нам обратился клиент с проблемой: имеется 2 HDD с производительностью записи 250 MБ/с. Из них делается хранилище RAID 0. Начинаем записывать трафик, скорость — 350 MБ/с. Он успешно пишется, но через некоторое время утилизация дисков подходит к 100% и начинаются потери при записи. Вывод клиента: проблема в PT NAD, так как диски должны все успевать. Думаю, многие уже догадываются, в чем соль. У нас тоже имелись догадки, но тем не менее мы решили их проверить. Из этой проблемы и родилось небольшое исследование по записи трафика в хранилище. Под катом — наше расследование «заговора» разработчиков HDD.

Читать

Ошибка ценой в 50 лет: как Intel потеряла корону в процессорной гонке

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

Компания Intel была королем процессорного рынка с самого его зарождения, и многие думали, что так будет всегда. 50 лет абсолютного доминирования и превосходства, узнаваемости и успешности, закончились одним решением человека, которого совсем недавно считали святым. Одним решением, которое отбросило Intel на десятилетие назад и лишило всех финансовых перспектив. Это была ошибка, которая обрушила акции Intel более чем вдвое за последние 9 месяцев. Это была ошибка ценой в 50 лет.

Сегодня компания Intel стоит почти втрое меньше своего вечного конкурента – AMD. И у этого была… всего одна причина.

И имя ей – Пэт Гелсингер.

Читать далее

Все о блокировках VPN за последние две недели

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

Всем привет!

Это команда Amnezia, и мы тут, чтобы ответить на самые часто задаваемые вопросы в связи с участившимися блокировками.

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

Если интересно только то, что сейчас работает - перейдите в конец статьи.

Читать далее

Эта статья опоздала лет на двадцать: музыкальный центр с CD-караоке, радио и блютусом на ESP32 своими руками

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

Пожалуй, самый любимый мой аудиоформат — это CD Audio. Он либо читается идеально, либо не читается совсем — в отличие от кассет и катушек, кинематику проигрывателей которых нужно то и дело обслуживать. При этом компакт-диск обладает такой же тактильностью, как и винил, но существенно меньшими размерами — внушительная коллекция займёт от силы пару небольших книжных шкафов. Ретрофутуризма, как в минидиске, в нём нет, но за отсутствие артефактов ATRAC'а это мы ему простим :-)

Ещё с детства у меня была мечта собрать проигрыватель компакт-дисков самому. В те времена слово «микроконтроллер» звучало гордо, и скорее всего обозначало, что для сборки и наладки схемы нужно иметь целый стенд оборудования на несколько тысяч баксов. Да и приводы компакт-дисков от компьютера были в цене, выкорчевать его из компьютера для своей поделки его никто бы не дал.

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

Поэтому — погнали! Делаем свой CD-player с караоке и CD TEXT'ом!

Push «PLAY»

Яндекс.Разврат или анти-этичный ИИ

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

tl;dr: как обойти внутреннюю цензуру «Шедеврума» и получить то, что хочешь. Описание реализованных состязательных атак с примерами реализации. Без глубокого раскрытия механизма почему так получается.

Читать далее

Меня заставили повайбкодить

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

Я давно пользуюсь кодогенерацией. Ещё во времена Yii фреймворка мне нравилось, что одним кликом мышки можно было сгенерировать CRUD с бэкендом, таблицами и формами. Backbone.js сразу из коробки обеспечивал REST API запросы и другие фичи. Между тем временем и нынешним днём — целый пласт инструментов для автоматизации, бутстрапинга и шаблонизации разработки. Приходилось и хрюкать, и глотать. То, что всё это, мягко говоря, так себе — уже отдельная история. Местами стало даже хуже. Хуже, чем когда вы неделю возились с конфигом Webpack.

В этой статье мы рассмотрим вайбкодинг. В чистом виде так сказать.

Читать далее

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

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции

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

Нет, это не шутка и не кликбейт. Такое действительно возможно — правда через небольшой хак.

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да — это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

Читать далее

Весь китайский автопром от A(vatr) до Z(eekr)

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

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

Читать далее

Контрибьютор C++ забанен за использование слова «question» в названии своей статьи

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

C++ ISO Standards Group, организация, отвечающая за стандартизацию языка C++, так же известная как WG21, исключила из своих рядов longtime-контрибьютора после того, как тот использовал простое слово "question" (рус. - "вопрос") в названии одной из своих работ.

И да, это безумно ровно настолько же, насколько звучит.

Читать далее

Я отклоняю комиты с использованием кучи и прошу коллег переписать такую логику

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

Хочу поделиться своим опытом разработки крупных игровых проектов на C++, где производительность и стабильность — это не просто приятные бонусы, а абсолютно естественные требования к разработке. За годы работы над движками и играми я понял, что подход к управлению памятью очень сильно влияет на весь проект. В отличие от многих приложений - игры, особенно большие, часто работают часами без прерываний и должны поддерживать стабильный фреймрейт и отзывчивость. Когда проседание fps или фриз происходит на глазах у сотен тысяч игроков, вам уже никто не поможет — ущерб уже нанесен, а в steam полетели отзывы о кривизне рук разработчиков.

Однажды моя команда закончила работу над довольно интересным проектом, который портировали больше двух лет на плойку. Движок старый, большой и мощный, но работа с памятью была ориентирована на ПК времен конца 2000-х, и что меня поразило, так это насколько сильно большая часть кодовой базы зависела от динамической памяти во время выполнения. На ограниченном железе (далеко не у всех есть PS5 pro) и в условиях жёстких требований к сертификации на консолях такие решения быстро превращаются в проблему.

В разработке для консолей (про мобильные устройства я молчу, потому что игра не влезает по памяти даже в восемь гигов) с ограниченными ресурсами, архитектура с частыми аллокациями не просто неэффективна — она становится реальной угрозой для стабильности проекта. Каждое выделение памяти в куче влечёт за собой накладные расходы: это дополнительные !миллисекунды! (в целом на кадре) задержки, риск большой фрагментации памяти, и непредсказуемое поведение в долгой игровой сессии. После двух часов игры постоянные операции с кучей буквально «сжигают» половину бюджета кадра.

Читать далее

Сотворение мира за 20 минут на JavaScript, или минималистичная модель эволюции

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

Впервые про моделирование эволюции я прочитал в 13 лет в статье «Жить и умереть в компьютере» (Техника — Молодежи, №5 1993 год). Она произвела на меня столь неизгладимое впечатление, что я тут же загорелся идеей создать что-то подобное.

Однако никак не удавалось проработать законы мира. Как организмы будут «смотреть» на окружающий мир? Как общаться? Как атаковать? Как кушать друг друга? Наконец, как будет устроен их «мозг»? Реализовать виртуальную машину, как в статье из журнала, или использовать что-нибудь проще, типа конечного автомата или схемы из блоков И-НЕ?

Короче, муки творчества да и, что уж там греха таить, ограниченные технические навыки, не позволили довести идею до ума. Я вернулся к ней уже в зрелом возрасте, лишенный юношеского максимализма и перфекционизма. Решил: раз сделать навороченную модель не получается, стоит начать с чего-то более простого. А лень и остатки перфекционизма в организме прошептали: с чего-то максимально простого.

Запустить эволюцию

SOSAL: От теории к практике

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

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

Читать далее

Не пытайтесь угадать мой язык

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

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

IP сообщает, откуда пришёл запрос, и на этом всё. Он не сообщает, какой язык нужен пользователю, на каком языке он говорит и какой язык понимает. Подобная система постоянно ломается — VPN, путешествия, эмиграция, страны с несколькими официальными языками. Это не умное, а раздражающее решение.

Читать далее