Pull to refresh
148
0.2
Send message

RFID-метки для программиста: как они устроены и как с ними работать

Level of difficultyHard
Reading time7 min
Views5.5K

RFID-технология давно стала частью повседневности — мы встречаем её в проездных, пропусках, банковских картах, системах доступа и даже в метках на одежде. Но что на самом деле происходит, когда мы подносим метку к считывателю? Как устроена эта метка внутри? Какие данные она хранит, и как программа может их прочитать или изменить?

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

Читать далее

Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

Reading time9 min
Views51K


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

Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше →

Про способности к изучению языков

Reading time4 min
Views26K

В репетиторские времена я почти случайно придумал тест из 3-4 простых вопросов на русском, который с аккуратностью >90% определял способности человека к иностранным языкам. Особой необходимости в этом тесте нет: толковый преподаватель и без него всё понимает после одного-двух занятий. Но, во-первых, это красиво. Во-вторых, даже я сам лишь годы спустя понял, как именно тест работает и что скрывается за этой простотой.

Под «способностями» и «талантом» в быту подразумевают природную одарённость с открытыми опциями её практического применения. Безвестный гопник покачал как-то головой, наблюдая гитарную импровизацию моего товарища: «…, тебе бы щипачом..» [карманником стать]

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

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

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

Люди при должностях, серьёзных профессиях, при собственных блогах даже, искренне не видят проблем с предложениями типа «выйдя из леса передо мной открылась широкая гладь реки». Или «он выиграл меня в шашки на моё день рождения». Ошибки эти страшны даже не тем, что оскорбляют слух носителя. Это симптоматика, которая указывает на гораздо более неприятные штуки. В частности, на неизбежные проблемы в изучении иностранных языков: у такого человека с детства отсутствует внутренняя потребность строить предложения правильно, обращать внимание на то, как он говорит или пишет.

Читать далее

Как стать гуру или WiFi Cheat Sheet

Level of difficultyMedium
Reading time21 min
Views51K

А что мы знаем про пентест Wi-Fi?

Кажется, что уже всё, но вот на offzone 2023 была представлена атака WPA‑E (Надеюсь, в скором времени выложат запись и pdf) и я задумался, а так ли всё хорошо с моими знаниями... Нет, я всё с концами оставил на старых ЖД и где‑то далеко в памяти, пришлось восстанавливать по крупицам всю информацию. Заметки, время и старания — главное составляющее статьи.

Этот документ больше похож на чек‑лист для самопроверки и может содержать полезные советы и хитрости, за основу я взял структуру «WiFi Penetration Testing Cheat Sheet». Я очень благодарен автору, но он забросил вести данную шпаргалку и многие вещи устарели.

Все было протестировано на Kali Linux v2023.1 (64-битной версии), а также проработано на реальном опыте проведения тестирования на проникновение Wi‑Fi и в лабораторных условиях.

Пора ознакомиться

Рисуем фракталы на Rust и CUDA

Level of difficultyMedium
Reading time14 min
Views9.8K

Фракталы — это бесконечные самоподобные фигуры. Они определяются простыми математическими формулами, которые создают удивительную красоту!

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

Читать далее

Принципы SOLID в картинках

Reading time4 min
Views533K


Если вы знакомы с объектно-ориентированным программированием, то наверняка слышали и о принципах SOLID. Эти пять правил разработки ПО задают траекторию, по которой нужно следовать, когда пишешь программы, чтобы их проще было масштабировать и поддерживать. Они получили известность благодаря программисту Роберту Мартину.

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

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

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

Ну, приступим.
Читать дальше →

Как от одного датчика дойти до полу-умной квартиры

Level of difficultyMedium
Reading time12 min
Views17K

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

Читать далее

Пособие по программированию модулей ядра Linux. Ч.3

Reading time25 min
Views16K

От редакции: Сегодня исполнился 31 год с момента первого анонсирования Linux. Именно в этот день, 25 августа 1991 года Линус Торвальдс разместил в новостях Usenet comp.os.minix соообщение следующего характера:
Привет всем тем, кто использует миникс — Я делаю (свободную) операционную систему (это только хобби, не столь большое и профессиональное, как GNU) для 386(486)AT клонов. Эта система пишется с апреля и скоро будет готова. Я хочу получить любой отзыв, касающийся вещей, которые нравятся/не нравятся людям в миникс, так как моя ОС похожа на неё (такое же устройство файловой системы (по практическим соображениям), среди прочего).

