Pull to refresh
134
0
Стас Фомин @belonesox

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

Send message

Python в Rye-у

Level of difficultyEasy
Reading time9 min
Views1.7K

Rye — это пакетный менеджер для Python, написанный на Rust. Но Rye — это не только пакетный менеджер, но и удобный инструмент, который позволяет управлять проектами, зависимостями, виртуальными окружениями и версиями Python. Под капотом у Rye находится uv — более быстрый аналог pip, который, как и Rye, написан на Rust. Автором Rye является небезызвестный Armin Ronacher.

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

Прекратите делать таблицы в Markdown

Level of difficultyEasy
Reading time13 min
Views31K

В пятницу ко мне подошел коллега и с гордостью показал новую утилиту, которую он разработал. Она генерирует документацию в Markdown на основе .env файла, включая переменные, их значения и комментарии. Я, конечно, поздравил коллегу с успехом и попросил посмотреть на результат. И тут меня ждал шок — таблица в Markdown! Вы только представьте себе это!

Так начался холивар...

И что же не так с таблицами?
Total votes 66: ↑55 and ↓11+63
Comments79

Неизвестная Windows 11 23H2 сборки 10.0. 25398.1 на базе Windows Server 23H2. Для геймеров и на старое железо

Level of difficultyMedium
Reading time6 min
Views13K

Итак, для начала благодарности за данный материал форуму MyDigitalLife, где активно обсуждаются варианты вивисекции ОС Microsoft, и особенно xinso, который тестирует каждую сборку каждого издания на каждом языке и делится своим опытом, пускай и довольно своеобразно. Тем, кто не хочет читать целиком, в самом конце статьи дана ссылка на конструктор для сборки. Публикация готовых образов будет пиратством, что правилами Хабра запрещено, так что если вам будет интересно просто попробовать эту сборку, ставьте лайк и пишите мне в ПМ, дам готовый образ для установки (русский и английский интерфейсы включены в образ, остальные языки в виде дополнительных языковых пакетов).

Сегодня я буду рассказывать кратко о странной версии Windows (рука не поднимается сказать «Windows 11», так как это не совсем правда) – релизе zn_release на базе сборки 10.0.25398.1, на которой выходил лишь Windows Server 23H2 (только Core) и Azure Stack HCI 23H2 (тоже только Core).

Если вы не следите внимательно за выходами Windows 11, и не читали мою статью ‭«Все о версиях Windows 11‭»‬, то можете быть не в курсе, что официально выходили следующие версии:

·         Windows 11 21H2 – на базе сборки 10.0.22000.x ядра co_release (Cobalt);

·         Windows 11 22H2 – на базе сборки 10.0.22621.x ядра ni_release (Nickel);

·         Windows 11 23H2 – на базе сборки 10.0.22631.x того же ядра ni_release (Nickel);

·         Windows 11 24H2 – на базе сборки 10.0.26100.x ядра ge_release (Germanium).

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

Версия 24H2 на ядре Germanium сборки 10.0.26100.х в продажу пойдет осенью, сейчас доступна OEM производителям и инсайдерам. О ней мы знаем два интересных факта – она быстрее чем та, что на ядре Nickel, и она не работает на старых компьютерах, процессор которых не поддерживает SSE4.2.

Геймеры выбирают Windows 11 10.0.25398.1?
Total votes 42: ↑42 and ↓0+54
Comments31

SVG-виджеты для tcl/tk. Поддержка SVG-файлов. Часть III

Level of difficultyMedium
Reading time5 min
Views1.4K

Вот и наступил тот момент, когда стало возможным при разработке gui на tcl/tk простое использование в качестве иконок графических изображений, хранящихся в svg-файлах:

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments6

Зачем искать поверхность атаки для своего проекта

Level of difficultyEasy
Reading time7 min
Views1.4K

Любые программные системы включают в себя нужные и не очень нужные пакеты. Получается огромный объём кода (для одного несложного сайта npm list -a выдаёт список из 4256 зависимостей). А так как «весь код — это ваш код», то такие зависимости надо тестировать. И регулятор требует, да и просто собственные продукты хочется защитить от вторжений, утечек и других неприятностей.

Читать далее
Total votes 6: ↑6 and ↓0+8
Comments3

Яндекс выпустил DivKit. Я – Nui

Level of difficultyMedium
Reading time25 min
Views4.7K

Привет! Сегодня я поведаю вам историю создания супер-пупер движка для Server Driven UI во Flutter, являющегося составной частью супер-пупер CMS (именно так её создатель, то есть я, её позиционирует). У вас, конечно же, может быть другое мнение и я с удовольствием обсужу его в комментариях.

Эта статья - первая из двух в цикле. В ней мы рассмотрим непосредственно Nui, а в следующей - саму Nanc CMS.

В конце данной статьи вы не найдете никаких ссылок на Telegram-каналы, но будет много интересного про Server Driven UI, возможности Nui (Nanc Server Driven UI) историю проекта, шкурные интересы, Доктора Стренджа и даже немного го**а на вентиляторе.

Поехали!
Total votes 15: ↑11 and ↓4+8
Comments6

TOTP без смартфона

Level of difficultyEasy
Reading time5 min
Views18K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

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

Определение жанра фильма по описанию

Reading time17 min
Views2K

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

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments1

Метаболизм и долголетие. Личный опыт

Level of difficultyEasy
Reading time13 min
Views15K

Этот текст - логическое продолжение описания моего инженерного подхода в вопросе долголетия. Если вы не читали предыдущую статью, то рекомендую ознакомиться. Текущая же статья потребует 10 минут вашего внимания, но может добавить 10 лет к вашей жизни (но может и не добавить 😁).

Упрощённо говоря, моя идея (о которой можно ознакомиться по ссылке выше) состоит в том, чтобы:

1. выделить наиболее вероятные проблемы со здоровьем, которые "помогут" откинуться
2. предпринять адекватные усилия, которые помогут их предотвратить

Читать далее
Total votes 55: ↑51 and ↓4+57
Comments75

Сначала войдите через Телеграм

Reading time5 min
Views43K

Как-то мне понадобилось ограничить доступ к статическому сайту. Я написал сервер, который просит пользователей войти через Телеграм и пропускает только людей из белого списка. Ничего сложного, но вдруг кому-то понадобится.

Читать далее
Total votes 56: ↑53 and ↓3+61
Comments51

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Level of difficultyHard
Reading time34 min
Views26K

Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.

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

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

Одномерный лес и все прочее

Level of difficultyEasy
Reading time7 min
Views4.1K

Объяснение «на пальцах» и реализация решающего дерева, случайного леса и бустинга.

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

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

Flowise: доступ к AI без кода

Level of difficultyEasy
Reading time8 min
Views6.7K

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

Как без единой строчки кода сделать чат-бот с доступом в сеть, или сервис для генерации изображений, анализа файлов, как встроить это всё в свой проект... Об этом и не только в обзоре Flowise.

Читать далее
Total votes 6: ↑5 and ↓1+9
Comments3

Инструмент подбора оттенков для покраски миниатюр. Часть 1: теория

Level of difficultyEasy
Reading time18 min
Views2.6K

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

Инструмент предназначен для виртуального смешения красок, он содержит солвер, генерирующий рецепты для создания цвета из имеющихся красок. Инструмент поставляется с замеренными мной данными для красок Kimera. Он написан на Python 3; в репозитории есть все исходники, и если у вас есть дистрибутив Python, то его можно просто запустить. Также в репозитории есть исполняемый файл Windows, созданный при помощи PyInstaller (см. раздел Releases справа). Ещё я добавил версию для Mac; это файл .dmg и в нём что-то есть, а если нажать на него, инструмент запустится, так что, кажется, всё работает. Но, честно говоря, я редко пользуюсь Mac, поэтому мне сложно сказать, есть ли там всё нужное, или требуется что-то ещё...

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

Ниже представлено более-менее полное описание его работы (и условия, при которых он не работает).

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

Взлом аппаратного ключа методом veni, vidi, vici

Level of difficultyMedium
Reading time19 min
Views17K

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

Задача: Сделать так, чтобы можно было пользоваться оборудованием. Дистрибутив софта, требующего ключ, есть. Работает он под Windows. Просроченный ключ есть. Оборудованию около 10 лет.

Ниже описан путь решения со всеми ошибками.

Прочитать историю
Total votes 155: ↑152 and ↓3+182
Comments26

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

Reading time6 min
Views5.3K

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

Для лиги лени: ничего сложного в переходе нет, надо всего лишь построить рядом еще одну инфраструктуру. Причем сразу на новых физических принципах. И прочитать несколько книг, все не на русском.

Читать далее
Total votes 27: ↑20 and ↓7+15
Comments8

Разворачиваем систему уравнений в граф

Reading time6 min
Views7.4K

Как-то во время учебы на инженера-теплоэнергетика я наткнулся на одну книгу [Попырин Л.С. Математическое моделирование и оптимизация теплоэнергетических установок. М. Энергия 1978г.], в которой был описан алгоритм построения расчётных схем энергетических установок, разработанный в Сибирском энергетическом институте (ныне - ИСЭМ СО РАН). Этот алгоритм заложен в основу СМПП (система машинного построения программ) - кодогенератора, который используется в исследованиях в ИСЭМ и по сей день. Собственно алгоритм предназначен для решения систем нелинейных уравнений, и, условно говоря, обобщает метод подстановки, знакомый многим из школьной алгебры.

Зачем это нужно?

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

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

Почему эффективной сове не выгодно нанимать даже тушканчика (а увольнять, наоборот, выгодно)

Reading time8 min
Views63K

Открываю с утра новости, а там – ни разу не было и вот опять:

Нехватку (высококвалифицированных низкооплачиваемых) специалистов выявили благодаря опросу Института экономической политики им. Гайдара (ИЭП), с результатами исследования ознакомился РБК.

Население при этом: ну да ну да.

Весной 2023 года только 2% сообщили, что в связи с СВО у них выросла зарплата, за последний год материальное положение в той или иной степени улучшилось у 15%, тогда как ухудшилось у 33%, поскольку увеличились текущие расходы (39%), а некоторые (7%) потеряли часть сбережений и/или доходов. Савин, Институт социологии РАН. «Вестник РУДН. Серия: Социология», №4, 2023

Читать далее
Total votes 190: ↑167 and ↓23+185
Comments138

Об импортозамещении MATLAB/Simulink на примере модели динамики авиационного средства поражения

Level of difficultyMedium
Reading time6 min
Views12K

Когда-то давно меня попросили разработать модель динамики полета АСП (авиационного средства поражения) в отечественном ПО, в среде SimInTech, причем разработать не с нуля, а тупо повторив уже созданную ранее модель в Матлабе (с Симулинком), и любезно выложенную в публичный доступ на гитхабе.

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

Читать далее
Total votes 69: ↑50 and ↓19+44
Comments44

Агрегатор личных финансов со всех счетов

Level of difficultyMedium
Reading time6 min
Views9.5K

Всем привет!

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

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments21
1
23 ...

Information

Rating
6,035-th
Location
Россия
Date of birth
Registered
Activity