Search
Write a publication
Pull to refresh
@resetmeread⁠-⁠only

Скромный пастух нулей и единиц…

Send message

Барселона: как спасти наследие Ильдефонса Серды

Reading time21 min
Views11K

Бьюсь об заклад, что имя этого человека малоизвестно за пределами сферы архитектуры, градостроительства и, возможно, истории искусств. А ведь Серда заложил основы современной урбанистики с междисциплинарным подходом. Именно он разработал знаменитый L'Eixample (Эшампле) — план расширения Барселоны в середине XIX в. на основе широких проспектов и улиц с восьмиугольными кварталами, давший имя всему центральному району и ставший первым примером масштабной городской трансформации. Сегодня Барселона пытается организовать её вторую серию — через программу суперкварталов вновь сделать центр пешеходным, зелёным, удобным для жизни и общения. Но вернуться к идеалам Серды, будучи центром крупнейшей на Средиземном море агломерации и туристической столицей, крайне непросто. Давайте разбираться!
Читать дальше →

Практические рекомендации по работе с Docker для Python-разработчиков

Reading time28 min
Views118K

Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать статью, и отметить штуки, которые покажутся актуальными для вашей текущей ситуации.

Читать далее

Динамическая генерация пользователей в Linux. Разбираемся с NSS

Reading time7 min
Views7.3K

Как известно, пользователи и группы в Linux определяются по целочисленному идентификатору, который используется при описании владельца и группы файла, а также для создания контекста текущего пользователя после авторизации. Но как это работает внутри? И можно ли создать свою реализацию для взаимного преобразования имен и идентификаторов и для аутентификации пользователей? В этой статье мы детально рассмотрим анатомию подсистем NSS (Name Service Switch) и создадим свою простую реализацию подсистем для использования с текстовым файлом со списком пользователей и паролей. Во второй части статьи мы поговорим о PAM и обсудим возможные способы ее реализации и применения.

Читать далее

Прагматичный набор модификаций для Windows 10 на старом железе

Reading time7 min
Views50K

В статьях про раздувание софта часто упоминают лаги Windows 10/11. Главная причина — ожирение кода в новых версиях. Для работы ОС с каждым годом требуется всё больше ресурсов. После засорения системы приходится ждать 10–20 секунд, пока отрисуются пункты контекстного меню по правой кнопке…

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

Но что делать, если приходится поневоле сидеть под Win10/11? Тогда остаётся одно — бороться с ожирением софта хирургическим путём. А именно, отключить ненужные модули и компоненты, развестистый GUI, анимацию и спецэффекты, удалить лишний софт, почистить реестр. Другими словами, спустить жирок из системы. После мануальных процедур винда начинает шевелиться значительно бодрее.
Читать дальше →

F-строки в Python мощнее, чем можно подумать

Reading time5 min
Views157K

Форматированные строковые литералы, которые ещё называют f-строками (f-strings), появились довольно давно, в Python 3.6. Поэтому все знают о том, что это такое, и о том, как ими пользоваться. Правда, f-строки обладают кое-какими полезными возможностями, некоторыми особенностями, о которых кто-нибудь может и не знать. Разберёмся с некоторыми интересными возможностями f-строк, которые могут оказаться очень кстати в повседневной работе Python-программиста.

Читать далее

Неожиданная находка, которая освобождает 20 GB неиспользованного индексного пространства

Reading time14 min
Views37K

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

Начнем с конца: в итоге нам удалось освободить более чем 70 GB не оптимизированного и неиспользуемого пространства без удаления индексов и данных. 

Читать далее

Так все же, насколько быстры каналы в Linux?

Reading time26 min
Views23K

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

Читать далее

Как мы с помощью NLP облегчаем поиск людей с суицидальными наклонностями

Reading time20 min
Views6.7K

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

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

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

Читать далее

Топ-5 провальных решений при разработке на Tarantool

Reading time8 min
Views7.7K

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

Меня зовут Игорь, и сегодня я покажу, как антипаттерны влияют на производительность и стабильность приложений, и с какими пятью провальными решениями при разработке на Tarantool я столкнулся, работая с крупными продами. А также предложу способы избегания этих проблем.

Это текстовая версия доклада, который я рассказывал на HighloadFoundation 2022.
Читать дальше →

DIY. Книги для всех, даром

Reading time7 min
Views36K

Lingtrain cover


⚡ Градиент обреченный


Upd. 11.06.2022 Многие заинтересовались генерацией изображений нейросетями. Вот Colab (интерактивная среда для запуска кода) для рисования картинок в стиле pixel art по текстовому описанию. Просто запускайте, ближе к концу увидете ячейку для ввода текста. Примеры картинок из Colab'а в комментариях.


Два года назад я начал делать небольшой проект, связанный с обработкой текстов на иностранных языках. Он постепенно развивался и стал использоваться лингвистами в НКРЯ, а энтузиасты сохранения малых языков используют его для расширения своих параллельных корпусов.


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


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

Сделать книжку

Кто они, тормоза прогресса?

Reading time6 min
Views47K

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

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

Читать далее

Три подхода к анализу текстов

Reading time5 min
Views8.4K

Для выявления ключевых слов, для начала будет решена задача кластеризации на тематики текстов с помощью метода LDA (Latent Dirichlet Allocation). После этого будет решаться задача, непосредственно, выявления ключевых словосочетаний с помощью предобученной модели Bert. И завершающим будет метод WordToVec, служащий для решения задачи поиска наиболее семантически похожих слов в тексте.

Читать далее

Водопровод в современной квартире

Reading time11 min
Views102K

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

Читать далее

Как перевести деньги из России в Армению в 2023 году?

Reading time4 min
Views63K

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

Совсем недавно ЦБ расширил лимит на вывод денег в дружественные страны до 50000 USD или эквивалента в другой валюте. Лимит от ЦБ РФ , выставленный на платежные системы на данный момент составляет 5000$ в месяц или эквивалент.

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

Наиболее популярные виды переводов денег из России в Армению:

Читать далее

3 способа использовать box-shadow в CSS

Reading time7 min
Views110K

Тени помогают сделать визуальную составляющую сайта интересной и эстетичной. В посте рассмотрим свойство CSS box-shadow и то, как его можно стилизовать.

Читать далее

Сказ о том, как мы Python-микросервисы для облака шаблонизировали

Reading time12 min
Views9.4K

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

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

Меня зовут Олег Чуркин. Я больше 10 лет занимаюсь разработкой на Python и сейчас руковожу разработкой нового процессинга платежей в QIWI. Расскажу, как мы реализовали boilerplate-шаблон для сервисов — на примере небольшого стартапа внутри нашей большой компании.

Читать далее

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

Reading time8 min
Views14K


Open In Colab


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


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


По этой причине мы бы хотели поделиться с сообществом системой, которая:


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

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

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

Трискета: носитель, который мы ещё помним

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



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

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

Ренессанс винила — это лишнее подтверждение тому, как многочисленные недостатки и огрехи качества звука затмеваются выразительностью образа носителя. Что-то подобное случилось и с троппи-диском, который удивительным образом по сей день живёт в некоторых образах иконок.
Читать дальше →

SQL HowTo: разные варианты работы с EAV

Reading time3 min
Views25K

Соблазн использовать модель EAV (Entity-Attribute-Value) при организации структуры БД весьма велик, особенно когда предметная область заранее плохо известна (или разработчик просто не хочет в нее углубляться). Это ведь так удобно - создать "универсальный" способ описания характеристик объектов, который больше не потребует доработок базы ни при появлении новых типов объектов, ни при возникновении новых атрибутов...

Однако, за любую универсальность приходится платить сложностью и производительностью запросов - так что json[b] может оказаться более эффективной заменой. Но если уж такая модификация невозможна - давайте попробуем выжать максимум производительности из доставшегося нам legacy на самом простом примере.

Читать далее

Рисуем красивые трейсбеки, перехватывая исключения в Python

Reading time10 min
Views16K

Все мы тратим немало времени на отладку, копаясь в логах или читая трейсбеки (traceback, отчёты о трассировке стека). Любое из этих дел может оказаться сложным и длительным. Этот материал посвящён тому, как сделать трассировку стека и работу с исключениями как можно более простыми и эффективными.

На пути к этой цели мы узнаем о том, как реализовывать и использовать собственные перехватчики исключений (exception hook), которые позволяют убрать из трейсбеков весь «информационный шум». Мы поговорим о том, как улучшить читабельность отчётов о трассировке стека, как выводить в них лишь то, что нужно для решения проблем с Python-кодом и с возникающими в процессе его работы исключениями. Кроме того, мы посмотрим на несколько потрясающих Python-библиотек, в которых имеются готовые к использованию, хорошо сделанные перехватчики исключений. Их можно использовать без необходимости написания собственного кода перехватчиков.

Читать далее

Information

Rating
Does not participate
Registered
Activity