Как стать автором
Обновить
-22
0

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

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

Пожалуйста, прекратите писать shell-скрипты

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

Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее
Всего голосов 94: ↑70 и ↓24+68
Комментарии251

Экспериментальная разработка эксплойта для Use-After-Free

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

Пошаговая реализация эксплойта для уязвимости CVE-2021-23134, включая описание используемых для этого инструментов. Это мой первый опыт разработки эксплойта для ядра – так что здесь вы вполне можете заметить некоторые ошибки, за которые я заранее извиняюсь.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+40
Комментарии1

Реальный Windows. Пишем realtime под окошками

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

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

Читать далее
Всего голосов 69: ↑68 и ↓1+79
Комментарии142

Детройт: как мировая моторная столица дошла до банкротства

Время на прочтение19 мин
Количество просмотров69K
Слева район Highland Park, территория штата Мичиган, справа – территория Детройта. Источник: Johnny Miller

Мировая моторная столица (Motown), родина американского среднего класса, арсенал демократии — как только не называли Детройт на пике могущества в 1950-е гг., когда его население достигло 1,85 млн человек. Сегодня же оно едва дотягивает до 640 тыс. и продолжает сокращаться. Что произошло? Однозначного ответа нет, но причин одновременно несколько. Здесь и расовое противостояние, ошибки городского планирования, большая политика, ослабление конкурентоспособности американских автоконцернов, их бегство из-за роста социальной нагрузки после победы профсоюзов. Да и много ещё чего, что в комплексе привело в 2013 г. к крупнейшему в истории США муниципальному банкротству.

Но обо всём по порядку.
Читать дальше →
Всего голосов 147: ↑143 и ↓4+180
Комментарии488

Разбираемся в особенностях строения мозга врановых

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

Разумеется, самая главная особенность врановых – их интеллект. Причём история исследования птичьего мозга полна драм и мучительных попыток натянуть сову теории на глобус практических наблюдений.

Проблема заключалась в следующем: поскольку исследования психики базировались в первую очередь на матчасти хомосапиенсов (по очевидным причинам), во вторую на приматах (как близких родственниках), а в третью – на млекопитающих в целом, долгое время самоочевидной вещью считался тот факт, что за ВНД отвечает неокортекс. Нет неокортекса – нет ВНД. А поскольку неокортекс отсутствует у птиц как явление, вопрос птичьего интеллекта закрыли, толком не открыв. Архитектура ЦП не позволяет. Точка.

Читать далее
Всего голосов 106: ↑99 и ↓7+116
Комментарии90

Как я потеряла 1 миллион рублей на Wildberries из-за своей ошибки

Время на прочтение8 мин
Количество просмотров104K
Вспоминать до сих пор страшно. У меня волосы просто на всех местах седели. У нас есть гель для ультразвуковой чистки и лосьон для ультразвуковой чистки. УЗ-чистка лица — это популярная аппаратная методика очищения кожи, когда звуковой волной отшелушиваются ороговевшие частицы эпидермиса, что убирает тусклый цвет кожи. Средства для аппаратной косметологии очень требовательны к стабильности среды и ещё куче параметров, и у нас это одни из самых популярных продуктов. Так вот, у них одинаковые красные этикетки.

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



Дальше эта партия ушла на Wildberries.

Отозвать товар из маркетплейса обычно очень дорого, часто проще заказать утилизацию. Но нас ни то, ни другое не устраивало по цене, поэтому мы придумали поставить на свой же товар максимальную скидку 90 % и выкупить всё самим через розничный интерфейс. Речь шла примерно про 1 500 флаконов.

Единственное, чего мы не учли, — это алгоритмов маркетплейса, где сразу поняли, что этот товар надо мгновенно отрекомендовать максимальному количеству людей.
Читать дальше →
Всего голосов 155: ↑133 и ↓22+150
Комментарии214

Спуфинг подкрался незаметно, хоть виден был издалека

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

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

То, что GPS уязвим перед спуфингом, было очевидно всем и давно. Но лет 15 назад считалось, что для проведения такой атаки требуется очень дорогое железо, например симуляторы Spirent стоимостью более $100 000. Появление «любительских» SDR за 100$ все поменяло. Теперь стоимость атаки упала до стоимости дешевого HackRF One. На GitHub 680 форков для генерации сигналов GPS. На youtube полно инструкций как запустить свой спуфер (даже запустить с помощью USB to VGA адаптера за $5).
Читать дальше →
Всего голосов 29: ↑22 и ↓7+24
Комментарии53

