Эта история начинается с того, что я попытался переустановить Windows на ноутбуке, доставшемся мне вот с такой наклейкой Certificate of Authenticity (COA): часть символов серийника видны хорошо, остальные – в большей или меньшей степени угадываются; но несколько попыток ввести серийник «на глаз» успехом не увенчались. Пришлось углубляться в вопрос подробнее.
C++ Software Developer
Как получить радиолюбительский позывной в 2024 году
Для тех, кто просто хочет получить позывной, привожу последовательность действий, актуальную на октябрь 2024 года. И детально рассказываю как прошел этот путь, с какими трудностями столкнулся. Руководство наполнено ссылками по всем шагам.
Дорогая, я уменьшил {fmt}: уменьшил размер до 14kB и избавился от рантайма C++
Библиотека форматирования {fmt} известна своим небольшим влиянием на размер бинарников. Чаще всего её код в несколько раз меньше по сравнению с такими библиотеками, как IOStreams, Boost Format или, что иронично, tinyformat.
Давайте разберем, как можно уменьшить размер бинарников еще больше!
Как мы пытались в Docs as code и проиграли
Что такое Docs as Code классно описано в статье Docs as Code: введение в предмет.
В двух словах: это ведение документации на языке разметки (Markdown, AsciiDoc) с хранением в репозитории.
Плюшки — все вытекающие от работы с репозиторием.
Минусы — в этой статье.
На осенних Analyst Days прошлого года добрая четверть докладов была посвящена теме Docs as Code. На тот момент конклав аналитиков на моём прежнем месте работы уже 9 месяцев решал, нужен ли на проекте модный-стильный-молодёжный Docs as Code или всё же остаться в дышащем на ладан Confluence. К чему пришли — не знаю. На новом месте работы мы внедрили Docs as Code за неделю — было чёткое понимание проблематики, подход казался выигрышным решением. Используем полгода.
Как я произвел 200 тандыров и 13,5 млн убытков
В 2021-м я решил замахнуться на собственное производство тандыров. Мы хотели сделать премиальный продукт, мой партнер любит BMW, и говорил:
Руководство по CMake для разработчиков C++ библиотек
Данное руководство позволит читателю составить полную картину того, как организовать сборку C++ библиотек с использованием современных возможностей CMake. Предполагается, что читатель имеет представление о базовых понятиях из мира CMake и динамических/статических C++ библиотек, так как в руководстве они могут не объясняться.
Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию
Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.
В то же время мне показалась весьма интересной такая возможность C++, как написание кода, который частично либо полностью может быть выполнен на этапе компиляции.
Объединив две эти идеи, у меня получилась простая библиотека для внедрения зависимостей, которая обходится средствами статического полиморфизма, не прибегая к позднему связыванию. О ней и пойдёт речь в этой статье. На её примере разберёмся с тем, как работает внедрение зависимостей и какие каждодневные проблемы оно решает.
Кто реально угрожает C++ (нет, Rust, не ты)
Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.
Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?
Скоростной АЦП с нуля. 16 бит за 10 лет
Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад
Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте разберем этот пример.
Логика тех, кто поддается такому внушению мне вполне понятна, они хотят упростить себе жизнь, сократить объем теории, с которой надо разбираться.
Интересно было бы понять логику тех, кто поддерживает такое внушение, выдавая обрезанную теорию за полноценную, вполне осознавая, что все не так просто, как хотелось бы.
Как сделать кастомную раскладку клавиатуры в Linux
Когда я изучал сербский язык, то использовать сербскую латинскую раскладку было мучением. Несмотря на то, что она называется QWERTY, она сильно отличается от стандартной английской раскладки. Совпадающие буквы на своих местах, но дополнительные находятся на местах занятых различными знаками препинания, скобочками и сами знаки препинания расположены по другому.
При этом с сербской кириллической раскладкой проблем не было, т.к. есть русская раскладка, у которой через правый Alt включаются дополнительные сербские буквы.
В какой-то момент я подумал, что можно сделать свою раскладку, взяв за основу английскую и добавив сербские символы через правый Alt. Например, RightAlt + s = š, RightAlt + d = đ и т.д.
Я ожидал что есть какой-то GUI в котором можно потыкать кнопки и получить нужную раскладку. Но такого я не нашел. Все делается через редактирование файлов. Плюс я не нашел понятного туториала. Что-то конечно я смог найти, но в некоторых местах приходилось догадываться и действовать методом тыка.
Устройство TCP/Реализация SYN-flood атаки
В данной статье мы поговорим об устройстве протокола TCP, самой популярной атаке на него – SYN-flood, а также реализуем её на практике и рассмотрим, как от неё защититься.
Пишем простой консольный мессенджер с end-to-end шифрованием поверх «Hidden Lake» сервисов
Secpy-Chat — это простой консольный мессенджер со сквозным (end-to-end) шифрованием, работающий поверх сервисов анонимной сети Hidden Lake. За счёт своей простоты его можно редактировать, либо даже полностью переписывать на более любимую технологию или язык программирования. За счёт использования HL сервисов появляется возможность легко формировать децентрализованную коммуникацию в глобальной сети.
Как запустить сотовую сеть стандарта AMPS при помощи SDR
Многие из нас всё ещё помнят такой стандарт связи как AMPS. В лучшие времена он, как и другой аналоговый стандарт NMT-450, был достаточно популярен на просторах России. И, возможно, у кого-то из нас даже был такой телефон.
Хотя сети общего пользования прекратили работу уже давным-давно, при помощи некоторого оборудования и софта всё ещё возможно дать старым телефонам возможность вновь зазвонить.
Итак, в сегодняшней статье разберёмся, как запустить сотовую сеть стандарта AMPS. Узнаем, с какими сложностями придётся столкнуться и как заставить всё это работать. Традиционно будет много интересного.
Вселенной на самом деле может быть не 13,8, а 26,7 миллиарда лет
По крайней мере, благодаря телескопу Джеймса Уэбба, у нас есть этому определенные доказательства. Мы начали видеть галактики, которым гораздо больше лет, чем может быть объяснено стандартной космологической моделью. Они выглядят чересчур «современными». Но у некоторых ученых есть объяснение: мы неверно понимаем текущий возраст Вселенной. На самом деле она гораздо старше, чем мы думали раньше.
Как создать несколько VMFS датасторов на одном дисковом устройстве
На одном из наших Vsphere ESxi серверов версии 5.5 установлен RAID адаптер Adaptec ASR72405 c подключёнными к нему 24 жёсткими дисками по 5 TB марки ST5000NM0024. Нами было принято решение построить RAID 60 на 22 дисках и ещё 2 диска сконфигурировать в hot-spare. Это обеспечивало нам необходимое дисковое пространство при максимальной полученной скорости доступа при потоковом чтении/записи — в районе 3.5 гигабайта в секунду на запись и 3.3 гигабайта в секунду на чтение. Обращаю внимание ещё раз, что по специфике нашей задачи нас интересовала именно максимальная скорость при потоковом чтении/записи.
Доктор, что это за **** у меня на коже?
Однако уже много лет постоянно нахожусь среди врачей, которые работают с кожей, и знаю, что на пороге у них регулярно появляются ребята, которые принесли показать свою сыпь косметологу.
Мы, земляне, завёрнуты в кожу, поэтому именно она зачастую становится тем самым первым индикатором состояния внутренних органов. Иногда — когда сами органы об этом ещё «ни слухом ни духом». В нашей практике это выглядит так: пришёл вот человек к косметологу подобрать крем, его ещё пять минут назад ничего не беспокоило, а тут врач как схватит его за руку — и вот уже запись к эндокринологу или онкологу.
Понятно, в школе этому не учат. Понятно, что если пациент дошёл до косметолога вместо дерматовенеролога в районном КВД — это не со зла, а потому что он не понимает ситуацию. Но у нас сейчас будет ликбез про то, как читать индикацию на коже. Я покажу несколько очень отвратительных картинок и несколько не очень. Но отвратительных будет больше, поэтому аккуратно.
Элвис болел диабетом, так что ему были знакомы кое-какие из кожных проявлений, о которых сегодня пойдёт речь
Дело всё в том, что любые высыпания могут оказаться как реакцией иммунитета на новый фрукт, так и кожным маркером, который сигнализирует о том, что серьёзное внутреннее заболевание уже появилось или вот-вот дебютирует. И нам приходится снова и снова объяснять, что мазь не спасёт от основной причины заболевания.
Я принес вам решение проблемы с исключениями в C#. Но вам не понравится
Я каждый день пишу код на сишарпе, и натыкаюсь на одну проблему: я трачу кучу времени на то, чтобы решить, как быть, если что-то идёт не по плану.
У меня есть приличный опыт работы с другими языками программирования, и стандартный подход по работе с ошибками в C# мне не нравится. Но языки и платформы устроены так, что ты решаешь проблемы не как считаешь нужным, а так, как принято.
Эти размышления меня измучили, и я систематизировал свои знания и идеи по обработке исключительных случаев.
Космология. Подробный разбор решения Фридмана
Всем желающим найти собственное решение уравнений общей теории относительности Эйнштейна или просто лучше понять бытие посвящается.
В статье «О кривизне пространства» , в которой Фридман впервые приводит решение ОТО для нестационарной Вселенной, Александр Александрович указывает лишь метрику в виде интервала и уравнения-результат, справедливо полагая само решение не заслуживающей внимания рутиной.
Но в поисках «вариаций на тему» рутина горит как кокс. Поэтому — в путь.
Для понимания материала необходимы знания алгебры: понятие о производных в большей степени; тензорная — в меньшей.
Впервые учёные убили спящий вирус герпеса в клетках человека
Herpes Simplex Virus, широко известный как вирус простого герпеса, является коварным микробом.Он попадает в организм через слизистые оболочки – рот, нос и гениталии, – но быстро прячется на всю жизнь внутри нервных клеток.
После первоначального заражения вирус спит, но временами просыпается и вызывает язвы или гнойные пузыри. У немногих людей его проявления хуже – включая слепоту и воспаление мозга.
Information
- Rating
- Does not participate
- Location
- Барнаул, Алтайский край, Россия
- Date of birth
- Registered
- Activity