Pull to refresh
0
@Daniktread⁠-⁠only

User

Send message

Учимся читать QR-коды без компьютера

Level of difficultyMedium
Reading time4 min
Views34K

Задавались ли вы когда-нибудь вопросом, как работают QR-коды? Если да, то эта статья для вас. Здесь вас ждёт интерактивное объяснение*, которое мы составили для семинара, проводившегося в рамках Всемирного конгресса хакеров 37C3, но вы также можете использовать его самостоятельно.

Прочитав статью, вы узнаете:

  • Из чего состоят QR-коды.
  • Как декодировать QR-коды вручную (используя нашу шпаргалку).
Читать дальше →
Total votes 90: ↑87 and ↓3+109
Comments30

Как научить LLM понимать видео? Обзор подходов

Level of difficultyMedium
Reading time9 min
Views2.3K

Всем привет! Сегодня поговорим про задачу понимания видео и эволюцию подходов к обучению мультимодальных больших языковых моделей для этой задачи.

Video Understanding — направление на стыке компьютерного зрения (CV) и обработки естественного языка (NLP), включающее в себя множество разнообразных задач на восприятие и интерпретацию видео. От базового распознавания предметов и объектов в видеоряде, локализации объектов в пространстве или во времени, подсчета предметов и людей, до генерации кратких или развернутых описаний видео и задач на рассуждения о причинах происходящего на видео, требующих глубокого понимания мира — от человеческой психологии до физических свойств объектов. 

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

Адаптация платы Colorlight 5A-75B для примеров «Школы синтеза цифровых схем»

Level of difficultyMedium
Reading time5 min
Views2.4K

Привет!

Начался новый поток «Школы синтеза цифровых схем» и я хотел бы поделиться своим опытом по адаптации бюджетной платы с ПЛИС для запуска на ней лабораторных работ Школы. Отдельным преимуществом такого решения является возможность использования Open Source маршрута для синтеза и моделирования цифровых схем на базе Yosys и Icarus Verilog. Colorlight 5A-75B не является отладочной платой в привычном понимании этого понятия - будет интересно.

Читать далее
Total votes 24: ↑23 and ↓1+29
Comments8

5 альтернатив TCP и UDP после блокировки Discord

Reading time4 min
Views36K

Дискорд отлетел вслед за ютубом. В этом материале я предлагаю вам 5 бесплатных альтернатив дискорду, на случай если заблокируют VPN, а затем террористический UDP и экстремистский TCP. Не ждем, а готовимся.

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

Читать далее
Total votes 132: ↑113 and ↓19+113
Comments52

Как используется странная инструкция popcount в современных процессорах

Reading time4 min
Views28K
Это псевдорасшифровка моей презентации на !!Con 2019.

В большинстве используемых сегодня процессорных архитектур есть инструкция под названием popcount, сокращённо от 'population count'. Она делает следующее: подсчитывает количество установленных битов в машинном слове. Например (возьмём 8-битные слова для простоты), popcount(00100110) равно 3, а popcount(01100000) равно 2.

Вас это может сильно удивить, как и меня, но это всё, что она делает! Кажется не очень полезным, правда?
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments22

Простой АМ/ЧМ радиоприёмник с феноменальной чувствительностью

Level of difficultyMedium
Reading time12 min
Views25K


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

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

И это далеко не всё, на что способна дешёвая программируемая микросхема KT0936M, о которой я расскажу много интересных подробностей.
Читать дальше →
Total votes 36: ↑36 and ↓0+47
Comments32

Анонимная сеть в 100 строк кода на Go

Level of difficultyEasy
Reading time7 min
Views22K

Прошло уже более года с тех пор как я написал статью - Анонимная сеть в 200 строк кода на Go. Пересмотрев её однажды осенним вечером я понял насколько всё в ней было ужасно - начиная с самого поведения логики кода и заканчивая его избыточностью. Сев за ноутбук и потратив от силы 20 минут у меня получилось написать сеть всего в 100 строк кода, используя лишь и только стандартную библиотеку языка.

Читать далее
Total votes 31: ↑31 and ↓0+38
Comments10

Декодирование BPSK Модуляции из Звука (или передача данных по воздуху)

Level of difficultyEasy
Reading time9 min
Views3.1K

В этом тексте я реализовал возможность передачи бинарных данных звуком через BPSK модуляцию. Написал инструкцию как это можно делать.

