Effective Modern C++ by Scott Meyers

»If you’re an experienced C++ programmer and are anything like me, you initially approached C++11 thinking, “Yes, yes, I get it. It’s C++, only more so.” But as you learned more, you were surprised by the scope of the changes. auto declarations, range-based for loops, lambda expressions, and rvalue references change the face of C++, to say nothing of the new concurrency features. And then there are the idiomatic changes. 0 and typedefs are out, nullptr and alias declarations are in. Enums should now be scoped. Smart pointers are now preferable to built-in ones. Moving objects is normally better than copying them.«

– Effective Modern C++ by Scott Meyers

QML: Get an instantiated delegate component from a ListView

QML:

->stackoverflow.com/9039497

boost::json алдыннан экран кору өчен функциялар

BrightQnA.com

Обнаружение дедлока из шелл-скрипта

Задача: Обнаружим дедлок bash-скриптом и отдадим на выход exitcode 1.

Вос/произведем простейший дедлок, запустим ./ily.bin deadlock_off 1000000

ily.cpp:

Дедлок вычислим силами GDB – для этого подготовим следующий скрипт (futex_gdb_py), так как gdb поддерживает питон (через import gdb находим pthread_mutex_lock прямо в gdb)

команда x/3d показывает что им владеет процесс 20861
команда x/3d показывает что им владеет процесс 20860
команда thread 4 показывает что процесс 20860 ждет mutex2
команда thread 5 показывает что процесс 20861 ждет mutex1:

И, собственно сам скрипт bash, для простоты берём pid запущенного процесса по имени ily.bin:

Cortex-M3/M4 [Olimex STM32-P152] GCC + OpenOCD с PN2

Olimex STM32-P152

Среда разработки – Eclipse + GCC (исходный код G ++ Lite) / Atollic TrueSTUDIO + ST-Link/V2

(с) kenjia

Microsoft UI Automation

Каким образом програмно получить значение поля Tag из программы Pilot-BIM? Т.к. программа написана на dotNet, её GUI “подчиняется” модели автоматизации пользовательского интерфейса Microsoft.

Соответственно, берём UISpy и ищем наше поле:

Программа для запоминания ключей 部首

Программа Chi[tai]na предназначена для запоминания 214-ти китайских ключей (упрощённое письмо – chinese simplified radicals).

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

Скачать chitai_na_setup.msi.cab

github/chitai_na

nginx telegram webhook behind NAT (&reverse ssh tunneling)

Instead of ngrok, pinggy etc – we’ll do it using own nginx web-server and ssh-tunnel.

/etc/nginx/sites-enabled/tgbot-webhook.conf

On the Bot’s computer in our local network (behind NAT)

ST STM32L152VBT6A support in PlatformIO

OLIMEX STM32-P152 board

JRE as Eclipse plugin

eclipse.ini:

UPD:
org.eclipse.justj.openjdk.hotspot.jre.full-22.0.1-linux-x86_64.tar.gz
org.eclipse.justj.openjdk.hotspot.jre.full-22.0.1-win32-x86_64.tar.gz

Old links:
org.eclipse.justj.openjdk.hotspot.jre.full-19.0.2-linux-x86_64.tar.gz
org.eclipse.justj.openjdk.hotspot.jre.full-19.0.2-win32-x86_64.cab

Creating WDM and driver call

Let’s create a WDM driver and some application to call it (e.g. MFC)

WDM’s source.c

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert