• Поддержка OAuth 2.0 платформой ВКонтакте

      Вчера во ВКонтакте появилась поддержка открытого стандарта авторизации OAuth 2.0. Теперь интегрировать сайты и клиентские приложения с социальной сетью стало значительно проще.

      Читать дальше →
    • Визитка — прямой канал коммуникации

        А у вас есть визитка?



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

        Креативные визитки

        Программист
        image

        image
        Читать дальше →
      • Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

          Введение


          Часто люди приобретают цифровые зеркальные камеры в погоне за качеством снимков, но при этом не имеют представления о технических моментах съемки. В основном это касается тех, кто до зеркалки держал в руках исключительно компактные фотоаппараты и пользовался автоматическими режимами (которые, к слову, весьма продвинутые в современных камерах).

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

          Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
          Читать дальше →
        • Моя планета Земля



            Привет всем кто это читает! Хочу рассказать, как с помощью библиотеки OpenGL нарисовать вот такой земной шар.
            Здесь я не буду останавливаться на создании окна и контекста устройства отображения, т.к. с это выходит за рамки данного повествования.
            Читать дальше →
          • L-Systems — математическая красота растений

              Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.

              В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

              Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.
              Дальше интереснее
            • Победитель Mario AI Competition



                О самом Mario AI Competition на Хабре уже писали. Предлагаю посмотреть видео победителя обоих этапов соревнований Робина Баумгартена. Видео записано в замедленном действии, чтобы можно было лучше увидеть как алгоритм работает.

                Более подробную информацию и исходники можно найти на сайте автора.
              • Глобальная «монополия»

                  Завтра, 9-го сентября, компания Hasbro совместно с Google запускают новый проект — игру Monopoly City Streets, особенностью которой станет использование в качестве игрового поля всей Земли. При помощи Google Maps.



                  Любой желающий поиграть на старте получит условные $3 млн. На эти денежки можно покупать улицы и дома, строить объекты и получать еще больше денег. Победителем становится тот, кто накопит больше миллионов.
                  Читать дальше →
                • Puls — революция в 256 byte intro

                    Прошедший в конце августа Chaos Constructions 2009 в Питере, к сожалению, не порадовал нас революционными релизами. Однако зарубежные братья демосценеры не дремлют!

                    image

                    Буквально на прошлой неделе на Riverwash 2009 простой чешский парень Jan Kadlec (aka Řrřola) забомбил PC 256 byte intro которое установило новый мировой порядок. Имя ему — Puls.

                    Итак речь идет о куске машинного кода в 256 байт для Intel x86 совместимой машины. Работает он под DOS, совершенно равнодушен к 3D возможностям вашей видеокарты и объемам установленного ОЗУ, но не откажется от быстрого CPU. Код генерирует динамическую визуальную сцену используя базовые возможности Intel архитектуры и стандартного видеорежима.
                    Версия под DOS «с трудом» заработает под Vista, 7 и XP, выдавая низкий fps – операционная система не дает напрямую использовать аппаратные ресурсы. Поэтому есть смысл смотреть адаптированную под Windows версию (которая занимает уже несколько килобайт). Она как бы намекает нам «насколько много ресурсов поедает ОС» (сравните размеры кода под DOS и Windows).

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

                    Обычно в этом месте обыватель задает вопрос: “Здорово! А как мы это можем использовать?”

                    Отвечаю примером для 9-го класса:
                    Читать дальше →
                  • Бюджетные петабайты: Как построить дешевое облачное хранилище

                    • Translation
                    Познакомьтесь с Backblaze Pod: 67 терабайт за $7867

                    Мы в Backblaze предлагаем нашим клиентам неограниченное хранилище всего за $5 в месяц, поэтому нам пришлось выяснить, как хранить сотни петабайт клиентских данных надёжным масштабируемым образом, при этом сохраняя цены низкими. Посмотрев на несколько коммерческих решений с неоправданно высокими ценами, мы решили строить наши собственные нестандартные контейнеры хранилища Backblaze (Backblaze Storage Pods): 67-терабайтные 4U-серверы за $7867.

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

                      image
                      На хабре поднималась тема об этой программе, но раскрыта тема была скудно. Я попытаюсь показать внутреннее устройство программы, а также в конце обзора будет бонус :) Под катом много картинок, но не очень тяжелых.
                      Читать дальше →
                    • Линзы — это хорошо

                        По результатам опроса «Носите ли Вы очки или контактные линзы?» 53% опрошенных имеют хорошее зрение. Что удивительно, ведь большинство хабралюдей много времени проводят за компьютером, из-за работы, учебы, да и просто для отдыха. Если вы входите в эти 53%, то вам навряд ли пригодится данная статья, если нет — то советую прочитать.
                        Читать дальше →
                      • Взлом каптчи файлообменника

                          Введение



                          В данной статье коротко рассказывается о процессе взлома captcha с ifolder.ru. Применение в процессе языка Python и сторонних библиотек. Применение алгоритма преобразований Хафа в составе библиотеки Open Computer Vision © Intel позволит нам избавиться от шума на изображении, простая в использовании и быстрая библиотека FANN (Fast Artificial Neural Network) сделает возможным применение искусственной нейронной сети для задачи распознавания образа.

                          Моя мотивация состояла, прежде всего, в том, чтобы попробовать язык Python. Как известно, лучший способ изучить язык — решить на нём какую-нибудь прикладную задачу. Поэтому параллельно описанию процесса обработки изображения я буду рассказывать о том, какие библиотеки и для чего я использовал.
                          Сломать мозг
                        • Общие советы по составлению оптимальных регулярных выражений

                            Регулярные выражения — неотъемлемая часть любого инструмента обработки данных.
                            Логично, что в различных вариациях поддерживается различный синтаксис и различный функционал.
                            Не смотря на это принципы работы самих регулярных выражений, машины регулярных выражений и базовые установки оптимизации практически едины.
                            Где-то на просторах сети видел совершенно глупое заявление, что “регулярные выражения не приспособлены для решения нерегулярных данных” или нечто похожее. Полнейшая ерунда.
                            Читать дальше →
                          • Стрелки часов

                              Мне всегда нравились стрелочные часы. Я пробовал носить цифровые, так и не смог привыкнуть к часам в трее винды — для моего мозга это означает дополнительное цифро-аналоговое преобразование, поэтому вместо них у меня крутится Analog Clock.
                              Однажды в одной занимательной книжке я прочел условие задачи, в которой говорилось, что если поменять местами минутную и часовую стрелки, то получится абракадабра в большинстве случаев. Но есть такие состояния стрелок, когда их обращение приводит к реальному результату, тривиальное решение в данном случае — это полдень или полночь. А какие еще есть "временные пары" на циферблате? Тут я закрыл задачник и приступил к решению.
                              Читать дальше →
                            • Числовые классы типов в Rust

                                Абстракции Rust отличаются от привычных в ООП. В частности вместо классов (классов объектов) используются классы типов, которые называются «trait» (не следует путать с trait из Scala, где под этим термином прячутся примеси — mixin).
                                Классы типов не уникальны для Rust, они поддержаны в Haskell, Mercury, Go, из можно реализовать слегка извращенным способом на Scala и C++.

                                Я хочу показать, как они реализуются в Rust на примере дуальных чисел и разобрать отдельные нетривиальные (или плохо проработанные) моменты.

                                Интерфейсы числовых типов довольно громоздки, и я буду вставлять здесь только фрагменты кода. Весь код доступен на github (Update: работающая версия доступна на crates.io).
                                Большинство реализованных здесь интерфейсов имеют статус experemental или unstable и скорее всего будут меняться. Я постараюсь поддерживать код и текст актуальными.

                                Rust поддерживает перегрузку операций, но, в отличие от C++, у операций есть метод-синоним с обычным буквенным именем. Так a+b может быть записано a.add(b), а для переопределения операции '+' надо просто реализовать метод add.

                                Что же такое - класс типов?
                              • Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

                                  Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


                                  Дело в том, что перед выполнением программы интерпретатор Python компилирует все её части в специальный байт-код. Используя метод, описанный хабрапользователем SkidanovAlex, данный декоратор анализирует получившийся байт-код функции и пытается оптимизировать применяющийся там алгоритм. Далее вы увидите, что эта оптимизация может ускорять программу не в определённое количество раз, а асимптотически. Так, чем больше будет количество итераций в цикле, тем в большее количество раз ускорится оптимизированная функция по сравнению с исходной.

                                  Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
                                  Читать дальше →
                                • Статистика Github


                                    О публикации кода на Github или другом открытом хостинге часто говорят, как о такой живительной эвтаназии, после которой патчи, фиксы, сообщения о проблемах и прочие коммиты от сторонних разработчиков польются рекой. У меня пока противоположный опыт. В парочку моих относительно заметных проектов вообще никто и ничего реально не привнес, не говоря уж об остальных проектах. Более того, я несколько раз делал очень серьезные изменения/улучшения в чужие проекты, но их авторы морозились и не приняли изменения. Исходя из этого я развил теорию: мол, вся эта открытость и коллаборация — это красивые слова, реально все пилят что-то свое и зарабатывать деньги или пиар кому-то другому совершенно не горят желанием. Чтобы проверить теорию, я посчитал кое-какую статистику по всем репозиториям на Github, у которых больше 700 звездочек, таких чуть больше 4 тысяч.

                                    Ни одной картинки, но много больших таблиц
                                  • Как использовать Томита-парсер в своих проектах. Практический курс

                                    • Tutorial

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

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





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

                                    Читать дальше →
                                    • +69
                                    • 37.9k
                                    • 8