Как стать автором
Обновить
3050.17
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15
Сначала показывать

Стриминг музыки со своего сервера

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


YouTube Music, «Яндекс Музыка», Spotify, SoundCloud — относительно удобные музыкальные сервисы, но с недостатками:

  • плохая работа в офлайне;
  • отсутствие поддержки lossless;
  • абонентская плата;
  • неполная фонотека;
  • многое другое...

Их коллекции далеки от полноты. Редких треков вообще нет. Более того, музыка иногда просто пропадает из-за каких-то заморочек с авторскими правами.

К счастью, очень легко организовать стриминг музыки со своего сервера. Хранить всю музыкальную коллекцию у себя на компьютере — зачастую надёжнее, удобнее и дешевле, чем облачный сервис.
Читать дальше →

Милый Amilo. Винтажный ноутбук с неожиданными характеристиками

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

Я очень люблю винтажную компьютерную технику — за тот непередаваемый шарм, которым обладают старые компьютеры. Поэтому увидев в продаже Fujitsu Siemens Amilo D 8820, я не смог удержаться и купил этот компьютер, чтобы попытаться вдохнуть в него вторую жизнь.
Читать дальше →

Польские игры: от Atari и пиратства до AAA-тайтлов (часть первая)

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

Сейчас польский геймдев ассоциируется исключительно с хорошими играми: благодаря CD Projekt Red весь мир узнал о Ведьмаке, а Cyberpunk 2077, после нескольких серьёзных патчей и великолепного масштабного дополнения, стала одним из лучших представителей жанра киберпанка. Однако ещё в девяностых в стране процветало пиратство и не было финансов на создание хороших игр, а в начале нулевых деньги зарабатывались «польскими шутерами».

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

Производительность интерпретатора Python 3.14 с оптимизацией хвостовых вызовов

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

Примерно месяц назад проект CPython смерджил новую стратегию реализации интерпретатора байт-кода. Первоначальные результаты были очень впечатляющими, продемонстрировав среднее повышение производительности на 10-15% в широком спектре бенчмарков на различных платформах.
Читать дальше →

Соцсети как цифровой фастфуд

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

Несмотря на известные факты о вреде для здоровья, Facebook* начинает окучивать детей

Согласно исследованию 2012 года, опубликованному на сайте Национального института здоровья, интернет-зависимость (Internet Addiction Disorder, IAD) разрушает жизнь, вызывая «неврологические осложнения, психологические нарушения и социальные проблемы». В справочнике психических заболеваний «Диагностическое и статистическое руководство по психическим расстройствам» (DSM-5) это расстройство до сих пор официально не значится, однако в МКБ-11 (май 2019 г.) включены зависимость от видеоигр и зависимость от азартных онлайн-игр.

Стимулируя выброс дофамина, социальные сети действуют как «цифровой наркотик» и вызывают некоторую степень зависимости. Наверняка вы видели людей, которые буквально каждый день заходят в свой профиль, чтобы почитать ленту новостей от «френдов».
Читать дальше →

Существует ли мультивселенная в реальности, или это лишь удобная теоретическая концепция?

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

За 600 лет до нашей эры в городе Милет, на территории современной Турции, жил Анаксимандр Милетский — древнегреческий философ, представитель милетской школы натурфилософии, ученик Фалеса Милетского. В какой-то момент он сменил Фалеса на посту главы школы, и среди его учеников были Анаксимен и, возможно, сам Пифагор.

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

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

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

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

Дело всегда в TCP_NODELAY

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

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

Но для начала давайте проясним, о чём вообще речь. Лучше всего нам в этом поможет документ RFC896, изданный Джоном Нейглом в 19841 году. Вот описание задачи:

Обработка малых пакетов сопряжена с одной специфичной проблемой. Когда для передачи односимвольных сообщений с клавиатуры используется TCP, обычно для отправки одного байта полезных данных задействуется пакет размером 41 байт (один байт данных и 40 байт заголовка). Такие издержки в 4 000%, конечно, раздражают, но в слабо нагруженных сетях ещё терпимы.

Если коротко, то Нейгл хотел сократить затраты на отправку TCP-заголовков, чтобы повысить пропускную способность сети — вплоть до 40х! Эти крохотные пакеты поступали из двух основных источников: интерактивных приложений вроде оболочек, где пользователь вводил по одному байту за раз, и плохо реализованных программ, которые передавали сообщения ядру через множество вызовов write(). Предложенное Нейглом исправление оказалось простым и продуманным.
Читать дальше →

Хотите ли вы дифрагировать так же, как хочу этого я?

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

Существует одна область, с которой мы так или иначе сталкиваемся в реальной жизни, и которая меня всегда довольно сильно привлекала — дифракция, так как она вызывает разложение света на радужный* спектр.

Мы наблюдаем это повсеместно: радуга после дождя, радужные ореолы в туманную погоду вокруг фонарей вечером, радужная поверхность мыльных пузырей и капель бензина на асфальте, поверхность CD/DVD дисков, лицензионные наклейки и прочее, прочее, прочее…

