• 5 типичных ошибок при работе с Amazon Web Services



      Мы в «Латере» занимаемся созданием биллинга для операторов связи. В блоге на Хабре мы не только рассказываем об особенностях нашей системы и деталях ее разработки (например, обеспечении отказоустойчивости), но и публикуем материалы о работе с инфраструктурой в целом. Разработчик и системный архитектор Михаель Виттиг (Michael Wittig) написал в блоге Cloudonout интересный материал о наиболее распространенных ошибках при работе с сервисом AWS (Amazon Web Services). Мы представляем вашему вниманию основные тезисы этой заметки.
      Читать дальше →
      • +11
      • 17,1k
      • 5
    • CNTK — нейросетевой инструментарий от Microsoft Research

        2015 год был очень богат на события, связанные с нейросетевыми технологиями и машинным обучением. Особенно заметный прогресс показали сверточные и рекуррентные сети, подходящие для решения задач в области компьютерного зрения и распознавания речи. Многие крупные компании опубликовали на Github свои разработки, Google выпустил в свет TensorFlow, Baidu — warp-ctc. Группа ученых из Microsoft Research тоже решила присоединиться к этой инициативе, выпустив Computational Network Toolkit, набор инструментов для проектирования и тренировки сетей различного типа, которые можно использовать для распознавания образов, понимания речи, анализа текстов и многого другого. Интригующим при этом является то, что эта сеть победила в конкурсе ImageNet LSVR 2015 и является самой быстрой среди существующих конкурентов.


        Читать дальше →
        • +23
        • 23,1k
        • 8
      • Как на самом деле будет выглядеть рынок JavaScript в 2016 году

        • Перевод
        image


        Сегодня на сайте Mashable появилась любопытная статья «Чтобы стать гуру программирования в 2016 году, достаточно освоить Javascript и переехать в Юту» о рынке труда разработчиков программного обеспечения. Данный материал формирует весьма превратную картину действительности, а потому давайте разбираться вместе.

        Краткая предыстория. Я разработчик программного обеспечения и на протяжение нескольких последних лет мне доводилось неоднократно проводить собеседования с желающими пополнить ряды моих коллег. Кроме того, я обучал разработчиков JavaScript навыкам, благодаря которым они получали шикарную работу. У меня приличный опыт в сфере создания и консультирования многообещающих команд разработчиков и компании из списка Fortune 500.

        Я также часто сотрудничаю с кадровыми агентствами, благодаря чему не понаслышке знаю, чего хотят самые высокотехнологичные компании в мире. Руководствуясь собственным опытом и тем, что рассказывают мои студенты, я могу с уверенностью заявить, что прекрасно понимаю структуру рынка труда JavaScript как снаружи, так и изнутри.
        Читать дальше →
      • Не все cookie одинаково полезны

          В этой статье я хотел бы рассказать о том, как можно объединить небольшие недочеты в обработке cookie-значений в цепочку, и произвести за счет этого атаку на пользователей популярных веб-приложений.
          image
          Читать дальше →
          • +54
          • 33,5k
          • 5
        • Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки

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

            Для работы над Яндекс.Музыкой нам всегда важно помнить о разных тонкостях, которые таит в себе звук. Что такое громкость, как она меняется и от чего зависит? Как работают звуковые фильтры? Какие бывают шумы? Как меняется звук? Как люди его воспринимают.



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

            Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.
            Читать дальше →
          • Обработка приватных данных на публичных вычислительных сетях

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

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

              Читать дальше →
            • Как оптимизировать полосу пропускания в сетях Ethernet

              • Перевод
              В блоге 45 Drives вышел достаточно интересный материал Роба МакКвина, который работает в R&D отделе компании. В нем идет речь об оптимизации полосы пропускания. Попробуем разобраться в этой истории и основных моментах, о которых рассказал Роб.

              Читать дальше →
            • gRPC — фреймворк от Google для удалённого вызова процедур

              • Tutorial

              В деле удалённого вызова процедур дела уже давно обстоят в точности как в известном комиксе «14 стандартов» — чего только тут ни напридумано: древние DCOM и Corba, странные SOAP и .NET Remoting, современные REST и AMQP (да, я знаю, что кое-что из этого формально не RPC, для того чтобы обсудить терминологию даже вот специальный топик недавно создали, тем ни менее всё это используется как RPC, а если что-то выглядит, как утка и плавает, как утка — ну, вы в курсе).

              И конечно же, в полном соответствии со сценарием комикса, на рынок пришел Google и заявил что вот теперь наконец он создал ещё один, последний и самый правильный стандарт RPC. Google можно понять — продолжать в 21-ом веке гонять петабайты данных по старому и неэффективному HTTP+REST, теряя на каждом байте деньги — просто глупо. В то же время взять чужой стандарт и сказать «мы не смогли придумать ничего лучше» — совершенно не в их стиле.

              Поэтому, встречайте, gRPC, что расшифровывается как «gRPC Remote Procedure Calls» — новый фреймворк для удалённого вызова процедур от Google. В этой статье мы поговорим о том, почему же он, в отличии от предыдущих «14 стандартов» всё-таки захватит мир (ну или хотя бы его часть), попробуем собрать билд gRPC под Windows + Visual Studio (и даже не говорите мне, что инструкция не нужна — в официальной документации упущено штук 5 важных шагов, без которых ничего не собирается), а также попробуем написать простенький сервис и клиент, обменивающиеся запросами и ответами.
              Читать дальше →
            • Защита переговоров. Антижучки и индикаторы поля


                Примеры найденных жучков (источник фото: Интернет)

                Дело было еще во Владивостоке.
                Знакомые, владельцы турфирмы, рассказали, что однажды уборщица их спросила: «А почему вечером, когда все уходят, у вас сверху, на шкафу что-то мигает?». Полезли на шкаф, а там — чуть ли не автомобильный аккумулятор и рация, прикрученная синей изолентой. Вот такой суровой бывала дальневосточная прослушка.

                Я узнал, что компания detsys.ru проводит у себя бесплатное обучение по пользованию индикаторами поля и попросил у них на недельку три экземпляра антижучков и еще парочку имитаторов сигналов для проверки работоспособности поисковой техники, для того чтобы повозиться с ними в Хакспейсе.

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



                  Звук является колебаниями определённой частоты, которые распространяются в окружающем источник пространстве. Эти волны достигают находящиеся рядом объекты и заставляют их испытывать вибрации. Группа исследователей Массачусетского технологического института сумела на основании этих вибраций, видимых на видеозаписи, частично восстановить исходный звук с некоторыми искажениями.

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

                  Качество восстановленного звука позволяет разделять отдельные слова и имеет относительно высокие показатели отношения сигнал-шум. Восстановленные аудиозаписи даже позволяют смутно различать речь человека или использовать сервисы распознавания музыки.
                  Читать дальше →
                • Обнаружена еще одна серьезная уязвимость в Android



                    В конце июля исследователи из компании TrendMicro обнаружили серьезную уязвимость в медиасервере Android (информация об этом появилась практически одновременно с данными по уязвимости Stagefright). Чуть позднее специалисты IBM нашли еще одну ошибку безопасности, затрагивающую 55% пользователей Android.

                    17 августа в блоге TrendMicro появилось описание еще одной серьезной уязвимости медиасервера, которая может приводить к удаленному выполнению кода. Используя эту ошибку безопасности, злоумышленник может удаленно атаковать смартфон с помощью специального мультимедиа-сообщения.
                    Читать дальше →
                  • Охватывающий SQL в Postgres

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

                    Вместо того чтобы, ругать ORM я хотел бы рассказать вам, почему я не использую ОО абстракцию в основании моей базы данных. Если коротко: потому что SQL может вам сильно помочь выразить значение вашего приложения с точки зрения данных. Единственный способ знать как работает ваше приложение это знать по каким данным оно генерируется.
                    Читать дальше →
                    • +23
                    • 22,9k
                    • 9
                  • Reconnect — уязвимость в Facebook Login

                      image

                      Все очень просто — если мы можем перелогинить пользователя в свой фейсбук то мы можем присоединить свой фейсбук к аккаунту жертвы на других вебсайтах. Жертва загружает нашу страничку и мы получаем доступ к аккаунту жертвы на Booking.com, Bit.ly, About.me, Stumbleupon, Angel.co, Mashable.com, Vimeo и куче других вебсайтов.
                      Читать дальше →
                    • Получение участников сообщества vk.com за считанные секунды

                      • Tutorial
                      Ни для кого не секрет, что VK API возвращает за один запрос к методу groups.getMembers не более 1 000 участников. В одну секунду вы можете получить максимум 3 000 участников, так как установлено ограничение на количество запросов в секунду до 3. Эту проблему решает метод execute, с помощью которого вы можете получить более 100 000 участников за одну секунду и до 25 000 участников за один запрос. В этой статье я расскажу Вам, как я это реализовал.
                      Читать дальше →
                    • Бесплатные SSL-сертификаты для проектов Open Source

                        Центр сертификации GlobalSign начал раздавать бесплатно SSL-сертификаты проектам Open Source, которые соответствуют критериям. Это хорошая возможность для тех проектов, до сих пор не имеющих сертификата, получить его. Сертификат действует бессрочно, то есть пока проект соответствует заявленным требованиям.

                        Требования:
                        • Свободная лицензия из списка Open Source Initiative.
                        • Действующая поддержка проекта.
                        • Соответствие требованиям благонадёжности.
                        • Правильная конфигурация SSL (после выдачи сертификата) с получением высшего балла “A” при проверке в SSL Checker.
                        • Соглашение со стандартными условиями.
                        • Сайт не должен использоваться в коммерческих целях.
                        Читать дальше →
                      • Лучшие доклады PHDays IV: слежка, взлом и национальные особенности кибервойны

                          image

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

                          В случае международного форума по безопасности Positive Hack Days решить эту проблему можно, просмотрев интересующих вас выступления в записи. Особенно актуально это будет для тех, кто вообще не попал на конферецию. Все видеофайлы лежат на сайте: phdays.ru/broadcast/.

                          Однако смотреть записи всех залов подряд, за оба дня, это вариант для о-о-очень терпеливых людей. Логичнее смотреть по темам или по авторам: сначала прочитать описания докладов в программе, а потом выбирать конкретный доклад в списке видео.

                          Тут, впрочем, надо понимать: описания были написаны до конференции, когда было еще неизвестно, насколько хорошим будет тот или иной доклад. Может, у него только название крутое, а внутри — скукота?.. Поэтому предлагаем вам третий способ: по популярности. Мы проанализировали отзывы участников PHDays и собрали десяток самых удачных докладов. Вот они:
                          Читать дальше →
                        • Ratchet 2.0 — самый красивый HTML5-фреймворк теперь дружит и с iOS, и с Android



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

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

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

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

                            • Tutorial
                            В прошлый раз я писал о создании приложения на nodejs с использованием expressjs как фреймворка и jade как шаблонитизатора. В этот раз я хочу остановиться на тестирование серверной части.

                            Для тестов воспользуемся:
                            Mocha — фреймворк позволяющий писать тесты и запускать легко и просто. Генерирует отчеты в различных вариантах, а так же умеет создавать документацию из тестов.
                            Should — библиотека для тестов в стиле «утверждения» (Не нашел правильного названия)
                            SuperTest — библиотека для тестирования HTTP серверов на nodejs
                            jscoverage — для оценки покрытия кода тестами

                            Читать дальше →
                          • Python-digest #18. Новости, интересные проекты, статьи и интервью [9 марта 2014 — 16 марта 2014]

                              Подоспели свежие новости о python и близлежащих технологиях. Интересные видеоматериалы на русском о django, статьи о том как замерить покрытие кода тестами, о декораторах и деревьях. В общем, каждому найдется что-нибудь интересное.

                              Спасибо owlman75 за иллюстрацию, а также всем кто присылает новости на инструмент для создания дайджестов. Появились даже спамеры ><

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

                              Читать дальше →
                            • Разработка WEB-проекта на Node.JS: Часть 2

                                В прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.

                                Несколько слов о «хабраэффекте»


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