Как стать автором
Обновить
-7
0.3

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

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

Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind

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

В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэтому, хоть Sanitizers (разработанный инженерами Google) имеет ряд преимуществ перед Valgrind, у каждого из них есть свои сильные и слабые стороны. Следует сразу отметить, что проект Sanitizers имеет название во множественном числе, потому что он состоит из нескольких инструментов, которые мы рассмотрим в этой статье в совокупности.

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

Proxmox 8. Настраиваем проброс видеокарты (GPU Passthrough). Выбор материнской платы на AM5 сокете

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров15K


Уже прошел год как вышел Debian 12 Bookworm и, основанный на нем, Proxmox 8. Несмотря на тот факт, что мои предыдущие статьи по пробросу дискретной Видеокарты в виртуальную машину, в кол-ве 4-х на Хабре, частично все еще актуальны для последней версии Proxmox, в тематических чатах регулярно поступали обращения обновить статью, а так же выяснилось что, у тех кто пользуется такими инструкциями, есть определенное непонимание в нюансах, из-за чего приходится проходить вместе с ними всю цепочку действий заново.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+25
Комментарии17

Метод конечных элементов своими руками

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров18K

Метод конечных элементов (МКЭ) применяют в задачах упругости, теплопередачи, гидродинамики — всюду, где нужно как-то дискретизировать и решить уравнения сплошной среды или поля. На Хабре было множество статей с красивыми картинками о том, в каких отраслях и с помощью каких программ этот метод приносит пользу. Однако мало кто пытался объяснить МКЭ от самых основ, с простенькой учебной реализацией, желательно без упоминания частных производных через каждое слово.

Мы напишем МКЭ для расчёта упругой двумерной пластины на прочность и жёсткость. Код займёт 1200 строк. Туда войдёт всё: интерактивный редактор, разбиение модели на треугольные элементы, вычисление напряжений и деформаций, визуализация результата. Ни одна часть алгоритма не спрячется от нас в недрах MATLAB или NumPy. Код будет ужасно неоптимальным, но максимально ясным.

Размышление над задачей и написание кода заняли у меня неделю. Будь у меня перед глазами такая статья, как эта, — справился бы быстрее. У меня её не было. Зато теперь она есть у вас.

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

Как рисовать мозаики типа «эйнштейн»

Уровень сложностиСредний
Время на прочтение39 мин
Количество просмотров2.6K

На немецком «эйнштейн» звучит как «один камень». Один - «ein», камень - «Stain». Всем известно, что под этой фамилией жил один замечательный человек, и звали его ... Но в статье речь не о нём. Речь о математической задаче по поиску одной плитки, такой чтобы составленная из неё мозаика была непериодической. «Один камень» - это про плитку. В мозаике Пенроуза таких плиток две, а хотелось бы возможности использовать только одну. Не вдаваясь в детали можно сказать, что задача одной плитки в этом году (2023) решена. Получены интересные красивые мозаики.

Сначала была найдена «шляпа эйнштейна» - плитка, похожая на шляпу. Или, по моему скромному мнению, на рубашку. Из неё можно сделать отличную непериодическую мозаику. Только, для построения используются как сами шляпы, так и их зеркальные отражения. Считать ли это одной плиткой? Можно и не считать.

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

Оказалось, такая мозаика, в которой есть одновременно и шляпы и черепахи, при обмене формой в момент, в котором длина граней становится одинаковой, составлена из плиток полностью одинаковой формы. То есть, существует ещё одна непериодическая мозаика, в которой плитка используется уже без своего зеркального отражения. Плитка, у которой грани модифицированы так, что она позволяет только непереодическое сложение названа «Spectre» (призрак). Задача решена, теперь уже точно.

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

Костыли для ddrescue. Что делать если SSD перестает отдавать данные

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров11K

Первая версия GNU ddrescue была выпущена 12 августа 2004г 19 лет назад. Но не спешите проматывать статью. Это не очередной пересказ мануала или описание алгоритма работы, коих полно в сети. Сегодня я расскажу о ней кое что новенькое.

Если заинтриговал, то обо всем по порядку.
Всего голосов 22: ↑22 и ↓0+22
Комментарии37

Как я отправил деньги на карту друга в Казахстан: Хождение по мукам

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров11K

Я сам родился и вырос в Казахстане, высшее получал уже в Томске, поэтому в Казахстане у меня друзья детства, да и сестра до сих пор живет в Караганде. Хотел купить машину, но в Томске не нашел, поэтому попросил друга детства поискать вариант в Казахстане. На днях он позвонил: немецкое авто за очень интересные деньги. Продавал его знакомый, машину мой друг знал с момента приобретения её в салоне. Вердикт - Надо брать!

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

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

Читать далее
Всего голосов 25: ↑14 и ↓11+7
Комментарии18

«Синдром отката» против «Министерства будущего»: сравнение двух свежих технотриллеров от знаменитых фантастов

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

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

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

Неочевидные возможности короля картографического ПО на гаджетах

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

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

🔥 Примечание — эта статья автора расположилась на первом месте по рейтингу/просмотрам в хабе OSM за 2023г.

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

Shadowsocks-туннелирование корпоративного VPN

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров44K

Если у вашей компании имеются серверы, работающие за границей, и доступ для внутренних пользователей вы предоставляете посредством VPN-протоколов (достаточно типовая схема, особенно после Covid — 2019, когда удалённая работа стала особенно популярной), то настало время действовать на опережение. Конечно, применение административного ресурса, возможно, защитит ваши интересы от тотальных проблем в будущем, но лучше подстраховаться, чем в один прекрасный день получить 100500 сообщений от систем мониторинга о недоступности опекаемых клиентов. Статья демонстрирует, как скрыть от противодействия со стороны систем глубокого анализа трафика сервисы компании, доступ к бизнес-процессам которых обеспечивается посредством VPN, используя для этого туннели shadowsocks.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии54

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров363K

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

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

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

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

Базовые алгоритмы на графах

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров42K

image


Всем привет! Меня зовут Нурислам (aka tonitaga), и сегодня я бы вам хотел рассказать об Базовых алгоритмах на графах.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+42
Комментарии42

Про Vim " Горячие клавиши

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

Тема очень обширная, не сказать бесконечная, но я постараюсь затронуть только очень важные вещи, о которых говорится не так много в бесчисленных джентльменских минимумах по Vim. Хотя, конечно, придется время от времени возвращаться к теме дабы дать уточняющие указания или рекомендации. Да и не упомню я всего сразу. Память вообще штука интересная. Помнит ли человек как надо ходить? Раз кто-то забывает, то видимо помнит осознанно и не так уж что бы очень хорошо. Вроде как, через примерно пол года в постели или в космосе учиться ходить нужно заново.

В частности, видимо, с этим связано то, что во многих обучающих материалах так много говорится о повторяющихся вещах типа того как удобно использовать числовой префикс перед движением или командой, или о том как работают сокращения переходов по словам (w и b), по предложениям (( и )), по параграфам ({ и }), или о том как передвигаться по всему тексту при помощи <C-u> и <C-d> или <C-f> и <C-b>. И в то же время совсем мало говорится, например, почему-то о том как передвигаться в режиме вставки. Или, например, я совсем недавно открыл для себя замечательные f и F. Я смею предположить, что большинство тех, кто занимается составлением таких мануалов попросту перестают замечать какие-то движения, которые они сами используют уже на уровне рефлексов, а поэтому и не могут вспомнить когда составляют какие-то планы и даже когда непосредственно набирают текст.

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

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

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

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

Перед вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав вопросы лицензирования, передачу аргументов командной строки и прочие нюансы. Это пособие вы можете смело воспроизводить и изменять в соответствии с условиями Open Software License v 3.0.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии4

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

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

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

Как я оплачивал в интернете криптовалютой

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

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

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

Читать далее
Всего голосов 170: ↑155 и ↓15+174
Комментарии121

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

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

Сколько же статей на эту тему написано и вот опять!

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

Читать далее
Всего голосов 24: ↑16 и ↓8+14
Комментарии21

Коллоквиум по программированию микроконтроллеров

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров16K

Это список вопросов на которые должен уметь ответить тот кто хочет программировать микроконтроллеры и заниматься разработкой электроники. Вопросы в частности взяты из технических собеседований при устройстве на работу в разные компании. Постарался отобрать только самые приближенные к практике вопросы, которые можно выделить после 11 лет insider(ского) опыта.

Если вы знаете адекватные, сложные и интересные вопросы по теме разработки на MCU, то пишите их в комментариях.

Читать далее
Всего голосов 36: ↑14 и ↓22-4
Комментарии126

Мои вопросы работодателю, когда подаюсь на разработчика

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

За последние 10 лет я поменял 3 работы, прособеседовался с 10+ компаний на позицию разработчика (software engineer) и вел переписку с HR/рекрутерами из нескольких десятков фирм. По ходу дела заметил, что вопросы, которые я задаю на собеседовании с менеджером/командой или с HR, повторяются, и решил их структурировать. Некоторые из них являются общими, и их может задать кандидат на почти любую вакансию; другие касаются только вакансий для программистов. В этой статье поделюсь с вами наиболее типичными и важными вопросами, которые, на мой взгляд, может задать соискатель потенциальному работодателю.

Читать далее
Всего голосов 72: ↑66 и ↓6+78
Комментарии70

STM32 Modular USB Composite device

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

Проект является логическим продолжением другого проекта на Хабре - CDC+MSC USB Composite Device на STM32 HAL и рассказыват о том, как на STM32 создать проект с несколькими USB устройствами, с читаемой структурой и используя типовые модули. Конкретно в этом проекте рассмотрен пример комбинации HID + CDC UART + CDC, а также рассказано как этот проект возможно расширить другими интерфейсами.

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

Тезисы, сформулированные во время распития чая, о процессе интервью, с позиции интервьирующего

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

В моей жизни было четыре периода, когда я активно принимал участие в интервьировании людей на работу. В 1998 для своего стартапа в области программ для проектирования микросхем, в 2010-11 для MIPS Technologies (компания среднего размера но престижная в свое время в узком кругу процессоростроителей), в 2019 для Wave Computing (хайповый стартап в хардверном AI) и сейчас для Samsung (на позиции дизайнеров графических процессоров телефонов). Я не собирался писать длинный текст, но пока я пью чай, набросаю несколько тезисов, первое, что приходит в голову:

Читать далее
Всего голосов 25: ↑19 и ↓6+18
Комментарии52

Информация

В рейтинге
1 949-й
Зарегистрирован
Активность