Как стать автором
Обновить
69
0
Елецкий Алексей @Tiendil

программист серверов и логики

Отправить сообщение

Практическое руководство по анонимности в онлайне

Время на прочтение9 мин
Количество просмотров181K

Направленная антенна для удалённого доступа к публичному Wi-Fi

Обеспечить собственную безопасность (анонимность) в онлайне — тяжкий труд, требующий массивного объёма знаний. Даже лучшие профессионалы не всегда справляются.

Но это возможно.

Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии125

10 причин [не] использовать k8s

Время на прочтение18 мин
Количество просмотров50K
Сегодня мы поговорим про Kubernetes, про грабли, которые можно собрать при его практическом использовании, и про наработки, которые помогли автору и которые должны помочь и вам. Постараемся доказать, что без k8s в современном мире никуда. Противникам k8s также предоставим отличные причины, почему не стоит на него переходить. То есть в рассказе мы будем не только защищать Kubernetes, но и ругать его. Отсюда в названии появилось это [не].

Эта статья основана на докладе Ивана Глушкова (gli) на конференции DevOops 2017. Последние два места работы Ивана так или иначе были связаны с Kubernetes: и в Postmates, и в Machine Zone он работал в инфракомандах, и Kubernetes они затрагивают очень плотно. Плюс, Иван ведет подкаст DevZen. Дальнейшее изложение будет вестись от лица Ивана.


Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии55

Биология для программистов: как инженерный подход меняет мир

Время на прочтение5 мин
Количество просмотров16K

Источник

Партнеры венчурного фонда Andreessen Horowitz, эксперты в области инвестиций в биотех Хорхе Конде, Виджай Панде и Джули Ю написали манифест о роли инженерных принципов для создания инноваций в биологии, основные мысли из которого легли в основу этого поста.

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

Гипотеза, проверка, пересмотр данных — это эмпирическая наука. Инжиниринг, однако, работает не совсем так: вы используете детали, которые хорошо знаете и понимаете, для проектирования и создания чего-либо, например софта. Мы хорошо умеем писать программы — отчасти потому, что начали делать их с нуля. Тем не менее идея перенести инженерное мышление в биологию, эволюционирующую миллиарды лет без участия человека, хорошо прижилась.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии9

Сложные системы. Выход на критический уровень

Время на прочтение18 мин
Количество просмотров8.9K
Если вы потратили какое-то время на размышления о сложных системах, то наверняка понимаете важность сетей. Сети правят нашим миром. От химических реакций внутри клетки, до сети взаимоотношений в экосистеме, торговых и политических сетей, которые формируют ход истории.

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

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

Это наша тема на сегодня: как, насколько хаотично всё движется и распространяется. Некоторые примеры, чтобы подогреть аппетит:

  • Инфекционные заболевания, переходящие от носителя к носителю внутри популяции.
  • Мемы, распространяющиеся по графу фоловеров в социальных сетях.
  • Лесной пожар.
  • Идеи и практики, проникающие в культуру.
  • Каскад нейтронов в обогащённом уране.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии6

Перспектива: MultiClet S1

Время на прочтение16 мин
Количество просмотров18K


Итак, пришло время поговорить о следующем поколении мультиклеточных процессоров: MultiClet S1. Если вы впервые слышите о них, то обязательно ознакомьтесь с историей и идеологией архитектуры в этих статьях:


На данный момент новый процессор находится в разработке, но уже появились первые результаты и можно оценить, на что он будет способен.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии42

Как тестируют атомные электростанции

Время на прочтение21 мин
Количество просмотров26K
Мы уже привыкли, что запуск тестов производится нажатием одной кнопки. Проверки проходят автоматически при каждом коммите, статистики собираются без участия тестировщика, а баги заводятся в полуавтоматическом режиме. В общем, мы привыкли применять технологии программной и системной инженерии к нашим программным проектам. А теперь представьте себе, что перед вами стоит задача протестировать работу атомной электростанции. Нужно не только протестировать её софт, но и провести испытания всех её составляющих.

Разумеется, никто не сможет сначала построить станцию и потом перенести несущую стену из-за того, что система вентиляции не сможет быть смонтирована в текущей конфигурации. Поэтому процессы реального мира всё больше уходят в «цифру». Как вам понравится комментарий к коммиту «Перенос капитальной стены на 2 метра севернее»? При проектировании и тестировании АЭС применяется полностью цифровой подход: создается информационная модель, к ней применяется классическая V-модель управления жизненным циклом. Таким образом, АЭС превращается в тиражируемый и полностью цифровой объект. Тестирование и запуск современных АЭС происходит в цифровом виде, и только после этого строители приступают к монтажу, используя всё те же цифровые модели.

Из этой статьи вы узнаете о том, что представляет собой современная информационная система, как происходит разработка и тестирование «капитальных» объектов на примере АЭС.


В основе материала — расшифровка доклада Вячеслава Аленькова, директора по системной инженерии и информационным технологиям инжиниринговой компании «Атомстройэкспорт» (ASE) с нашей декабрьской конференции Heisenbug 2017 Moscow.
Читать дальше →
Всего голосов 61: ↑58 и ↓3+55
Комментарии36

Логика сознания. Часть 1. Волны в клеточном автомате

Время на прочтение7 мин
Количество просмотров66K
Начнем разговор о мозге с несколько отвлеченной темы. Поговорим о клеточных автоматах. Клеточный автомат – это дискретная модель, которая описывает регулярную решетку ячеек, возможные состояния ячеек и правила изменений этих состояний. Каждая из ячеек может принимать конечное множество состояний, например, 0 и 1. Для каждой из ячеек определяется окрестность, задающая ее соседей. Состояние соседей и собственное состояние ячейки определяют ее следующее состояние.
Наиболее известный клеточный автомат – это игра «Жизнь». Поле в игре «Жизнь» состоит из ячеек. Каждая ячейка имеет восемь соседей. Задается начальная комбинация. Затем начинается смена поколений. Если у занятой ячейки два или три занятых (живых) соседа, то ячейка продолжает жить. Если соседей меньше 2 или больше 3, то ячейка умирает. Когда у пустой ячейки оказывается ровно 3 соседа в ней зарождается жизнь. Задав произвольную начальную комбинацию можно пронаблюдать ее эволюцию.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии65

Тестирование в Badoo «с высоты птичьего полёта»

Время на прочтение21 мин
Количество просмотров37K


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

Читать дальше →
Всего голосов 75: ↑75 и ↓0+75
Комментарии30

Системный инжиниринг и менеджмент 2.0: как получить профессию будущего

Время на прочтение4 мин
Количество просмотров12K


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

Всего голосов 14: ↑11 и ↓3+8
Комментарии3

Uber — причины перехода с Postgres на MySQL

Время на прочтение19 мин
Количество просмотров102K


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


Наверное, не будет преувеличением сказать, что за последние несколько лет это стало одним из самых громких и резонансных событий, связанных с СУБД PostgreSQL, которую мы, к слову сказать, очень любим и широко используем. Эта ситуация наверняка пошла на пользу не только упомянутым системам, но и движению Free and Open Source в целом. При этом, к сожалению, русского перевода статьи так и не появилось. Ввиду значимости события, а также подробного и интересного с технической точки зрения изложения материала, в котором в стиле «Postgres vs MySQL» идет сравнение физической структуры данных на диске, организации первичных и вторичных индексов, репликации, MVCC, обновлений и поддержки большого количества соединений, мы решили восполнить этот пробел и сделать перевод оригинальной статьи. Результат вы можете найти под катом.

Читать дальше →
Всего голосов 112: ↑110 и ↓2+108
Комментарии58

Чистая архитектура в Python: пошаговая демонстрация. Часть 5

Время на прочтение11 мин
Количество просмотров17K

Содержание

REST-слой (часть1)


Git tag: Step12


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


Вне зависимости от выбранной технологии, для взаимодействия с пользователем, сбора входных данных и предоставления выходных результатов, нам необходимо взаимодействовать с недавно созданной чистой архитектурой. Поэтому сейчас мы создадим слой для вынесения наружу API для работы с HTTP. Реализовано это будет при помощи сервера, который предоставляет набор HTTP-адресов (конечных точек API), при обращении к которым возвращаются некоторые данные. Такой слой обычно называют REST-слой, потому что, как правило, семантика адресов схожа с рекомендациями REST.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

Автоматическая визуализации python-кода с использованием блок-схем

Время на прочтение17 мин
Количество просмотров91K
Речь пойдет о технологии, которая дает возможность реализации инструментов разработчика, подобных показанному на картинке ниже.

image

Общий вид среды с альтернативными представлениями кода

Здесь окно среды разработки разбито на две части. Слева — привычный текстовый редактор, а справа — автоматически генерируемая диаграмма, по возможности приближенная к традиционным блок-схемам алгоритмов. Генерация и перерисовка диаграммы производится по ходу набивки текста. Среда разработки определяет паузу в действиях разработчика и обновляет диаграмму, если код остается корректным. В результате появляется возможность работы не только с текстом программы, но и с его графическим представлением.
осторожно, далее много картинок
Всего голосов 75: ↑73 и ↓2+71
Комментарии70

Как флитком управляет людьми в онлайновой игре с зашкаливающим уровнем паранойи

Время на прочтение15 мин
Количество просмотров42K


— Слышал, Слон флотом теперь командует?
— В смысле?
— Ну, помнишь, он админил?
— Да.
— Так ты сейчас обсмеёшься, его навыки управления оказались идеальными для управления кланом.

В общем, мне всегда очень хотелось перенять опыт командира флота в Eve Online. Есть такой феномен: люди объединяются в большие корпорации и альянсы, при этом ничего не получают за игру материально, но каким-то чудом все вместе делают общие задачи. Уроки управления местами покруче MBA. И первый — понимание, что Eve — это не космическая игра, а, скорее, соцсеть, к которой прикручена игра про космос. И вести себя надо именно как в соцсети. То есть управление корпорацией — это правильная подача контента.

Очень, очень многое у флиткома перекликается c тем, что нужно знать руководителю. И мне очень жаль, что этот диалог у нас не состоялся лет пять назад.
Читать дальше →
Всего голосов 74: ↑69 и ↓5+64
Комментарии115

Как PVS-Studio ищет ошибки: методики и технологии

Время на прочтение21 мин
Количество просмотров12K
Что внутри у PVS-StudioPVS-Studio — статический анализатор исходного кода для поиска ошибок и уязвимостей в программах на языке C, C++ и C#. В этой статье я хочу дать обзор технологий, которые мы используем в анализаторе PVS-Studio для выявления ошибок в коде программ. Помимо общей теоретической информации я буду на практических примерах показывать, как та или иная технология позволяет выявлять ошибки.

Введение


Поводом для написания статьи стало моё выступление с докладом на открытой конференции ИСП РАН 2016 (ISPRAS OPEN 2016), проходившей в первых числах декабря в Главном здании Российской академии наук. Тема доклада: «Принципы работы статического анализатора кода PVS-Studio» (презентация в формате pptx).

К сожалению, время выступления было сильно ограничено, поэтому мне пришлось подготовить весьма короткую презентацию и не рассказать в докладе многое из того, что хотелось. Поэтому я решил написать эту статью, где более подробно расскажу о том, какие подходы и алгоритмы мы используем при разработке проекта PVS-Studio.
Читать дальше →
Всего голосов 74: ↑66 и ↓8+58
Комментарии33

Биологические предпосылки деградации компаний

Время на прочтение25 мин
Количество просмотров90K


Современные научные представления говорят о существовании у процессов функционирования человеческого мозга определенных особенностей, которые:

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

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

Некоторые компании сопротивляются этому, а некоторые даже и не понимают, почему приходит в упадок их внутренняя корпоративная культура. Почему попытки привить хорошие и правильные принципы и практики организации бизнеса не дают ожидаемых результатов…
Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии160

Как получить максимальный доход с рекламных систем на своем сайте

Время на прочтение3 мин
Количество просмотров27K
Пост может быть интересен владельцам сайтов с высоким и средним трафиком, для которых основная монетизация идет за счет рекламы. Или будет идти после прочтения этого текста. Речь исключительно об автоматических партнерских системах (Google Adsence, РСЯ, Adfox т.д.). Работа напрямую с рекламодателем и через рекламные агентства не рассматривается.

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

