Как стать автором
Обновить
1
0
Oleg Romanenko @Slader

Архитектор/Разработчик highload сервисов

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

Как без проблем просыпаться рано по утрам

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

image


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


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

Читать дальше →
Всего голосов 62: ↑36 и ↓26+10
Комментарии101

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

Время на прочтение14 мин
Количество просмотров78K
image
Картинка из гугла для привлечения внимания.

На GT все чаще обсуждаются вопросы функционального здоровья. В этой статье я хочу привести анализ различных видов активности и связанных с ними адаптаций. Для себя я выбрал основным критерием оптимизации качество жизни в долгосрочной перспективе в сочетании с максимальным удовольствием в текущий момент. Тем не менее, я постараюсь рассмотреть плюсы и минусы различных спортивных (физкультурных) концепций максимально разносторонне и развеять некоторые мифы.

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

Для тех, кому лень читать: наш выбор — качалочка и плавание. Бег, игры и велик — по желанию.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии238

Новый чемпионат для backend-разработчиков: HighLoad Cup

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

Проведение конкурсов для IT-специалистов сейчас в моде: Kaggle с его задачами по Data Science, сплоченная тусовка олимпиадного программирования, набирающие популярность площадки для конкурсов по искусственному интеллекту, всевозможные хакатоны для мобильных разработчиков, олимпиады для админов, capture the flag для безопасников. Казалось бы, специалисту любой сферы несложно найти себе подходящую движуху, поучаствовать, прокачаться и что-нибудь выиграть.


Обделенными в этом плане остались лишь web-разработчики. Мы в Mail.Ru Group решили исправить это досадное недоразумение и теперь с радостью представляем вам HighLoadCup — конкурсную площадку на стыке backend-разработки и администрирования web-сервисов.


Если считаете себя хорошим web-разработчиком, умеете в deploy и highload — добро пожаловать!

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

Умный дом — это просто

Время на прочтение6 мин
Количество просмотров9.4K
Для кого-то «Умный дом» — это нечто абстрактное из фильмов, когда супергероя-мизантропа встречает приятный женский голос, распахивает двери и ведет беседы на различные темы. Для меня это прежде всего удобство и стабильность. А самое главное: не то что ребенок, а даже бабушка сможет разобраться, как он работает.

Читать дальше →
Всего голосов 35: ↑5 и ↓30-25
Комментарии34

Диагностика старения 1.0

Время на прочтение14 мин
Количество просмотров30K
image

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

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

Конечно, когда вам за 40, ваше старение уже на полном ходу. Чем раньше вы им займетесь — и в 25 лет не рано, — тем больше шансов отложить его на потом, а там, глядишь, и искусственный интеллект как-нибудь да поможет.

У старения нет одного запускающего механизма, старение постепенно — и поначалу незаметно — захватывает весь организм, последовательно выводя из строя органы и системы. В конечном итоге приводя к смерти.

Что же в первую очередь нам надо понять перед лицом старения?

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

Сигнальные пути старения

Всего голосов 28: ↑27 и ↓1+26
Комментарии35

Потокобезопасный std::map с производительностью lock-free map

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

Примеры использования и тестирование потоко-безопасного указателя и contention-free shared-mutex


В этой статье мы покажем: дополнительные оптимизации, примеры использования и тестирование разработанного нами потоко-безопасного указателя с оптимизированным разделяемым мьютексом contfree_safe_ptr<T> – это эквивалентно safe_ptr<T, contention_free_shared_mutex<>>
В конце покажем сравнительные графики тестов нашего thread-safe указателя и одних из лучших lock-free алгоритмов из libCDS на процессорах Intel Core i5/i7, Xeon, 2 x Xeon.
Читать дальше →
Всего голосов 58: ↑57 и ↓1+56
Комментарии22

Делаем любой объект потокобезопасным

Время на прочтение30 мин
Количество просмотров73K
image

В этих 3-ех статьях я детально расскажу об атомарных операциях, барьерах памяти и о быстром обмене данными между потоками, а так же о «sequence-points» на примере «execute-around-idiom», а заодно постараемся вместе сделать что-нибудь полезное — умный указатель, который делает любой объект потоко-безопасным для любых операций с его членами переменными или функциями. А затем покажем как используя его достичь производительности высоко-оптимизированных lock-free алгоритмов на 8 — 64 ядрах.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии29

Ускоряем std::shared_mutex в 10 раз

Время на прочтение35 мин
Количество просмотров52K
В этой статье мы детально разберем атомарные операции и барьеры памяти C++11 и генерируемые ими ассемблерные инструкции на процессорах x86_64.

Далее мы покажем как ускорить работу contfree_safe_ptr<std::map> до уровня сложных и оптимизированных lock-free структур данных аналогичных по функциональности std::map<>, например: SkipListMap и BronsonAVLTreeMap из библиотеки libCDS (Concurrent Data Structures library): github.com/khizmax/libcds

И такую многопоточную производительность мы сможем получить для любого вашего изначально потоко-небезопасного класса T используемого как contfree_safe_ptr<T>. Нас интересуют оптимизации повышающие производительность на ~1000%, поэтому мы не будем уделять внимание слабым и сомнительным оптимизациям.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии22

DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

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


Предыдущие публикации:

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Прошло уже больше года с момента последней публикации из серии домашней алхимии, посвященной издевательствам над бытовой техникой производству порошка для посудомойки в домашних условиях. Я все еще жив. Большинство тестировавших жуткие смеси, насколько мне известно, живы. В этом посте я хотел рассказать как правильно мыть ржавые гвозди в посудомойке, не растворяется ли картошка с укропом и подвести итог экспериментов за год.
Читать дальше →
Всего голосов 116: ↑116 и ↓0+116
Комментарии534

Получено первое научное свидетельство «высшего уровня сознания»

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

Усреднённые изменения в уровне сложности активности мозга по алгоритму Лемпеля — Зива по одному каналу (это лишь одна из нескольких измеряемых математических метрик сложности сигналов) для трёх психотропных препаратов: псилоцибина, кетамина и ЛСД. Красный цвет соответствует увеличению уровня сложности. Изображение: Университет Сассекса

Понимание неврологической основы сознания — одна из самых сложных загадок, которая стоит перед современной наукой. Формулировки «сознания» поэтому варьируются от крайне широких до крайне узких, но на интуитивном уровне все примерно понимают, что есть разница между уровнем сознания (в какой мере сознателен человек) и содержанием сознания (мысли, ощущения, чувства). Соответственно, большинство неврологических исследований изучают эти два измерения по отдельности. По активности мозга гораздо проще установить разницу между уровнями сознания — активность мозга у бессознательного человека и у человека в сознании хорошо заметна. Формально это выражается через индекс разнообразия нейронных сигналов — математическую характеристику уровня сознания.
Читать дальше →
Всего голосов 33: ↑25 и ↓8+17
Комментарии267

Как космический зануда на «Время первых» ходил

Время на прочтение11 мин
Количество просмотров48K
Самый главный спойлер — фильм мне понравился. Он хорош, но не идеален. А некоторые его неточности и особенности интересны и дают повод поговорить о физике, космической технике и организации полетов.


Кадр из второго официального трейлера фильма «Время первых»
Всего голосов 83: ↑78 и ↓5+73
Комментарии94

От четырёх до тридцати двух

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

Часть 1: От четырёх до восьми




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

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

Кто-то начинал с больших гудящих машин размером с комнату, кто-то с настольных домашних, кто-то собирал свой первый компьютер сам, по статьям в журналах. В каждом из таких направлений появлялись свои уникальные традиции, общие интересы, субкультура.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии91

Как открытые офисы влияют на работу высокоэффективных сотрудников

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

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

Отвлекающие факторы убивают производительность высокоэффективных сотрудников (ВПС) – инженеров-программистов, аналитиков данных, дизайнеров, разработчиков 3D-прототипов и других ключевых специалистов. Это очевидный факт, который уже давно широко обсуждается.

Отвлечение внимания – единственная серьезная помеха для высокой эффективности талантливых работников. Если высокопроизводительному сотруднику требуется около 25 минут для того, чтобы восстановить сосредоточенность после перерыва, и его отвлекут в течение рабочего дня, например, четыре раза, то получится 100 минут – почти два часа потраченного впустую времени.
Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии137

Как создавать, собирать, устанавливать и использовать пакеты с программами и библиотеками для UNIX-подобных систем

Время на прочтение13 мин
Количество просмотров43K
Речь пойдёт о программах и библиотеках для UNIX-подобных систем, распространяемых в виде исходного кода (в том числе в виде тарболлов), написанных обычно на C и C++ (хотя этот же порядок работы может применяться к софту на любом языке). Многие вещи в этой статье написаны применительно конкретно к GNU/Linux, хотя многое из статьи может быть обобщено и на другие UNIX-подобные ОС.

Под словом «пакет» я понимаю в этой статье пакет с исходными текстами, причём не пакет конкретного дистрибутива GNU/Linux, а просто пакет, исходящий от оригинальных авторов софта (UPD от 2017-02-09: кроме тех случаев, где из контекста ясно, что слово «пакет» употреблено в другом смысле).

В этой статье я разберу следующие вопросы:

  • Вот скачал программу или библиотеку. Как её собрать и установить? Как воспользоваться библиотекой?
  • Что такое префикс (prefix) установки? В чём разница между сборкой и установкой? Куда обычно устанавливают программы?

Я разберу только совсем базовые вещи. Те, которые типичные участники сообщества свободного ПО, программирующие на C и C++ под UNIX-подобные системы, обычно уже знают. Как создавать тарболлы (на примере «голого» make) и как устанавливать чужие тарболлы. Advanced советы по созданию «хороших» пакетов я не дам. «Продвинутые» вещи читайте в документации систем сборки, в замечательной статье «Upstream guide» от Debian (в её конце есть ещё куча ссылок о создании «хороших» пакетов). Многое в этой статье можно было сделать по-другому, моя цель: дать хотя бы один способ, не пытаться объять необъятное.
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии17

Мелкосерийное производство корпусов 3D-печатью: придаем «заводской» внешний вид

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

Вы полны решимости выпустить свою разработку на массовый рынок.

Первый камень преткновения, с которым сталкиваются многие — как делать качественный корпус устройства мелкими сериями?

Как сделать из 3D-печатной модели «конфетку», которую и продавать будет не стыдно?

Один из вариантов — обработка и покраска. О тонкостях окраски полиамида — под катом. Много фото!
Читать дальше →
Всего голосов 69: ↑59 и ↓10+49
Комментарии73

Фриланс. Четыре истории успеха: ушел из офиса и жизнь закрутилась

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

Слушая рассказы о фрилансе, многие могут подумать, что это всё шутки: не могут такие «подработки» являться основной работой, и ребята наверняка перебиваются от заказа к заказу. Но фриланс – это не просто работа на себя, это, скорее, образ жизни, и многим подходит именно такой формат работы. Кто-то находит новых партнеров и разрастается во что-то большее, чем просто удаленный сотрудник. Мы в Коворкинг 14 убежденные романтики и верим, что будущее за такими историями.
Читать дальше →
Всего голосов 36: ↑19 и ↓17+2
Комментарии151

Выбор светодиодных ламп. 3. Спектры источников света

Время на прочтение4 мин
Количество просмотров29K
В идеале для оценки качества спектра излучения лампы необходим спектрофотометр. В крайнем случае можно использовать спектрофотометры для профилирования/калибровки мониторов (например, ColorMunki) — если такое устройство у вас есть. Покупать же спектрофотометры домой для оценки ламп нет никакого смысла, они стоят от сотен до десятков тысяч долларов.

Тем не менее, для нужд геологов и ювелиров выпускают простейшие спектроскопы на основе диффракционной решетки. Их стоимость от 1200 до 2500 руб. И это забавная и полезная штука.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии16

Каково это — быть разработчиком в России, когда тебе сорок

Время на прочтение37 мин
Количество просмотров161K
Привет всем, я — сорокалетний программист-самоучка, а это моя история.

Пару недель назад я наткнулся на график распределения людей, интересующихся технологиями, ИТ и программированием. И он заставил меня задуматься о моей карьере.



Через каких-то 20 лет мне стукнет 60. И вероятность того, что я еще смогу заниматься тем, для чего был создан, составляет очень крошечную величину. Эти размышления привели меня туда, откуда все начиналось.

Я дебютировал в роли разработчика программного обеспечения в 1990 году, через год после того, как мне на 14-тилетие родители подарили ПЭВМ «Микроша».
Читать дальше →
Всего голосов 353: ↑338 и ↓15+323
Комментарии788

Конкурентность: Асинхронность

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

Мы всё-таки смогли дойти до третьей части и добрались до самого интересного — организации асинхронных вычислений.


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


Теперь посмотрим, как можно управлять потоком исполнения (control flow) в случае обработки асинхронных задач.


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

Пьеса «Технический долг»

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

Пьеса «Технический долг» в 9 частях. Ставится и показывается впервые.


Часть 0: В пустой комнате стоят Разработчик (Р) и Менеджер (М).

М: Я собрал нас тут, чтобы рассказать пренепреятнейшее известие: система КРОТОПОН, которая работает на продакшане заглючила и мы потеряли кучу денег. Кроме того нет никого, кто знает как она работает. Поэтому (с придыханием) наш СЕО дал мне священную миссию — написать новую систему. Как ты думаешь, за два месяца справишься?

Р: А что делать-то нужно?

М: Да там немного, всего лишь пару десятков систем связать и рюшечки навесить.

Р: Эй, да это же на год работы! И вообще требования будут?

М: (В телефон) Да, конечно, за пол года справимся. (Разработчику) Ну ты тут пока начинай, а я тебе требования потом донесу.

Менеджер уходит.

Р: Но тут же…

Разработчик тяжело вздыхает, затаскивает в комнату инструменты и начинает что-то сооружать.
Читать дальше →
Всего голосов 201: ↑195 и ↓6+189
Комментарии196

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность