• Андрей Терехов: от Фортрана до Питона



      Этой осенью Андрей Терехов — завкафедрой системного программирования Матмеха СПбГУ, профессор, доктор физмат наук — рассказывал нашим коллегам об истории популярных языков программирования и их проникновении в СССР. Вместе с Андреем Николаевичем мы подготовили на основе его лекции материал о том, как разные языки пересекали железный занавес, как их транслировали на разные архитектуры, как некоторые из них входили в моду. Общие тенденции и личные впечатления — для всех, кто хочет составить общее представление об истории вопроса.
      Читать дальше →
    • Книга «Гарвардский Некромант»

        image Привет, Хаброжители! «Гарвардский некромант» рассказывает о том, как вели бы себя ученые, если бы магия реально существовала.
        Это научная фантастика с акцентом на первом слове. Автор пишет как о реальных, так и о вымышленных научных исследованиях, — но вымышленные описывает так, чтобы они удовлетворяли всем критериям настоящих научных работ. Этим книга немного напоминает таинственный «Манускрипт Войнича» — кодекс, написанный на неизвестном, скорее всего несуществующем, языке с использованием неизвестного алфавита, но трудно отличимый от аутентичной древней рукописи. Научные чудеса проявляются не в виде горящих кустов и голосов в голове, а в виде неожиданных показаний приборов, статистических отклонений в продолжительности жизни подопытных червей и мышей, а также других, поддающихся объективному анализу, результатов опытов и наблюдений.
        Читать дальше →
        • +12
        • 4,3k
        • 9
      • Как выкать в английском языке: градация слова «you»



          В английском нет слова «ты». Вернее, оно есть, но используется только в литературе и религии.

          Английское «you» используют и вместо «ты», и вместо «вы» как обращения к одному человеку, и вместо «вы» как обращения к нескольким людям, и даже «Вы» как особо уважительного обращения.

          Поэтому встает вопрос, как правильно использовать «you», чтобы избежать недоразумений.

          Понятно, что во фразе «Hey you, motherf*cker!» уважительным обращением даже не пахнет. Но нюансов английского выканья все же хватает. О них сегодня и расскажем.
          Читать дальше →
        • Стоицизм в IT: почему древняя философия захватила Кремниевую долину?

          Стоицизм попал в момент. Античная греческая философия недавно засветилась в The New Yorker, The New York Times и The Guardian. Из этих статей понятно, что стоицизм почему-то стал популярным среди тех, кто задает социальные тренды во всем мире — технических специалистов. Тим Феррис, Джек Дорси (основатель Twitter), Бред Фелд (венчурный инвестор), Кевин Роуз (основатель Digg), Блейк Ирвинг (СЕО GoDaddy) — только начало списка гуру Кремниевой долины, которые говорят и популяризируют стоицизм.

          Группа психологов и ученых Modern Stoicism организовывает обучающие семинары и ведут блог с 2012 года. Каждый год проводят конференции Stoicon в разных странах, а небольшие собрания Stoicon-X независимо проходят в разных городах, включая Торонто, Москву и Нью-Йорк.

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


          Читать дальше →
        • .NET 5.0 выйдет в релиз 10-12 ноября на .NET Conf

            .NET Conf — это бесплатное трехдневное виртуальное мероприятие для разработчиков, организованное совместно сообществом .NET и Microsoft. В этом году на .NET Conf 2020 произойдет релиз .NET 5.0. Читайте подробности о релизе.

            .NET Conf с самого начала была виртуальным мероприятием, и в этом году мы празднуем нашу 10-ю онлайн-конференцию. Учитывая все, что произошло в этом году, мы знаем, что онлайн-конференции стали важнее, чем когда-либо. Мы всегда стремились создать увлекательный виртуальный опыт мирового уровня для всех наших участников, независимо от того, где они находятся.

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

            Присоединяйтесь к общению и задавайте вопросы, используя хэштег: #dotNETConf в Twitter. Вы также можете подписаться на уведомления о .NET Conf и будущих событиях.

            Читать дальше →
          • Что такое G-Sync, FreeSync, V-Sync и HDMI VRR? — Разбор

              Всех ПК-геймеров планеты Земля, да и консольных игроков тоже, объединяет одна проблема — вертикальные разрывы изображения. И вроде бы есть куча технологий которые решают эту проблему:

              • V-Sync,
              • G-Sync,
              • FreeSync
              • А ведь еще есть Adaptive Sync
              • А в HDMI 2.1 недавно добавили VRR.

              Но легче от этого не становится. Только больше путаешься. Чем все эти технологии отличаются? Какую выбрать видеокарту и монитор? И будет ли это всё работать на телевизоре?

              Давайте сегодня раз и навсегда разберемся в технологиях адаптивной синхронизации изображения.


              Для тех кто не в курсе. А в чём собственно проблема?
              Читать дальше →
              • +18
              • 7,4k
              • 3
            • Вводная по квантовым компьютерам (перевод с сайта Explaining Computers)

              Привет, Хабр! Представляю вашему вниманию перевод статьи «Quantum Computing» автора Christopher Barnatt.

              image

              Квантовые вычисления


              Квантовые вычисления — быстро развивающаяся область компьютерных исследований, коммерческое применение которой ожидается в ближайшее время. К этому времени квантовые компьютеры превзойдут традиционные компьютеры в определённых задачах, к которым относятся молекулярное и материальное моделирование, оптимизация логистики, финансовое моделирование, криптография и обучение искусственного интеллекта.
              Читать дальше →
            • Как подружить .NET и IDA Pro (о дружбе C# и C++)

              • Tutorial


              Приветствую,


              Сначала о проблеме/задаче:
              Начав писать очередной плагин-отладчик для ретро-платформы под IDA Pro (по секрету: это будет SNES), я столкнулся со следующим набором, который требовалось подружить:


              1. Ядро эмулятора написано на C++ и компилируется в DLL
              2. GUI эмулятора написано на C# и использует DLL-ку ядра для управления эмуляцией
              3. IDA Pro, которая использует плагины либо на питоне, либо на C++ в виде DLL (а отладчики только на C++)
              Читать дальше →
            • Я станцевал бы для тебя Menuet

                История удивительной операционной системы MenuetOS




                Идея разработки миниатюрной ОС с оконным графическим интерфейсом, построенной по принципу «вся система на одной дискете», появилась, наверное, одновременно с этими самыми дискетами. Попытки запихнуть компактную операционнку c GUI на съемные носители предпринимались и в девяностые, и в двухтысячные. Одной из таких попыток, со временем превратившихся в серьезный проект, который дожил до наших дней, стала созданная фактически на голом энтузиазме MenuetOS. Эта система отличается от других подобных «стартапов» и замыслом, и используемыми технологиями, и архитектурой.
                Читать дальше →
              • Как был побит рекорд в решении задачи коммивояжёра

                • Перевод


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

                Они посчитали, что даже если Нэтану не удастся её решить, то в процессе работы он многому научится. Он согласился на эту идею. «Я не знал, что мне нужно бояться», — говорит Кляйн. «Я был всего лишь начинающим аспирантом, поэтому не понимал сложность этой задачи».
                Читать дальше →
              • Сверточный слой: быстрая свертка по методу Шмуэля Винограда

                  Введение


                  Данная статья является продолжением серии статей описывающей алгоритмы лежащие в основе
                  Synet — фреймворка для запуска предварительно обученных нейронных сетей на CPU.

                  В предыдущей статье я описал методы, основанные на матричном умножении. Эти методы с минимальными усилиями позволяют достичь во многих случаях более 80% от теоретического максимума. Казалось бы, ну куда тут можно еще дальше улучшать? Оказывается можно! Существуют математически методы, которые позволяют сократить число операций, необходимых для свертки. С одним из таких методов — алгоритму свертки по методу Винограда мы и ознакомимся в настоящей статье.

                  image

                  Шмуэль Виноград (Shmuel Winograd) 1936.01.04 — 2019.03.25 — выдающийся израильский и американский ученый в области компьютерных наук, создатель алгоритмов быстрого матричного умножения, свертки и преобразования Фурье.
                  Читать дальше →
                  • +12
                  • 4,5k
                  • 3
                • Почему SOLID – важная составляющая мышления программиста. Разбираемся на примерах с кодом

                  Привет! Меня зовут Иван, я сотрудничаю со львовским офисом EPAM как Solution Architect, а карьеру в IT начал 10 лет назад. За это время заметил, что многие любят работать на проектах, которые начинаются с нуля. Однако не всем удается построить систему, которую будет все еще легко поддерживать и развивать спустя год.

                  Вполне естественно, что вместе с разрастанием системы будет повышаться и ее сложность. Успех разработки такой системы будет зависеть от того, насколько хорошо вы держите под контролем ее сложность. Для достижения этой цели существуют дизайн-паттерны, лучшие практики, а главное – принципы проектирования, такие как SOLID, GRASP и DDD.

                  В данной статье я хочу акцентировать внимание на том, что SOLID – важная составляющая мышления разработчика, которую нужно развивать и тренировать.

                  Я покажу несколько примеров с кодом, где нарушаются принципы SOLID. Мы выясним, к каким последствиям это может привести в долгосрочной перспективе и как это можно исправить. На мой взгляд, статья будет интересна как back-end, так и front-end разработчикам разных уровней.


                  Читать дальше →
                • Сложение двух чисел с плавающей запятой без потери точности

                    Здравствуйте, друзья, как вы думаете, если мы напишем такой код:

                    s = a+b;
                    z = s-a;
                    t = b-z;
                    

                    то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел $a$ и $b$. Кого интересует данная тема, прошу под кат.

                    Читать дальше →
                  • Самый маленький офисный пакет в мире

                    • Перевод


                    Всем нам знаком традиционный офисный пакет — текстовый редактор, электронные таблицы, программа для создания презентаций, возможно, приложение для создания диаграмм или заметок. Всё это мы видим в Microsoft Office и в Google Docs. Все эти программы мощны и объёмны. Но каким будет минимальное количество кода, требуемое для создания офисного пакета?
                    Читать дальше →
                  • Цифровой рентген: прогулка по Эльбрусу

                      Привет Хабр! В прошлый раз писал про проект по рентгеновской инспекции печатных плат. Сейчас мы сильно продвинулись, есть рабочий прототип софта плюс “потыкали палочкой” в Эльбрус. Про этот опыт я и хочу рассказать.


                      image


                      Интро


                      На старте проекта нам удалось найти дополнительное финансирование, основным условием была полная кроссплатформенность ПО, в том числе поддержка отечественных процессоров. На тот момент наиболее производительным вариантом для десктоп машин был Эльбрус 8С (пока он им и остается, 8СВ еще вроде не вышел). Мы купили две станции «Эльбрус 801-РС» напрямую от МЦСТ. Сейчас их стоимость указана на сайте, год назад были чуть дороже.


                      Из курьезных мелочей, с которыми столкнулись при закупке – бумажные заявки на поставку. Сразу советую заключить договор NDA, это даст доступ к свежим инструментам разработчика (оформление около месяца). Приехали машины быстро, по комплектации – есть проблема с кастомизацией на стороне МЦСТ. Проще докупить и поставить самим нужные видеокарты или периферию. Перечень проверенного оборудования/чипов карт пока есть только в багтрекере МЦСТ, хотя стоило бы опубликовать список на вики ресурсе по Эльбрусам.

                      Читать дальше →
                    • Про новинки в .NET 5 и C# 9.0

                        Добрый день.

                        В нашей компании .NET используется с самого его рождения. У нас в продуктиве работают решения, написанные на всех версиях фреймворка: от самой первой и до последней на сегодняшний день .NET Core 3.1.

                        История .NET, за которой мы пристально следим всё это время, творится на глазах: версия .NET 5, которую планируют релизить в ноябре, только что вышла в виде Release Candidate 2. Нас давно предупреждали, что пятая версия будет эпохальной: с нею закончится .NET-шизофрения, когда существовали две ветки фреймворка: классический и Core. Теперь они сольются в экстазе, и будет один сплошной .NET.

                        Вышедший RC2 уже можно начинать полноценно использовать – никаких новых изменений перед релизом больше не ожидается, будет только фикс найденных багов. Более того: на RC2 уже работает официальный сайт, посвящённый .NET.

                        А мы представляем вам обзор новшеств в .NET 5 и C# 9. Вся информация с примерами кода взята из официального блога разработчиков платформы .NET (а также ещё из массы источников) и проверена лично.
                        Читать дальше →
                      • Как я писал магистерскую диссертацию по компьютерному зрению

                          В этой статье я продолжу тему компьютерного зрения.

                          См. предыдущие статьи: Простой алгоритм распознавания движений и алгоритм поиска смещения объектов на изображении. Напомню, что написать эти статьи меня сподвигло то, что когда я начал работать над магистерской диссертацией на тему «Анализ пространственной структуры динамических изображений», то столкнулся с проблемой, что очень трудно найти какие-то готовые примеры алгоритмов распознавания образов и движущихся объектов. Везде, и в литературе, и в Интернете одна только голая теория. С тех пор прошло довольно много времени, я успел успешно защитить диссертацию и получить красный диплом, а теперь пишу, чтобы поделиться опытом.
                          Читать дальше →
                        • Написать книгу: стоит ли игра свеч?.. От автора книги «Высоконагруженные приложения»

                          • Перевод
                          Привет, Хабр!

                          Сложно переоценить успех книги "Designing Data-Intensive Applications" которая вышла в русском переводе и неизменно допечатывается у нас под названием "Высоконагруженные приложения"



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

                          Читаем с удовольствием!
                          Читать дальше →
                        • Владимир Китов: «Невозможно понять, как ученые-первопроходцы предвидели всеобщую компьютеризацию еще в 1950-х!»



                            Владимир Китов, работающий с ИТ более полувека, возглавлял команды программистов в ГВЦ Минморфлота СССР и ЦНИИ «Монолит», руководил разработкой ПО для международной системы космического спасения КОСПАС-SARSAT и созданием мультитерминального монитора для ЕС ЭВМ. Он работал топ-менеджером в компаниях DEC, SIEMENS, «Техносерв», IBS, Fujitsu, написал учебник по системному программированию и несколько монографий, а теперь занимается историей информатики.

                            В продолжении интервью Владимир Китов вспоминает своего отца Анатолия Ивановича и других выдающихся советских ученых, объясняет, почему история автоматизированных систем управления — заметная часть истории страны, рассказывает о работе для сельского хозяйства в Институте кибернетики на рубеже 1980-1990-х.
                            Читать дальше →
                          • Демка Gespensterwald умещается в 62 байта кода языка ассемблера x86



                              В начале октября 2020 года программист-энтузиаст HellMood из группы DESiRE выпустил демку для MS-DOS/FreeDos под названием Gespensterwald. Программа размером в 62 байта написана на ассемблере. Демка сейчас занимает первое место в соревновании разработчиков Inércia Demoparty 2020 Combined Tiny Intro.
                              Читать дальше →