Search
Write a publication
Pull to refresh
0
@int_iread⁠-⁠only

User

Send message

Burger King и тайная запись экрана вашего телефона

Reading time2 min
Views172K
UPD2:
Сделал второй пост с доказательствами и опровержением заявлений Burger King. Читать здесь.

UPD:
fennikami
Я предоставил видео-доказательство того, что поля ввода данных (в том числе — банковских карт) не скрываются + видео отправляется каждый раз при запуске (в чем вы сами можете убедиться, отследив трафик приложения).
Таким образом я имею опровержение официального ответа Burger King о том, что «личная информация скрыта» и того, что якобы используется выборка на 10% пользователей.

Стоит отметить, что ни в одном из официальных видео Burger King (где они якобы демонстрируют скрытие личных данных) не показано меню привязки банковской карты.
В этом видео оно показано.

Также хочу отметить, что после публикации оргинального расследования — на мой блог начались хакерские атаки (брутфорс админки, поиск эксплоитов, попытка DDoS).

Я готовлю второй пост на эту тему.
Stay tuned, больше информации — в моем блоге.


Привет, Хабр! Мне 18 и я бородат в свободное время ковыряю разные приложения. Сегодня мои руки дошли до распиаренного и популярного приложения Burger King (того самого, где «бургер — бесплатно», «наедалово» и промокоды для друзей).

Запускаю их приложение, наблюдаю за трафиком. И тут обнаруживаю это:

image

Что это такое? Если нет идей, смотрите под катом.
Читать дальше →

Книга «Глубокое обучение с подкреплением на Python. OpenAI Gym и TensorFlow для профи»

Reading time5 min
Views9.1K
image Привет, Хаброжители! Глубокое обучение с подкреплением (Reinforcement Learning) — самое популярное и перспективное направление искусственного интеллекта. Практическое изучение RL на Python поможет освоить не только базовые, но и передовые алгоритмы глубокого обучения с подкреплением. Эта книга предназначена для разработчиков МО и энтузиастов глубокого обучения, интересующихся искусственным интеллектом и желающих освоить метод обучения с подкреплением. Прочитайте эту книгу и станьте экспертом в области обучения с подкреплением, реализуя практические примеры в работе или вне ее. Знания в области линейной алгебры, математического анализа и языка программирования Python помогут вам понять логику изложения материала.
Читать дальше →

Хабрастатистика: анализируем комментарии читателей

Reading time4 min
Views10K
Привет Хабр. В предыдущей части была проанализирована популярность различных разделов сайта, и параллельно возник вопрос — какие данные можно извлечь из комментариев к статьям. Также хотелось проверить одну гипотезу, о которой скажу ниже.


Данные получились довольно интересные, также удалось составить небольшой «мини-рейтинг» комментаторов. Продолжение под катом.
Читать дальше →

Разработка многозадачной микроядерной ОС — Планировщик

Reading time6 min
Views17K
После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика.

Важно:
1. Эта серия уроков для новичков. Цель — сформировать целостную картину мира. Очень долго у меня в голове была теория Таненбаума и я не мог ее связать с практикой. Тем у кого то же самое — посвящаю эту статью.
2. Код самый простой и тупой, но максимально понятный. Моя цель дать вам понимание чтобы вы смогли написать свое ядро, гораздо более крутое чем это.
3. Репо опубликую как только посчитаю его готовым для широкого круга. Я пишу небольшую часть, отлаживаю, и снимаю видеоурок. У меня нет готового продукта.

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

Решение задачи числа 42 с помощью планетарного суперкомпьютера

Reading time2 min
Views62K
image

Математикам наконец-то удалось найти три куба чисел, сумма которых равна 42. Так была решена задача, над которой ломали голову целых 65 лет: можно ли каждое из натуральных чисел от 1 до 100 выразить как сумму трёх кубов?

Задача, сформулированная в 1954 году, заключается именно в этом: x3+y3+z3=k. K — это каждое из чисел от 1 до 100; вопрос в том, каковы x, y и z?

За прошедшие десятилетия были найдены решения для самых лёгких чисел. В 2000 году математик Ноам Элкис из Гарвардского университета опубликовал алгоритм, упрощающий поиск решений для более сложных чисел.

На текущий год оставались только два самых сложных числа: 33 и 42.

Не работайте в плохих проектах

Reading time13 min
Views100K

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


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

Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения

Reading time6 min
Views23K

В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T. Rickard в работе «Automatic ASCII Art Conversion of Binary Images Using Non-Negative Constraints». Описанный ими метод предполагает представление процесса преобразования изображения как задачи оптимизации и решение этой задачи при помощи неотрицательного матричного разложения. Ниже приведены описание рассматриваемого алгоритма, а также его реализация:
Читать дальше →

Git: советы новичкам – часть 3

Reading time6 min
Views68K

В финальной части нашей серии статей о работе с Git мы продолжим разговор о ветках, рассмотрим особенности работы с командой push и расскажем, что такое rebase. Первую и вторую статьи серии вы можете прочитать по ссылкам.
Читать дальше →

И всё же C — низкоуровневый язык

Reading time9 min
Views56K


За прошедшие с момента появления языка C десятилетия было создано множество интереснейших языков программирования. Какие-то из них используются до сих пор, другие — повлияли на следующие поколения языков, популярность третьих тихо сошла на нет. Между тем архаичный, противоречивый, примитивный, сделанный в худших традициях своего поколения языков C (и его наследники) живее всех живых.


Критика C — классический для нашей индустрии эпистолярный жанр. Она звучит то громче, то тише, но в последнее время буквально оглушает. Пример — перевод статьи Дэвида Чизнэлла «C — не низкоуровневый язык», опубликованный в нашем блоге некоторое время назад. Про C можно говорить разное, в дизайне языка действительно много неприятных ошибок, но отказывать C в «низкоуровневости» — это уже слишком!


Чтобы не терпеть такую несправедливость, я собрался с духом и постарался определиться с тем, что есть язык программирования низкого уровня и чего хотят от него практики, после чего перебрал аргументы критиков C. Так получилась эта статья.

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

Куда катится Сеть

Reading time8 min
Views19K

Лирика


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


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


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

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

15 книг по машинному обучению для начинающих

Reading time5 min
Views175K
Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как.
Добавляйте в закладки и делитесь с коллегами!

Книги по машинному обучению на русском


1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин.

О чем

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

2. «Верховный алгоритм» Педро Домингос.

О чем

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.
Читать дальше →

Безумие дотфайлов

Reading time4 min
Views56K
Мы больше не контролируем свои домашние каталоги.

В моём собственном 25 обычных файлов и 144 скрытых. В дотфайлах хранятся данные, которые не принадлежат мне: они принадлежат программистам, чьи программы решили захватить моё пространство, предназначенное для хранения моих личных файлов.

Я не могу убрать эти файлы в другое место. Если я попытаюсь их удалить, они появятся снова. Всё, что я могу сделать — это сидеть и знать, что в темноте, за кулисами, они есть. Ожидание в тишине. Некоторые из этих программистов решили дополнительно разместить здесь несколько обычных файлов и каталогов. Они хорошо видны каждый раз, когда я выполняю ls. Понятия не имею, как в мою личную папку попали каталог node_modules, файлы package-lock.json, yarn.lock (я никогда сознательно даже не ставил yarn!), какие-то два странных лог-файла от какой-то Java-программы, явно использующей СУБД H2, и папка Desktop. Последнюю создал Steam, что довольно неудачно, поскольку на моей машине просто нет рабочего стола или какого-то десктопа. Боюсь того дня, когда услышу громкий стук в дверь — и один из этих программистов ворвётся и сообщит, что собирается хранить часть своей мебели посреди моей гостиной, если я не возражаю.
Читать дальше →

Написание диссертации. Инструкция к применению. Взгляд с другой стороны баррикад

Reading time12 min
Views205K
image
На Хабре регулярно появляются статьи, ориентированные на помощь при написании и защите диссертации (например, здесь и здесь). Лично мне в свое время помогли шуточные заповеди диссертанта, коим уже не один десяток лет (вариант, который впервые увидел я, был еще рукописным, причем потрепанным не хуже древнерусских летописей).

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

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

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

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

Руководство по ассемблеру x86 для начинающих

Reading time16 min
Views166K
В наше время редко возникает необходимость писать на чистом ассемблере, но я определённо рекомендую это всем, кто интересуется программированием. Вы увидите вещи под иным углом, а навыки пригодятся при отладке кода на других языках.

В этой статье мы напишем с нуля калькулятор обратной польской записи (RPN) на чистом ассемблере x86. Когда закончим, то сможем использовать его так:

$ ./calc "32+6*" # "(3+2)*6" в инфиксной нотации
30

Весь код для статьи здесь. Он обильно закомментирован и может служить учебным материалом для тех, кто уже знает ассемблер.

Начнём с написания базовой программы Hello world! для проверки настроек среды. Затем перейдём к системным вызовам, стеку вызовов, стековым кадрам и соглашению о вызовах x86. Потом для практики напишем некоторые базовые функции на ассемблере x86 — и начнём писать калькулятор RPN.
Читать дальше →

Автоматическое обновление фотографии профиля Вконтакте

Reading time6 min
Views5.8K
Код для обновления фотографии профиля Вконтакте с помощью VK API. Рассмотрим работу с капчей и загрузим код на сервер для автоматического обновления фотографии.

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

Что же не так с IT-образованием в России

Reading time8 min
Views17K
Всем привет.

Сегодня я хочу рассказать, что же именно не так с IT образованием в России и как, на мой взгляд, стоит сделать, а еще дам советы тем, кто только поступает да, я знаю, что уже чутка поздно. Лучше поздно, чем никогда. Заодно узнаю ваше мнение, может и для себя что-то новое узнаю.

Прошу сразу всех откинуть аргументы про то, что «в универах учат учиться», «никогда не знаешь, что тебе пригодится в жизни» и «диплом же нужен, без него никак». Речь сейчас не об этом, если захотите, я и об этом выскажусь.
Читать дальше →

Не шутите с NULL

Reading time5 min
Views23K
Достойная пятницы история приключилась с американским исследователем в области безопасности Джозефом Тартаро (Joseph Tartaro). Захотелось ему выделиться, заказав не просто индивидуальный номер на авто, но и связав его со своим ремеслом. Первой мыслью было поиграться с SEGFAULT или чем-то вроде этого. Но в итоге он остановился на номере NULL для своей машины и VOID для своей жены. Почуяли неладное? О том, чем обернулась для него невинная шалость, о ещё одном курьёзном мистере Null и о поучительных багах при проверке типов данных в пользовательском вводе, читайте под катом.

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

Мелкая питонячая радость #9: консольные приложения с человеческим лицом

Reading time3 min
Views16K

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


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


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


image

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

Как я почти рейтрейсил в реальном времени в 1997 году

Reading time5 min
Views14K
Я хотел бы поделиться воспоминаниями о своих попытках сделать «3D графический движок» «своими руками» практически в до-интернетную эпоху (он как бы уже где-то там конечно был, но у меня его фактически не было). Никакую Америку открыть не удалось, революции тоже не случилось, но было много старания, мучений и фана. С годами память о многих событиях стирается, исчезают детали, тускнеют впечатления — при многочисленных переездах коробка с дискетами были потеряна и никаких артефактов от описываемых событий не осталось.
Читать дальше →

Интеграция Python и C++

Reading time3 min
Views57K
Всем доброго времени суток!

Недавно при прототипировании одной из частей разрабатываемого нами продукта возникла одна интересная задача: нужно было проверить склейку Python и C++. Связано это было с тем, что основной код был написан на плюсах, и необходимо было подключить внешнюю библиотеку Websockets, написанную на Python (на тот момент не было соответствующей библиотеки на C++). Схема взаимодействия при такой задаче достаточно простая. Из C++ вызывается функция подключения к серверу (на python), в качестве параметра передается его адрес. Соответственно, при получении сообщния Python передавает его обратно в метод C++.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity