Search
Write a publication
Pull to refresh
1
0

User

Send message

Интеллектуальная производительность без выгорания: 7 техник использования мозга. Часть 2

Reading time12 min
Views31K

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

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

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

Мы в Мир Plat.Form создали платформу лояльности «Привет, Мир!», которая так просто не опрокинется: её держит целое море китов. Под катом мы назовём по именам самых крупных из них. А ещё расскажем, почему айтишнику необязательно часто менять работу, зачем государству компенсировать чей-то отпуск, а также что происходит, когда оптоволокно нашего ЦОДа попадает на ковш экскаватора.
Читать далее

CoroOS: концепт операционной системы для микроконтролеров на корутинах С++20

Reading time18 min
Views11K

Здравствуйте! Меня зовут Александр, и я работаю программистом микроконтроллеров.

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

И ваш автор не исключение.

Как по мне - дело не то чтобы запредельно сложное, сколько кропотливое. Если у вас, как и у меня, увлечение и(или) карьера крутится вокруг Arm Cortex-M серии, то вооружаемся стволами (раз, два и три) и выдвигаемся за Джеффом. Но, написав и запустив ядро своей "best of the best" оси около года назад, я вскоре забросил разработку, ибо как я ни креативил, вместо Сокола Тысячелетия у меня получался крепенький, но банальный и скучный велосипед.

А ведь хотелось оригинальности и бесстыдного выпендрёжа.

И тут в 20-й стандарт плюсов завезли корутины.

Читать далее

Даниэль Канеман «Думай медленно… Решай быстро»: механизмы наших ошибок

Reading time9 min
Views32K

Труд Даниэля Канемана «Думай медленно… Решай быстро» — из тех, о которых все как минимум где-то слышали; он не случайно оказался на первой строке в рейтинге самых упоминаемых книг на HackerNews. Это книга о том, как мы ошибаемся, о системности наших ошибок, заложенной в самой природе мышления. Несмотря на то, что исследование находится на пересечении двух научных областей – психологии и экономики – написано оно доступно и увлекательно, с многочисленными простыми примерами, которые помогают наложить теорию на повседневную жизнь. В этой статье мы хотели бы представить обзор первой части книги, где рассказывается о принципах мыслительного процесса и предпосылках когнитивных искажений
Читать дальше →

Принцип работы планировщика задач в Linux

Reading time5 min
Views32K

Планирование – это процесс распределения ресурсов системы для выполнения задач. В статье мы рассмотрим его вариант, в котором ресурсом является одно или несколько ядер процессора, а задачи представлены потоками или процессами, которые нужно выполнить.
Читать дальше →

Сравнение подходов к реализации распределенных транзакций для микросервисов

Reading time21 min
Views45K

Как архитектор-консультант в Red Hat, я имел возможность поработать над множеством проектов для наших клиентов. У каждого из них есть свои особенности, которые, однако, имеют некоторые общие черты. Большинство клиентов хотят знать, как скоординировать запись в несколько систем одновременно. Ответ на этот вопрос обычно включает подробное объяснение двойной записи, распределенных транзакций, современных альтернатив, а также возможных сценариев сбоев и недостатков каждого подхода. Как правило, именно в этот момент заказчик понимает, что разделение монолитного приложения на микросервисы - долгий и сложный путь, обычно требующий компромиссов.

Читать далее

«Программист-прагматик. Путь от подмастерья к мастеру»: коротко о главном (часть первая)

Reading time22 min
Views78K
О книге «Программист-прагматик. Путь от подмастерья к мастеру» Эндрю Ханта и Дэвида Томаса знают, наверное, все, кто занимается программированием, причем многие — в основном из упоминаний в подборках и цитат в более современных статьях. Учитывая, что этот сборник практических советов для разработчиков скоро отметит двадцатилетний юбилей, тот факт, что его до сих пор приводят как источник ценной информации, вызывает уважение. Секрет прост: авторы, хоть и делали акцент на практической применимости своих подсказок, говорили по большей части о фундаментальных принципах построения рабочего процесса. Многие технические моменты, которые упоминаются в тексте, действительно давно устарели, но базовые подходы к разработке, тестированию, взаимодействию внутри команды и с аудиторией остаются актуальными.


Ниже вы найдете конспект первых четырех глав; речь в них идет об авторской концепции самообразования, основах прагматического подхода в программировании и правилах подбора инструментов. Книга очень удобна для «точечного» чтения: материал представляется в виде отдельных параграфов-подсказок, снабженных перекрестными ссылками. За рамками этого конспекта остались примеры из конкретных языков, разбор кейсов из авторской практики, те самые ссылки, упражнения на закрепление и некоторые забавные аналогии, оживляющие текст — так что рекомендую ознакомиться с оригиналом, если какие-то из тезисов вас заинтересуют. Приятного чтения!
Читать дальше →

Работа с СОМ-портом на Си в linux

Reading time18 min
Views88K
Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь.

Каждый, кто постоянно занимается электроникой и программирует встраиваемые устройства, неизбежно сталкивается с необходимостью работы с СОМ-портом под линуксом. Недаром, моя статья "UART и с чем его едят" спустя 11 лет после выпуска набирает просмотры и комментарии.

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

Поэтому умение работать с СОМ-портами в linux особенно важно. И вот, казалось бы, UART, древнейший интерфейс, всё должно быть известно и понятно, и даже опытные программисты ломают зубы, работая с ним в линуксе. Особенный цирк с конями начинается при работе с передачей сырых данных по RS-485. Не знаю ни одного программиста, который бы не хватил горя при разработке ПО для таких решений. Самое забавное, что с более новомодным i2c работать в линуксе куда проще и понятнее, чем с ортодоксальным UART. Чтобы не было путаницы дальше, всё семейство UART (RS-232, RS-485, UART 5V, UART 3,3 и т.д.) по тексту я буду называть COM-порт или UART. Мы говорим в статье не о физическом интерфейсе, а о программной стороне вопроса.

В этой статье я хочу показать, как писать свои программы, работающие с UART в ОС Linux. И неважно на каком языке вы пишете программу для работы с UART (python, c, c++, bash, php, perl и т.д.), принцип работы и грабли будут одни и те же, так как всё равно всё упирается в системные вызовы к ядру. А непонимание того, что там происходит и приводит к различным трудноуловимым багам.
Читать дальше →

PNG — краткое руководство по цвету

Reading time6 min
Views4.7K

Работая над багом под названием "разная цветокоррекция у видео и его скриншота", я наткнулся на интересный текст, простыми словами описывающий то, что происходит с цветом в PNG. Ниже представлен перевод приложения к спецификации PNG, которое может и устарело, но всё равно полезно для общего развития.

Читать далее

Ускорение процесса разработки под Embedded Linux

Reading time11 min
Views13K

Любой программист, решивший заняться разработкой под Embedded Linux, придя буть-то из высокоуровневых языков программирования, либо из программирования микроконтроллеров на С/С++, неизбежно оказывается удивлен крайней недружелюбностью embedded linux. Текстовый блокнот и консольные утилиты вместо столь привычных IDE, и отладка по логам вместо отладки программатором сильно замедляют процесс разработки. В статье описывается, как мне удалось снизить время доставки изменений до целевого железа при кросс-компиляции в 10 раз.

Читать далее

Сохраняем настройки и лог файл во внутренней памяти микроконтроллера

Reading time15 min
Views8.9K
image Задача сохранения настроек встречается в подавляющем большинстве современных устройств. Реже, но тоже очень часто, требуется хранение лог-файлов. Если речь идет о большом устройстве построенном на Линукс и содержащей как минимум SD карту, то с этими задачами не возникает проблем. Но если все устройство представляет из себя микроконтроллер, то возникает вопрос, где и в каком виде хранить подобные данные. В этом случае, обычно для настроек предлагают использовать сырые данные размещенные во внешнем eeprom. Но такой подход гораздо менее удобен чем вариант с файловой системой пусть даже с сильно ограниченными свойствами. Кроме того он плохо подходит для задач логирования. В данной статье мы расскажем как можно организовать удобное хранение файлов настроек и лог-файлов во внутренней флеш памяти микроконтроллера.
Читать дальше →

SELinux – описание и особенности работы с системой. Часть 1

Reading time11 min
Views291K


О SELinux на Хабре уже писали, однако, не так много опубликовано подробных мануалов по данной системе. Сегодня мы публикуем именно такой, подробный мануал по SELinux, начиная от информации по системе, и заканчивая гибкой настройкой политик.
Для того, чтобы не превращать пост в «простыню», сложную для понимания, мы решили разделить мануал на две части. Первая будет рассказывать о самой системе, и некоторых ее особенностях. Вторая – о настройке политик. Сейчас публикуем первую часть, чуть позже будет опубликована и вторая часть.

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

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

Reading time24 min
Views275K
Как украсть деньги с бесконтактной карты из кармана? Насколько безопасен 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) — в каких случаях на самом деле(!) можно украсть деньги с карты, имея только реквизиты, считанные бесконтактно, а в каких нельзя.

Внимание!

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

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

USB Mass Storage BOT чиним multi LUN у STM32

Reading time50 min
Views8.8K

Попалась задача в проекте реализовать, чтобы по USB микроконтроллер прикидывался несколькими дисковыми устройствами для MicroSD, встроенной EEPROM и нескольких страничек оперативной памяти. Решил, что вполне логично, пойти по пути наименьшего сопротивления, попробовав запустить из коробки, то что ST реализовали в своей библиотеке. Работа c USB разделена у них на уровни абстракции: драйвер + MiddleWare:

В статье говорится как заставить работать USB Mass Storage multi LUN путём исправления ошибок в библиотеке Middlewares ST, а также побороть сопутствующие проблеммы. Исравлялось для stm32l4, но может быть достаточно легко адаптированно для остальных серий. Каждый LUN, по сути - независимый диск со своей таблицей разделов и адресацией. В конце статьи приводится ссылка на репозиторий с исправленной библиотекой. Также отправил Pull Request в ST - ждём официальных исправлений!

Читать далее

Кожа — наш персональный скафандр

Reading time15 min
Views18K
image

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

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

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

Сегодня будем обсуждать функции кожи и особенности её регенерации:

  • Из чего состоит кожа, и где в ней живут стволовые клетки.
  • Кожа — это лайт-версия почек.
  • Почему мы можем выдерживать значительный перегрев и переохлаждение.
  • Как правильно искать эрогенные зоны.
  • Что делает кожа после того, как в неё ткнули ножом или прокусили.
  • Нужны ли пилинги, и как это отражается на стволовых клетках.
  • Регуляторные пептиды для прямого управления регенерацией.

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

Почему я отказался от 18 тысяч долларов по баунти-программе Apple

Reading time11 min
Views45K

Эта статья посвящена тому, как я обнаружил уязвимость в конечной точке восстановления пароля Apple, которая позволила мне захватить аккаунт iCloud. Уязвимость полностью пропатчена отделом безопасности Apple и больше не работает. В рамках баунти-программы Apple Security Team вознаградила меня 18 тысячами долларов, но я отказался их получать. В статье я расскажу о том, почему отказался от вознаграждения.

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

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

Теперь я расскажу о том, что обнаружил у Apple.
Читать дальше →

Cбор логов с rsyslog, именами файлов в тегах, многострочными сообщениями и отказоустойчивостью

Reading time17 min
Views187K

image


Изображение с сайта oxygen-icons.org


Задача


Передавать лог-файлы на центральный сервер:


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

Условия: в инфраструктуре используются только Linux-сервера.

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

Лучшее компьютерное кресло: табурет и здоровые мышцы спины

Reading time5 min
Views101K

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

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

Собираем квантовый генератор случайных чисел

Reading time4 min
Views24K

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

Information

Rating
Does not participate
Location
Татарстан, Россия
Registered
Activity