Pull to refresh
3
0.2

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

Send message

«Невозможный» аудиокодек для Sega MD

Level of difficultyHard
Reading time25 min
Views7.9K

Вступительный текст про легендарную консоль, вода, бла-бла-бла. Искрой для появления статьи послужил неожиданный факт: ЦАП мегадрайва способен воспроизводить звук с качеством 26 килогерц 8 бит. Что? Хочу такое! Но… Максимальный размер картриджа 4 Мб, этого хватит на 2.5 минуты такого звука, с распаковкой современных кодеков старый процессор не справится. Качество против количества. Нерешаемое противоречие, но если сильно хочется, то всё получается.
Читать дальше →
Total votes 67: ↑79 and ↓-12+91
Comments25

«Клиентов нужно не искать, а создавать»: погружение в Telegram API через TDLib

Reading time9 min
Views9K

Сперва я рассказывал простые вещи о Telegram Bot API и делал интересных ботов — виртуальную подругу и друга для заказа шавермы. Затем коснулся тестовых серверов и юзерботов. И наконец, пришла пора заглянуть глубже — узнать, как сделать свой клиент для Telegram. Что такое TL-схема и TDLib? Об этом мы сегодня и узнаем.

Данная статья не только поможет тем, кто решил написать свой клиент для Telegram, но и немного расширит кругозор остальным: MTProto — это не приевшийся JSON API. Добро пожаловать под кат!

Готовы показать свои знания в IT? Примите участие в IT-кроссворде Selectel, выиграйте 10 000 рублей на аренду серверов и эксклюзивный мерч Selectel.

Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments9

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views97K

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

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Total votes 386: ↑386 and ↓0+386
Comments388

Бардак в GNOME — это не случайность

Level of difficultyMedium
Reading time13 min
Views51K

GNOME удалось добиться, казалось бы, невозможного: это самая ограниченная по возможностям и раздутая десктопная среда для Linux. Но это не просто случайность. Это результат высокомерия и дилетантства основных разработчиков, превративших архитектурные решения GNOME в шедевр хаоса. Чтобы лучше понять, что происходит, давайте проанализируем некоторые из примеров. Даже если ни один из них не затрагивает непосредственно вас, стоит понять modus operandi ведения проектов GNOME и то, как они вредят сообществу Linux.
Читать дальше →
Total votes 165: ↑157 and ↓8+149
Comments271

Почему мое производство пельменей умирает

Reading time9 min
Views147K

В 2018 г. я открыл производство пельменей и полуфабрикатов. Шучу, что у меня 3 класса образования церковной школы, так как мое высшее по специальности “социальная коммуникация” не кажется мне фундаментальным.

6 лет мы продаем 50 позиций пельменей, голубцов и чебуреков в 200 магазинов. В ковид ели много пельменей и у меня было 3 цеха, доходило до тонны в день. А сегодня я провожу аудит, закрыл 1 цех и думаю о закрытии остальных. Если считаете, что бабушкины пельмени лучше магазинных, ставьте лайк и пишите об этом в комментариях.

Читать далее
Total votes 352: ↑281 and ↓71+210
Comments762

Как мы уложили компьютерный мультик в 8 кБ

Reading time16 min
Views14K

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

В апреле 2023 года, спустя несколько месяцев работы, мы, наконец, выкатили ленту Барашек и цветок. Можете сами скачать его или проследить на YouTube ход выполнения программы.

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

Читать далее
Total votes 92: ↑90 and ↓2+88
Comments32

Как мошенники научились подтверждать личность в банке. Всё оказалось проще…

Reading time5 min
Views154K

Наступил 2024 год. Год технологий и новых мошеннических схем!

25 января

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

Читать далее
Total votes 313: ↑306 and ↓7+299
Comments788

Капибара: открытый бета-тест

Reading time6 min
Views5.9K

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

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

История проекта

Проект "Капибара", как идея, был зарожден 24 июля 2023 года в ответ на объявление о ключевых изменениях на пикабу . Ответный пост прожил всего час перед удалением, но за это время собрал огромное количество комментариев поддержки и предложения помощи в создании нового портала. Сразу после объявления идеи был создан телеграмм-чат, в который за первые сутки пришло 3,5 тысячи человек, а через несколько дней число участников достигло 9 тысяч. Из этого числа была сформирована команда разработчиков. Основная концепция "Капибары" заключалась в создании портала с акцентом на честной саморегуляции контента пользователями, прозрачности алгоритмов и открытом исходном коде. Ввиду острой потребности авторов в площадке для публикации уникального контента, команда быстро создала телеграм-бота, который принимал посты пользователей и публиковал их в канале, где другие могли оценивать и комментировать их.

