• Самые короткие научные статьи

      Математика


      В 2005 году ученые Джон Конуэй (John Conway) и Александр Сойфер (Alexander Soifer) решили написать «самую короткую научную статью по математике в мире». Непосредственно тело статьи состоит из двух слов (и двух иллюстраций — в них содержится ответ на вопрос, поставленный в заглавии).

      image

      Читать дальше →
    • Точечный обход блокировок PKH на роутере с OpenWrt с помощью WireGuard и DNSCrypt

      Чем отличается от подобных материалов?


      • Реализация на чистом OpenWrt
      • Использование WireGuard
      • Конфигурация роутера организуется с помощью конфигов OpenWrt, а не кучей в одном скрипте
      • Предусмотрены ситуации при рестарте сети и перезагрузке
      • Потребляет мало ресурсов роутера: заблокированные подсети содержатся в iptables, а не в таблицах маршрутизации. Что позволяет развернуть это дело даже на слабых устройствах
      • Автоматизация конфигурации с помощью Ansible (не требуется python на роутере)
      Читать дальше →
    • Распознавание номеров. Практическое пособие. Часть 1

        Пример распознавания номерных знаков

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

        И в один прекрасный день МВД Украины открыло доступ к реестру транспортных средств. Теперь по номерному знаку стало возможным проверять некоторую информацию про автомобиль (марку, модель, год выпуска, цвет и т.д. )! Скучная рутина линейного программирования померкла перед новой свехзадачей — считывать номера по всей базе фото и валидировать эти данные с теми, что указывал пользователь. Сами знаете как это бывает «глаза загорелись» — вызов принят, все остальные задачи на время стали скучны и монотонны… Мы принялись за работу и получили неплохие результаты, чем, собственно и решили поделиться с сообществом.
        Для справки: на сайт AUTO.RIA.com, в день добавляется около 100 000 фото.
        Датасаентисты давно уже знают и умеют решать подобные задачи, поэтому мы с dimabendera написали эту статью именно для программистов. Если вы не боитесь словосочетания «сверточные сети» и умеете писать «Hello World» на питоне — милости просим под кат…
        Читать дальше →
      • Исчезающие фреймворки

        • Translation
        Этот пятничный пост посвящен переводу интересной статьи, вышедшей вчера на Medium. Решил осваивать для себя новый жанр переводов, поэтому прошу сильно не пинать, если где-то что-то не так. А по возможности даже уведомлять об ошибках и опечатках в личку.

        Спасибо и хорошего прочтения!

        Читать дальше →
      • «20 тысяч IOPS на узел — хорошие показатели с учётом задержек в 5 мс». Для OLTP — нет

          КДПВ


          Поводом написать эту статью стал весьма достойный обзор Как мы тестировали VMware vSAN... компании КРОК. Обзор-то достойный, но в нем есть фраза, с которой я борюсь уже больше десятка лет. Админы СХД, виртуализаторы и интеграторы раз за разом повторяют: "Задержки в 5 мс — это отличный показатель". Даже цифра в 5 мс десять лет не меняется. Я это слышал вживую от весьма уважаемых админов уже не меньше десятка раз. От менее уважаемых — десятки, а уж сколько раз читал в интернете… Нет, нет, нет. Для OLTP нагрузок 5 мс, особенно так, как их обычно измеряют — это epic fail. Мне приходилось объяснять причины этого уже много раз, на этот раз я решил собрать свои мысли в переиспользуемую форму.


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

          Читать дальше →
        • Новый лидер в price-performance среди СХД?

            Если вы интересуетесь системами хранения данных, то сайт Storage Performance Council (SPC) вам наверняка знаком. Многие производители, в соответствии с принятыми методиками, проводят тесты своих систем и публикуют их результаты. Конечно, как в любых других синтетических тестах, можно критиковать и методику, и точность опубликованных ценовых характеристик, но на текущий момент это, пожалуй, наиболее объективный открытый источник данных о производительности СХД.

            Недавно опубликованные результаты тестов системы DataCore SANsymphony-V 10 демонстрируют серьезный прорыв программно-определяемых СХД (Software Defined Storage).

            Речь идет даже не об абсолютных значениях интегральной производительности — протестированная система оказалась позади первой десятки победителей с результатом порядка 450тыс IOPs, хотя и это далеко не самый плохой результат. Прорыв случился в таком важном показателе, как стоимость одной операции ввода-вывода ($/IOPs) — производитель сумел достичь величины в 0.08$/IOPs (8 центов(!) за IOPs). Это действительно великолепный результат, учитывая, что ближайший конкурент (Infortrend EonStor DS 3024B) демонстрирует результат в 3 раза худший — только 0.24$/IOPs. Для большинства же классических систем хранения, результат оказывается еще в несколько раз больше.

            Кроме того, при 100% нагрузке время отклика составило 0.32мс, что тоже является замечательным показателем — для многих All Flash СХД вполне приемлемым считается результат меньше 1мс.

            Низкая стоимость IOPs достигнута, разумеется, за счет того, что система имеет весьма демократичную цену — весь комплект из железа и лицензий стоит 38400$ (с учетом не очень большого дисконта). Детально стоимость решения расписна в самом отчете и любой желающий может с ней ознакомиться.

            Что же, пришла пора новых технологий и уже нужно выводить из обслуживания все старые СХД, заменяя их на SDS?

            Да, на первый взгляд, получить схожий результат конкурентам будет очень сложно (если вообще возможно в рамках имеющихся технологий). Дело в том, что SANsymphony-V это программное решение, которое работает внутри сервера и, как следствие, ему не требуется никакая коммутация (FC/Ethernet) со всеми связанными задержками. Кроме того, в версии 10 реализована технология многопоточного параллельного доступа (parallel I/O) к данным и здесь современные многоядерные процессоры дают заметное преимущество. (Почему многопоточный доступ становится актуальным можно прочитать здесь)

            Но давайте более внимательно посмотрим на конфигурацию системы, которая участвовала в тестах. Это всего один сервер Lenovo x3650M5 с двумя процессорами Intel Xeon E5-2695v3 и 544GB оперативной памяти (из которой чуть меньше 409GB было выделено для работы SANsymphony-V). Для размещения данных использовались 16 SSD и 8 HDD общим объемом 10TB. Реальный полезный объем составил 2.9ТБ (29% от общей “сырой” емкости).
            image
            Читать дальше →
          • Ненадёжный Ethernet

              В продолжение предыдущей статьи "Ethernet & FC", хотел бы дать конкретные рекомендации по оптимизации Ethernet сети для работы с СХД NetApp FAS. Хотя, полагаю, многие вещи описанные здесь могут быть полезны и для других решений.

              Читать дальше →
            • «Галоп пикселя — часть третья» — Анимация

              • Tutorial


              «Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
              «Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
              «Галоп пикселя», часть III — Анимация (линк)
              «Галоп пикселя», часть IV — Анимация света и тени (линк)
              «Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)

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

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

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

              Лопаты в руки.


              Лопатить пиксели
            • Как я покупал на Amazon на сумму больше чем €200

                В ноябре прошлого года, в черную пятницу сделал заказ на амазоне, купил модную bluetooth колонку Jambox, собственно из-за хорошей скидки. Как новогодний подарок. Плюс себе немного апгрейда для ноута — пару плашек памяти, HDD и SSD. Вышло заметно больше чем €200, я тогда не знал что это важная цифра, а у меня было примерно €400 и был уверен что до €1000 проблем быть не может.

                Кстати на сайте UPS четко указано что они не доставляют посылки на сумму более €200, кроме Москвы, Санкт-Петербурга, Краснодара, Владивостока, Ставрополя, Новороссийска и Нижнего Новгорода. См www.ups.com/content/ru/ru/resources/ship/customs/import_ship.html У меня Омск, сюда они вообще не должны доставлять по идее. Но в случае Амазона у них похоже выбора нет, им пришлось.

                Я не буду рассказывать всю историю подробно, это слишком долго читать, правда. Лишь опишу тезисно основные моменты. Да и история, к слову, все еще не закончена.
                Читать дальше →
              • Сервис поиска русскоязычных книг для Kindle

                  Kindle
                  После того как у меня появился Kindle 3 стала проблема наполнения его книгами на всем нам понятном русском языке. Сама книжка поддерживает кириллицу с коробки, но вот русской раскладки в ней не предусмотрено. Отличная возможность пользоваться встроенным в книгу браузером частично страдает из-за отсутствия русской раскладки.

                  Конечно, возможно использовать хаки прошивки для локализации устройства, но это не всегда удобно, так как при обновлении прошивки эти хаки придется откатывать назад, вдобавок мы можем потерять гарантию. Подключать же постоянно через USB книгу проводом тоже не удобно, ведь зачем же в конце концов в ней WiFi и 3G? Выходом из сложившейся ситуации может стать русифицированная экранная клавиатура.

                  За один вечер была найдена подходящая экранная клавиатура написанная на JavaScript и оптимизирована под экран Kindle. Зарегистрировано доменное имя kin3lib.ru для нашего проекта. Сервис перебрасывает поисковый запрос набранный на виртуальной клавиатуре в библиотеку Флибуста, где можно спокойно закачать затем книгу в ее родной mobi формат. В дальнейшем можно реализовать выбор библиотек на которых производить поиск, но, к сожалению, я нашел только одну, которая позволяет скачивать книги в формате mobi. Если кто знает еще такие библиотеки пишите мне.

                  Мне будет приятно выслушать мнения хабравчан о таком сервисе, а также кто и каким образом решает данную проблему.
                • Ratchet 2.0 — самый красивый HTML5-фреймворк теперь дружит и с iOS, и с Android



                    Ratchet — так называется HTML5-фреймворк для быстрого прототипирования мобильных приложений, который 1,5 года назад создали те же парни, которые когда-то выпустили Bootstrap.

                    Инструмент позволяет быстро создать красивый интерфейс мобильного приложения — и дает вам красивые стили и замечательные иконки, согласованные с гайдлайном в зависимости от платформы. Можно сделать прототип, а можно завернуть в PhoneGap и без особых усилий получить сравнимый с нативным интерфейс приложения в продакшене.
                    Фреймворк очень прост в использовании и прекрасно документирован.

                    Я являюсь поклонником Ratchet с момента выхода первой версии. Тогда он был доступен только под iOS.
                    Не так давно вышла вторая версия, которая наряду с iOS поддерживает Android. Ура-ура!
                    (правда, обратной совместимости с первой версией нет)

                    Кому интересно про новые возможности Ratchet 2.0 — прошу под кат!
                    Читать дальше →
                  • Netapp — реальность против маркетинга

                    Доброго дня

                    image
                    Так уж получилось, что я занимаюсь системами хранения данных последние 5 лет, 4 года из которых я посвятил системам среднего уровня компании EMC, чему и был в общем-то рад. О EMC я, возможно, посвящу отдельный пост, а данный будет посвящен системам хранения NetApp, с которыми приходится иметь дело последний год в довольно сложных конфигурациях. Взгляд со стороны покупателя, пользователя, администратора, без особых технических подробностей и красивых картинок.

                    Кому интересно — добро пожаловать под кат.
                    Читать дальше →
                  • Создаем быстрый прототип мобильного приложения

                      На хабре уже присутствует некоторое количество статей, посвященных процессу прототипирования в разработке программного обеспечения. Есть достаточно фундаментальные статьи с обзорами стандартов и расчетами, есть статьи про прототипирование устройств, есть цикл из двух статей про процесс выбора инструмента для прототипирования. К сожалению, процесс создания прототипов мобильных приложений освещен очень скудно – в виде единственной статьи в 2010 году, и пара слов в статье Разработка мобильных приложений: с чего начать.

                      Хотелось бы исправить эту ситуацию, и предложить вашему вниманию большой обзор доступных инструментов для прототипирования мобильных приложений.
                      Читать дальше →
                    • На заметку поступающим в американские колледжи

                      Добрый день.

                      Мне 25, я закончила Факультет Прикладной Математики в Минске, сейчас живу в Америке (Калифорния). В 2010 моя двоюродная сестра при мне готовила документы на бакалавриат (она поступила в Stanford на Management, Science & Engineering), и в этом году я сама уже подавала документы на мастер программу (поступила в Carnegie Mellon на MS in Software Engineering). После длительной подготовки и километров потраченных нервов, загадочная система поступления стала мне чуть более понятна. Спешу поделиться некоторыми моментами, которые были для меня в новость.
                      Читать дальше →
                    • Почему MineCraft стоит использовать в образовании

                      Прочитал статью, что в Швеции ввели уроки Minecraft’а и подумал, а в этом, что-то есть! Эта игра выделяется на фоне других своей обучающей способностью.
                      Решил написать статью почему Minecraft стоит использовать как обучающую платформу для детей, с примером того чем он был полезен мне, что он заставил меня выучить и попробую аргументировать, почему стоит показать ребёнку эту игру, а лучше вместе с ним начать играть на одном сервере. Заодно и опишу особенности игры для тех кто знает о Minecraft, «только что там всё квадратное».
                      image
                      Читать дальше →
                    • Популярно о генеалогии 3D-принтеров. Кто есть кто?

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

                        Читать дальше →
                      • Документирование по ГОСТ 34* — это просто

                          Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
                          Читать дальше →
                        • Интернет термометр на TP-Link MR3020

                            Исторически так сложилось, что моей «родной» операционной системой есть Windows. В предыдущей статье Интернет термометр или телеметрия загородного дома я пытался показать «чем мы не кони», «мы тоже можем» или «обезьяну тоже можно научить» причем легко. Но настал час «Х» — переезд на linux. Этот переезд ассоциируется у меня с вынужденной миграцией — ледниковым периодом.
                            image
                            Читать дальше →
                          • Новое для веб-дизайнера за первую половину декабря

                              Новые полезные штуки для веб-дизайнеров за первую половину декабря 2012. Прошлый месяц: ноябрь. Во все подобные топики буду добавлять тег "новое для веб-дизайнера"

                              Сервисы и инструменты


                              Weavly — бесплатный онлайн-сервис для удобного создания роликов из видео, аудио и gif-картинок.

                              Читать дальше →
                            • Домашний интернет: маршрутизация двух (и боле) провайдеров на основе Bird Routing Daemon

                              Наверное, многие пользователи домашнего интернета сталкивались с тем, как распараллелить два и более интернет-канала в домашней сети.
                              Эта проблему можно решить и хардварно (используя любое дешевое либо дорогое оборудование) и софтверно.
                              Какую же модель маршрутизации выбрать? Сразу можно отбросить RIP/OSPF/BGP, так как это домашний интернет и больше чем уверен (в моем случае и проверено), что вам не захотят делать поддержку на стороне провайдера бесплатно.
                              Остановил выбор на bird.

                              Итак, исходная позиция:
                              • Домашний раутер с Debian GNU/Linux 6.0.5 (squeeze) на борту
                              • 2 интернет канала (ISP1 и ISP2)
                              • 2 прямые руки
                              • чашка кофе

                              Читать дальше →