Вся обработка происходит в post processing режиме на PC над записанным wav файлом.

Изучение ЦОС на примере работы со звуком - это доступная каждому возможность для экспериментов с различными алгоритмами DSP.

Читать далее
Total votes 25: ↑23 and ↓2+26
Comments42

Telegram Web App, FastAPI и вебхуки в одном приложении: Создаем Telegram-бот с веб-интерфейсом для приема заявок

Reading time49 min
Views14K

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

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

Для разработки самого бота мы воспользуемся библиотекой Aiogram 3, которая обеспечит удобный и мощный интерфейс для взаимодействия с Telegram API. Это позволит нам быстро реализовать необходимые функции и сделать процесс разработки более эффективным.

Читать далее
Total votes 19: ↑17 and ↓2+18
Comments9

Детекторный приёмник. Немного практики

Level of difficultyEasy
Reading time15 min
Views11K

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

Читать далее
Total votes 42: ↑41 and ↓1+64
Comments101

Книга: «Паттерны проектирования JavaScript»

Reading time10 min
Views5.5K
image Привет, Хаброжители!

Раскройте потенциал паттернов проектирования JavaScript. Найдите структурированные решения распространенных задач разработки, пригодные для многократного использования и повышающие масштабируемость, производительность и удобство сопровождения кода. Узнайте, как применение этих паттернов позволяет создавать более чистый и понятный код, способствует организации совместной работы в команде, сокращает количество ошибок и экономит время и силы.Автор дает исчерпывающее представление о паттернах проектирования в современном JavaScript (ES6+) и приводит практические примеры их применения. Сначала вы познакомитесь с порождающими, структурными и поведенческими паттернами проектирования в идиоматическом для JavaScript стиле, а затем переключитесь на архитектурные паттерны и паттерны пользовательского интерфейса. Вы узнаете, как применять паттерны, характерные для таких библиотек, как React, и распространять их на фронтенд и микрофронтенд. В последней части книги представлены и проиллюстрированы паттерны улучшения производительности и безопасности, включая обмен сообщениями, события и стратегии загрузки ресурсов, а также паттерны высокопроизводительных асинхронных вычислений. В издании приводятся примеры использования React и Next.js, а также JavaScript и Web API. Они помогут выбрать и внедрить проверенные паттерны проектирования в различных веб-экосистемах и изменить ваш подход к разработке.
Читать дальше →
Total votes 7: ↑7 and ↓0+15
Comments1

Железо или архитектура? Два направления книг по схемотехнике для начинающих

Reading time5 min
Views9.6K

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

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

Читать далее
Total votes 20: ↑18 and ↓2+25
Comments20

Самые опасные сетевые порты: как найти и закрыть все лазейки

Reading time7 min
Views21K

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

Привет! Меня зовут Ваня, я ведущий инженер по информационной безопасности в Selectel. В этом материале разберу, какие порты наиболее интересны хактивистам и как быть в курсе актуальных уязвимостей. А в конце поделюсь чек-листом с планом действий при обнаружении открытых портов в своей инфраструктуре. Подробности под катом!
Читать дальше →
Total votes 55: ↑51 and ↓4+63
Comments26

Связываем форму сайта с Telegram-ботом на чистом JavaScript за 15 минут: Полная разработка и деплой

Reading time15 min
Views7.4K

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

Суть задачи:

Пользователь вводит данные в форму на сайте, после чего эта информация отправляется заказчику через Telegram-бота. Данные отправляются в формате HTML, с полным набором информации. Всё это нужно было реализовать на чистом JavaScript + HTML + CSS. Из этой задачи родилась идея для данной статьи.

Чем мы займёмся?

Мы зарегистрируем Telegram-бота через BotFather, создадим приятную страницу с формой для сбора данных с использованием бесплатного сервиса WebSim.ai, а затем настроим отправку сообщений с формы в Telegram-бота, используя только JavaScript, HTML и CSS.

Читать далее
Total votes 14: ↑9 and ↓5+7
Comments16

Разбираемся с сетевым программированием на Rust

Reading time5 min
Views5.3K

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

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

Читать далее
Total votes 22: ↑12 and ↓10+9
Comments10

Бесплатная open-source альтернатива Google Photos и iCloud Photos

Level of difficultyEasy
Reading time3 min
Views48K

Как-то мы лежали в кровати с нашим малышом и жена сказала, что фотографий и видео с ним стало больше и она не хочет использовать платное приложение. Примерно так начинается рассказ создателя Immich – бесплатного open-source решения для хранения фотографий и видео.

Надо сказать, в последние годы я тоже регулярно пытался найти бесплатную self-hosted альтернативу Google Photos и iCloud, однако до сегодняшнего дня функциональных и вместе с тем простых в настройке решений я не встречал. Тот же Nextcloud всегда казался чересчур громоздким. Immich же, напротив, сразу завоевал моё сердце, и вот, после нескольких недель его использования, с радостью делюсь своим рабочим примером.

Читать далее
Total votes 45: ↑40 and ↓5+46
Comments138

Создание аппаратно-независимых библиотек для микроконтроллеров

Level of difficultyMedium
Reading time10 min
Views9.8K

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

Суть создания аппаратно-независимой библиотеки состоит в том, чтобы отвязаться от того уровня абстракции (библиотеки и фреймворки), который предоставляет производитель микроконтроллеров, внутри реализуемой библиотеки. Например, для STM32 - HAL, ESP32 - ESP-IDF или Arduino, для AVR зачастую используют Arduino. Это позволит использовать одну и ту же библиотеку на различных микроконтроллерах (и не только) без изменения кода библиотеки под каждый камень.

Читать далее
Total votes 26: ↑25 and ↓1+35
Comments36

Использование портативного клиента Telegram, так ли незаметно?

Level of difficultyEasy
Reading time10 min
Views6.2K

Приветствую, Хабр!

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

В качестве меры предотвращения такой утечки компании, как правило, используют DLP системы (Data Loss Prevention) и другие способы мониторинга переписки. Одним из самых популярных мессенджеров, используемых в России и СНГ, является Telegram. Как показывает практика компаний, работающих с DLP, алгоритм определения клиента Telegram в системе несовершенен и обойти механизмы контроля, используя портативную версию, достаточно просто.

Оценивая стоимость внедрения механизмов контроля и простоту их обхода, давайте попробуем ответить на вопрос: "По каким признакам можно понять, что используется Portable клиент Telegram?".

Для анализа мы возьмем штатные средства мониторинга системы, а также журналы Sysmon. События журналов будем рассматривать в R-Vision SIEM, так как продукт позволяет обрабатывать все события в одном месте с удобными фильтрами и высокой производительностью.

Читать далее
Total votes 4: ↑4 and ↓0+7
Comments1

Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем

Reading time40 min
Views11K

Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.

Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации и страницу самого чата.

Чтобы наш чат мог обслуживать множество пользователей одновременно, мы выполним деплой нашего FastApi приложения. Для этого воспользуемся сервисом Amvera Cloud. Нам нужно будет подготовить файлы приложения, написать код, создать файл с настройками (можно сгенерировать на сайте или скопировать мой код), а затем доставить файлы на сервис. Для доставки можно использовать встроенный терминал или GIT, используя стандартные команды PUSH/PULL.

Но прежде чем мы погрузимся в код, давайте кратко обсудим, что такое вебсокеты и как они работают в контексте FastApi.

Читать далее
Total votes 16: ↑16 and ↓0+21
Comments4

Блеск и нищета WebAssembly

Level of difficultyHard
Reading time20 min
Views11K

Всем привет! Сейчас за окном осенние деньки 2024 года. Вещает Пройдаков Евгений. Сейчас я руковожу группой разработки среды исполнения языка eXtraction and Processing в R&D департаменте Positive Technologies.

Доменно специфичный язык eXtraction and Processing является важной частью движка поведенческого анализа, используемого в таких продуктах Positive Technologies, как MaxPatrol SIEM и PT ISIM. Сегодня хотелось представить вашему вниманию выжимку нашего R&D процесса в экспериментах с WebAssembly. Узнаем, что такое WebAssembly. Поймём, как его можно встроить в программный продукт. Коснёмся инструментов разработки и сред исполнения WebAssembly. А также в рамках одной статьи пройдём путь от постановки задачи до результатов по разработке среды исполнения для доменно специфичного языка программирования. Кроме того, мы разберем некоторые проблемы, которые могут появиться у вас при попытке собрать и отладить большой С++ проект под WebAssembly. Материал может быть особенно полезен тем, кто хочет использовать WebAssembly за пределами веб‑браузера.

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

На старт, внимание, поехали!
Total votes 42: ↑41 and ↓1+53
Comments14
1
23 ...

Information

Rating
Does not participate
Registered
Activity