Задумался о будущем языка #PHP. Слова “PHP умирает, у него нет перспектив” я слышал ещё, кажется, с 2009 года, и прежде ничего, кроме усмешки, это не вызывало. Но с появлением ИИ всё поменялось: всякие специализированные ИИ-решения типа CoPilot или того же Lovable его не поддерживают в принципе. Вот это уже может привести к тому, что язык реально утратит свою популярность даже в области “малого Web”, где его потеснит JavaScript/TypeScript. И это заставляет задаться вопросом, имеет ли смысл начинать на нём сейчас новые проекты или нет. (Уточню, что речь идёт скорее о pet projects, целевой аудиторией которых являются энтузиасты, делающие любительские некоммерческие сайты, сообщества по интересам и т.п.) #программирование #языки_программирования #small_web #pet_projects
DIY-проект: гусеничная платформа с ИК-управлением на Arduino
В статье расскажу, как собрать гусеничную платформу, управляемую ИК-пультом. Платформа будет принимать команды с пульта через ИК-датчик, которые будут обрабатываться платой Iskra mini (российским аналогом Arduino mini). Также речь пойдет о том, как определить коды кнопок любого ИК-пульта, даже если это старый пульт от видеомагнитофона вашей бабушки. Я напишу код для Iskra mini, который будет принимать команды и управлять платформой. В конце вас ждет видеодемонстрация её возможностей. На создание этого проекта меня вдохновил интерес к DIY и электронике. Также я хочу поделиться своими знаниями в робототехнике с людьми, которые только начинают осваивать Arduino. Нет ничего лучше, чем начать с простого проекта, который в дальнейшем можно усложнить. Думаю, статья будет интересна начинающим робототехникам и любителям проектов DIY с микроконтроллерами Arduino. Я буду подробно описывать процесс, чтобы любой желающий мог повторить этот проект на аналогичных или похожих компонентах.
Рудирон — разработка ПО на языке С++ и дополнительные программные инструментальные средства
Установка и использование программных средств для программирования и взаимодействия с контроллером "Рудирон".
Нашёл ещё одну альтернативу C: язык Hare. Позиционируется как системный язык программирования, заточенный под написание компиляторов и сетевого ПО с ручным управлением памятью и статической типизацией (как раз то, что я искал). Глянул бегло примеры кода — сложилось впечатление, что кому-то пришло в голову скрестить Rust с серверным JavaScript (в основном, из-за того же механизма экспорта, что и в последнем). Но в целом синтаксис у него более легко читаемый и интуитивный, чем у Rust. В общем, если он доживёт до версии 1.x, буду рад! #программирование #языки_программирования
Какие проблемы создает использование ИИ программистами
Недавно посмотрел на ютубе видео, в котором поднимается проблема того, что на место классических программистов‑кодеров приходят «программисты»‑prompt‑инженеры. Само видео мне не очень понравилось — путанное и цикличное повествование, бессмысленная картинка большую часть времени. Но под конец автор высказал ряд мыслей, которые вдохновили меня на написание статьи. Сами мысли я повторяю в конце статьи, но вот вам таймкод . И рассуждения я начну с вопроса — «ну и в чем проблемы?» Перейти к статье
UI/UX: Учимся использовать настоящий MVC
В этой статье я расскажу о том, что такое MVC и об идеях, которые были заложены в этот шаблон его создателем. Мы рассмотрим, как MVC улучшит UI и UX ваших приложений, сделав их понятнее и прозрачнее для пользователей. Рассмотрим способы организации кода по этому шаблону, чтобы вы смогли сразу применить эти знания в своей работе. А так же посмотрим на несколько вариаций этого шаблона, которые улучшают тестирование и ускоряют разработку.
Хотя… проблем больше, чем позитива. В лучшем случае можно написать однопоточный, очень медленный клиент, который: Подключается к трекеру и получает список пиров
Загружает файлы в порядке кусков
Не поддерживает DHT
Не умеет одновременно качать и раздавать
А ещё нет многозадачности, нет нормального асинхронного ввода-вывода, OpenSSL для Magnet-ссылок, zlib для сжатия просто не запустятся.
Короче, обидно прям. Жаль нет чего-то более свежего, что могло бы быть обратносовместимо с оригинальным MS-DOS, но при этом работать с новыми программами.
#FreeDOS #ретротех #торренты #программирование https://cr8r.gg/@rakhelele/114216050869971201
Идея была проста: а что, если запустить торрент-клиент на FreeDOS? Ведь TCP/IP-стек есть, сокеты работают, да и торрент-протокол в целом не слишком сложный.
Но на практике всё оказалось веселее. Отсутствие многозадачности, ограниченный доступ к современным библиотекам и возня с 16-битной средой быстро превратили проект в ад. Попытки портировать что-то готовое тоже провалились — даже самый лёгкий клиент требовал слишком многого.
Я вполне осознаю, что я не гений, но в итоге, можно написать торрент-клиент для FreeDOS или реально на нём только старые игры запускать? (Что тоже очень не плохо, но…)
Мои правила
Можно считать эту статью второй частью в неком цикле про мои принципы в работе. В первой части я писал про какие-то неважные для меня вещи на примере code-style . Теперь логично рассказать о том, что для меня важно, про некоторые правила, которые помогают мне в работе. Это не только про написание кода, но и про процесс разработки в целом.
**Vim** — это мощный текстовый редактор, известный своей скоростью и эффективностью при редактировании кода и текста. Он является улучшенной версией редактора **Vi**, который был разработан для Unix-подобных систем.
#Vim #Vi #ТекстовыйРедактор #Программирование #КомандныйРедактор #Кодинг #МодальныйРедактор #Автоматизация #Разработка #Linux
### Основные особенности Vim:
- **Модальный редактор**: в Vim есть несколько режимов работы:
- **Normal mode** (обычный режим) – для навигации и редактирования.
- **Insert mode** (режим вставки) – для ввода текста.
- **Visual mode** (визуальный режим) – для выделения текста.
- **Command mode** (командный режим) – для выполнения команд.
- **Горячие клавиши и команды**: например, `dd` – удалить строку, `yy` – скопировать строку, `p` – вставить.
- **Гибкая настройка** через `.vimrc`.
- **Поддержка макросов, плагинов и автодополнения**.
Vim может показаться сложным для новичков из-за своей необычной системы управления, но опытные пользователи ценят его за **быстродействие и мощные возможности редактирования**.
Для выхода из Vim без сохранения используется команда:
```
:q!
```
А для выхода с сохранением:
```
:wq
```
Пришло время повысить сложность задачи.
Теперь спрайтами должны управлять не случайные сигналы, а магнитуда выбранного инструмента.
Мне приглянулась композиция от cynicmusic - November Snow (https://opengameart.org/content/november-snow) из-за чётко звучащего фортепиано (назовём его условно так). Я изучил график спектра в Audacity и обнаружил пики на частотах ≈800Гц.
Там располагается несколько нот официального фортепиано, пробовал сужать и расширять диапазон фильтрации, оценивая нужный мне уровень магнитуды, но, увы, было много ложных срабатываний.
Тогда я решил поискать гармоники - кратные частоты основному тону. Если предположить, что основной тон мог быть в районе 800Гц, то следующая гармоника должна быть где-то в 2*800=1600Гц. И в диапазоне 1540-1630Гц там действительно есть более узкий и чёткий пик, оно кое-как, но заработало.
Снежинки - звёздчатые многоугольники и фракталы Коха ( 60°, аксиома F++F++F, правило F=F-F++F-F в системе Линденмайера.
Классическая жизнь фронтенд-приложений и их сопровождение
Рассмотрим типичный сценарий разработки фронтенд-приложений. Бизнес выдвигает требования, которые постепенно усложняют компоненты. Это приводит к проблемам сопровождения, особенно в больших проектах.