Ugolnik's Family blog

Различные заметки обо всем.

Статья “Как заставить неправильный код выглядеть неправильно”, поясняет в чем отличие Венгерской для Приложений (Apps Hungarian) от Системной Венгерской.
Я давно перестал использовать Венгерскую Нотацию, которая на самом деле была Системной Венгерской. Но только сейчас понял, почему мне она казалась несколько странной.

Системная Венгерская:

char szVar[]; // ясен только тип переменной, но не ее назначение
unsigned long ulVar; // аналогично

Венгерская для Приложений:

float dxVar; // назначение - хранить информации о дельте по ширине
int cVar; // счетчик

Более подробно написано в статье и в ссылках в конце статьи.

Название числа с 27 нулями (1 000 000 000 000 000 000 000 000 000) Гелла.
Название числа с 24 нулями (1 000 000 000 000 000 000 000 000) Йотта.

Белорусский ADS-модем “Промсвязь ADS модем М-101 А” – белая, далеко не маленькая коробка. Кто был дизайнером не знаю. Но мозгов у него не было – часть портов повернуты языками вниз, часть вверх. Крепление на стену предполагается только в одном положении – кабелями вверх.
Шел этот хлам без упаковки, с совершенно бесполезной инструкцией на пару страничек. В которой не были описаны дефольтные настройки (IP, логин/пароль к админке). Кроме того, модем был не настроен.
continue reading…

Если вам надоело постоянное гудение и мерцание лампы дневного света во время ее запуска и выхода в рабочий режим, то попробуйте подключить ее по схеме, которая приведена в статье “Запуск лампы дневного света без стартера”.
Эта схема позволяет зажечь лампу быстро, без утомительного жужжания и мерцания.

Я использую утилиту xhkeys для обработки мультимедийных клавиш. Иногда “залипает” клавиша и начинается запуск процесса без до тех пор, пока ядро не прибьет “лишние” процессы при нехватке памяти.

Что бы не запускались лишние копии процесса, я написал такой скрипт:

ps -ef | grep PROGRAM | grep -v grep >/dev/null ; if [ $? -eq 1 ] ; then PROGRAM; fi
  • 0xABADBABE (“a bad babe”) is used by Apple as the “Boot Zero Block” magic number.
  • 0xBAADF00D (“bad food”) is used by Microsoft’s LocalAlloc(LMEM_FIXED) to indicate uninitialised allocated heap memory.
  • 0xBADDCAFE (“bad cafe”) is used by ‘watchmalloc’ in OpenSolaris to mark allocated but uninitialized memory.
  • 0xCAFEBABE (“cafe babe”) is used by both Mach-O (“Fat binary” in both 68k and PowerPC) to identify object files and the Java programming language to identify Java bytecode class files.
  • 0xDEADBEEF (“dead beef”) is used by IBM RS/6000 systems, Mac OS on 32-bit PowerPC processors and the Commodore Amiga as a magic debug value. On Sun Microsystems’ Solaris, marks freed kernel memory. On OpenVMS, running on Alpha processes DEAD_BEEF can be seen by pressing CTRL-T.
  • 0xDEFEC8ED (“defecated”) is the magic number for OpenSolaris core dumps.
  • 0xFEEDFACE (“feed face”) is used as a header for Mach-O binaries, and as an invalid pointer value for ‘watchmalloc’ in OpenSolaris.

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

Что понравилось:
- поддержка с Xft;
- наличие скрэтчпадов (не хуже, чем в Ion3);
- работа с дочерними окнами;
- работа со статусбаром xmobar через пайп;
- возможности по подсветке текста в xmobar;
- свой набор лэйаутов и их настроек для каждого из тегов;
- работа с дочерними окнами в GIMP, Code::Blocks;
- реализация и настройка urgency hint;
- есть возможность переключиться на окно, которое установило urgency hint по хоткею.

Что НЕ понравилось:
- лэйаут с табами – слабая пародия на Ion3;
- не распределяет по тегам приложения, которые были запущены до Xmonad;
- проблемы с Smplayer (хотя mplayer работает корректно);
- отсутствие статического тайлинга мешает работать в GIMP с несколькими изображениями одновременно; видимо тут поможет лэйаут, который комбинирует несколько лэйаутов;
- возможности стандартных плагинов в xmobar.

Отдельное спасибо xetf за помощь в настройке.

Мой конфиг Xmonad.
Ветка о Xmonad на LOR.

Ну вот и сделал я себе бикуб. Белые швы – это эпоксилин обработанный наждачной бумагой в воде. Пары кубиков склеены с помощью цианоакрилового клея. Знаю, что нужно было покрасить или эпоксилин, или сам куб после обработки, но я не нашел ни тонера, ни краски. Возможно, что позже я исправлю сей недостаток. Часть наклеек резал ножом из листа пленки, часть использовал от куба 3х3х3 – наклеивая их по 3 штуки на одну сторону пары.

Бикуб без наклеек:

Бикуб с наклейками:

p.s. Вчера разобрал куб, повернув пару-тройку раз грани, теперь не знаю, как его собрать ;)

Собирая куб после экспериментов со сложными узорами на V-Cube 7 нашёл простой алгоритм:
2L L’ 2R’ R 2U’ U 2D D’ 2L’ L 2R R’ 2U U’ 2D’ D

Нашел у себя в черновиках. Не уверен, что я этот код где-либо использовал, но для затравки сойдёт.
Object-C:

const char *path;
path = [[[NSBundle mainBundle] bundlePath] UTF8String];

Или так:

CFBundleRef bundle;
bundle = CFBundleGetMainBundle();

CFURLRef res;
res = CFBundleCopyResourcesDirectoryURL(bundle);

CFStringRef resStr;
resStr = CFURLCopyFileSystemPath(res, kCFURLPOSIXPathStyle);

char path[8192];
CFStringGetFileSystemRepresentation(resStr, path, sizeof(path));