• Финтех-дайджест: триллион рублей на ветер, банковское отделение под управлением роботов и PayPal в качестве банка
    0
    В Китае второй по величине банк China Construction Bank открыл отделение, в котором клиентов обслуживают роботы

    Ну их роботами можно назвать только при очень бурном воображении. Как по мне (и глядя на синнет половина китайцев со мной согласны) это самый обычный интерактивный терминал, только в робото-подобном корпусе и даже без колес. Скорее всего очередной распил средств (тут такое еще чаще случается чем в России).
  • Визуализация связей процессов в Linux
    0
    Я тоже как-то сразу об этом подумал, а чтобы сделать из этого графику — направить выдачу как стандартный ввод для convert (ImageMagick).
  • Отправка почты из Docker-контейнера (докеризация postfix и sasl)
    0
    Другая часть этих настроек конечно должна быть проведена в настройках домена. Что к сожалению не всегда выполняется правильно. И поэтому почта часто попадает в серые и черные списки или отвергается некоторыми серверами.

    Так я вот именно поэтому и спрашиваю — зачем? Настройка полноценного мейл-сервера, которому другие сервера будут доверять, это дело очень сложное (DNS A/AAAA, DNS PTR, DNS SPF это как минимум, еще добавим TLS, DKMS и прочее), что все достоинства использования контейнеров сходят на ноль, совсем.

    При этом в интернете тысячи (ну или хотя бы сотни уж точно) сервисов, которые делают отправку почты через API банальным делом (например — AWS SES, не знаю какие сервисы для этого популярны в России).
  • Отправка почты из Docker-контейнера (докеризация postfix и sasl)
    0
    Мне одно непонятно — зачем?

    Если надо отправить почту из приложения которое крутится внутри контейнера, можно:

    а) подключиться к локальному MTA на хосте из докера (локально оно слушает всегда на 127.0.0.1:25)
    или
    б) отправлять по API через предназначенные для этого сервисы (а не заморачиваться с настройкой своего mail-сервера, а то адрес отправителя и IP очень быстро улетит в замечательный spam-blacklist)
  • Почему я ушёл из Google и начал работать на себя
    +2
    Как мне кажется (и я и сам часто об этом задумываюсь) это о том что когда гугл только развивался, там было намного меньше (если вообще были) «эффективных менеджеров», и намного больше программистов. Но когда гугл стал популярен, то туда начали рваться всякие менеджеры и прочее непотребство и компания стала увязать в бюрократии. К тому же, по-моему мнению, в больших компаниях, те кто вообще не знают этого бизнеса и не понимают чем занимается компания могут легко спрятаться на уровне среднего звена менеджмента.

    Это, конечно же, мое мнение, и другие могут быть с этим не согласны, но это мнение основано на моем опыте нескольких лет работы в одной достаточно крупной корпорации.
  • UPDATED: Амплифицированные memcached DDoS-атаки на 500 Гбит/с прокатились по всей Европе
    0
    Там все сложнее чем намертво :) По моим тестам сначала они разрешают UDP для IP адреса, но при непрерывном трафике через 5 минут отрубают на несколько часов. Потом опять можно отправлять UDP. Но если они при этом детектят зашифрованный трафик на UDP, то IP попадает в черный список и весь международный трафик включая TCP и UDP отрубается на совсем (не уверен какая продолжительность бана, но точно больше месяца).
  • UPDATED: Амплифицированные memcached DDoS-атаки на 500 Гбит/с прокатились по всей Европе
    +1
    У такой географии есть простое объяснение — толпы «DevOps» инженеров, которые не знают основ администрирования и оставляют тысячи и более сервисов светить портами в интернет, сканировали, знаем ;) А, например, там нет Китая (где тоже все очень печально в этом плане), так как GFW намертво отсекает UDP, так как многие пытаются делать VPN via UDP.
  • DevOps придумали разработчики, чтобы админы больше работали
    +1
    Это я к тому что при нормальной установке Linux на сервер соответствующие пакеты которые бы добавили соответствующие модули ядра (cpufrequtils на Debian, например) не установлены по-умолчанию, а это означает что ваши тесты были проведены, мягко говоря, не в совсем корректном окружении. Я так же собеседовал и собеседую людей на различные роли. И все рвутся мне рассказать как же правильно настроить kubernetes, хотя когда их спрашиваешь банальные вещи (как работает swap, разница между статической и динамической линковкой, для чего используется strace и мой любимый — как работает OOM) смотрят на меня «глазами полными ужаса»
  • DevOps придумали разработчики, чтобы админы больше работали
    –3
    Дочитал до тюнинга «scaling_governor» как решения и бросил. Не уверен как остальным читателям, но мне вот именно этот момент и показал проблему DevOps. ОС на сервере настроена как для desktop/laptop, и вы пытаетесь на этом показать производительность production? Смешно. Вот этот как раз и есть настоящая беда, когда люди рвутся везде использовать новейшие buzzword'ы, но при этом не знают как еще настроить сервер для production.
  • Англоязычная версия Хабра: быть или не быть?
    0
    А вы знаете китайский включая сленг и IT жаргонизмы на достаточном уровне? У них полно форумов (или как они их называют BBS). Самый крупный это www.csdn.net, и очень много региональных или узко-специализированных.

    Но если вы думаете сделать «китайский хабр», то я вам 100% гарантию даю что не взлетит, по одной простой причине — государственный контроль над IT и телекоммуникациями, и иностранцам и иностранным компаниям там ничего не светит.
  • Англоязычная версия Хабра: быть или не быть?
    –1
    Так то да, nothing is perfect, но как мне кажется вся соль именно в том, что это уже устоявшиеся сервисы, со своей культурой и своей аудиторией. Делать что-то новое с целью заменить эти сервисы будет проблематично. Вопрос не в том, можно ли сделать, сделать можно все что угодно (ну или почти все), было бы желание, а в том, что нужно ли это той самой иностранной аудитории? И если их сейчас спросить, то ответ будет «нет, не нужно, есть же Reddit и HN».
  • Англоязычная версия Хабра: быть или не быть?
    0
    Да бывают такие ситуации, тогда Wayback machine часто спасает, а если нет, то наверняка есть другие статьи по данному вопросу, а если уж совсем беда беда, то и на SO спросить не грех, как мне кажется.
  • Англоязычная версия Хабра: быть или не быть?
    +3
    Вы, наверное, веткой ошиблись, я не спрашивал почему и зачем, а высказал свою точку зрения как человек который читает в основном на английском, а на Хабр заходит чтобы русский язык не забыть.

    Но я, так и быть, отвечу на ваш комментарий:
    1) Мультиселект языка.

    Так вы делают англо-язычный ресурс, или «для всех». Как мне кажется, «для всех» не взлетит. Не будет никто переводить на многие языки. Точно так же как никто не переводит вопросы/ответы с англ SO на русский SO.
    2) Если статьи на языке пользователя нет, то он может выбрать, на каком из имеющихся читать. (+оповестить о переводе)

    И как этот пользователь который не может найти статью на своем языке ее еще для начала найдет?
    4) Галочка «только на языках, которыми я владею» в поиске / топе(тут мб тонкое место с поддержкой кучи топов)

    А вот на этом пункте я немного задержусь. Я, как человек, который последние 10 лет работает только в англо-язычной среде в IT, вам замечу что такая ситуация (с плохим знанием англ., настолько что переводить надо) существует только в двух сообществах — русском IT и в китайском IT. Все другие сообщества в той или иной мере могут общаться на английском. Я не говорю про Европу. Я говорю про Вьетнам (очень большая популяция разработчиков), Индия и Пакистан (ну там то все понятно, колониальное прошлое сказывается), Таиланд, страны Центральной и Латинской Америк, и т.д. Как мне кажется (опять же как человеку, который прожил в России 20 лет до окончательно и бесповоротного переезда, а так же долгое время работающему с азиатскими странами) сказывается менталитет. В обоих случаях (Россия и Китай), сообщество концентрируется на 99% на внутренних ресурсах и думает что «мы и сами с усами» и «никто нам не указ» и «наши программисты самые программистые программисты». Хотя у Китая еще и цензура сказывается, но в России это тоже начинается как я слышал. В то же время все основные языки программирования, документация, конфигурация и т.д. изначально идут на англ., и далеко не все из них переведены хотя бы на 2-й язык. Так что для всех, кто хочет работать в IT, самым простым и оптимальным решением является учение английского языка, а не перевод статей на свой язык. Как результат, как мне кажется, вся эта идея с переводом на многие языки будет работать только на 50% и только для двух языков — русского и китайского.

    Так что мое пожелание, это чтобы люди в российском IT учили (de facto) стандартный язык общения в IT, а не занимались переводами. Это лучше оставить профессиональным переводчикам.
  • Англоязычная версия Хабра: быть или не быть?
    +2
    Я потому и написал про Reddit, там же много тематических форумов где каждый может пропиарить свою статью в своем же уютном бложике на Wordpress (или на чем другом). Я подписался именно на те форумы, которые мне интересны, и оттуда и читаю.

    Много авторов кросс-постят на Reddit и HackerNews. Или если автор только запостил в один из них, кто-нибудь другой запостит на другом ресурсе. Так что вроде ничего мимо не проходит.
  • Англоязычная версия Хабра: быть или не быть?
    +8
    И получится Reddit с кармой и другими свистелками. К тому же я вас уверяю, что на английском языке намного больше годных статей, именно поэтому половина [годных и технических] статей на Хабре это переводы.
  • Журнал о работе с сетью. Часть 1
    +2
    Как то очень поверхностно и сумбурно. Многие вопросы не раскрыты, а другие написаны в стиле «ну потому что так, не будем углубляться». Хотя там на самом деле никак магии и нет и все очень просто объясняется если начать с основ. Вот бы кто-нибудь сделал такого же рода комиксы для всего сетевого стека, а не только для 10% от 4-го уровня…
  • В защиту swap'а [в Linux]: распространенные заблуждения
    0
    За что же облачного провайдера линейкой бить, если создание свопа никто не ограничил и проблемы это не вызвало

    За то что учат всех что «no swap, no problems», хотя это далеко не так. Мой пример как раз и написан для того чтобы показать что своп это такой же инструмент, которым нужно знать как и когда пользоваться. Может они (облачные провайдеры) и хотят как лучше, но получается «как всегда». Точно также как они (облачные провайдеры) по-умолчанию отключают SElinux на всех своих образах, ну а как-же, половина интернетов отключают (потому что не знают как им пользоваться), вот мы им и поможем, заранее для них отключим.
  • В защиту swap'а [в Linux]: распространенные заблуждения
    0
    Учитывая отсутствие общего хранилища сессий и общей неготовности приложения к многонодовому исполнению


    1. Я где-то написал про HTTP сессии? В этом контексте это TCP сессии. Если приложение убит ООМ что с ними случится? И какие такие «общие хранилища» для TCP сессий вы предлагаете?
    2. Как подрядчик будет «продолжать получать деньги за предоставление некачественной услуги» если подрядчик проект сделал и испарился. Работаем мы с клиентом, подрядчика этого мы в глаза не видели.
    3. JFYI: Я вроде нигде и не писал про «мучиться с разметкой диска». В том конкретном случае мы просто # dd if=/dev/null of=/swapfile bs=1M count=$(1024*20). Быстро и просто.
  • В защиту swap'а [в Linux]: распространенные заблуждения
    0
    Им критически важно чтобы для всех пользователей был 100% uptime (даже если за счет задержек в ответах)

    И как systemd restart=always или supervisord тут поможет? Те сессии, которые были открыты когда OOM случился отвалятся с ошибкой. Правильный подход будет — убрать ноду из LB, дождаться когда на ноде 0 сессий, прибить приложение и перезапустить. Своп помог оттянуть время ООМ чтобы все это можно было провернуть. Да — не оптимально и вручную, но это именно то что нужно клиенту и дало нам достаточно времени чтобы найти постоянное решение (тот самый unicorn-worker-killer).
  • В защиту swap'а [в Linux]: распространенные заблуждения
    +1
    За отключение свопа надо линейкой по рукам. Что там люди делают на своих личных машинах (где всякие Хромы и прочее непотребство крутится) это одно, а когда все облачные провайдеры предоставляют образы машин без свопа и в 99% случаев народ так с ними и работает это совершенно другая история.

    Мой пример:

    У одного из наших клиентов есть «очень серьезное приложение» (TM) написаное на RoR какими-то подрядчиками. Подрядчики эти уже больше года отказываются починить memory leak который случается стабильно раз в два дня и на большой скорости выжирает всю доступную память примерно за 5 минут, после чего ООМ убивал приложение.

    До того как они к нам пришли за помощью оно (приложение) у них падало раза 3-4 на неделе на каждой из машин (10 серверов после HAproxy). Им критически важно чтобы для всех пользователей был 100% uptime (даже если за счет задержек в ответах). Времени среагировать просто нет (за 5 минут мы только первые сигналы увидим о том что память заканчивается).

    Как временное решение — добавили своп 20ГБ на каждой из машин, vm.swappiness = 15.

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

    В конце мы просто поставили unicorn-worker-killer gem и сконфигурировали его чтобы убивал worker процессы когда они отъедают больше чем X% памяти.

    Так что медленный своп это в некоторых ситуациях скорее достоинство чем недостаток.
  • fx — алтернатива jq для обработки JSON из командной строки
    0
    Мне кажется те, кто «с консолью на вы», не должны решать срочных задач в консоли, потому что в 99% случаев (appx/bome) это заканчивается поисками тех кто с консолью работает каждый день чтобы починить не работающий сервис.
  • Релиз CLion 2017.3: существенные улучшения поддержки C++, интеграция с Valgrind Memcheck и Boost.Test и многое другое
    0
    Makefiles! Makefiles! Скорее бы уже. Я каждый день использую либо Go[g]Land, либо PyCharm, либо NetBeans, ибо CLion все-еще не поддерживает GNU make, и как-то становится обидно что плачу за весь toolbox, а пользуюсь только на 2/3.

    Хоть какой-нибудь примерный ETA можете подсказать, когда нам уже придет счастье?
  • Swift не нужен?
    0
    Вы прямо сами себе же и противоречите:

    программисты на Objective-C на пенсию уйдут, а кто будет этот их код в ядре и ключевых компонентах системы поддерживать

    SDK/фреймфорки != ядро/OS. Драйвера для устройств и все компоненты системы низкого уровня там написаны на C/C++, графическая оболочка и прочие надстройки это отнюдь не «ключевые компоненты системы».
  • Swift не нужен?
    0
    Что-то я очень сильно сомневаюсь что код в ядре пишут на Objective-C, там даже C++ не особо-то видно, все пишется на старом добром C который никуда не денется. Все что в ядре написано на Objective-C или Swift это в основном интерфейсы чтобы вы могли SDK на этих языках использовать.
  • Атака 51% или карманный справочник для правительства Китая
    +3
    Передаю с места событий. Запрет не сняли, криптовалюты не запретили, а запретили обмен RMB (китайского юаня) на криптовалюты (ну и «добровольно» закрыли обменники где можно было менять RMB — крипто)
  • ICO в поисках юрисдикции
    0
    С Китаем вы немного оплошали. Китай в сентябре запретил гражданам проводить ICO

    Так же они в сентябре запретили обмен юаня на крипто-коины.

    И с тех пор никаких новостей о том разрешат ли опять или какие-либо правила введут. Так что Китай, никак не попадает в ту же группу что США, так как США вообще пока никак не регулируют.
  • Веб пора спасать?
    +3
    SMTP идет рука об руку с HTTP


    Я как бы думал что SMTP не имеет ничего общего с HTTP за исключением того что они оба используют TCP. Т.е. TCP надо заменить чем-то?

    То что оба протокола начали как текстовые обосновано тем, что в то время когда они создавались было невозможно (ну или крайне сложно) дебажить сетевые приложения. Поэтому «дебажились» они вручную. Вот только Ваш комментарий что оба протокола текстовые морально устарел еще до того как вы его написали. HTTP/2 и SPDY полностью бинарные протоколы, SMTP без TLS сейчас очень мало где используется, что опять в своем роде делает его бинарным (а как вы хотите переправлять текст в не-текстовом формате? email это же для людей читать, так что он натурально текстовый).
  • Extreme Networks идет к воплощению сетевой фабрики (Network Fabric) в реальность
    0
    <зануда mode on>
    Фабрика = Factory; Fabric = Ткань
    <зануда mode off>

    Там вообще весь текст как копипаста из онлайн переводчика:

    Это – новое решение, составленное из зрелых, хорошо зарекомендовавших себя решений

    И так далее

  • Сказ о sysctl’ях (народная пингвинская история)
    0
    Хорошая статья, годная, мне ничего нового, но думаю многим пригодится. Еще можно по той же теме затронуть такие sysctl параметры как tcp_timestamps, tcp_syn* и nf_conntrack_* (которые могут спасти от SYN-flood'а и просто пикового траффика без CDN и SMS), tcp_tw_*, tcp_*_timeout, tcp_keepalive_* (которые могут безболезненно увеличить пропускную способность машины), и т.д. Очень обширная тема.

    Вообще, многие думаю не знают что дефолтные настройки ядра далеко не самые оптимальные для серверов. Но, конечно, перед тем как что-то крутить нужно понимать что это и как оно работает, для чего есть очень хорошие комментарии прямо в коде ядра где можно посмотреть текст и убедиться что имплементация работает именно так.
  • Spark — Потрясающий веб-микрофреймворк для Java
    0
    Я вот как раз такими же вопросами задался некоторое время назад и из этого родилось вот такое чудовище, там точно так же как и в экспрессе можно сделать чтобы несколько handlers отработали в определенном порядке.
  • Go: 10 лет и растём дальше
    +3
    Кстати, один я заметил интересную особенность, что на Go активно переходят только PHP-шнки т.е. в большинстве своем те люди, которые привыкли писать лапшеобразный код.

    Перешел на Go с С/С++, Java и Python (для новых проектов). Очень счастлив что это сделал, теперь трачу больше времени на написание кода приложений, чем на отладку и попытки понять почему у меня огнестрельная рана в ноге. Веб приложения не пишу, лапшу не пишу (по-крайней мере стараюсь не писать). Я что-то делаю не так?

    Итогом является закономерный Го-внокод.

    Мне кажется Вы приписываете языку то, что относится к самим программистам. Если программист пишет говнокод на PHP и JS, то переход на тот-же D это не исправит.
  • RPM-репозиторий — своими руками
    0
    Так как всем управляет Jenkins, то у нас делается в два этапа:
    — первая задача собирает пакет по триггеру из репозитория и кладет пакет в промежуточную директорию, в конце она вызывает задачу номер 2
    — вторая задача смотрит что лежит во временной директории, подписывает, кладет в WebRoot, обновляет мета-данные и подписывает их

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

    Еще в Jenkins можно отключить параллельное исполнение одной и той же задачи, т.е. даже если есть свободные воркеры, повторный вызов просто встанет в очередь.
  • RPM-репозиторий — своими руками
    0
    У нас примерно тоже самое только через Jenkins:
    Jenkins собирает пакет после merge в репозитории
    Он же подписывает этот пакет (да-да в статье не написано, но это считается дурным тоном не подписывать rpm пакеты)
    Он же заливает пакеты в репозиторий (через sshfs)
    Он же обновляет мета-данные репозитория и подписывает их

    И все настраивается красиво через WebUI. Непонятно зачем такие сложности с написанием своего велосипеда на Python
  • Новый алгоритм шифрования NASH
    0
    Точно так же как половина эллиптических кривых в ECDSA(ECDH) «одобрена» NSA (да и параметры кривых какие-то странные и ни разу никем не объяснены).
  • Почему GitHub не может хостить ядро Linux
    +1
    Это я о том что Git изначально заточен под работу именно в стиле kernel. Те кто пользуется Github используют в лучшем случае 20% от всей функциональности Git'а, а остальные функции для этих пользователей выглядят сложными и часто ненужными (достаточно погуглить на англ про git-rebase, например, очень много кто не понимает разницу, или тот же cherry-pick, хотя обе функции активно используются в kernel и других масштабных проектах).
  • Почему GitHub не может хостить ядро Linux
    –5
    Я думаю не все в курсе, а статья не упоминает, что сам Git был разработан Линусом, как раз таки специально для того чтобы хостить код ядра. Github же предоставляет достаточно урезанную по функциональности версию Git.
  • Добавляем двухфакторную OTP аутентификацию в SSH за 10 минут
    0
    Если нет проблем с англ. очень советую прочитать вот эту статью про достоинства и недостатки FreeIPA+SSSD+MFA, но эта статья достаточно старая и многие указанные там недостатки уже были исправлены (в статье есть ссылки на соответствующие дискусси разработчиков)
  • Введение в разработку умных контрактов Ethereum
    0
    Спасибо за статью! Было бы очень интересно прочитать про то как добавить умные контракты в логику блокчейна. Я тут в свободное время занимаюсь написанием игрушечного/учебного блокчейна, но пока не разобрался как добавить туда engine для этих умных контрактов.
  • Добавляем двухфакторную OTP аутентификацию в SSH за 10 минут
    0
    Ну у нас как бы тоже самое. Сервера не свои, а клиентские. Своих и клиентских пользователей мы добавляем в LDAP. Наши пользователи имеют доступ ко всем серверам, но только по определенному тикету, если нет тикета, нет и доступа. Клиентские пользователи имеют доступ только к своим серверам, но у них доступ не ограничен тикетом (может быть ограниченный sudo, например разработчики могут переключится на пользователя под которым работает приложение, или только могут управлять определенными процессами).

    Пароли, ключи, MFA, время доступа, какие команды могут быть выполнены с sudo, на какие сервера можно залогиниться и откуда. Все это вполне себе управляется через LDAP.

    Как я сказал выше этот продукт не добавляет ничего нового, а только является очень очень странным велосипедом в области где все уже вполне себе хорошо не первый год.
  • Добавляем двухфакторную OTP аутентификацию в SSH за 10 минут
    0
    How could we prevent a system from being compromised when someone lost the laptop with ssh key. What would we do in case someone quits the company — is there an alternative to just changing all passwords, keys, etc?


    Судя по вот этому ваше решение это велосипед который игнорирует уже существующие системы (которые к слову развивались не один год). Простейший OpenLDAP+SSSD позволит в одну минуту заблокировать пользователя на всех серверах + отозвать sudo привилегии + отозвать доступ к сервисам которые работают через PAM или напрямую через LDAP и т.д. и т.п. И все это сделано централизованно без необходимости использовать несуразный Ansible (его сейчас вообще очень модно использовать где попало). Опять же с банальным OpenLDAP и SSSD можно включить MFA на всех устройствах. А если идти более сложным путем (FreeIPA) то открывается еще больше возможностей.

    Дисклеймер: Я не против Ansible, и сам его использую чтобы поддерживать примерно 1.5к серверов. Но я точно не хочу использовать его для вот таких вещей.