Обновить

Все потоки

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

Сколько воды в бочке?

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

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

Читать далее

Что, если Солнце исчезнет?

Уровень сложностиПростой
Время на прочтение35 мин
Охват и читатели40K

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

Читать далее

Зоопарк строк в вашем C++ коде?

Время на прочтение26 мин
Охват и читатели25K

CryEngine2 использовал класс собственный CString для реализации работы со строками и немного использовал строки из стандартной строковой библиотеки Windows. Насколько я помню, последняя версия CryEngine всё ещё использует те же самые CString, она кардинально поменялась внутри, но как дань истории название класса менять не стали, зато сильно расширили функционал. Я не на 100% уверен, применялся ли CString только в редакторе или в рантайме игры тоже, вы можете сами это посмотреть в исходниках, которые все еще доступны на гитхабе. Это один подход к работе со строками, довольно распространенный в мире игростроя - когда мы все нужное пишем сами, не оглядываясь... хотя, тут больше уместно слово поглядывая, на существующие реализации и утаскивая в проект все самое лучшее.

Есть и другой подход... Я работал в команде над некоторым проектом, который должен был выйти на консолях, и в какой‑то момент на проект пришел эффективный тимлид, который хорошо умел в красивые презентации, и продавил использование std::string из sdk. Все очень опытные программисты, синьоры и руководство важно кивали на совещании и согласились всё перевести на std::string… не такие уж они оказались опытные, как выяснилось. В итоге мы заменили большую часть CString на std::string. Не сказал бы, что это сильно повлияло на время компиляции — плюс‑минус минута к проекту, который собирается двадцать минут, особой погоды не делают, но это также превратило наш довольно понятный базовый код в запутанный кошмар. Возможно, для переносимости это было лучше, но ни наш проект, ни CryEngine2 Editor так и не были портированы ни на Linux, ни на какую‑либо другую платформу.

Прошло десять лет, я вижу ровно туже ситуацию на текущем проекте — новый тимлид решил перевести местный MySuperPupeString на std::string, уже предчувствуя «нижней чуйкой» последствия — запасаюсь попкорном и беру отпуск на следующий месяц после принятия решения. Но не это интересно, а то — какие вообще строки могут быть в вашем с++ коде.

Строка, на строке и строкой погоняет

Сербия застряла в прошлом? О жизни в стране, похожей на Россию 2010-х

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

Сколько в Нови-Саде стоят аренда квартиры и продукты? Чем медлительность, ставшая национальной чертой сербов, нравится приезжим, а когда уже напрягает? Как узнать наших в толпе и при чём тут Россия 2010-х? 

Слово Валентине, дизайнеру продукта Collabis, которая живёт в Нови-Саде больше двух с половиной лет. 

Читать далее

Домашний поверхностный монтаж: путь к своей мини-фабрике

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

Картинка — Youtube-каналы: Tobi, StuckAtPrototype

Рано или поздно каждый, интересующийся электроникой, начинает задумываться о своём проекте и практически сразу упирается в вопрос: где и как производить изделия? И каждый решает этот вопрос по-разному.

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

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

Читать далее

Аппаратные брейкпойнты: для чего они нужны и как устроены в Linux

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

Всем привет! Наша группа занимается RISC-V Linux и загрузчиками в компании «Синтакор». Однажды перед нами возникла задача — реализовать поддержку аппаратных триггеров в ядре Linux и OpenSBI. Она стала началом исследования, в ходе которого я изучил смысл аппаратных триггеров с точки зрения отладчика, их устройство и использование для вотчпойнтов и брейкпойнтов, а также принял участие в совершенствовании поддержки аппаратных триггеров в RISC-V Linux и OpenSBI. 

Этими знаниями я хотел бы поделиться в статье. Покажу на примерах, как устроены брейкпойнты и вотчпойнты в отладчиках, сравню их программную и аппаратную реализации, покопаюсь в деталях их работы в ядре Linux. Начну с легкого способа сломать GDB, а к каким выводам он приведет, вы узнаете далее под катом.

GDB хрясь!

Двигатели Стирлинга

Время на прочтение11 мин
Охват и читатели74K

Geni

Больше 200 лет прошло с момента появления замечательного изобретения Роберта Стирлинга, а его двигатель всё ещё в ходу и не собирается даже покидать человечество, только улучшаясь с ходом времени, благодаря современным достижениям. 

Посмотрим же, что это за устройство и чем примечательно?

Читать далее

Twake Drive. Опенсорсный клон GDrive на своём сервере

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

Французская компания Linagora продвигает облачный сервис Twake Workplace как опенсорсную и безопасную альтернативу Google Workspace и прочим корпоративным платным облакам. В комплект с чатом и почтой входит Twake Drive — защищённое файлохранилище.

В Twake Workplace код открыт, используются защищённые протоколы JMAP и Matrix, шифрование по умолчанию. В публичном облаке бесплатно дают 5 ГБ на файлы. Но самое главное, что Twake Drive можно установить на собственном сервере, с неограниченным дисковым пространством.

Читать далее

5 одноплатников начала осени для решения самых разных задач

Время на прочтение6 мин
Охват и читатели17K

Осень 2025 принесла несколько тихих, но интересных обновлений в мире одноплатников. Производители представили девайсы для самых разных сценариев: от FPGA-решений для разработчиков до бюджетных RISC-V моделей и плат на Intel Twin Lake.

Здесь нет громких анонсов — просто практичные устройства, каждое со своим набором возможностей. Хватит и для экспериментов, и небольших проектов, плюс для тех, кому нужно недорогое железо «на попробовать». Детали под катом.

Читать далее

Excel-лайфхаки, о которых не знают «эксперты»

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

Я наблюдал, как мой опытный коллега-финансист целый час колупался в Excel. Он гуру экселя, работает с ним 20 лет. Но увидев, как он печатает формулы, я не выдержал и показал пару простых трюков, от которых он пришёл в восторг.

Это была проблема незнания — незнания о функциях, которые лежат в Excel годами, экономят часы работы, но о которых просто никто не рассказывает.

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

Читать далее

Сертификаты Минцифры 2 — вы уже в опасности

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

«Запад тоже следит!» - главный аргумент сторонников установки отечественных сертификатов

Сегодня я на пальцах докажу, почему это сравнение некорректно. Сравним два вектора MITM-атаки:

Глобальный (АНБ): Требует взлома математики или сговора с публичным CA, который тут же спалится через логи CT

Локальный (Минцифры): Требует... просто вашего согласия на установку сертификата.

Как браузеры (Chromium-based) молча отключают строгие проверки для «ручных» сертификатов и почему Саша из Минска не нужен Трампу, но очень интересен товарищу майору.

Читать далее

Космотекст: отправляем статьи в космос — и объявляем победителей 🚀

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

Привет от Хабра! Несем вам буквально космическую новость — мы подвели итоги конкурса космических статей и выбрали те, что отправятся в настоящий КОСМОС 🛸. А еще отобрали автора лучшей статьи за время существования Хабра, который забирает экскурсию на Байконур! 

Рассказываем, какие авторы стали космическими победителями и о чем они написали.  

Читать далее

Как я сделал senior-стол за $1000

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

Я решил сделать стол из дубового слэба толщиной 10 см и весом 340 кг. С точки зрения сложности: это senior стол. Вот мои выводы, ошибки, инженерные решения и расходы.

Читать далее

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

Что такое преобразование Фурье?

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

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

Математики лишь в 19 веке смогли освоить этот же расчёт.

В начале 19 века французский математик Жан-Батист Жозеф Фурье открыл способ разложения любой функции на набор основных волн, или частот. Сложив эти составляющие частоты, вы получите исходную функцию. Эта техника, сегодня называемая преобразованием Фурье, позволила математику, ранее бывшему ярым сторонником Французской революции, инициировать свою собственную, математическую революцию.

Читать далее

Щёлк-щёлк — и поехали: как релейная автоматика стала прообразом IIoT. Часть 1

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

Если когда-нибудь у вас в руках было электромагнитное реле, то вы знаете этот приятный щелчок, когда оно срабатывает. За этим звуком — целая эпоха.

Задолго до того как умный чайник получил Wi-Fi, а на заводах развернули первые SCADA, инженеры XX века строили умные системы на реле, шаговых искателях и Булевой алгебре. 

Без микропроцессоров, без языков верхнего уровня, без OTA-обновлений. Только электромеханика.

Щёлк-щёлк и ехали поезда, крутились турбины, говорили абоненты. Давайте посмотрим, какой была автоматизация до появления ПЛК. И оценим вклад в историю прогресса одной из ключевых промышленных технологий - релейной автоматики.

Читать далее

Sipeed NanoKVM: что умеет крохотный кубик RISC-V для удаленного управления компьютером

Время на прочтение8 мин
Охват и читатели20K

Есть такой класс гаджетов, который не нужен рядовому потребителю. Большинство, вероятно, даже не знает об их существовании. Речь, разумеется, об IP-KVM, предоставляющих доступ к устройствам ввода-вывода. Собственно, аббревиатура KVM расшифровывается как Keyboard Video Mouse. Главная задача — дать удаленный доступ по сети без использования средств операционной системы.

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

Читать далее

В кэше — фотка, в ней payload: новый метод скрытой доставки зловредов

Время на прочтение9 мин
Охват и читатели20K

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

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

По сути, атака умело сочетает две техники: принуждение к локальному исполнению (ClickFix/FileFix) и контрабанду кэша (Cache Smuggling). В статье я подробно разберу каждый из этих приемов и покажу, как можно сделать доставку полезной нагрузки еще более незаметной.

Читать далее

Мои любимые CSS-трюки, которые вы могли упустить

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

Привет, Хабр!

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

Ничего против них не имею. Просто хочу рассказать о нескольких приёмах, которые вы могли упустить. Они помогут вам в разных ситуациях.

Давайте посмотрим, что я вам подготовил.

Читать далее

Что происходит, когда вы добавляете строку в PostgreSQL

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

Привет, Хабр! Меня зовут Александр Гришин, я руководитель по развитию продуктов хранения данных в Selectel. Сегодня я предлагаю продолжить разбираться с PostgreSQL и заглянуть еще глубже в эту кроличью нору. Посмотрим, что происходит под капотом СУБД во время записи строк, поверхностно разберем, как устроены страницы памяти, что такое tuple, tuple chain, fillfactor, VM и FSM. Эти знания помогут разработчикам не только понимать, как работает база данных, но и эффективно управлять ее производительностью в продакшене.

Если вы начинающий DBA, разработчик, инженер или архитектор облачной инфраструктуры, эта статья для вас. Погнали?

Погнали!

Вы не сможете это развидеть: краткий гайд по определению LLM-текстов на Хабре

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели33K

Но сейчас я вижу то, что я не просто не люблю, я ненавижу — нейрослоп. Это статьи, которые полны логических ошибок, не отвечает на вопрос заданный в заголовке, с кучей воды. Это не просто дно копирайтинга, это "снизу постучали". Это не было бы проблемой, будь это плохие авторы. Плохие авторы конечны. LLM может генерировать гигабайты текста, только плати за токены, и весьма недорого — у меня есть несколько проектов, в которых LLM используется для NLP, и там ощутимые обьемы входа и генерации, и знаете сколько я потратил за все время существования этих проектов на работу и тесты? Долларов пять. Дешевый некачественный копирайтинг еще никогда не был ТАК дешев.

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

Читать далее