Как стать автором
Поиск
Написать публикацию
Обновить

Разработка

Сначала показывать
Порог рейтинга

Инженерной боли пост. С надеждой на дельные советы

Все началось с pet-проекта, который использовал polars(сорцы) и должен был крутиться в Docker на моем домашнем NAS, в следующей конфигурации:

Спойлер: принципиальное решение проблемы - найдено. Купил маленькую коробочку на "мейнстримной" архитектуре, на которой все цветет и пахнет.. кроме моего внутреннего(ну и внешнего, че уж там) инженера) Так что решение выкинуть железку - можно не предлагать

Так вот, пока я писал код, и готовил сборочные скрипты ничто не предвещало беды - я спокойно потестил код локально, написал Dockerfile для сборки на poetry. Настало время развернуть это все на NAS - казалось бы ARM уже давно мейнстрим, но тут понеслось

  1. python как всегда лишь удобный биндинг к куче платформозависимого кода) подавляющее большинство python-зависимостей под arm/v7 приходится компилировать

  2. готовых бинарников polars под arm/v7 - тоже нет

  3. Никаких блокеров к тому, чтобы собрать polars под arm/v7 я не нашел. Но скомпилить его нативно на 4Гб ОЗУ - не получится, даже с минимальными оптимизациями. Нужна кросс-компиляция. Благо с rust и maturin(которым собирается polars) - это несложно, target armv7-unknown-linux-gnueabihf в хорошем tier-е поддержки

  4. забегая чуть вперед указываем окружение для сборки аллокатора jemalloc(по умолчанию в polars) под 32k страницу

Итак, усложняем сборку Docker(см. repro) - используем кросс-компиляцию, энв-переменные, QEMU, охапку дров и теперь у нас есть приложка, которая успешно стартует в докере на целевой железке. Вот только за рамками самых примитивных тестов - OOM-ится, причем память точно есть, никакой OOM-киллер процесс не убивает(на всякий случай смотрим лимиты cgoup) - оно "шамо":

memory allocation of 1345920 bytes failed

(подробные логи можно посмотреть по ссылкам в конце поста)

Что же делать?

  1. пробуем mimalloc - он использует для конфигурации рантайм(getconf), эффект - тот же

  2. пробуем env-крутилки, в частности arena_reserve может стоит просто меньше резервировать - но нет, просто больше попыток, но по факту все равно OOM

  3. помимо jemalloc и mimalloc не работают также: стандартный аллокатор rust(чем бы он ни был), libc-аллокатор и версия mimalloc, установленного как системная библиотека

И вот на этом месте я застрял. Я не большой спец по системному программированию - не понимаю куда копать

  • Общение с поддержкой QNAP свелось к

    Справедливости ради они еще дали советов что попробовать, но это я уже попробовал до них
    Справедливости ради они еще дали советов что попробовать, но это я уже попробовал до них
  • Пытался отлаживать приложение в gdb - никаких аномальных трейсбэков во время OOM не увидел: rust честно пытается аллоцировать большой raw_vec(трейс есть в вопросе на stackoverflow)

  • Как-то глубоко копать переменные не получается, т.к. дебаг-символы для бинарника polars получаются слишком большими

    BFD: error: /app/.venv/lib/python3.12/site-packages/polars/polars.abi3.so(.debug_str) is too large (0x498a9fd1 bytes)

  • Я сделал небольшое repro на голом расте - там эта проблема не воспроизводится, значит базово бинарная совместимость - в порядке

  • Есть несколько гипотез, но я не знаю как их проверить

    • возможно, кривая вся адресация, но ее проверить я тоже не могу

    • возможно, стоит чего-нибудь половить в ядре bpf-ом, но что..

    • кастомное ядро 4.2.8 кастомный дистриб(QTS) не богат средствами отладки - как я понял там запускается busybox набор утилит

В итоге я завел

Но активности там не очень много(

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

Пишите в комментах ваши соображения. Если что-то удастся прояснить - буду держать читателей поста в курсе

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

15 лет назад я думал что образование в области компьютерной архитектуры поломано только в России, а на Западе с этим все хорошо. Что значит "поломано"? Студент может поговорить про суперскалярные процессоры и многоядерные кластеры, но не может ничего спроектировать.

Но потом я поинтервьировал кучу западных студентов, и обнаружил что такое явление есть даже в вузе X с хорошими учебниками и стоимостью образования $90 тысяч в год.

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

И я выдвинул теорию, что им профессор дает готовый код процессоров посимулировать и посинтезировать, а сами они на верилоге ничего не пишут. То есть у меня в голове образовалась модель такого студента, своего рода теоретический Бозон Хиггса, который умозрительно представили задолго до обнаружения.

И вот сегодня я такой Бозон Хиггса засек на LinkedIn. Выпускник этого самого вуза X написал пост, как он изучал учебник Хеннесси-Паттерсона. Он показал фото листка бумаги, испещренного заметками и диаграммами. Он просто сидел, читал по частям учебник и делал такие заметки.

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

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

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

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

Хотя зачем я все это говорю. Сейчас грянет LLM и наша цивилизация исчезнет.

Теги:
Всего голосов 32: ↑30 и ↓2+35
Комментарии13

Занимательные задачи от Cloud.ru ☁️

Привет! Вновь с вами Павел Бузин — эксперт Cloud.ru по AI, машинному обучению и точным наукам. Это финальная задача нашего интеллектуального марафона, в которой я предлагаю пересмотреть или просто вспомнить, пожалуй, самый культовый фильм «Бойцовский клуб» и подумать об отношениях главных героев — рассказчика-протагониста и Тайлера Дёрдена.

Если мы посмотрим на Тайлера спустя четверть века после выхода фильма, кого мы представим в первую очередь? Цифрового аватара-двойника? Ассистента с искусственным интеллектом, умело манипулирующего своим хозяином? Или вторую половину раздвоившейся личности рассказчика?

Вот несколько лежащих на поверхности фактов в пользу аватара: взрыв в квартире рассказчика, переход Марлы через дорогу в нужный момент, покупка авиабилетов, о которых не помнит рассказчик.

А теперь предлагаю посмотреть на Тайлера с позиции теста Тьюринга. На какие логические противоречия по сюжету фильма может опереться рассказчик, чтобы делать вывод о том, что Тайлер Дёрден — его цифровой аватар, а не его человеческое альтер-эго?

Делитесь вариантами в комментариях 👇 Обсудим их 30 мая.

Теги:
Рейтинг0
Комментарии1

Магазину приложений RuStore исполнилось три года. Количество установок этого приложения на устройствах пользователей превысило 100 млн.

25 мая 2022 года VK при поддержке Минцифры запустила открытое бета‑тестирование отечественного магазина мобильных приложений для Android под названием RuStore.

В начале февраля 2023 года RuStore объявил о завершении этапа бета‑тестирования магазина приложений. Также создатели платформы перевели интерфейс консоли разработчика на английский язык для удобства иностранных издателей и партнёров.

В декабре 2024 года месячная аудитория магазина приложений RuStore составила 50 млн пользователей старше 12 лет по всей России, согласно исследованию Mediascope. Аудитория Xiaomi Mi Store составила 19 млн, Samsung Galaxy Store — 14 млн, HUAWEI AppGallery — 10 млн, рассказали Хабру в пресс‑службе RuStore. А в Минцифры заявили, что RuStore от VK обошёл по числу пользователей в России App Store от Apple.

В VK добавили, что в каталоге RuStore уже более 50 тысяч приложений, доступных на ОС Android, Harmony OS и «Аврора», от разработчиков из 40 стран мира. Также вышли версии RuStore для электронных книг и умных телевизоров, для проекторов, Hi‑Fi‑аудиоплееров, игровых консолей, кассовых терминалов, умных часов.

Теги:
Всего голосов 6: ↑2 и ↓40
Комментарии9

Отдельные заметки на предмет исполнения федерального закона № 152 "О персональных данных"

Число операторов персональныx данныx на данный момент ~ 1 млн

Количество действующиx коммерческиx предприятий ООО и ИП ~ 2,7 млн

Количества СЗ ~ 12 млн

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

Однако, Роскомнадзор не резиновый и существенно ограничен в трудовыx и технических ресурсаx, чтобы отслеживать всеx и каждого по данному вопросу

Так вот, для того, чтобы НЕ выделяться бездействием на фоне другиx надо, образно выражаясь, "статистически не отсвечивать"

Что это значит?

Для этого нужно соблюдать базовые минимальные правила поведения для исполнения фз 152, а именно:

- подать уведомление в Роскомнадзор как Оператор минимум по Цели обработки ПД: Подготовка, заключение и исполнение договоров гражданско-правового xарактера с контрагентами (ООО, ИП, СЗ) и Ведение кадрового и бухгалтерского учета (ООО , ИП с сотрудниками)

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

- на сайте установить всплывание сообщения, что вы собираете и обрабатываете куки, согласно Политике

- В Политике обязательно перечислите какие метрические программы (Яндекс Метрика, Пиксель ВК реклама и др.) установлены на сайте. При использовании Гугл Аналитикс сообщить Роскомнадзору о трансграничной передаче данныx

- при отправки форм пользователь должен сам ставить галочку, что согласен на обработку персональных данныx, согласно Политике

- при работе с ПД физлиц всегда запрашивать согласие на обработку ПД с помощью подписания отдельного документа (да, есть исключения, например, согласно пункту 1 часть 2 статья 6 ФЗ №152, но лучше всегда получать)

Вкратце так, иначе возможны штрафы, когда попадете своим бездействием под проверку Роскомнадзора

Естественно, для крупного и части среднего бизнеса минималкой не обойтись и требуется дополнительные цели в уведомлении для Роскомнадзора, а также выверенный полноценный регламент по работе с персональными данными, а это жесть от и до

А для микро, малого и части среднего бизнеса минималка на первом этапе будет палочкой выручалочкой, чтобы снизить вероятность претензий Роскомнадзора до минимума либо исключить полностью

Теги:
Всего голосов 6: ↑5 и ↓1+5
Комментарии19

Хотел поделится интересным опытом использования VR для задач обучения. В данном случае Цифровой двойник буровой установки БУ 5000/320ЭУК-Я используется при ведении лекции в формате VR.

Видео:

https://rutube.ru/video/54aa5419eaac2a5477a01d05be0bc003/

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

Конечно, имитаторы/тренажеры являются только вспомогательным средством при проведении лекций или семинаров по техническим дисциплинам, там, где необходима наглядная демонстрация промышленных объектов, оборудования, принципа его работы, протекающие процессы и т. д. Такие имитаторы имеют достаточно много преимуществ перед традиционными технологиями, такими как презентация, видеофильм и т.д., главным образом в силу того, что тренажером можно управлять, т.е. лектор может производить демонстрацию «в реальном времени», т.е. управлять тем, что видят обучаемые. Если отдельно рассмотреть распределенные имитационные системы, то можно представить, например, следующую ситуацию...

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

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

Подробнее на https://habr.com/ru/articles/844810/

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии3

Скрипт синхронизации GitHub Issues для Cursor IDE

ghsync.py позволяет Агенту взаимодействовать с задачами (issues) в репозитории GitHub.

Скачать: https://github.com/Artemonim/Artemonim-Little-Tools/tree/master/AgentTools/GithubIssueSynchronizationScript

Скрипт позволяет читать все метки и задачи, редактировать существующие задачи и создавать новые. Поддерживается изменение статуса задачи, но удаление задач не предусмотрено.

Для массовых изменений рекомендуется создать премиальной моделью файл temp.txt со списком команд, а затем выполнить их с помощью бесплатной модели. Gemini 2.5 Flash справляется с этим. Cursor Small и GPT-4o-mini не тестировались.

Требования

  1. Python 3: Убедитесь, что у вас установлен Python 3.

    • Если проект не использует Python, создайте локальное окружение Python. В Cursor или VSCode откройте терминал и выполните:

      python -m venv env_py
      

      После этого IDE сама предложит активировать окружение.

  2. GitHub CLI (gh): Должен быть установлен GitHub CLI и пройдена аутентификация:

    gh auth login
    

Настройка

Добавьте папку .cursor в ваш репозиторий и следуйте предыдущему разделу.

Использование

Пример запроса к модели:
В соответствии с @git-interactions.mdc выполни {действие}

Основные команды, поддерживаемые ghsync.py

  • -d, --download: Скачивает все метки и задачи.

  • -u, --upload: Создает новую задачу.

    • Обязательный аргумент: --title <заголовок>

    • Опционально: --body <тело> или --body-from-file <имя_файла> (из .cursor/Gitdata/temp_bodies), --labels <метка1> <метка2> ...

  • -e, --edit <НомерЗадачи>: Редактирует существующую задачу.

    • Опционально: -NewTitle <новый_заголовок>, -NewBody <новое_тело> или -NewBodyFromFile <имя_файла> (из .cursor/Gitdata/temp_bodies), -NewLabels <метка1> <метка2> ..., -NewState <open|closed|not_planned>

При использовании --body-from-file или -NewBodyFromFile, положите файл с содержанием задачи в папку .cursor/Gitdata/temp_bodies. Скрипт считает содержимое и автоматически удалит файл после использования.

Примечания

  • Скрипт и связанное правило пытаются обойти текущие проблемы Cursor с захватом вывода терминала для Агентов. Следите за исполнением, так как Агент может не следовать инструкциям в git-interactions.mdc и проверять вывод консоли вместо статус-файла

  • Я пытался создать Agent Tools через MCP-сервер, но ни Gemini, ни Claude не смогли корректно подключить MCP к Cursor, поэтому я забил.

  • Если хотите, чтобы действия Агента отображались отдельно от ваших, создайте для него отдельный аккаунт GitHub. Вроде как ещё можно создать под него GitHub App, но мне лень, учитывая, что я работаю один в приватном репозитории.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Основатель мессенджера Павел Дуров сообщил, что Telegram поднялся на восьмое место в рейтинге самых скачиваемых приложений в первом квартале 2025 года.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0
Вот и я тоже нашёл...
Вот и я тоже нашёл...

TUI Rust, это Хабр. Хабр, я нашёл тебе годноту.

По этой ссылке https://www.youtube.com/watch?v=rWMQ-g2QDsI обнаружилось видео (11:16) с тучей прелюбопытнейших отсылок объединённых идеей использования Rust для написания консольных приложений.

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

  • не плоди сущности без необходимости

  • используй меньше чтобы сделать больше

  • велик C и Rust наследует ему

  • всё преходяще, кроме вечного

Рекомендуется к ознакомлению вкатунам и начинающим пользы ради, а остальными удовольствия для.

Конкретика: Uutils, Fish, Nushell, Ripgrep, Fd, Bat, Eza, Zoxide, Xh, Zellij, Gitui, du-dust, dua, starship, yazi, hyperfine, evil-helix, bacon, cargo-info, fselect, ncspot, rusty-man, delta, ripgrep-all, tokei, wiki-tui, just, mask, mprocs, presenterm, kondo, bob-nvim, rtx, espanso.

Теги:
Всего голосов 3: ↑2 и ↓1+2
Комментарии1

ИБ-дайджест InfoWatch

Взлом разработчика ПО в США

Двоих сотрудников компании Opexus, ранее замешанных в организации кибератак, обвиняют во взломе, уничтожении 30 баз данных и удалении более 1800 файлов компании.

Утечка биометрии из консалтинговой фирмы

Berkeley Research Group расследует инцидент, из-за которого могли быть украдены биометрические ПДн, генетическая информация и другие данные клиентов компании.

Дайджест кибератак на библиотеки

Эксперты ЭАЦ InfoWatch собрали информацию о крупнейших кибератаках на библиотеки за последние несколько лет.

Утечка ПДн миллионов британцев

Хакеры заявили, что завладели 2,1 млн записей ПДн людей, которые обращались за правовой поддержкой в агентство юридической помощи Великобритании с 2010 года.

Coinbase потеряла до $400 млн после кибертаки

Криптобиржа прогнозирует ущерб от $180 млн до $400 млн в результате кибератаки, в ходе которой были взломаны счета группы клиентов.

Утечка ПДн клиентов Dior

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

Данные пользователей Steam оказались в дарквебе

Злоумышленник Machine1337 продавал данные 89 млн аккаунтов Steam за $5000, но представители компании утверждают, что база содержит только одноразовые коды доступа и пользователям не о чем беспокоиться.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Приглашаем на бесплатный вебинар «Основные архитектурные стили: от монолитов до событийных систем».

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

📅 Дата: 29.05.2025

Время: 15:00-16:00 (Мск)

Содержание

✔️ Что такое архитектурные стили и зачем они нужны

✔️ Отличие стиля от шаблона проектирования

✔️ Подходы: модульные, распределённые, событийные

✔️ Влияние на качество системы: масштабируемость, гибкость, стоимость.

✔️ Layered Architecture

✔️ Microkernel

✔️ SOA и Service-Based

✔️ Microservices

✔️ Event-Driven и Event Sourcing

👨‍🎓 Спикер: Кан Павел — специалист по архитектуре ПО.

✍️ Записаться

Возможно, вам будет полезен курс «Шаблоны проектирования приложений масштаба предприятия» (ARC-004). Изучите выбор архитектурных решений для корпоративных приложений с акцентом на стили и атрибуты качества.

Старт: 9 июня.

👉 Подать заявку на обучение

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

unraisable exceptions в питоне

Мы все с вами привыкли, что в питоне можно "зарайзить" исключение в любой момент: raise Exception
Но, что если в какой-то момент времени мы не можем вызывать исключение?

Простейший пример: что произойдет при запуске такого скрипта?

# ex.py
class BrokenDel:
    def __del__(self):
        raise ValueError('del is broken')

obj = BrokenDel()
del obj
print('done!')  # будет ли выведено?

Тут может быть два варианта:

  1. Или del вызовет ValueError и программа завершится

  2. Или случится какая-то магия, ошибка будет вызвана, напечатается, но программа продолжится

Ну и так как мы с вами на том канале, где мы с вами, то конечно же будет второй вариант.

» python ex.py
Exception ignored while calling deallocator :
Traceback (most recent call last):  File "/Users/sobolev/Desktop/cpython/ex.py", line 3, in __del__    raise ValueError('del is broken')
ValueError: del is broken
done!

Знакомьтесь – unraisable exceptions 🤝

Как оно работает?

В некоторых местах C кода у нас есть необходимость вызывать исключения, но нет технической возможности. Пример, как выглядит упрощенный dealloc для list?

static void
list_dealloc(PyListObject *op)
{
    Py_ssize_t i;
    PyObject_GC_UnTrack(op);  // убираем объект из отслеживания gc
    if (op->ob_item != NULL) {
        i = Py_SIZE(op);
        while (--i >= 0) {
            // уменьшаем счетчик ссылок каждого объекта в списке
            Py_XDECREF(op->ob_item[i]);  
        }
        op->ob_item = NULL;
    }
    PyObject_GC_Del(op);
}

А, как вы можете знать, чтобы в C коде вызвать ошибку, нужно сделать две вещи:

  • Взывать специальное АПИ вроде PyErr_SetString(PyExc_ValueError, "some text")

  • И вернуть NULL как PyObject * из соответствующих АПИ, показывая, что у нас ошибка. Если вернуть NULL нельзя, то мы не можем поставить ошибку в текущий стейт интерпертатора. А тут у нас void и вернуть вообще ничего нельзя. Потому приходится использовать вот такой подход с unraisable exception

Ошибку мы "вызываем" через специальные АПИ:

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

В питоне оно используется где-то 150 раз. То есть – прям часто. Примеры:

  • Ошибки при завершении интерпретатора, попробуйте сами:

import atexit
def foo():
    raise Exception('foo')
atexit.register(foo)
  • Ошибки внутри sys.excepthook

  • Ошибки внутри gc

  • Ошибки внутри логики установки ошибок (вдруг память кончилась, например) 🌚️️️️

  • И многое другое

Пользовательское АПИ

Ну и конечно же, есть специальный хук для обработки таких ошибок: sys.unraisablehook

Он может выполнять любой пользовательский код, который мы установим при старте приложения.

Например, pytest использует кастомный хук, чтобы валить тесты при возникновении такой ситуации. Что логично.

Нравится контент про технику и устройство технологий? Присоединяйся к каналу @opensource_findings в телеге; там много такого.

Обсуждение: знали ли вы про такую особенность? Приходилось ли где-то в мониторинге особо настраивать?

Теги:
Всего голосов 9: ↑8 и ↓1+10
Комментарии1

На GitHub Представлена бесплатная база (Learn Agentic AI using Dapr Agentic Cloud Ascent (DACA) Design Pattern: From Start to Scale) по ИИ‑агентам и их правильному созданию с нуля:

  • Подробное введение в общее строение и теорию разработки ИИ‑агентов.

  • Разбор всех популярных нейросетей от ChatGPT до Gemini.

  • Важнейшие протоколы ИИ.

  • Паттерны проектирования ИИ‑агентов.

  • Множество проектов для закрепления знаний — каждый авторы разобрали пошагово. Готовых ИИ‑агентов сможете сразу применять в работе.

  • Разборы процессов в популярных нейростартапах.

Теги:
Рейтинг0
Комментарии0

Ближайшие события

Разведка по 2GIS: как отзывы выдают ваши секреты

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

Сегодня разберём, почему стоит дважды подумать, прежде чем писать отзывы, если вам важна приватность. И заодно — как эти отзывы могут использовать злоумышленники.

Причем здесь 2GIS?
В приложении у каждого авторизованного пользователя есть профиль, на который можно подписаться и следить за всеми отзывами. Многие думают: «Ну и что? Я же под ником "Аноним Анонимов"!»

Но вот в чём подвох:
➜ Если кто-то добавит ваш номер телефона в контакты, 2GIS подсветит ваш профиль — со всеми отзывами, фотками и активностью.

Что можно узнать из ваших отзывов?
1️⃣ Интересы — кафе, бары, магазины, кинотеатры… Всё, что вы оцениваете, рисует ваш цифровой портрет.
2️⃣ Место жительства — некоторые пишут отзывы на свои ЖК, ТЦ рядом с домом и даже на подъезды.
3️⃣ Круг общения — если вы и ваши друзья ходите в одни и те же места и оставляете отзывы, связь легко отследить.
4️⃣ Фотографии — машина, питомец, случайно попавшие в кадр документы… Мелочи, которые могут стоить дорого.

Вывод

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

Больше контента в моем авторском telegram-канале: https://t.me/ru_vm (BritLab)

Теги:
Всего голосов 6: ↑5 и ↓1+4
Комментарии4

Почему традиционные тренинги по ИБ не работают — и что с этим делать?

Коллеги из Ассоциации BISA выпустили отличный видеоподкаст с командой Start X: как применять теорию фреймов в обучении сотрудников и почему без понимания психологии устойчивую защиту не построить.

Рекомендуем к просмотру всем, кто отвечает за обучение, безопасность и работу с человеческим фактором.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Привет, развил тему пропихивания стручков (pod'ов) в кубернетис, добавил в меню выбора типа объектов команду apply. Теперь kui'ем можно приколачивать мYAMLики, создавая любые типы объектов. По умолчанию предлагает создать стручок:

создай свой стручок
создай свой стручок

Но с помощью кнопки edit можно изменить мямлик, изменения сохранятся в файл ~/.kyml.

С удивлением обнаружил что хаб Кодобред переименован в Говнокод О_о Чтож, так даже интереснее.

Творите, выдумывайте, пробуйте!)

Теги:
Рейтинг0
Комментарии0

«Первая Форма» заняла третье место в рейтинге no-code платформ CNews

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

При составлении рейтинга эксперты учитывали следующие критерии:

  1. Возможности для автоматизации бизнес-процессов.

  2. Безопасность и управление доступами.

  3. Интерфейс и персонализация.

  4. Интеграция, документы и обработка данных.

  5. Аналитика, отчётность и визуализация.

BPM-система «Первая Форма» заняла в рейтинге третье место. Эксперты высоко оценили её возможности для автоматизации, интерфейс и множество инструментов для работы с данными. Решение позволяет:

  • просматривать и детализировать бизнес-процессы вплоть до полей в документах;

  • расширять библиотеку функций под потребности компании;

  • просматривать логи по сервисам для оперативного решения проблем;

  • конструировать экранные формы под любые задачи;

  • интегрировать любые внешние сервисы по API и не только.

Полный рейтинг доступен на сайте Cnews.

Теги:
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Генерация последовательностей случайных чисел с помощью DRAM — возможно ли это? Проверим с помощью RISC-V

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

Далее мы направляем данные из DRAM PUF в два подмодуля — постобработки, а также тестирования, анализа и оценки качества данных. Первый частично запускается на «железе», второй — на собранных данных на машине хоста.

Для постобработки мы протестировали шесть комбинаций. Последняя нам кажется наиболее перспективной:

  • сырые данные,

  • чистый корректор фон Неймана,

  • одноканальный сигнатурный анализатор,

  • чистый корректор фон Неймана + одноканальный сигнатурный анализатор,

  • одноканальный сигнатурный анализатор + чистый корректор фон Неймана,

  • многоканальный сигнатурный анализатор (МСА).

Зимняя школа RISC-V дала начало множеству интересных проектов. В отдельной статье мы рассказали об одном из них, где команда из БГУИР проверила гипотезу о наличии PUF в динамической памяти и создала модель одноканального источника шума. А затем реализовала постобработку и тестирование, измерила производительность генератора и оптимизировала код.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Опять попробовали React Native и снова решили, что не хотим его внедрять у себя 🧐

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

Перед нашей командой стояла задача: написать код один раз, собрать под три платформы и встроить в существующие нативные и веб-приложения. Решили поэкспериментировать с React Native: до этого мы «щупали» фреймворк в 2018-м, но делали новое приложение, опыта разработки SDK у нас не было. Отправились гуглить и узнавать, как это сделать. Начали с разработки под Android, потом подключили в веб, и уже финально — iOS, в котором практически всё заработало по дефолту.

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

Вот что мы поняли при разработке:

● Обязательно нужна единая дизайн-система под все три платформы под React Native и библиотека компонентов. А ещё — команда из фронтенд и мобильных разработчиков под iOS и Android: одни будут поддерживать часть React Native, которая относится к нативной платформе, другие — писать бизнес-логику и UI.

● React Native может подойти для проектов, которые начинаешь с нуля и нужно охватить мобильные платформы и веб сразу.

Результаты нашего эксперимента

Хоть и ушло на работу с React Native несколько кварталов, мы решили не внедрять его. Было ли нам обидно? Нет, потому что благодаря эксперименту мы:

✔ Закрепили опыт, что фронтенд-разработчики могут писать на React Native.

✔ Поняли, как всё работает изнутри, какие у фреймворка плюсы и минусы.

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

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Авторы YouTube-канала Linus Tech Tips установили новый рекорд, посчитав число π до 300 триллионов знаков после запятой. Они использовали мощные серверы и 1,5 петабайта памяти. На вычисления ушли 191 сутки. 300-триллионным знаком стала цифра 5.

Ранее команда StorageReview Lab посчитала число π до 202 триллионов знаков после запятой (там была цифра 2). Предыдущий рекорд принадлежит той же команде и составляет 105 триллионов знаков.

Теги:
Всего голосов 3: ↑3 и ↓0+6
Комментарии2