Последние несколько лет я провел в изучении и экспериментах со многими языками программирования. В частности, я начал использовать Scala как основной язык, стараюсь использовать функциональный стиль везде где это возможно. Меня также весьма заинтересовал Haskell (чистый функциональный язык) и Clojure (современный диалект Лиспа).
Таким образом, я постепенно отказываюсь от объектно-ориентированной парадигмы, несмотря на то, что использовал в основном её последние 17 лет моей профессиональной деятельности. У меня появляется чувство, что объекты это то, что мешает нам писать лапидарный, структурированный и повторно используемый код.
Листая страницы хаба «Алгоритмы», наткнулся на топик, посвященный решению задачи локализации точки в многоугольнике: задан многоугольник (замкнутая ломаная линия без самопересечений), требуется определить — находится ли заданная точка A внутри этого многоугольника или нет. В одном из последних комментариев к топику было высказано недоумение, какое отношение такая чисто математическая задача имеет к теории алгоритмов. Имеет-имеет, причем самое непосредственное. Задача локализации является классической задачей вычислительной геометрии (не путать с компьютерной графикой). В качестве разминки предлагается взглянуть на картинку справа, на которой изображен многоугольник типа кривой Пеано (источник [1]), и попытаться ответить на вопрос — красная точка ты видишь суслика? и я не вижу, а он есть! находится внутри или снаружи многоугольника? А ниже мы (исключительно в образовательных целях) рассмотрим простую вариацию данной задачи, когда заданный многоугольник является выпуклым.
Изучение культуры, которая окружает язык, приближает вас на шаг к лучшим программистам. Если вы всё еще не прочли «Zen of Python», то откройте интерпретатор Python и введите import this. Для каждого элемента в списке вы найдете пример здесь
Под катом изложена некоторая информация касательно написания расширений для PHP c использованием C++, почерпнутая мной из различных источников (по большей части англоязычных) и ковыряния исходников Zend Engine 2 во время разработки одного модуля для собственных нужд. Так как объем ее достаточно велик, далее я старался быть краток.
А вот до C++ в этой части мы так и не доберемся… =)
Маленький дисклеймер: содержимое статьи не есть истина в первой инстанции, не основывается на официальной документации (а есть ли она?) и является моим субъективным взглядом на ZE 2. Тем не менее, в свое время я был бы рад найти нечто подобное на просторах Рунета, дабы сэкономить время на начальных этапах разработки.
Я семь лет работаю только в Интернете и сегодня сделал еще один шаг в этом направлении – окончательно попрощался со Сбербанком и перешел на другой банк, у которого нет отделений и все вопросы решаются только через интернет и по телефону. Снятие денег бесплатное в любом банкомате (при определенной минимальной сумме). Интернет-банк реализован шикарно, есть приличные мобильные приложения. При звонках по телефону соединяешься сразу, без ожидания оператора (звонил несколько раз). Сравним это со Сбербанком, в котором нужно идти в отделение по любому вопросу, даже по такому пустяковому, как подключение или отключение услуги «Мобильный банк». Если повезет и не будет километровой очереди из бабушек. Или обеденного перерыва. Интернет-банк реализован довольно убого, некоторые функции просто не работают, и сотрудники не могут сказать, почему. Чтобы дозвониться до сотрудников, иногда ждешь полчаса.
Не так давно увидел свет еще один документальный фильм о демосцене под названием «The Art Of The Algorithms».
Над созданием фильма трудилась команда проекта Moleman около двух лет. Это уже второй полнометражный фильм, созданный в рамках этого проекта. Первый фильм рассказывал о различных молодежных суб-культурах, лишь отчасти затрагивая тему демосцены. Второй фильм полностью посвящен рассказу о феномене демосцены. Присутствуют английские субтитры. Настоятельно рекомендуется смотреть вместе с ними, так как в диалогах встречаются английский, польский, финский, а так же венгерский языки.
Главная страница фильма: Moleman 2. На ней можно скачать фильм в различных форматах с помощью торрента/HTTP/FTP.
Эстетика ретро-фотографий, столь удачно продвинутая на рынок модным хипстерским приложением Instagram, не оставляет разработчиков равнодушными. И, судя по всему, привлечение пользователей к своим творениям не означает только лишь программирование и обычные приёмы маркетинга.
Некто Мартин Стром (Martin Ström), разработчик из Стокгольма, создал приложение InstaCRT для iOS, которое имеет одну функцию — наложение фильтра на изображение так, что создаётся впечатление картинки на старых ламповых чёрно-белых телевизорах.
Готовое фото выглядит так:
Однако, самое любопытное заключается не в этом, а в том, что находится «под капотом» InstaCRT. Приложение работает таким образом:
К нам в руки попал чудесный аппарат — патефон ПТ-3. Никогда раньше мы не видели ничего подобного и не могли устоять и не сделать его обзор и демонстрацию работы. Видео подготовлено каналом GTV.
Всем привет!
В начале апреля я увидел анонс новой видеокарты от nVidia, с новым мажорным индексом compute capability – 3.0. Внимательно изучив спеки был удивлён – по всему выходило, что теперь ветвления будут приводить к самым худшим последствиям: большим потерям производительности. Мне нравилось, что от версии к версии ветвления играют всё меньшую роль, а Kepler показался в этом плане шагом назад. Мозгом я понимал, что такое вряд ли возможно и решил немного выждать.
И вот на этой неделе мне пришёл whitepaper по новой числодробилке на архитектуре Kepler и многое прояснил.