Читать далее
Total votes 30: ↑25 and ↓5+20
Comments73

Обслуживание HTML из MS-DOS

Reading time5 min
Views4.5K

Отсутствующий в MS-DOS стек протоколов TCP/IP всегда был поводом для жарких дискуссий – и это при том, что изначально его поддержка в ОС не планировалась вовсе. И дело вовсе не в том, что MS-DOS он был бы не по силам. TCP/IP на момент разработки DOS еще не был реализован самой Microsoft. Разве что в Windows 3.11 промелькнул IPX/SPX. Окончательно утвердился стек TCP/IP только в Windows 95.

Тем не менее, благодаря потрясающей работе по созданию бэкпортов, проделанной множеством энтузиастов по всему миру, TCP/IP всё же удалось заставить работать в MS-DOS. В эмуляторе 86Box можно установить виртуальную сетевую карту, загрузить её драйверы и запустить TCP/IP. При этом получится даже просматривать веб-страницы. Но сейчас мы сделаем нечто еще более дикое. Заставим нашу виртуальную MS-DOS машину работать в качестве веб-сервера и разместим на нем свою HTML-страницу. Приступим!

Читать далее
Total votes 33: ↑33 and ↓0+33
Comments11

По локоть в легаси: пошагово перезапускаем устаревший портал на PHP

Level of difficultyMedium
Reading time10 min
Views11K

PHP — один из самых популярных языков веб-разработки уже около 20 лет, а самому языку скоро стукнет 30. За это время на нем написали огромное количество больших и маленьких проектов. Некоторые сайты, созданные в 90-х, 00-х и 10-х, хранят код еще с тех давних времен. И чем больше времени проходит с начала разработки, тем меньше на рынке специалистов, готовых разбираться в легаси и не самых современных технологиях.

В похожей ситуации оказался портал fishingsib.ru — один из крупнейших в рунете сайтов о рыбалке, который посещают больше 10 000 человек ежедневно. Он создавался в начале 2000-х как форум для рыбаков-любителей и пережил несколько довольно серьезных обновлений кодовой базы. Последнее из них — переезд на CakePHP 2 в 2012 году. На этом фреймворке и PHP 5 сайт жил до 2017 года.

Владелец fishingsib.ru планировал поддерживать и развивать сайт, внедрять новую функциональность, однако столкнулся с техническими проблемами. Любые доработки были очень долгими из-за неудачных архитектурных решений и сильной зависимости от устаревающего и не особенно популярного CakePHP 2. После каждого обновления появлялось множество багов. В то же время не удавалось найти новых разработчиков, потому что большинство специалистов не хотели работать в проекте с неактуальным стеком. Развитие проекта сильно замедлилось и стало понятно, что с технической частью нужно что-то делать.

Читать далее
Total votes 57: ↑57 and ↓0+57
Comments15

Новая блокировка OpenVPN и Wireguard замедляет интернет в России

Reading time3 min
Views126K

Позавчера, 15 января ночью, по всему Рунету пошли сигналы, что протоколы WireGuard/OpenVPN массово «отвалились». Судя по всему, с понедельника Роскомнадзор снова взялся за VPN, экспериментируя с блокировками OpenVPN и Wireguard в новом масштабе.

Мы в Xeovo заметили это по большому наплыву пользователей, которые вообще не знали что протоколы блокируются (где они были все это время). Уже учения были много раз, и мы предупреждали клиентов, но, видимо, OpenVPN и WireGuard до сих пор очень хорошо работали у всех. На настоящий момент блокировка продолжается. Возможно, тестируют, как все работает перед выборами. 

Читать далее
Total votes 142: ↑106 and ↓36+70
Comments378

Cron — лучшие практики

Reading time9 min
Views59K

Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Total votes 41: ↑38 and ↓3+35
Comments45

Создавать собак, кошек и даже лошадей в нейросети стало проще! Вышел ControlNet Animal OpenPose для Automatic 1111

