• Junior FPGA Design Engineer: как стать?

      Всем привет!

      Иногда начинающие разработчики не очень хорошо представляют, какую литературу надо читать для серьезного изучения того или иного языка.

      Разработка под FPGA (ПЛИС) — это не просто какой-то язык. Это очень объемная область, с огромным количеством подводных камней и нюансов.

      В этой статье вы найдете:
      • список тем, которые должен освоить начинающий разработчик под FPGA
      • рекомендуемую литературу по каждой из тем
      • набор тестовых вопросов и лабораторных работ
      • классические ошибки новичков (и советы по исправлению)

      Добро пожаловать под кат!
      Читать дальше →
    • Уолтер Левин — Во имя физики



        16 мая 2011 года Уолтер Левин, заслуженный профессор MIT в отставке, вернулся в свой старый лекционный зал, чтобы провести последнюю лекцию, которая была приурочена к публикации его новой книги «FOR THE LOVE OF PHYSICS: From the End of the Rainbow to the Edge Of Time — A Journey Through the Wonders of Physics», написанной совместно с Уорреном Гольдштейном.

        «Эта книга раскрывает перед нами незаурядный интеллект Уолтера Левина, его страсть к физике и блестящий навык преподавания. Надеюсь, благодаря ей еще больше людей узнает об этом потрясающем преподавателе и учёном».

        — Билл Гейтс


        Оригинальное видео

        P.S. В комментариях вы можете предложить интересное видео на перевод и озвучивание.
      • Интерфейсы vs. классы

          Обсуждая с различными людьми — в большинстве своём опытными разработчиками — классический труд «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» Гаммы, Хелма и др., я с изумлением встретил полное непонимание одного из базовых подходов ООП — различия классов и интерфейсов.

          Читать дальше →
        • Что такого особенного в Nim?

          • Translation


          Язык программирования Nim (ранее именовался Nimrod) — захватывающий! В то время как официальная документация с примерами плавно знакомит с языком, я хочу быстро показать вам что можно сделать с Nim, что было бы труднее или невозможно сделать на других языках.

          Я открыл для себя Nim, когда искал правильный инструмент для написания игры, HoorRace, преемник моей текущей DDNet игры/мода Teeworlds.

          (прим. пер. На синтаксис Nim имели влияние Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.)

          Запускаем!


          Да, эта часть всё ещё не захватывает, но просто следите за продолжением поста:

          for i in 0..10:
            echo "Hello World"[0..i]
          

          Читать дальше →
        • Раскрыта тайна притягательности картофельных чипсов, шоколада и арахисового масла

            image

            Моника Пишетсридер (Monika Pischetsrieder) с коллегами из Эрлангенского университета в Германии обнаружили, что крысы, имея возможность выбора, тяготеют к пище с определённым сочетанием жиров и углеводов. Волшебная формула – 50 к 35, то есть еда, в которой содержится 35% жиров и 50% углеводов. А это практически полностью совпадает с картофельными чипсами, шоколадом и арахисовым маслом. Это исследование было опубликовано 17 марта в журнале Nature.

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

            image

            Бытует точка зрения, что мозг просто предпочитает высококалорийную еду. Исследователи проверяли правоту этого утверждения — будут ли подопытные крысы выбирать себе еду по содержанию калорий, или отдадут предпочтения какой-либо из комбинаций питательных веществ.
            Читать дальше →
          • Ночные кошмары Питона: неявный `this`

              Обсуждение статьи "Не совсем крутой Ruby" зашло достаточно далеко: недостатки и достоинства Ruby между делом перетекали в обсуждение недостатков и достоинств Python. Не сильно удивило то, что передача self в качестве первого аргумента метода класса, некоторым хабравчанам кажется лишней. Ну что ж, не хотите явного self, будет вам неявный this! Под катом, немного магии на чистом Python.
              Читать дальше →
            • Как мы запускали метеозонд на Урале. Часть 1

                Запуск метеозонда в небо — есть старинная забава ученых и энтузиастов, со времен инцидента в Розуэлле (штат Нью-Мексико). Метеорологи запускают зонды для наблюдения за процессами в верхних слоях атмосферы. Кто-то запускает зонды в торнадо, чтобы узнать его структуру. Энтузиасты же, в основном, делают это для красивой картинки нашей родной планеты с высоты полета Фрэнсиса Гэри Пауэрса.

                Наш хакспейс полон энтузиастов, и был лишь вопрос времени, когда мы проведем такое грандиозное мероприятие. Это время настало весной текущего года. Прохладным утром 11 апреля 2015-го, хакспейс MakeItLab вместе с сетью магазинов оптики «Четыре глаза» и несколькими другими организациями запустили метеозонд в «уральскую» стратосферу!

                Надо сказать, мы решили сделать из запуска хорошее шоу, и организовали прямой видеолинк с зонда на большой телевизор. Куча школьников смогли наблюдать за собой сверху, с высоты полета быстро удаляющегося воздушного аппарата. Было очень круто! Разумеется, на борту была и обычная action-камера, которая запечатлела красоты почти-космоса. Наконец, мы отсняли наш марш бросок на 200 км за упавшим зондом. Обо всем этом читайте/смотрите под катом.
                Читать дальше →
              • Арбелос

                • Translation
                • Tutorial

                Скачать статью в виде документа Mathematica (NB), CDF-файла или PDF.
                Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.

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

                Введение


                Будучи мотивирован вычислительными преимуществами, которыми обладает Mathematica, некоторое время назад я решил приступить к исследованию свойств арбелоса — весьма интересной геометрической фигуры. С тех пор я был впечатлен большим количеством удивительных открытий и вычислительных проблем, которые возникали из-за всё расширяющегося объёма литературы, касающейся этого примечательного объекта. Я вспоминаю его сходство с нижней частью культового велосипеда пенни-фартинг из The Prisoner (телесериал 1960-х), шутовской шапкой Панча (знаменитых Punch and Judy) и символом инь-ян с одной перевёрнутой дугой; см. рис. 1. В настоящее время существует специализированный каталог архимедовых кругов (круги, содержащиеся в арбелосе) [1] и важные применения свойств арбелоса, которые лежат вне поля математики и вычислительных наук [2].

                Многие известные исследователи занимались этой темой, в том числе Архимед (убитый римским солдатом в 212 г. до н.э.), Папп (320 г. н.э.), Кристиан О. Мор (1835-1918), Виктор Тебо (1882-1960), Леон Банкофф (1908-1997), Мартин Гарднер (1914-2010). С недавних пор свойствами арбелоса занимаются Клейтон Додж, Питер Ай. Ву, Томас Шох, Хироши Окумура, Масаюки Ватанабе и прочие.

                Леон Банкофф — человек, который привлекал всеобщее внимание к арбелосу в последние 30 лет. Шох привлёк внимание Бэнкоффа к арбелосу в 1979 году, открыв несколько новых архимедовых кругов. Он послал 20-страничную рукописную работу Мартину Гарднеру, который направил её Бэнкоффу, который затем отправил 10-страничный фрагмент копии рукописи Доджу в 1996 году. Из-за смерти Бэнкоффа запланированная совместная работа была прервана, пока Додж не сообщил о некоторых новых открытиях [3]. В 1999 году Додж сказал, что ему потребуется от пяти до десяти лет, чтобы отсортировать весь материал, которым он располагает, разложив всё это дело по стопкам. В настоящее время эта работа все ещё продолжается. Не удивительно, что в четвертом томе The Art of Computer Programming, сказано о том, что важная работа требует большого количества времени.


                Рис. 1. Велосипед пенни-фартинг, куклы Панч и Джуди, физический арбелос.

                Арбелос (“нож сапожника” в греческом языке) назван так из-за своего сходства с лезвием ножа, использующегося сапожниками (Рис. 1). Арбелос — плоская область, ограниченная тремя полуокружностями и общей базовой линией (рис. 2). Архимед, вероятно, был первым, кто начал изучать математические свойства арбелоса. Эти свойства описаны в теоремах с 4-ой по 8-ую его книги Liber assumptorum (или Книги лемм). Возможно, эту работу написал не Архимед. Сомнения появились после перевода с арабского Книги лемм, в которой Архимед упоминается неоднократно, но ничего не сказано о его авторстве (однако, существует мнение, что эта книга — подделка [4]). Книга Лемм так же содержит знаменитую архимедову Problema Bovinum [5].

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


                  Знакомьтесь — подопытная крыса Теодор-младший.

                  Как многие знают, я сменил род деятельности и теперь основную часть времени я занимаюсь выращиванием суперсолдат и порабощением мира стволовыми клетками. Сразу хочу предупредить — работа в нашей лаборатории сопряжена с NDA, поэтому некоторых вещей я коснусь лишь поверхностно.
                  Когда вы занимаетесь наукой, то очень часто возникает необходимость решать сложные и нестандартные задачи. Какими бы глянцевыми и красивыми ни были ваши портативные коллайдеры, любовно приборетенные для разработок, иногда возникает необходимость создать что-то «на коленке» для проверки какой-то идеи. Особенно остро это ощущается в госучреждениях, где, несмотря на зачастую прекрасное финансирование, закон вынуждает организовывать межгалактический тендер на приобретение карандаша. Поэтому я расскажу вам про синюю изоленту, спектральный анализ с помощью банки чипсов и художественную лепку экзоскелета для крысы-мутанта. А заодно узнаем, стоит ли топить сухой лед в унитазе и можно ли потом это пить.
                  Дальше очень-очень много фотографий и текста
                • Kerbal Space Program обновилась до релизной версии 1.0

                    image

                    Симулятор космической программы Kerbal Space Program, позволяющей взять на себя руководство ЦУПом одной маленькой, но очень энергичной планеты, недавно обновился до версии 1.0
                    Читать дальше →
                  • Заглянем за кулисы разработки: подборка исходных кодов классических игр

                    • Translation
                    Обожаю заглядывать за кулисы. Мне интересно, как делаются вещи. Мне кажется, что большинству людей это тоже интересно.

                    Исторически так сложилось, что видеоигры не делятся исходниками. Конечно, они ведь предназначены для игроков. Но для программистов там всегда есть, на что посмотреть. И некоторые игры всё-таки выпускали свои исходники. А я давно намеревался сделать такую подборку.

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

                    Многие игры после выпуска исходников были улучшены и дополнены сообществом – я намеренно даю ссылки только на оригинальные исходники. Так что, если вас вдруг интересуют апгрейды – они могут существовать.

                    Многие игры были рассмотрены на сайте Fabien Sanglard. Если вам интересны подробности их работы, то пожалуйте к нему.

                    Можно заметить, что многие игры принадлежат id Software/Apogee. Совпадение? Не думаю. id славится открытостью и привычкой выпускать исходники. Старые коммерческие игры уже не имеют ценности и были бы потеряны – не лучше ли, чтобы кто-то учился чему-то полезному на их основе?

                    Итак, приступим (в хронологическом порядке):
                    Читать дальше →
                  • Линейная алгебра: пробный заезд

                    Привет, Хабр!

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

                    Часто первое знакомство с линейной алгеброй выглядит как-то так:

                    image

                    Не очень вдохновляет, правда? Сразу возникает два вопроса: откуда это все взялось и зачем оно нужно.

                    Начнем с практики


                    Когда я занимался вычислительной гидродинамикой (CFD), один из коллег говорил: «Мы не решаем уравнения Навье-Стокса. Мы обращаем матрицы.» И действительно, линейная алгебра — «рабочая лошадка» вычислительной математики:


                    Читаем дальше...
                  • IBM PC своими руками — это очень просто

                      image

                      После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

                      Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
                      В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
                      Читать дальше →
                    • Facebook распознаёт происходящее на видео и находит смысл в тексте

                        image

                        На конференции F8 для разработчиков приложений, работающих с Facebook, главный инженер компании Майк Шропфер объявил о прорыве, совершённом в области искусственного интеллекта. Поводом для заявления послужила работа двух систем ИИ.

                        Первая система способна распознать, какой из 487 различных видов спорта показан на видео. При этом, например, она отличает фигурное катание от хоккея. Неизвестно, насколько это проще или сложнее для ИИ, чем отличить кошку от собаки, но в любом случае, это очень интересная система. Уже хочется опробовать её, подсунув для распознавания фрагмент батальной сцены из «Властелина колец».
                        Читать дальше →
                      • Планеты и четвёртое измерение

                        • Translation
                        Наверняка вам известно, что планеты движутся вокруг солнца по эллиптическим орбитам. Но почему? На самом деле, они двигаются по окружностям в четырёхмерном пространстве. А если спроецировать эти окружности на трёхмерное пространство, они превращаются в эллипсы.

                        image

                        На рисунке плоскость обозначает 2 из 3 измерений нашего пространства. Вертикальное направление – это четвёртое измерение. Планета движется по кругу в четырёхмерном пространстве, а её «тень» в трёхмерном движется по эллипсу.

                        Что же это за 4-е измерение? Оно похоже на время, но это не совсем время. Это такое особенное время, которое течёт со скоростью, обратно пропорциональной расстоянию между планетой и солнцем. И относительно этого времени планета двигается с постоянной скоростью по кругу в 4 измерениях. А в обычном времени его тень в трёх измерениях двигается быстрее, когда она находится ближе к солнцу.
                        Читать дальше →
                      • Файловая система Linux полностью на tmpfs — скорость без компромиссов

                        Предыстория


                        Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

                        Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

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



                        Я занимаюсь разработкой электроники. Начал сравнительно недавно — когда микроконтроллеры от Atmel стали известны благодаря платформе Arduino. Тогда меня это не особо заинтересовало — на тот момент я уже программировал их из AVR Studio, читал истории DiHalt и мечтал о разработке собственного автопилота. 3 курс, Новосибирск, НГУ — это было увлекательно…

                        Но я с интересом наблюдаю за развитием и ростом индустрии встраиваемых и портативных систем: появление RaspberryPI, многообразия SoC и плат на их основах, системы умного дома, интернет вещей, смартфоны с растущей вычислительной мощностью — все это фантастический простор для деятельности. Результатом наблюдения стало желание поучаствовать: попробовать себя в разработке простой платформы, с целью изучения и накопления опыта.
                        Начать проектирование
                      • Занимательная теория вероятностей или сколько нужно двигателей?



                          В обсуждении проекта «большого глупого носителя» OTRAG, состоящего из пакета простых ракет, неоднократно поднимался вопрос надёжности такого количества двигателей. Вспоминалась печальная история советской сверхтяжёлой ракеты Н-1, у которой на первой ступени стояло 30 двигателей, и которая ни разу за четыре полёта не долетела до конца её работы. В комментарии рассказать про теорию вероятностей и расчёт надёжности места нет, поэтому предлагаю вашему вниманию занимательный рассказ о количестве двигателей, надёжности, комбинаторике и теории вероятностей.
                          Читать дальше →
                        • Коллекционирование химических элементов — на что это похоже? (UPD. Коллекционеру из статьи можно задавать вопросы)


                            Металлический натрий в запаянной ампуле

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

                            По известным причинам (распад некоторых элементов происходит за тысячные доли секунды) полную коллекцию элементов собрать не получится. Но есть люди, которые приблизились к идеалу, собрав максимум того, что возможно. Один из таких людей — Теодор Грей. К слову, он — один из создателей Wolfram Alpha.
                            Читать дальше →
                          • Создан открытый аналог Siri — Sirius, доступный по лицензии BSD



                              Группа Clarity Lab, находящаяся в университете Мичигана, предлагает решение с открытым исходным кодом для персонального компьютерного помощника. Их программа распознаёт голос и ищет ответы на запросы, точно как делают Siri от Apple, Google Now от Google, и аналогичные решения от Microsoft и Amazon. Проект под названием Sirius умеет даже больше, чем его аналоги – например, ему можно предоставить картинку и задать по ней вопрос.

                              Проект спонсируют Google, DARPA, американские военные и Национальный научный фонд США. Он распространяется по лицензии BSD, что означает полную открытость и бесплатность для всех желающих. Значит, любые стартапы смогут реализовать такую функциональность в своих проектах и устройствах.
                              Читать дальше →