• Жизнь до IoT или зарисовки инженера АСКУЭ

    Что-то на гиктаймс стало мало технических статей от независимых не новостных и не проплаченных авторов.

    Попробую исправить данную ситуацию и рассказать про то, как работают и из чего устроены автоматизированные системы коммерческого учета электроэнергии (АСКУЭ). А точнее про то, как создавалась одна из таких систем на отдельно взятом предприятии.



    Советую относиться к статье как к будничным зарисовкам инженера с элементами отзывов на оборудование.
    Читать дальше →
  • Игроки в No Man's Sky массово требуют возврата денег

      Проект No Man's Sky ожидало множество игроков по всему миру. Дебютный трейлер на E3 2014 года завораживал, а разработчики обещали огромную галактику с уникальными мирами и полной свободой действий. Однако, релиз оказался провальным. Неизвестно, что стало тому причиной — неспособность вовремя закончить разработку, просто переоценка собственных возможностей, а, возможно, и наглая ложь руководителей компании-разработчика. Факт остается фактом — No Man's Sky оказалась самым громким провалом последних нескольких лет.

      Вместо открытого и разнообразного мира игроки получили, как многие утверждают, симулятор сбора ресурсов. Вся суть игры сводится к занудному гринду: перелеты между планетами и системами, сбор минералов, их продажа, заправка корабля и продолжение полета. Конечная цель — центр Галактики — достижима, но за это достижение игрок получит аналог плевка в лицо. В центре нет ничего. Есть анимация на пару минут, игрока выбрасывает в новую галактику, и игру предлагают начать сначала. Строительство а-ля Minecraft (ну или на худой конец Rust) в игре отсутствует.

      Кроме этого, вместо миллиардов разнообразных, случайно сгенерированных планет, игроку доступно менее десятка унылых миров с передвинутыми с места на место камнями. Ну, а о фауне и, частично, геймплее, все говорит весьма популярный в последние дни ролик:


      Читать дальше →
    • Научно-технические мифы, часть 1. Почему летают самолеты?

        В современном мире многие люди интересуются наукой и техникой и пытаются хотя бы в общих чертах понять, как работают вещи, которые их окружают. Благодаря этому стремлению к просвещению существует научно-просветительская литература и сайты, подобные Гиктаймсу. А поскольку читать и воспринимать ряды формул большинству людей затруднительно, то излагаемые в подобных изданиях теории неизбежно подвергаются значительному упрощению в попытке донести до читателя «суть» идеи с помощью простого и понятного объяснения которое легко воспринять и запомнить. К сожалению, некоторые из подобных «простых объяснений» являются в корне неверными, но при этом оказываются настолько «очевидными», что не подвергаясь особому сомнению начинают кочевать из одного издания в другое и нередко становятся доминирующей точкой зрения, несмотря на свою ошибочность.

        В качестве одного из примеров попробуйте ответить на простой вопрос: «откуда возникает подъемная сила в крыле самолета»?



        Если в Вашем объяснении фигурируют «разная длина верхней и нижней поверхности крыла», «разная скорость потока воздуха на верхней и нижней кромках крыла» и «закон Бернулли», то я вынужден Вам сообщить, что Вы скорее всего стали жертвой популярнейшего мифа, который преподают порою даже в школьной программе.
        То есть это как это миф? Ведь там же все внятно и с доказательствами объясняется!
      • Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели

        • Tutorial
        Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.


        Читать дальше →
      • Как работает yield

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

        Вот исходный вопрос:
        Как используется ключевое слово yield в Python? Что оно делает?

        Например, я пытаюсь понять этот код (**):
        def _get_child_candidates(self, distance, min_dist, max_dist):
            if self._leftchild and distance - max_dist < self._median:
                yield self._leftchild
            if self._rightchild and distance + max_dist >= self._median:
                yield self._rightchild
        

        Вызывается он так:
        result, candidates = list(), [self]
        while candidates:
            node = candidates.pop()
            distance = node._get_dist(obj)
            if distance <= max_dist and distance >= min_dist:
                result.extend(node._values)
                candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
                return result
        


        Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

        ** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

        Подробный и обстоятельный ответ
      • Исследование андроид-вируса

          Всем привет. Недавно мне valdikss рассказал об андроид-вирусе, который может немало навредить пользователю, если он недостаточно внимателен. Мне захотелось узнать его внутренности, т.к. более или менее в последнее время занимаюсь ресерчем андроид приложений, но вирусы никогда еще не исследовал. До его рассмотрения, мне сразу бросилось в глаза название файла — android_update-1.apk. Первым делом делаю то, что делает каждый андроид ресерчер — распаковывает его dex2jar-ом (ну и параллельно можно посмотреть WinRAR-ом список файлов).

          dex2jar


          Когда я распаковал файл dex2jar-ом у меня получился красивый jar. Я обрадовался и кинулся смотреть его в JD-GUI.

          image

          Но, к сожалению, JD-GUI не смог полностью декомпильнуть получившийся файл, зато в самом конце файла были интересные строки.
          Читать дальше →
        • ТОП-10 гик сериалов и тв-шоу по мнению команды организаторов фестиваля Make It Show

            image

            Организаторы фестиваля Make It Show решили собрать подборку самых классных сериалов и тв-шоу, которые должны оценить все, кто с трепетом и восторгом относятся к науке, технике и современным технологиям, и может отличить качественное тв-шоу от Дома-2.

            Рейтинг исключительно субъективен и является коллективным мнением команды организаторов фестиваля Make It Show. Будем рады, если вы подскажете нам, какой сериал или тв-шоу, по-вашему, мы пропустили и он обязан быть в этом списке.
            Читать дальше →
          • Легкий python веб-фреймворк: Bottle

              Введение


              Недавно я осознал, что на Хабре нет ни одной статьи, посвящённой прекрасному фреймворку Bottle, которым, кстати говоря, пользуется не мало людей, поэтому в этой статье я попытаюсь рассказать вам о нем.
              Читать дальше →
            • MongoDb for developers. Неделя 1

                Вечер добрый, хабр. На прошлой неделе стартовал курс «MongoDb for developers» от 10gen, о котором уже писали на хабре. Если вы смотрели уроки, то можете смело проходить мимо. Остальным — добро пожаловать.

                В этой статье будет изложен основной материал первой недели обучения. Если аудитория проявит интерес — то подобные посты будут выходить в конце каждой недели.

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

                Зачем эта статья? Предвижу подобный вопрос. Не все успели записаться на курсы, не у всех есть достаточно свободного времени, не у всех хорошо обстоят дела с восприятием устной английской речи. Ну и для гуглящих подобный материал не помешает.
                Читать дальше →
              • «Воины виртуальности» — книга о возможном будущем

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

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

                  image
                  Читать дальше →
                • Modbus-RTU на скриптах

                  Аннотация


                  Здесь описан способ реализации протокола Modbus-RTU при помощи shell-скрипта и обвязки в виде js-кода. Обсуждаемый метод может быть использован для реализации других потоковых протоколов, где нужно оперировать массивами байт в ограниченном окружении (роутер).



                  Идея в трёх строчках


                  Для нетерпеливых показываю основную идею:

                  printf "\x00\x03\x00\x00\x00\x01\x85\xDB" > $tty
                  ( dd if=$tty of=$ans count=256 2> /dev/null ) & /usr/bin/sleep $timeout; kill $!
                  echo "[`hexdump -ve '1/1 "%d,"' $ans | sed 's/\(.*\),/\1/'`]"
                  
                  Читать дальше →
                  • +3
                  • 20.1k
                  • 1
                • Хороших книг пост



                    А давайте давайте соберём здесь хорошие книги, которые просто стоило собрать.
                    Суть в том, что просто давно стоило сложить хорошие книги в одном посте, чтобы было что прочитать в дороге — или просто для души.
                    Читать дальше →
                  • Контакт есть, сигнала нет

                    • Translation
                    • Tutorial

                    или как рассогласованные линии портят ваш сигнал


                    На форуме Dangerous Prototypes я однажды принял участие в одном обсуждении, посвященном проблемам с шиной SPI, кторая переставала нормально работать, начиная с некоторой длины. Мой опыт подсказывал мне две вещи: 1) проверить источник питания, 2) проверить линию на наличие отражений. Тогда я понял, что это должно быть общей проблемой для всех радиолюбителей. Линии передачи данных — сложная тема, и настало время снять покров таинственности с этой электронной магии.
                    Читать дальше →
                  • Фантастические фильмы для долгих зимних вечеров



                      Около года назад мы опубликовали подборку интересных фантастических сериалов. В январе поэкспериментировали с новинками фантастической литературы и даже настольными играми из всё той же фантастики. Давайте теперь поговорим о полнометражных фантастических фильмах.

                      Полнометражная фантастика — тема необъятная. Количество снятых за всю историю кинематографа фантастических фильмов наберётся великое множество. Поэтому мы решили ограничиться некими временными рамками, скажем, последними десятью годами.
                      Читать дальше →
                    • 7 правил написания программ, которые не умрут вместе с вами

                      • Translation
                      Ваши программы – это ваше наследие. Решайте сами, как долго оно будет существовать.

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

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

                      Что можно получить, выдавая хороший код? Разве не имеет права на жизнь подход в обучении под названием «двигайся быстрее, ломая всё на своём пути?» Нет. Обучиться писать код – это навык, это доступно каждому. Обучиться писать хороший код – это искусство. Это требует усилий, времени и целеустремлённости.
                      Читать дальше →
                    • 300 потрясающих бесплатных сервисов

                      • Translation


                      Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



                      A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

                      • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
                      • Bootswatch: Бесплатные темы для Bootstrap.
                      • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
                      • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
                      • Strikingly.com Domain: Конструктор веб-сайтов.
                      • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
                      • Withoomph: Мгновенное создание логотипов (англ.).
                      • Hipster Logo Generator: Генератор хипстерских логотипов.
                      • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
                      • Invoice to me: Бесплатный генератор счета.
                      • Free Invoice Generator: Альтернативный бесплатный генератор счета.
                      • Slimvoice: Невероятно простой счет.

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