• Математические обозначения: Прошлое и будущее

    • Translation


    Перевод поста Стивена Вольфрама (Stephen Wolfram) "Mathematical Notation: Past and Future (2000)".
    Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации

    Содержание


    Резюме
    Введение
    История
    Компьютеры
    Будущее
    Примечания
    Эмпирические законы для математических обозначений
    Печатные обозначения против экранных
    Письменные обозначения
    Шрифты и символы
    Поиск математических формул
    Невизуальные обозначения
    Доказательства
    Отбор символов
    Частотное распределение символов
    Части речи в математической нотации
    Стенограмма речи, представленной на секции «MathML и математика в сети» первой Международной Конференции MathML в 2000-м году.

    Резюме


    Большинство математических обозначений существуют уже более пятисот лет. Я рассмотрю, как они разрабатывались, что было в античные и средневековые времена, какие обозначения вводили Лейбниц, Эйлер, Пеано и другие, как они получили распространение в 19 и 20 веках. Будет рассмотрен вопрос о схожести математических обозначений с тем, что объединяет обычные человеческие языки. Я расскажу об основных принципах, которые были обнаружены для обычных человеческих языков, какие из них применяются в математических обозначениях и какие нет.

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

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

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

    Обычный язык состоит их строк текста; математическая нотация часто также содержит двумерные структуры. Будет обсуждён вопрос о применении в математической нотации более общих структур и как они соотносятся с пределом познавательных возможностей людей.

    Сфера приложения конкретного естественного языка обычно ограничивает сферу мышления тех, кто его использует. Я рассмотрю то, как традиционная математическая нотация ограничивает возможности математики, а также то, на что могут быть похожи обобщения математики.
    Читать дальше о математической нотации, её прошлом и будущем...
    • +50
    • 39.7k
    • 9
  • Искусство командной строки



      Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

      Enjoy!
    • DDR4 выйдет в продажу уже в следующем месяце

        Судя по всему, модули DDR4 выйдут раньше, чем предполагалось. Один из производителей Crucial Memory разместил на своем сайте сообщение, что оперативная память нового поколения будет выпущена до конца 2013 года. Поскольку в этом году остался всего один месяц, то модули DDR4 появятся в продаже не позже декабря.



        Необходимо заметить, что DDR4 обладает существенно бóльшей производительностью, чем нынешняя память DDR3.
        Читать дальше →
      • Началась новая война за Вконтакте. Дурову грозят увольнением

          Создатель «Вконтакте» Павел Дуров сегодня через газету «Ведомости» обвинил фонд UCP в давлении и угрозах.

          «Ваша агрессивность на акционерном уровне очень негативно влияет на атмосферу в коллективе. Мне приходится прилагать усилия, чтобы не потерять команду, — заявил он «Ведомостям». — Несколько ключевых сотрудников уже ушли, не выдержав давления. Они [представители UCP] никому не верят и везде параноидально ищут подвох. Если бы я не знал, что они финансисты, я бы предположил, что имею дело с сотрудниками ФСБ».
          Читать дальше →
        • Первые изображения водородных связей

          • Translation

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

          Читать дальше →
        • История операционных систем Apple. Часть 1. Дографическая эпоха

          • Translation
          Начинаю перевод весьма основательного труда Амита Сингха по истории операционных систем Apple. Часть картинок добавлена при переводе для наглядности. Планирую 3 или 4 части, смотря как будет получаться по объему. В этой части посмотрим, что было до Macintosh и Apple Lisa.

          Первые байты кода


          В конце 1975 года Стив Возняк завершил прототип компьютера, который вскоре станет известен как Apple I. Возняк в то время работал в НР. Но этот проект был им неинтересен, так что он попросил дать им вольную. 1 апреля 1976 года Стив Джобс, Стив Возняк и инженер из Atari Рональд Уэйн основали Apple. Первым продуктом под этим именем был компьютер Возняка.

          Apple I

          Apple I был основан на 8-битном процессоре MOS Technology 6502, с частотой меньше 1 МГц. Это был упрощенный вариант более дорогого чипа Motorola 6800. Примерно аналогичным по параметрам был и Intel 8080, но он при этом был дороже. У компьютера был встроенный выход на телевизор, разъемы для 8 Кб памяти, интерфейсы клавиатуры и кассетного магнитофона. Корпус, БП, клавиатура и телевизор в комплект не входили, покупатель должен был раздобыть их самостоятельно.
          image
          Читать дальше →
        • Инсталлятор CyanogenMod появится в Google Play, разработчики получили $7 млн инвестиций



            Компания Cyanogen, разработчик популярного мода на основе Android, сообщила большие новости. Во-первых, она получила $7 млн инвестиций на развитие, что позволило увеличить штат до 17 человек и серьёзно ускорить разработку.

            Во-вторых, компания заявляет о гигантских планах — увеличить аудиторию CyanogenMod до 50 млн человек и стать третьей мобильной платформой после Android и iOS.
            Читать дальше →
          • Вычисление фрактальной размерности Минковского для плоского изображения

              Доброго времени суток читатель. Сегодняшний пост будет посвящен вычислению приближенного значения фрактальной размерности плоского изображения, которая тесно связано с размерности Минковского. Это интересно как минимум по двум причинам. Во-первых оказывается, что размерность ограниченного множества в метрическом пространстве может быть не только целым числом, но и любым неотрицательным. Во-вторых значение размерности контура изображения (а это ограниченное множество в метрическом пространстве) является хорошим признаком. В рамках сегодняшнего поста не предусмотрено исследование робастности этого признака, но давайте рассмотрим показательный пример. Множество различных характеристик клеток опухолей молочной железы, полученное в результате анализа снимков тонкоигольной пункционной биопсии. Множество данных состоит из 30 признаков (поля таблицы) с пометкой злокачественная или доброкачественная опухоль, и одним из признаков является как раз фрактальная размерность ядер клеток опухоли. Под катом вас ждет объяснение смысла фрактальной размерности множества, по возможности доступным языком, алгоритм вычисления приближенного значения этой размерности, его реализация на c# и ряд примеров с картинками. Возможно вы открыли этот пост только из-за картинки справа, это изображение я позаимствовал из инстаграмма Jennifer Selter, и в конце мы вычислим фрактальную размерность, так сказать филейной части Дженифер. Хочется кстати вас попросить ответить на пару вопросов в конце поста.

              Читать дальше →
            • Бета-тестирование нового Яндекс.Браузера: проверка орфографии от Яндекса и звонок с компьютера в телефон

                Мы объявляем открытую программу бета-тестирования новых версий Яндекс.Браузера. Начиная с нынешней, желающие смогут попробовать самое новое и помочь Яндексу в том, чтобы найти ошибки, которые нам не удалось выявить в условиях внутреннего тестирования. Одновременно пользователи бета-версии смогут оценить новые возможности еще до их появления в стабильном канале.

                Что нового появилось, кроме бета-канала:
                • Улучшенная проверка орфографии
                • Синхронизация в мобильном браузере и Быстрый звонок
                • Эксперимент: Умная кнопка «Назад»
                • Эксперимент: быстрый переход назад/вперед
                • Эксперимент: быстрый возврат в начало страницы
                • Бета-версия браузера под Андроид теперь работает на планшетах
                • На модерации версия браузера под Айфон

                Уже сейчас вы можете загрузить бета-версию Яндекс.Браузера. Ниже читайте подробности обо всех нововведениях.


                Читать дальше →
              • Использование каскада Хаара для сравнения изображений

                  image

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



                    В фантастическом фильме (снятом по мотивами книги Айзека Азимова) «Я, робот» отец главного героя лишился работы из-за внедрения роботов на производстве. И не только он один, в фильме показан целый депрессивный мир будущего. Будущего, в котором люди массово теряли работу, потому что компьютеры и роботы выполняли эту работу гораздо лучше, быстрее и дешевле. Вы скажете, что нечто подобное уже происходило в человеческой истории, и со временем ситуация наладилась, люди переучились и адаптировались. Однако сегодня, сейчас, происходит «ползучий» рецидив — «техника» снова начала отнимать работу у людей. И более того, прогнозы ещё больше не внушают оптимизма.
                    Читать дальше →
                  • Qt на Android: Episode One

                    • Translation
                    Я начинаю публиковать новую серию постов о Qt на Android.

                    Первая часть о том, как всё начиналось, как это работает, текущий статус, чего стоит ждать от Qt 5.2 и мои планы на Qt 5.3. В следующей части я расскажу подробнее о разработке для Android.

                    Давайте начнём:

                    Как всё начиналось?

                    В июне 2009 года я присоединился к ROUTE 66 в качестве старшего разработчика для Linux. Моим первым заданием было портирование навигационного движка на Android. Google тогда ещё официально не выпустила NDK, поэтому мне пришлось написать его самому, используя исходный код Android.

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

                    В октябре 2009 года Nokia (да, Qt тогда принадлежал Nokia...) анонсировала проект Lighthouse. Этот проект позволял разработчикам легко портировать Qt на (почти) любую платформу.

                    Читать дальше →
                  • Разработка кроссплатформенных мобильных приложений в Delphi #1

                      Delphi for AndroidКак вы, наверное, знаете, в сентябре этого года компания Embarcadero Technologies представила очередной релиз RAD Studio, набора средств разработки, включающих в себя Delphi, C++ Builder, HTML5 Builder и ряд сопутствующих продуктов. Основное новшество RAD Studio XE5 состоит в том, что с помощью Delphi стало возможным вести разработку нативных приложений для Android – самой популярной на текущий момент мобильной платформы.

                      Предыдущие версии Delphi уже поддерживали разработку для Mac OS (XE2, XE3, XE4) и для iOS (XE4). Поэтому сейчас мы не говорим о том, что кроссплатформенная разработка стала «изюминкой» новой версии Delphi. Однако, по отношению к разработчикам приложений, Android по-настоящему демократичная система. Здесь не требуется ни дорогостоящего оборудования (как в случае с iOS), ни покупки сертификатов разработчика (возможность публиковать приложения в GooglePlay стоит всего $25, возможность отладки на своем Android устройстве абсолютно бесплатна).

                      Таким образом, если вы имеете некоторые навыки работы в Delphi, то именно сейчас у вас появилась прекрасная возможность попробовать себя в мобильной разработке.

                      Говоря о Delphi, следует упомянуть и C++ Builder. Обычно оба эти продукта развиваются параллельно. Однако, на этот раз Delphi, выражаясь спортивным языком, «немного вырвался вперед» и пользователям C++ Builder приходится некоторое время ожидать пока их средство разработки «подтянется к лидеру».

                      Многие Delphi разработчики со стажем ассоциируют Delphi с VCL – мощной расширяемой библиотекой классов, предназначенных для создания широчайшего спектра приложений для Windows. Однако, как вы знаете, или успели догадаться, для создания кроссплатформенных приложений используется не VCL, а платформа приложений FM, ранее известная как FireMonkey.
                      Читать дальше →
                    • Часть 1. Подробная инструкция по созданию своего CocoaPod

                      Нельзя не упомянуть опубликованные ранее статьи по этой теме — введение в Cocoapods и краткое резюме по созданию своего «pod»'а.
                      Последняя указанная статья дала толчок в нужном направлении, но не хватало знаний для полного понимания поданной информации. Цель данной статьи — максимально подробно описать процесс создания и использования своего собственного CocoaPod'а, далее для краткости — «pod». Ну и упорядочить свои познания в данной области.
                      Читать дальше →
                      • +12
                      • 11.9k
                      • 1
                    • Пишем HTML5-игру за 20 минут, или введение в Phaser framework

                      Эта статья посвящена разработке стильных, модных и молодежных HTML5 приложений с помощью нового фреймворка Phaser. В ней описан процесс установки библиотеки и создание классической игры Pong.

                      Введение


                      Phaser — это движок для разработки мобильных и десктопных HTML5 игр, базирующийся на библиотеке PIXI.js. Поддерживает рендеринг в Canvas и WebGL, анимированные спрайты, частицы, аудио, разные способы ввода и физику объектов. Исходники доступны как для просмотра, так и для свободной модификации. Он создан Ричардом Дейви (Richard Davey), известному благодаря активному участию в сообществе программистов, использующих Flixel framework. Ричард не скрывает, что вдохновлялся Фликселем, поэтому некоторые вещи в Фазере будут знакомы опытным флешерам. Первая версия нового движка вышла 13 сентября этого года, сейчас ведется не только активное развитие библиотеки, но и написание документации, поэтому в данный момент уроков по ней, мягко говоря, немного. Что, по моему скромному мнению, следует исправлять, и прямо сейчас.
                      Читать дальше →
                    • Почему мы не тестируем. Практика проведения технического интервью

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

                        Ставим задачу
                        Кого ищем? Ищем эффективных бойцов. Известно, что эффективность программистов со схожим опытом может отличаться в 10 раз (Ф. Брукс) или даже в 27 раз (Р. Гласс). Сразу, оговорюсь, эффективность это не только количество трупов врагов реализованных требований к ПО на единицу трудозатрат, но и умение результативно взаимодействовать с окружающими. Это важно, потому что по моим наблюдениям 50% проектных человеко-часов тратится на коммуникации. У нас это называется «синхронизация ментальных моделей».

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


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

                        • Tutorial
                        Вроде простой вопрос, даже не понятно что на него ответить, правда?
                        Мы все знаем как создать переменную, как получить значение переменной, как взять ссылку на переменную в конце концов.
                        Но как они работают изнутри?
                        Что происходит в интерпретаторе, когда вы изменяете значение переменной? Или когда удаляете ее?
                        Как реализованы типы переменных?

                        В этой статье я постараюсь раскрыть именно эти темы.

                        Abstract

                        Переменные в PHP выражены в виде неких контейнеров, которые хранят в себе тип переменной, значение, кол-во ссылающихся переменных на этот контейнер, и флаг — является ли эта переменная ссылочной.
                        Немного запутанно, но под катом станет понятней
                      • Мировой тур RAD Studio XE5 во Львове, Уфе, Киеве, Минске



                          У нас хорошие новости для разработчиков Украины и Белоруссии.

                          Мы продолжаем мировой тур RAD Studio XE5.

                          Следующими городами нашего тура станут Львов, в который мы приедем 1 ноября, 5 ноября мы посетим в Минск, далее 12 ноября заедем в Уфу, а закрытие тура будет 21 ноября в Киеве.

                          Читать дальше →
                        • Regenix: Новый нестандартный MVC фреймворк для PHP

                          Приветствую всех. Хочу представить вам свой проект под названием Regenix.
                          image

                          Это новый MVC фреймворк для языка PHP, в рамках которого реализовано несколько интересных и уникальных идей, которые вы с малой вероятностью встретите в других PHP фреймворках. На проект большое влияние оказал Play! framework и язык Java.

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

                          Основные качества фреймворка:
                          Читать дальше →
                        • Дерек Сиверс: «Метод интервального повторения — лучший способ изучения языков программирования»

                          • Translation
                          Краткая справка: в 1998 году Дерек Сиверс основал компанию CD Baby и превратил ее в крупнейшего онлайн-продавца независимой музыки. В 2008-ом вырученные от продажи компании $22 миллиона Дерек передал в благотворительный траст на нужды музыкального образования.
                          Речи Дерека на TED просмотрели более 5 миллионов раз, а его собственная книга занимала первую строку в чарте книг для предпринимателей на Amazon.
                          Сам себя Дерек считает «вечным учеником».


                          Я уже год использую этот метод обучения и могу сказать, что он – самый эффективный из тех, с которыми мне довелось столкнуться за 14 лет изучения программирования.
                          Читать дальше →