• Как миссия НАСА к Плутону чуть не пропала

    • Перевод

    Непубличная история зонда «Новые горизонты»




    Субботним утром, 4 июля 2015 года Алан Стерн [Alan Stern], руководитель миссии НАСА по изучению Плутона, «Новые горизонты», работал у себя в офисе, рядом с центром управления миссией, когда его телефон зазвонил. Он был в курсе празднования "Дня независимости", но гораздо больше его интересовало то, что в тот день была достигнута отметка «10 дней до сближения с Плутоном». Космический корабль «Новые горизонты», бывший основной темой его карьеры последние 14 лет, находился всего в 10 днях от своей цели — встречи с наиболее удалённой из исследованных [карликовых] планет.

    Алан в тот день был погружён в работу, занимаясь подготовкой к сближению. Он уже привык, что во время последней фазы миссии ему не удавалось выспаться, но в тот день он проснулся вообще посреди ночи, и уехал в операционный центр миссии (ОЦМ), чтобы загрузить большой и очень важный набор компьютерных инструкций, который будет управлять космическим кораблём во время сближения. Этот набор команд представлял собой результат десяти лет напряжённой работы, и тем утром его отправили по радиоволнам со скоростью света, нагонять «Новые горизонты», пока корабль приближался к Плутону.
    Читать дальше →
  • Тяжкое наследие прошлого. Проблемы командной строки Windows

    • Перевод
    Предисловие от автора, Рича Тёрнера из Microsoft. Это статья о командной строке: от её появления и эволюции до планов капитального ремонта Windows Console и командной строки в будущих версиях Windows. Будь вы опытным профессионалом или новичком в IT, надеемся, что вы найдёте статью интересной.

    Давным-давно в далёкой-далёкой серверной...


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

    Одним из первых по-настоящему эффективных человеко-машинных интерфейсов стал Tele-Typewriter или «телетайп». Это электромеханическая машина с клавиатурой для ввода данных и каким-нибудь устройством вывода — сначала использовался принтер, позже экран.
    Читать дальше →
  • Как «выучить» английский за один год самостоятельно или статья для тех, у кого не сложилось с английским

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

    Читать дальше →
  • 640 КБ на самом деле хватит всем

    • Перевод
    image

    Никогда не сдавайтесь


    Действительно ли Билл Гейтс произнёс фразу «640 КБ должно хватить всем»? Её история довольно туманна, однако чаще всего её приписывают Биллу, так что, возможно, он действительно такое говорил.

    Его довольно часто за это высмеивали. Мысль о общем пространстве памяти размером всего 640 КБ по современным стандартам смехотворна. В этот размер не уместится даже исполняемые файлы большинства программ-установщиков.

    Для сравнения: калькулятор в Windows 10 занимает в состоянии простоя 16,2 МБ оперативной памяти — почти в 26 раз больше, чем объём доступной DOS-программам памяти в 1980-х.

    Странные дела


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

    Наверно, вашим первым вопросом будет «Но зачем?» И я хорошо вас понимаю. Давайте рассмотрим некоторые группы, которые до сих пор заинтересованы во вложениях усилий в DOS.
    Читать дальше →
  • Рассеяние света в атмосфере в менее чем четырёх килобайтах

      Введение


      В этой краткой заметке будет рассказано о том, как устроена модель атмосферного рассеяния света в нашей последней 4к интре Appear by Jetlag, party-версия которой заняла почётное 12-е место в 4k intro compo на демопати Revision 2018 в апреле этого года.


      Cкачать бинарник бесплатно без смс можно здесь.


      Если, однако, у вас не Виндовс, или нет мощной современной видеокарты, то есть утешительный утупчик:



      Музыку к этой работе написал keen, используя 4klang. За мной же остался весь код и визуальный ряд.


      Здесь будет рассказано только о модели рассеяния света. Остальные вещи, как то: инструментарий, модель города, модель освещения и материалов, не затрагиваются. Смелых могу отправить читать исходники, или смотреть записи того, как я часами туплю — большая часть разработки попала на видео.

      Читать дальше →
    • Ангстрем-Т: хронология проекта и мега-заказ

        Новость о подписанном 24 мая 2018 года в рамках Петербургского международного экономического форума мега-контракте всколыхнула волны моей памяти.
        Даже на сайте компании «Ангстрем-Т» появилась эта новость.

        И я решился написать все наболевшее и о проекте, и вообще…
        Читать дальше →
      • Однотипные методы? Хватит это писать

          Вы когда-нибудь писали адаптеры для Keychain или NSUserDefaults? Они полностью состоят из однотипных сеттеров и геттеров. Предлагаю написать логику один раз, предоставив остальное рантайму. За реализацией прошу под кат.


          клавиатура с кнопками copy и paste

          Читать дальше →
          • +18
          • 5,9k
          • 8
        • [Пятничное] Текстовая консоль в киберпанк-мир

          Легко передать видео сигнал, если ты отдален на расстояние спутника. Если выйти за пределы солнечной системы, то для передачи обычной картинки на Землю может потребоваться несколько часов. Но если же сигнал идет из удаленной на миллион световых лет галактики, то лишь обрывки символов долетают до нас. Иногда их можно расшифровать и сложить в анимацию, сделанную из ASCII символов. Эта история об одном странном мире, в котором технологии переплелись с древностью. Возможно, этой цивилизации уже не существует, ведь сигнал шел миллион лет.

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

          1. Вчера отстоял многочасовую очередь, чтобы записаться в школу космических полетов. Шел дождь с коэффициентом радиоактивности 56Гз, но мне не страшно, ведь я [неразборчиво]. И ведь не взяли!


          image

          Читать дальше →
        • Codable: Советы и Примеры

          • Перевод
          Хотел бы поделиться с вами некоторыми советами и трюками, которые я использовал на этом примере.

          Скачайте Swift Playground со всем кодом из этой статьи:

          image

          Codable представлен в Swift 4 с целью заменить старый NSCoding API. В отличие от NSCoding у Codable есть поддержка JSON первого класса, что делает его перспективным вариантом для использования API JSON.

          Codable отлично подходит в качестве NSCoding. Если имеется необходимость кодировать или декодировать некоторые локальные данные, которые вы должны контролировать в полной мере, вы можете использовать преимущество автоматического кодирования и декодирования.
          Читать дальше →
        • Типографика в iOS

            Большинство информации в приложениях передается посредством текста. Поэтому верстать его приходится много, а незнание всей механики рендеринга влечет за собой различные проблемы. Например, простая задача — добавить выделение текста в существующее приложение. Заменяем UILabel на UITextView, и вдруг едут все отступы, текст выглядит совершено по-другому или вообще не влезает на экран.



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

            Статья будет состоять из двух частей, сначала мы поговорим про основные термины типографики, про шрифты и их метрики и про наиболее часто используемые символьные атрибуты. А во второй части мы подробно поговорим про TextKit и отличия рендеринга UITextView и UILabel.

            О спикере: Ирина Дягилева ведущий iOS разработчик в компании RAMBLER&Co. За многолетний опыт iOS разработки успела поучаствовать в создании нескольких приложений для крупных газетных издательств, в которых нужно было осуществлять полный контроль над отрисовкой текста.


            Читать дальше →
            • +31
            • 7,2k
            • 2
          • Learn OpenGL. Урок 4.11 — Сглаживание

            • Перевод
            • Tutorial
            OGL3

            Сглаживание


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


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


            Нет, это никуда не годится. Разве такое качество изображения хочется видеть в релизной версии своего приложения?
            Читать дальше →
            • +39
            • 9,6k
            • 1
          • Cжатие и улучшение рукописных конспектов

            • Перевод
            Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла.

            Исходное изображение и результат:


            Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1]

            Примечание: описанный здесь процесс более-менее совпадает с работой приложения Office Lens. Есть другие аналогичные программы. Я не утверждаю, что придумал нечто радикальное новое — это просто моя реализация полезного инструмента.

            Если торопитесь, просто посмотрите репозиторий GitHub или перейдите в раздел результатов, где можно поиграться с интерактивными 3D-диаграммами цветовых кластеров.
            Читать дальше →
          • Странности CSS, о которых полезно знать

            • Перевод
            В наших публикациях регулярно появляются статьи о CSS. Среди них — материал об истории CSS, рассказ о подборе имён для CSS-сущностей, статья о CSS-стилях для печати, о которых многие забывают. Мы писали о том, как работают CSS-селекторы, сравнивая происходящее с автосалоном, о сравнительно новой технологии CSS Grid Layout, и о том, что CSS — это не чёрная магия. Сегодня предлагаем вашему вниманию перевод материала, который посвящён странностям CSS, о которых, как полагает автор этого материала, мало кто знает.

            image
            Читать дальше →
          • Git: советы новичкам – часть 3


              В финальной части нашей серии статей о работе с Git мы продолжим разговор о ветках, рассмотрим особенности работы с командой push и расскажем, что такое rebase. Первую и вторую статьи серии вы можете прочитать по ссылкам.
              Читать дальше →
            • Зомби, которые съедают вашу память

              • Перевод
              • Tutorial
              Что бы вы там себе не думали, а зомби существуют. И они действительно едят мозги. Не человеческие, правда, а компьютерные. Я говорю сейчас о зомби-процессах и потребляемых ими ресурсах. Это будет душераздирающая история о потерянных и снова найденных 32 ГБ оперативной памяти. Возможно, лишь некоторые из вас столкнутся с точно такой же проблемой, но если вдруг это произойдёт — у вас хотя бы будет шанс понять, что происходит.

              Начнём с того, что компьютеры под управлением ОС Windows склонны со временем терять память. Ну, по крайней мере, у меня, при моём способе ими пользоваться. После пары недель без перезагрузок (или, например, всего одного уикэнда за который я 300 раз пересобрал Хром) я стал замечать, что диспетчер задач начинает показывать мне очень маленькое количество свободной оперативной памяти, но в то же время в системе нет никаких процессов, которые эту самую память активно используют. В том примере выше (с 300 сборками Хрома) диспетчер задач сказал мне, что в системе занято 49.8 ГБ плюс ещё 4.4 ГБ памяти сжато — но при этом запущено всего несколько процессов, и все они в сумме даже и близко не используют столько памяти:

              image

              В моём компьютере 96 ГБ оперативной памяти (да, я счастливчик) и когда у меня нет вообще никаких запущенных процессов — я, знаете ли, хотел бы видеть ну хотя бы половину этой памяти свободной. Я правда рассчитываю на это. Но иногда этого достичь не удаётся и мне приходится перезагружать ОС. Ядро Windows написано качественно и надёжно (без шуток), так что память не должна бы пропадать бесследно. Но всё же она пропадает.
              Читать дальше →
            • Добываем Wi-Fi соседа стандартными средствами MacOS

                Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

                И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


                Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
                Читать дальше →
              • Образовательные стриминговые каналы программистов


                  Источник Twitch


                  Удивительно, но люди действительно хотят смотреть на то, как вы пишите код. В 2014 году появился даже специальный сайт Livecoding.tv (сейчас он называется LiveEdu), на котором каждый желающий разработчик может всему миру показать процесс работы в режиме реального времени.


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

                  Читать дальше →
                • Intel ME. Как избежать восстания машин?



                    В прошлый раз мы рассказали об Intel Management Engine (ME) — подсистеме, которая встроена во все современные компьютерные платформы (десктопы, лэптопы, серверы, планшеты) с чипсетами компании Intel. Эта технология многими воспринимается как аппаратная «закладка», и на то есть причины. Достаточно сказать, что Intel ME является единственной средой исполнения, которая:
                    • работает даже тогда, когда компьютер выключен (но электропитание подаётся);
                    • имеет доступ ко всему содержимому оперативной памяти компьютера;
                    • имеет внеполосный доступ к сетевому интерфейсу.


                    Ошарашенный присутствием такого компонента в компьютере, пользователь (получается, что именно «пользователь», а не «владелец») наверняка задавался вопросом: можно ли выключить Intel ME?

                    Эта статья целиком посвящена этому вопросу.

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