• Математика на пальцах: методы наименьших квадратов

    • Tutorial

    Введение




    Я математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это — чуть позже) — стыдно.

    Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика — это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.
    Математика для программистов!
  • Почему я больше не использую MVC-фреймворки

    • Перевод


    Уважаемые хабравчане.

    Поскольку дискуссия вокруг статьи идет весьма активно, Жан-Жак Дюбре (он читает комментарии) решил организовать чаты в gitter.

    Вы можете пообщаться с ним лично в следующих чатах:
    https://gitter.im/jdubray/sam
    https://gitter.im/jdubray/sam-examples
    https://gitter.im/jdubray/sam-architecture

    Также автор статьи разместил примеры кода здесь: https://bitbucket.org/snippets/jdubray/

    По поводу кода он оставил следующий комментарий:
    I don't code for a living, so I am not the best developer, but people can get a sense of how the pattern works and that you can do the exact same thing as React + Redux + Relay with plain JavaScript functions, no need for all these bloated library (and of course you don't need GraphQL).
    Читать дальше →
  • Как вести секретную переписку. Часть 1

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

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


    Сегодня мы натолкнулись на руководство одного из авторов The Intercept, который привел детальный разбор того, как вести переписку с использованием методов шифрования. В своем рассказе Мика Ли (Micah Lee) показывал практические примеры и скриншоты.

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

    Читать дальше →
  • Не только Яндексу. Микроразметка на крупнейших сайтах рунета: зачем ею пользуются и почему она пригодится и вам

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

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



      Люди, которые отвечают за разработку и всю техническую часть таких сайтов, как Holodilnik.ru, Ozon.ru, Lenta.ru, Interfax.ru и Ivi.ru, ответили на вопросы о том, как на практике происходит внедрение микроразметки и каких результатов она позволяет добиться. А мы со своей стороны рассказали, какие типы мы бы порекомендовали таким сайтам и для чего.

      Читать дальше →
      • +45
      • 99k
      • 9
    • Broadcast Event Messaging в Unity3D

        При разработке игр, довольно часто возникает необходимость в построении системы широковещательной рассылки сообщений. Предположим, Вы хотите сделать так, чтобы в тот момент когда персонаж, управляемый игроком, вошел в определенную зону, или выполнил определенное действие, все заинтересованные в этом объекты получили уведомление. По возможности это уведомление должно нести в себе информацию о произошедшем событии. В данной статье, я предлагаю Вашему вниманию один из возможных способов построения подобной системы. Приведенная система построена на базе Unity3D EventSystem.
        Читать дальше →
        • +9
        • 15,5k
        • 4
      • Верстка email рассылок от А до Я для чайников

        Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
        Читать дальше →
      • Развертываем свой сайт на Heroku

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


        Читать дальше →
      • Онтоинженер: работа по понятиям

          Привет, Хабр! Меня зовут Даня, и я работаю в группе извлечения знаний ДогадайтесьКакойКомпании. В двух постах я расскажу,
          • как мы извлекаем факты и сущности из текстов,
          • кто такие онтоинженеры,
          • зачем они отделяют трупы от костей,
          • причём здесь Лев Толстой.

          На Хабре уже было несколько публикаций, посвященных извлечению информации из неструктурированного текста (много чего ищется по тегами Text Mining, Information Extraction). Вот здесь, например, приведен краткий джентльменский набор того, что желательно сделать с текстом, прежде чем из него будет удобно что-нибудь извлечь (спойлер: мы все это тоже делаем). А вот тут коллеги из Яндекса описывают свой подход с использованием КС-грамматик (кстати, там тоже замешан Толстой). В общем, тема для Хабра не новая, но и нельзя сказать, что достаточно раскрытая. Потому мы и решили поделиться нашим опытом.
          Читать дальше →
        • Выразительный JavaScript: Node.js

          • Перевод

          Содержание




          Ученик спросил: «Программисты встарь использовали только простые компьютеры и программировали без языков, но они делали прекрасные программы. Почему мы используем сложные компьютеры и языки программирования?». Фу-Тзу ответил: «Строители встарь использовали только палки и глину, но они делали прекрасные хижины».

          Мастер Юан-Ма, «Книга программирования»


          На текущий момент вы учили язык JavaScript и использовали его в единственном окружении: в браузере. В этой и следующей главе мы кратко представим вам Node.js, программу, которая позволяет применять навыки JavaScript вне браузера. С ней вы можете написать всё, от утилит командной строки до динамических HTTP серверов.

          Эти главы посвящены обучению важным идеям, составляющим Node.js и предназначены для передачи вам достаточного количества информации, чтобы вы могли писать полезные программы в этой среде. Они не пытаются быть всеобъемлющими справочниками по Node.

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

          Если вы хотите сразу запускать код из этой главы, начните с установки Node с сайта nodejs.org для вашей операционки. Также на этом сайте вы найдёте документацию по Node и его встроенным модулям.
          Читать дальше →
          • +39
          • 114k
          • 7
        • Семь принципов создания современных веб-приложений

          • Перевод
          • Tutorial
          Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

          Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

          JavaScript бесспорно стал незаменимым инструментом для разработчиков фронтенда. Сейчас сфера его применения расширяется на другие области, такие как серверы и микроконтроллеры. Этот язык программирования выбрали престижные университеты, чтобы обучать студентов основам информатики.

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

          • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
          • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
          • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
          • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
          • Нужно ли использовать техники вроде PJAX или TurboLinks?
          • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
          Читать дальше →
        • Как мы тестируем CSS-регрессии с Gemini. Доклад на BEMup в Яндексе

            Всем привет! Меня зовут Сергей Татаринцев. В Яндексе я работаю в группе разработки общих интерфейсов. Наша группа занимается созданием интерфейсных библиотек, используемых во многих сервисах, — в том числе в Поиске. Мы поддерживаем четыре библиотеки, которые в общей сложности включают в себя 62 блока.

            Если посчитать все десктопные и мобильные браузеры всех версий, то получается, что у нас в поддержке их более 15. Около года назад их все мы тестировали вручную. Тестировщик просто брал и прокликивал все это во всех браузерах и смотрел, не поехало ли что-нибудь, работает ли так, как было задумано. Это приводило к тому, что процесс релиза очень затягивался. Вплоть до того что разработка и тестирование занимали приблизительно одинаковое время. Многие баги ускользали от глаз тестировщика или обнаруживались через достаточно продолжительное время.



            Мы решили, что дальше так жить нельзя и решили процесс тестирования как-то автоматизировать. Начали мы с инструментов статического анализа. Для проверки стиля кода у нас используется инструмент jscs, написанный нашим коллегой Маратом Дулиным. Для статического анализа кода применяется всем известный JSHint. А для отлова регрессий в JS мы пишем юнит-тесты. Это в какой-то мере помогло справиться с проблемой: анализаторы отлавливали совсем уж глупые ошибки, а тесты позволили проверять функциональность блока. А вот с регрессиями в CSS был пробел. Тестирование внешнего вида по-прежнему проводилось руками и глазами тестировщика. Мы стали искать инструменты, которые помогали бы нам в автоматизации.
            Читать дальше →
          • 10 PRINT CHR$(205.5+RND(1));: GOTO 10

              10 PRINT CHR$(205.5+RND(1)); : GOTO 10 — это название книги, выпущенной издательством MIT press, авторы которой исследуют историю, эстетику и философию программирования, основываясь на одной-единственной крошечной однострочной программе на Бейсике для компьютера Commodore 64, которая генерирует похожий на лабиринт бесконечный узор. Собственно, заголовок книги — её полный листинг. Эта коротенькая демка была популярна тридцать лет назад и портировалась на множество языков и платформ.


              Читать дальше →
            • Учимся договариваться у ФБР и «Виталсмартс»

                "В жизни каждого мужчины
                наступает момент,
                когда он без-воз-вратно рвет..."
                (из фильма "Здравствуйте, я ваша тетя")


                В жизни многих айтишников наступает момент, когда их светлые головы посещает идея начать свое дело. Айтишники — существа логичные; и логика говорит им: работать на дядю или тетю со временем становится невыгодно и бесперспективно. «Создам… скажем, веб-студию» — говорит он себе.

                Продравшись сквозь бюрократические дебри, наш компьютерный гений открыл фирму, создал и раскрутил свой сайт, взял пару-тройку заказов… и энтузиазм его несколько поубавился. Потому что на сцену вышел новый персонаж — Его Высочество Клиент. Тот самый, про которого ClientsFromHell, Zadolba.li и проч.

                Айтишник — умнейший человек. В технических вопросах, да и не только — настоящий профи. Но кое-чему он научиться просто не мог — а именно: договариваться. А когда? Он провел почти всю жизнь среди более-менее близких людей — семьи, одноклассников, однокурсников, коллег. Тех, кому волей-неволей пришлось принимать его таким, как есть. Ему не приходилось выцыганивать скидку, блефовать с конкурентами, прессовать поставщиков и умасливать клиентов.

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

                Очередная поп-психология, «сделайте глубокий вдох и подумайте о вечности»? Нет же! Обе книги написали профессиональные переговорщики: автор первой тренирует антитеррористические подразделения ФБР, авторы второй специализируются на критически важных переговорах в бизнесе.



                Итак, два пособия:
                Марк Гоулстон — «Я слышу вас насквозь» (в оригинале — «Просто слушай»).
                Патерсон, Гренни, Макмиллан — «Есть серьезный разговор».
                Читать дальше →
              • Что стоит за номером «кредитки»

                  Прежде всего о терминологии. То, что в России часто называют кредиткой — является банковской (чаще всего) платёжной картой. Карты выпускать может не только банк. Карты могут быть не только кредитные. Вобщем, теорию вы и сами сможете найти.

                  А теперь, собственно, инфографика о том, как устроены номера банковски карт (600*1800px 280KB):

                  Читать дальше →
                • Исследование американского игрового рынка. Демография, объемы продаж и прочие любопытные факты

                  • Перевод
                  Ассоциация Entertainment Software Association опубликовала недавнее исследование американского рынка компьютерных и видео игр. Согласно отчету средний возраст геймера составляет 34 года!

                  image

                  Остальные не менее интересные цифры и факты
                • 40 прекрасно иллюстрированных примеров веб-дизайна (часть 1)

                  • Перевод


                  Часть 1. 1—20


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

                  (Если обзор придется вам по вкусу, переведу вторую часть)
                  Читать дальше →
                • Дорогая, я уменьшил наш радиоприемник!

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

                    image

                    Да, это не шутка, корейцы оснастили его не только крохотной антеннкой, но и вполне обычным линейным входом. И еще один интересный момент — радио, названное производителем Motz FM, имеет деревянный корпус. Есть и светодиодик, сигнализирующий о работе устройства. В продолжении — еще абзац текста и несколько фото.

                    Читать дальше →
                  • Финалисты IGF 2010

                      Логотип IGFК полку инди-игр (1, 2, 3, 4) продолжает прибывать, и на следующий 12-й фестиваль независимых игр было выдвинуто уже 301+192 игры, что больше на полторы сотни больше чем в прошлом году. И рост на лицо — от разработчиков, неограниченных рамками издательств, выходит больше самостоятельных проектов. В 2009 году вышли в свет Машинариум, Hammerfight. Osmos, к примеру, стал известным даже не имея в родителях известного разработчика. В 2010 будут новые пришельцы, а КПП у них — подобные мероприятия.

                      Гран-при Шемуса МакНелли* (Seumas McNally Grand Prize):*Гран-при назван в честь разработчика, который получил этот же главный приз в 2000 году за игру Tread Marks (также он дизайнер игр DX-Ball), умер от болезни Ходжкина 21 марта 2000.
                      И ещё пять номинаций
                    • Охранно-пожарная сигнализация

                        image

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

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