Category: литература

Игрушечка

https://dan-ball.jp/en/javagame/dust/

Нашёл её, когда безуспешно пытался разыскать библиотеку (но не специальный софт за 100500 денег, который может всё и даже больше), желательно на Цэ, которой можно было бы без хлопот посчитать движение облака частиц ненулевого размера, с некоторой липкостью/упругостью, в газовой среде или в вакууме. Постепенно пришёл к понимаю, что задача, похоже, не простая и готовое решение стоит 100500 денег, может всё и даже больше...

За вашу и ихнюю свободу

Вот тут известный турецкий писатель восторгается украинскими флагами над Москвой. И плакатики, мол, (особенно в какой-то его предыдущей заметке) - тирания, диктатура.

Мне интересно, а насколько реально устроить аналогичную акцию в Киеве - если не по содержанию (призывать Путина НА пляж вместо С пляжа, что ли?), то по форме - с российскими флагами и т.п.? Чё-то мне подсказываешь, что даже Зе-ский не обрадуется.

А у нас, панимаш, тирания...

Купил ещё один металлический стеллаж.

Собрал, нормально так - семь полок, даже лишние винты остались (я серьёзно - лишние! даже с учётом того, что часть винтов не хочет вкручиваться в гайки).
Переместил и упорядочил почти всё, что валялось на столе и рядом. Пространство трёхмерное, ёптыть, надо этим пользоваться.
В процессе разбора нашёл двухдолларовую купюру, лежавшую закладкой в книжке про TCP/IP.

Но...

WE REQUIRE MORE MINERALS ещё один стеллаж. А то уже два с половиной есть - и они как-то подозрительно плотно забиты.

И ещё кресло заказал. С газлифтом, качающейся (по крайней мере, в описании) спиной и всё такое. Старый стульчик совсем прогорел развалился.

worklog: продолжаю распутывать библиотеку STM32 USB Device Library

...и всё крепче уверенность в том, что её писала группа весьма необщительных товарищей, слабо заинтересованнных в успехе их совместного дела.

Например, заведена структура типа PCD_HandleTypeDef - хэндлер, который собсно и абстрагирует физический интерфейс. В ней там внутри много чего интересного, в т.ч. два массива структур типа USB_OTG_EPTypeDef. Массивы на карте обозначены бувами IN_ep[] и OUT_ep[], соотв. они реализуют "абстрактное представление" конечных точек. Внутри них тоже много чего.. и вот тут уже начинается реально смешное.

Вероятно, кто-то решил, что оторвать индекс в массиве от реальной конечной точки - неплохая идея. Ну, то есть,. предположим, что нам нужно всего две точки, но по каким-то эстетическим соображениям мы не хотим оптимально использовать железо, поэтому это будут не EP1 и EP2, а совсем даже EP5 и EP6. То есть IN_ep[1] это будет EP5, а OUT_ep[2] это будет EP6, например. Чтобы никто не догадался, нахрена так усложнять, в структуре USB_OTG_EPTypeDef есть поле num, скрозь которое и можно было бы так сделать... но, насколько я вижу, даже те функции, что непосредственно перемещают данные между абстрактной абстракцией и реальным железом, получают прописанный в явном виде параметр epnum, полностью игнорируя это вышеобозначенное поле. Зачем оно такое надо? Я не знаю.

Кроме того, внутри USB_OTG_EPTypeDef есть поле is_in, в которое прописывается 1 для конечных точек направления IN и 0 для OUT. Но я пока не вижу, чтобы это поле всерьёз где-нибудь использовалось (в хэндлере-то всё равно два отдельных массива с явно заданным направлением!).

И это далеко не все признаки расщепления сознания у тех, кто всё это писал. Например, Collapse )

Всё под нож! Всё!

Upd: несколько дней возни вслепую и паникующего отчаяния -- и вот я уже дошёл до того, что нужно написать коллбэки для обработчика прерываний на почти все возможные ситуации, начиная от события "обнаружен VBus", заканчивая "получен пакет данных от хоста", и затем уже приступать к реализации конкретного драйвера класса. Зато я теперь примерно представляю, как же это таинственное USB устроено внутри (хотя бы применительно к семейству STM32F7).

QtGTK

Когда Qt-приложение, написанное без использования сторонних библиотек, вдруг выдаёт сообщение
QXcbWindow: Unhandled client message: "_GTK_LOAD_ICONTHEMES"
то как это понимать?

Как один чистильщик обуви миллионером стал.

Дело было в Америке. Один маленький мальчик работал на улице чистильщиком обуви. Он очень старался делать своё дело хорошо. Так старался, что даже школу прогуливал, но зато у него всегда была самая лучшая вакса, лучшие щётки и тряпочки и он помнил всех своих клиентов, подбирая к каждой паре обуви оптимальные чистящие средства. Он собирал каждый цент, отказывая себе во всём. И когда он скопил примерно десять долларов, внезапно оказалось, что его дальний родственник, дядюшка из Оклахомы, умер - оставив мальчику в наследство несколько миллионов долларов. Вот так маленький мальчик, работавший чистильщиком обуви, стал богатым и успешным.

С тех пор прошло много лет. Мальчик написал несколько книг (как умел, так и написал - школу-то прогуливал), в которых изложил своё видение пути к успеху. Его именем названо тренинговое агентство, его приглашают консультировать молодых специалистов, он ездит только на дорогих машинах и питается исключительно элитными деликатесами. А всё потому, что привык с детства хорошо работать!

Вы делаете мне удивительно

Ё-маё. Написал, что не пью - куча комментов.
Написал что-то про безалкогольное пиво - куча комментов.
Нарисовал восхитительные иллюстрации к своей изумительной книжке - ... ну, комменты есть, да. Но где восторг?! где пиар, например? :)

Пью топлёное молоко "Можайское" за ваше здоровье.