Pull to refresh
36
0
Богданов Илья @vitvakatu

Rust Developer

Send message

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficulty Easy
Reading time 26 min
Views 155K

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

Читать далее
Total votes 159: ↑157 and ↓2 +155
Comments 44

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

Reading time 54 min
Views 123K

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

Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

Интересующихся приглашаю под кат.

Читать далее
Total votes 127: ↑123 and ↓4 +119
Comments 210

FizzBuzz по-сениорски

Reading time 7 min
Views 115K

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее
Total votes 383: ↑376 and ↓7 +369
Comments 306

Как я стал PMP, не выпив ни одного кофе

Reading time 5 min
Views 18K

Всем привет, меня зовут Максим!

В начале 2020 года я решил сконцентрироваться на проектах по разработке программного обеспечения и перешел на позицию руководителя IT проектов в банк.

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

Читать далее
Total votes 25: ↑18 and ↓7 +11
Comments 10

Программист учится рисовать. Дневник Емели

Reading time 16 min
Views 34K
Так получилось, что моим основным хобби на лихой 2020-й год стало освоение ремесла рисования.

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

spoiler
В конце года я остался доволен собой и окончательно понял, что я хотел бы прокачиваться и дальше!

image
Так выглядел мой уровень изобразительных навыков в ноябре предыдущего (2019-го) года

Формат подачи данной статьи — это на 95% личный дневник, который я вел в гугл-доке, записывая, что я делал каждый месяц, свои ощущения и как-то фиксируя собственный прогресс — смотрел, сколько работ мне удалось нарисовать и какого они были качества — нравились ли они мне лично или были совсем так себе по исполнению.
Читать дальше →
Total votes 144: ↑143 and ↓1 +142
Comments 123

Фантастика 2020 года, которую стоит почитать

Reading time 6 min
Views 109K


Под конец года принято подводить итоги и кажется стоит вспомнить, что же было в этом непростом году хорошего. Например, я читал много отличных книг (что еще делать дома?). Вот немного про самые примечательные из них или, по крайней мере, те, которые сильнее всего запомнились мне.
Читать дальше →
Total votes 57: ↑55 and ↓2 +53
Comments 112

Погода в доме или бюджетный мониторинг CO2, PM2.5, температуры и влажности на ESP32 и Blynk

Reading time 6 min
Views 37K
По просьбах трудящихся в этой теме, решил сделать обзор-инструкцию, как можно сделать бюджетный измеритель CO2.

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

Также для максимальной простоты повторения, в обзоре выложу прошивку для ESP32 и проект Blynk.
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 30

Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть

Reading time 14 min
Views 135K


Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


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


Небольшая часть урожая


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


Сегодня в меню


  1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
  2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
  3. Питание растения как алгоритм
  4. Как быстро собрать прототип гидропонной установки
  5. Что такое capsicum chinense и как выжить при дегустации
Total votes 248: ↑248 and ↓0 +248
Comments 327

Эксперименты с тиграми и другие способы преподавать программирование студентам, которым скучно

Reading time 16 min
Views 14K
image

Привет, Хабр! Я Маша, старший инженер-разработчик iOS в КРОК и аспирант на кафедре Прикладной математики и Искусственного интеллекта в московском вузе. А еще я уже четыре года преподаю. Два года назад мы с коллегами с кафедры, преимущественно аспирантами, основали кружок спортивного программирования, который вырос в большое IT-коммьюнити в стенах универа, где мы делимся разного рода знаниями со студентами.

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

Первый ужас я испытала на первом же занятии со студентами. Одна группа не могла привести ДНФ в КНФ, другая — не смогла даже общим усилием воли вспомнить таблицу истинности для конъюнкции и дизъюнкции. Третья — не понимала как программно устроены списки (это у нас проходят годом ранее). А потом я вспомнила себя — про мой курс преподы говорили то же самое. И про курсы до нас, и про курсы после меня. И школьную учительницу Ольгу Николаевну вспомнила: «В этом году класс еще слабее, чем в прошлом — если так пойдет и дальше, вернемся к жизни на деревьях!». В школе мне казалось, что это такой изощренный педагогический прием, который должен подхлестнуть нас учиться усерднее чтобы «доказать, что мы лучше чем кажется». Ошибалась.

Решили мы с коллегами порефлексировать — а почему так происходит? Результаты, наши грабли и опасные эксперименты с тигром под катом!
Читать дальше →
Total votes 77: ↑71 and ↓6 +65
Comments 126

Процедурная генерация деревьев методом транспорта питательных веществ

Reading time 11 min
Views 11K

Примечание: код для этой статьи выложен на мой Github [здесь].

Я провёл всё лето в восточной Пенсильвании рядом с рекой Делавер, потому что кампус MIT в начале марта закрыли и мне пришлось поехать домой. Время от времени прогуливаясь рядом с домом или работой, я заходил в леса, и однажды подметил простой принцип:

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

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

В данной статье будет описана эта модель и способ её использования для генерации реалистично выглядящих деревьев с разной морфологией.

При помощи этой методики можно генерировать высококачественные меши деревьев на разных этапах роста в реальном времени и с незначительной тратой вычислительных ресурсов!
Total votes 39: ↑39 and ↓0 +39
Comments 7

Программирование квантовых компьютеров: джентльменский набор издательства «Питер»

Reading time 7 min
Views 13K

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

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

Вот как это было
Total votes 22: ↑22 and ↓0 +22
Comments 3

Попробуем выдвинуть аргументы против Rust

Reading time 6 min
Views 24K
Недавно я прочитал статью c критикой Rust. Хотя в ней было много правильных вещей, она мне не понравилась — слишком многое там очень спорно. В целом, я вообще не могу рекомендовать к прочтению никакой статьи с критикой Rust. Это нехорошо, ведь важно обсуждать недостатки, а шельмование низкокачественной и неумелой критики, к сожалению, заставляет пропустить мимо внимания действительно хорошие аргументы.

Итак, попробую привести аргументы против Rust.
Читать дальше →
Total votes 54: ↑52 and ↓2 +50
Comments 78

std::atomic. Модель памяти C++ в примерах

Reading time 11 min
Views 108K

Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особенно это касается модели памяти C++, которая была создана сложной таковой, чтобы обеспечивать оптимальный многопоточный код под множество архитектур процессоров. Кстати, язык программирования Rust, будучи построенным на LLVM, использует модель памяти такую же, как в C++. Поэтому материал в этой статье будет полезен программистам на обоих языках. Но все примеры будут на языке C++. Я буду рассказывать про std::atomic, std::memory_order и на каких трех слонах стоят атомики.

Читать далее
Total votes 52: ↑52 and ↓0 +52
Comments 39

Death Note, анонимность и энтропия

Reading time 16 min
Views 74K


В начале “Death Note” местный гениальный детектив по сути занят деанонимизацией: он знает только то, что убийца существует где-то на планете. Никаких улик тот не оставляет, но довольно быстро оказывается пойман. Вообще-то хабр не площадка для обсуждения аниме, но такая же охота на того-не-знаю-кого порой случается и в реальном мире — достаточно вспомнить Сатоши Накамото, Dread Pirate Roberts или Q. Так что под катом перевод статьи (анонимного, кстати говоря, автора) о том, насколько происходящее в этом сериале связано с реальной анонимностью и что у его героя пошло не так.

Читать дальше →
Total votes 181: ↑181 and ↓0 +181
Comments 97

В какую сторону течёт вода?

Reading time 4 min
Views 76K
Пятничная статья про столкновение задачи из собеседования с реальным миром.

Есть довольна известная задача — перед вами находится металлическая труба с текущей внутри водой. Как определить, в какую сторону она течёт? Её всё ещё могут задать вам на собеседованиях.

По многим задачам с неточной формулировкой уже проходились, давайте разберёмся, что же не так с этой трубой.
Читать дальше →
Total votes 125: ↑120 and ↓5 +115
Comments 179

Есть возраст?

Reading time 4 min
Views 18K
image

Алоха, хаброжители! Каждый из вас делает это ежедневно. А все вместе мы делаем это всё дольше и дольше. Это — старение. Ожидаемая продолжительность жизни в развитых странах удвоилась за последние 150 лет.

Этот график в упрощённой форме показывает, что именно мы теряем и приобретаем в течение жизни. Он составлен на основе когортных данных. Из-за того, что данные за определённые периоды были неполными, кривые графика не охватывают все возрастные категории. Например, среди детей были собраны не все данные, либо по абсолютно другим методикам. К тому же детальные исследования среди 80-100-летних стали возможными только недавно — до этого большинство пробандов просто не доживало до таких преклонных лет.
Читать дальше →
Total votes 38: ↑34 and ↓4 +30
Comments 62

Кто остановил шредер или как нужно было проходить квест с уничтожением сервера

Reading time 12 min
Views 41K
Пару дней назад мы завершили одно из самых эмоционально-заряженных событий, которое нам повезло проводить в рамках блога — хакерскую онлайн-игру с уничтожением сервера.

Результаты превзошли все наши ожидания: участники не просто приняли участие, а быстро организовались в слаженное коммьюнити из 620 человек в дискорде, которое буквально штурмом взяло квест за двое суток без перерыва на сон.

Total votes 143: ↑142 and ↓1 +141
Comments 55

Любовь, смерть, роботы и Пелевин

Reading time 3 min
Views 70K
image

В прошлом году, вернувшись с тренировки, я засел перед компьютером, чтоб посмотреть пару забавных мемов про котиков. И, обнаружив новость о выходе нового сериала Любовь, смерть и роботы– «Love, Death & Robots», я лениво потрогал её мышкой — глянуть одним глазком.

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

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

При пересмотре сериала, мои впечатления, впрочем, были уже не столь радужны — во мне проснулась писательская зависть. «Почему такое не снимают в России — возмущенно бормотал я, — я бы подобрал рассказы для сериала ничуть не хуже!»

«Я сниму свой сериал! — сказал я, чтоб справиться с завистью, — точнее, соберу 18 рассказов, ничуть не уступающих подборке сериала».
Читать дальше →
Total votes 66: ↑55 and ↓11 +44
Comments 58

Почему все должны носить маски

Reading time 41 min
Views 108K

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


Физико-биологические основы ОРВИ таковы, что маски и респираторы и не должны работать. Основной путь передачи ОРВИ — это аэрозольные частицы, слишком мелкие и слишком многочисленные, чтобы их можно было заблокировать, а минимальная инфицирующая доза меньше, чем одна частица.


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




Читать дальше →
Total votes 107: ↑61 and ↓46 +15
Comments 376

Как я использую AirDrop вместо Тиндера

Reading time 10 min
Views 169K


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

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

Под катом я расскажу за всю хурму.
Компания RUVDS.COM не несёт ответственности за повторение действий описанных в данном материале.
Читать дальше →
Total votes 308: ↑294 and ↓14 +280
Comments 174

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity