Pull to refresh
69
0
Елецкий Алексей @Tiendil

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

Send message

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

Reading time9 min
Views181K

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

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

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

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

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

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

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


Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments55

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

Reading time5 min
Views16K

Источник

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

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

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

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

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

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

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

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

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

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

Reading time16 min
Views18K


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


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

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

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

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

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


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

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

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

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

Reading time21 min
Views37K


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

Читать дальше →
Total votes 75: ↑75 and ↓0+75
Comments30

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

Reading time4 min
Views12K


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

Total votes 14: ↑11 and ↓3+8
Comments3

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

Reading time19 min
Views102K


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


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

Читать дальше →
Total votes 112: ↑110 and ↓2+108
Comments58

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

Reading time11 min
Views17K

Содержание

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


Git tag: Step12


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


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

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments0

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

Reading time17 min
Views91K
Речь пойдет о технологии, которая дает возможность реализации инструментов разработчика, подобных показанному на картинке ниже.

image

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

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

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

Reading time15 min
Views42K


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

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

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

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

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

Введение


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

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

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

Reading time25 min
Views90K


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

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

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

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

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

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

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

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

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

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

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

Reading time13 min
Views20K


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

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

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

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

Reading time7 min
Views19K
(ответ биолога на статью «Вы неправильно пишете животных»)

image

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

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

Reading time10 min
Views38K


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

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

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

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

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


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

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

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

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

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

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

Information

Rating
Does not participate
Location
Warszawa, Warszawa, Польша
Registered
Activity