• Патологическая наука

      В темной-темной комнате сидят двое ученых. Один крутит черный-черный потенциометр, второй внимательно смотрит в темную-темную катодную трубку. Страшно? На самом деле – да. Потому что происходящее – это самая настоящая



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

      Но гораздо более коварным по сравнению со лженаукой является случай, когда профессионал в области науки по каким-то причинам одурачивает сам себя. То ли гоняясь за сенсационным открытием, то ли окрыленный результатами и не желающий сдаваться, ученый становится невидимым вредоносным элементом внутри научного сообщества. Он гордится своими результатами, он публикует их, он вызывает дискуссии. И даже находит сторонников своему открытию, которого на самом деле нет. Феномену, который он выдумал незаметно для себя, в самом процессе своих исследований, даже не имея умысла на подлог.
      Читать дальше →
    • 8 JavaScript библиотек для визуализации данных в виде интерактивных карт

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

      Данная статья дает общее, но вовлеченное представление о восьми самых интересных, на мой взгляд, JavaScript-библиотеках для построения интерактивных геовизуализаций. В целом, таких решений сейчас много, и выбрать оптимальное под тот или иной конкретный проект – задача порой непростая как минимум по времени. Этой публикацией я попытаюсь хотя бы немного упростить жизнь тем, кто только начинает разбираться в данной теме. Кстати, это слегка модифицированный перевод моей недавней статьи на Onextrapixel (оригинал на английском).

      Заглавная картинка: визуализация данных с помощью интерактивных карт
      Читать дальше →
    • WebSocket: Реализация web-приложения с использованием Jetty Web Socket. Часть 1

      Добрый день, Хабражитель!

      Поздравляю всех и каждого с великим Днем Программиста! Желаю рабочего кода, уверенных сокетов и самых продвинутых пользователей!

      Работая над автоматизацией концертного агентства, мне на каком-то этапе разработки понадобилась система уведомлений. Доступ к автоматизации происходит через написанное мною web-приложение. И, соответственно, моментальные уведомления должны приходить в браузер пользователя.

      Для реализации такой задачи есть три решения:
      • «бесконечный iframe»,
      • используя XMLHttpRequest (a.k.a. Ajax),
      • используя WebSocket.

      Первое решение я сразу «отметаю» (причины объяснять не буду, web-разработчики меня поймут).

      Второе решение нравится гораздо больше, но у него есть свои минусы:
      • браузер отправляет запрос каждую секунду создавая лишнюю нагрузку на:
        • сервер;
        • ОС, на которой работает браузер;
        • и еще раз на сервер, так как сервер постоянно выполняет запрос БД на выборку последних уведомлений.
      • тяжело отследить онлайн-статус пользователя (то есть нужно, например, хранить сессии в БД и постоянно мониторить каждую на timeout).

      Третье решение — как раз то, что доктор прописал.

      Итак, WebSocket.
      Читать дальше →
    • RabbitMQ tutorial 1 — Hello World



      RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.

      Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
      Читать дальше →
    • Программирование&Музыка: понимаем и пишем VSTi синтезатор на C# WPF. Часть 1

      Занимаясь музыкальным творчеством, я часто делаю аранжировки и записи на компьютере — используя кучу всяких VST плагинов и инструментов. Стыдно признаться — я никогда не понимал, как "накручивают" звуки в синтезаторах. Программирование позволило мне написать свой синтезатор, "пропустить через себя" процесс создания звука.


      Я планирую несколько статей, в которых будет пошагово рассказано, как написать свой VST плагин/инструмент: программирование осциллятора, частотного фильтра, различных эффектов и модуляции параметров. Упор будет сделан на практику, объяснение программисту простым языком, как же все это работает. Теорию (суровые выводы и доказательства) обойдем стороной (естественно, будут ссылки на статьи и книги).


      Обычно плагины пишутся на C++ (кроссплатформенность, возможность эффективно реализовать алгоритмы), но я решил выбрать более подходящий для меня язык — C#; сфокусироваться на изучении самого синтезатора, алгоритмов, а не технических деталей программирования. Для создания красивого интерфейса я использовал WPF. Возможность использования архитектуры .NET дала возможность библиотека-обертка VST. NET.


      Ниже представлен обзорный ролик моего простого синтезатора, полученных интересных звучаний.



      Предстоит нелегкий путь, если вы готовы — добро пожаловать под кат.


      Читать дальше →
    • Алан Кей: Будущее «чтения» зависит от будущего «обучения сложным для понимания вещей»

      • Translation
      «A change in perspective is worth 80 IQ points»
      — Alan Kay

      Алан Кей — крутой мужик, мы его на Хабре поздравляли с днюхой.

      Напомню заслуги Алана.

      • Работал в легендарном Xerox PARC, Atari, Apple, Disney, HP.
      • Предложил концепцию Dynabook (в 1968 году), которая определила концептуальную базу для ноутбука, планшетного компьютера и электронной книги.
      • Один из «отцов-основателей» объектно-ориентированного программирования (SmallTalk, 1969).
      • Участвовал в создании первого персонального компьютера Xerox Alto (1973).
      • Инициатор полезной движухи «Каждому ребенку по ноутбуку».
      • в 2001 году, он основал исследовательский Институт Viewpoints, некоммерческую организацию посвящённую детям, обучению и передовым разработкам программного обеспечения.
      • В 2006 бросил дерзкий вызов индустрии — заявил о возможности создания операционной системы с графическим интерфейсом из 20.000 строчек кода.
      • В 2016 присоединился к Y Combinator.

      Решили мы перевести его самую концептуальную статью и тут бац, оказывается, что в оригинальной статье нет куска текста. Написали мы в Viewpoints Research Institute, мол, опечатка у вас. Ответила нам Kim Rose, все объяснила, исправила и благославила.

      За перевод спасибо Яне Щекотовой, за поддержку публикации — компанию Edison (которая специализируется на автоматизации асфальтных заводов и разработке платежных систем и терминалов).
      Читать дальше →
      • +36
      • 15.1k
      • 5
    • Нано-эппл, или как стать производителем электроники

      Итак, вы решили сделать что-то вот эдакое! Новый MP3-плеер, пульт управления для телевизора, да хоть датчик температуры. В моем случае это был пульт управления фотоаппаратами, и идея пришла в час ночи, когда я ради развлечения фотографировал стройку при свете луны. Началось это все в сравнительно небольшом сибирском городе… а сейчас у нас производство в Техасе и дистрибьюторы по всему миру. Вспоминая этот веселый путь, хотелось бы описать как удачные находки, так и ошибки, допущенные в процессе подготовки к производству.
      Читать дальше →
    • IBM пытается запатентовать патентный троллинг

        Удивительный патент пытается получить компания IBM (которая, к слову, уже много лет является мировым лидером по количеству присуждаемых патентов). Патентная заявка № 20070244837 описывает «систему и методы извлечения выгоды из портфолио активов, например, портфолио патентов». Система заключается в том, что владелец набора патентов имеет право отдавать некоторые из своих патентов во «временную аренду» фирме-партнёру, которая будет извлекать из них прибыль различными способами. Например, выбивая штрафы и лицензионные отчисления у тех компаний, которые нарушают данные патенты. В общем, фирма-партнёр может заниматься типичным патентным троллингом. И IBM пытается это запатентовать.

        Страшно представить, что может случиться, если этот патент действительно выдадут. Одни патентные тролли начнут судить других патентных троллей за нарушение патента на патентный троллинг? Это уже Армагеддон какой-то.
        Читать дальше →
      • Кто убил пролог?

        • Translation
        Существуют тысячи языков программирования (строго говоря, так утверждают люди, которые их считают). Классификация такого количеств их разновидностей весьма сложна и служит источником споров. Тем не менее, классификация запутанна и зачастую противоречит сама себе. Предлагаю ограничиться четырьмя ветвями на верхнем уровне. Я привязал каждую ветвь к языку, который был первым в своем семействе в хронологическом порядке:
        • императивные (1956, Фортран);
        • функциональные (1959, Лисп);
        • объектно-ориентированные (1972, SmallTalk);
        • логические (1974, Пролог).

        В своих рассуждениях я буду отталкиваться от факта, что три семейства из четырех чувствуют себя неплохо, в том смысле, что у них есть множество преемников. По отношению к этим трем Пролог чрезвычайно отстал. Но в начале 1980-ых было по-другому. Тогда Пролог соревновался с Лисп за умы тех, кто занимался не-IBM программированием (назовем это так, чтобы избежать неоднозначного термина ИИ).
        Читать дальше →
      • Мой опыт восстановления зрения

        • Tutorial
           Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

        image

           Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
        Читать дальше →
      • Строение двигателей

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

          А можете ли Вы сходу объяснить Вашей девушке, в чем отличие бензинового двигателя от дизельного? Четырёхтактного и двухтактного движков? Нет? Тогда приглашаю под кат.

          Читать дальше →
        • Мой опыт реанимации жесткого диска

            Наверное, рано или поздно это случается с каждым — однажды и у меня слетел usb-жесткий диск.
            Куда-то сильно торопился и просто выдернул шнурок из гнезда USB в ноутбуке (как это часто бывает).
            Прихожу на работу, подключаю HDD, а он пустой…
            image
            Что делать!? Что делал я — читаем далее.
            Читать дальше →
          • Р. Фейнман «Характер физических законов» (четвертая лекция)

              image
              Перевод четвертой лекции из курса «Характер физических законов», самого яркого ученого двадцатого века Ричарда Фейнмана.
              Лекция называется «Симметрия физических законов».
              Курс не требует специальных знаний по физике и начинать смотреть можно с любой лекции. А эта лекция наверное самая интересная во всем курсе.
              Вообще сегодня будет две лекции: одна видео лекция Фейнмана, другая небольшая заметка профессора университета Радбоуда (Голландия) Михаила Кацнельсона, поясняющая кое-какой принцип, о котором Фейнман умолчал.
              Читать дальше →
            • SICP теперь по-русски! Часть третья

                image
                Перевод третьей лекции из курса «Структура интерпретация компьютерных программ».

                Это самый известный курс по программированию за последние 25 лет; с 1980г читается в MIT, а с недавних пор что-то подобное читается и в Беркли.

                Курс сменил преподавателей и даже язык программирования Scheme на Python(на мой взгляд совершенно зря) и тем не менее информация, которая дается в этом курсе остается архи актуальной в любое время. Я бы сравнил этот курс с чем-то очень фундаментальным и важным для программистов, типа математики или теории алгоритмов.

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

                Приятного просмотра!
                Читать дальше →
              • Мировые шедевры классической музыки без копирайта

                  Несмотря на то, что такие признанные классики, как Бетховен, Чайковский, Брамс, Сибелиус жили уже очень и очень давно и их произведения давно не попадают под законы о копирайте, найти их великолепную музыку, распространяемую свободно, практически невозможно. То есть если вы захотите использовать 9 симфонию Бетховена в качестве саундтрека, воспроизвести отрывки из симфоний Чайковского на каком-нибудь мероприятии, вам таки придётся заплатить деньги правообладателям записей, которые вы будете использовать.

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

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

                  Уже собрано более 41 000 долларов, хотя изначально организаторы рассчитывали только на 11 тысяч.

                  Пожертвовать немного денег, а так же ознакомиться с акцией можно на официальной странице. Сбор средств закончится 15 сентября в 6 часов утра по московскому времени, то есть осталось чуть более дня и желающим помочь нужно поспешить.
                • Вышел Piwik 1.0 — свободная альтернатива Google Analytics

                    Хорошая новость для вебмастеров и владельцев сайтов. Наконец-то вышел релиз аналитики Piwik с многообещающей версией 1.0

                    Для тех, кто впервые услышал это название, стоит указать на основные фишки библиотеки:

                    • Полная и абсолютная бесплатность без подвохов
                    • Доступность всех исходных кодов по лицензии GPL
                    • Расширяемая за счет плагинов архитектура
                    • Обновление статистики в режиме реального времени
                    • Данные аналитики доступны только Вам и никому более (Гугл немножко нервничает)


                    О растущей популярности Piwik достаточно говорит этот график Google Trends:



                    Для работы Piwik на сервере должны крутиться PHP и MySQL — вряд ли это требование сейчас для кого-то представляет проблему.

                    На мой взгляд, существует три основных мотива для применения Piwik в своем проекте:

                    • Вы не желаете делиться данными о посещаемости сайта с Google, LiveInternet и прочими доступными счетчиками
                    • Вам нужны расширенные или особые отчеты, которые практически невозможно получить стандартными средствами
                    • Вам действительно нужна оперативная отчетность, а не данные, запоздавшие на пару-тройку часов


                    Если это так, welcome to the club!
                  • Асинхронный web-mining c помощью node.js

                      Хотелось бы поделится опытом решения задачи web-mining'а: сбор некоторой информации с определенного списка ресурсов. Сразу хотелось бы отметить, что это не является попыткой создать свой «поисковик» — для этого используются совершенно другие подходы. Цель web-mining’а – вытащить часть информации. Например, если ресурс поддерживает микроформаты в виде «визиток» и т.п.

                      Читать дальше →
                    • Регистрируем торговую марку в США

                      • Tutorial

                      Вопрос этот, прямо скажем, волнует не каждого. Но если вы планируете серьёзно выходить на рынок США, то этот вопрос обязательно возникнет. Минусов или проблем от регистрации торговой марки нет, но это стоит некоторых денег. Зато после регистрации, можно будет писать на сайте и в рекламной продукции — МояМарка ®. Это добавит вашему продукту/услуге некоторой солидности.
                      Ранее на хабре был топик по патентам. Я же раскажу о регистрации торговой марки, как всегда на своём опыте.
                      Читать дальше →