• Превращаем рекурсию в цикл

      Максим написал рекурсивный алгоритм, и столкнулся со Stack Overflow exception.


      Зачем Максим это сделал?


      Потому что он любит короткие и элегантные на его взгляд решения.


      Он не наслаждается, когда пишет так:


      function factorial(n) {
        let res = 1;
        for (let i = 2; i <= n; i++) {
          res *= i;
        }
        return res;
      }

      Он хочет писать вот так:


      const factorial = (n) => (n > 1 ? n * factorial(n - 1) : 1);

      Но когда он запускает подобные этому рекурсивные алгоритмы, бывает так, что он видит это:


      Читать дальше →
    • Временные ограничения для внешних интерфейсов ПЛИС

        Здравствуйте. В данной статье я хочу по возможности максимально просто и понятно рассказать о том, как рассчитываются временные ограничения (timing constraints) на синхронные интерфейсы ПЛИС. Просто — не значит коротко, но зато простыми словами, которые вы сможете легко понять. Если вы новичок и перед вами стоит задача описать свой первый SPI, то данная статья должна вам помочь понять для чего нужны ограничения и как их рассчитать.
        Читать дальше →
      • Девайс от коронавируса или очередной троллейбус из буханки хлеба?



          Это очередная история и гайд по созданию устройства с целью защиты от коронавируса. Наверняка все заметили то, что лучезарные кварцевые лампы из советского прошлого были незаслуженно забыты, но в текущей ситуации именно они могут стать помощником по решению общей проблемы с коронавирусом.
          Читать дальше →
          • –3
          • 4.8k
          • 9
        • Музей DataArt. Осмотр видеотерминала Mera CM 7209



            Стараниями идеолога и главного технического эксперта нашего музея Глеба Ницмана в коллекции опять пополнение. На этот раз — раритетное устройство из Восточной Европы. Мы зафиксировали его осмотр на видео, а также вспомнили, как страны соцлагеря вместе строили мини-ЭВМ.

            Сотрудничество социалистических стран в области науки и техники было официально оформлено еще в 1949 году при организации Совета экономической взаимопомощи. 20 лет спустя страны СЭВ подписали соглашение о совместной работе над созданием вычислительных машин — в результате появилась Единая Серия ЭВМ. Параллельно возникла идея еще одной серии — менее габаритных и, возможно, менее мощных машин, которые могли быть использованы для автоматизации производства. Еще через 5 лет, в 1974 году, Межправительственная комиссия по вычислительной технике заявила о запуске серии мини-компьютеров под названием СМ ЭВМ (семейство малых ЭВМ). Главным научным центром нового направления стал московский ИНЭУМ, а в качестве ориентира была принята архитектура DEC PDP-11.
            Читать дальше →
          • Морти, мы в UltraHD! Как посмотреть любой фильм в 4K, дорисовав его через малоизвестную нейросеть

              Наверное, вы слышали про технологию Яндекса DeepHD, с помощью которой они как-то раз улучшили качество советских мультфильмов. Увы, в публичном доступе ее еще нет, а у нас, рядовых программистов, вряд ли найдутся силы написать свое решение. Но лично мне, как обладателю Retina-дисплея (2880х1800), недавно очень захотелось посмотреть «Рика и Морти». Какого же было мое разочарование, когда я увидел, как мыльно на этом экране выглядит 1080р, в котором существуют оригиналы этого мультсериала! (это прекрасное качество и обычно его вполне достаточно, но поверьте, ретина так устроена, что анимация с ее четкими линиями в 1080р выглядит мыльновато, словно 480р на FHD-мониторе)

              Я твердо решил, что хочу увидеть этот мультсериал в 4К, хотя и совершенно не умею писать нейросети. Однако решение было найдено! Любопытно, что нам даже не придется писать код, понадобится лишь ~100 ГБ места на диске и немного терпения. А результат — четкое изображение в 4К, которые выглядит достойнее, чем любая интерполяция.

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