Pull to refresh
15
0

Software Engineer

Send message

Какие строки при этом пишутся в syslog?

нет, это требует другого типа.

Только если надо реализовать Drop для типа из другого крейта.
Имхо очень правильное архитектурное решение, оно гарантирует, что реализация типа сосредоточена в 1 крейте. А тип, который по-другому делает Drop, и называться должен по-другому.

Надо удалить как то по другому тип? Ну пишите новый тип, а ещё перегружайте оператор точка.

При чём здесь перегрузка точки в вопросе удаления объекта?

Текстовый формат Ledger и есть CSV, точнее небольшое надмножество TSV. Ledger - система отчётов поверх этого формата

Ledger из коробки поддерживает логирование времени, гуглится по слову timelog format. https://ledger-cli.org/doc/ledger3.html#Time-Keeping

Полез ради интереса гуглить как этот popcnt программно эмулируют, нашёл прикольный способ на чистом C, без ассемблера:

uint64_t popcnt_reference(uint64_t x)
{
	// bit twiddling method
	uint64_t c;
	for(c = 0; x; c++) {
		x &= x - 1;
	}
	return c;
}

В xkb не уверен что такое возможно, тк если делать это через модификаторы как в примере выше, то нужно 6 различных модификаторов, по одному на каждую префиксную клавишу ERSFXC. В X11 штатных модификаторов ровно 8 (Shift, Lock, Control, Mod1, Mod2, Mod3, Mod4, Mod5) и как минимум 4 из них заняты под реально нужные функции которые переназначать не следует. Можно пойти другим путём: Функциональность, которой вы хотите добиться, в терминологии XKB называется Compose Keys - замена одного предопределённого ввода на другой, ввод и вывод могут быть из нескольких символов. Именно через Compose в XKB делается ввод диакритики, æ, и т.д., можно вывести хоть "Hello world". Но если во вводе количество символов (не модификаторов) более одного, то все символы кроме последнего введённого должны являться т.н. "Dead keys" - клавишами, не вводящими никакого реального символа, тк в XKB нет такой вещи как дерево решений и стирание/изменение предыдущего ввода. Соответственно невозможно на чистом XKB сделать так, что просто в процессе ввода какого-то текста на латинице на 1м слое вводится секретная последовательность символов и она транслируется в æ.

Можно сделать клавиши ERSFXC "Dead keys" на другом слое и тогда описанное мной сработает - можно будет создать 6 Compose-последовательностей. Но на этот другой слой надо будет вначале переключиться для набора начального Dead key.

Вам судя по всему в высокоуровневые клавиатурные скриптеры наподобие Autohotkey (есть под Linux)

Реализовать такое поведение - дело нехитрое, тк XKB имеет возможность задавать разнообразные действия на нажатие клавиши, включая выставление и очистку модификаторов:

key <AD01> { [ q, Q ], actions[Group1] = [SetMods(modifiers=LevelThree),NoAction() ] };
key <AC01> { [ a, A, ae, AE ], type[Group1] = "FOUR_LEVEL" };

(Не нашёл вашей буквы в хедерах X11, видимо не реализовано, взял похожую)

Но главный вопрос здесь как вы отличите набор буквы с модификатором от быстрого набора "qa" когда палец не успевает сойти с q. Это собственно главная проблема техник раскладки, которые смешивают модификатор и обычную букву на одной и той же клавише (Mod-tap и ему подобные)

пишут еще нужно поправить файл evdev.lst, но зачем это нужно я не знаю

Для совместимости с устаревшим кодом в ксорге, читающим .lst. Современным форматом конфига является evdev.xml
 

AltGt

AltGr
 

нужно отредактировать файл /usr/share/X11/xkb/rules/evdev.xml

Это не получится проделать на машине где вы не админ. Свои конфиги xkb можно хранить в домашней директории и загружать примерно как:

# конфиг в ~/.config/xkb/symbols/rs_latin_custom

setxkbmap -geometry "pc(pc104)"  -layout "rs_latin_custom(rs_latin_custom)" -print | xkbcomp -I/home/user/.config/xkb - "${DISPLAY%%.*}"

(Не представляю правда как это будет взаимодействовать с виджетом выбора языка в GUI)

nc -U пишет в Unix socket как раз. В баше нет builtin для операций с unix sockets, не представляю как реализовать двунаправленное чтение/запись в рамках одного process id на чистом баше не написав код на C.

Это надо как-то хитро вызывать внешнюю утилиту чтобы она соединяла сокет и дескрипторы ввода-вывода, но у меня не получилось опять же

mkfifo myfifo; socat PIPE:myfifo UNIX-CONNECT:/tmp/.X11-unix/X0; ./gen_x11_auth.sh > myfifo; cat myfifo

Утилит под клавиатурную подсистему иксов (Xlib XKB) я писал немерено, но так низко по протоколу не спускался))

Я так понимаю в Unix сокет /tmp/.X11-unix/X0 (в простейшем случае когда подключение к Xorg происходит локально к дисплею :0 в однопользовательской системе) непрерывно пишут все X-клиенты и они же непрерывно читают из него? Это же десятки сообщений в секунду если например двигать мышью. Каким образом клиенты делят сокет и не получают чужих ответов?

Пакет из байтов создать дело нехитрое, но ответ сервера из сокета у меня прочитать не получается:

#!/bin/bash

# Part 1: Auth message
display=$(cut -d. -f1 <<< $DISPLAY)

byte_order="\x6c"
noop="\x00"
major_ver="\x0b\x00"
minor_ver="\x00\x00"
auth_proto_len="\x12"
auth_data_len="\x10"
auth_proto="MIT-MAGIC-COOKIE-1"
auth_data=$(xauth list | grep "$HOSTNAME/unix$display " | awk '{print $3}' | xxd -r -p)

message="${byte_order}${noop}${major_ver}${minor_ver}${auth_proto_len}${auth_data_len}${auth_proto}${auth_data}"

echo -e -n "$message"  # | nc -U /tmp/.X11-unix/X0  как прочитать ответ

По ссылке единичный коммент на новостном сайте от видимо разработчика редхат, и относящийся к переключении на Wayland в Red Hat. Разработчиками ксорга является X.org Foundation и я не видел от них никакого официального анонса про deprecation или ещё что.

Ого не знал

Можно пруфы? Дистрибутивов с Wayland по умолчанию я знаю единицы, и никто из них не подходит под термин "крупный".

X.org окончательно deprecated во многих крупнейших дистрибутивах Linux.

Это в каких "крупнейших дистрибутивах" он deprecated??? Это только планы для ещё не вышедшего RHEL 10.

В vi/vim такого нет и быть не может

??? В Vi такого нет, но в Vim Ctrl+v выделяет прямоугольный блок текста, его можно вырезать, вставлять. Это такой же выделенный текст, просто выделение не непрерывное, и с некими соглашениями как такие объекты вырезать и вставлять.

У него есть окна, но они не прорисованы. У него не было цветов (а теперь почти нет), потому что зачем? В нем не было поддержки мыши. У нее есть строка меню, но это просто прикол? Если вы нажмете M-`, как сказано в инструкции, вы столкнетесь с действительно странным интерфейсом для навигации по меню — что заставляет задуматься, зачем они вообще потрудились потратить целую строку экранного пространства, чтобы показать строку меню, которая ничего не делает.

Что за феерический бред.

 

 

У него есть окна, но они не прорисованы.

Wat

 

 

У него не было цветов (а теперь почти нет), потому что зачем?

"Теперь цветов почти нет" на моей машине (и это только именованные цвета, а так про правильной настройке там 24 bit true color как и во всех уважающих себя современных консольных приложениях):

 

 

В нем не было поддержки мыши.

Полной интеграции с GPM в емаксе сто лет в обед, не понимаю о чём речь.

   

У нее есть строка меню, но это просто прикол?

Вызвал, вроде работает, в чём проблема? Хотя давно уже графическим меню не пользуюсь, оно не нужно когда есть хоткеи и M-x. Но автор, конечно, волен упражняться с фичами для новичков и критиковать редактор на их основе.

Она с сестрой Sumay запустила онлайн-школу для детей два года назад, когда им самим было 9 и 12 лет.

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

https://www.linkedin.com/in/wequil/ - Joe Lu (McPhail)

По-вашему LLM способна решить любую математическую задачу, которую может решить человек?

Ну ок, существует ли множество в метрическом пространстве, имеющее систему подмножеств такую, что в каждой паре подмножеств этой системы всегда есть:

  • 2 элемента пространства (один из 1го подмножества пары, другой из 2го) на сколь угодно большом расстоянии друг от друга

  • 2 элемента на сколь угодно малом расстоянии

?

Зависит от способа организации работы. Некоторые используют папки (вместо скажем тегов) для тематической организации почты. У меня в рабочей почте на каждый issue и проект - по папке, туда идёт вся переписка по данной теме. Также есть перманентные тематические папки вроде farm, legal, interviews. Видимыми делаю только перманентные и относящиеся к активным / незакрытым задачам, остальные идут в архив. Т.е. активных папок может быть с десяток, и несколько сотен в архиве.

графический редактор «Спектр»

"Радуга" же. Развели поклонение перед Западом.
Upd: Феникса туда же

Information

Rating
3,868-th
Location
Россия
Registered
Activity