• Отменяется ли бунт роботов?

      (Неформальная рецензия на книгу Дэвида Минделла «Восстание машин отменяется! Мифы о роботизации», “Альпина нон-фикшн”, 2017)

      image
      (User Chmouel on en.wikipedia: file )

      Книга Дэвида Минделла «Восстание машин отменяется! Мифы о роботизации» оставила сильное, но двойственное впечатление. Прежде всего стоит посмотреть комментарии, из которых видно, какую гигантскую работу проделал автор, обобщив огромный материал из очень значимых источников. В нескольких словах: роботы под водой, на земле, в воздухе, в космосе и на других планетах: Луна и Марс. В последнем случае, правда, упущение – сейчас роботы долетели до края Солнечной системы, но о них в книге, к сожалению, не упомянуто. Но и то, что упомянуто, позволяет автору сделать общие выводы о перспективах робототехники.
      Читать дальше →
    • В C++17 до сих пор нет нормальных многомерных массивов, которые были в Fortran начиная с Fortran 90

        Это статья про многомерные массивы. А ещё про ключевое слово restrict, до появления которого в C язык Fortran был быстрее C. Немного про то, зачем я это написал, см. в конце.

        Многомерные массивы. Начну с многомерных массивов. Допустим, вам нужно максимально эффективно работать с большими квадратными матрицами в C++ (скажем, умножать их друг на друга). Причём размер матриц становится известен лишь в runtime. Что делать?

        Всякие double a[n][n] и std::array<std::array<double, n>, n> не сработают, т. к. порядок матрицы (n) будет известен лишь в runtime. new double[n][n] не сработает по этой же причине (лишь первое измерение массива, создаваемого new, может быть runtime-выражением). Попробуем так:

        double **a = new double *[n]; // Массив длины n указателей на double
        for (int i = 0; i != n; ++i)
          {
            a[i] = new double[n];
          }
        
        Читать дальше →
      • О языке С и производительности

        • Перевод


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

        Но как можно считать себя профессионалом в каком-либо (высокоуровневом) языке, если даже не знаешь, как именно работает процессор, как он выполняет вычисления, эффективным ли способом? Сегодня автоматическое управление памятью становится главной проблемой в большинстве высокоуровневых языков, и многие программисты подходят к её решению без достаточной теоретической базы. Я уверен, что знание низкоуровневых процессов сильно помогает в разработке эффективных высокоуровневых программ.
        Читать дальше →
      • Сколько светят звезды, часть 2: Хабраинтервью с игроками, разработчиками и издателем «Космических Рейнджеров»

          Часть 2. Разработчики игры «Космические Рейнджеры: Наследие» и издатель серии игр «Космические Рейнджеры». Окончание. См. Часть 1.



          На вопросы отвечают сотрудники игрового подразделения 1С: продюсер Денис Мальцев и арт-директор Алексей Вахрушев.
          Читать дальше →
        • Сколько светят звезды? Хабраинтервью с игроками, разработчиками и издателем «Космических Рейнджеров»



            Трудно писать о малоизвестной компьютерной игре, т.к. у читателя сразу возникает законный вопрос: с какой такой радости автор выбрал именно эту игру из тысяч столь же неизвестных? Но не менее трудно писать об очень известной игре, т.к. у читателя сразу возникает законный вопрос: а что-то нового возможно еще сказать, когда уже об этом так много сказано? Возможный выход – это интервью: во-первых, с фанатами игры, а во-вторых, с разработчиками и издателем. Пусть они объясняют, почему многие годы посвятили именно этой игре. Здесь мы избираем именно такой путь, т.к. речь пойдет не просто об известной игре, а об очень-очень известной серии игр «Космические Рейнджеры» (КР) издателя . Подумать только: эти игры пользуются завидным успехом целых 14 лет – это поистине уникальный случай. Более того, игра продолжает развиваться — недавно 1С была анонсирована новая игра этой серии: «Космические Рейнджеры: Наследие». Так сколько же светят звезды?
            Читать дальше →
          • Дело о малокском сейфе


              Думаю, что многим из присутствующих здесь известна игра Космические Рейнджеры. Также, я не думаю, что сильно ошибусь, если скажу, что, в значительной мере, своим очарованием эта игра обязана, фактически возрожденным ей, текстовым квестам. Некоторые из этих квестов, такие как «Цитадели» или «Лыжный курорт», вполне могут рассматриваться как самостоятельные игры.

              Отношение, у меня лично, к текстовым квестам двоякое. С одной стороны, они очень интересны и невообразимо атмосферны. С другой стороны, некоторые из них, пройти совсем не просто. Квест «Пятнашки», сразу поставил меня в тупик. Я вообще не очень хорошо решаю всякого рода головоломки, поэтому решил написать программу, которая найдет решение за меня.
              Читать дальше →
            • Хабраинтервью с разработчиками «Космических рейнджеров»

                Игра «Космические рейнджеры 2»

                В связи с недавним рейтингом лучших игр по версии Хабра я заинтересовался игрой «Космические рейнджеры». Я не могу назвать успех игры иначе, чем феноменальным. В связи с чем связался с разработчиками с просьбой дать мне и хабрасообществу интервью. Итог следующий:

                • Алексей Дубовой согласился ответить на вопросы по почте.
                • Дмитрий Гусаров от интервью отказался.
                • Команда, которая готовит аддон «Революция» на интервью согласна.

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

                  Алексей ДубовойПредлагаю вашему вниманию интервью с разработчиком легендарной российской игры «Космические рейнджеры» Алексеем Дубовым, а так же с представителем «Союза Независимых Квестописателей» Яковом Уваровым.

                  Игра «Космические рейнджеры» вошла в десятку лучших игр всех времен и народов по версии Хабрахабра 2013 года. А среди российских игр заняла первое место, обогнав «Тетрис» и украинскую разработку «Казаки» с приличным отрывом. Признаюсь, я ничего вообще не знал об этой игре и заинтересовался, что это за чудо такое. Посмотрев видео на ютубе понял, что это действительно выдающаяся игра, поскольку фанаты отзываются о ней как о «лучшей игре на свете».

                  Я связался с Дмитрием Гусаровым, Алексеем Дубовым и ребятами из СНК, которые готовили аддон «Революция». Дмитрий от интервью отказался, Алексей согласился ответить по почте. В другом посте я предложил всем желающим задать свои вопросы. На основе этих вопросов и появилось это интервью.

                  Алексей Дубовой


                  История игры «Космические рейнджеры»


                  Вам было всего 18 лет (верно?), когда вы взялись за написание масштабного проекта. Как Вы на это решились? Был ли какой-то опыт написания игр до КР?

                  В детстве я начинал с компьютеров «Спектрум» и «Поиск». Первой игрой, которую я увидел, была «Nether Earth». Тогда она перевернула мое сознание. И с этого времени я начал увлекаться компьютерами, играми и программированием. То, что я буду программистом, я осознал очень рано, мне было очень интересно изучать движки, создавать свои, все остальное меня перестало интересовать.

                  Шло время, я набирался опыта, и в середине 99 года я в интернете случайно набрел на сайт Дмитрия Гусарова. Он в то время заканчивал делать «Генерала» и искал себе работу в игровом дизайне. Мы встретились, поговорили и решили делать новую игру на космическую тему, так как понимали, что графики нужно сделать значительно меньше, чем для других жанров, да и сама тема космоса нам интересна. Если для Дмитрия были интересны игры Elite, Master of Orion, то я был фанатом Star Wars: X-Wing серии и Star Control 2.

                  На тот момент мне был 21 год, и я начал работать над игрой не особо задумываясь о перспективах и финансировании, я был молод и полон желания просто заниматься любимым делом.
                  Читать дальше →
                • LEGO MINDSTORMS Education EV3 в профориентации


                    изображение — roboconstructor.ru

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

                    Робототехника, кибернетика, понимание алгоритмов – тот набор навыков, с которым, скорее всего, человеку не будут грозить настолько туманные перспективы. Конечно, скорее всего параллельно с заменой рабочей силы на роботов будет развиваться и концепция безусловного базового дохода, вот только вряд ли вы хотите для своего ребенка подобного будущего.

                    Способов быстро показать молодой и заинтересованной аудитории основы программирования и робототехники сейчас существует много. Все они стоят недорого, достаточно просты в освоении, дают уже через несколько часов понимание основ алгоритмов и концепций кибернетических устройств. Но в учебных классах легко столкнуться и с недостатками этих платформ – ограниченной износоустойчивостью (да и чего греха таить – «идиотоустойчивостью» тоже) макетных плат, не очень дружелюбными для детей 11-12 лет интерфейсами ПО, относительно небольшим элементом «игры».
                    Читать дальше →
                  • Визуализация графов. Метод связывания ребер

                      Иногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку:



                      Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики — пакеты, белые — классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый — это начало, а красный — конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить.
                      Под катом описание метода, решающего эту проблему.
                      Читать дальше →
                    • Думаешь, ты знаешь Си?

                      • Перевод
                      image

                      Многие программисты утверждают, что знают С. Ну что ж, у него самый известный синтаксис, он существует уже 44 года и он не захламлен непонятными функциями. Он прост!

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

                      Если вы думаете что он прост — пройдите этот тест. В нем всего 5 вопросов. Каждый вопрос в принципе одинаковый: какое будет значение возврата?
                      Читать дальше →
                    • Опубликован быстрый алгоритм для задачи изоморфизма графов


                        Эти два графа являются изоморфными

                        Математик Ласло Бабай (László Babai) с факультета компьютерных наук и математики Чикагского университета представил быстрый новый алгоритм для решения задачи изоморфизма графов — одной из фундаментальных проблем теории сложности вычислений. Алгоритм приводит проблему очень близко к классу P. По мнению некоторых специалистов, это один из самых значительных результатов в теоретической информатике за десятилетие, если не за несколько десятилетий.
                        Читать дальше →
                      • 5 причин, по которым работодатели не любят удалёнщиков (и 4 способа получить работу в любом случае)

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

                        Эстер Шиндлер — автор свободно распространяемого выпуска «Руководство по выживанию для сотрудников, работающих удалённо».


                        Кубиклы
                        Читать дальше →
                      • Создание сцены из Star Wars в Unreal Engine 4

                        • Перевод

                        Все изображения в статье кликабельны

                        Введение


                        Привет, меня зовут Джейсон Льюис (Jason Lewis). Думаю, что меня можно назвать руководителем этого группового проекта. Я главный художник по окружениям в Obsidian Entertainment. Другие художники, работавшие со мной над этим проектом, тоже работают в Obsidian. Это помощники главного художника, художники среднего класса и джуниоры. Даже люди из отдела QA дополнили сцену своими художественными навыками. Всего в работу в разной степени внесли свой вклад 17 человек. Это был наш личный проект, мы создавали его только потому, что все мы - большие фанаты «Звёздных войн». Глядя на современные работы по Star Wars, мы решили, что настало время поучаствовать и создать качественный фанатский арт-проект. Кроме того, что мы поклонники Star Wars, некоторые из нас хотели под хорошим предлогом изучить Unreal 4.
                        Читать дальше →
                        • +46
                        • 26,7k
                        • 5
                      • Первые успехи сложного игрового бота

                        (Приглашение к совместному проекту с открытым исходным кодом)

                        Зачем люди пишут игровых ботов? – Можно назвать много возможных причин, одной из них, безусловно, является чисто академический интерес решения сложной задачи AI. В литературе по философии CS и по философии математики программирование неоднократно сравнивалось с альпинизмом. Трудно сказать, кто первый сделал такое сравнение. На наш взгляд, оно очень подходит и к нашему случаю, поэтому, рискуя показаться не оригинальными, все же сделаем утверждение: написание нетривиального бота для программиста – такой же вызов, как покорение вершины для альпиниста. Чем недоступнее вершина – тем сильнее желание ее покорить. Поэтому, прежде всего, нужно выбрать действительно достойную вершину в интересном горном массиве. Одним из таких массивов со множеством сложных, никем пока не покоренных вершин, является игра "Космические Рейнджеры 2 HD: Революция" (КР2) — продолжение серии игр "Космические Рейнджеры" (КР).
                        Читать дальше →
                      • История языков программирования: 100% «чистый» Си, без единого «плюса»

                          image

                          Популярность языка программирования Си трудно переоценить, особенно вспоминая его былые заслуги. Наверное, каждый разработчик, как минимум, знает о его существовании, и, как максимум, пробовал на нем программировать. Си является предшественником таких языков, как C++, Objective-C, C#, Java.

                          Компания Microsoft для разработки родного языка к своей платформе .Net выбрала именно Си-подобный синтаксис. Более того, на Си написано множество операционных систем.

                          Конечно, Си не идеален: создатели языка – Кен Томпсон и Деннис Ритчи – долгое время дорабатывали его. Стандартизация Си продолжается до сих пор. Он существует более 45 лет и активно используется.

                          С ним часто ассоциируют не один, а два языка программирования — C/C++. Однако ниже речь пойдет именно о «чистом» Си.
                          Читать дальше →