• Выразительный JavaScript: HTTP

    • Translation

    Содержание




    Мечта, ради которой создавалась Сеть – это общее информационное пространство, в котором мы общаемся, делясь информацией. Его универсальность является его неотъемлемой частью: ссылка в гипертексте может вести куда угодно, будь то персональная, локальная или глобальная информация, черновик или выверенный текст.

    Тим Бернес-Ли, Всемирная паутина: Очень короткая личная история

    Читать дальше →
    • +36
    • 81.9k
    • 4
  • Стив Джобс и политика в отношении оборота наркотиков

    • Translation
    Довольно интересно сопоставить всеобщее американское благоговение перед заслугами Стива Джобса и драконовскую политику США в отношении оборота наркотиков, поскольку это довольно противоречивые вещи, из некролога Джобса в NY Times:

    [Джобс] сказал репортёру, что приём ЛСД1 был одной из двух или трёх самых важных вещей в его жизни. Он сказал, что некоторые свойства его личности другие люди, которые не пробовали психоделики — даже близкие люди, как его жена, — никогда не могли понять.

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

    Стив Джобс также добавил, что Билл Гейтс «стал бы менее зашоренным, если бы однажды капнул кислоты»2.
    Читать дальше →
  • Signaling System #7 / Система сигнализации №7

    Signaling System #7 / Система сигнализации №7 — это набор сетевых протоколов, обеспечивающих обмен служебными сообщениями между мобильными станциями (мобильными телефонами) и телефонными станциями, а также между самими телефонными станциями.
    В настоящее время SS#7 используется, как стандарт сигнализации в телефонных сетях.

    В данной статье будет описана структура и принцип действия SS#7.

    Читать дальше →
  • GPRS изнутри. Часть 3

      В этой статье мы продолжаем наше знакомство со структурой и основными функциональными элементами пакетной сети оператора мобильной связи, которые мы начали в предыдущих двух статьях — GPRS изнутри. Часть 1 и GPRS изнутри. Часть 2. В нашей сегодняшней заметке речь пойдет об основных интерфейсах сетевых элементов PS Core Network, а также стеках проколов, используемых на этих интерфейсах.

      Читать дальше →
    • GPRS изнутри. Часть 1

        Этим циклом статей я хотел бы рассказать хабраобществу о технологиях пакетной передачи данных в сетях мобильных операторов. Мы рассмотрим принципиальные схемы Packet Switched (PS) Core Network, заглянем в стек протоколов используемых для коммуникации между различными сетевыми элементами, а также более подробно рассмотрим функции основных элементов, которые позволяют нам использовать пакетную передачу в мобильных сетях. Конкретно в этой статье речь пойдет о самых распространенных на данный момент технологиях GPRS/EDGE.

        Читать дальше →
      • Не важно кто ты… важно какая у тебя APN!

          В этой статье речь пойдет о небольшой хитрости, к которой может прибегнуть некий виртуальный ОпСоС, чтобы обмануть своих абонентов в процессе предоставления услуг пакетной передачи данных. Центром нашего внимания будет процесс выбора и использования Access Point Name [APN].
          Как мы помним из статьи GPRS изнутри. Часть 2, APN используется во время процедуры активации PDP Context'а и предназначена для определения услуги, запрашиваемой абонентом.

          Читать дальше →
        • Редактор CSS Shapes для Chrome



            Спецификации CSS Shapes позволяют красиво оформить обтекание текстом на веб-странице. Средствами CSS можно создать произвольную форму, но это обычно весьма трудоёмкая задача. Новое расширение CSS Shapes Editor для Chrome кардинально облегчает процесс. Это интерактивный редактор CSS Shapes, где контуры указываются простым перетягиванием точек с помощью мыши.
            Читать дальше →
          • Руководство по собеседованию на вакансию PHP-программиста

            Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



            Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

            Именно в этом и заключается основная проблема поиска высококвалифицированных PHP-разработчиков. Относительно низкий порог вхождения и 20 лет развития языка привели к тому, что PHP-программисты стали такими же вездесущими, как и сам PHP. Многие из них могут на законных основания утверждать, что «знают» язык. Однако разработчики, которые действительно являются экспертами по PHP, способны создавать куда более функциональное, надёжное, масштабируемое и простое в сопровождении программное обеспечение.

            Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
            Читать дальше →
          • Лучшие грабли российских IT-стартапов



              1. Упарываться по хардкору
              Это не ошибка, но очень характерная ситуация для IT-сферы. Пока другие стартаперы не имеют продукта, зато рассылают релизы со скриншотами, пьют смузи, выступают на конференциях и выставках, айтишники пишут код. Когда прототип собран и дело доходит до поиска инвестора, становится понятно, что пиар тоже был нужен. Вот только начинать его надо было месяца так два назад.

              2. «Сам дурак»
              Большая проблема — нежелание слушать мнение окружающих. Когда половина проекта готова и внезапно становится понятно, что проект нежизнеспособен, есть два варианта: резко меняться или сворачиваться. Знаете, что часто делают руководители IT-стартапов? Перестают слушать людей снаружи, превращают команду в секту и упорно допиливают продукт. Потому что полработы уже сделано.

              3. Не знать конкурентов
              Офигенный подход аутистов — взять и сделать прототип без изучения рынка. Незнание прямого конкурента, косвенного конкурента и западных аналогов продукта — это не самая хорошая идея. Нужно смотреть, кто уже работал в этом направлении и, главное, с какими проблемами сталкивался. Потому что эти проблемы придут к вам. Ещё полезно замерять показатели конкурентов и сравнивать со своими. Если конкурентов нет — это повод насторожиться. Возможно, ваш продукт никому не нужен.
              Читать дальше →
            • Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

              • Translation

              Предисловие


              Об этом руководстве


              Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.



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


              Читать дальше →
            • С днем рождения, Джулиан Ассанж

                image3 июля 2014 года Ассанжу исполнилось 43 года.

                В детстве он сменил 37 школ, а первый компьютер ему подарила мама в 16 лет.

                Он вел несколько передач на канале Russia Today.

                А еще он вдохновил Сергея Мавроди на старт МММ-2011

                Некоторый малоизвестные выходки/достижения/события из жизни Ассанжа:

                1) Джулиан изучал математику, физику и программирование в Central Queensland University, в 1994 и в Университете Мельбурна (2003-2006), но степень так и не получил.

                2) Ассанжу не нравилось, то что студентов привлекают к работе над компьютерными проектами для военных и выступал против этого.

                3) В 1987 году Джулиан начал «хакать» под ником Mendax, что означает «благородно неправдивый».

                4) Он организовал хакерскую группу «International Subversives», вместе с двумя хакерами под псевдонимами «Trax» и «Prime Suspect».

                5) Он и его группа взламывали Пентагон, ВМС США, правительственные организации, такие как NASA, MILNET и Australia’s Overseas Telecommunications Commission; частные компании Citibank, Lockheed Martin, Motorola, Panasonic и Xerox; и учебные заведения, такие как Australian National University, La Trobe University и Stanford Research Institute.
                Читать дальше →
              • Как работает международный роуминг

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

                Об услуге


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

                Авторизация

                Первое действие, которое происходит при попытки зарегистрироваться в сети зарубежного партнера, – это проверка абонента на «валидность». Этим занимается VLR/MSC, в зоне действия которого находится MS. После того как гостевой VLR/MSC получит команду «Location Update» от MS, зная IMSI абонента, по MAP отправляет сообщение «Send Authentication Info» на HLR; он же в свою очередь проверяет, что MS и полученный IMSI действительны. Если проверка прошла успешно и абонент является «валидным», HLR отправляет IMSI в AUC. AUС генерирует триплет (SRES, RAND, Kc) и отправляет его в HLR, затем HLR отправляет эти данные на VLR/MSC, который обслуживает MS. После того как VLR/MSC получил эти данные, VLR/MSC посылает RAND на MS. Получив запрос RAND, MS подставляет полученный RAND и Ki(записан на SIM карте) и вычисляет SRES, который отправляет в VLR/MSC. Если SRES, полученный от MS, совпадает со SRES, полученным от AUC, тогда MS считается авторизованный.
                Читать дальше →
              • Первый шаг на пути к голосу в LTE — Circuit Switch FallBack


                В прошлой статье про LTE мы упомянули о технологии предоставления голосового сервиса CSFB (Circuit Switch FallBack). Сети LTE предназначены для передачи пакетной информации, голоса в этой сети нет в том смысле, в котором мы это понимаем на примере традиционных сетей GSM/UMTS. Но, есть возможность это изменить.
                В настоящий момент ведется тестирование и настройка технологии CSFB, которая использует существующий сейчас, традиционный CS (Сircuit switching) домен сетей 2G/3G. Это делается потому, что оригинальная технология передачи голоса в LTE — VoLTE (Voice over LTE), где голос передается уже по IP-сети, используя средства LTE без задействования сетей прошлых поколений, зависима от очень многих решений и разрешений государственного уровня. Для того, чтобы создать условия для совершения звонков с помощью VoLTE, необходимо обеспечить поддержку этого функционала не только сетью, но и пользовательским оборудованием (User Equipment/UE).

                Оставим VoLTE для будущих статей, а пока рассмотрим CSFB с технической стороны.
                Детали под катом
              • Подборка полезных CSS рецептов, или чем мы занимаемся на голых пятницах

                • Tutorial


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

                Итак, представляем вашему вниманию сборку интересных и (надеемся) малоизвестных HTML и CSS-рецептов. Будем рады, если каждый из вас узнает что-то новое!
                Вперед!
                • +101
                • 90.1k
                • 75
              • Спидран по 13 уязвимостям на сайтах. Основные понятия, и средства защиты

                Недавно по работе собирал своего рода лекцию по веб-безопасности, ознакомился с известным рейтингом уявзимостей OWASP 2013 года, но с удивлением обнаружил, что корректной инфы на русском языке крайне мало, или её практически нет.

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

                Некоторые из предоставленных в списке уязвимостей уже расписаны и не раз — известный факт, но без них список был бы неполным. Поэтому сразу дам небольшое содержание поста:

                Читать дальше →
              • Wi-Fi сети: проникновение и защита. 1) Матчасть



                  Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

                  При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

                  Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

                  Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
                  Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

                  Оглавление:
                  1) Матчасть
                  2) Kali. Скрытие SSID. MAC-фильтрация. WPS
                  3) WPA. OpenCL/CUDA. Статистика подбора
                  Как работают WEP, WPA и WPS
                • Простая стратегия игры 2048

                    Недавно на Хабре появилась статья, в которой опубликована ссылка на игру 2048. Там же можно подробнее прочитать правила и попробовать сесть за эту увлекательную штуку (достаточное количество хабраюзеров уже этим побаловались).

                    Студентам физфака тоже было весело, поэтому мы придумали простую эвристическую выигрышную (по крайней мере, нам удалось набрать 2048 в 9 из 10 раз) стратегию этой игры.

                    Занумеруем идущие подряд столбцы (можно и строки, но в дальнейшем я буду говорить о столбцах) от 1 до 4 (последовательно слева направо или справа налево). Основополагающим принципом стратегии является расположение чисел, при котором мы полностью заполняем 1ый столбец наибольшими доступными числами. При этом, во 2ом столбце числа в среднем меньше, чем в 1ом, а в 3ем меньше, чем во 2ом. Причем, только на последних этапах игры в 3ем столбце возможно появление чисел среднего номинала (где-то до 32).

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

                    Например, используя в качестве 1ого столбца левый, мы никогда не будем использовать клавишу →, чтобы не отклоняться от принципа.

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

                    Для наглядности прилагается картинка и видео:

                    image