• Как избежать гниения ПО

    • Перевод

    Недавно я наткнулся на историю столь же удивительную, сколь и ужасную:

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

    Написавший её человек умер уже 15 лет назад, да и ушёл из компании много десятков лет назад. Программа была не такой большой, однако оказалась непостижимой. Её писали в стиле, отдававшем приоритет вычислительной эффективности, а не простоте чтения. И, разумеется, у неё не было никаких тестов.

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



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



    Я получил от ИТ-директора неожиданное текстовое сообщение. «Простите за беспокойство, у нас огромная проблема. s1X. Можете прилететь сегодня во второй половине дня?» В их терминологии S1X обозначает «хуже, чем уровень серьёзности 1, потому что проблема распространилась на несвязанные с ней части бизнеса».

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


      Дата-центр АНБ в Юте на картах Google Maps

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

      Благодаря Сноудену мы представляем, как работают программы глобальной массовой слежки типа PRISM. Теперь давайте посмотрим, какие вычислительные мощности для этого задействуются.
      Читать дальше →
    • Гениальность микропроцессоров RISC-V

      • Перевод
      image

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

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

      Недавно я подробнее изучил информацию об архитектуре набора команд (instruction-set architecture, ISA) RISC-V и вот некоторые из аспектов, которые по-настоящему впечатлили меня в ISA RISC-V:

      1. Это небольшой и простой в изучении набор команд RISC. Очень предпочтителен для тех, кому интересно получать знания о микропроцессорах.
      2. Благодаря своей простоте, открытости и связи с университетскими профессорами он с большой вероятностью будет доминировать как архитектура, выбираемая для обучения процессорам в вузах.
      3. Его продуманная структура позволяет разработчикам CPU создавать высокопроизводительные микропроцессоры на основе ISA RISC-V.
      4. Благодаря отсутсвию лицензионных отчислений и нацеленности на простую аппаратную реализацию увлечённый любитель может, в принципе, создать за приемлемое время собственную конструкцию процессора RISC-V.
      Читать дальше →
    • Почему CPU, GPU, чипы для консолей и другие компоненты становятся дефицитом

      • Перевод
      На самом деле 2020 год был первоклассным временем для технологических инноваций, но тем не менее, в историю, скорее всего, он также войдёт как год крайнего раздражения разочарованных покупателей из-за того, что целевая аудитория долгое время не могла купить желанные ей товары: графические карты, процессоры, источники питания и, наконец, готовые решения — современные консоли PlayStation 5 и Xbox Series X. Почему вообще возник такой дефицит? Все связанные с данными проблемами крупные бренды (Sony, Microsoft, NVIDIA, AMD) говорят, что «спрос превысил предложение». Да неужели?


      Это довольно уклончивое объяснение, никак не связанное с истинным состоянием предложения и производственных линий брендов. Каждая компания, вне зависимости от размера, имеет в штате опытных специалистов, выполняющих долговременное планирование производства и снабжения; они создают так называемый прогноз, который является просто сложным предсказанием, учитывающим все факторы. Разумеется, компания вполне может что-то упустить, и примером тому была AMD с её Vega: оказалось, что специалисты забыли заранее запланировать выделение достаточного количества ресурсов на упаковку. Но очень маловероятно, что одинаково ошибиться могли одновременно все.
      Читать дальше →
      • +43
      • 19,9k
      • 8
    • Разработана опенсорсная утилита Depix для восстановления паролей с размытых скриншотов

        Разработана опенсорсная утилита Depix для восстановления паролей с размытых скриншотов


        Результат работы программы Depix (исходный код)

        В голливудских фильмах любят преувеличивать. Они зуммируют фотографии в миллион раз — и выводят цифры из одного пикселя.

        Хотя это невероятно, но научные исследования в этой области идут давно. Ещё в 90-е годы были опубликованы теоретические работы и PoC с восстановлением текста из размытых изображений. В 2012 году Владимир Южиков писал на Хабре о своей программе SmartDeblur для восстановления смазанных и расфокусированных снимков.

        Несмотря на достаточно хорошее развитие науки в данном направлении, до сих пор не было специализированного инструмента конкретно для восстановления паролей (текста) после пикселизации. Программа Depix — первый такой инструмент.
        Читать дальше →
      • Марс — наш



          Марс — потенциально пригодная для жизни, и самая изучаемая (после Земли) планета. На сегодняшний день условием для развития и поддержания жизни на планете считается наличие жидкой воды на её поверхности, а также нахождение орбиты планеты в так называемой зоне обитаемости, которая в Солнечной системе начинается за орбитой Венеры и заканчивается большой полуосью орбиты Марса. Вблизи перигелия Марс находится внутри этой зоны, однако тонкая атмосфера с низким давлением препятствует появлению жидкой воды на длительный период. Недавние свидетельства говорят о том, что любая вода на поверхности Марса является слишком солёной и кислотной для поддержания постоянной земноподобной жизни. С 60-х годов XX века ведутся научные исследования Красной планеты и его двух естественных спутников. А идея о том, что Марс населён разумными существами, была широко популярна еще в конце XIX века. Многочисленные наблюдения и объявления известных лиц породили вокруг этой темы так называемую «Марсианскую лихорадку». В 1899 году во время изучения атмосферных радиопомех с использованием приёмников в Колорадской обсерватории, изобретатель Никола Тесла наблюдал повторяющийся сигнал. Он высказал догадку, что это может быть радиосигнал с других планет, например Марса. Догадка Теслы не подтвердилась, но с тех пор земляне мечтают посетить своего «соседа». Если когда-то эта мечта была лишь из мира фантастики, то сегодня это всего-навсего вопрос времени.
          Читать дальше →
        • Самодельная портативная консоль microByte

          • Перевод

          В реальности качество изображения лучше, но это сложно передать на фотографии.

          Введение


          В феврале этого года ко мне прибыл дисплейный модуль ST7789; качество картинки и цветов, несмотря на маленький размер, было впечатляющим, поэтому в голову пришла одна идея…

          Может, разработать брелок, на котором можно будет играть в Pokemon?

          В этот момент зародилась примитивная идея microByte. Спустя более семи месяцев идея брелока эволюционировала в полнофункциональную портативную консоль, способную эмулировать:

          • NES
          • GameBoy
          • GameBoy Color
          • Sega Master System
          • GameGear

          И всё это в крошечном размере картриджа первого GameBoy. Самое важное, что тексты в игре читаемы, нужна только лупа. Размеры устройства: 78x17x40 мм
          Читать дальше →
        • SuperRT — чип для рейтрейсинга на Super Nintendo

          • Перевод
          image

          В продолжение темы, представляем вашему вниманию перевод оригинала статьи от Бена Картера.

          Ссылки на видео по этой статье:


          У меня наконец-то появились результаты работы над проектом, которым я занимался в свободное время примерно около года.

          Его идея возникла, когда я пытался придумать интересный проект для изучения Verilog и проектирования FPGA. Мне пришла в голову мысль о создании простого трассировщика лучей (частично я вдохновлялся успехами моего до ужаса умного друга, создавшего собственный GPU). Немного позже (наверно, потому, что мой мозг ненавидит меня и наслаждается придумыванием глупых заданий) всё это превратилось в вопрос: «а не будет ли интересно заставить SNES выполнять рейтрейсинг?». Так родилась идея чипа SuperRT.

          Я хотел попробовать создать нечто, напоминающее чип Super FX, используемый в таких играх, как Star Fox. SNES в них выполняет игровую логику и передаёт описание сцены чипу в картридже, который занимается генерированием графики. Я намеренно ограничил себя использованием в конструкции единого самодельного чипа, а не ядра ARM на плате DE10 или любых других внешних вычислительных ресурсов.
          Читать дальше →
          • +35
          • 2,8k
          • 2
        • До свидания, Google Fonts. Последний аргумент



            Шрифты Google Fonts страшно популярны. Их загружают более 42,8 миллиона сайтов, в том числе Хабр. Библиотека Google Fonts содержит 1023 свободных шрифта и программные интерфейсы для их внедрения через CSS. Очень удобно, казалось бы.

            Во многих статьях отмечалось, в какую цену обходятся многочисленные запросы через API. Совет самостоятельно хостить шрифты дают много лет. Даже сама Google давала такой совет на конференции Google I/O 2018 года в выступлении на тему веб-производительности.

            Так почему же многие до сих пор загружают шрифты через Google Fonts API? Ну, был последний аргумент — кэширование. Мол, благодаря общему CDN пользователю не нужно скачивать шрифт заново с каждого сайта. Однако в октябре 2020 года этот аргумент перестал работать. Теперь шрифты Google Fonts больше не кэшируются!
            Читать дальше →
          • «Чертовски глупое решение»: история появления языка C

            • Перевод

            Как ни сложно в это поверить, C не родился в виде истрёпанного руководства в бумажной обложке.

            В том или ином виде, язык C повлиял на формирование практически каждого языка программирования, разработанного с 1980-х. Некоторые языки наподобие C++, C# и Objective C должны были стать прямыми наследниками C, а другие просто переняли и адаптировали его синтаксис. Программист, перешедший с Java, PHP, Ruby, Python или Perl, почти не испытает сложностей с пониманием простых программ на C, и в этом смысле C можно воспринимать как lingua franca программистов.

            Однако C не возник из ниоткуда как единый монолит программирования. История C начинается в Англии, с коллеги Алана Тьюринга и программы, игравшей в шашки.
            Читать дальше →
          • Как я создал собственный алгоритм YouTube (чтобы не тратить время впустую)

            • Перевод


            Побег от алгоритма YouTube


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

            Всё это неудивительно: алгоритм отдаёт приоритет кликам и времени просмотра.

            Поэтому я поставил перед собой задачу: Смогу ли я написать код, который автоматически будет находить ценные видео, избавив меня от привязанности к алгоритму YouTube?

            Вот так всё и началось.

            Оптимально выстроенные планы


            Я начал с визуализации того, что должен делать мой инструмент. Мне нужна была программа, которая будет (i) ранжировать видео на основании вероятной релевантности для меня и (ii) автоматически отправлять мне предлагаемые видео, из которых я смогу выбирать.

            Я решил, что смогу серьёзно повысить продуктивность, если буду пакетно выбирать наборы видео для просмотра на каждую неделю и избавлюсь от необходимости бесконечного скроллинга YouTube.
            Читать дальше →
          • Notion API выйдет весной, но пользоваться им можно уже сейчас



              На днях Notion рассказала о запуске закрытого бета-тестирования своего официального API, которое находилось в разработке не меньше двух лет. На страничке очень мало конкретной информации, не описан даже приблизительный функционал, но можно оставить заявку на участие — компания обещает постепенно раскрывать информацию и опрашивать разработчиков, чтобы выкатить как можно более удобный и полезный интерфейс. Единственная загвоздка в том, что этот долгострой пока не близок к завершению, запуск назначен на весну 2021 года и легко может сдвинуться, как это уже случалось раньше. Но если ждать некогда и хочется поработать с API сейчас, можно воспользоваться одной из пользовательских реализаций на разных языках и с разным функционалом.
              Читать дальше →
              • +23
              • 3,7k
              • 5
            • «Genghis», «Attila» и «Hannibal» — роботы созданные для завоевания Марса, но ставшие прототипом пылесоса



                Genghis («Дженгис») или «Чингис» — шестиногий робот, похожий на насекомого, который был создан робототехником Родни Бруксом из Массачусетского технологического института. Брукс хотел решить проблему того, как сделать роботов разумными, и предположил, что можно создавать роботов, демонстрирующих интеллект, с помощью «архитектуры подчинения», которая представляет собой тип реактивной роботизированной архитектуры, в которой робот может реагировать на окружающий мир. В его статье «Интеллект без репрезентации», которая до сих пор пользуется большим уважением в области робототехники и искусственного интеллекта, излагаются его теории по этому поводу.
                Читать дальше →
                • +14
                • 1,9k
                • 2
              • Нужна ли нам замена языка C?

                • Перевод
                Язык программирования C даже сегодня находится в списке наиболее популярных используемых языков, несмотря на то, что он был выпущен аж в 1972 году и по современным стандартам имеет довольно много ограничений и изъянов.


                Популярность языков программирования в 2020 по индексу TIOBE

                И это основная причина, по которой C нужно заменить. На C/C++ написано слишком много критически важного ПО, что имеет обширные последствия. Один из примеров — баги в библиотеках наподобие OpenSSL. Язык C печально известен возникновением таких проблем, как переполнения буфера. C — это язык, позволяющий выстрелить себе в ногу слишком большим количеством способов.
                Читать дальше →
              • Мы нашли опасную уязвимость в Microsoft Teams, но компания устранила её только спустя два месяца

                • Перевод

                TL;DR:

                • 31 августа 2020 года мы сообщили о критически опасных багах исполнения удалённого кода в Microsoft Teams.
                • 30 сентября 2020 года Microsoft присвоила им рейтинг «Important, Spoofing» («Важно, спуфинг») — один из наиболее низких.
                • В нашей команде мгновенно родилась новая шутка.
                • Microsoft отказалась подробно обсуждать воздействие этих багов, окончательное решение принято 19 ноября 2020 года
                • «Что касается CVE, в настоящее время политика Microsoft заключается в том, чтобы не публиковать CVE продуктов, автоматически обновляемых без действий пользователя», — 30 ноября 2020 года
                • Баги устранены к концу октября 2020 года

                Рейтинг Microsoft Security Response Center — «Important, Spoofing»


                Microsoft приняла эту цепочку багов в баунти-программу облачных багов O365 как «Important» (уровень серьёзности), «Spoofing» (воздействие). Это один из самых низких рейтингов.

                По крайней мере, теперь в нашем коллективе появилась новая шутка — когда мы находим баг исполнения удалённого кода (remote code execution, RCE), мы называем его «Important, Spoofing». Спасибо, Microsoft!

                Если быть полностью честными, то для десктопного приложения был присвоен отдельный рейтинг «Critical, Remote Code Execution», но только за «очки Microsoft»! Очки Microsoft позволяют вам попасть в таблицу лидеров MSRC.

                В этой статье мы расскажем об одном из пяти переданных в MSRC цепочек багов исполнения удалённого кода Microsoft Teams, требующих одного нажатия или не требующих нажатий вообще («Important, Spoofing»).
                Читать дальше →
                • +29
                • 5,5k
                • 5
              • Телефон шпионил за мной, поэтому я нашёл тех, кто использует данные слежения

                • Перевод

                СЛЕЖКА: Американская компания имеет информацию о моём местоположении.

                В моём телефоне 160 приложений. Я не знаю, что они делают, но решил это выяснить.

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

                Я знаю, что есть те, кто покупает и продаёт эту информацию. Как они отслеживают нас, и что хотят делать с нашими данными?

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

                Или почти повсюду. Я оставил его дома, когда проходил тест на COVID-19 в апреле.
                Читать дальше →
              • Войны из-за чипов. Кто будет контролировать производство микросхем в 21 веке?



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

                  Например, одна страна может заблокировать другой стране доступ к производству продвинутой микроэлектроники, чтобы ограничить её военное и экономическое развитие. Именно это США пытаются сделать с Китаем, запрещая производство микросхем Huawei на заводах тайваньской компании Taiwan Semiconductor Manufacturing Company (TSMC).

                  Но это очень опасный ход, потому что США в реальности не просто угрожают компании Huawei, а пытаются сдержать развитие целой страны. Есть мнение, что прежняя администрация США не просчитала возможных последствий и не понимала, во что ввязывается.
                  Читать дальше →
                • Датчики давления в шинах автомобиля: пробуем провести DoS-атаку

                  • Перевод


                  Датчики TPMS (Tire-pressure monitoring system, системы мониторинга давления в шинах) активно изучались множество лет назад. Они периодически передают давление в шинах, температуру и уникальный ID, которым можно злоупотреблять для слежения за транспортным средством. Однако существует и ещё один аспект: современные датчики TMPS также имеют приёмник, который обычно используется для включения передачи данных, когда в автомобиле появляется новый датчик TPMS («процедура обучения»).

                  У нас в Европе датчики TPMS обычно передают сигналы в диапазоне 433 МГц (предназначенном для ISM — промышленности, науки и медицины). Приёмник работает на частоте 125 кГц, очень близкой к LF RFID. Проще всего использовать приёмник, поискав наличие несущей частоты 125 кГц, а затем включив передачу данных. Современные датчики обычно более совершенны и используют модулированную несущую, содержащую пакеты команд; передача данных включается, только если получена правильная команда.

                  Если у вас есть приёмник, то, разумеется, вы можете не только включать передачу данных: например, в нём может быть поддержка различных команд, а некоторые датчики даже позволяют выполнять таким образом обновление прошивки.
                  Читать дальше →
                • Освобождаем свои данные из корпоративного рабства. Концепция личного хранилища


                    Автор программы Mathematica Стивен Вольфрам около 40 лет ведёт цифровой лог многих аспектов профессиональной и личной жизни

                    Сейчас практически всем стала понятна сущность некоторых интернет-корпораций, которые стремятся получить от людей как можно больше личных данных — и заработать на этом. Они предлагают бесплатный хостинг, бесплатные мессенджеры, бесплатную почту — лишь бы люди отдали свои файлы, фотографии, письма, личные сообщения. Наши данные приносят огромные деньги, а люди стали продуктом. Поэтому техногиганты Google и Facebook — самые крупные корпорации в истории человечества. Это неудивительно, ведь в их распоряжении миллиарды единиц бесплатного «сырья», то есть «пользователей» (кстати, этим словом users называют людей только в двух областях: наркоиндустрии и индустрии программного обеспечения).

                    Настало время положить этому конец. И вернуть данные под свой контроль. В этом суть концепции личных хранилищ данных (personal data services или personal data store, PDS).
                    Читать дальше →
                  • Стоит ли заменять живых актеров в блокбастерах на CGI?

                      image

                      Режиссер Виктор Тарански под угрозой срыва съемок своего фильма из-за главной актрисы, решившей отказаться сниматься, решает заменить ее цифровой актрисой Симоной, созданной с помощью компьютера. Появление Симоны вызывает ажиотаж. Всех поражают актёрские данные девушки — программные средства позволили Виктору объединить в ней талант и внешность практически всех выдающихся актрис. У Симоны миллионы поклонников, о ней все говорят, ей подражают, она получает Оскар.
                      Читать дальше →

                    Самое читаемое