При этом с использованием этого эффекта можно создать интересную самоделку, доступную практически каждому, минимально «дружащему» с электроникой и программированием. Мне кажется, она потенциально может стать бестселлером (не знаю, насколько это слово применимо к самоделке, но тем не менее).

В любом случае, такая самоделка даёт новую неординарную возможность, до которой я додумался буквально недавно, и никогда не встречал её ранее: как создать дифракционную кухонную скалку или дифракционный малярный валик — довольно странные, но удивительные вещи. У меня самого ещё идёт мыслительный процесс и работа над результатом, и я решил с вами поделиться. Думаю, это будет интересно. А желающие могут попытаться даже обогнать меня в разработках ;-)

UPD. К моменту окончания написания статьи я догадался ещё до пары способов, и там вообще нужны только руки — даже безо всяких микроконтроллеров. Желательно >0 и этого достаточно :-)))
Читать дальше →

Пришествие Интернета в Россию. Часть 2: УНАС, ДЕМОС, МНОС и ИНМОС, или как «советизировали» UNIX

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

Итак, в начале 1984 года исходный код BSD-UNIX был выкачан советскими программистами и незамедлительно оказался в руках специалистов из Курчатовского института, которые занялись его изучением и адаптацией для работы на советских ЭВМ. Это стало отправной точкой для создания отечественной UNIX-подобной операционной системы ДЕМОС, адаптированной к «железу» производства СССР и стран СЭВ, а также к русскому языку. Параллельно с этим ещё несколько команд пытались реализовать те же идеи самостоятельно — по разным причинам и с разными успехами. Как это происходило, как об этом вспоминали участники, и почему в соревновании победил именно ДЕМОС?
Читать дальше →

Не позволяйте словарям портить ваш код

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

Как часто ваши простенькие прототипы или предметные скрипты превращаются в полномасштабные приложения?

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

Самодельная газоразрядная лампа с «невидимым» электродом

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

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

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

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

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

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

Читать далее

Гилморовская модификация стратокастера

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


Привет, Хабр! Меня попросили довести до ума «народный Suhr» — недорогой суперстрат Сort G250 Deluxe, выполненный в бутиковом стиле. Поставленные задачи подразделялись на решение объективных проблем инструмента и воплощение пожеланий его хозяина.

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

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

Как я создавал Telegram-бота с помощью ChatGPT

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

Не так давно мне пришла мысль попробовать создать собственного Телеграм-бота (просто из любопытства). Никаких знаний в программировании у меня нет, поэтому первого бота я создал с помощью специального конструктора для Телеграм-ботов. Довольно удобная штука, но зачастую обладает ограниченным функционалом или требуют оформления подписки. И тут мне в голову пришла идея воспользоваться популярным ChatGPT и попробовать создать бота с нуля, во всём следуя инструкциям нейронки. Устанавливать дополнительный софт на своём основном ПК мне не очень хотелось, поэтому разместить бота я решил на VDS-сервере.
Читать дальше →

Компактные структуры данных

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

Введение


Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество1. Я обнаружил статью, написанную пятнадцать лет назад2, в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться.

Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science.

Этот преподаватель (Гонсало Наварро) очень тепло меня принял и сразу же ответил мне3 4. И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области компактных структур данных (succinct data structure). Невежество может завести очень далеко.

Что же такое компактные структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами.

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

Я решил, что стоит немного о них рассказать.
Читать дальше →

Правильный усилительный каскад на биполярном транзисторе

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров18K
В статье я простыми словами расскажу о схемотехнике однотранзисторного усилительного каскада с улучшенными характеристиками. Рассмотрим назначение каждого элемента схемы. Каскад можно использовать как входную часть усилителя мощности звуковой частоты или как самостоятельный предусилитель с батарейным питанием, например, встроенный в микрофон или в электрогитару. Это позволит улучшить отношение сигнал/шум и упростит задачу оцифровки, так как по сигнальному кабелю будет передаваться сигнал большей амплитуды.


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

Джойстики из джойстиков своими руками

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

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

Будем курочить джойстики от старых игровых консолей, не приходя в сознание. Из двух проводных джойстиков сделаем один, другой джойстик лишим провода, а ещё пару просто подключим проводами. По сути это сразу три разных микро-проекта, связанные общей тематикой. Нет времени объяснять, приступаем!
Читать дальше →

Магия CSS на практике: советы по вёрстке от гика. Часть 6

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


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


Сегодня мы рассмотрим:

  • мой подход к написанию стилей для динамической сетки без использования БЭМ-модификаторов;
  • как я перестал писать свойство text-decoration со значением none для элемента <button>;
  • способ для вычисления значения свойства width в зависимости от контента элемента;
  • почему вам стоит удалить все стили с использованием псевдо-класса :focus.

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

Читать дальше →

Я мучился с Git, поэтому создал про него игру

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

Прошло два года...


… с тех пор, как я разработал и выпустил Git-Sim — бесплатный опенсорсный инструмент для визуализации команд Git непосредственно в репозиториях пользователя.

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

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

Глупо покупать технику последней модели, если старая работает хорошо. И можно собрать ПК из комплектующих

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

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

Если ещё подумать, то новые гаджеты и компьютеры вообще нет смысла покупать, когда старые нормально работают.
Читать дальше →

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds