• Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети

      logo ubuntu and windows
      Изображение с сайта getwallpapers.com


      История


      В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой хороший друг @deadroot сделал первую версию тонкого клиента, который грузился целиком в память, не требуя что-то монтировать по сети для работы.


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


      Недавно у меня дошли руки сделать из этой кучи страшных ненадёжных скриптов достаточно удобное для использования решение:


      • Vagrant поднимает виртуалку, которую можно настраивать как обычную рабочую станцию.
      • Одним скриптом из неё собирается готовые для загрузки по сети файлы, лишнее вырезается.
      • Vagrant поднимает виртуальный PXE сервер и сетевой клиент для проверки получившейся сборки.
      Читать дальше →
    • Изучение английского — непопулярное мнение

        Всем привет.

        Очередная статья от «курсов изучения английского» сподвигла меня написать свои заметки. Этой статьёй я надеюсь ответить на некоторые вопросы изучающих язык и отговорить от глупых советов «запомнить вот эти 10/15/20 слов/конструкций», которые подаются как некие секреты языка.

        Сейчас я использую лишь 2 языка: русский и английский, хотя в разное время учил также украинский, немецкий и французский. Английский изучаю с 6 лет и мне повезло с преподавателями (хоть и не со всеми), где-то со старших классов школы имею уровень C1-C2. Хочу поговорить как о планировании в изучении языка, так и о каких-то приёмах.
        Читать дальше →
      • Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть1

        • Перевод
        Добро пожаловать на презентацию «Практический шпионаж с помощью сотового телефона». Прежде чем мы начнем, сделаю пару замечаний по поводу конфиденциальности. В-первых, звонок по сотовому телефону может быть записан прямо во время разговора. Сюрприз! Так что если вы не хотите, чтобы ваш звонок был записан, выключите свой телефон. Если вы пользуетесь услугами сотовых операторов Sprint или Verizon, вы не находитесь в сетях GSM, и моя система вообще не сможет говорить с вашими телефонами, так что вам не о чем беспокоиться.



        Должен заметить, что я призываю людей держать свои телефоны на виду во время разговора, особенно если они пользуются GSM – трубкой, потому весь смысл этого в том, чтобы показать, как могут быть перехвачены ваши телефонные звонки. Если же вы не пользуетесь своей трубкой, этот приём не работает.
        Читать дальше →
        • +34
        • 14,4k
        • 8
      • Использование zRam для увеличения количества доступной памяти под Linux

          image
          Уже 2 месяца использую на своих компьютерах модуль zRam и хочу поделиться результатами. На практике он позволил мне не используя раздел подкачки, и не получая видимого замедления работы компьютера увеличить размер оперативной памяти в 2.5-3 раза. На сервере виртуалок тот же подход позволил очень ощутимо увеличить отзывчивость при нехватке памяти.
          Заинтересовавшихся прошу под кат.
          Читать дальше →
        • Беспроводные устройства Xiaomi в умном доме ioBroker

          Приветствую всех любителей домашней автоматизации. Решил поделиться опытом использования беспроводных Xiaomi устройств с интерфейсом ZigBee. Я, честно говоря, против применения любых беспроводных устройств в любой автоматизации, от серьезных АСУТП больших объектов до малой автоматики типа охранно-пожарной сигнализации или умного дома, но… Решения Xiaomi подкупили дешевизной, доступностью, отличным дизайном и множеством положительных отзывов от пользователей, решил попробовать.

          Этот пост следует воспринимать, как пошаговую инструкцию для интеграции ZigBee устройств в инфраструктуру умного дома. Описанное здесь ни в коем случае не является аксиомой и можно найти много других способов подключения ZigBee устройств. Если всё же пропускать детальное описание, то можно составить впечатление о сложности или легкости объединения устройств от разных производителей в одну локальную платформу на примере ZigBee и ioBroker (о нём чуть позже). Я расскажу в этой статье, как подключить устройства к умному дому, отобразить информацию с них на планшете или просто в браузере и отправить сообщения через телеграм о смене состояния устройств. Если я вас заинтересовал, то прошу под кат.
          Читать дальше →
        • Малоизвестные возможности JavaScript

          • Перевод
          JavaScript часто называют самым простым языком для новичков, в программировании на котором сложнее всего достичь мастерства. Автор материала, перевод которого мы публикуем, говорит, что не может не согласиться с этим утверждением. Всё дело в том, что JS — это по-настоящему старый и по-настоящему гибкий язык. Он полон таинственных синтаксических конструкций и устаревших возможностей, всё ещё им поддерживаемых.

          image

          Сегодня мы поговорим о малоизвестных возможностях JavaScript и о вариантах их практического применения.
          Читать дальше →
        • Видеонаблюдение в подъезде своими силами



          Прочитал относительно недавнюю публикацию о видеонаблюдении и решил описать свой опыт. Считаю мое решение оптимальным по соотношению цена/функциональность, но с удовольствием выслушаю критику более опытных людей.

          Итак, задача — минимальными материальными и временными ресурсами сделать видеонаблюдение в подъезде перед входной (в квартиру) дверью. Желательно не записывать круглые сутки “пустые” картинки, т.е. необходимо детектирование движения. Также хорошо бы иметь удаленный доступ к записям.
          Читать дальше →
        • Mikrotik. Failover. Load Balancing

          Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

          Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

          Давайте рассмотрим что же мы можем сделать:

          Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов
          Читать дальше →
        • kubebox и другие консольные оболочки для Kubernetes



            Мы уже писали о «консольных помощниках» для Kubernetes год назад, а ещё раньше делали обзор других полезных утилит. Однако с развитием K8s и его сообщества претерпевает изменения и сопутствующая экосистема. Поэтому нам снова есть о чём рассказать любителям консоли. Поехали!
            Читать дальше →
            • +15
            • 5,5k
            • 6
          • Использование сканера уязвимостей OpenVAS

              Сканеры уязвимостей — это программные или аппаратные средства, служащие для осуществления диагностики и мониторинга сетевых компьютеров, позволяющее сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности, оценивать и устранять уязвимости. (Википедия).
              Известными коммерческими сканерами являются Nessus, GFI LANguard, XSpider.

              В отличии от прочих, OpenVAS бесплатен, работает без каких либо ограничений и может пригодится как сетевым администраторам, так и специалистам ИБ для выявления актуальных проблем своей инфраструктуры.

              Читать дальше →
            • Как я осилил английский

              Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
              Читать дальше →
            • Ansible и ChatOps или как управлять 100+ серверами из чата

              • Перевод
              • Tutorial
              Обновлено: 21 февраля 2017

              Ansible и ChatOps при помощи StackStorm, Slack и Hubot

              Что такое ChatOps?


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

              Можно придумать такие вещи как деплой кода или развертывание серверов из чата, просмотр графиков мониторинга, отправку SMS, управление кластерами или просто запуск shell команд. ChatOps может быть высокоуровневым представлением вашей действительно сложной CI/CD системы, неся простоту с помощью команды в чате вроде: !deploy that thing. Такой подход делает чудеса для улучшения видимости и снижения сложности вокруг процесса развертываний.

              Читать дальше →
            • Делаем приём платежей криптовалютой своими руками

              Привет, Хабр!


              Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни.


              В этой статье я постараюсь максимально подробно, без акцента на каком-либо языке программирования, описать, как сделать приём платежей Bitcoin (а также, при желании — Litecoin, Dash, Bitcoin Cash, Steep, ONION и т.п.), начиная с разворачивания полной ноды и заканчивания проверкой поступления платежа.

              Читать дальше →
            • Знай сложности алгоритмов

              • Перевод
              Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
              Читать дальше →
            • Шпаргалка для технического собеседования


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

                Читать дальше →
              • Руководство по аналитике для основателя стартапа

                • Перевод
                • Tutorial


                Вам нужна аналитика.


                Я совершенно уверен в этом, потому что сегодня всем нужна аналитика. Не только продуктовой команде, не только маркетингу или финансам, но и продажам, доставке, сегодня каждому в стартапе нужна аналитика. Аналитика помогает принимать все решения, от стратегических до тактических, как управляющим, так и рядовым сотрудникам.


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

                Читать дальше →
                • +21
                • 13,5k
                • 5
              • Как я попросил студентов написать фишинговые письма

                  – Учитель, я подобрал хороший пароль, которого не может быть в словарях.
                  Инь Фу Во кивнул.
                  – Я ввёл его в Гугле, – продолжал Сисадмин, – и убедился, что в Сети такого сочетания нет.
                  – Теперь есть.


                  Я аспирант и преподаю вирусологию в университете.

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



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

                  Осторожно, много скриншотов.
                  Читать дальше →
                • Пара способов отправить уведомления на смартфон со своего сервера

                  В этом туториале я рассмотрю пошагово, как отправлять со своего сервера уведомления на свой (или не свой) смартфон, какие средства для этого понадобятся. Эти способы универсальны и подойдут для любого языка программирования, т.к. напрямую используют API гугла, без использования библиотек. Отправить можно на смартфоны с Android, iOS и в браузеры с поддержкой Push API (на сегодня это Chrome, Firefox и их производные).

                  В общем всем тем, кто давно хотел отправлять уведомления со своего домашнего сервера на свой смартфон, но не знал с чего начать, посвящается.
                  Хочу отправлять свои уведомления!
                • Постановка задач для начинающих тимлидов

                  • Tutorial
                  Когда люди говорят о постановке задач — они очень любят вспоминать про SMART.
                  Ну, дескать, цель должна быть Specific, Measurable, Attainable, Relevant, Time-bound.
                  И есть даже удивительные люди, которые пытаются это пихать программистам.

                  Но есть задачи, а есть задачи. И между ними большая разница!
                  Читать дальше →
                • Как собеседовать инженеров-программистов

                  • Перевод
                  Мы в компании Triplebyte проводим много собеседований. В реальности за последние два года я собеседовал более 900 инженеров. Насколько это эффективное использование моего времени — здесь можно спорить (иногда я просыпаюсь в холодном поту и сомневаюсь в этом). Но независимо от моих ощущений, главное, что мы стараемся улучшить процедуру собеседований. Для этого мы проводим собеседования без просмотра резюме (background-blind inrterview), определяем навыки программирования, а не оцениваем заслуги и рекомендации. После того, как инженеры прошли наше собеседование, они направляются для финального интервью напрямую в компании, с которыми мы работаем (включая Apple, Facebook, Dropbox и Stripe). Мы собеседуем инженеров, ничего не зная об их биографии, а затем смотрим, как они проявляют себя в разных крупнейших IT-компаниях. На мой взгляд, это самая лучшая проверка эффективности интервью.

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