• MediaTek Labs приглашает на серию мартовских вебинаров по разработке гаджетов для умного дома



      Вашему котику автоматически предоставляется еда по первому «мяу», сказанному с определенной интонацией? Лампочки экономят электричество, а замок гаража сам начинает отогреваться в нужное вам время? Поздравляем, вы живете в умном доме!

      А чтобы сделать его еще умнее, в марте 2016 г. MediaTek Labs проводит три онлайн-семинара для разработчиков решений для интернета вещей! Участие бесплатное, но необходима регистрация. Каждый вебинар будет длиться 30 минут, затем – сессия вопросов и ответов.
      Читать дальше →
    • Виртуальная реальность — 10 способов перемещения, не вызывающих дискомфорт

        Вдохновившись интересом аудитории Geektimes к такому популярному и раскручиваемому нынче явлению как виртуальная реальность, решил представить вашему вниманию еще одну статью, в которой рассматриваются характерные особенности создания контента для VR-cистем, ориентированного на геймеров.

        ***

        Глядя на игры для виртуальной реальности и оценивая их, в своих суждениях, как правило, мы отталкиваемся от своего опыта и вкусов в области традиционных компьютерных игр, в которые мы привыкли играть.
        У каждого из нас за многие годы уже выработались свои жанровые предпочтения, определенные требования к графике и игровому процессу, и нас сложно чем-то удивить как визуально, так и геймплейно, особенно когда 360° VR-контент демонстрируют в двухмерном виде.

        Тем не менее, сейчас я хотел бы поговорить не о глобальных различиях, характеризующих виртуальные игры как отдельную ветвь развития игровой индустрии, а только о способах реализации перемещений действующего лица в пространстве виртуальной реальности (locomotion), как о важной составляющей игрового процесса, имеющей свои особенности.
        Речь пойдет о системах перемещений в проектах для систем Oculus Rift, HTC Vive и PlayStation VR.

        image
        Читать дальше →
      • Как чайник пульт читал

        Давно уже собирался подключить ИК-приемник (1838B) и ИК-передатчик (ИК-диод 5 мм, 940нм, угол излучения около 80 градусов) к Raspberry, понять, как они будут работать и что с ними можно сделать. И вот однажды такой день настал.

        Изучив проблематику, в том числе и материалы с Хабра, понял, что кроме ИК-диода и ИК-приемника нужно ещё и транзистор и несколько резисторов, немного приуныл. С приемником проще — он шел комплектом, а вот для диода не хватало транзистора, но тем не менее решил попробовать, а вдруг получится? И получилось…
        Читать дальше →
      • Электродвигатели: какие они бывают



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

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

          Каждый электродвигатель обладает некоторыми отличительными свойствами, которые обуславливают его область применения, в которой он наиболее выгоден. Синхронные, асинхронные, постоянного тока, коллекторные, бесколлекторные, вентильно-индукторные, шаговые… Почему бы, как в случае с двигателями внутреннего сгорания, не изобрести пару типов, довести их до совершенства и ставить их и только их во все применения? Давайте пройдемся по всем типам электродвигателей, а в конце обсудим, зачем же их столько и какой двигатель «самый лучший».
          Читать дальше →
        • Установка неподписанных программ на устройства с iOS 9 без Jailbreak

          • Tutorial
          Дорого дня, уважаемые хабражители!

          Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.



          Осторожно! Много картинок!
          Читать дальше →
        • Tabris.js — быстро знакомимся и пишем Hello World

          • Tutorial

          Tabris.js — еще один кросс-платформенный (Android, IOS) мобильный фреймворк. От подавляющего большинства подобных инструментов он отличается тем, что это не обертка над стандартным или Chrome-based WebView. Tabris предоставляет собой набор нативных компонентов, доступный из javascript. Ближайшие аналоги из мне известных это: Telerik Native Script, Appcelerator и React Native.
          Читать дальше →
        • 30 чудных библиотек для PHP программистов

          Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
          Читать дальше →
        • Если вы решили перейти с PHP на Python, то к чему следует подготовиться

            Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

            Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

            Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


            Python с точки зрения PHP-программиста...
          • Книги по Swift

              Добрый день, Хабровчане!

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

              1. Книга для начинающих. Например такая
              Swift for Beginners: Develop and Design
              image
              Читать дальше →
            • Wi-Fi термометр на ESP8266 + DS18B20 всего за 4$



              В последнее время всё большую популярность набирают Wi-Fi модули на основе ESP8266. Я тоже решил приобщиться к прекрасному, задумав реализовать термометр, отдающий данные по HTTP. Итак, поехали.
              Читать дальше →
            • Загрузочный сервер — как загрузочная флешка, только сервер и по сети

                Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

                Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
                А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

                Вот такое меню встречает нашу команду инженеров при загрузке с PXE



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

                Всем привет! Я — начинающий свифтер, то есть изучаю Swift без опыта ObjC. Недавно мы с компаньонами начали проект, требующий приложение под iOS. А еще у нас есть idée fixe: с нами непременно должен работать студент из Физтеха, а приложение должно быть написано на языке Swift. И вот, пока мы ищем физтеховцев и знакомимся с ними, я решил не терять время и параллельно начать своими силами пилить проект на Swift. Так я впервые открыл XCode.

                Вдруг обнаружилось много знакомых, которые точно так же не имея опыта мобильной разработки, стали осваивать ее именно посредством Swift, а не ObjC. Кто-то из них подтолкнул меня поделиться опытом на Хабре.

                Итак, вот топ пять «ловушек», своевременное понимание которых точно бы сэкономило мне время.
                Читать дальше →
              • VPN везде и всюду: IPsec без L2TP со strongSwan

                  image
                  достаточно сильный лебедь

                  Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

                  Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

                  Небольшое введение в мир IPsec

                  Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.
                  Читать дальше →
                • Миф о бесполезности QoS без перегрузки сети

                  По работе я несколько раз сталкивался с мнением, что настраивать QoS в не перегруженной ethernet сети не нужно для успешного функционирования таких сервисов, как IPTV и VoIP. Это мнение стоило мне и моим коллегам многих нервных клеток и часов на диагностику фантомных проблем, поэтом постараюсь как можно проще рассказать о том, почему это мнение неверно.
                  Читать дальше →
                • Сети для самых маленьких. Часть десятая. Базовый MPLS

                    Сеть нашей воображаемой компании linkmeup растёт. У неё есть уже магистральные линии в различных городах, клиентская база и отличный штат инженеров, выросших на цикле СДСМ.
                    Но всё им мало. Услуги ШПД — это хорошо и нужно, но есть ещё огромный потенциальный рынок корпоративных клиентов, которым нужен VPN.
                    Думали ребята над этим, ломали голову и пришли к выводу, что никак тут не обойтись без MPLS.

                    Если мультикаст был первой темой, которая требовала некоторого перестроения понимания IP-сетей, то, изучая MPLS, вам точно придётся забыть почти всё, что вы знали раньше — это особенный мир со своими правилами.



                    Сегодня в выпуске:


                    А начнём мы с вопроса: «Что не так с IP?»

                    Читать дальше →
                  • FAQ про работу сотовой сети для самых маленьких



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

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

                      — А как делается авторизация в такой сети?
                      По специальному ключу. В вашу SIM-карту, кроме процессора, оперативки и средств I/O, вшит ключ, позволяющий авторизоваться в сотовой сети. Этот же ключ, с использованием других алгоритмов, обеспечивает шифрование сигнала: разговоры в сотовой сети «закрываются».
                      Читать дальше →
                    • Отладка самолета? Это очень просто!

                        Некоторое время назад мне пришлось очень плотно поучаствовать в приемо-сдаточных испытаниях самолета. Эти испытания были основной частью процесса передачи свежеизготовленного, самого (по моему мнению) технически продвинутого на настоящий момент времени бизнес-джета от производителя заказчику. Казалось бы, причем здесь тестирование, разработка, да и вообще тематика Хабра? Желающие узнать это могут перевернуть страницу и прочитать довольно много текста, причем вообще без картинок.
                        Читать дальше →
                      • Как была взломана Gamma International

                          image

                          3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.

                          Читать дальше →
                        • HP Vertica, проектирование хранилища данных, больших данных

                            UPD: Продолжение статьи по ссылке — habrahabr.ru/company/avito/blog/322510

                            О чем статья

                            Незаметно пролетел год, как начались работы по разработке и внедрению хранилища данных на платформе Вертика.
                            На хабре уже есть статьи про саму СУБД Вертика, особенно рекомендую эту: HP Vertica, первый запущенный проект в РФ, ведь ее автор очень помог нам на начальном этапе. Алексей, спасибо еще раз.
                            Хотелось бы рассказать о том, какая методология применялась для проектирования физической структуры хранилища, чтобы наиболее полно использовать возможности HP Vertica.
                            Эту статью хотел бы посветить обоснованию оптимальности выбранной методологии, а в следующей — рассказать о том, какие техники позволяют анализировать данные, содержащие десятки млрд.

                            Постановка задачи

                            Рассмотрим высоконагруженный сайт крупной российской интернет-компании (теперь можно — это Авито ;)).
                            Деятельность компании описывается следующими цифрами: ~ 10 млн. активных пользователей, ~100 млн. просмотров страниц в день, около 1 тыс. новых объектов, размещенных пользователями на сайте в течение 1 минуты, ~10 тыс. поисковых запросов пользователей в минуту.
                            Грубая оценка количества действий, подлежащих сохранению в хранилище, составляет 100 млн. новых записей в сутки (~100 GB новых данных в сутки).
                            Т.е. при построении классического хранилища данных с отказом от стирания поступивших ранее данных, объем хранилища через 3 месяца эксплуатации составит 10TB сырых данных. Big Data как она есть.
                            Нужно построить хранилище, которое хранило бы не меньше 6 месяцев данных, позволяло их анализировать, визуализировать, и отставало бы от реальной жизни настолько мало, насколько это возможно (в худшем случае — отставало бы на день, в лучшем — на минуты).
                            Вынося сразу за скобки вопрос выбора платформы — хранилище должно работать на HP Vertica, MPP базе колоночного хранения, см. вводную статью в заголовке.
                            Читать дальше →
                          • Несколько интересностей и полезностей для веб-разработчика #19

                              Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

                              DC.js



                              Библиотека позволяет создавать великолепные многоуровневые/масштабируемые кроссплатформенные графики и диаграммы с моментальным перерендерингом при пользовательском взаимодействии. За процесс визуализации отвечает знаменитая d3.js, а за анализ многомерных наборов данных crossfilter.js. Кстати кроссфильтр — проект небезызвестной компании Square.
                              chart.renderlet(function(chart){
                                  // smooth the rendering through event throttling
                                  dc.events.trigger(function(){
                                      // focus some other chart to the range selected by user on this chart
                                      someOtherChart.focus(chart.filter());
                                  });
                              })
                              


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