Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

WebP — формат сжатия веб-страниц

Level of difficultyMedium
Reading time12 min
Views13K

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

Вот только есть один нюанс, который ставит мне палки в колёса и не даёт сделать блог лёгким как пёрышко.

Читать далее

Удивительная история развития сортировки в JDK

Level of difficultyMedium
Reading time11 min
Views7.3K

Как вы считаете, если выполнить java.util.Arrays.sort(), то какая сортировка будет вызвана? Quicksort? Timsort? И та, и другая, потому что для объектов вызывается Timsort, а для примитивов (чисел int, long, float и так далее) — Dual-Pivot Quicksort. В JDK 6 для объектов использовался стандартный Merge sort, а для чисел классическая реализация Quicksort с одним опорным элементом, предложенная Джоном Бентли и Дугласом МакИлрой. В JDK 7 оба алгоритма поменялись: теперь объекты сортируются с помощью Timsort, автор Тим Петерс, а для простых типов данных используется Dual-Pivot Quicksort, предложенный мною вместе с Джоном Бентли и Джошем Блоком в 2009 году. Эта сортировка используется более 15 лет не только в JDK, но и в Android (хотя и немного устаревшая версия).

А зачем нам вообще второй алгоритм сортировки, если есть Timsort? Почему не использовать один и для объектов, и для примитивов? Сегодня я, как автор, расскажу историю Dual-Pivot Quicksort: как он начинался, как развивался и как продолжает развиваться сейчас.

Читать далее

Pilet — модульный ПК на базе Raspberry Pi 5. Для работы и не только

Level of difficultyEasy
Reading time3 min
Views16K

Источник.
Среди всего многообразия ноутбуков, ПК, мини-компьютеров и других девайсов особняком стоят модульные гаджеты. Однако проект Pilet выделяется даже среди них. Это нечто вроде планшета с подключаемыми модулями и аксессуарами. Устройство весьма необычное — и о нем как раз эта статья. Ну а чтобы не было скучно, расскажем еще о парочке похожих по концепции девайсов.
Читать дальше →

Кастомизация окна прогресса в оболочке Windows

Level of difficultyMedium
Reading time9 min
Views5.2K

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

Но есть здесь и нюанс: загрузчик — это первое, что встречают пользователи, поэтому ему нужен GUI. А поскольку написан он на C# и с целью сохранения лёгкости компилируется перед исполнением (AOT, ahead-of-time), традиционные решения исключаются. Соблазнительным вариантом выглядит Avalonia, но в этом случае сам установщик станет больше той программы, которую он должен устанавливать.

Итак, что у нас остаётся? Можно углубиться в Windows API и создать собственное «окно», но это кроличья нора, сулящая кошмары при обслуживании. К счастью, в Windows есть диалоговое окно прогресса.
Читать дальше →

Еще один способ передачи данных по радиоканалу

Level of difficultyMedium
Reading time12 min
Views20K

Эта статья написана по мотивам вот этой. Чтобы повторить успех к имеющейся Baofeng uv-5r была приобретена Quansheng uv-k5, а потом и ещё одна uv-k5, потому что uv-5r очень долго активировал функцию VOX. Кейс очень интересный, но практически использовать его тяжеловато из-за низкой скорости передачи. Ниже описана попытка избавиться от этого недостатка.

Читать далее

Хватит использовать Telegram для работы: Выбираю лучший профессиональный мессенджер

Reading time11 min
Views83K

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

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

На всякий случай отмечу, что идея этой статьи родилась за пару недель до ареста Павла Дурова и никак не связана с этим ужасным случаем.

#freedurov

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

Reading time5 min
Views6.7K

• Существует ли предрасположенность к многозадачности? 
• Как многозадачность влияет на эффективность? 
• Что рекомендуют специалисты? 

Читать далее

Экстремальная оптимизация скорости загрузки Raspberry Pi

Level of difficultyEasy
Reading time11 min
Views11K

Некоторое время назад был создан проект SolarCamPi — автономная камера на солнечных батареях с Wi‑Fi.

В этом проекте Raspberry Pi Zero 2 W загружается в Linux, делает снимок, подключается к Wi‑Fi и затем выключается (для экономии энергии). Цикл повторяется каждые несколько минут, чтобы постоянно отправлять актуальные изображения в облачный сервис.

Каждая секунда работы Pi Zero, расходует ценную электроэнергию – ресурс, который постоянно находиться в дефиците у устройств на солнечных батареях (по крайней мере зимой в Западной Европе).

Давайте разберемся, каким образом можно уменьшить расход электроэнергии в такой ситуации.

Читать далее

FLUX — новая нейросеть для генерации изображений от создателей Stable Diffusion

Level of difficultyEasy
Reading time5 min
Views57K

Всем привет!

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

Разработчики Flux - бывшие создатели Stable Diffusion и Stable Diffusion XL - Робин Ромбах и Андреас Блаттман. Оба выступали за идею, но компания преследовала только коммерческие интересы Как итог - произошел конфликт и ключевые фигуры покинули Stability AI. Недавно ими была создана новая компания The Black Forest Team, которая и представила нам Flux.

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

Модель очень хорошо следует промпту и распознает текст.

В статье мы посмотрим, как запустить Flux онлайн и локально, а так же на ее возможности.

Читать далее

«Всегда закрывай за собой двери!»: краткое пособие по работе с портами

Reading time9 min
Views32K

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

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

Привет! Меня зовут Иван, я ведущий инженер по информационной безопасности в Selectel. Давно хотели научиться настраивать сетевые интерфейсы? Хорошая новость: мы в Selectel запускаем цикл статей по работе с портами в разрезе ИБ. В этом материале разберем, как с помощью различных межсетевых экранов: локальных, облачных и МСЭ в составе NGFW — обеспечить дополнительную защиту сервисов. Подробности под катом!
Читать дальше →

Невероятная история Эда Торпа: как один математик смог обыграть сначала казино, а потом и весь Уолл-стрит

Level of difficultyEasy
Reading time13 min
Views74K

Если среди физиков настоящей легендой безумных жизненных историй был Ричард Фейнман, то среди математиков и инвесторов этот титул должен по праву принадлежать Эдварду Торпу. Чувак смог не только обуть казино сразу в двух считавшихся ранее «непобедимыми» играх, но и заработать $800 млн на фондовом рынке благодаря идее, достойной Нобелевки.

Читать далее

ByeDPI для Android, SpoofDPI для Mac и Linux – чиним YouTube и не работающие в России сайты на Андроид, Линукс и Мак

Level of difficultyEasy
Reading time2 min
Views232K

Вчера писал о графической оболочке Launcher for GoodbyeDPI, позволяющей интуитивно-понятно воспользоваться решением GoodbyeDPI от ValdikSS для решения проблемы замедления YouTube и недоступности в России ряда сайтов. Все хорошо, но это были решения лишь под Windows. В комментариях основные вопросы были о том, как быть с Android, Linux и Mac, и почему не в исходниках. Увы, репрессии РКН заставляют администрацию Хабра цензурировать статьи, во вчерашнюю статью внесение изменений мне запрещено, и сама ссылка доступна лишь вне России, потому объясняю про Андроид, Линукс и Мак здесь, со ссылками на исходники.

Итак, для Android есть масса проектов, мне подошел Release ByeDPI 1.0.0 · dovecoteescapee/ByeDPIAndroid · GitHub. Для Mac и Linux я бы ставил https://github.com/xvzc/SpoofDPI/releases. Все в исходных кодах.

ByeDPI for Android, это приложение, которое запускает локальный VPN-сервис для обхода DPI (Deep Packet Inspection) и цензуры. На вашем устройстве локально запускается SOCKS5-прокси ByeDPI и весь трафик перенаправляется через него.

Снятие блокировок на Android/Mac/Linux

User-боты в Telegram: Простая автоматизация с Python (Pyrogram). Первые шаги

Level of difficultyEasy
Reading time14 min
Views52K

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

Итак, что же такое User-бот в Telegram? Проще говоря, это бот, который ведет себя как обычный пользователь, используя ваш личный аккаунт, а не официальный API Telegram. Такой бот может участвовать в чатах, отправлять и получать сообщения, управлять группами и каналами, делать рассылки и даже выполнять административные задачи.

Это как если бы вы сами сидели за компьютером или телефоном, но все действия выполняет запрограммированный бот.

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

Читать далее

Неизвестно полезный CSS. Часть 4

Level of difficultyMedium
Reading time6 min
Views10K


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


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


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

  • сброс стилей до значений, взятых из веб-стандартов;
  • возврат значений свойств, установленных в браузере;
  • что можно сделать с прыжками контента при открытии и закрытии модального окна;
  • возможность отобразить текст «красиво» с помощью ключевого слова system-ui;
  • способ стилизации элементов на языке, отличающимся от основного.

Больше не буду затягивать. Давайте посмотрим, что я вам подготовил.

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

Как настроить двухфакторную аутентификацию через Telegram для SSH

Level of difficultyEasy
Reading time9 min
Views14K

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

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

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

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

Читать далее

Как сделать takeout в Telegram?

Level of difficultyEasy
Reading time2 min
Views8.2K

Новости о толи задержании толи аресте Павла Дурова во Франции дают нам повод для обсуждения разных тем. Как можно догадаться, меня в этом случае интересует вопрос не политики или юридической составляющей, а СОХРАННОСТЬ ЦИФРОВЫХ АРХИВОВ.

Для меня это отличный пример их тленности, а для остальных - напоминание о том, что время от времени надо делать бэкапы. И, да, у Telegram тоже есть takeout

Спасти семейный архив

strlcpy, или как CPU противоречат здравому смыслу

Level of difficultyMedium
Reading time6 min
Views17K

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

«В общем случае, когда исходная строка умещается в конечный буфер, strlcpy будет обходить строку только один раз, а strlen + memcpy будут обходить её дважды».

Под этим аргументом скрывается допущение о том, что однократный обход строки выполняется быстрее. И, честно говоря, это вполне разумное допущение. Но справедливо ли оно? Об этом мы и поговорим в статье.

Читать далее

Баланс стоимости предметов в RPG с помощью линейной алгебры

Level of difficultyMedium
Reading time4 min
Views12K

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

Читать далее

Как я заработал с помощью хомяка, ни разу на него не кликнув

Level of difficultyEasy
Reading time16 min
Views47K

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

Однако проектик, тем не менее, получился интересный.

Читать

Топ бесплатных нейросетей на все случаи жизни

Reading time10 min
Views149K

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

Приятного прочтения!

Читать далее

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity