Pull to refresh
15
0

Project/Product manager and Python dev

Send message

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

Reading time11 min
Views18K


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

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

Это неправильно. Когда дом становится офисом, он не перестаёт быть домом. Работники не должны подвергаться несанкционированной слежке, или чувствовать себя под колпаком у себя дома – только ради того, чтобы не потерять работу.
Читать дальше →

Учимся квантовому программированию с помощью примеров. Доклад Яндекса

Reading time12 min
Views34K
Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запускать программы на локальном симуляторе и удаленном квантовом компьютере.


— Всем привет, меня зовут Ришат. Я почти три года работаю над качеством поиска Яндекса. Но поговорить сегодня хочу не о работе, а о том, чем я занимаюсь в свободное время. Занимаюсь я квантовой информатикой, а на самом деле — самыми разными моделями вычислений, в том числе квантовыми.
Читать дальше →

Использование метода Монте-Карло для создания портфеля

Reading time4 min
Views14K
Начинающие (да и не только) инвесторы часто задаются вопросом о том, как отобрать для себя идеальное соотношение активов входящих в портфель. Часто (или не очень, но знаю про двух точно) у некоторых брокеров эту функцию выполняет торговый робот. Но заложенные в них алгоритмы не раскрываются.

В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло. Под оптимизацией портфеля понимается такое соотношение весов, которое будет удовлетворять одному из условий:
Читать дальше →

Ускоряем numpy, scikit и pandas в 100 раз с Rust и LLVM: интервью с разработчиком Weld

Reading time6 min
Views6.4K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Interview with Weld’s main contributor: accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM».

Проработав несколько недель с data science инструментарием в Python и R, я начал задаваться вопросом, а нет ли какого промежуточного представления (Intermediate representation, IR) наподобие CUDA, которое можно использовать в разных языках. Должно же быть что-то получше, чем реимплементация и оптимизация одних и тех же методов в каждом языке. В дополнение к этому было бы неплохо иметь общую среду выполнения (common runtime), чтобы оптимизировать всю программу целиком, а не каждую функцию в отдельности.

После нескольких дней исследования и тестирования различных проектов я нашел Weld (можете ознакомиться с академической статьей).

К моему удивлению одним из автором Weld является Матей Захария (Matei Zaharia), создатель Spark.

Итак, я связался с Шоумиком Палкаром (Shoumik Palkar), основным контрибьютором Weld, и взял интервью у него. Шоумик — аспирант факультета компьютерных наук в Стэнфордском университете, куда поступил по совету Матея Захарии.

Weld еще не готова к промышленному использованию, но весьма перспективна. Если вам интересно будущее data science и Rust в частности, вам понравится это интервью.
Читать дальше →

Как вывести сайт под запад в ТОП10, не зная ничего о SEO

Reading time7 min
Views41K
В этой статье описан личный опыт двух человек: меня и моей коллеги Марии. Опыт людей, у которых совершенно не было знаний в SEO. Во второй половине 2019 года на нас легла ноша в виде продвижения 2-х сайтов проекта Ratatype. Сайтов молодых (рождены в 2019) и на иностранный рынок, языков которого мы не знаем (Франция и Испания), да еще и с очень ограниченным бюджетом.

Что вы найдете в этой статье:

  1. Реальный кейс, который работал, работает и будет работать.
  2. Пошаговую инструкцию «Что? Зачем? Как?» на простом языке.
  3. Описание провалов, куда ж без них.
  4. Что-то интересное на рынке SEO, но это не точно.

Чего вы здесь не найдете:

  1. Трендов 2020, 2021 или любого другого года.
  2. Мнений экспертов.
  3. Предложения услуг продвижения.

Если все устраивает — прошу, следуйте ниже по тексту.
Читать дальше →

9 лучших опенсорс находок за март 2020

Reading time2 min
Views23K

Доброго карантинного апреля, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за март 2020.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Rust, TypeScript, JavaScript, Go, Python.
Тематика: веб разработка, тестирование, инструменты разработчика, администрирование и документирование.


Прошлый выпуск (аж ноябрь 2019!).

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

Чистая архитектура в платёжной платформе

Reading time9 min
Views5K

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


image

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

Мой способ знакомства учеников младших классов с Python

Reading time5 min
Views19K
В наше время большинство детей знакомится с миром программирования через создание проектов на платформе scratch.mit.edu Создание проектов происходит путем соединения разноцветных блоков без ввода кода с клавиатуры (вводим только значения переменных).

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

Некоторые, как мой сын Артём, вдоволь поработав в графическом редакторе Scratch выбирают кружок изобразительного искусства.

Другие ребята — фанаты 2D игр, продолжают делать более профессиональные игры на платформе Construct.

Ну а фанатам программирования можно посоветовать Python, ведь это один из самых простых языков для изучения. Но как же быть, ведь ученики начальных классов совершенно не знакомы с клавиатурой?
Читать дальше →

Яндекс открывает Testsuite

Reading time8 min
Views27K


Сегодня мы открываем исходный код testsuite — фреймворка для тестирования HTTP-сервисов, который разработан и применяется в Яндекс.Такси. Исходники опубликованы на GitHub под лицензией MIT.

С помощью testsuite удобно тестировать HTTP-сервисы. Он предоставляет готовые механизмы, чтобы:

  • Взаимодействовать с сервисом через вызовы его HTTP API.
  • Перехватить и обработать HTTP-вызовы, которые сервис отправляет во внешние сервисы.
  • Проверить, какие вызовы во внешние сервисы сделаны и в каком порядке.
  • Взаимодействовать с базой данных сервиса, чтобы создать предусловие или проверить результат.
Читать дальше →

Инструменты Domain Driven Design

Reading time11 min
Views27K
Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. Он живет в океанах, но не может дышать под водой, поэтому регулярно поднимается на поверхность глотнуть воздуха, даже когда спит. Кит самое большое животное в мире, длиной с девятиэтажный дом, а массой как 75 автомобилей Volkswagen Touareg, но при этом не хищник, а питается планктоном.

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



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

Что такое DDD и какие инструменты в нем есть, мы расскажем в статье на основе доклада Артема Малышева. Подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка — все это под катом.

Методы Монте-Карло для марковских цепей (MCMC). Введение

Reading time10 min
Views12K
Привет, Хабр!

Напоминаем, что ранее мы анонсировали книгу "Машинное обучение без лишних слов" — и теперь она уже в продаже. Притом, что для начинающих специалистов по МО книга действительно может стать настольной, некоторые темы в ней все-таки затронуты не были. Поэтому всем заинтересованным предлагаем перевод статьи Саймона Керстенса о сути алгоритмов MCMC с реализацией такого алгоритма на Python.
Читать дальше →

7 привычек, которые превратят любого интроверта в мастера коммуникации

Reading time4 min
Views33K
Привет! Я Саша, Exness Global Learning & Development Manager.

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

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

Семь известных всем неприятных правил жизни, которые мало кто учитывает

Reading time6 min
Views22K


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

Мы живем по сложным правилам. Причем эти правила бывают разные.

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

Большинству людей так и не удается освоить эти принципы — поэтому они делают одно и то же снова и снова, но ожидают, что результат почему-то будет другим. «Безумие!» — сказал бы Эйнштейн.

Переведено в Alconost
Читать дальше →

Дзен Go

Reading time17 min
Views17K


Оценивая свою работу, я недавно много размышлял о том, как мне писать хороший код. Учитывая, что никто не интересуется тем, как писать плохой код, возникает вопрос: как узнать, что ты написал на Go хороший код? Если есть какая-то шкала между хорошо и плохо, то как понять, какие части шкалы относятся к хорошему? Каковы его свойства, атрибуты, отличительные признаки, паттерны и идиомы?

Нечёткая математика. Основы нечётких множеств

Reading time6 min
Views21K
Излишнее стремление к точности стало оказывать действие, сводящее на нет теорию управления и теорию систем, так как оно приводит к тому, что исследования в этой области сосредоточиваются на тех и только тех проблемах, которые поддаются точному решению. Многие классы важных проблем, в которых данные, цели и ограничения являются слишком сложными или плохо определенными для того, чтобы допустить точный математический анализ, оставались и остаются в стороне лишь по той причине, что они не поддаются математической трактовке. Л. Заде

Определение и характеристики


В мире очень многое не делится только на белое и чёрное, на правду и истину, … Человек использует множество нечётких понятий для оценки и сравнения физических величин, состояний объектов и систем на приближенном, качественном уровне. Так, любой из нас способен оценить величину температуры за окном, не прибегая к помощи термометра, а руководствуясь лишь собственными ощущениями и шкалой приближенных оценок (“достаточно пасмурно, чтобы взять зонт”).


Но качественная оценка не обладает свойством аддитивности, присущим привычным нам числам; т. е. мы не можем определить результат операций для приближенных оценок (“небольшая сумма денег” + “небольшая сумма денег”), в отличие от, к примеру, натуральных чисел (2 + 2). Не можем определить потому, что качественная оценка сильно зависит от лица, принимающего решение, контекста и смысла, вкладываемого в конкретном случае.


Однако, в мире имеется достаточно величин, которые мы не в состоянии по тем или иным причинам точно оценить: степень порядка в комнате, "престижность" автомобиля, красота человека, “схожесть" вещей, … Но работать с ними как с привычными числами хочется хотя бы для задач автоматизации.

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

Сканирующее окно по массивам NumPy

Reading time9 min
Views21K

CoLab блокнот с примерами.


Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам NumPy. В результате скорость обработки данных увеличивается в несколько тысяч раз и сравнима по скорости с языком программирования С.


Cкользящее окно применяется в: обработке изображений, искусственных нейронных сетях, интернет протоколе TCP, обработке геномных данных, прогнозировании временных рядов и т.д.


Отказ от ответственности: в исходном коде могут быть ошибки! Если вы видите ошибку, пожалуйста, напишите мне.


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

Интеграция Gitlab, Jira и Confluence на Python для автоматизации сборки релизов

Reading time6 min
Views8.3K
Недавно на стендапе коллега внес рацпредложение: автоматизировать сборку релизов, взяв за основу готовые уже наработки по взаимодействию с Jira, написанные на Python.

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

До недавнего времени весь процесс сборки проводился кем-либо из разработчиков вручную. Что отнимало час, два и больше времени и было, мне кажется, не очень интересным занятием. Теперь же, когда уже почти все готово, релиз из 20 задач, затрагивающий 5 проектов, собирается меньше минуты. Остается, конечно еще разрешение конфликтов, запуск пропущенных тестов и прочее, но даже с учетом этого, времени разработчиков и тестировщиков, вынужденных ждать, пока кто-то и первых освободится и создаст RC, экономится немало.

В общем, приступил я к задаче, и она оказалась очень интересной и увлекательной. А что еще надо для удовольствия от работы, как не увлекательных проектов?
Читать дальше →

Насколько детальной должна быть User Story?

Reading time4 min
Views16K

В agile-командах часто возникает спор, насколько детально должна быть проработана User Story, прежде чем ее следует передавать разработчикам.


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


Рассмотрим Agile-подход к решению этой проблемы.

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

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают)

Reading time5 min
Views19K


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

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

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

Еще раз про эмоциональное выгорание

Reading time10 min
Views35K
Вот уже более 12 лет я сгораю. Работаю, выгораю и ухожу в запой на неделю. Затем с болью и титаническими усилиями возвращаюсь к жизни, к клиентам, которых не успел потерять за недели небытия и цикл повторяется. Больше 12 лет.

Об этом не принято говорить публично, но у меня нет другого выхода. Я уверен, что у кого-то из вас присутствует те же проблемы, и вы наедине с собой, не знаете что с этим делать. Сгораете, истощаетесь, расслабляется кто как умеет и возвращается в это беличье колесо… опять, и опять, и опять.

Спрыгнуть с него кажется нереальным. Хотя бы потому что счета, семья, ипотека на 2000 лет, и желание соответствовать. Вы — житель мегаполиса хотите быть не хуже, чем сосед, чем родителей других детей, чем друг детства и в конце концов быть на вершине горы, посматривая на всех свысока. Нет? Но вкалываете вы все равно до выпученных глаз, забывая про здоровье, потом про друзей, потом про то что вокруг вообще существует жизнь за пределами вашего монитора. Вы идентифицируете себя с работой, и вся энергия уходит в нее. Вы трудоголик и вероятно вы сгораете на работе, также как и я.

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

Скульптура
12 лет фриланства

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity