Рубрика «Программирование» - 464

Меня зовут Эрик Батлер, а это Карл Кошер, и мы хотим поговорить с Вами о чтении, создании, загрузке и использовании кода на SIM-картах. Этот проект стартовал в прошлом году, когда я узнал о мероприятии Tourcamp 2012, лагере хакеров на побережье штата Вашингтон, таком выездном DEFCON'е. Никаких отелей, жизнь в палатках на открытом воздухе, это был уже второй лагерь, первый мне очень понравился, я пригласил друзей и мы решили туда отправиться. Это мероприятие посвящалось запуску сети GSM в нескольких районах США, и моей задачей было добыть для этого несколько SIM-карт.

Конференция DEFCON 21. “Секретная жизнь SIM карт”. Эрик Батлер, Карл Кошер - 1

Я ничего не знал о том, что из себя представляют SIM-карты, поэтому мне пришлось изучить вопрос и выяснить следующее:

  • SIM, или Subscriber Identification Module – это модуль идентификации абонента мобильной связи;
  • на SIM-карте есть ключ идентификации IMSI и симметричный ключ Ki;
  • в неё встроен модуль безопасности, который не позволяет ни извлечь, ни клонировать ключи;
  • они используются операторами связи GSM, а в настоящее время и LTE (сеть Verizon стандарта 4G);
  • могут также запускать приложения.

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

image

Первый слева — Марвин Мински, второй слева — Алан Кей, потом Джон Перри Барлоу и Глория Мински.

Вопрос: Как бы вы интерпретировали идею Марвина Мински о том, что «Computer Science уже имеет грамматику. Что ей нужно так это литература.»?

Алан Кей: Самый интересный аспект записи блога Кена (включая комментарии) заключается в том, что нигде нельзя найти историческое упоминание этой идеи. Фактически, более 50 лет назад в 60-х годах по этому поводу было много разговоров и, насколько я помню, несколько статей.

Я впервые услышал об этой идее от Боба Бартона, в 1967 году в магистратуре, тогда он сказал мне, что эта идея была частью мотивации Дональда Кнута, когда он писал “Искусство программирования”, главы которого уже ходили по рукам. Один из главных вопросов Боба тогда был о «языках программирования, предназначенных для чтения людьми также как и машинами». И это было основной мотивацией для частей дизайна COBOL в начале 60-х годов. И, возможно, что более важно в контексте нашей темы, эта идея видна в очень раннем и довольно красиво разработанном интерактивном языке JOSS (в основном Cliff Shaw).

Как заметил Фрэнк Смит, литература начинается с идей, которые стоит обсуждать и записывать; она часто частично генерирует представления и расширяет существующие языки и формы; это приводит к новым идеям о чтении и письме; и, наконец, к новым идеям, которые не были частью первоначального мотива.
Читать полностью »

Меня зовут Пржимек Ярошевский, я руковожу командой Current Threat Analysis и польской национальной группой исследований компьютерной безопасности CSIRT, которая является частью академической компьютерной сети CERT Polska. Я более 10 лет занимался программированием, но это было очень давно. Я имею 15-ти летний опыт в сфере IT-безопасности, являюсь магистром социальной психологии и разбираюсь в социальной инженерии. Я также люблю всё, что связано с полётами на самолётах. Можно сказать, что во мне живёт нереализованный контролёр авиа полётов. Мне нравится изучать, как работает система обеспечения пассажирских авиаперевозок и что происходит за пределами видимой стороны этого процесса.

DEFCON 24: “Как занять лучшие места в театре безопасности, или взлом посадочных талонов ради веселья и выгоды" - 1

Я часто летаю самолётами и как частная особа, и по работе, поэтому пользуюсь преимуществами постоянного пассажира. Количество миль для постоянного пассажира важно, так как даёт скидки и статус. Я пользуюсь такими привилегиями, как комната отдыха и fast track — быстрый проход контролей без очередей. Они существенно экономят время и обеспечивают комфортное пребывание в аэропорту, за исключением случаев, когда кто-либо пытается починить то, что не нуждается ни в каком ремонте, после чего эти привилегии перестают работать.Читать полностью »

Модель акторов — это хороший подход к решению некоторых типов задач. Готовый акторный фреймворк, особенно в случае языка C++, может очень сильно облегчить жизнь разработчика. С программиста снимается изрядная часть забот по управлению рабочими контекстами, организации очередей сообщений, контролю за временем жизни сообщений и т.д. Но, как говорится, все хорошее в этой жизни либо противозаконно, либо аморально, либо ведет к ожирению ничего не дается бесплатно. Одна из проблем использования готового (т.е. чужого) акторного фреймворка состоит в том, что иногда он превращается в «черный ящик». Ты видишь, что ты отдаешь в этот «черный ящик», ты видишь, что из него приходит (если вообще приходит). Но далеко не всегда понятно, как из первого получается второе…
Читать полностью »

Разбор последней четвёртой задачи:

    public double octaPow(double a) {
        return Math.pow(a, 8);
    }

    public double octaPow(double a) {
        return a * a * a * a * a * a * a * a;
    }

    public double octaPow(double a) {
        return Math.pow(Math.pow(Math.pow(a, 2), 2), 2);
    }

    public double octaPow(double a) {
        a *= a; a *= a; return a * a;
    }

Условие (упрощённо):

Определить, какие методы быстрые, а какие — медленные (JRE 1.8.0_161).

Под катом бенчмарки, куски ассемблера и разбор оптимизаций со стороны JVM.

Другие публикации серии: Часть 1, Часть 2 и Часть 3.
Читать полностью »

Асинхронность. Асинхронность никогда не меняется. Node.js использовал асинхронность, чтобы получить большой rps для io-операций. TC39 добавила промисы в спецификацию для борьбы с адом колбеков. Наконец, мы стандартизировали async/await. Но асинхронность никогда не меняется. Погодите, что это синеет в небе? Похоже bluebird несёт в клюве пояс с инструментами для тех из нас, кто плотно подсел на thenable-объекты и всю эту асинхронную лапшу.

Bluebird: магия внутри - 1

Читать полностью »

Асинхронность. Асинхронность никогда не меняется. Node.js использовал асинхронность, чтобы получить большой rps для io-операций. TC39 добавила промисы в спецификацию для борьбы с адом колбеков. Наконец, мы стандартизировали async/await. Но асинхронность никогда не меняется. Погодите, что это синеет в небе? Похоже bluebird несёт в клюве пояс с инструментами для тех из нас, кто плотно подсел на thenable-объекты и всю эту асинхронную лапшу.

Bluebird: пояс с инструментами для асинхронщика - 1

Читать полностью »

Серию интервью с докладчиками конференции DUMP продолжает разговор с Антоном Громовым — программистом-баллистиком в Dauria Aerospace, автором проекта «Море Ясности», постоянным ведущим трансляций запусков SpaceX, популяризатором космонавтики. Антон рассказал о программировании спутников, о состоянии частной космонавтики в России и о том, какая работа для программистов есть в космонавтике.

Интервью с популяризатором космонавтики, программистом-баллистиком Антоном Громовым - 1
Читать полностью »

Всем привет!

В четверг у нас стартует новый сишный курс — «Разработчик C#». Провели недавно открытый урок, дабы показать и формат лекций, и преподавателя. На вебинаре разбирались проблемы использования синхронной модели разработки ПО поиск путей решения данного подхода через использование асинхронной модели.

Как всегда ждём вопросы, комментарии, предложения.

Читать полностью »

Интринсик или intrinsic-функция — функция, которую JIT-компилятор может встроить вместо вызова Java- и JNI-кода с целью оптимизации. Важный вывод из этого — intrinsic-функции не доступны в режиме интерпретатора. По умолчанию в HotSpot используется два JIT-компилятора C1 и C2, таким образом, может быть доступна реализация intrinsic-функции для каждого из JIT-компиляторов. Различия в реализации intrinsic-функций для разных JIT-компиляторов обуславливаются различным внутренним представлением кода (intermediate representation — IR).

В HotSpot реализовано несколько сотен интринсиков (их количество растёт от релиза к релизу). Описание всех intrinsic-функций можно найти в исходниках OpenJDK в файле vmSymbols.hpp. Ниже приведены полные списки интринсиков для JDK 7 (vmSymbols.hpp), JDK 8 (vmSymbols.hpp), JDK 9 (vmSymbols.hpp) и JDK 10 (vmSymbols.hpp).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js