Проектирую и реализую программные системы
Алгоритм визуализации сложных данных
Последние полгода я работаю над алгоритмом визуализации данных, который систематизирует этот опыт. Моя цель — дать рецепт, который позволит разложить любые данные по полочкам и решать задачи по визуализации данных также чётко и последовательно, как математические задачи. В математике не важно, складывать яблоки или рубли, распределять кроликов по ящикам или бюджеты на рекламные кампании — есть стандартные операции сложения, вычитания, деления и т.д. Я хочу создать универсальный алгоритм, который поможет визуализировать любые данные, при этом учитывает их смысл и уникальность.
Я хочу поделиться с читателями Хабра результатами своих исследований.
Современная операционная система: что надо знать разработчику
Александр Крижановский (NatSys Lab.)
Нас сегодня будет интересовать операционная система – ее внутренности, что там происходит… Хочется поделиться идеями, над которыми мы сейчас работаем, и отсюда небольшое вступление – я расскажу о том, из чего состоит современный Linux, как его можно потюнить?
По моему мнению, современная ОС – это плохая штука.
Дело в том, что на картинке изображены графики сайта Netmap (это штуковина, которая позволяет вам очень быстро захватывать и отправлять пакеты сетевого адаптера), т.е. эта картинка показывает, что на одном ядре с разной тактовой частотой до 3 ГГц Netmap позволяет 10 Гбит – 14 млн. пакетов в сек. отрабатывать уже на 500 МГц. Синенькая линия – это pktgen – самое быстрое, что, вообще, есть в ядре Linux’а. Это такая штуковина – генератор трафика, который берет один пакет и отправляет его в адаптер много раз, т.е. никаких копирований, никакого создания новых пакетов, т.е., вообще, ничего – только отправка одного и того же пакета в адаптер. И вот оно настолько сильно проседает по сравнению с Netmap (то, что делается в user-space показано розовой линией), и оно вообще где-то там внизу находится. Соответственно, люди, которые работают с очень быстрыми сетевыми приложениями, переезжают на Netmap, Pdpdk, PF_RING – таких технологий море сейчас.
Майкл Прайор, Trello: Как построить продукт для массового рынка. Продолжение
Вы тоже устраиваетесь в кресле поудобнее, когда создатель крупного продукта рассказывает о своих ошибках? Тогда читайте продолжение занятного интервью с исполнительным директором Trello. Майкл Прайор честно поведал о сложностях позиционирования, о тонкостях монетизации, о неожиданных открытиях и о том, что бы он изменил в прошлом. А потели над переводом этой беседы переводчики компании-локализатора Alconost.
The Macro: руководство для резидентов Y Combinator по корпоративным продажам
Оригинал — Enterprise Sales for Hackers (Ryan Junee, TheMacro.com)
Многие хакеры, открывшие свою компанию, понимают, что умение продавать — важный и ценный навык, но уклоняются от этого занятия из-за страха и неуверенности.
А если я скажу, что для того чтобы быть отличным смелым продавцом требуется тот же набор умений, что и хорошему хакеру? Вам просто нужно взглянуть на продажи под другим углом.
Перед тем, как начать, я хочу отметить, что эта статья актуальна для начинающих компаний, для тех, кто все еще находится на стадии «Дикий Запад» и пока не имеющих устоявщегося процесса продаж и структуры. Тем не менее, я предполагаю, что вы нашли нужный рынку продукт, или близки к этому. [1]
Как устроен наш код. Серверная архитектура одного проекта
Как устроен поиск
Андрей Аксенов (shodan, Разработчик поискового движка Sphinx)
Поиск устроен вот так:
Индексация – по большому счету, ничего сложного. Понятное дело, что по малому счету, там в каждой из трех «деталей» спрятан не то, что демон, а целое где-то стадо, где-то легион, не совсем понятно. Но концепция всегда простая. Все начинается с маленького простенького патчика к Многосерчу, а потом 15 лет этой херней занимаешься.
Берешь документы, разваливаешь их на ключевые слова. И просто взять и развалить документ на ключевые слова «мама, мыла, раму» – это ты не далеко ушел от grep’а, потому что потом все равно эти ключевые слова перебирать. Надо строить некую спец. структуру – полнотекстовый индекс. Вариантов для его построения человечество придумало в свое время довольно много, но, слава Богу, от всех отказалось и в нормальных продакшн системах, по большому счету, победил на данный момент вариант ровно один. Про него и буду рассказывать. Все остальные имеют скорее историческое значение, что ли, и практического интереса не представляют.
Ключевые навыки успешной Agile-команды или как сделать так, чтобы Agile заработал?
Дмитрий Лобасев (lobasev.ru)
Давайте погрузимся в механику гибких процессов и вместе подумаем, как сделать так, что вот, приходите вы, например, с конференции и как менеджер говорите: «Так, ребята, всем Kanban с понедельника!» или «Всем Scrum!». А ребята смотрят на вас – ну, а какой у них выбор? Сказали Scrum, значит, Scrum… Идут, что-то делают, пытаются сделать Scrum, делают какие-то ритуалы, приплясывают возле доски по утрам, ходят, что-то еще делают. Но что-то не работает.
Мой доклад, как раз, этому и посвящен. Давайте рассмотрим механику Agile-процессов – как сделать так, чтобы все-таки это приносило ценность.
Вот как было задумано:
Ну, и получается на выходе:
Что такое свёрточная нейронная сеть
Введение
Свёрточные нейронные сети (СНС). Звучит как странное сочетание биологии и математики с примесью информатики, но как бы оно не звучало, эти сети — одни из самых влиятельных инноваций в области компьютерного зрения. Впервые нейронные сети привлекли всеобщее внимание в 2012 году, когда Алекс Крижевски благодаря им выиграл конкурс ImageNet (грубо говоря, это ежегодная олимпиада по машинному зрению), снизив рекорд ошибок классификации с 26% до 15%, что тогда стало прорывом. Сегодня глубинное обучения лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.
Но классический, и, возможно, самый популярный вариант использования сетей это обработка изображений. Давайте посмотрим, как СНС используются для классификации изображений.
Задача
Задача классификации изображений — это приём начального изображения и вывод его класса (кошка, собака и т.д.) или группы вероятных классов, которая лучше всего характеризует изображение. Для людей это один из первых навыков, который они начинают осваивать с рождения.
Как новые руководители разрушают доверенные им компании
Эффективно управлять можно только той собственностью, которую мог бы создать сам.Картинка для привлечения внимания читателей из поколений Y и Z:
Кто не может создать, – будет только разрушать!
И.А. Дедюхова, Кодекс Хамурапи
Краткое содержание
Новый директор себе в подчиненные и советники пригласит своих «проверенных людей». Увеличение штата топ-менеджеров в условиях фиксированного ФОТ повлечет за собой сокращение рядовых сотрудников на значительный процент.
Новый директор в первую очередь будет сокращать те подразделения, работу которых он не понимает. Под прессом психологического давления руководители этих подразделений возмут на себя обязательства самостоятельно разработать планы по сокращению и принять на себя все риски их реализации.
Сокращения пройдут под флагом повышения эффективности, но для «непонятных директору» подразделений не смогут сформулировать критерии этой эффективности, кроме «минимизации затрат». Цель по минимизации затрат без дополнительных обоснованных ограничений – это цель по уничтожению, и не имеет отношения к настоящей оптимизации.
Отсекая непонятные ему части компании (выводя в аутсорс и т.п.), директор попытается превратить компанию в ту, работу которой он полностью способен понять, которой он в полной мере способен управлять.
Проблему нехватки знаний в технической области новый директор и его команда компенсируют «помощью» от западных консалтинговых компаний. Это приведет к ситуации внешнего управления, причем без всякой ответственности за диктуемые извне решения.
Внешняя и внутренняя отчетность о работе компании до самого конца не будет показывать никаких признаков проблем, т.к. тому, кто принес плохие вести не выдают премию, а рубят голову.
Жаргон функционального программирования
У функционального программирования много преимуществ, и его популярность постоянно растет. Но, как и у любой парадигмы программирования, у ФП есть свой жаргон. Мы решили сделать небольшой словарь для всех, кто знакомится с ФП.
В примерах используется JavaScript ES2015). (Почему JavaScript?)
Работа над материалом продолжается; присылайте свои пулл-реквесты в оригинальный репозиторий на английском языке.
В документе используются термины из спецификации Fantasy Land spec по мере необходимости.
Arity (арность)
Количество аргументов функции. От слов унарный, бинарный, тернарный (unary, binary, ternary) и так далее. Это необычное слово, потому что состоит из двух суффиксов: "-ary" и "-ity.". Сложение, к примеру, принимает два аргумента, поэтому это бинарная функция, или функция, у которой арность равна двум. Иногда используют термин "диадный" (dyadic), если предпочитают греческие корни вместо латинских. Функция, которая принимает произвольное количество аргументов называется, соответственно, вариативной (variadic). Но бинарная функция может принимать два и только два аргумента, без учета каррирования или частичного применения.
Будущее компьютерных технологий: обзор современных трендов
Botan.io — экспериментальный инструмент аналитики ботов Telegram от Яндекса
Мы стали искать готовые системы, которые бы подошли для нашей цели. Для начала решили посмотреть на аналитику для мобильных приложений. В этой отрасли сейчас правят бал Flurry, Mixpanel и Localytics. После небольшого исследования стало ясно, что Flurry и Localytics созданы с упором на мобильное SDK и простого способа слать им события с сервера нет и не предвидится.
Mixpanel в отличие от первых двух имеет широкий набор библиотек на разных языках для отправки с сервера. И мы решили опробовать его. Инструмент оказался очень удобным, но слишком дорогим для маленьких проектов, которые шлют большое число событий.
Не найдя ничего, что полностью бы нас устраивало, мы посмотрели на возможности нашей Метрики. И сделали собственный инструмент аналитики ботов — Botan. Это обёртка вокруг AppMetric, мобильной версии Метрики для приложений.
Теперь мы хотим поделиться нашим решением со всеми и сделали его бесплатным. Botan позволяет собирать события из ваших ботов в мобильную Яндекс.Метрику и строить большинство доступных там отчетов.
Цифровая помощь: 14 полезных бизнес-ботов для Telegram
Некоторые создаются для помощи пользователям, некоторые делают для развлечения. При этом, постоянно увеличивается числ робо-помощников, которые могут быть использованы для решения тех или иных бизнес-задач. Я подготовил подборку 14 таких инструментов.
Часть 1. Платформа СППР Универсальные алгоритмы
Забегая вперед прошу прощения у тех, кто ожидает новизны или революционных идей. Их тут нет. Но есть вполне хорошая прикладная система.
Системы поддержки принятия решений сейчас набирают обороты. Причем я не буду особо останавливаться на перечислении способов реализации. Оговорюсь только об основных свойствах. Я бы очень упрощенно и обобщенно назвал эти системы вероятностными. То есть они выдают рекомендации с известной долей вероятности используя накопленную и проанализированную статистику. Не скажу что это плохо. Тема BigData и Machine learning нынче в тренде. Так же эти системы работают по принципу черного ящика. Поэтому проверить достоверность работы заложенной модели не всегда можно выявить.
Мультипротокольный бот через Microsoft Bot Connector REST API v3.0
Кому и зачем нужна эта статья
Во-первых, «тому парню», который хочет сделать своего бота, но не умеет в C#, а умеет в REST.
Договорённости о коммуникациях
Я не являюсь автором, скорее собирателем и систематизатором элементов корпоративной культуры нашей компании, которые относятся к области IT-коммуникаций. Формирование этой модели начиналось до моего прихода, развивается вместе с предприятием и будет совершенствоваться в дальнейшем.
Сети для самых маленьких. Часть нулевая. Планирование
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.
Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.
Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
Нефункциональные требования к программному обеспечению. Часть 1
Введение
Разрабатывая новую информационную систему или внедряя уже существующую, вы неизбежно сталкиваетесь с необходимостью определить нефункциональные требования к вашей системе.
В этой статье я расскажу о следующем:
- какими бывают нефункциональные требования,
- как определять нефункциональные требования,
- откуда берутся численные значения для нефункциональных требований.
Введение в OpenCL
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity