• Основы пространственной и частотной обработки изображений. Лекции от Яндекса

      Мы продолжаем публиковать лекции Натальи Васильевой, старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.



      Всего в программе — девять лекций. Первая из них уже была опубликована. В ней рассказывалось о том, в каких областях встречается анализ изображений, его перспективах, а также о том, как устроено наше с вами зрение. Вторая лекция посвящена основам обработки изображений. Речь пойдет о пространственной и частотной области, преобразовании Фурье, построении гистограмм, фильтре Гаусса. Под катом — слайды, план и дословная расшифровка лекции.
      Читать дальше →
      • +45
      • 48.5k
      • 9
    • Анонс MongoDB 3

      Как-то незаметно прошел анонс новой версии MongoDB. Изменение номера версии с 2 на 3 указывает на значительные изменения внутри базы данных. Разработчики заявляют о значительном увеличении производительности и улучшении маштабируемости. Немного подробнее под катом.
      image
      Читать дальше →
    • Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №148 (16 — 22 февраля 2015)

        Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


        Читать дальше →
        • +34
        • 41.3k
        • 3
      • Первая квантовая телепортация информации на компьютерном чипе

          Физики из Швейцарской высшей технической школы Цюриха (ETH Zurich) впервые в мире осуществили телепортацию квантовых битов информации с одного участка кремниевой микросхемы в другое место на той же микросхеме, на расстояние 6 мм. При этом они ещё и поставили мировой рекорд по количеству телепортированных кубитов: 10 000 в секунду.

          Это принципиально важное достижение для создания квантовых компьютеров на кремниевых чипах.


          Читать дальше →
        • Пост ненависти о российских «онлайн-курсах» и мировых рекордах

            У меня просто нет слов.

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

            Онлайн-курсы Stanford University, Berkley и MIT в доступном виде

            MIT и Гарвард вкладывают 60 миллионов долларов в дистанционное обучение

            John Resig уходит в non-profit KHAN academy

            Да что говорить, великий SICP ( mitpress.mit.edu/sicp/full-text/book/book.html ) уже давно доступен как в текстовом так и в видео варианте.

            А что же у нас?
            Читать дальше →
          • Ядерная энергетика — кратки над Й

              Судя по комментариям к посту о небесной воде, среди читателей есть некое недопонимание вопросов ядерной энергетики. Я хочу внести некую ясность в этот вопрос. Многим то, что я напишу, покажется элементарщиной, но, к сожалению, не всем.
              Читать дальше →
            • Настройка обмена данными между WebAsyst и 1С УТ 11

              imageРешил написать небольшой мануал по подключению 1С Управление торговлей версии 11.х (далее УТ) к скрипту интернет-магазина WebAsyst стандартными средствами, так как наблюдается явное отсутствие информации.

              На оф. сайте есть подробное описание подключения для УТ версии 10.х, но оно кардинально отличается от настройки для новой версии, так как сама 1С УТ имеет значительные изменения. Обязательно прочитайте раздел Настройка Shop-Script и сделайте у себя на сайте все, что там рекомендуют сделать, иначе могут возникнуть ошибки во время синхронизации. Данный мануал актуален для тех, кто только начинает настройку магазина и УТ, грубо говоря, вы только открываете свой бизнес в интернете, хотя вполне может пригодиться всем кто подключает уже работающий сайт к УТ.

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

                Команда MIT Media Lab создала камеру со скоростью затвора в одну триллионую (1/1 000 000 000 000 = 10^-12) секунды, что позволило снимать как свет путешествует из одной точки в другую. В лабораторных условиях камера была опробована на стенде с высокочастотным лазером, который пропускал импульсы света через бутылку c газированной водой. В будущем подобные агрегаты планируют использовать в медицине и других отраслях науки

              • Самая сложная игра всех времён


                  Robot Odyssey

                  Нью-йоркский программист Дэвид Ауэрбах (David Auerbach) вспоминает компьютерную игру, для прохождения которой ему понадобилось 13 лет и которая определила его будущее как программиста.
                  Читать дальше →
                • Вычисление дня недели в уме

                  • Tutorial
                  imageСуществует множество способов прокачать мозг. Задачи «n-back» или мобильные приложения для тренировки навыка быстрого счета в уме. Но эти задачи оторваны от текущей реальности, а хотелось бы прокачать мозг практичным навыком.

                  Зачем? Ведь можно быстро посчитать на гаджете. Увы, совсем не быстро, т.к. потребуется время на поиски и активацию гаджета, поиск приложения, ввод даты, осознание полученного результата. А еще можно друзей/подруг порадовать своими внезапно появившимися экстраординарными способностями. Кстати, друзья быстро осознают удобство использования вечного календаря с голосовым интерфейсом.

                  Разве это возможно? Как-то раньше обходились без компьютеров. В одной из тв-передач «ищем таланты» показывали натренированного трехлетнего ребенка, который может вычислять произведение трехзначных чисел (пощадите своих детей). Впрочем, взрослые уже не дети и их мозг частично кристаллизован, в смысле слабо обучаем. Значит нужно запоминать как можно меньше и максимально задействовать имеющиеся навыки.
                  Как считать
                • Алгоритмы о выборе дороги и сетях. Сети Штейнера. Лекция Владимира Протасова в Яндексе

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

                    Впервые она появилась, когда еще никаких практических надобностей для больших сетей не было: в тридцатые годы XX века. На самом деле Штейнер начал ее изучать еще раньше, в XIX веке. Это была чисто геометрическая задача, практические приложения которой стали известны только несколько десятилетий спустя.

                    Разговор пойдет о той области математики, которая впоследствии выросла в теорию больших сетей и разбилась на несколько областей. Это прикладная отрасль, которая задействует очень много методов из других математических дисциплин: дискретной математики, теории графов, функционального анализа, теории чисел и т.д. Бурное развитие теории больших сетей пришлось на конец девяностых и начало двухтысячных годов. Связано это конечно, с прикладными задачами: развитием интернета, мобильной связи, транспортных задач для больших городов. Кроме того теория сетей используется в биологии (нейронные сети), при построении больших электронных плат и т.п.



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

                    Начать рассказ стоит с истории о том, как на Малом мехмате двум группам учеников – восьмиклассникам и одиннадцатиклассникам дали решать одну и ту же задачу. Четыре деревни расположены в вершинах квадрата со стороной четыре километра. Существует ли система дорог, которая связывала бы все эти деревни между собой и имела бы суммарную длину не превосходящую 11 километров.
                    Конспект лекции
                    • +58
                    • 29.8k
                    • 5
                  • Monkeyrunner. Pixel-perfect тестирование web-страниц на Android

                      С тех пор как Гугл выпустил в свет инструмент для автоматизации тестирования monkeyrunner прошло немало времени, а улучшений в нем не видно. Тем не менее, для задачи регулярной проверки веб-страниц на корректность верстки лучшего инструмента не нашлось. Те, кому просто нужен готовый скрипт для сравнения скриншотов страниц на андроиде с поддержкой прокрутки, могут сразу скачать его по ссылке. Под катом же будет рассказано, какие проблемы таит манкейраннер, и как их преодолевать.
                      Читать дальше →
                    • Компиляция Try/Catch/Finally для JVM

                      • Translation

                      Вместо введения


                      Автор статьи, Alan Keefer1, является главным архитектором компании Guidewire Software2, разрабатывающей программное обеспечение для страхового бизнеса. Еще будучи старшим разработчиком, он участвовал в работе над языком Gosu3. В частности, Алан занимался вопросами компиляции языка в байт-код Java.

                      Данная статья написана в 2009 году и посвящена деталям реализации try/catch/finally в JVM версии 1.6. Для ее прочтения необходимо иметь базовые знания синтаксиса Java, а также понимать назначение байт-кода, простыни которого лежат под катом. Также в конце статьи приведен ряд примеров, похожих на каверзные задачи SCJP.

                      Внутренности JVM


                      Одной из вещей, над которой по целому ряду причин мы сейчас работаем, является компиляция нашего «домашнего» языка в байт-код Java. (Для справки: не могу сказать, когда мы закончим. Даже примерно. Даже попадет ли он в будущие релизы.) Веселье заключается в изучении внутренностей JVM, а также поиске всех долбанутых острых углов собственного языка. Но больше всего «веселья» и острых углов доставляют такие операторы, как try/catch/finally. Поэтому, на этот раз, я не буду вдаваться в философию или аджайл. Вместо этого я углублюсь в JVM, куда большинству не требуется (или не хочется) углубляться.

                      Если бы две недели назад вы спросили меня о finally-блоках, я бы предположил, что их обработка реализована в JVM: это базовая часть языка, она должна быть встроенной, не так ли? Каково же было мое удивление, когда я узнал: нет, не так. На самом деле finally-блоки просто подставляются во все возможны места после try- или связанных с ним catch-блоков. Эти блоки оборачиваются в «catch(Throwable)», который повторно выбросит исключение после того, как finally-блок закончит работу. Осталось только подкрутить таблицу исключений, чтобы подставленные finally-блоки были пропущены. Ну как? (Небольшой нюанс: до версии JVM 1.6 для оператора finally, по всей видимости, использовались подпограммы вместо полной подстановки. Но сейчас мы говорим о версии 1.6, к которой все вышесказанное применимо.)
                      Читать дальше →
                    • Интерфейсный дайджест, декабрь 2013-январь 2014

                        Уже три года я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-ноябрь 2013.

                        Обзор свежих материалов, октябрь-ноябрь 2013

                        Читать дальше →
                        • +38
                        • 15.8k
                        • 2
                      • jQuery Events изнутри

                          Статья написана в рамках конкурса среди студентов Технопарка Mail.ru.
                          image

                          Думаю, JavaSript-библиотека jQuery в представлении не нуждается, но на всякий случай напомню, что jQuery призвана ускорить разработку, предоставить синтаксический “сахар” для нативного js и избавить разработчиков от проблем, связанных с кроссплатформенностью.
                          Прежде чем говорить о том, как устроена обработка событий в jQuery, нельзя не упомянуть об истории обработки событий в браузере.
                          Читать дальше →
                          • +60
                          • 52.2k
                          • 2
                        • Обзор Ross&Moor RM-997: планшет c Huawei UltraStick

                            Недавно компания Huawei представила технологию Huawei Ultrastick, которая позволит оснастить, большую часть планшетов на китайском рынке, поддержкой 3G.
                            image
                            Многие компании взялись за производство устройств с поддержкой технологии Ultra Stick, но на российском рынке официально пока представлена единственная модель от компании Ross&Moor.
                            Подробный обзор планшета Ross&Moor RM-997 — под катом.
                            Читать дальше →
                          • Как собрать свою JDK, без блекджека и автоматической сборки мусора

                            • Tutorial
                            На недавно прошедшей Java One Руслан cheremin рассказывал о том, что разработчики Disruptor используют JVM без сборщика мусора. У них на то были свои причины, которые не имеют к этому топику никакого отношения.

                            Я же давно хотел поковыряться в исходниках виртуальной машины, и выпиливание из неё GC – отличное начало. Под катом я расскажу вам, как собрать OpenJDK, выпилить из неё сборщик мусора и снова собрать. Ближе к концу даже будет дан ответ на наверняка пришедший вам в голову вопрос «зачем».

                            Читать дальше →
                          • А как же всё-таки работает многопоточность? Часть I: синхронизация

                            • Tutorial
                            картинка для привлечения внимания(пост из серии «я склонировал себе исходники hotspot, давайте посмотрим на них вместе»)
                            Все, кто сталкивается с многопоточными проблемами (будь то производительность или непонятные гейзенбаги), неизбежно сталкиваются в процессе их решения с терминами вроде «inflation», «contention», «membar», «biased locking», «thread parking» и тому подобным. А вот все ли действительно знают, что за этими терминами скрывается? К сожалению, как показывает практика, не все.

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

                            Перед прочтением глубокого описания полезно убедиться в том, что вы в достаточной мере разбираетесь в Java Memory Model. Изучить её можно, например, по слайдам Сергея Walrus Куксенко или по моему раннему топику. Также отличным материалом является вот эта презентация, начиная со слайда #38.
                            Читать дальше. Много.
                          • А как же всё-таки работает многопоточность? Часть II: memory ordering

                              картинка для привлечения внимания

                              Знание об управлении потоками, которое мы получили в прошлом топике, конечно, велико, но вопросов остаётся всё равно много. Например: «Как работает happens-before?», «Правда ли, что volatile — это сброс кешей?», «Зачем вообще было городить какую-то модель памяти? Нормально же всё было, что началось-то такое?»

                              Как и прошлая статья, эта построена по принципу «сначала кратко опишем, что должно происходить в теории, а потом отправимся в исходники и посмотрим, как это происходит там». Таким образом, первая часть во многом применима не только к Java, а потому и разработчики под другие платформы могут найти для себя что-то полезное.
                              Go Deeper