Собрали в одном месте самые важные ссылкии сделали Тренажер IT-инцидентов для DevOps/SRE
В своей работе я часто сталкиваюсь с проблемой масштабируемости в pandas. Код, который быстро работает на гигабайте данных, начинает невыносимо тормозить на десяти. Уверен, эта боль знакома многим.
Замысел в том, чтобы написать цикл о 10 программистах, чьи имена не особо примелькались, но чьи заслуги невозможно переоценить. Начну я этот цикл с Эндрю Кучлинга (A.M. Kuchling). Я всегда знал его как автора официального туториала по регуляркам в питоне, пожалуй, лучшего по теме. Но масштаб этого человека куда больше.
Статья про то, как создавать клеточные лабиринты с помощью алгоритма Hunt&Kill + реализация на языке python.
Сегодня хочу поделиться одной малоизвестной библиотекой, которую мы волей судьбы откопали на просторах github, попробовали использовать для поиска по нашей кодовой базе, и, о чудо! Это ощутимо помогло нам. Казалось бы, такой маленький шаг для человечества, но такой полезный для нашего проекта.
В жизни практически каждого исследователя безопасности прошивок однажды наступает момент, когда он или она сталкивается с новым или не особо известным микроконтроллером или свежей процессорной архитектурой с кастомными расширениями. В последнее время такие моменты наступают все чаще — за прошедшие несколько лет рынок наполнился огромным количеством новых чипов из Поднебесной, в частности, на базе RISC-V, со своими собственными расширениями и реализациями ядер. И вот не так давно на анализ нашим исследователям попало устройство c таким чипом на базе RISC-V, c базовым набором инструкций RV32I и расширением P (причем еще и не последней версии), добавляющим короткие SIMD-операции (Packed-SIMD Instructions). То, что наши эксперты видели его впервые — абсолютно нормально.
Моя ситуация - абсолютно понятная: в связи с рождением ребёнка мы решили улучшить жилищные условия: продать квартиру и взять вторичку в ипотеку в лучшем районе. Учитывая известные события на вторичном рынке, сам по себе процесс покупки квартиры является довольно стрессовым: нужно проверить надёжность продавцов, составить договор, и т.д. То, что сделка у нас проходит по альтернативной схеме с образованием длинной цепочки, добавляет волнений.
Как правило, работа с веб-сокетами сводится к паре строк: connect() и send(). Удобные абстракции библиотек превратили этот протокол в магическую трубу, по которой летают данные в обе стороны. Но магия заканчивается ровно в тот момент, когда соединение молча отваливается с кодом 1006, балансировщик рвет коннект, а в логах появляются странные ошибки фрагментации. В этой статье мы спустимся с небес высокоуровневых фреймворков на уровень байтов и битовых масок.
Лабиринты использовались в видеоиграх с момента их появления. Первой видеоигрой с процедурно генерируемым лабиринтом была Beneath Apple Manor, выпущенная в 1978 году. Лабиринт в ней генерировался методом деления на комнаты и коридоры, из-за этого лабиринт часто выглядел однообразным и предсказуемым, что портило впечатление от игры.
Я пытаюсь реализовать свою систему анализа металлов и сплавов. И хочу представить один из них. Если кому-то интересно или есть изображения, которые нужно измерить, верифицировать с другими системами я только - за. Немного теории из мира металловедения, который чем-то схож с миром биологии.
В наше время программирование стало очень доступным из-за развития инструментов и языков. Написать «привет, мир» может практически каждый, а количество фреймворков для JavaScript уже воспевается в шутках. Теперь, чтобы выделиться и впечатлить друзей и коллег, нужно спускаться глубже. Придумаем свой язык шуточный программирования!
В условиях «городского каньона» GPS-сигнал подвержен эффектам многолучевого распространения и экранирования, что порождает аномалии в измерениях псевдодальности.Классические фильтры Калмана, предполагающие аддитивный гауссовский шум, в таких условиях демонстрируют резкое падение точности оценки позиционирования.
Алгоритм Крускала (также алгоритм Краскала) - алгоритм, который преобразовывает связный неориентированный граф в минимальное остовное дерево. На самом деле пока что непонятно, что делает он, поэтому разберём поподробнее. Итак, у нас есть связный граф, который хранится в виде списков рёбер (позже это будет важно). Предположим, у нас есть задание: нам нужно связать все вершины так, чтобы общий их вес будет минимальным. Если говорить более по-умному, нам нужно получить из графа именно это самое минимальное остовное дерево.
А теперь о том, что происходило в последнее время на других ресурсах.
Сегодня поделюсь опытом, как мы с командой внедряли менеджер ML-экспериментов, и расскажу: в чём сложность обучения моделей; когда нам понадобился менеджер экспериментов; какие были к нему требования и как они эволюционировали в процессе; что мы выбрали и почему; как это работает в жизни.А начнём с главной мысли: проводить множество попыток обучения до нужного состояния очень сложно, если не следить за тем, что и как мы меняем при каждом подходе.
Реддит и Хабр забиты историями о том, как кто-то «написал приложение за вечер с помощью ChatGPT, вообще не зная программирования». Маркетологи называют это вайбкодингом — ты просто описываешь свои намерения, а ИИ выдает готовый продукт.Я проверил, и вот мой спойлер: на масштабе чуть большем, чем программа на 500 строк, это не работает.
Я очень люблю аудиокниги. Но перепробовав десятки офлайн-плееров и сервисов по подписке, понял: везде чего-то не хватает. То нет синхронизации, то слетает прогресс. В какой-то момент я психанул и написал свой плеер прямо в Telegram.За время закрытого бета-теста бот переварил терабайты аудио. Мы довели UX до ума: сделали удобные заметки по таймкоду, реализовали систему папок, добавили статистику с геймификацией и научили бота делиться книгами в два клика.
Сегодня поговорим о новой версии Allure Report — Allure 3, а именно о её модульной архитектуре. В ней можно настроить сколько угодно отображений тестовой иерархии в разных форматах; я покажу это на простом примере. В какой ситуации может это быть полезно? Когда с тестами работает несколько команд, обычно удобно, чтобы у каждой был своя классификация тестов. Кто-то хочет, чтобы тесты были организованы по фичам, т.е. близко к требованиям.
WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе.Разберем, как все это устроено.
В статье делюсь опытом создания локального конвейера на базе WhisperX для обработки сотен часов аудиоархива.О чем пойдет речь:Large-v3 на CPU: почему 40 ГБ RAM важнее видеокарты и как добиться стабильной работы без «замерзания» PyTorch.
Во время инференса LLM не выполняется побочных эффектов, вместо этого генерируется последовательность токенов, которые можно интерпретировать как намерение вызвать инструмент. Это напоминает мне ту часть шаблона transactional outbox, в которой намерение сущности (entity) отправить запрос внешней системе записывается в специальную таблицу, а не реализуется сущностью самостоятельно.В статье приведен proof-of-concept модели выполнения, вдохновленной chat completion, в которой управление возвращается вызывающей стороне при необходимости выполнить побочный эффект.