Pull to refresh
@resetmeread⁠-⁠only

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

Send message

Пишем Hex Viewer для Flipper Zero

Level of difficultyMedium
Reading time11 min
Views13K

Примерно месяц назад основная поставка Flipper'ов таки доехала до России. Вопреки моим ожиданиям, это не вызвало волну публикаций про создание приложений под него. Хорошие публикации есть (например, эта и вот эта), но массовости нет. Слишком долго ждали и перегорели? Пишут долго и обстоятельно? Технологический стек устройства не подходит для быстрого и легкого старта? Как бы то ни было, такой расклад ничуть не убавил мотивации поиграться с устройством!! С удовольствием уделил несколько вечеров созданию своего первого приложения под Flipper Zero: Hex Viewer, шестнадцатеричного просмотрщика. О своем опыте и интересных находках расскажу в теле статьи.

Читать далее

Оформляем приложения по ГОСТ 7.32 в MS Word и не только

Reading time4 min
Views17K

В статье предложены некоторые приемы форматирования текста, которые могут существенно облегчить оформление документов, разрабатываемых по ГОСТам, техническим писателям и всем, кто занимается разработкой таких документов. Подходы к автоматизации форматирования текста Приложений документов рассматриваются на примере ГОСТ 7.32-2017 в редакторах MS Word и LibreOffice Writer. Предполагается, что читатель знаком со стилями, применяемыми в этих редакторах, и активно их использует в повседневной работе.

Читать далее

Решение задач линейного программирования с использованием Python

Reading time9 min
Views80K

Зачем решать экстремальные задачи


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

К сожалению, не всегда можно положиться на интуицию. Допустим Вы сотрудник коммерческой фирмы и отвечаете за рекламу. Затраты на рекламу в месяц не должны превышать 10 000 денежных единиц (д.е). Минута радиорекламы стоит 5 д.е., а телерекламы 90 д.е. Фирма намерена использовать радиорекламу в три раза чаще чем телерекламу. Практика показывает, что 1 минута телерекламы обеспечивает объём продаж в 30 раз больший чем 1 минута радиорекламы.
Читать дальше →

В Data Science не нужна математика (Почти)

Reading time6 min
Views92K

Привет, чемпион!

Ребята с «вышкой» всё время умничают, что в Data Science нужна «математика», но стоит копнуть глубже, оказывается, что это не математика, а вышмат.

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

Решил накидать чек-лист из простых математических приёмов, без понимания которых — тебе точно будет сложно в DS. Если ты только начинаешь карьеру в DS, то тебе будет особенно полезно. Мощь вышмата не принижаю, но для старта всё сильно проще, чем кажется. Важно прочитать до конца!
Читать дальше →

Погружаемся в статистику вместе с Python. Часть 2. Распределение Стьюдента

Reading time18 min
Views40K

Доброго времени суток, хабраледи и хабраджентельмены! В этой статье мы продолжим погружение в статистику вместе с Python. Если кто пропустил начало погружения, то вот ссылка на первую часть. Ну, а если нет, то я по-прежнему рекомендую держать под рукой открытую книгу Сары Бослаф "Статистика для всех". Так же рекомендую запустить блокнот, чтобы поэкспериментировать с кодом и графиками.

Как сказал Эндрю Ланг: "Статистика для политика – все равно что уличный фонарь для пьяного забулдыги: скорее опора, чем освещение." Тоже самое можно сказать и про эту статью для новичков. Вряд ли вы почерпнете здесь много новых знаний, но надеюсь, эта статья поможет вам разобраться с тем, как использовать Python для облегчения самостоятельного изучения статистики.

Продолжить погружение!

GoEmotions — набор данных для детализированной классификации эмоций

Reading time7 min
Views2.1K

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


В последнее десятилетие сообщество NLP-исследователей сделало доступным несколько наборов данных для классификации эмоций на основе языковых данных. Большая часть из них были созданы вручную и включают в себя тексты определенной предметной области (например, новостные заголовки, субтитры фильмов и даже сказки), однако в основном имеют достаточно скромный размер или сосредоточены всего на 6 базовых эмоциях (гнев, удивление, отвращение, радость, страх и печаль), предложенных в 1992 году. Хотя эти наборы данных позволили начать первые исследования в области классификации эмоций, они также подсветили необходимость создания более объемного набора данных, содержащего более детализированный перечень эмоций, которые можно было бы применить в более широком кругу потенциальных приложений.

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

Классификация документов: 7 практических подходов для небольших наборов данных

Reading time11 min
Views26K

Классификация документов или текста — это одна из важнейших задач в обработке естественного языка (natural language processing, NLP).


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


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


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


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

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

Стартап или корпорация: куда пойти начинающему продукт-менеджеру?

Reading time6 min
Views2.4K

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

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

Читать далее

Топ полезных SQL-запросов для PostgreSQL

Reading time7 min
Views112K

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

Читать далее

Переназначение клавиш в macOS без стороннего софта и консоль как в Quake

Reading time4 min
Views15K

Зачастую, в ответ на вопрос "Как переназначить клавиши на macOS?" советуют использовать сторонний софт, например, Karabiner-Elements, но простое переназначение клавиш возможно и нативными средствами.

Читать далее

Не-пирамида Маслоу

Reading time34 min
Views17K

Недавние исследования нейробиологов в области толерантности человеческого организма к дофамину реабилитируют/легитимизируют представления Авраама Маслоу о мотивации человека. 

К моему разочарованию, русскоязычные научные публикации, науч. поп материалы и пособия по маркетингу трактуют работу Маслоу, искажая суть настолько, что порой противоречат оригиналу. 

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

По этой причине данная публикация почти дословный перевод, без сокращений, личностных трактовок и интерпретаций.

Читать далее

Управляем генерацией ruGPT-3: библиотека ruPrompts

Reading time7 min
Views13K

Наше семейство моделей ruGPT-3 уже нашло множество применений у сообщества: кто-то генерирует гороскопы, кто-то — факты о лягушках, статьи нейроуголовного кодекса, нейроновости и прочее. Модели накопили в себе массу знаний о нашем мире и способны подстроиться практически под любую задачу. Тем не менее, в данный момент подобная подгонка (fine-tuning) часто требует значительных вычислительных затрат, что не всегда позволяет использовать достаточно большие модели. В этом посте мы предлагаем сообществу новый инструмент для того, чтобы дообучать ruGPT-3 под свои нужды и делиться своими результатами с другими.

Читать далее

У вас не Agile

Reading time11 min
Views26K

Как же часто мне приходилось слышать от рекрутеров одну и ту же фразу:

Мы работаем по Agile. Спринты по 1-2 недели

Под "Agile" они, конечно же, имеют в виду Scrum. Но я с уверенностью могу сказать, что ни в одной компании, что я работал, Agile'ом даже и не пахло. И тут я даже не говорю о том, что Agile каким он был задуман в принципе не дошел до массовой разработки (о чем рассказывал один из создателей Agile Дейв Томас на конференции GOTO 2015). Я говорю об Agile в общепринятом значении этого слова.

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

По некоторым причинам команде разработчиков либо не получается наладить работу по Agile, либо руководство знает, как лучше, и навязывает собственное видение методологии разработки. Эту проблему адресовал в своей статье Рон Джефрис (вот перевод на русский), дав красноречивое название подобным практикам — "Dark Scrum". Существует и более мягкая формулировка для тех, кто считает подобное положение вещей скорее фичей, а не багом — "Pseudo Agile" или "Post Agile".

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

Читать далее

Нас Django вкус волнует и манит

Reading time6 min
Views9.1K
Кушаем кактус

Прошло уже несколько недель, как официально вышла 3 версия Django. Я работал с этой версией ещё до публикации официального релиза и, к сожалению, заметил, что развитие Django сильно замедлилось. Версия 1.3 от 1.7 отличается в разы, а вот 3 версия содержит косметические изменения ветки 2 и не более.

Мой проект winePad стартовал с версии Django 1.3, и к текущему моменту в нем переопределено около 12% внутреннего кода Django.

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

Вот о работе над ошибками я и хочу рассказать:
Читать дальше →

Наглядное руководство по SSH-туннелям

Reading time8 min
Views198K

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

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее

5 способов, как взять домен с помощью PetitPotam

Reading time11 min
Views27K

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

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

Подробнее — под катом.

Читать далее

10 задач с JavaScript Promise для подготовки к собеседованиям

Level of difficultyMedium
Reading time7 min
Views92K

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

Читать далее

Как не быть программистом, раскурить eBPF за сутки и начать мониторить DNS

Reading time22 min
Views11K

Представим: сервер может отправлять легитимные запросы, но IP, на которые он будет их слать, неизвестны. В журнале сетевого фильтра видно что запросы таки да, идут. Но не ясно - это как раз легитимные или информация уже утекает к злоумышленникам? Было бы проще если бы был известен домен на который сервер посылает данные. Увы, но PTR не в моде, а securitytrails показывает или ничего, или слишком много по этому IP.

Можно запустить tcpdump. Но кто захочет постоянно смотреть в монитор? А если сервер не один? Есть packetbeat. Это чудовище, которое выжрало процессор на всех серверах. Брр… Не хочу о нём вспоминать. Osquery - неплохой инструмент который многое знает о сетевых подключениях и ничего - о DNS-запросах. Соответствующее предложение было просто закрыто. Zeek - о нём я узнал когда начал искать как отслеживать DNS-запросы. Похоже он неплох, но меня смутило два момента: он следит не только за DNS, а значит ресурсы будут тратиться на работу результат которой мне не нужен (хотя, возможно, в настройках можно выбрать протоколы); а ещё он ничего не знает о том какой процесс послал запрос.

Неужели это всё? Я вроде бы что-то слышал про eBPF…

Читать далее

NLP: выделяем факты из текста с помощью Томита-парсера

Reading time9 min
Views11K

NLP - natural language processing

Большая часть данных в мире не структурирована – это просто тексты на русском или на любом другом языке. Извлеченные факты из таких текстов могут представлять особый интерес для бизнеса, поэтому подобные задачи возникают сплошь и рядом. Этим вопросом занимается отдельное направление искусственного интеллекта: обработка естественного языка, тот самый NLP (Natural Language Processing).

Читать далее

Как использовать Томита-парсер в своих проектах. Практический курс

Reading time19 min
Views45K

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

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





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

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

Information

Rating
Does not participate
Registered
Activity