Как украсть деньги с бесконтактной карты и Apple Pay

Время на прочтение24 мин
Количество просмотров273K
Как украсть деньги с бесконтактной карты из кармана? Насколько безопасен PayPass и Apple Pay?

В статье разбираются популярные мифы и сценарии мошенничества с бесконтактными системами оплаты на примере настоящего POS-терминала, карт PayPass/payWave и телефонов с функцией Google Pay/Apple Pay.

Рассматриваемые темы:

  • Можно ли НА САМОМ ДЕЛЕ украсть деньги, прислонившись POS-терминалом к карману? — мы попытаемся полностью воспроизвести этот сценарий мошенничества от начала до конца, с использованием настоящего POS-терминала и платежных карт в реальных условиях.
  • В чем разница между физическими и виртуальными картами Apple Pay? — как происходит связывание физической карты и токена Apple Pay, и почему Apple Pay во много раз безопаснее обычной карты.
  • Используем аппаратный NFC-сниффер (ISO 14443A) — воспользуемся устройством HydraNFC для перехвата данных между POS-терминалом и картой. Рассмотрим, какие конфиденциальные данные можно извлечь из перехваченного трафика.
  • Разбираем протокол EMV — какими данными обменивается карта с POS-терминалом, используемый формат запросов, механизмы защиты от мошенничества и replay-атак.
  • Исследуем операции без карты (CNP, MO/TO) — в каких случаях на самом деле(!) можно украсть деньги с карты, имея только реквизиты, считанные бесконтактно, а в каких нельзя.

Внимание!

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

Материалы в статье представлены исключительно в ознакомительных целях. Все сцены демонстрации мошенничества инсценированы и выполнены с согласия участвующих в них лиц. Все списанные деньги с карт были возвращены их владельцам. Воровство денег с карт является уголовным преступлением и преследуется по закону.
Всего голосов 329: ↑323 и ↓6+317
Комментарии394

Оформляем README-файл профиля на GitHub

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

Летом 2020 года GitHub позволила пользователям создавать персональные README-файлы и с их помощью кастомизировать свои профили. Сама платформа при создании подобного файла предлагает уже готовый шаблон, в который можно вписать свои данные. Но о какой кастомизации может идти речь, если у всех будут одинаково оформленные профили? За почти два года сообщество придумало множество различных способов выделиться и особенно оформить свою страницу на GitHub.

Читать далее
Всего голосов 62: ↑60 и ↓2+73
Комментарии25

Делаем встраиваемый полифункциональный зарядник

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

Попытаемся сделать зарядник 300 Вт с КПД 99% из тех деталей которые еще остались в стоках интернет-продавцов. Продумаем архитектуру. Cоздадим схему. Проведем симуляцию в LTSpice и Microcap. Научимся технологии оптимизации в симуляторе. Найдем применение методу Monte Carlo. Посмотрим на трассировку. Попробуем сравнительно новую фишку Altium Designer - PDN Analyzer.

Читать далее
Всего голосов 76: ↑75 и ↓1+96
Комментарии69

Swift. Class && Struct (классы и структуры) ч.1

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

Обычно, в учебных пособиях, книгах и прочих источниках информации, class'ы объясняют примерно так «class это - описание объекта, а объект это экземпляр класса и бла бла бла», в принципе, это частично отражает суть конструкции, но называть class в рамках языка Swift, описанием объекта, будет не совсем корректно т.к. он же еще и представляет собой тип данных и вообще можно использовать классы как независимые, самодостаточные сущности, которые не требуют инициализации. Поэтому начинать со слов «Возьмем объект животного, пускай это будет кот...» я конечно же не буде. И вообще, давайте не будем о "сложном" т.к. материал рассчитан все же на новичков, а новички могут и не знать, что такое, эти ваши объекты и инициализации. В общем я считаю подобное (я про формулировку) не достаточно информативным, поэтому будем разбирать все на примерах с переходом от простого к более сложному. Попутно к ознакомлению с классами, мы будем так же рассматривать и другие возможности языка, но обо всем по порядку.

Наслаждаться чтивом
Всего голосов 4: ↑4 и ↓0+4
Комментарии6

Big O нотация в Swift

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

Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.

Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространству.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии21

Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU

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

Render Loop крутится — кадры мутятся

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

В моих планах разобраться с работой базовых механик отрисовки и углубиться к таким вещам как AVFoundation, Metal.

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

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии8

Простой интерактивный поп-ап для iOS — туториал по SwiftUI

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

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

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

Моя первая NFT-коллекция на Solidity + Hardhat — «Сизифов Труд»

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

На момент написания статьи я работаю Frontend-разработчиком в VK (Delivery Club) на Vue и плавно перехожу на iOS-разработку. Уже около 4 лет считаю себя поверхностно приближенным к сфере крипты: участвовал в разработке P2P-платформы (BTC-обменника), изучал основы и идеологию, инвестировал, терял деньги на фьючерсах — все, как надо.

Однажды, по интернету стала расходиться новость о том, что 12-летний мальчик заработал ~$350,000 на коллекции программно-сгенерированных китов, состоящей из 3350 уникальных айтемов.

Так мне пришла мысль внести свою лепту. К тому же, как показывает практика, это потенциальный способ заработка в наше время :)

Читать далее
Всего голосов 32: ↑28 и ↓4+28
Комментарии50

Почему вообще ломаются импланты (и почему именно они такие дорогие)

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

Так выглядит подготовка к имплантации, проектируем поверх модели конкретного пациента.

Имплант сам по себе очень и очень дешёвый. Это просто металлическая трубка, снаружи у неё — резьба для крепления внутри кости, а внутри — резьба для крепления коронки. По сути, это слот для искусственного зуба или другой конструкции. В целом крепить можно и на правильно забитый кусок канцелярской скрепки, но тогда риски неоправданно увеличатся. Дорогим имплант делают технология изготовления этой самой трубки, которая становится прочнее, инструментарий для установки в комплекте и набор запчастей. Потому что импланты надо поддерживать 30–40 лет, потому что обычно даётся пожизненная гарантия. Попробуйте представить проект с такой гарантией и поддержкой, и вы примерно поймёте, как формируется цена на железку. Остальное — операция, то есть примерно квадратичное увеличение цены за каждый уменьшенный процент серьёзных осложнений за счёт квалификации хирурга и используемого оборудования.

Мы принципиально не используем импланты noname включая всех российских производителей. До наработки ими имени осталось лет так 5–10 по разным оценкам. Сломаться, конечно, может любой, но у производителей с репутацией это случается сильно реже. Но всё равно есть шансы через пять, семь или даже 30 лет после остеоинтеграции получить поломку, особенно если вам под видом обычного хорошего импланта поставили «пиратский».
Читать дальше →
Всего голосов 39: ↑35 и ↓4+38
Комментарии24

Как инженеру выбрать работу

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

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

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

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

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

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

Читать далее
Всего голосов 27: ↑26 и ↓1+29
Комментарии23

Лазерный станок: Россия vs Китай

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

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

Читать далее
Всего голосов 14: ↑10 и ↓4+13
Комментарии54

Постоянный ток в доме. Риски, которые никто не замечает

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

Постоянный ток с каждым днём завоёвывает всё новые рубежи в каждом доме. К кому то он приходит со светодиодными лентами, кому то с DIY и Arduino. Время идёт, и вот уже вчерашние любители без страха и упрёка начинают делать мощные аккумуляторные сборки и запитывать бытовую технику напрямую от солнечных панелей. За кадром остаётся главный нюанс - безопасности. Ведь токи и напряжения выросли вместе с игрушками, а о последствиях почти никто не задумывается.

Читать далее
Всего голосов 148: ↑140 и ↓8+179
Комментарии545

Как своими руками сделать WiFi камеру слежения (ESP32-CAM)

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

К старту курса по разработке на С++ рассказываем, как самостоятельно собрать IP-камеру с обнаружением движения. За подробностями приглашаем под кат, где вы найдёте много фотографий и видео на Youtube-канале автора, за которым наблюдают более 30 000 человек.

Читать далее
Всего голосов 14: ↑10 и ↓4+8
Комментарии35
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность