LINUX.ORG.RU

Сообщения kmeaw

 

Ищу компактную проводную белую клавиатуру

Форум — Talks

Собираю компьютер для запуска DOS. Ищу компактную (без цифрового блока, чтобы можно было положить сверху на лежачий корпус, и она не свисала с него) проводную (желательно PS/2, но подойдёт и USB) белую (в цвет корпуса) клавиатуру для него.

Много печатать на ней не собираюсь, так что мне не важны, особенности раскладки, какие именно в ней будут свитчи и прочие подробности.

Линукс тут при том, что он будет загружаться по сети на этом компьютере, так как все готовые инструменты для передачи файлов под DOS работают на нём крайне медленно, программный дисковый кеш не спасает. А tinycore работает очень неплохо.

 

kmeaw
()

wireless-карта в Master режиме

Форум — Linux-hardware

Какую PCI Wireless карту лучше достать для того, чтобы сделать из роутера, работающего под Linux, точку доступа? Интересует, в первую очередь, нормальная (чтобы не приходилось раз в час/день/неделю перезагружать систему/делать rmmod;insmod) поддержка карты свободными драйверами (возможно, с несвободной firmware). Поддержка WEP, WPA и других технологий для шифрования мне не нужна - авторизация будет производиться при помощи VPN-сервера. Что по этому поводу думает LOR-community?

>>>

kmeaw
()

fvwm2 на hx4700 (3)

Галерея — Скриншоты

Всем привет. Это fvwm2, работающий на HP iPAQ hx4700. Дистрибутив - Gentoo GNU/Linux. Расскажу про все картинки.

0. Включаю iPAQ, запускается загрузчик. Это SDG Bootloader, который я немного модифицировал, сделав закос под Grub. Он читает с карты menu.lst и загружает меню (примерно в таком формате: http://kmeaw.com/menu.lst). Windows тоже можно загрузить, только я его случайно затёр Angstrom`ом, а восстанавливать лень. Грузиться можно с CF и из внутреннего флеша. SD/MMC не поддерживается (хотя можно сделать там rootfs, а ядро держать где-нибудь ещё).

1. Splash screen Gentoo GNU/Linux. Реализован, как plugin к baselayout2.

2. xdm. Если зайти, как user/user, загрузится fvwm2. Если, как xuser/xuser - загрузится xfce4.

3. fvwm2. Сверху - кнопка "close", переключатель окон, кнопка "move", кнопка "maximize". Снизу - кнопка "minimize all", часы, apm, подсветка, микшер, wireless, bluetooth, cpufeq, rotate, toggle keyboard. На рабочем поле - иконки для запуска приложений и переключатель категорий, как в PalmOS ("System").

4. Вот так работает теперь регулятор громкости и подсветки.

5. А так выбираются категории.

6. Модуль ввода сellwriter. Я сделал так, чтобы он автоматически занимат всю доступную экранную площадь по горизонтали. У него есть два режима: рукописный ввод и клавиатура. К клавиатуре прикрутил русские буквы и выкинул доп. кнопки. Распознавание работает для любых символов - для этого надо включить режим обучения.

7; Информационные сообщения. Такое, например, появляется, если нажать на иконку apm.

Подробнее можно почитать на http://pda.gentoo.ru/ - там рассказано, как всё это поставить и настроить.

>>> Просмотр (1920x1280, 373 Kb)

kmeaw
()

Типы

Форум — Development

Есть типы. Типом считается выражение вида:
1. t
2. (T1) -> (T2)
где t - type variable, T1 и T2 - любые типы. Скобки можно опускать, если выражение не становится двусмысленным. Операция -> считается правоассоциативной. Тип (a -> b) означает функцию, преобразующую экземпляры типа a в экземпляры типа b. Функции нескольких аргументов записываются, так (пусть нам нужно записать функцию двух аргументов f(A,B), где A имеет тип a, B имеет тип b, а результат имеет тип c):
a -> (b -> c),
или a -> b -> c.

Как проще всего проверить эквивалентность типов? Типы считаются эквивалентными, если один тип можно получить из другого путём переобозначения type variables, и наоборот. Например, типы (a -> b -> a) и (b -> a -> b) - эквивалентны. Я подозреваю, что можно придумать преобразование, которое бы приводило любой тип к некоторой нормальной форме. Если нормальные формы совпадают, то типы эквиваленты. Так ли это?

Как проще всего проверить приводимость типов? Тип a считаются приводимым к типу b, если экземпляр типа a является экземпляром типа b. Например, типы (a -> b -> a), (a -> Int), (a -> a), ((a -> b) -> (b -> a)) приводим к типу (a -> b).

Подозреваю, что эти задачи должны просто решаться с помощью теории графов.

>>>

kmeaw
()

wingrub, установка из Windows

Форум — Linux-install

Доброе утро. Существует ли какой-нибудь пакет, позволяющий реализовать следующее:

1) Пользователь (возможно удалённо через RDP/VNC) запускает EXE-файл; 2) В интерактивном режиме (или через конфиги) вводятся настройки сети; 3) Ставится WinGrub и прописывается в BOOT.INI 4) На диск копируется (или откуда-нибудь скачивается) kernel + initrd; 5) Машина ребутится, грузится Linux, поднимает сеть; 6) Если произошла ошибка, вернуть загрузчик на место и ребутнуться обратно в винду; 7) Поднять sshd, подключиться к удалённой машине и сделать port tunneling, чтобы дать доступ к sshd из-за NAT`а.

Может есть какие-нибудь средства, позволяющие упростить реализацию всего этого? Или придётся самому писать такую штуку?

>>>

kmeaw
()

64-bit: -march на AMD и Intel, совместимость

Форум — General

Здравствуйте. Сейчас у меня есть несколько программ, собранных с -march=k8, и они отлично работают на AMD Athlon64. Будут ли они работать на Intel 64? Как собрать программу так, чтобы она работала везде? Достаточно ли для этого указать -mtune? Можно ли собрать ядро, которое бы работало везде? Будут ли дистрибутивы, маркированные amd64 (конкретно Debian и Ubuntu) работать на Intel 64?

kmeaw
()

fvwm2 на hx4700 (2)

Галерея — Скриншоты

Всем привет! Хочу поделиться конфигом fvwm для КПК с VGA-экраном. Чтобы скрин пропустили, я склеил все скрины вместе - тогда скрин проходит необходимый порог количества программ-часов (у меня их 9) :)

В порядке возрастания пар (y,x):

После загрузки КПК появляется (1). Верхняя панель содержит кнопку "закрыть", переключатель окон (панель задач), кнопку "переместить окно" (у окон нет заголовков для экономии места), кнопку "развернуть/восстановить".

Под верхней панелью находится меню категорий (как в PalmOS). Когда меню находится в "свёрнутом состоянии", отображается текущая категория ("GTK" на (1)). Чтобы развернуть это меню, надо нажать на имя текущей категории, тогда можно будет выбрать другую (2).

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

Нижняя панель: кнопка "home" (как в PalmOS, сворачивает все окна, давая возможность запустить ещё одно приложение), часы (всего одни), APM (выводит через xosd текущий заряд), подсветка (bl toggle), микшер (gamix), network (об этом чуть ниже), bluetooth, xkbd (виртуальная клавиатура).

На (3) запущен gvim и раскрыта клавиатура. Переключатель окон в случае одного окна похож на заголовок :)

На (4) показана работа переключателя окон - активное окно выделяется синим, неактивные - серым.

Все окна, в момент их создания, разворачиваются на весь экран. Но никто не мешает "восстановить" размер окна, задать ему желаемые положение и размер (5).

Мне очень нравилось, как в PalmOS 5 сделано меню подключения к сети (которое есть в окне статуса bluetooth и вызвается тапом по соответствующей иконке снизу). Если нажать на иконку "network" в нижней панели, то появляется меню сети (6). Если wireless выключен, то меню содержит только пункт "(enable)", который включает wireless. Иначе, появляется список сетей и пункт "(disable)". Каждая сеть представлена именем (essid), уровнем сигнала (например, 14/100) и, возможно, меткой "[protected]". Если эта метка присутствует, то при попытке подключиться появляется диалог (Xdialog), запрашивающий ключ (7).

Чтобы дать возможность сравнить потребление ресурсов с другими оконными средами, я сделал скриншот с выводом ps (8).

glibc 2.6, gcc 4.1.2, xorg-server 1.3.0, kernel 2.6.21-hh13, fvwm 2.5.21

http://kmeaw.com/ipaq-gentoo/config.tar.bz2

>>> Просмотр (1936x1288, 262 Kb)

kmeaw
()

UnknownWM

Галерея — Скриншоты

Попробуйте угадать WM (Window Manager) :)

Gentoo 2006.1, Linux 2.6.21, GLIBC 2.5-r3, GCC 4.1.2, FF 2.0.0.4, Gajim 0.11.1.

Эмулятор терминала - rxvt-unicode v8.2, прозрачность работает через xcompmgr (-cfC), управляется через alt-mousewheel, терминал всегда имеет полупрозрачный фон (rxvt-unicode*background: rgba:0000/0000/0000/cccc).

>>> Просмотр (1280x1024, 288 Kb)

kmeaw
()

tempnam, tmpnam, tmpfile, mktemp, mkstemp

Форум — Development

Здравствуйте. Мне нужно сгенерировать временное имя файла, которое затем будет передано ассемблеру (as), как имя выходного файла. Какую из сабжевых функций лучше использовать? Как избежать возможности того, что кто-то угадает имя файла и создаст символическую ссылку с таким именем, указывающую на какие-нибудь важные файлы пользователя, запустившего программу? Правильно ли я понимаю, что в данном случае не получится использовать функции, которые возвращают FILE* или файл-дескриптор (int), решая предыдущий вопрос?

kmeaw
()

передача аргументов не по их номеру в объявлении, а по имени

Форум — Development

Здравствуйте. Мне интересно мнение о наличии смысла у передачи аргументов по имени. Чтобы быть более конкретным, приведу пример:

Пусть существует функция, создающая нового пользователя (create_new_user) и принимающая три аргумента: его имя (login), пароль (password) и уровень доступа (access_lvl). При передачи аргументов по их номеру (как в C), функция будет вызываться так:

create_new_user ("vasya", "p4$$w0rd", 11);

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

create_new_user (@login "vasya", @password "p4$$w0rd", @access_lvl 11);

Если есть смысл в таком способе указания параметров, следует ли разрешать их передачу по номеру? Как быть с вызовом внешних функций, написанных на языке, не поддерживающим такие вызовы? Как должно выглядить объявление (declaration) такой функции? Разрешать ли не указывать имя аргумента, если он единственный? ... если он последний? ... если он первый?

Зараннее спасибо.

kmeaw
()

автоматический вызов kinit -f (krb5) при логине в xdm

Форум — Admin

Здравствуйте. Я использую xdm и хочу сделать так, чтобы при успешном логине выполнялось действие, аналогичное запуску kinit -f и вводу пароля, где пароль бы брался из того, что юзер ввёл при логине в систему. Как это сделать? Или регистрацию на kdc можно сделать правильнее и/или проще? Мне нужно, чтобы пароль спрашивался только один раз при входе, пользователю выдавался kerberos ticket, который он мог бы использовать на других узлах сети (для входа по ssh без пароля и монтирования $HOME). Заранее спасибо!

kmeaw
()

Подскажите инструкцию для Intel x86

Форум — Development

(предисловие) Здравствуйте. Я пишу виртуальную машину, в которой необходимо реализовать ряд команд (mov REG, REG; push REG; pop REG; load REG, MEM; store REG, MEM; jmp/jc/je/js IMM; add/sub/div/mul REG, REG; call IMM; ret и некоторые другие). Все регистры (R0..R7) являются 16-битными. Для упрощения процесса написания и тестирования ассемблера для этой виртуальной машины, я взял систему команд, совместимую с Intel x86. Проблема возникла лишь с инстукциями in REG и out REG -- они должны считывать или записывать слово из единственного внешнего (во внешнее) устройства. Регистр может быть любым, но в Intel x86 в аналогичной команде может быть использован лишь аккумулятор. Я пытался использовать для этих целей "ненужные" мне инструкции fild и fist, но они могут использовать лишь четыре регистра общего назначения, а мне нужно восемь.

(собственно, сам вопрос) Какие две инструкции Intel x86 имеют схожую область применения и один аргумент (который является 16-битным регистром общего назначения (AX..DX, SI, DI, BP, SP))? Размер инструкции в байтах должен быть не больше четырёх. Заранее спасибо.

kmeaw
()

pthread + malloc = зависание

Форум — Development

Есть довольно запутанная программа, у которой директивами условной компиляции (#ifdef..#endif) включается поддержка тредов. Если она включена и я вставляю free (malloc (1)); в любое место до использования MUTEX`ов, то она зависает (gdb показывает на функцию pthread_mutex_lock). Если такую строчку не вставлять или отключить поддержку тредов, то всё отлично. Как данная строка может влиять на состояние MUTEX`ов?

kmeaw
()

NFS и авторизация

Форум — Security

Нужно экспортировать /home через NFS, но меня беспокоит то, что нехороший человек может создать на своей машине (имея, конечно, на ней рута) пользователя и спокойно читать/писать мои файлы через NFS. Хотелось бы сделать так, чтобы он не мог получить права какого-либо пользователя (за исключением nobody), не вводя его (пользователя) пароль.

kmeaw
()

[pthread] join all pthreads

Форум — Development

Существует ли функция, которая делает pthread_join всех дочерних pthread`ов? Или которая посылает им всем какой-нибудь сигнал?

Спасибо.

 

kmeaw
()

XG MIDI синтезатор

Форум — General

Существует ли программа под Linux, эмулирующая MIDI-синтезатор (как TiMidity++), но с поддержкой расширений Yamaha XG?

kmeaw
()

Преобразование сложного объекта в байтовый поток

Форум — Development

Есть некоторый сложный объект A:

         R
        / \
       /   \
      /     \
     /       \
    A ======> C
   / \
  /   \
 B1   B2

B1 и B2 - объекты, содержащиеся в A. A ссылается на объект C 
(например таким образом задан класс объекта A). 
В данном случае все объекты имеют общий корень R.

Задача: перевести объект A в вид, пригодный для отправки в байтовый
поток, короче говоря, перевести его в строку символов.

Решение, которое напрашивается - рекусрвисно перебрать все объекты
A и составить из них таблицу, присвоив каждому элементу индекс, затем
описать связи, как ориентированные пары индексов.

Однако, при этом появляется проблема: а как записать ссылку
на внешний объект (в данном случае C)? Записывать еще и объект
C нельзя, так как он не является составной частью A.
Записать путь к C тоже не всегда возможно - вдруг объекты A
и С не будут иметь общего корня R.

Как эта проблема решена в различных языках программирования и
какое решение лучше выбрать?

Спасибо.
kmeaw
()

fvwm2 на hx4700

Галерея — Скриншоты

Это fvwm2 на iPAQ hx4700. Запущены FvwmButtons, rxvt, gcalctool и xkbd. Собирал все с помощью OpenEmbedded.

>>> Просмотр (480x640, 77 Kb)

kmeaw
()

Баг с ANSI escape sequences

Форум — General

У меня в bash происходит довольно странная вещь:

Открываю rxvt-unicode, делаю PS1='$ ', набираю что-нибудь -- все нормально.

Затем делаю PS1='\e[1m$\e[0m ' (знак доллара выделяется жирным), набираю -- происходит переход на новую строку до того, как курсор дойдет до конца (а именно strlen("\e[1m\e[0m") символами раньше).

Что глючит? bash, ncurses или readline? И как это исправить?

kmeaw
()

fgets с помощью read

Форум — Development

Как считать строку из stdin в буффер? Я знаю только наиболее тупой способ - читать по байту и сравнивать его с '\n', но не будет ли это слишком медленным? Не существует ли способа лучше, например каким-нибудь образом читать большими блоками, а излишек "запихивать" обратно в поток?

Мой вариант:

char *readline() {
#define BUFSIZE 512
char *r = malloc (BUFSIZE);
size_t buf = 512;
size_t bread = 0;
size_t bnow = 0;
while (bnow = read (0, r + bread, buf - bread))
{
bread += bnow;
if (buf - bread < BUFSIZE / 2)
{
buf += BUFSIZE;
r = realloc (r, buf);
}
}
r[bread] = 0;
return r;
}

p.s. Можно использовать только системные вызовы. Использовать функции libc нельзя, за исключением функций управления памятью (malloc, free, realloc, strdup) и каких-нибудь совсем простых (strlen, memcpy, strdup, strchr, ...).

kmeaw
()

RSS подписка на новые темы