• Как веб изменил экономику новостей во всех медиа

    • Перевод
    Слушая всяких директоров медиа-компаний, занимающихся производством новостей, что они говорят про микроплатежи, Kindle, бюджетное финансирование СМИ, снова про микроплатежи, тайный сговор, запрет Google и тому подобное, что могло бы спасти их бизнес, я прихожу к выводу, что развитие отрасли проходит мимо них уже лет десять. Им и всем интересующимся предлагаю следующие тезисы, чтобы понять, как всё изменилось.
    Читать дальше →
  • Сварка оптических волокон. Часть 2: сварочные аппараты и скалыватели, механическое и сварное сращивание, отмеривание и укладка волокон

    • Tutorial

    Обломанное оптическое волокно под микроскопом

    Здравствуйте, читатели Хабра!

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

    Часть 1 здесь
    Часть 3 здесь

    Осторожно: много текста и трафика!

    Читать дальше →
  • Поиск похожих проектов на GitHub

      Привет, Друзья!

      Гитхаб — прекрасный сайт. Но представьте, что вы нашли проект А, и хотите узнать какие еще существуют похожие проекты. Как быть?

      Именно с таким вдохновением уселся я разбирать API GitHub'a. Спустя пару недель свободного времени вот что получилось:



      Для большинства проектов находится пара действительно интересных предложений. Вот несколько примеров: angular.js, front end bookmarks, three.js

      Основная идея для построения рекомендаций — «Разработчики которые поставили звездочку этому проекту, также поставили звездочку...». А детали идеи, ее недостатки и ссылка на код — ниже.

      читайте под катом
    • Техника для проверки подлинности денег


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

        Рассмотрим подробно, как защищены современные валюты, как происходит проверка подлинности (валидация) и что за аппаратура для этого применяется.
        Читать дальше →
      • Открытие компании в зарубежной юрисдикции для айтишника, фрилансера, разработчика мобильных приложений

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


          После моей статьи про поиск инвестиций, я получил много просьб рассказать подробнее про открытие компании за рубежом, и осветить финансовые вопросы. В данном топике я попытался изложить основные моменты, не претендуя на истину в последней инстанции.
          Читать дальше →
        • Предельная производительность: C#

          performanceЯ поделюсь 30 практиками для достижения максимальной производительности приложений, которые этого требуют. Затем, я расскажу, как применил их для коммерческого продукта и добился небывалых результатов!
          Приложение было написано на C# для платформы Windows, работающее с Microsoft SQL Server. Никаких профайлеров – содержание основывается на понимании работы различных технологий, поэтому многие топики пригодятся для других платформ и языков программирования.
          Читать дальше →
        • WPF, WinForms: рисуем Bitmap c >15000 FPS. Хардкорные трюки ч.1

          Сразу уточнение: Bitmap 200x100 на компе с быстрой памятью и i7 3930K на 1366. Но, это честный System.Drawing.Bitmap.
          Вводная: приложение типа осциллографа. Ссылка на готовый проект с фронтэндом в конце статьи.
          Как же быстро рисовать его на экран? WriteableBitmap хорош, быстр, и он лучшее решение для WP, WinRT, WPF. Но занудного старпёра-кодера также волнует WinForms, .Net 2.0, Win2K (да-да, в некоторых гос.органах до сих пор теплый ламповый Win2K).
          Далее, я обратил внимание на DirectX, тем более у нас для WPF появился полезный контрол D3DImage. Я перепробовал много движков, но ни один из них не давал удобного изящного способа рисовать GDI+ Bitmap из памяти. Некоторые работали и вовсе только с DX10-11. Ближе всех к цели оказался SlimDX. В любом случае, фронтэнд для контрола оказывался некрасивым. Все эти движки… мягко говоря избыточны, для моей простой задачи.
          Но решение есть
        • Использование async и await в C# — лучшие практики

          • Перевод
          • Tutorial

          Ключевые слова async и await, введённые в C# 5.0, значительно упрощают асинхронное программирование. Они также скрывают за собой некоторые сложности, которые, если вы потеряете бдительность, могут добавить проблем в ваш код. Описанные ниже практики пригодятся вам, если вы создаёте асинхронный код для .NET приложений.
          Читать дальше →
        • Восстановление расфокусированных и смазанных изображений. Практика

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

            В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.

            Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



            И вот результат обработки:



            Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

            Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
            Читать дальше →
          • Заблуждения программистов относительно времени

            • Перевод
            За последние пару лет я потратил много времени на дебаггинг чужих тестов. Это была интересная работа, иногда расстраивающая, но всегда поучительная. Кто-то может подумать, что в тестах нет багов, но конечно баги есть везде, и тесты не исключение.

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

            На самом деле, я повидал так много заблуждений, которые оставляют след в чужих (и моих собственных) программах, что посчитал полезным составить список самых частых проблем.
            Читать дальше →