Level of difficultyEasy
Reading time3 min
Views2.7K

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments0

Ускоряем работу python с numba

Level of difficultyEasy
Reading time7 min
Views7.5K

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

Numba — это Just-In-Time компилятор, который превращает ваш код на питоне в машинный код на лету. Это не просто мелкая оптимизация, а серьёзно ускорение.

Если вы знакомы с интерпретируемыми языками, вы знаете, что они обычно медленнее компилируемых из-за необходимости анализировать и исполнять код на лету. Но что, если бы вы могли получить лучшее из обоих миров? JIT-компиляция позволяет интерпретируемому языку, каким является Python, динамически компилировать части кода в машинный код, значительно ускоряя исполнение.

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

Читать далее
Total votes 22: ↑18 and ↓4+14
Comments12

Затыкаем рот Windows 10

Level of difficultyHard
Reading time33 min
Views96K


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

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

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Total votes 217: ↑207 and ↓10+197
Comments308

Как фирма из Эйндховена стала монополистом на рынке современного оборудования для производства микросхем

Reading time7 min
Views119K

Степпер ASML: ключевое звено в производстве микросхем. На нём производится засветка фоторезиста через маску, как в фотоувеличителе. Стоимость прибора около $170 млн

У всех на слуху компании Intel, Samsung и TSMC — три крупнейших в мире производителя микросхем (последняя выполняет заказы для Apple и AMD).

Однако мало кто слышал об ASML — скромной компании в пригороде Эйндховена, пятого по величине города Нидерландов. Но если посмотреть, эта фирма играет ключевую роль в микроэлектронной промышленности. Это единственный в мире производитель степперов для фотолитографии в глубоком ультрафиолете (EUV), пишет издание The Economist.
Total votes 55: ↑53 and ↓2+51
Comments111

4 миллиарда операторов if

Level of difficultyMedium
Reading time7 min
Views111K

Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.

В современном мире, где ИИ постепенно заменяет программистов, отнимая у них работу и совершая переворот в том, как мы подходим к рассуждениям о коде, нам, возможно, следует быть более открытыми к мыслям людей, недавно пришедших в нашу отрасль? На самом деле, показанный выше код — идеальный пример компромисса между временем и задействованной памятью. Мы жертвуем временем и в то же время памятью и временем компьютера! Поистине чудесный алгоритм!

Поэтому я решил изучить эту идею проверки чётности числа при помощи одних сравнений, чтобы понять, насколько хорошо она работает в реальных ситуациях. Я сторонник высокопроизводительного кода, поэтому решил реализовать это на языке программирования C, потому что он и сегодня остаётся самым быстрым языком в мире с большим отрывом от других (благодаря гению Денниса Ричи).

Читать далее
Total votes 376: ↑359 and ↓17+342
Comments153

Я изучал иностранный язык 3 месяца с DuoLingo. Почему это не самый эффективный инструмент для изучения языка

Level of difficultyEasy
Reading time5 min
Views78K

Уже чуть более трех месяцев я учил испанский язык  с помощью тренажера DuoLingo. Это первая часть эксперимента. Моей целью было оценить объем знаний и перспективы использования DuoLingo изучающими иностранный язык.

Я не тратил много времени, 10-15 минут в день, иногда меньше. При этом я намеренно не использовал других источников. В общем, действовал, как средний студент без особой мотивации.

Читать далее
Total votes 64: ↑55 and ↓9+46
Comments166

Графика древности: палитры, часть 2/2

Level of difficultyEasy
Reading time26 min
Views8.8K

В предыдущей части цикла статей мы рассмотрели историю эволюции палитр в цветной компьютерной графике домашних компьютеров и игровых консолей, а также причины, почему они оказались именно такими и содержали те или иные цвета. Однако тема палитровой графики ещё не исчерпана. Сегодня поговорим про множество других интересных вещей: программируемые палитры и экономию памяти, палитровые анимации и визуальные эффекты, проблемы цветопередачи, обход ограничений на количество цветов, таинственный «артефактинг» и особенности рисования палитровой графики.
Читать дальше →
Total votes 105: ↑105 and ↓0+105
Comments19

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views220K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 325: ↑324 and ↓1+323
Comments342
1
23 ...

Information

Rating
2,034-th
Registered
Activity