paradiSEcurity
5.17K members
60 photos
4 videos
1 file
125 links
Проблемы разработки, безопасности и жизни
Cтикеры – https://t.me/addstickers/hackerwomanParadisecurity
Есть вопросы, пиши @mother_paradisecurity_bot
Download Telegram
to view and join the conversation
Я подписана на о-очень много каналов, блогов, твиттеров, мне приходят оповещения об обновления документации и прочее-прочее. В итоге это приводит к перенасыщению информацией. Все любят говорить, что кто владеет информацией – тот владеет миром. Но иногда этой информации становится слишком много)

Поэтому я устроила себе детокс.

Я замечаю, когда это нужно сделать, когда становлюсь слишком токсичной и мне не хочется что-то рассказывать, хочется только критиковать. Вообще токсичность – это не только моя проблема. Большинство разработчиков – токсичные. А специалисты по информационной безопасности – наверно, самые токсичные люди в мире. Знаете почему?

Потому что иб специалисты постоянно видят только негативную сторону процесса, а 30% разработчиков работаю над правками багов.

Скажу честно, ревью и баги – мои самые нелюбимые части работы. Вот смотришь на них, и они кажутся такими очевидными, но при этом они все равно есть в твоем проекте. Да и вообще в любом проекте.

А вы любите править баги? А ревью?

Вы токсичные?

Прикрепила комменты, чтобы мы могли поболтать)
Просто ору 🤣
This media is not supported in your browser
VIEW IN TELEGRAM
Когда-то я рассказывала, что страдаю стандартной проблемой программистов – болят запястья. Чтобы вылечить эту проблему я пробовала многое: от стандартной терапии, до собачьей шерсти. Когда из-за ноющей боли уже не получается спать – начинаешь верить даже в красные узелки. Но все это убирало проблему лишь на время или, как в случае с фиксирующими повязками, действовало только пока я их носила.

Но все оказалось гораздо проще. Купила массажер для рук и проблема ушла. Может кому-то поможет, поэтому делюсь. Это не реклама конкретно этого массажера. Вообще, я недавно узнала, что данный массажер – это фактически копия такого же массажера от Xiaomi, который стоит в 3 раза дешевле.

Не ручаюсь, что поможет и вам, но мне пока что помогло. Через год отпишусь еще раз вернулась ли проблема.
🍥Смешивай

Зашел в каталог IKEA и увидел там знакомое слово PRODUKT
Шведы очень правильно подметили, что моя задача – трястись и взбивать пенку! Думайте также в отношении и ваших профессий и вы прийдете к успеху!
Что я думаю о продактах на проекте 👆
​​Кажется, в Google наконец осознали способ, как не хранить в облаке всю информацию обо всех действиях пользователя в браузере. В скором времени они планируют запустить проект под названием "Privacy Sandbox", который будет обеспечивать защиту анонимности пользователей в сети и снижение потерь данных из-за утечек.

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

В Google сообщили, что эффективность системы равна 95%.

Учитывая, насколько активно Apple пытается бороться с cookies – это полезное нововведение. В погоне за глобальностью и открытостью крупные игроки вынуждены пересмотреть ключевые правила функционирования рынка интернет рекламы. Однако Facebook не оставляет попыток доказать свою правоту в битве против сервиса по управлению контентом и технологий облачного хранения данных.

Но не спешите снимать шапочку из фольги!

Единственное отличие между другими игроками рынка и компанией Google состоит в том, что у Google есть Chrome, поэтому они могут позволить себе такие новшества. Например, социальные сети не смогут сохранить эффективность своих рекламных инструментов при таком подходе. У остальных компаний примерно такая же дилемма. Именно поэтому cookie будут жить ещё долго.

Также любопытно, каким образом Google сможет фиксировать перекрёстные действия пользователей и следить за ними. Данные могут храниться локально на вашем смартфоне, но если вы сделаете покупку через десктоп, то не будет ли показываться устаревшая реклама в мобильном браузере? Новая технология Google пока что не имеет решения этой проблемы. Однако в cookies уже все предусмотрено.

Забавно, что я сгенерировала этот текст с исходника в smartwriter.io 😂 Исходник прикладываю.

А что вы думаете о своих куках?
Завтра в лайт-режиме с ребятами из Mobile People Talks поговорим о нейросетях в мобильных приложениях:

🔥 О том как работает аналитика пользовательского поведения
🔥 Что о вас знает Снепчат и ТикТок
🔥 Как ваши кеки влияют на рекламу, которую вы видите
🔥 И почему гугл камера, когда вы делаете 1 снимок, на самом деле делает 10 и отправляет их напрямую на стол Сергею Брину

Залетайте в 17:00.
Недавно я выходила в эфир с темой нейронные сети в мобильных приложениях (в особенности всех интересовало, как можно предсказывать, как будет вести себя пользователь). Цель подкаста была затронуть тему ML на мобилках, тк в последнее время она интересует многих. Решила перевести то, о чем я говорила в текст. Ведь вы любите читать 😉

Расскажу об основных аспектах, которые были затронуты

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

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

📒 Однако большинство мобильных разработчиков с этой сферой до сих пор сталкиваются очень редко. Это скорее нишевые задачи и большинство предпочитает использовать уже что-то готовое: Apple (Core ML, Create ML, Turi Create, Core ML Tools), Google (ML Kit, TensorFlow Lite) и Facebook (PyTorch Mobile).

📒 Для того чтобы обучаться на пользовательских данных в мобильных приложениях всегда нужно помнить о безопасности. Нельзя просто собрать все пользовательские данные и отправлять облако. Самый оптимальный вариант – распределенное обучение. Это когда модель обучается на общедоступных обезличенных данных, а потом дообучается локально на конкретном пользователе.

📒 Помещение модели непосредственно на устройство и возможность ее извлечения реверсером – не самая большая проблема, которую нужно решать при работе с ML на мобилках. Условно, если вы вытащите маски из Snapchat, вы не создадите свой Snapchat.

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

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

📒 Предсказание поведения в приложении – с помощью собранных данных можно формировать “подобные” пользовательские группы, которые покидают приложение по одинаковым причинам и вместо индивидуального решения проблемы, решать проблему сразу целой группы, что существенно сокращает время.
Если вам не нужно решать стандартную проблему, вроде распознавания изображений (инструменты на такие случаи общедоступны), вам придется решать проблему самостоятельно, в большинстве случаев понадобится вникнуть в алгоритмы или придумать свой.

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

Есть тут разработчики, которые уже занимаются ML на мобильных устройствах? 🤔
Когда я только пришла в разработку, то вообще не понимала, кто эти загадочные далёкие люди, которые выступают на конференциях. Их профессионализм казался мне недостижимым.

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

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

🔥 Выступления помогают выделить сферы, которые вы понимаете лучше всего
🔥 Структурировать знания
🔥 Тренировать ораторские навыки
🔥 Делиться своими навыками с другими
🔥 Заявить о себе и рассказать, чем вы занимаетесь

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

Как правило, разработчики делятся на два типа: те кто хочет выступать и те, кто не хочет 😉

Ну так если вы из первой категории, то вам точно стоит подать свой доклад на Mobius.

Заявки принимаются до 16 февраля. По всем вопросам можно писать @OksanaMiroshnichenko
В последнее время я увлеклась голосовыми наборами текста. На мой взгляд это весьма удобно, особенно когда руки заняты. Я пробовала данный тип набора, когда он только появился, и немного позже. Но меня никогда не устроило качество. Сейчас же это стало весьма удобно.

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

Единственный вопрос тут: не отправляется ли этот текст напрямую на сервак компании. Я бы точно не стало надиктовывать что-то секретное таким образом.

Так что теперь интересно, когда можно будет диктовать также код. Это было бы весьма занимательно. Хотя может быть кто-то это уже сейчас практикуют.

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

Я тоже рада, а вы?
Супер апгрейд клавы по православному для Macbook Pro. Пользуйтесь.
Уже неделю вою чтобы завели джиру. Это первый такой опыт для меня, либо я старею, либо задачи уже стали размываться.

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

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

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

А еще пейте больше воды))
​​Вчера марсоход НАСА "Персеверанс" успешно приземлился на Марсе. Люди следили за этим в прямом эфире. Это далеко не первое устройство с Земли, которое прибыло на Марс для изучения его почвы и атмосферы, но, к сожалению, на Марсе до сих пор нет ни одного Российского робота. Хотя, учитывая как они выглядит, может это даже лучше для самого Марса.

Почему НАСА эффективен, судя по видимым результатам, а Роскосмос – нет? Почему китайские космические компании эффективнее Роскосмоса? Почему даже ОАЭ уже доставило свой аппарат на Марс, а Роскосмос – нет?

На самом деле ответ на этот вопрос довольно важен. Например, это поможет вам не устроиться на бесполезную работу, результаты которой не будут нигде цениться и уж тем более эффективно использоваться. Как правило, именно это ломает мотивацию и любое стремление делать хоть что-нибудь и потом мы видим разработчиков, которые по десять лет сидят в одной и той же компании, выполняют одни и те же никому не нужные задачи и никак не развиваются. А если их сокращают, получается история из анекдота: Senior C++ программист уже полгода не может найти работу.

Ключ к ответу, почему Роскосмос не эффективен прост: от него никто и не требует, чтобы он был эффективен. Когда-то Роскосмос наработал большой бэкграунд и юзал его по полной, пока он наконец не устарел, а конкуренты не стали обгонять его. Возможно из года в год проводился какой-то анализ: а догнал ли нас кто? Если нет – дальше сокращаем зарплаты инженерам и экономим на разработках. Очень похоже на обычную стагнацию? А потом, как запустимся, как начнем работать! Однако это так.

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

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

Так что сегодня мы рассмотрим ML Kit от Google

Вообще, ML Kit появился не так давно (в 2018 году) и изначально, по отзывам, работал не очень хорошо. Но сейчас ребята из Googlе все подкрутили, учли предыдущие ошибки и технология стала очень даже годной, если использовать ее именно для тех задач, под которые она и была заточена.

👀 Распознавание текста
👀 Распознавание лиц
👀 Сканирование штрих-кодов
👀 Маркировка изображений
👀 Обнаружение и отслеживание объектов
👀 Распознавания ориентиров
👀 Идентификация языка
👀 Перевод
👀 Умные ответы
👀 Работа с AutoML
👀 TensorFlow Lite с ML Kit

Два последних пункта более сложные, тк рассчитаны на работу с собственными моделями обучающих данных, а для этого вы должны быть уже опытным ML-разработчиком.

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

Все остальное же использовать очень просто. Выбираете какая технология вас интересует, интегрируете в проект с помощью implementation, как любую-другую библиотеку и используете доступное API.

В последнее время я вообще заметила, что статьи по применению ML Kit множатся с невероятной скоростью, но фактически все из них просто пересказывают довольно подробную документацию Firebase.

А если вам сложно читать обычный человеческий текст, то вы можете посмотреть как это работает на примере кода.
Bitcoin – никогда не поздно вложиться.
Случайно залетела в Clubhouse на посиделки от Forbes, а там Тиньков буллит своих разрабов, лол)))

Думаю, Clubhouse для разрабов Тинькофф скоро будет запрещен, а еще снэпчат, инстаграм и, что уж там, телега)
Распознавать адреса в тексте 👁

Как часто с вами случалось такое, что вам пишут посреди большого сообщения нужную вам информацию, но для того, чтобы получить только ее, вам приходится копировать сообщение целиком, а потом вырезать лишнее?

Для решения этой проблемы Google выпустила библиотеку Entity Extraction, которая позволяет находить отдельные сущности в тексте и классифицировать их (на данный момент доступна поддержка 11 типов сущностей на 15 языках).

Суть работы библиотеки состоит в следующем

1. Текст сообщения разбивается на слова
2. Происходит перебор всевозможных последовательностей не более 15 слов
3. Каждой последовательности присваивается оценка, насколько она похожа на ту или иную сущность (от 0.0 до 1.0)
4. Для пересекающихся последовательностей выбирается те, что имеют наивысшую оценку
5. Для отобранных последовательностей происходит определение, к какой сущности относится каждая из них.

Вроде бы на бумаге выглядит круто. Однако недостатком такого решения стала скорость обработки одного сообщения — от 8 до 100 мс. Например, в случае с мессенджером при подгрузке чанка из 40 сообщений обработка доходила до 4с 😱

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

Как результат — решена проблема нахождения и выделения важной инфы в сообщениях (работу выполняли разработчики мессенджера ТамТам, а по пути еще и попали в Google Developers Blog) 🙂
FlatBuffers vs JSON

Не знаю, многие ли слышали FlatBuffers, но сегодня речь пойдет именно о нем.

FlatBuffers – это эффективная кроссплатформенная библиотека сериализации для C ++, C #, C, Go, Java, JavaScript, PHP и Python. Изначально он был создан Google для разработки игр и других приложений, критичных к производительности.

Зачем использовать FlatBuffers?

🥖 Доступ к сериализованным данным без синтаксического анализа/распаковки
🥖 Эффективность и скорость
🥖 Гибкость
🥖 Мало кода
🥖 Строго типизированный
🥖 Удобен в использовании
🥖 Кроссплатформенный код без зависимостей

Он значительно быстрее JSON. Но почему же тогда его так мало используют в мобильной разработке?

Вообще, из публичных компаний я, наверно, знаю только одну, которая не стесняется говорить, что использует FlatBuffers – и это Facebook. Еще недавно я узнала что с недавних пор Google втащил его почти во все свои либы и с помощью этого существенно ускорил их работу.

Мне тоже удалось поработать с FlatBuffers, я не внедряла его в прод, но это есть в планах и я понимаю какие там цифры. И да, кстати, о них:

На разбор 5МБ файла уйдет:
🙂 FlatBuffers – 2-7 мсек
😶 JSON – 2000-2500 мсек

При использовании FlatBuffer в приложении Android не вызывается сборщик мусора, в отличии от JSON. Так что фактически единственный вариант для адекватной работы с JSON без зависания интерфейса – в фоновом потоке 🤔