• Изобретайте колесо

    • Перевод

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

    Читать далее
  • Какая «идеальная» цель развития у языков программирования?



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

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

      Об этой проблеме меня заставила задуматься первоапрельская статья «Доказательное программирование»

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

      А что должно быть в конце прогресса у развития такой дисциплины как программирование? Или хотя бы у одного конкретного языка? Ради достижения какой конечной «идеальной» цели разрабатываются новые стандарты языков программирования?
      Читать дальше →
    • Виральный сайт изнутри: 5 миллионов просмотров на Ever Given

      • Перевод

      Как уже знают все читающие эту статью, контейнеровоз Ever Given сел на мель в Суэцком канале на шесть с лишним дней. Он заблокировал маршрут, по которому обычно приходило примерно 10% товаров мировой торговли. Но что более важно (по крайней мере, для этого поста), он также генерировал более 10% мировых мемов.

      В этом посте я расскажу о статистике сайта istheshipstillstuck.com.

      Заголовки


      За пятидневный период веб-сайт получил около 50 миллионов просмотров. Это ставит его примерно на один уровень с New York Times, однако все посетители istheshipstillstuck.com видели одну и ту же страницу. На пике популярности к сайту выполнялось 8404 запросов в секунду:
      Читать дальше →
      • +11
      • 2,7k
      • 1
    • История одной ошибки



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

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

        В продолжение серии статей про различные полезности для STM32 (1, 2 и 3), хочу рассказать, как в некоторых случаях, такое упрощение работы может стать источником совершенно не очевидных ошибок.
        Читать дальше →
      • Клетки-зомби, оживающие в мозге человека после смерти

        • Перевод
        Что происходит с организмом человека, когда он умирает?

        Мы представляем себе, что всё перестает работать: без кровообращения и дыхания системы и органы просто не смогут функционировать. Однако вот ведь какое странное дело, причуда природы: оказывается, внутри нас существует «живые мертвецы» — это клетки, продолжающие жить внутри неживого тела. И они не просто живут, их активность даже увеличивается.


        Читать дальше →
      • Nuxt.js app от UI-кита до деплоя. Часть 3: Мультиязычность

          Привет!

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


          Читать дальше →
        • Ущерб от баннерной рекламы

          • Перевод

          Очевидно, баннерная реклама раздражает пользователей. Но насколько сильно? Возможно, она настолько всех бесит, что доход от рекламы не стоит потерь в трафике. А возможно, и нет. Если коротко, то даже единственный небольшой баннер снижает трафик примерно на 10%. Подробный анализ — под катом.

          Читать далее
        • Как я получил награду Facebook по баунти-программе дважды

          • Перевод

          В марте 2020 года началась пандемия, поэтому у меня появилось множество свободного времени. Им нужно было распорядиться с умом, и я решил получить сертификат OSWE. Сдав 8 августа экзамен, я взял пару недель отдыха, а затем в середине сентября сказал сам себе: “Знаешь что? Моё имя не появлялось в зале славы Facebook в 2020 году, хотя бывает там ежегодно. Пора решить эту задачу!”.

          Мне никогда не доводилось находить уязвимости на одном из поддоменов Facebook, поэтому я изучил статьи и нашёл один пост про поддомен Facebook, привлёкший моё внимание. Это отличный пост, рекомендую его прочитать: [Баг преобразования HTML в PDF приводит к RCE на сервере Facebook].

          Прочитав этот пост, я понял, что в таком огромном веб-приложении можно найти множество уязвимостей.

          Моей основной мишенью стал https://legal.tapprd.thefacebook.com, я намеревался реализовать RCE (Remote Code Execution, удалённое выполнение кода) или нечто подобное.
          Читать дальше →
        • Что такое суперлуние? Сегодня первое суперлуние 2021 года?

          • Перевод
          Сегодня, 28 марта 2021 года, у нас есть возможность увидеть восход полной «Луны червя» (Worm Moon). Сегодняшняя Луна особенно огромна, потому что она ближе к Земле, чем большинство остальных полных лун.

          Можно ли считать «Луну червя» суперлуной? Если да, то она может начать целую серию из четырех суперлуний подряд.

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

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


          Математики стремятся к достижению мифической цели — второй степени (exponent two), то есть к умножению пары матриц n х n всего за n2 шагов. Исследователи подбираются все ближе к своей цели, но получится ли у них когда-нибудь достичь ее?
          Читать дальше →
          • +28
          • 9,5k
          • 8
        • Что прячет Энцелад в темных водах своего океана?

          • Перевод
          Энцелад — один из 82 известных нам спутников Сатурна. Около 10 лет назад учёные NASA назвали Энцелад наиболее пригодным для жизни местом во всей Солнечной системе. Оказалось, что глубоко под поверхностью этого спутника, под его ледяной коркой, могут скрываться океанические течения, аналогичные земным.

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


          Гейзеры на Энцеладе. Снимок сделан зондом «Кассини». (НАСА / Лаборатория реактивного движения / Институт космических наук (Space Science Institute)
          Читать дальше →
        • Тизер от Xiaomi: в новом Mi Mix будет камера с жидкостной линзой

          • Перевод
          Многообещающая возможность обрабатывать как макро, так и телефото-снимки.

          Готовящаяся к выходу модель телефона Xiaomi Mi Mix будет включать камеру с жидкостной линзой. Об этом вчера компания сообщила в постах на платформе Weibo. Как следует из названия, линза включает в себя слой жидкости, а фокус и фокусное расстояние линзы изменяются подачей электрического напряжения. Xiaomi заявляет, что линза даёт возможность камере делать практически любые снимки: от телефото- до макросъемки, а также обеспечивает быструю автофокусировку. Телефон будет представлен 29 марта.

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

          Помимо Xiaomi, в прошлом году ходили слухи, что и Huawei также исследует возможность использования этой технологии в своих смартфонах.
          Читать дальше →
        • Как воссоздать изображение всего по нескольким пикселям

          • Перевод
          • Tutorial
          Эта статья дает возможность познакомиться с такой методикой получения и восстановления сигнала, как Compressive Sensing.

          image
          Множество всех возможных изображений 2 на 2 с цветами, закодированными одним битом

          Пространство изображений огромно, невероятно огромно, но при этом очень мало. Задумайтесь об этом на минуту. Из сетки размером всего 8 на 8 пикселей можно создать 18 446 744 073 709 551 616 различных чёрно-белых изображений. Однако из этих 18 квинтиллионов изображений очень немногие покажутся осмысленными человеческому взгляду. Большинство изображений, по сути, выглядит как QR-коды. Те, которые покажутся человеку осмысленными, принадлежат к тому множеству, которое я называю естественными изображениями. Они представляют крошечную долю пространства изображений 8 на 8. Если мы рассмотрим мегапиксельные изображения, то доля естественных изображений становится ещё меньше, почти ничтожной, однако содержит любое изображение, которое можно придумать. Так чем же эти естественные изображения так уникальны? И можем ли мы использовать эту фундаментальную разницу в собственных интересах?
          Читать дальше →
        • Lego анонсировала выпуск самого большого и детализированного набора

          • Перевод
          Новость, способная избавить от депрессии

          В честь 40-летия запуска первого космического шаттла, компания Lego в сотрудничестве с НАСА выпускает новый набор — космический корабль «Дискавери». «Дискавери» не был первым шаттлом, отправившимся в полет (первым стал корабль «Колумбия», но, вероятно, если выпустить такой набор Lego, это вызовет слишком много грустных переживаний), однако именно шаттл «Дискавери» запустил космический телескоп «Хаббл», который также включен в набор.


          Только посмотрите на эти блестящие двери! Источник: Lego
          Читать дальше →
        • Мнимые числа для описания реальности?

          • Перевод
          Новый мысленный эксперимент показывает, что квантовая механика не работает без странных чисел, которые становятся отрицательными при возведении в квадрат.

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



          Все числа на числовой прямой, возведенные в квадрат, дают положительное число; 22 = 4 и (-2)2 = 4. Математики начали называть эти знакомые числа «вещественными», а, казалось бы, невозможную разновидность чисел — «мнимыми».
          Читать дальше →
        • Создание аналога посмертного сore dump для микроконтроллера

          • Tutorial


          При разработке программного обеспечения любого класса и назначения, зачастую приходится заниматься поиском ошибок, которые привели к краху всего приложения. И если в случае обычного компьютера, анализ логов и core dump`ов как правило не вызывает сложностей, то для устройств на основе микроконтроллеров бывает сложно получить «посмертную» информацию, необходимую для изучения проблемы.

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

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

          Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
          Читать дальше →
        • Новый поворот и секреты сверхпроводимости

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


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

          Последние три года электроны «устраивали» физикам игры.

          Игра началась в 2018 году, когда лаборатория Пабло Харильо-Эрреро объявила о находке десятилетия: когда исследователи сложили один слой атомов углерода поверх другого, применили «волшебный» поворот на 1,1 градуса между ними, а затем охладили атомные пластины почти до абсолютного нуля, тогда образец стал идеальным проводником электронов.

          Как частицы сговорились безупречно скользить через листы графена? Калейдоскопический «муар», создаваемый углом наклона, казался значительным результатом, но никто не был в этом уверен. Чтобы выяснить это, исследователи начали складывать и скручивать (поворачивать) любой материал, который попадался им в руки.
          Читать дальше →
          • +12
          • 9,1k
          • 7
        • Виртуальная реальность на кончиках пальцев

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

          Исследователи из Швейцарской высшей технической школы Цюриха (ETH) нашли применение этой физической особенности человеческих рук в своем изобретении — двухсенсорном браслете, позволяющем напрямую взаимодействовать с виртуальными объектами.

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



          Один из профессоров ETH, Кристиан Хольц, видит в VR-технологиях потенциальную замену десктопным ПК. По его мнению, «отвязка от экрана» позволит в полной мере задействовать виртуальное пространство: разместить вокруг себя «рабочие инструменты» и взаимодействовать с ним наиболее естественным путем – руками.
          Читать дальше →
        • Argumentum ad ignorantiam



            Успел прочитал переводную статью «5 фактов о том, как Microsoft приватизировала открытый исходный код, убивая JavaScript в процессе». «Успел прочитать», потому что статью сразу безбожно заминусовали (через 30 минут уже было -12), а сейчас статья вообще скрыта в черновиках.

            Её основная мысль была «Миссия Microsoft – так или иначе превратить каждого JavaScript-разработчика в дрон Microsoft TypeScript, приносящий деньги» за счет того, что «Microsoft внедрила использование TypeScript в React, Angular и Node, одновременно приватизировав Github и npm».

            По мнению автора, именно для этого Microsoft купила Github, пакетный менеджер Npm (который является менеджером пакетов для NodeJS), а так же всячески продвигает свой VSCode как единственный редактор кода для TypeScript. И хотя все приведенные факты в статье имею место быть, но сам стиль подачи материала выглядит классической страшилкой из области теории заговоров, причем написанной человеком, который всей душой искренне любит JavaScript и ненавидит Microsoft.

            Наверно я так и прошел бы мимо, если бы сам немого не кодил на JavaScript, и не по наслышке знаю ту боль, которую может причинить разработчику отладка на не типизированном языке. А ведь это одна из многих проблем, которую по задумке и предназначен решать TypeScript. Если бы не одно но…
            Читать дальше →
          • Таинственная математика совершенства

              Улыбка Моны Лизы, олимпийский прыжок Мэри Лу Реттон, высокая тесситура Мэрайи Кэри — всё это считается совершенным. Так же, как и числа 6 и 28.

              Не без участия таланта или атлетизма этих людей, но совершенство находится в глазах смотрящего. Для чисел совершенство же определяется математически. «Совершенные числа» равны сумме своих собственных делителей (делители — положительные целые числа, отличные от рассматриваемого числа, которые делят его без остатка). Например, 6 = 3 + 2 + 1, а 28 = 14 + 7 + 4 + 2 + 1. Хотя эти математические диковины могут так же украшать стены Лувра, как и выполнять сальто назад с поворотом, но тем не менее они действительно являют собой нечто уникальное: совершенную тайну.



              Евклид изложил основы совершенных чисел более 2000 лет назад. Он знал, что первыми четырьмя совершенными числами были 6, 28, 496 и 8128. С тех пор было обнаружено гораздо больше совершенных чисел. Но, как ни странно, все они чётные. Никто не смог найти совершенное нечетное число, и после многих тысяч лет безуспешных поисков может возникнуть соблазн сделать вывод, что нечетных совершенных чисел не существует. Но и математики этого доказать не смогли. Как же так выходит, что мы можем так много знать о четных совершенных числах и в то же время не можем ответить на самый простой вопрос о нечетных? И как современные математики пытаются решить этот древний вопрос?
              Читать дальше →
              • +22
              • 4,8k
              • 5

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