1) Локальные стандарты работают лучше тех, что рекомендует системы

Стоит размещать рекламные блоки тех форматов, что распространены в регионе, откуда ваш трафик. Например, блок 240х400 работает в России лучше всех других, даже большего размера. В идеале, каждому региону со значимой долей трафика, показывать свой формат рекламы.

Также надо учитывать, что цена клика в каждом регионе своя и может различаться в разы.
image
Читать дальше →
Всего голосов 34: ↑23 и ↓11+12
Комментарии90

233 орешка для Золушки: отбираем цвета для «идеальной» палитры

Время на прочтение13 мин
Количество просмотров20K


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

  • Краткость: небольшое количество цветов в палитре. Весь набор цветов можно охватить одним взглядом.
  • Полнота: цвета палитры должны равномерно и достаточно плотно заполнять цветовое пространство.
  • Дискретность: цвета палитры должны отличаться друг от друга на глаз.
  • Группировка: цвета должны быть удобно сгруппированы для быстрого нахождения нужного.

Оказалось, что можно подобрать набор из ровно 233 цветов, который удовлетворит всем этим критериям.
Посмотреть идеальную палитру
Всего голосов 65: ↑61 и ↓4+57
Комментарии43

Автоматика из ДНК и белков: что у нее общего с электроникой?

Время на прочтение7 мин
Количество просмотров19K
(ответ биолога на статью «Вы неправильно пишете животных»)

image

В каждой клетке есть тысячи генов. Никогда не бывает так, чтобы они все работали одновременно. Клетки мышц, печени и мозга несут одинаковый набор генов. Они такие разные, потому что в них работают разные гены. Все клетки умеют включать и выключать отдельные гены в ответ на разные внешние воздействия. То есть система, которая управляет активностью генов — это такая система автоматического управления. Ученые хотят понимать, как такая автоматика работает, чтобы уметь ее чинить и взламывать. Например, в клетках человека есть система из примерно трехсот генов и белков, которая управляет делением клетки. Когда она ломается и клетка начинает все время делиться, возникает рак.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии31

IMHO, как писать на Хабр

Время на прочтение10 мин
Количество просмотров38K


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

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

При этом активных (голосующих) пользователей всего около 3 тысяч. Уровень знаний аудитории на входе в пост — в примерно 95% случаев низкий, в 5% — экспертный (разбиение оценочное). Проще говоря, есть люди, которые вообще не понимают, что вы хотите сказать (и их большинство), и есть те, кто разбирается в теме на голову лучше вас. Поэтому лучший пост — это тот, что проходит от ликбеза к хардкору. На площадке довольно высокий уровень агрессии (точнее, желания проверить материал на прочность). Ранее был экстремально высок. Средняя или низкая внимательность читателя (ранее была высокая).

Разумеется, это всё моё личное мнение, и можно поспорить. Сейчас постараюсь объяснить, почему я так считаю, и как это влияет на посты. Я основываюсь на опыте примерно 1500 постов за 6 лет, которые написал сам или помогал готовить.

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


Данные тут на конец августа, я их к другому семинару (в Хабре для владельцев блогов) готовил.
Читать дальше →
Всего голосов 200: ↑182 и ↓18+164
Комментарии165

Логика сознания. Вступление

Время на прочтение8 мин
Количество просмотров111K
image В свое время на Хабре был опубликован цикл статей «Логика мышления». С тех пор прошло два года. За это время удалось сильно продвинуться вперед в понимании того, как работает мозг и получить интересные результаты моделирования. В новом цикле «Логика сознания» я опишу текущее состоянии наших исследований, ну а попутно попытаюсь рассказать о теориях и моделях интересных для тех, кто хочет разобраться в биологии естественного мозга и понять принципы построения искусственного интеллекта.

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

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

Не должна вводить в заблуждение распространенная фраза о том, что многие идеи искусственных нейронных сетей позаимствованы из исследований реального мозга. Заимствование носит слишком общий характер. По большому счету, оно заканчивается на том, что и там и там есть нейроны и между этими нейронами есть связи.
Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии179

Информация

В рейтинге
Не участвует
Откуда
Warszawa, Warszawa, Польша
Зарегистрирован
Активность