Как стать автором
Обновить
5
0
Никита @briskly

Пользователь

Отправить сообщение

Пасхалка в APK-файлах: что такое Frosting

Время на прочтение28 мин
Количество просмотров4.1K


Автор: Константин Молодяков


Структура файла — увлекательный мир со своими историей, тайнами и собственным цирком уродов, где выступают костыльные решения. Если в ней покопаться, можно найти много интересного.


Я наткнулся на одну особенность APK-файлов — специальную подпись с особым блоком метаданных, Frosting. Она позволяет однозначно определить, распространялся ли файл через Google Play. Эта подпись будет полезна для антивирусных вендоров и песочниц при анализе вредоносов. Кроме того, она может помочь криминалистам при поиске источника файла.


Информации об этом практически нет. Удалось найти только раздел Security metadata in early 2018 в Android Developers Blog и утилиту Avast, которая позволяет проверить данную подпись. Я решил изучить эту штуку, проверить корректность предположений разработчиков Avast о содержании Frosting-блока и поделиться своими выводами.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

В поисках идеального файлового хранилища

Время на прочтение17 мин
Количество просмотров25K

Ранее мы рассматривали прототип масштабируемой read-only файловой системы. Удалось показать, что, используя предложенную архитектуру, можно построить файловую систему любой емкости, с гарантированным временем доступа, соизмеримым с таковым для доступа к файлу в пределах одного физического диска.
Далее постараемся разобраться, может ли подобный подход принести пользу при построении файловой системы общего назначения.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Бесплатный Cryptic Disk 4 с поддержкой TrueCrypt

Время на прочтение1 мин
Количество просмотров31K
Выпуск бесплатной версии Cryptic Disk Free — первый шаг навстречу пользователям.
Второй шаг — встроенная поддержка контейнеров умирающего TrueCrypt.
Ждём ещё один, последний шажок — открытые исходники.

image

Скачать бесплатную версию
История версий
Официальная новость
Всего голосов 36: ↑22 и ↓14+8
Комментарии44

Жонглирование. Теория. Практика

Время на прочтение5 мин
Количество просмотров40K
Настороженно отношусь к непрофильным топикам, но решил написать этот по следующим причинам:
  • У жонглирования есть своя теория — стройная и математически привлекательная!
  • Мы живем не только работой. Жонглирование — отличное развлечение и разминка после долгого сидения за компом.
  • В пятницу приятно немного расслабиться и почитать не очень серьезные статьи. К тому же, будет чем заняться на выходные, особенно если у вас не было определенных планов.

Теория


Утверждать, что жонглирование — это последовательность бросков, все равно, что сказать, что музыка — это просто последовательность нот. Нельзя назвать это неправдой, но любой, хоть немного знакомый с музыкальной теорией, возмутится последним определением — столь поверхностным и недалеким.
Читать дальше →
Всего голосов 252: ↑242 и ↓10+232
Комментарии45

Асинхронность 2: телепортация сквозь порталы

Время на прочтение27 мин
Количество просмотров49K


Не прошло и года, как я добрался до продолжения статьи про асинхронность. Эта статья развивает идеи той, самой первой статьи про асинхронность [1]. В ней обсуждается достаточно сложная задача, на примере которой будет раскрыта мощь и гибкость использования сопрограмм в различных нетривиальных сценариях. В заключение будут рассмотрены две задачи на состояние гонки (race-condition), а также небольшой, но очень приятный бонус.
Читать дальше →
Всего голосов 63: ↑60 и ↓3+57
Комментарии28

DEF CON CTF 22 Final

Время на прочтение10 мин
Количество просмотров14K
С 7 по 10 августа в Лас-Вегасе (США) прошла крупнейшая конференция по информационной безопасности — DEF CON. Мероприятие проходит уже 22 год. Мы принимали участие в финальном этапе DEF CON CTF. На самой конференции народу очень много. Сначала я слышал что-то про 6 тысяч человек, потом — про 15. Переходы между залами для докладов днем были похожи на переходы в московском метро. Но обо всем по порядку.


Коридор за час до начала конференции
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии12

Дао программирования, часть 1

Время на прочтение4 мин
Количество просмотров52K

Книга 1


Безмолвная пустота.

И сказал Великий Программист: «Если ты научился выхватывать ошибочный код из эксепшена, значит пришла пора тебе уходить».
Читать дальше →
Всего голосов 108: ↑74 и ↓34+40
Комментарии16

Вероятностные модели: LDA, часть 2

Время на прочтение6 мин
Количество просмотров23K
Продолжаем разговор. В прошлый раз мы сделали первый шаг на переходе от наивного байесовского классификатора к LDA: убрали из наивного байеса необходимость в разметке тренировочного набора, сделав из него модель кластеризации, которую можно обучать ЕМ-алгоритмом. Сегодня у меня уже не осталось отговорок – придётся рассказывать про саму модель LDA и показывать, как она работает. Когда-то мы уже говорили об LDA в этом блоге, но тогда рассказ был совсем короткий и без весьма существенных подробностей. Надеюсь, что в этот раз удастся рассказать больше и понятнее.

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии7

Как стать переговорщиком — интервью с Дмитрием Коткиным

Время на прочтение11 мин
Количество просмотров30K
Два наших недавних видео-ролика про переговоры набрали 40,000 просмотров за два дня.


Тема оказалось интересной. И это не удивительно, мы ведем переговоры каждый день. Увидев такой интерес к теме, мы уговорили Дмитрия Коткина, автора этих видео-роликов и по совместительству руководителя питерской школы переговорщиков ШиП, сделать интервью про то, как стать переговорщиком.

О чем поговорили:
  • Как Дмитрий Коткин попал в тематику переговоров?
  • Какие были переговорные неудачи?
  • О работе в политике
  • В чем специфика IT-специалистов и IT-компаний в плане переговоров
  • 4 главных принципа любых торгов
  • С чего начать, когда стартуешь проект с новым заказчиком
  • Что делать, когда заказчик пропихивает новые требования
  • Главная вещь в обучении переговорам
  • 6 лучших книг по переговорам


Читать дальше →
Всего голосов 36: ↑27 и ↓9+18
Комментарии7

Как устроена инфраструктура обработки данных Sports.ru и Tribuna.com?

Время на прочтение11 мин
Количество просмотров29K
В первом посте об аналитической системе Sports.ru и Tribuna.com мы рассказали о том, как используем нашу инфраструктуру в повседневной жизни: наполняем контентом рекомендательную систему, наблюдаем за бизнес-метриками, ищем среди пользовательского контента бриллианты, находим ответы на вопросы “Как работает лучше?” и “Почему?”, нарезаем пользователей для почтовых рассылок и строим красивые отчеты о деятельности компании. Всю техническую часть повествования мы скромно спрятали за этой схемой:

Бирюзовым обозначены компоненты в нашей собственной ИТ-инфраструктуре, оранжевым - все то, что мы используем как внешний сервис

Читатели законно потребовали продолжить повествование со смешными котиками, а olegbunin пригласил рассказать о всем, что было скрыто, на РИТ++. Что ж, изложим некоторые технические детали – в продолжении веселого поста.
Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии3

Едем в Кремниевую Долину — самостоятельный тур по знаковым местам Долины

Время на прочтение3 мин
Количество просмотров32K
Кремниевая Долина — это легенда. Те, кто никогда не был в Долине, возможно представляют себе знак «Silicon Valley», а там — сказка.

Что же на самом деле из себя представляет Долина? Куда стоит пойти? Что стоит посмотреть?

Итак:

image

Вот тут собраны основные места Долины, где стоит побывать.
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии26

Проблема 10 миллионов соединений

Время на прочтение1 мин
Количество просмотров25K
Несколько дней назад Роберт Грэм начал работу над серией статей C10M и планирует закончить работу в июле этого года.

Сегодня уже доступны следующие главы:
Читать дальше →
Всего голосов 56: ↑47 и ↓9+38
Комментарии9

3 года «Черной книге менеджера»: что изменилось в индустрии? Интервью со Славой Панкратовым

Время на прочтение24 мин
Количество просмотров43K
За те 6 лет, что я занимаюсь образовательными проектами по управлению людьми, довелось сделать интервью с десятками менеджеров и директоров. У нас были ТОР-менеджеры Лаборатории Касперского, Oracle, EPAM, Global Logic и других компаний — самые разные люди. И я понял, что до сих пор не сделал интервью с тем, с кем давно нужно было сделать — с моим коллегой SlavaPankratov.

А тут как раз и повод подоспел — три года с выхода “Черной книги менеджера” (18+, требуется регистрация), вероятно самой популярной и скандальной книги по менеджменту. Ровно три года назад Слава ее как раз и написал.

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

image

Читать дальше →
Всего голосов 56: ↑43 и ↓13+30
Комментарии33

Управленческие инструменты: 4-фазный алгоритм решения проблем с людьми или «А чего ты хочешь, если ты такой хреновый менеджер?»

Время на прочтение10 мин
Количество просмотров179K
На одном из давних тренингов мы отрабатывали кейс “Сотрудник не присылает вовремя отчеты”. Кейс абсолютно не привязанный к реальной жизни — ведь такого же не бывает, чтобы люди не присылали вовремя отчеты, верно?

И вот одному менеджеру не досталось пары, и я встал играть роль сотрудника. До этого всем пар хватало, поэтому к роли сотрудника я был не очень готов…

Моим собеседником оказался молодой человек, назовем его Егор, технический директор небольшой компании.

Цель кейса — донести до сотрудника обратную связь, что отчеты надо присылать вовремя. Егор начал сразу с места в карьер:

— Александр, как же так, почему Вы не присылаете мне отчеты?

Я стоял, думал-думал, чего сказать. И потом ляпнул первое, что пришло в голову:

— Егор, а чего ты хочешь, если ты такой хреновый менеджер?!

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

— Что значит “хреновый менеджер”?!!! Это недопустимо — так разговаривать с руководством…

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

И сегодня мы как раз поговорим о том, как доносить до людей неприятную обратную связь, а также как ее правильно принимать. Как обычно— алгоритмы, схемы, примеры — все, что мы любим. :) И многобуков, что мы не любим, но зато с подробностями.
Читать дальше →
Всего голосов 185: ↑174 и ↓11+163
Комментарии106

Почему использование юнит тестов это отличная инвестиция в качественную архитектуру

Время на прочтение7 мин
Количество просмотров21K
На понимание факта, что юнит тесты это не только инструмент борьбы с регрессией в коде, но также и отличная инвестиция в качественную архитектуру меня натолкнул топик, посвященный модульному тестированию в одном англоязычном .net сообществе. Автора топика звали Джонни и он описывал свой первый (и последний) день в компании, занимавшейся разработкой программного обеспечения для предприятий финансового сектора. Джонни претендовал на вакансию разработчика модульных тестов и был расстроен низким качеством кода, который ему вменялось тестировать. Он сравнил увиденный им код со свалкой, набитой объектами, бесконтрольно создающими друг друга в любых непригодных для этого местах. Также он писал, что ему так и не удалось найти в репозитории абстрактные типы данных, код состоял исключительно из туго переплетенных в один клубок реализаций, перекрестно вызывающих друг друга. Джонни, понимая всю бесполезность применения практики модульного тестирования в этой компании, обрисовал ситуацию нанявшему его менеджеру и, отказавшись от дальнейшего сотрудничества, дал напоследок ценный, с его точки зрения, совет. Он посоветовал отправить команду разработчиков на курсы, где бы их смогли научить правильно инстанцировать объекты и пользоваться преимуществами абстрактных типов данных. Я не знаю, последовал ли менеджер совету (думаю, что нет), но если вам интересно, что имел в виду Джонни и как использование практик модульного тестирования может повлиять на качество вашей архитектуры, добро пожаловать под кат, будем разбираться вместе.
Читать дальше →
Всего голосов 41: ↑31 и ↓10+21
Комментарии105

Книга «How Google Tests Software» теперь на русском!

Время на прочтение2 мин
Количество просмотров54K
Полтора года назад, когда вышла книга «How Google Tests Software», я загорелась перевести ее на русский язык. Я давно восхищаюсь Уиттакером, я переводила его статьи, слушала мастер-классы и считаю его самым крутым чуваком в тестировании. Тогда я еще работала руководителем отдела тестирования в «Иннове», и компания поддержала мой проект.

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

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

И вот, в январе издательство «Питер» выпустило книгу на русском языке с нашим переводом и дизайном:

Читать дальше →
Всего голосов 130: ↑123 и ↓7+116
Комментарии59

Что такое теория и причем тут научный метод

Время на прочтение6 мин
Количество просмотров55K
У меня есть теория, что любую фразу можно превратить во что-то кажущееся невероятно глубокомысленным, если в конце приписать имя какого-нибудь древнего философа. Платон (оригинал).


Теория (греч. θεωρία — рассмотрение, исследование) — учение, система идей или принципов (вики). Именно в таком, самом широком смысле в обычно речи мы употребляем слово «теория» в каждодневной речи. Например, у меня есть теория почему машина не заводится — некоторый набор идей и выводов, объясняющий поломку. Однако, в научном мире теория имеет достаточно строгое и формальное значение и обязательно удовлетворяет определенному набору важных критериев.

Под катом много картинок и примеров, и совсем нет формул.

Читать дальше →
Всего голосов 65: ↑57 и ↓8+49
Комментарии51

Как математика помогает Яндексу зарабатывать?

Время на прочтение4 мин
Количество просмотров50K
Яндекс зарабатывает сотни миллионов долларов в год, хотя наш поиск — бесплатный. Основной доход мы получаем от рекламы, соединяя продавцов с покупателями. Чтобы делать это хорошо, мы используем сложные алгоритмы, созданные на основе математической статистики, теории вероятностей, машинного обучения, теории игр и теории аукционов. Улучшение алгоритмов всего на несколько процентов — это дополнительные десятки миллионов долларов в год. Из этой лекции вы узнаете, как математика может работать в рекламе.



Конспект лекции
Всего голосов 119: ↑100 и ↓19+81
Комментарии44

Неподтвержденная транзакция, или Возвращаем криптовалюту из небытия

Время на прочтение6 мин
Количество просмотров220K
Волею судеб довелось мне иметь дело с криптовалютами. Не то что бы плотно работаю с ними, но иногда то отправлю монетки, то получу. Скажем так, понемногу прощупываю новую сферу изнутри.

И вот однажды беда приключилась. Отослал я криптомонетки, а до получателя они не дошли. Собственно, пост о том, как средства возвращались. Ну и размышления и советы по сложившейся ситуации на десерт. Сразу отмечу, что нижесказанное применимо не к какой-то конкретной валюте, а к большинству форков (если не ко всем).
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии32

Масштабировать просто. Часть третья — стратегии

Время на прочтение6 мин
Количество просмотров14K
В предыдущих частях (тут и тут) мы говорили об основных архитектурных принципах построения масштабируемых порталов. Сегодня продолжим разговор об оптимизации правильно построенного портала. Итак, стратегии масштабирования.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии3

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность