All streams
Search
Write a publication
Pull to refresh
603
236.6

Пользователь

Send message

HTML как архивный формат. Локальные мини-сайты

Level of difficultyEasy
Reading time6 min
Views7.5K

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

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

Один из вариантов — генерация локальных мини-сайтов с перекрёстными гиперссылками. В таком виде информация воспринимается очень комфортно.

Читать далее

Я — идеальный программист

Level of difficultyEasy
Reading time5 min
Views34K

Я — идеальный программист. Не помню себя таким, чтобы не хотел быть программистом. Задачки с двумя звёздочками, уроки информатики, олимпиады, домашний ПК раньше, чем у остальных — всё шло к моей профессии. Я был твёрдо убеждён в необходимости базового математического образования и получил его. Для меня программирование — это не ремесло, а искусство, помноженное на математику. Каждое утро я читаю Хабр и спецификации языков программирования. Пока чищу зубы, пролистываю профессиональные телеграм‑каналы.

Читать далее

VPS-сервер как платформа для ИИ-агентов

Reading time8 min
Views6.7K

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

Например, на VPS можно запустить агента с круглосуточным мониторингом цен на маркетплейсах: на Хабре недавно была статья об этом. Понятно, что он запускается на любом компьютере, но конкретно для целей мониторинга сайтов в интернете требуется онлайн 24/7.

Читать далее

Большие стройки новых ЦОДов в РФ на паузе, но спрос и цены продолжают расти

Level of difficultyEasy
Reading time7 min
Views5.3K

После санкций стоимость строительства ЦОДов в РФ сильно увеличилась. Это породило парадоксальную ситуацию, когда ввод в строй новых дата-центров приводит к повышению цен. Ключевая ставка ЦБ по-прежнему запредельная для кредитов, а в Москве практически не осталось площадок для новых проектов.

Окупаемость инвестиций в такие проекты составляет 10 лет, так что инвестировать имеют возможность крупные госкорпорации вроде «Ростелекома» и «Росатома», которые точечно запускают новые дата-центры. Каждый отдельный запуск в РФ — уже большое событие, а во всём мире сейчас бум массового строительства ЦОДов для ИИ с на триллионы долларов.

Читать далее

Удобный софт для работы с файлами SQLite

Level of difficultyMedium
Reading time7 min
Views14K

Все мы любим SQLite. Это идеальный движок БД, компактная библиотека размером менее 1 МБ, быстрая, автономная и неубиваемая. Более того, это в принципе удобный способ хранения информации, поскольку СУБД выигрывает у файловой системы по скорости доступа, сжатию, функциональности полнотекстового поиска и т. д. Например, она вдвое быстрее файловой системы Ext4 под Linux.

SQLite — самая популярная в мире СУБД. Как рассказывалось в статье «Безумные и забавные факты о SQLite», в мире активно используется более триллиона (!) БД SQLite, это невероятное число. Просто она встроена во все смартфоны, браузеры, операционные системы и бесчисленное число других приложений.

Читать далее

Личное облако Sandstorm. Платформа для опенсорсных веб-приложений

Level of difficultyMedium
Reading time5 min
Views9.4K

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

Чтобы избежать рисков, лучше самостоятельно контролировать свою компьютерную инфраструктуру. Вот почему сейчас особенно актуален софт для «личного облака»: серверы веб-приложений на своём хостинге, полностью под контролем владельца. Одно из самых известных решений такого рода — Sandstorm, в каком-то роде аналог Google Apps, но на своём сервере.

Читать далее

Puter.js: бесплатный бэкенд для сайтов, приложений и игр

Level of difficultyMedium
Reading time6 min
Views12K

В 2024 году после трёх лет разработки вышла первая версия Puter OS — «операционной системы для веба». Эта опенсорсная платформа по замыслу напоминает CasaOS, которую мы недавно рассматривали, но есть ряд отличий, и она гораздо интереснее.

Puter OS более ориентирована на разработчиков, предоставляя бэкенд, файловое хранилище, облачные вычисления и доступ к ИИ (GPT-4o, o1, o3, o4, Claude 3.7 Sonnet, Llama, Amazon Polly, and Dall-E) совершенно бесплатно для сторонних приложений и сайтов, если добавить туда библиотеку puter.js.

Конечным пользователям Puter OS предлагает единый интерфейс «операционной системы» с десятками тысяч веб-приложений на виртуальном «рабочем столе» (демо, КДПВ).

Читать далее

Карты Tenstorrent для DIY-сервера с локальной LLM

Level of difficultyMedium
Reading time7 min
Views10K

В апреле 2025 года компания Tenstorrent начала принимать заказы на PCIe-карты Blackhole и Wormhole (на фото). Ускорители TPU на открытой архитектуре RISC-V с 28−32 ГБ видеопамяти предназначены непосредственно для разработчиков, которые желают запускать LLM на домашнем ПК или небольшом DIY-сервере. Это реальная альтернатива в сегменте, где пока доминирует Nvidia.

Во главе Tenstorrent стоит легендарный инженер Джим Келлер, ветеран Intel и AMD, создатель микроархитектуры AMD Zen и соавтор x86-64.

Благодаря радикальной открытости своих решений Tenstorrent уже привлекла небольшую армию фанатов среди LLM-энтузиастов.

Читать далее

Форки Firefox. Поднимаем собственный сервер синхронизации

Level of difficultyMedium
Reading time7 min
Views9.4K

Firefox — последний независимый браузер на собственном движке, который противостоит монополии Chrome. Однако некоторые пользователи недовольны политикой организации Mozilla: она собирает телеметрию, угрожает внедрять ИИ, искать новые источники дохода и использовать персональные данные пользователей.

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

Но эту проблему можно исправить. В частности, сервер синхронизации Firefox можно установить на собственном хостинге.

Читать далее

ОС реального времени в эмуляторе Mario, или Как устроены потоки

Level of difficultyMedium
Reading time12 min
Views4.2K

В своём предыдущем посте о потоках я привёл импровизированное сравнение1:

Потоки2 — это просто состояния сохранения3 эмулятора4, связанные с условием, при котором продолжается их выполнение.

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

Поэтому я добавил многопоточность в Super Mario Bros. для NES.
Читать дальше →

Пишем на C самоизменяющуюся программу x86_64

Reading time14 min
Views18K


«Зачем вообще писать программу, меняющую код в процессе выполнения? Это же ужасная идея!»


Да, всё так и есть. Но это и хороший опыт. Такое делают только тогда, когда хотят что-то исследовать, или из любопытства.


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


Предупреждение: в этом посте активно используется язык ассемблера x86_64, в котором я ни в коем случае не являюсь специалистом. Для написания статьи мне пришлось изучать приличный объём материалов, и, возможно (почти наверняка), в ней есть ошибки.
Читать дальше →

CasaOS: персональное облако на домашнем сервере

Level of difficultyMedium
Reading time6 min
Views21K


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

Например, система CasaOS изначально создавалась для одноплатника ZimaBoard (на фото), который позиционируется как мини-NAS. Главная ценность — отшлифованный UI с системными гаджетами для домашнего сервера, отобранный список приложений в каталоге, полезных именно для личного облака, и установка всех программ в докер-контейнерах в один клик. Плюс минимальные системные требования, поддержка старых ПК и одноплатников, включая Intel NUC и Raspberry Pi.
Читать дальше →

Для чего я написал собственный аудиопроигрыватель

Level of difficultyMedium
Reading time12 min
Views7.1K

Как и у многих, у меня накопилось слишком много подписок: некоторые у Apple (iCloud, Apple Music), другие потерялись на разных платформах (например, на Netflix — я и забыл, что всё ещё плачу за него). На самом деле, я регулярно пользовался Apple Music (а ранее Spotify), но потоковая музыка оказалась больше удобством, чем необходимостью. При наличии тщательно подобранной локальной библиотеки я ничего особо не потерял.

Поначалу я думал, что просто продолжу использовать iCloud Music Library для синхронизации музыки между устройствами, но после отмены подписки на Apple Music синхронизация перестала работать. Оказалось, за эту функцию нужно платить. Строго говоря, её можно вернуть при помощи iTunes Match (24,99 $ в год). Match просто хранит AAC-копии с битрейтом 256 кбит/с; ваши исходные файлы остаются на месте, если вы не захотите удалить их. На современных Mac всё это делается в приложении Music. При отсутствии подписок синхронизация с облаком отключается и остаётся лишь синхронизация по кабелю/Wi-Fi.

Раздосадованный ограниченностью возможностей, я решил взяться за разработку. Если уж я купил вычислительное устройство (в данном случае iPhone), то что мешает мне просто создать необходимое мне при помощи кода? В этой статье я расскажу о своих разочарованиях по пути к реализации базовой функциональности музыкального плеера: загрузки аудиофайлов, их упорядочивания и воспроизведения. Но больше всего мне хотелось напомнить себе, что это просто компьютер, и у меня должна быть возможность заставить его выполнять нужные мне задачи.
Читать дальше →

Веб-разработка на ванильном HTML, CSS и JavaScript: стилизация и сайты

Level of difficultyMedium
Reading time22 min
Views6.2K

Это вторая статья из цикла переводов о веб-разработке на чистых (ванильных) технологиях — без фреймворков и сторонних инструментов, только HTML, CSS и JavaScript. В первой части мы обсудили, почему такой подход может быть разумной альтернативой современным фреймворкам и рассмотрели использование веб-компонентов в качестве базовых строительных блоков для создания более сложных примитивов. В этот раз поговорим про стилизацию, а также деплой компонентов в продакшен без использования сборщиков, фреймворков или серверной логики.
Читать дальше →

Веб-разработка на ванильном HTML, CSS и JavaScript

Level of difficultyMedium
Reading time19 min
Views18K

В этой серии статей мы расскажем, как выполнять веб-разработку исключительно на ванильных технологиях. Ни инструментов, ни фреймворков, лишь HTML, CSS и JavaScript.

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

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

Jellyfin Web на своём сервере. Фронтенд для медиастриминга

Level of difficultyMedium
Reading time6 min
Views13K


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

Поэтому для медиасервера лучше выбрать опенсорсную программу, как Jellyfin.
Читать дальше →

Как создавались вокальные эффекты Daft Punk

Level of difficultyMedium
Reading time13 min
Views3.3K

Нас всегда спрашивают, каким вокодером мы пользуемся, но каждый раз в наших вокальных дорожках используется разный эффект вокодера. У нас есть старый Roland [SVC-350], Auto-Tune и DigiTech Vocalist.

В этой цитате содержатся важные подсказки, но она неполная, потому что охватывает только первые два альбома. В ней ничего не говорится о Talk Box, хотя в Around The World он почти наверняка использовался. Судя по цитате, можно решить, что DigiTech Vocalist — это вокодер, хотя на самом деле это не так. Да и какую конкретно модель DigiTech Vocalist они использовали? В серии DigiTech Vocalist есть примерно тридцать устройств, и многие из них были выпущены до релиза альбома Discovery в 2001 году.

Я читал комментарии, в которых предполагалось, что модели DigiTech Vocalist с суффиксом EX особенные, но никто не знает, почему, и никто не опубликовал сравнения, чтобы доказать или опровергнуть эту теорию. Я решил бросить себе вызов и провести тесты самостоятельно.
Читать дальше →

Как защищают фильмы и доставляют их в кинотеатры

Level of difficultyMedium
Reading time12 min
Views17K

У кинематографической индустрии есть собственные стандарты для защищённого создания и распространения фильмов. Всё необходимое, от форматов файлов и шифрования до проекционных систем, определяется в спецификации DCI (Digital Cinema Initiatives).

Сама спецификация доступна публично, но связана с различными стандартами IEEE (Institute of Electrical and Electronics Engineers) и SMPTE (Society of Motion Picture and Television Engineers), которые необходимо приобретать за деньги.

В этом посте мы опишем примерный процесс реализации DCI и подробно расскажем, как работает шифрование DCI-фильма. Мы не будем рассказывать, как взламывать шифрование; к тому же, на момент написания поста никакое шифрование взломано ещё не было. С нашей точки зрения, стандарт DCI хорошо защищён.

Автор поста с 2021 года работает в кинотеатре, ничего не зная о процессах распространения и производства в этой области. Часть информации может быть неполной.
Читать дальше →

14 интересных фич Python (возможно, не совсем pythonic)

Level of difficultyMedium
Reading time21 min
Views25K

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

Если загуглить лучшие 10 продвинутых хитростей Python, то вы найдёте кучу постов или статей на LinkedIn с обзором тривиальных (но всё же полезных) вещей типа генераторов или кортежей.

Я пишу на Python уже двенадцать лет, и за это время нашёл кучу очень интересных, недооценённых, уникальных или (как может кто-то сказать) «не-pythonic» хитростей, позволяющих по-настоящему расширить границы возможного для Python.

Именно поэтому я решил собрать список из 14 лучших таких фич с примерами и дополнительными ресурсами на случай, если вы захотите изучить их глубже.
Читать дальше →

Радиоатака на бойлер

Level of difficultyMedium
Reading time7 min
Views7.3K

Пожалуйста, будьте ответственными и изучите законодательство вашей страны, прежде чем пытаться делать нечто похожее. Передача радиосигналов может очень быстро вызвать юридические проблемы, а полосу, которую я использовал в посте (868 МГц) занимать в США без лицензии незаконно. Не хочу, чтобы в ваш дом из-за меня постучались люди в штатском. Я вас предупредил!

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

Обогрев квартиры показался довольно неудобным. Термостат бойлера, установленный владельцем квартиры, оказался простым радиоуправляемым устройством, использующим встроенный датчик температуры для включения и отключения отопления. Из-за этого возникло несколько проблем:

  • Датчик температуры мог замерять показания только в одной комнате квартиры, которая нагревалась неравномерно.
  • Эта комната зависела от физической близости пульта управления термостатом, что неудобно, если я нахожусь в спальне, а пульт — в гостиной или наоборот.
  • Если я забуду выключить отопление перед уходом из квартиры, то впустую потрачу кучу дорогостоящей энергии.

Я автоматизирую устройства в своей квартире с помощью Home Assistant, и хотел поступить так же с бойлером. Очевидно, для этого есть множество готовых решений, но они бы потребовали участия арендодателя и, вероятно, прихода электрика. А мне этого не хотелось!

Вместо этого я решил управлять отоплением квартиры так, чтобы не оставлять следов, при помощи термостата владельца квартиры, и, может, в процессе узнать немного нового о радиопередаче.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Works in
Registered
Activity