Несколько адаптированный перевод статьи одного из основателей Joomla - Брайана Тимена. Сохранён tone of voice автора.
Читать далееУ каждого из нас на жестких дисках копятся терабайты контента. Фильмы, скачанные "про запас", архивы семейных видео, гигабайты музыки во FLAC, которую жалко удалять, и тысячи фотографий. Но есть проблема: потреблять этот контент локально - неудобно. Когда дома лежит большой медиа-архив - фотографии за годы, фильмы, музыка, куча видео - начинаешь задумываться, что работать с этим напрямую через файловую систему совсем не удобно. Особенно в эпоху, когда интерфейсы крупных медиа-сервисов настолько продуманы, что сами по себе стали стандартом UX.
Я поставил перед собой задачу: сделать полноценный мультимедийный сервер, который работает из одного .exe файла, не требует интернета, не требует настройки и предоставляет удобный интерфейс.
Читать далееЕще со времён школы меня будоражили возможности, которые дают компьютеры. Написать программу — это как создать что-то материальное своими руками. Неделю назад я за один вечер прочитал книгу Себастьяна Рашки «Строим LLM с нуля» (доступна на английском бесплатно), в которой без сложной теории матанализа описывается архитектура современных LLM и как их тюнить.
Если вы интересовались, как работают LLM, то уже имеете представление, что модели умеют предсказывать следующее слово и что за этим стоит математика. Но на этом объяснение, как правило, заканчивается. Детали того, как они предсказывают следующее слово, часто рассматриваются как черный ящик.. В этой статье предлагаю рассмотреть эту тему подробнее и познакомиться с тонкой настройкой (fine-tuning) LLM для решения условно-практической задачи классификации с помощью примеров кода, приведенных в упомянутой книге.
Статья устроена так, что все шаги в статье вы можете повторить и в конце получить набор скриптов для выстраивания пайплайна обучения LLM. Я же описал свои шаги, потому что лучший способ что-то понять — это применить теорию на практике и попытаться объяснить результат кому-то.
Чтобы приступить к лабораторной работе, достаем двойные листочки, расчехляем питон и тиктокен.
Читать далееНа дворе уже ноябрь 2025 года, за окном нашей необъятной во многих городах и селах, уже наступила зима , но в инфополе ярко полыхаент схема "купи квартиру, отдай обратно продавец заскамлен был - неведал что творил".
На фоне этих "интересных" событий мне стало интересно изучить техническую сторону того, как это происходит. Анализ множества видео с красно-белого видеохостинга показал, что залог успешно обмана это момент когда мошенник контролирует ПК или телефон жертвы , заставив ее включить видеозвонок в месенджере или установив специальную программу на устройство.
У меня в VK несколько тысяч друзей, и истории давно превратились в шум: много людей, с которыми я не общаюсь, старые контакты, рабочие связи.
При этом удалять всех подряд из друзей не хочется, потому что сеть полезна для проектов и продвижения.
Поэтому я написал простой браузерный скрипт, который автоматически скрывает истории почти от всех, кроме тех, кого я явно добавил в список исключений по имени или ID.
Скрипт запускается из консоли, продолжает работать даже в неактивной вкладке и доступен в открытом репозитории.
GitHub: https://github.com/AleksPetrakov/vk-hide-stories-script/
Читать далееПриложение тормозит. Это жалоба номер один, которую слышат разработчики и архитекторы. Но "тормозит" — это не диагноз. Это симптом. За этим простым словом может скрываться что угодно: от плохо написанного SQL-запроса до "шумного соседа" в облаке или неправильной настройки сборщика мусора.
Оптимизация производительности — это не магия и не набор случайных твиков. Это инженерная дисциплина. Это бесконечный поиск узких мест, компромиссов и баланса между скоростью, стоимостью и сложностью поддержки. Нельзя оптимизировать то, что нельзя измерить. Поэтому, прежде чем менять хоть строчку кода, нужно вооружиться инструментами профилирования и мониторинга.
Читать далееВ этой статье представлен новый подход к разработке программного обеспечения. Он будет полезен как для начинающих, так и для средних программистов.
Читать далееЗадача Эдсгера Дейкстры о философах – великая задача великого программиста. Уж сколько лет, а она актуальна. Решая ее, прикасаешься к этому величию. И вот, перефразируя известное, «давно не было такого и вот опять», можно познакомиться с ее «новым прочтением» на Хабре[1].
Ну, как новое?… Но она стала тем триггером, который подвигнул меня к очередной попытке ее решения. Тем более, что с момента знакомства с философами пролетела уйма лет, а в багаже - опыт применения автоматной модели и значительно усовершенствованная среда их реализации.
Познакомился с проблемой обедающих философов – Dinning Philosopher Problem (DPP), я более двадцати лет тому назад (про DPP см. [2]). Результатом стала статья, в которой философы выполняли поставленную задачу, как минимум, не хуже, чем классические алгоритмы сортировок[3]. Позднее был сделан доклад на конференции по параллельным вычислениям в Саратове, где на суд научной общественности была предъявлена модель автоматных параллельных вычислений и пример ее приложения - задача Дейкстры[4].
Замечание 1. В рамках обсуждения статьи на Хабре было проигнорировано предложение поручить сортировку философам. Зря, конечно, т.к. надо же как-то убедиться, что предлагаемое решение работает хотя бы в первом приближении. К примеру, тот же DeepSeek, моментально выдавший свое решение DPP, так и не смог заставить их сортировать.
Не знаю, считается ли данная задача решенной, но то, с чем я знаком, по большей части беглое рассмотрение проблем, которые она отражает. У задачи есть теория, которая представлена монографией Хоара[5], или моделями сетей Петри у Питерсона[6] и В.Е. Котова[7] или другими подобными публикациям. Но, повторюсь, все это по большей части достаточно краткий анализ свойств модели и/или даже конкретного решения. Статья на Хабре из этой же серии. Все это ни как не окончательное решение описываемых ею проблем параллелизма. Правда, может, [авторами] вопрос так и не ставился, но все же ответ на него весьма желательно иметь.
Читать далееПервым делом пришла идея, я тогда пробовал делать игры только в 2d и пиксель арте. Порисовав в изометрии, я подумал, что графика слишком слабая и я не наберу восторженных отзывов об игре, да и к тому же некоторые симуляторы славятся тем, что после определённого цикла развития, развиваться становится уже некуда и игру приходится заканчивать просто без конечных титров.
В один прекрасный день, как это бывает у меня по цикличности, я вновь загорелся учить электронику, когда увидел книгу "Основы Электричества". Я её купил, а когда начал читать, то в первой теме я всё понимал, но дальше потребовался векторный анализ, который я не знал и тогда я принялся учить линейную алгебру и аналитическую геометрию. Так я прошел и векторный анализ и дошел до того, что захотелось реализовывать каждое знание, которое я подчерпнул из книги.
Таким образом я стал рассуждать, вот 3d, надо пустить луч, я помню, что был способ через матрицы, но не помню какой. Спросив у нейросети и выполнив то, что нужно, я заметил, что алгоритм пересечения сферы с лучем не правильный. Тогда я решил выработать свой способ, ну просто порасчитывать так как мне этого захотелось. Тогда я потратил 5 дней на это и выработал формулу, которая помогает манипулировать фронтом камеры без вычисления обратных матриц. Я обрадовался. Теперь моя функция бросания луча выглядит так.
Читать далееПятая статья в серии о DOM-подобных моделях данных в разных языках программирования.
В предыдущих частях мы разобрали DOM-подобные структуры данных, оценили их поддержку в ряде языков с помощью бенчмарка CardDOM и сравнили их реализацию в JavaScript. и С++, Rust и D-lang (а также упомянули Zig, Odin, Jai, Python, V, Cone и Pony).
Эта растянутая на несколько публикаций серия показала, что современные языки удивительно плохо приспособлены для работы с документной объектной моделью — фундаментальной структурой данных современных высокоуровневых приложений.
Посмотрим, как с этой задачей справляется Argentum — язык, для которого такие структуры данных являются нативными.
Читать далееИстория о том, как наша команда смогла ускорить релизы, снизить затраты и построить масштабируемую архитектуру без хаоса. В статье вы узнаете, подходят ли вам микрофронтенды.
Читать далееЭто довольно короткая статья, целью которой является пояснение того, что вообще такое "модуляризация" Spring Boot, почему она появилась и откуда, собственно, ноги растут.
Для многих Spring Boot это просто автоконфигурация. Само собой Spring Boot гораздо шире и включает в себя в том числе ещё и
Spring Boot Actuator
Spring Boot DevTools
Spring Boot Tools и т.д.
Читать далееИстория стартует в 1982, когда Университет Карнеги (Carnegie Mellon University, CMU) и корпорация IBM запустили Andrew Project, проект который должен был упростить коммуникацию и совместную работу внутри университетского кампуса.
Читать далееНравится вам это или нет, но мы уже давно живем в эпоху, когда хорошие игры так или иначе возвращаются. И зачастую в своем гораздо лучшем варианте, чем в оригинале. Так, мы, например, не ждали, но получили просто шикарный ремейк Silent Hill 2 от Bloober Team, да и о крутости переосмысления Resident Evil 2/3/4 повторяться не хочется.
Однако есть пара неприятных моментов. Первый — эпоха PS3 и Xbox 360 это такое же ретро, как и времена до нее, смиритесь. А второй факт — в этой эпохе застрял ряд очень крутых игр, которые надо спасать. Им нужен ну хотя бы ремастер на современные консоли, а лучше полноценный ремейк.
Что это за игры? А давайте вместе и посмотрим.
Читать далееВсе, кто более-менее знаком с электротехникой, знают, насколько это консервативная сфера: большинство законов, принципов (и даже устройств!) были разработаны чуть ли не сто, а то и более лет назад!
Тем не менее, иногда даже в такой консервативной сфере случаются серьёзные прорывы и, одному из них, многие из нас, были свидетелями: на рубеже между 1980 и 1990 годами благодаря открытию и широкому внедрению редкоземельных магнитов NdFeB (неодим-железо-бор) , SmCo (самарий-кобальт) произошла тихая революция в электродвигателях, где, благодаря таким магнитам удалось кардинально улучшить их характеристики: в те годы даже ходила поговорка, что «электродвигатель никогда не будет летать», из-за большого веса старого типа двигателей (особенно это поговорка касалась малой, беспилотной авиации), а повсюду властвовали исключительно двигатели внутреннего сгорания.
И вот, нынешнее поколение уже даже, наверное, и не представляет, что «а разве когда-то было иначе?», видя, как лавинообразно распространяется беспилотная авиация, дроны.
В свете всего этого, имеет смысл ещё раз взглянуть на историю электродвигателей, как таковых…
Читать далееПривет, Хабр! Продолжаю рассказывать про российские аналоги Microsoft Active Directory для построения корпоративных доменов. Идея этих материалов — собрать в одном месте все известные и распространённые отечественные аналоги, и чтобы человек, малознакомый или не знакомый с ними, мог выбрать нужный и сравнить ответы самих разработчиков. Да, тут на Хабре уже полно статей, но я решил сделать серию материалов, от которой можно отталкиваться, выбрать нужное решение и потом искать дальше материалы по теме. Первый материал был про российскую систему централизованного управления IT‑инфраструктурой «Ред Адм». В новом я поговорил с разработчиками ALD Pro.
Итак, встречайте разговор с директором серверного ПО «Группы Астра» Алексеем Фоменко и менеджером продукта ALD Pro «Группы Астра» Анатолием Лысовым. Мы поговорили о том, как был реализован проект, когда начался, какими он обладает фичами на конец 2025 года и можно ли на ALD Pro перейти с Windows‑инфраструктуры безболезненно. Приятного чтения!
Читать далееВ российском предпринимательском ландшафте появилась структура, которая способно по-новому развивать бизнес-сообщество, меняя правила игры. Telegram и WhatsApp-чаты стали играть роль нового интеллектуального центра тяжести.
С первого взгляда это бизнес-клубы нетворкинга, но в глубине — куда больше. Наше консалтинговое агентство предлагает результаты проведенного обзора чатов по бизнесу в Telegram и WhatsApp российского сегмента.
Читать далееИздание SelaNi опубликовало результат анализа утечки секретных документов DARPA, слитых в сеть в начале недели. В документах в основном финансовые отчёты и перечисления финансируемых программ, но также там оказались планы и отчёты по экспериментам и разработкам проведённым агентством за период с 2009 до 2025 год.
Отчёт 2010 года свидетельствует о том, что основной проблемой военной промышленности США стал найм программистов. Основные критические системы, такие как банки, были написаны на COBOL, а в военной сфере по директиве DoD 3405.2 использовался только язык программирования Ada. Оба языка постепенно потеряли носителей и к 2010 году стало понятно, что им нужно искать замену.
Читать далееПередача информации с помощью электромагнитного излучения происходит двумя основными способами – оптическим (в видимой части спектра с включением соседних областей – УФ и ИК) и радио (в длинноволновой части спектра). Эти способы принципиально отличаются друг от друга и это связано не только с длиной волны используемого излучения.
Оптический способ
На нем основано зрение живых существ и вся техника фиксирования изображений, начиная с фотографии. Хотя обычно зрение и фотографию не относят к процессу передачи информации, фактически это есть основной по объему передаваемой информации способ передачи – из области пространства, в которой расположен наблюдаемый объект, в область восприятия – на сетчатку глаза или фотоматрицу камеры.
Для формирования изображения требуется источник освещения. Каждая точка поверхности оптической сцены излучает сферическую волну, отражая излучение источника. Таким образом, всё пространство оптической сцены заполнено излучением одного и того же спектра, распространяющимся во все стороны. В процессе распространения пересекающиеся волны не взаимодействуют (линейная оптика), но на любой поверхности (экране), куда они попадают, возникает интерференция. При монохромном источнике интерференционная картина явно видна (это используется в голографии), при немонохромном экран освещен равномерно (интерференция есть, но она неразличима из-за очень большого числа волн с разными длинами). Для получения изображения оптической сцены необходим объектив (в простейшем случае – выпуклая линза). Линза осуществляет пространственное разделение попадающих на нее волн таким образом, что в каждую точку экрана приходит волна только из одной точки оптической сцены. Поэтому никакой интерференции на экране не возникает. При монохромном освещении формируется одноцветное изображение, при немонохромном – многоцветное.
Читать далееКомпьютерное зрение развивается стремительно: задачи, которые ещё недавно требовали собственных датасетов и долгого обучения моделей, теперь решаются готовыми инструментами.
Всем привет! Меня зовут Алина, я инженер‑исследователь в Центре искусственного интеллекта СФУ. В этой статье расскажу, как мы применяем методы компьютерного зрения для анализа фотографий уборок в проекте «Чистые игры», как подошли к задаче автоматической оценки качества уборок и какие технические решения легли в основу MVP. В конце поделюсь выводами и тем, что удалось сделать, а что ещё предстоит улучшить.
Читать далее