В настоящее время я портировал bash (1.08) и gcc (1.40), и, похоже, эти программы работают. Это значит, что я получу что-то практичное в ближайшие несколько месяцев, и я хочу узнать, какие возможности хотят большинство людей. Любые предложения принимаются, но я не обещаю, что я осуществлю их:-)

Линус (torvalds@kruuna.helsinki.fi)

PS. Да — в ней нет кода миникс, и будет мультипотоковая ФС. Система НЕПЕРЕНОСИМА (использует команды Intel 386 и т. д.) и, вероятно, будет поддерживать только жесткие диски AT, так как это всё, что у меня есть 🙁
Ну а мы — в этот интересный день, можем только пожелать, чтобы труды по переводу этого руководства были для вас полезны.

Продолжаем серию статей по созданию модулей ядра. В текущей части мы разберем работу с файловой системой /proc, взаимодействие с модулями при помощи sysfs, а также работу с файлами устройств.
Читать дальше →

Руководство по CMake для разработчиков C++ библиотек

Reading time18 min
Views109K

Данное руководство позволит читателю составить полную картину того, как организовать сборку C++ библиотек с использованием современных возможностей CMake. Предполагается, что читатель имеет представление о базовых понятиях из мира CMake и динамических/статических C++ библиотек, так как в руководстве они могут не объясняться.

Читать далее

Пишем наш первый модуль для ядра Linux

Reading time14 min
Views21K
image

Пожалуй, ядро Linux сегодня – это самый вездесущий (и по-прежнему недооцененный) программный код. На нем основаны все дистрибутивы Linux (что очевидно), но это далеко не все. Кроме того, на ядре Linux работает огромная масса встроенного ПО практически везде. У вас есть микроволновка? Вероятно, она работает на ядре Linux. Посудомоечная машина? Тоже. Вы состоятельный человек и приобрели автомобиль Tesla? Может быть, вы найдете в ней какие-то баги и исправите их, в таком случае, можете отправить патч им на Github, где лежит код для модели S и модели X. Электронная начинка МКС, благодаря которой станция не падает на Землю смертельно опасным и разрушительным огненным болидом — конечно же, тоже работает под Linux. Ядро легковесно. Наверное, именно поэтому оно так хорошо работает в условиях низкой гравитации.
Читать дальше →

Ересь

Reading time8 min
Views57K
image

Одна из самых удивительных вещей, свидетелем которых я был в своей жизни, — это возрождение концепции “ереси”.

В своей превосходной биографии Ньютона Ричард Уэстфолл пишет о моменте, когда Ньютона избрали членом Тринити-колледжа:

«Получив поддержку, Ньютон мог полностью посвятить себя тому, что он выбрал. Чтобы остаться, ему нужно было только избежать трех непростительных грехов: преступлений, ереси и брака.»


В первый раз, когда я прочитал это в 1990-х годах, это звучало забавно средневеково. “Не вляпаться в ересь”. Но когда я перечитал этот текст 20 лет спустя, фраза прозвучала как описание современной ситуации на рабочих местах.

Количество мнений, за которые вас могут уволить, постоянно растет. Те, кто увольняет, не используют слово «ересь» как обоснование, но структурно они эквивалентны. В структурном отношении ересь имеет две отличительные особенности: (1) она имеет приоритет над вопросом об истинности или ложности и (2) она перевешивает все остальное, что сделал говорящий.

Например, когда кто-то называет утверждение «%%%-истским», он также неявно говорит, что это конец обсуждения. Сказав это, они не продолжают выяснять, верно это утверждение или нет. Использование таких меток является разговорным эквивалентом сигнализации об исключении. Это одна из причин, по которой они используются: чтобы закончить обсуждение.

Если вы обнаружите, что разговариваете с кем-то, кто часто использует эти ярлыки, возможно, стоит прямо спросить его, верят ли они, что детей выплескивают вместе с водой. Может ли утверждение быть %%%-истским для какого-либо значения %%%, а также истинным? Если ответ да, то они признаются в запрете правды. Это достаточно очевидно, и я думаю, что большинство ответит «нет». Но если они ответят «нет», легко показать, что они ошибаются и что на практике такие ярлыки применяются к утверждениям независимо от их истинности или ложности.
Читать дальше →

Народный измеритель пульсации света

Reading time6 min
Views36K
Пульсация — главный параметр света, влияющий на здоровье, но, увы, доступных приборов для измерения коэффициента пульсации нет в продаже. Я решил исправить эту ситуацию и разработать недорогой прибор.



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

6 языков. Как не сойти с ума, переключаясь между раскладками клавиатуры

Reading time3 min
Views13K

С изучением языков возникает проблема переключения раскладок клавиатуры. Когда два языка все просто, жамкаешь ALT+SHIFT (или что там у вас) и переключаешься на следующий язык. И ты всегда знаешь на какой именно язык переключился. Когда раскладок становится хотя бы 3 это уже вызывает проблемы. Потому что нажать ALT+SHIFT нужно один или несколько раз и непонятно сколько именно, не посмотрев в угол экрана.

Читать далее

Как получить доступ из одного докер-контейнера в другой докер-контейнер

Reading time4 min
Views56K

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

Создадим образ Docker используя простой веб-сервис с использованием Python и Flask.

Запустим два отдельных контейнера

Создадим сеть в Docker

Объединим контейнеры используя созданную сеть

Читать далее

Как я людей на типы делил

Reading time5 min
Views15K

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

Проявить любопытство

Заметки фитохимика 2021. БОРЩЕВИК

Reading time25 min
Views56K
Когда-то давным-давно, после публикации статьи посвященной лампе Вуда (см. gReebok detected. Сам себе дерматовенеролог), я анонсировал «борьбу с борщевиком». Потом периодически то в телеграм-канале, то в патреоне читатели у меня спрашивали на предмет этого ненароком брошенного «бороться». Вот на улице весна и кое-где «главный ворог православного народа» начал показываться из-под земли. А значит, самое время описать свое видение того, а надо ли бороться вообще и только ли с борщевиком.

Если хочется узнать почему петрушка/укроп/лайм/бабушкин фикус не менее токсичны (?) чем борщевик Сосновского, как с помощью компонентов борщевика за пару дней стать негром или вылечить рак и облысение — добро пожаловать под кат!


Памятка по работе с борщевиком

История ядерного разоружения

Reading time34 min
Views29K

22 января вступил в силу международный договор о запрете ядерного оружия. Вступивший в должность за пару дней до этого 46-й президент США Джо Байден первым же вопросом внешней политики сделал продление договора СНВ-3 о ядерном разоружении с Россией, который был стремительно согласован, подписан и вступил в действие за несколько дней.

В этой статье я попытался рассказать основные этапы 70-летней истории ядерного разоружения, ее ключевые события и их значимость для всего мира, включая два описанных выше. У кого и сколько этого оружия, кто от него отказался, а кто получил его, и что им за это было. Кто из деятелей ядерного разоружения получил Нобелевские премии мира (их много!), а кому пришлось заплатить высокую цену за вхождение в атомный клуб избранных. Как на нас сегодня сказываются испытания ядерного оружия в 1960-е и где в Европе размещено американское ядерное оружие. В конце концов стал мир опаснее или нет, вооружаемся мы или разоружаемся и насколько вероятна ядерная война? Вот с этим всем я и попытался разобраться.

Картинка на заставке: Brian Stauffer, The New Yorker

Читать далее

Бэкдор во взломанном 1С-Битрикс: под угрозой сотни сайтов

Reading time2 min
Views44K

Субботний вечер омрачен скандалом - сайт не работает, провайдер негодяй, админы - не специалисты, а сервера - решето. Вызов принят, или почему при всей нелюбви к 1С-Битрикс в данной ситуации пострадали не только лишь все?

И как от этого избавиться

Ответ: что же происходит с наукой в России

Reading time19 min
Views79K
Эту статью решил написать как ответ к вот этой. Не знаю, заметят ли, автор поставил какие-то лютые хабы [которые модератор уже изменил — прим. мод.], в которые я оффтопить не хочу.

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

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

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

Information

Rating
4,378-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity