LINUX.ORG.RU

Сообщения staseg

 

[CL] ECL и кодировки

Форум — Development

Привет!

Разбираюсь с ECL. Все были ничего, пока не потребовалось работать с русскими словами, их нужно уметь вводить и выводить из скриптов на лиспе.

1. Ввод

int main(int argc,char **argv){
 cl_boot(argc,argv);
 cl_object obj=c_string_to_object("\"Привет!\"");
 cl_funcall(2,c_string_to_object("print"),obj);//печатаем "ÐÑивеÑ!"
 printf("\n");
 cl_eval(c_string_to_object("(format t \"~a~%\" \"Привет!\")"));//печатаем ÐÑивеÑ!
 /*
  * $ cat test.lisp
  * (format t "~a~%" "Прииивет!")
  */
 cl_eval(c_string_to_object("(load \"test.lisp\")"));//печатаем правильно
 printf("Привет!\n");//печатаем правильно
 cl_shutdown();
 return 0;}
Как побороть ecl и заставить его правильно понимать вводимые из исходника данные?

2.

/*
 * $cat test.lisp
 * (defun foo() "Прииииивет!")
 */
cl_eval(c_string_to_object("(load \"test.lisp\")"));
cl_object obj=cl_funcall(1,c_string_to_object("foo"));
printf("%s\n",obj->string.self); //пусто. если из фу возвращать "foo", все ок

Смотрел в EQL функции toCString и toQString (вроде так называются) (да, вариант с использованием Qt вполне подойдет), но получал абракадабры, один раз что-то вроде ÐÑивеÑ!, второй - одни знаки вопросов.

Я сейчас разбираюсь в исходниках екаэля, но на это может йти много времени. Если кто сталкивался или просто имеет веское мнение, варианты решения приветствуются. Судя по докам ECL полностью реализует анси-коммон-лисп, поэтому решение из более традиционных sbcl и clisp может быть тоже подойдут...

Локаль в системе en_US.UTF-8.

staseg
()

k3b и запись дисков: продолжение + БОНУС-вопрос!

Форум — Desktop

[gentoo] k3b и запись дисков

cdrecord -dummy таки сломал мне болванку. Наверное вместо файлов надо было дать ему готовый собранный образ. Зато growisofs отлично записал мне диски. Теперь возвращаемся к базовому вопросу: почему k3b не видит дисковод? Вся система его видит, читает и пишет, а он - нет. Не видит даже под рутом, хотя вручную я записывал от обычного пользователя (есть в группе cdrom).

А теперь, как и обещал, бонус!

growisofs -Z /dev/cdrom -speed 16 $(for i in $(seq -f "%03.0f" 92 104); do echo M2U01${i}.MPG; done)

Есть ли в баш какая-нибудь встроенная штука, облегчающая подобную вставку? Что-то вроде:

growisofs -Z /dev/cdrom -speed 16 M2U01[092..104].MPG
staseg
()

[gentoo] k3b и запись дисков

Форум — Desktop

К3б отказывается записывать диски, он просто не видит устройств. Пишет, что ничего не найдено, просит пошаманить с правами. Шаманил, юзер есть в группе cdrom, добавил его в группу disk, менял права доступа к /dev/sr0, под рутом запускал(!) - все равно нет ни одного девайся, ни rw, ни ro. Раньше помогал запуск hal, потом можно было руками вбить путь до устройств. Сейчас второго нет, hal давно выпилен. Что делать? Диски монтируются, читаются. Симлинк /dev/cdrom на /dev/sr0 есть. Проверить, работает ли из консоли, не могу, дисков вот-вот в обрез, накосячить нельзя.

k3b 2.0.2, kde 4.7.2.

 

staseg
()

okular: размер страницы

Форум — Desktop

А как заставить его не растягивать страницы по ширине, не увеличивать и не уменьшать масштаб, а просто установить его равным 100% - то есть оригинальному размеру страницы? Отлаживаюсь с виртуальной печатью в pdf и уще осточертело на глазок подгонять страницу.

staseg
()

[gentoo] okular перестал открывать pdf

Форум — Desktop

Привет!

Скорее всего это произошло после обновления до кде 4.7.2. Во-первых, он пропал из списка ассоциаций тип файла пдф -> программа, но это фигня, главное, что во-вторых, он совсем разучился открывать пдфки, при открытии файла в списке поддерживаемых форматов пдф нет, если насильно заставить открывать пдф, в консоль пишет: okular(2144)/okular (app) Okular::Document::openDocument: No plugin for mimetype '«application/pdf»'. Юз-флаг pdf на окуляре стоит, пересобирать пробовал. update-desktop-database пробовал, не помогло. Больше что-то ничего не нагуглилось... Что делать?

 

staseg
()

QSqlQueryModel -> QTreeView

Форум — Development

Привет. Имею плоскую модель: id, name, parent_id. Как наименее гемморойно отобразить ее в друвовидной форме в QTreeView? В гугле находил варианты реализации своих моделей, но мне эта затея не очень нравится. Еще есть упоминания использования прокси-модели для преобразования плоских индексов в древовидные, но примеров кода я не нашел. Если кто уже работал с этим, поделитесь кодом или просто расскажите, как сделать такую прокси.

staseg
()

Fibre Channel в PC

Форум — Linux-hardware

Привет.

Существуют ли платы fibre channel для ПК, подхватывает ли их Linux? Приветствуются ссылки на железяки. У меня гугл сломался, находится всякая муть вроде «что такое фибер ченел» и решения для Fibre Channel over Ethernet.

staseg
()

Помогите найти сказку по описанию

Форум — Talks

Вроде как французская, но не факт. Была экранизирована лет 15-20 или даже больше назад.

Было три сестры. Одна из них, вроде бы младшая, была сорванцом. Все говорили, что она ведет себя как мальчик, и принцессе не подобает так себя вести. В нее влюбился и она влюбилась в сына ведьмы, которая хотела их разлучить. Больше не помним ничего :)

staseg
()

[firefox] Как отключить затенение URL?

Форум — Desktop

В строке адреса домен печатается нормально, а http, www и все остальное - серенькое. Как отключить?

Файлфокс 6.

 

staseg
()

[маленький баг] noscript, уведомления

Форум — Linux-org-ru

Оставил комментарий в теме, на него ответили - появилось уведомление. Тему удалили, на главной странице уведомление осталось, кнопочки «сбросить уведомления» нет.

staseg
()

Песочное шоу

Форум — Talks

http://www.youtube.com/watch?v=BleMBq_OBKY

Для Ъ: тетка рисует картины с помощью песка, рассказывает ими какую-то восточную историю.

Ну уж очень красиво! Не смог удержаться, чтоб не поделиться с благородными дона^Wлоровцами. Раньше даже не подозревал о таком направлении художественного искусства.

PS. Наткнулся случайно, слушая королей хардкор-шансона: http://www.youtube.com/watch?v=hyriilJJlFU

PPS. А линупс тут совершенно ни при чем.

staseg
()

Ищутся игры

Форум — Talks

Привет! Ищу две игры. В идеале кроссплатформенные, но можно и просто под винду.

1. Хочу тупую бродилку с которой можно играть с мышкой без клавы. Не стрелялка. Там нужно что-нибудь искать.

2. Видела как одна с работы играла большая комната и много вещей и ей показывают по одной и нужно найти.

staseg
()

[драма][голосование] Про обиды

Форум — Talks

По мотивам случайно мною замеченной драмы, да. Не удержался.

1. Считаете ли вы «задрот» применительно к вам оскорблением? (Y/N)

2. Сложно ли в целом вас оскорбить или обидеть? (Легко обижаюсь/Время от времени/Тяжело обидеть (в каких случаях, от кого?)/Я отказался от ЧСВ).

PS. Прошу модераторов удалить свое сообщение, как оскорбление виновника торжества: http://www.linux.org.ru/jump-message.jsp?msgid=6449287&cid=6449297

PPS. Участников драмы очень прошу воздержаться от продолжения выяснения отношений в этом топике, остальных - от комментирования своего отношения к ней. Заранее спасибо,

Я вас всех люблю! :)

 ,

staseg
()

Великий и могучий

Форум — Talks

Когда мне говорят «пошли», «пошлите», всегда отвечаю «сейчас спошлю», «сейчас пошлем» и т.д. Сам в речи использую «пойдем». Уважаемые граммар-наци, а как все-таки правильно?

staseg
()

[ЖЖ] ЛОР, спасибо за рецепты. Продолжение ужина превзошло затраченные усилия в двестиписятшесть-кратном размере.

Форум — Talks

Здравствуй, ЛОР. Есть одна тян^W^W^W^W^W^W^W^W^W http://www.linux.org.ru/forum/talks/6243383

По многочисленным просьбам timur_dav :) За рецепты правда очень благодарен. Будем пробовать.

ЗЫ. Тут можно радоваться, френдить и хвастаться своими историями успеха.

 

staseg
()

Нямка

Форум — Talks

Лор, посоветуй вкусной еды, которую можно приготовить в домашних условиях. Не слишком долго. И без рыбы и прочей водной живности. Очень надо. Ссылки на рецепты приветствуются.

staseg
()

[C++] Специализация шаблонов

Форум — Development
template<typename T,bool XXX>
class foo{
 public:
  ...
  void bar();
  ...
};

template<typename T,bool XXX>
void foo<T,XXX>::bar(){...}

//хочу специализировать метод bar для XXX=true
template<typename T,bool XXX>
template<T>foo<T,true>::bar(){...}
//error: invalid use of incomplete type ‘class foo<T, true>’

Как правильно специализировать bar? Целиком специализировать весь класс - это тонна копипасты. Гуглится всякая муть...

 

staseg
()

[Современного искусства тред] Премию «Инновация» присудили арт-группе «Война»

Форум — Talks

Государственную премию в области современного искусства «Инновация» в четверг вручили арт-группе «Война» за акцию «Хуй в плену у ФСБ». Эта акция прошла в Санкт-Петербурге в ночь на 15 июня 2010 года. На Литейном мосту был нарисован огромный фаллос, а когда мост развели, он поднялся перед окнами местного управления ФСБ.

Подробности

Как это было

staseg
()

[gcc][gnu с/c++] Баг?

Форум — Development

Вопрос касается использования ({})-расширения.

for(int i=0;i<3;({break;}));
 -> error: break statement not within loop or switch

for(int i=0;i<3;i++)
 for(int j=0;j<3;({break;}))
  printf("%d - %d\n",i,j);
 -> 0 - 0
    1 - 0
    2 - 0

То есть в первом случае компилятор не дает использовать ({break;}) внутри «шапки» (не знаю, как правильно назвать) цикла, а во втором преспокойно обрывает цикл, в шапке которого он указан. Получается, на этапе обработки семантических ошибок он рассматривает брэйк внутри внешнего цикла, а на этапе трансляции перемещает его во внутренний.

Гцц-4.4.4, сейчас собираю 4.5.2. Раньше, емнип, такого безобразия я не наблюдал, и компилятор на обоих этапах вел себя будто брэйк относится к тому циклу, в шапке которого указан. Мне кажется это логичным: третья часть (step) шапки for-а должна выполняться после каждой итерации, таким образом вырубать цикл после первого прохода.

ПС. Изврашаться с языком приходится, чтобы соорудить макрос.

 

staseg
()

[C++] Бинарная совместимость

Форум — Development

Интересует совместимость предков и наследников.

class T{
 public:
 virtual void foo()=0;};

class Child:public T{
 public:
 void foo(){
  printf("foo\n");}};

int main(){
 void *child=new Child;
 /*
 указатель гуляет по всем кругам ада; следующий код, вообще говоря,
 будет выполняться в другой функции, где компилятор точно не знает
 о происхождении void *child.
 */
 T *t=reinterpret_cast<T*>(child);
 t->foo();}

Есть ли гарантия, что во время t->foo() все пройдет гладко? Есть ли такая гарантия хотя бы для всех платформ гцц?

 

staseg
()

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