• Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (или малиновый роутер в синей шляпе)

      В статье Raspberry Pi + CentOS = Wi-Fi Hotspot (или малиновый роутер в красной шляпе) я рассказал о способе превращения «малинки» в беспроводную точку доступа при помощи операционной системы CentOS. Собрав по такому чертежу мой домашний роутер, я удовлетворил свое творческое эго и получил заряд спокойствия за критически важный элемент моей уютной инфраструктуры. Однако ощущение незаконченности решения и внутренний перфекционизм не давали покоя: «несовершенный результат работы не имеет права на существование». Мысль о том, «что идеал может и должен быть достигнут» не покидала меня ни на минуту.

      И вот однажды на одном из тематических форумов я натолкнулся на обсуждение разрядности существующих операционных систем для «малинки» (aarch64 vs armhfp): какие 64-битные ОС в принципе могут влезть и заработать на Raspberry версии 3++?

      Моя любимая CentOS для архитектуры ARM от «Userland» не спешила переходить на ядро последней версии и превращаться в 64-битную. А репозиторий EPEL, подключенный Бог весть откуда без цифровой подписи, являлся кошмаром в мой неспокойный сон…

      Выступая адептом RPM-based дистрибутивов, я с удивлением обнаружил, что в обсуждениях ОС для «малинки» абсолютно забытой оказалась Fedora! И это при том, что ее релиз
      с 28-ой версии официально поддерживает Raspberry Pi 3B+ в 64-битном исполнении!
      Вот, оказывается, что беспокоило меня все это время...
      • +8
      • 11.1k
      • 7
    • Подбор пароля Wi-Fi утилитой aircrack-ng

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

      Введение


      В начале 1990-х годов, когда Wi-Fi только появился, был создан алгоритм Wired Equivalent Privacy, который должен был обеспечивать конфиденциальность Wi-Fi сетей. Однако, WEP оказался неэффективным алгоритмом защиты, который легко взломать.

      На смену пришел новый алгоритм защиты Wi-Fi Protected Access II, который сегодня применяют большинство точек доступа Wi-Fi. WPA2 использует алгоритм шифрования, AES, взломать который крайне сложно.
      Читать дальше →
    • Илья Якямсев: Эффективность не работает

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

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

        Недавно посмотрела выступление одного scrum-мастера и stand up комика по совместительству. Выступление оказалось эмоциональное, с большим количеством непечатных слов и долей здравого смысла.

        В каждой шутке только доля шутки, но все же прошу не относиться к этому материалу слишком серьезно. Предлагаю для ознакомления свое изложение в «очищенном» формате. Увидеть полное выступление Ильи Якямсева «Эффективность не работает» на конференция FrontDays 2018 можно по ссылке.


        Эффективность не работает


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

        Я работаю менеджером проекта. Начинал я в Тольятти, в 96 году, на должности «эй, пацан, принеси пиво». С 99 года я начал программировать front, тогда это называлось «верстак». Потом я открыл контору, закрыл ее, многое произошло, и сейчас я менеджер проектов.

        Мой доклад называется «Эффективность не работает». И я объясню почему.

        Жизнь после 30


        Дело в том, что мне сорокет в этом году. Я работаю в основном с людьми помоложе себя, и они у меня часто спрашивают: «Илья, как она жизнь в IT после 30? Ну, то есть, что с ней происходит?». Я отшучиваюсь: как говорится, баб поменьше, детей побольше



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

        Я предлагаю вам некоторые шаги по повышению безопасности и приватности в интернет сети (и не только) для рядовых пользователей. Обоснование почему это необходимо – в начале статьи. Для тех, кто всё знает и недоумевает, почему этот текст находится здесь — просьба прочитать пункт «Для тех, кто уже всё знает». Три месяца назад я написала этот текст, но в связи с моей необразованностью и нескончаемым потоком новостей о новых угрозах безопасности, мне надоело переделывать, так что пусть в этом тексте остаётся всё как было).
        Читать дальше →
      • Освободи свой Android



          Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android.

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

          Вашему вниманию предлагается отчёт об эксперименте, проведённым мной по мотивам инструкций из вышеозначенной статьи и о том, что из всего этого может получиться.
          Читать дальше →
        • Графический интерфейс на Python за 5 минут

          • Translation
          image

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

          Однако иногда ваша целевая аудитория не сильно подкована технически. Люди не против использовать ваши скрипты на Python до тех пор пока им не нужно смотреть на одну строку кода. В таком случае скриптов командной строки будет недостаточно. В идеале вам нужен графический интерфейс. Цель этого поста использовать только Python.

          Библиотеки Python, которые можно использовать для графического интерфейса


          По сути, есть 3 большие библиотеки Python для графического интерфейса; Tkinter, wxPython и PyQT. Рассматривая их, я не нашел там ничего из того, что мне нравится в Python. Библиотеки Python, как правило, очень хорошо абстрагируются от супер-технических моментов. Если бы мне нужно было работать с объектно-ориентированным программированием, я мог бы с таким же успехом загрузить Java или .Net.
          Читать дальше →
          • +22
          • 39.1k
          • 8
        • Программист-фанатик. Конспект часть 1. Почему нужно быть худшим и не слушать советы родителей

          Дошли руки до книги Чеда Фаулера «Программист-фанатик».

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

          Читать дальше →
        • Как снимать фото в RAW формате на почти любом Android телефоне

            Сегодня я вам расскажу о том, как получать снимки со своей камеры на андроид телефоне в формате RAW!

            И так, я получил желаемое качество фото в RAW и не могу не поделится этим с общественностью.

            Честно, сам долго об этом мечтал, и вот сегодня сбылась мечта идиота. Это актуально, особенно если посмотреть цены на телефоны, приложения для камер которых сразу могут в RAW. Но мой телефон не может в RAW, а поэтому нужно задействовать серое вещество и, немного, разорвать шаблоны :)
            Читать дальше →
          • Практика формирования требований в ИТ проектах от А до Я. Часть 1. Вводная

            • Tutorial

            Пролог


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

            В своей статье «О качестве требований в ИТ проектах, начистоту (с позиции команды разработки)», я попытался более конкретно подойти к решению этих проблем и рассказал на своем опыте, как можно преобразовать собранные требования для автоматизации в ИТ проекте так, чтобы максимально повысить результативность команды, воплощающую их в целевой продукт. Повысить именно за счет качественно сформулированных заданий на разработку продукта, покрывающую весь процесс.

            Теперь я хочу рассказать, как можно качественно сформировать сами требования, ведя Заказчика от его «хотелок», к его счастливому и плодотворному сожительству с программным продуктом, его мечты.
            Читать дальше →
            • +7
            • 20.6k
            • 5
          • Программный код в автомобиле

            • Translation
            (Публикация 2009 года)

            image


            Требуется множество микропроцессоров, обрабатывающих 100 миллионов строк кода, чтобы обеспечивать работу машины премиум-класса (2009 год). И это в скором времени станет еще сложнее.

            Система авионики в F-22 Raptor, реактивном истребителе военно-воздушных сил США, состоит примерно из 1,7 миллиона строк программного кода. F-35 Joint Strike Fighter, появившийся в 2010 году, требует около 5,7 миллионов строк кода для работы бортовых систем. А новому Boeing 787 Dreamliner требуется около 6,5 миллионов строк программного кода для работы систем бортового электронного оборудования.

            Впечатляет, не правда ли? Но если вы недавно купили автомобиль премиум-класса, он, вероятно, содержит около 100 миллионов строк программного кода. Так говорит Манфред Брой, профессор информатики в Техническом университете Мюнхена, ведущий эксперт по программному обеспечению в автомобилях. Все это ПО запускается на 70-100 микропроцессорных электронных блоках управления (ECU), распределенных по всему кузову вашего автомобиля.
            Читать дальше →
          • Дизайн интерфейса для игры, рисуем кольцо Хавеля из Dark Souls 3

            Здравствуйте, дорогие друзья!

            Я Михаил Кравченко, дизайнер игровых интерфейсов.

            Это статья о том как нарисовать кольцо Хавеля из игры Dark Souls 3. Перед вами результат, которого я добился примерно за полтора часа работы в фотошопе.



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

              Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


              Оглавление:


              1. Отступление про умных людей и прочих полиглотов
              2. Первый шаг
              3. Какой преподаватель нужен (уровень преподавателя)
              4. Где искать преподавателя
              5. Развитие навыков: слушание
              6. Развитие навыков: чтение
              7. Развитие навыков: письмо
              8. Развитие навыков: разговор: произношение
              9. Развитие навыков: разговор: языковой барьер
              10. Словарный запас
              11. Самое главное


              Итак, вопрос: “Как выучить английский язык?”.

              Читать дальше →
            • Скрипт настройки Windows 10

              Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 18363), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

              Если кому-то интересно, то добро пожаловать под кат.
              Читать дальше →
            • Визуальное представление выборов в Санкт-Петербурге — магия накрутки голосов

              Привет!

              В сентябре этого (2019) года прошли выборы Губернатора Санкт-Петербурга. Все данные о голосовании находятся в открытом доступе на сайте избирательной комиссии, мы не будем ничего ломать, а просто визуализируем информацию с этого сайта www.st-petersburg.vybory.izbirkom.ru в нужном для нас виде, проведем совсем несложный анализ и определим некоторые «волшебные» закономерности.

              Обычно для подобных задач я использую Google Colab. Это сервис, который позволяет запускать Jupyter Notebook'и, имея доступ к GPU (NVidia Tesla K80) бесплатно, это заметно ускорит парсинг данных и их дальнейшую обработку. Мне понадобились некоторые подготовительные работы перед импортом.

              %%time 
              !apt update
              !apt upgrade
              !apt install gdal-bin python-gdal python3-gdal 
              # Install rtree - Geopandas requirment
              !apt install python3-rtree 
              # Install Geopandas
              !pip install git+git://github.com/geopandas/geopandas.git
              # Install descartes - Geopandas requirment
              !pip install descartes

              Далее импорты.

              import requests 
              from bs4 import BeautifulSoup 
              import numpy as np
              import pandas as pd
              import matplotlib.pyplot as plt
              import geopandas as gpd
              import xlrd

              Описание используемых библиотек


              • requests — модуль для запроса на подключение к сайту

              • BeautifulSoup — модуль для парсинга html и xml документов; позволяет получить доступ напрямую к содержимому любых тегов в html

              • numpy — математический модуль с базовым и необходимым набором математических функций

              • pandas — библиотека для анализа данных

              • matplotlib.pyplot — модуль-набор методов построения

              • geopandas — модуль для построения карты выборов

              • xlrd — модуль для чтения табличных файлов

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

              • Tutorial

              Оглавление


              Предисловие
              1. Настройка git
              ....1.1 Конфигурационные файлы
              ....1.2 Настройки по умолчанию
              ....1.3 Псевдонимы (aliases)
              2. Основы git
              ....2.1 Создание репозитория
              ....2.2 Состояние файлов
              ....2.3 Работа с индексом
              ....2.4 Работа с коммитами
              ....2.5 Просмотр истории
              ....2.6 Работа с удалённым репозиторием
              3. Ветвление в git
              ....3.1 Базовые операций
              ....3.2 Слияние веток
              ....3.3 Rerere
              4. Указатели в git
              ....4.1 Перемещение указателей
              5. Рекомендуемая литература

              Предисловие


              Git — самая популярная распределённая система контроля версиями.[1][2]

              Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
              Читать дальше →
            • Вокруг Света за 4 Секунды на Columnstore (Часть 1)

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

              В примерах я буду использовать набор данных, содержащий 52 608 000 записей.

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

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

              Если читатель без труда может расшифровать аббревиатуры OLTP и OLAP, возможно есть смысл перейти сразу к разделу Columnstore

              Два подхода к работе с данными


              Здесь я буду краток, т.к. информации по этой теме в интернете более, чем достаточно.

              Итак, на самом верхнем уровне существует всего два подхода к работе с данными: OLTP и OLAP.

              OLTP — можно перевести, как моментальная обработка транзакций. На самом деле, речь идёт об онлайн обработке коротких транзакций, работающих с небольшим объёмом данных. Например, запись, обновление или удаление заказа. В подавляющем большинстве случаев заказ — это крайне малый объём данных, при обработке которого можно не бояться длительных блокировок, накладываемых современными РСУБД.

              OLAP — можно перевести как аналитическая обработка большого количества транзакций за один раз. Любой отчет использует именно этот подход, ведь в подавляющем большинстве случаев отчет выдаёт сводные, агрегированные цифры по определённым разрезам.
              Читать далее
              • +15
              • 2.3k
              • 6
            • Восстановленные смартфоны: выгода или обман?



                По оценкам, глобальный рынок отремонтированных смартфонов сейчас около $20 млрд, и ожидается, что он вырастет в два раза к $40 млрд к 2025-му. В развитых странах таких девайсов продают по 150 млн штук в год. Это примерно 10% от рынка всех смартфонов.


                Процесс особенно развит в США. Один из пяти смартфонов, проданных американцам в 2018-м, был восстановленным. При этом в то время как продажи обычных смартфонов падают седьмой квартал подряд, рынок отремонтированных девайсов растет (данные CounterPoint Research).


                Но покупатели, особенно из России, к таким предложениям по-прежнему относятся настороженно. Давайте посмотрим, что на самом деле собой представляют такие «восстановленные» девайсы, у кого их берут, и насколько это рискованно.

                Читать дальше →
              • Написание змейки для Android на Kivy, Python

                • Translation
                • Tutorial
                Привет!

                Много людей хотели бы начать программировать на андроид, но Android Studio и Java их отпугивают. Почему? Потому, что это в некотором смысле из пушки по воробьям. «Я лишь хочу сделать змейку, и все!»



                Начнем! (бонус в конце)
                Читать дальше →