• Продуктивность связана не с управлением временем, а с управлением вниманием

    • Translation

    Управление временем – это на самом деле не решение, а часть проблемы



    Автор статьи: Адам М. Грант, американский ученый-психолог и писатель; профессор Уортонской школы бизнеса; автор трёх бестселлеров Нью-Йорк Таймс, а также книги «В работу с головой. Паттерны успеха от IT-специалиста».

    Несколько лет назад во время перерыва в занятиях по лидерству, преподавателем на которых был я, ко мне с неуверенным видом подошёл менеджер Майкл. Его босс сказал, что ему нужно быть более продуктивным, и он провёл несколько часов, изучая, на что тратит своё время. Он уже урезал все необязательные собрания. Он не смог найти задач, которые можно было бы выбросить из календаря. Он не видел очевидного способа сделать их эффективнее.

    «Это прозвучит, как шутка, но на самом деле всё серьёзно, — признался он. – Единственное, что мне пришло в голову – пить меньше воды, чтобы не бегать так часто в туалет».
    Читать дальше →
  • Как мы выбирали между Elastic и Tarantool, а сделали свою (самую быструю) in-memory БД. С Join и полнотекстовым поиском

      Всем привет.


      С середины 2016 года мы проектируем и разрабатываем новое поколение платформы. Принципиальное отличие от первого поколения — поддержка API "тонкого" клиента. Если старая платформа предполагает, что на клиента при запуске загружается метаинформация о всем контенте, который доступен для абонента, то новая платформа должна отдавать срезы данных отфильтрованные и отсортированы для отображения на каждом экране/странице.


      Высокоуровневая архитектура на уровне хранения данных внутри системы — постоянное хранение всех данных в централизованном реляционном SQL хранилище. Выбор пал на Postgres, тут никаких откровений. В качестве основного языка для разработки — выбрал golang.


      У системы порядка 10м пользователей. Мы посчитали, что с учетом профиля теле-смотрения, 10М пользователей может дать сотни тысяч RPS на всю систему.



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


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

      Читать дальше →
    • Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка

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

      Обработкой естественного языка (NLP) называется активно развивающаяся научная дисциплина, занимающаяся поиском смысла и обучением на основании текстовых данных.

      Как вам может помочь эта статья


      За прошедший год команда Insight приняла участие в работе над несколькими сотнями проектов, объединив знания и опыт ведущих компаний в США. Результаты этой работы они обобщили в статье, перевод которой сейчас перед вами, и вывели подходы к решению наиболее распространенных прикладных задач машинного обучения.

      Мы начнем с самого простого метода, который может сработать — и постепенно перейдем к более тонким подходам, таким как feature engineering, векторам слов и глубокому обучению.

      После прочтения статьи, вы будете знать, как:

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

      Пост написан в формате пошагового руководства; также его можно рассматривать в качестве обзора высокоэффективных стандартных подходов.
      Читать дальше →
    • Профилирование и оптимизация программ на Go

      • Tutorial

      Введение


      В этой статье я расскажу, как профилировать и оптимизировать приложения на языке Go с использованием встроенных и общих инструментов, доступных в ОС Linux.

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

      Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. data race), о поиске ошибок (англ. debugging). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.



      Читать дальше →
    • Тюнинг сетевого стека Linux для ленивых

      • Tutorial

      Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.

      Читать дальше →
    • Психология убеждения. Как убеждать других и уметь распознавать манипуляции


        Эта статья — некраткий конспект книги Роберта Чалдини «Психология убеждения». Будет полезна всем, кто имеет дело с людьми, продажами и бизнесом. Книга настолько полезна, что должна оказаться на полке каждого. Помимо того, что мы хотим влиять на окружающих, очень полезно знать, когда окружающие пытаются повлиять на нас. Внутри вы найдёте множество способов убеждения и, сразу после прочтения, будете с лёгкостью замечать, когда вами пытаются манипулировать.
        Читать дальше →
      • Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженном проекте

          Аникин Денис (@danikin, Mail.Ru)


          Денис Аникин

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

          Базы данных – это хранилище, более структурированное, чем файл, и обладающее рядом некоторых фич, которых у файла нет.



          Там можно делать запросы, там есть транзакции, индексирование, таблицы, устойчивые, более-менее надежные хранилища. На самом деле, базы данных – это более удобно, чем файлы.
          Читать дальше →
        • Запуск отдельных приложений через OpenVPN без контейнеров и виртуализации

          Как-то одним прекрасным утром я рассказывал в телеграмме бывшему другу и коллеге о том, что такое network namespaces в Linux и с чем его едят. Коллега восхитился, так же, как я, в свое время, а мне пришла в голову, что надо не костылить скриптом, как я делал до этого, а автоматизировать запуск отдельного network namespace и OpenVPN в нем. Так как я использую Debian Sid и Ubuntu 16.04 LTS автоматизацию я себе сделал в виде юнитов systemd, но об этом в конце статьи. После того, как я рассказал еще одному человеку, на этот раз далекому от IT, о возможности запускать только одно приложение, например браузер, под VPN, а остальные, как и прежде, он сказал «Только ради этого стоит перейти на Linux на компе», а я решил написать статью-инструкцию, как это сделать.
          Читать дальше →
        • Обучение машины — забавная штука: современное распознавание лиц с глубинным обучением

          • Translation
          Вы заметили, что Фейсбук обрёл сверхъестественную способность распознавать ваших друзей на ваших фотографиях? В старые времена Фейсбук отмечал ваших друзей на фотографиях лишь после того, как вы щёлкали соответствующее изображение и вводили через клавиатуру имя вашего друга. Сейчас после вашей загрузки фотографии Фейсбук отмечает любого для вас, что похоже на волшебство:
          Читать дальше →
        • Анонс публичной бета-версии NGINX Amplify

          • Translation


          Мы рады представить бету NGINX Amplify, нашего нового инструмента для мониторинга NGINX и NGINX Plus. Используя NGINX Amplify, вы сможете отслеживать и контролировать NGINX и приложения, которые он обслуживает. Новый инструмент позволит быстро решать проблемы с производительностью и доступностью отдельных сервисов и инфраструктуры в целом. На текущий момент он включает в себя гибко настраиваемую панель мониторинга с механизмом оповещений, а также систему автоматических рекомендаций по оптимизации производительности и улучшению безопасности.

          Узнать больше и увидеть NGINX Amplify в действии можно записавшись на онлайн вебинар, который пройдет 13 июля в 20:00 по московскому времени.

          Также, вы можете начать бесплатно использовать NGINX Amplify прямо сейчас, пройдя регистрацию.
          Подробности
        • Big Data головного мозга

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


            image
            Демонстрация Hadoop пользователям

            Читать дальше →
          • Az.js: JavaScript-библиотека для обработки текстов на русском языке

              Как чуден и глубок русский курлык
              Генератор постов

              Обработка естественного языка (natural language processing, NLP) — тема, на мой взгляд, очень интересная. Во-первых, задачи тут чисто алгоритмические: на вход принимаем совершенно примитивный объект, строчку, а извлечь пытаемся вложенный в него смысл (ну или хотя бы частичку смысла). Во-вторых, необязательно быть профессиональным лингвистом, чтобы решать эти задачи: достаточно знать родной язык на более-менее приличном уровне и любить его.

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

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

              Конечно, хочется сделать что-нибудь поинтереснее. Беда в том, что модные сейчас нейросети не очень-то применимы здесь: им нужно много ресурсов, большую обучающую выборку, а в браузере у пользователя соцсети всего этого нет. Поэтому я решил изучить вопрос работы с текстами с помощью алгоритмов. К сожалению, готовых инструментов для работы с русским языком на JavaScript найти не удалось, и я решил сделать свой маленький велосипед.
              Читать дальше →
            • Коммуникации в программировании — во сне и наяву

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


                Читать дальше →
              • Как мы увеличили CTR рекламы в 10 раз, работая с картинками и заголовками


                  image00

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

                  Мы размещаем нативную рекламу на крупных площадках Рунета. Наши партнеры РИА Новости, AdMe, VC.ru, Sostav.ru и еще десятки медиа. Мы делаем так, чтобы реклама хорошо выглядела на сайте и привлекала пользователей. Средний CTR рекламы Relap.io от 1,3 до 1,7%

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

                  Для простоты мы создали внутри Relap.io «Правила хорошей рекламы». В тексте разберем 3 кейса, где мы улучшали результаты РК по «правилам».

                  Читать дальше →
                  • +10
                  • 8.1k
                  • 8
                • OSSIM — разворачиваем комплексную open source систему управления безопасностью



                    OSSIM (Open Source Security Information Management) — система управления, контроля и обеспечения информационной безопасности.
                    OSSIM «из коробки» включает в себя такой функционал как:
                    • Сбор, анализ и корреляция событий — SIEM
                    • Хостовая система обнаружения вторжений (HIDS) — OSSEC
                    • Сетевая система обнаружения вторжений (NIDS) — Suricata
                    • Беспроводная система обнаружения вторжений (WIDS) — Kismet
                    • Мониторинг узлов сети- Nagios
                    • Анализ сетевых аномалий – P0f, PADS, FProbe, Arpwatch и др.
                    • Сканер уязвимостей – OpenVAS
                    • Мощнейшая система обмена информацией об угрозах между пользователями OSSIM — OTX
                    • Более 200 плагинов для парсинга и корреляции логов со всевозможных внешних устройств и служб

                    Читать дальше →
                  • Десять смертных грехов в оценке трудоёмкости разработки программного обеспечения

                      Введение


                      В этом топике я хочу представить вам, дорогие читатели, пересказ вебинара от человека, чьё имя не нуждается в представлении. Для того, чтобы изложить часовой вебинар в виде небольшого топика, мне пришлось значительно ужать комментарии автора, поэтому я сознательно не помечаю топик как «перевод». В этот раз Стив МакКоннелл решил поделиться с нами своим опытом в виде коротких тезисов, в которых он отражает самые страшные ошибки при оценке трудоёмкости разработки программного обеспечения. В 1998 году читатели журнала Software Development назвали Стива одним из самых влиятельных людей в индустрии разработки программного обеспечения на равне с Биллом Гейтсом и Линусом Торвальдсом. Стив — автор книги «Software Estimation. Demystifying The Black Art» — одной из самых популярных книг в области оценки трудоёмкости разработки ПО. Надо признаться, что вебинар был проведён относительно давно (июнь 2009 года), но информация, представленная там, совсем не устарела. Сам топик будет построен следующим образом. Заголовки будут достаточно точно переведены из презентации, которую показывал Стив, а в остальном я постараюсь отразить только основные мысли, чтобы не перегружать топик. Если кто-то посчитает, что ту или иную мысль я излагаю неправильно — милости прошу в комментарии, можно будет меня поправить.

                      Итак, поехали...
                    • AI, Big Data и дезинформация технологий

                      • Translation


                      / фото KamiPhuc CC

                      Обычно в нашем блоге мы рассказываем об облачных сервисах, хостинге и соответствующих технологиях. Сегодня мы поговорим о сложностях развития технологий в целом, искусственном интеллекте, больших данных и Майкле Джордане (не баскетболисте).
                      Читать дальше →
                    • Rogue AP — фальшивые точки доступа



                        Большинство современных устройств запоминают название Wi-Fi сети, к которой они успешно подключались хотя-бы один раз, и сразу же соединяются с ней, если «увидят» её в беспроводном эфире. Эту фичу беспроводных технологий всё чаще и чаще используют злоумышленники — создают т.н. rogue AP (поддельную точку доступа). Такие атаки с каждым годом становятся всё масштабнее, учитывая постоянно увеличивающийся рынок BYOD-устройств и количество критичной информации, содержащейся на них.
                        Читать дальше →
                      • Использование сверточных сетей для поиска, выделения и классификации

                          Недавно ZlodeiBaal опубликовал статью «Нейрореволюция в головах и сёлах», в которой привел обзор возможностей современных нейронных сетей. Самым интересным, на мой взгляд, является подход с использованием сверточных сетей для сегментации изображений, про этот подход и пойдет речь в статье.

                          segnet.png


                          Уже давно появилось желание изучить сверточные сети и узнать что-то новое, к тому же под рукой есть несколько последних Tesla K40 с 12Гб памяти, Tesla c2050, обычные видеокарты, Jetson TK1 и ноутбук с мобильной GT525M, интереснее всего конечно попробовать на TK1, так как его можно использовать практически везде, хоть на столб фонарный повесить. Самое первое с чего начал, это распознавание цифр, тут конечно удивить нечем, цифры уже давно неплохо распознаются сетями, но при этом постоянно возникает потребность в новых приложениях, которые должны что-то распознавать: номера домов, номера автомобилей, номера вагонов и т.д. Все бы хорошо, но задача распознавания цифр является лишь частью более общих задач.
                          Читать дальше →
                        • Ищем быстро, еще быстрее

                            Натолкнулся в разделе QA на интересный вопрос. Ответ на него заставил написать эту статью как бОлее полный ответ на вопрос «как организовать поиск по множеству параметров, как в Яндекс-маркете, например».

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

                            Итак, что имеем в «ДАНО»
                            • Имеем 120 чекбоксов — вариант 1/0
                            • Имеем 30 «радио» с выбором «да/нет/не важно»
                            • Имеем 2-3 слайдера для указания диапазона цен/размера чего нить
                            • Имеем самое главное: 12 млн записей в БД.
                            • Имеем Select * From tovar Where (wifi=true) and (led=false) and (type=3) and ….остальные параметры …; со временем выполнения близкому к истерике клиента.

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