• ISH Shell или возможно ли установить и использовать Linux на iOS

      Сегодня я хочу рассказать вам о таком приложении как ISH. ISH - это проект с открытым исходным кодом, позволяющее в виде приложения эмулировать полноценный линукс на вашем iOS (или iPadOS) устройстве. Давайте разберемся как это сделать и есть ли у подобной технологии реальное применение и будущее или это очередная игрушка для "мамкиных хакеров"

      Читать далее
    • Всё о проекте «Спутниковый интернет Starlink». Часть 2. Сеть Starlink

        Часть 1Часть2

        Космические аппараты Starlink специально сконструированы для группового запуска двумя стопками по 30 спутников под обтекателем ракеты Falcon 9 и имеют размеры: длина — 3,2 м, ширина — 1,6 м, высота — 0,2 м (оценка размеров сделана по фото ниже).

        image

        На фото показана укладка спутников Starlink под обтекателем ракеты Falcon 9. Обведены параболические антенны для фидерной линии связи с гейтвеями в Ка-диапазоне
        Читать дальше →
      • Оператор в Kubernetes для управления кластерами БД. Владислав Клименко (Altinity, 2019)


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


          В первой части доклада рассмотрим:


          • что такое оператор в Kubernetes и зачем он нужен;
          • как именно оператор упрощает управление сложными системами;
          • что оператор может, а что оператор не может.

          Далее, перейдём к обсуждению внутреннего устройства оператора. Рассмотрим архитектуру и функционирование оператора по шагам. Подробно разберём:


          • взаимодействие между оператором и Kubernetes;
          • какие функции оператор берет на себя, а что делегирует в Kubernetes.

          Рассмотрим управление шардами и репликами БД в Kubernetes.
          Далее, обсудим вопросы хранения данных:


          • как работать с Persistent Storage с точки зрения оператора;
          • подводные камни использования Local Storage.

          В заключительной части доклада рассмотрим практические примеры применения clickhouse-operator с Amazon или Google Cloud Service. Доклад строится на примере разработки и опыта эксплуатации оператора для ClickHouse.

          Читать дальше →
        • В пещерах этого не было

            Есть такой момент в человеческой психологии, что многие вещи, услышанные в течение жизни, начинают восприниматься как нечто само собой разумеющееся — как гравитация или магнетизм, хотя их просто кто-то когда-то придумал. От этой напасти в мозгу есть лайфхак – «В пещерах такого не было», об этом я сегодня выскажусь в плане IT.

            image

            Глава 0. Base-1


            Когда я учился в школе (199x) все сидели на Pascal – язык чёткий, мудрый, на нём даже Dos Navigator был написан c VESA скринсейверами, а позже The Bat!, и олимпиадники ACM ICPC в 2000-е годы были в основном паскалистами. Мне из-за любви к играм и графике в то время зашёл C/C++, и сразу же в глаза бросилось фундаментальное различие – от ноля или единицы индексируются массивы, это до сих пор приходится уточнять на том же hackerrank.com.
            Читать дальше →
          • Линукс-порт Far Manager: прогресс за 4 года

              Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

              Консольная версия


              Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

              Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

              Вот, смотрите, это far2l в GNOME Terminal


              Читать дальше →
            • В Telegram обнаружили сеть платных ботов DeepNude

                Компания Sensity, которая специализируется на информационной безопасности, обнаружила сеть Telegram-ботов, которые генерируют дипфейки с обнажённой натурой по произвольным фотографиям женщин (отчёт Sensity). По данным на июль 2020 года боты DeepNude сгенерировали фотографии примерно 104 000 женщин.

                Примеры работы DeepNude можно посмотреть в репозиториях на GitHub: входящее изображение и результат.



                За последние три месяца объём заказов увеличился почти в три раза. Расследование показало, что большинство клиентов просят сделать обнажённые фотографии не знаменитостей, а собственных знакомых девушек, которых знают в реальной жизни. Возможно, некоторые клиенты сервиса — подростки. По крайней мере, на «определённом количестве» фотографий изображены несовершеннолетние дети, пишет Sensity.
                Читать дальше →
              • Как плохо спроектированный UX у теста на коронавирус чуть не посадил нас на самоизоляцию, но дырка в безопасности спасла


                  Это я, пишу скрипт по перебору параметров для POST запроса на gov.tr, сидя перед границей в Хорватию.

                  Как все начиналось


                  Мы с моей женой путешествуем по миру и работаем удаленно. Недавно переезжали из Турции в Хорватию (самая оптимальная точка, чтобы заехать в Европу). Чтобы не сесть на карантин в Хорватии, нужно иметь справку об отрицательном анализе на ковид, сделанном не позже 48 часов до въезда.

                  Выяснили, что относительно выгодно (2500 рублей) и быстро (всем результаты приходят в течение 5 часов) делают тест в аэропорту Стамбула, из которого мы как раз и вылетали.
                  Читать дальше →
                • Гугл-программисты. Как идиот набрал на работу идиотов

                    В стародавние времена я, на постоянной основе, занимался техническими собеседованиями – отбирал кандидатов на должность программиста в компанию. У меня была простая, понятная, шикарная методика (не мной придуманная). Чувак сначала проходил длинное собеседование по куче разнообразных вопросов, потом решал несколько задач. На бумаге, как мы делали в ВУЗе.

                    Оглядываясь назад, понимаю – отбор действительно работал шикарно. Все, кого я тогда отобрал, стали уважаемыми в нашей деревне специалистами. Больше половины из них давно открыли собственный it-бизнес, в самых разных сферах – от 1С до разработки CRM-систем.

                    Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
                    Читать дальше →
                  • Как убрать из Git-репозитория файлы с конфиденциальной информацией

                    • Перевод
                    Файлы проиндексированы, написано сообщение коммита, данные отправлены на сервер… И вдруг хочется повернуть время вспять. В коммит попал файл, которого там быть не должно. Когда такое случается, приходит время обращаться к поисковику.

                    Каждый разработчик когда-то по ошибке коммитил в общедоступный репозиторий файлы с конфиденциальной информацией. Как справиться с такой проблемой? Как сделать так, чтобы ничего подобного больше не случилось бы?

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


                    Удаление файлов с конфиденциальной информацией из Git-репозитория (изображение большого размера)
                    Читать дальше →
                  • Объясните, почему мой рокет-саенс бэкенд билдится пару секунд, а четыре формы на фронте — полгода

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

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

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

                      Читать далее
                    • Мне не нравится то, во что превращается PHP



                        И я уже знаю, что скажете вы, глядя на заголовок статьи:
                        — Кто ты такой? Почему ты позволяешь себе так говорить?

                        Отвечу сразу, чтобы не было недомолвок:

                        • Я профессионально программирую на PHP с 2004 года, то есть вот уже 16 лет на момент написания этой статьи, и продолжаю это делать каждый день
                        • Я преподаю программирование, в том числе и на PHP, примерно 10 лет и за это время выпустил в свет несколько тысяч студентов
                        • Я всегда был в восторге от каждой новой версии PHP, что выходила со времен от 5.0 до 7.4 и всегда был адептом подхода «пишем на самой свежей версии, тестируем на следующей»

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

                        Почти каждый принятый в PHP 8 RFC вызывает во мне боль и недоумение. И я готов объяснить и защитить свою позицию.
                        давайте разберемся вместе
                      • От Threat Modeling до безопасности AWS: 50+ open-source инструментов для выстраивания безопасности DevOps

                          Привет, Хабр! Я консультант по информационной безопасности в Swordfish Security по части выстраивания безопасного DevOps для наших заказчиков. Я слежу за тем, как развивается тенденция развития компаний в сторону DevSecOps в мире, пытаюсь транслировать самые интересные практики в русскоговорящее сообщество и помогаю выстраивать этот процесс с нашей командой у заказчиков. За последние 2 года тема DevSecOps стала привлекать все больше внимания. Новые инструменты не успевают стать частью быстро растущего набора практик, из-за чего у меня появилось желание поставить некоторую контрольную точку в виде списка инструментов. Отправной точкой стал выход статьи коллег из Mail.ru, где отдельно был выделен раздел по безопасности Kubernetes. Я решил расширить этот список, охватив другие этапы жизненного цикла SDLC и приведя пару новых инструментов.

                          Читать далее
                        • Почему налоговая не верит в айтишников-индивидуальных предпринимателей?

                          Сколько может зарабатывать айтишник на ИП? У ФНС свое мнение


                          Когда один человек много зарабатывает и честно платит налоги, налоговики смотрят со стороны и думают: «Как такое возможно? Наверняка у него масса помощников! Пусть и за них налоги заплатит!»

                          Рассказываем, как при наличии электронной подписи в пару кликов забыть о подобных притязаниях налоговой.
                          Читать дальше →
                        • Разработать видеоплатформу за 90 дней

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


                            Понятно, что это были увлекательные три месяца. Но со стороны не вполне очевидно: что вообще представляет собой платформа для онлайн-конференций? Из каких частей она состоит? Поэтому на последней из летних конференций DevOops я расспросил тех, кто отвечал за эту задачу:


                            • Николай Молчанов — технический директор JUG Ru Group;
                            • Владимир Красильщик — прагматичный Java-программист, занимающийся бэкендом (вы также могли видеть его доклады на наших Java-конференциях);
                            • Артём Никонов — отвечает за весь наш видеостриминг.

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


                            Читать дальше →
                          • Быстрый роутинг и NAT в Linux

                              По мере исчерпания адресов IPv4, многие операторы связи столкнулись с необходимостью организовывать доступ своих клиентов в сеть с помощью трансляции адресов. В этой статье я расскажу, как можно получить производительность уровня Carrier Grade NAT на commodity серверах.
                              Читать дальше →
                            • Как мы судились с банком ВТБ за закрытие счёта

                                Законы у нас оказывается не имеют прямого действия. ЭЦП не полноценная ЭЦП. 63-ФЗ, 115-ФЗ и инструкции Банка России легко противоречат законам ГК РФ. И данное решение суда фактически ставит крест на рассмотрении судом переписки, подлинность которой обе стороны не отрицают. То есть можно теперь в суде сказать: «ну мало ли что там в переписке, а должно быть ещё соглашение с перечнем операций, которые будут иметь силу, а ещё вот инструкцией или письмом такого-то ведомства требуется...».

                                image
                                Читать дальше →
                              • Сколько инструкций процессора использует компилятор?

                                  Месяц назад я попытался сосчитать, сколько разных инструкций поддерживается современными процессорами, и насчитал 945 в Ice Lake. Комментаторы затронули интересный вопрос: какая часть всего этого разнообразия реально используется компиляторами? Например, некто Pepijn de Vos в 2016 подсчитал, сколько разных инструкций задействовано в бинарниках у него в /usr/bin, и насчитал 411 — т.е. примерно треть всех инструкций x86_64, существовавших на тот момент, не использовались ни в одной из стандартных программ в его ОС. Другая любопытная его находка — что код для x86_64 на треть состоит из инструкций mov. (В общем-то известно, что одних инструкций mov достаточно, чтобы написать любую программу.)

                                  Я решил развить исследование de Vos, взяв в качестве «эталонного кода» компилятор LLVM/Clang. У него сразу несколько преимуществ перед содержимым /usr/bin неназванной версии неназванной ОС:

                                  1. С ним удобно работать: это один огромный бинарник, по размеру сопоставимый со всем содержимым /usr/bin среднестатистического линукса;
                                  2. Он позволяет сравнить разные ISA: на releases.llvm.org/download.html доступны официальные бинарники для x86, ARM, SPARC, MIPS и PowerPC;
                                  3. Он позволяет отследить исторические тренды: официальные бинарники доступны для всех релизов начиная с 2003;
                                  4. Наконец, в исследовании компиляторов логично использовать компилятор и в качестве подопытного объекта :-)

                                  Начну со статистики по мартовскому релизу LLVM 10.0:
                                  ISA Размер бинарника Размер секции .text Общее число инструкций Число разных инструкций
                                  AArch64   97 МБ 74 МБ 13,814,975 195
                                  ARMv7A 101 МБ 80 МБ 15,621,010 308
                                  i386 106 МБ 88 МБ 20,138,657 122
                                  PowerPC64LE 108 МБ 89 МБ 17,208,502 288
                                  SPARCv9 129 МБ 105 МБ 19,993,362 122
                                  x86_64 107 МБ 87 МБ 15,281,299 203
                                  В прошлом топике комментаторы упомянули, что самый компактный код у них получается для SPARC. Здесь же видим, что бинарник для AArch64 оказывается на треть меньше что по размеру, что по общему числу инструкций.

                                  А вот распределение по числу инструкций:
                                  Читать дальше →
                                • Роман Шувалов: «Мне пришла в голову идея — сделать трехмерный рендер карты OpenStreetMap»


                                    Роман Шувалов — разработчик инди-игр из Тольятти, который в начале этого года выпустил игру «Generation Streets», основанную на данных OpenStreetMap. Не так давно он открыл часть кода своего проекта. Зачем он это сделал, как появилась игра и почему выбор пал на OSM — обо всем этом Роман рассказал в интервью.
                                    Читать дальше →
                                  • Работаем в IntelliJ IDEA на слабом железе

                                      Обнаружил секретный репозиторий на гитхабе JetBrains под названием Projector. Благодаря нему написал кусок кода в IntelliJ IDEA, запущенной на Android-планшете. Рассказываю, как это повторить.


                                      Читать дальше →
                                    • Море, пираты — 3D онлайн игра в браузере

                                        Приветствую пользователей Хабра и случайных читателей. Это история разработки браузерной многопользовательской онлайн игры с low-poly 3D графикой и простейшей 2D физикой.

                                        Позади немало браузерных 2D мини-игр, но подобный проект для меня в новинку. В gamedev решать задачи, с которыми ещё не сталкивался, может быть довольно увлекательно и интересно. Главное — не застрять со шлифовкой деталей и запустить рабочую игру пока есть желание и мотивация, поэтому не будем терять время и приступим к разработке!

                                        Читать дальше →