gentoo.ru
python
python@conference.gentoo.ru
Воскресенье, 3 октября 2010< ^ >
krigstask установил(а) тему: Python: простой и удобный язык программирования широкого применения
Конфигурация комнаты
Участники комнаты

GMT+4
[00:20:10] <krigstask> Ну что, титаны проектирования
[00:20:14] <krigstask> Что тут у вас?
[00:21:03] <maksbotan> krigstask: да все отлично
[00:21:10] <maksbotan> swig _очень_ мощный инструмент
[00:21:29] <maksbotan> • Attach functions to C structures (i.e. object-oriented C programming) .
[00:21:57] <maksbotan> krigstask: в общем ядро приблизительно готово, завтра буду биндинг изобретать
[00:22:09] <krigstask> Ботан бушуэ
[00:22:16] <maksbotan> =)
[00:22:58] <qnikst> даваще
[00:22:59] <qnikst> -(
[00:23:02] <qnikst> =)
[00:23:26] <maksbotan> qnikst: а у тебя там как?
[00:24:02] krigstask озадачил переключалкой уже троих, пора готовиться пожинать плоды
[00:24:28] <maksbotan> а третий кто?
[00:24:49] <krigstask> Коллега мой
[00:24:52] <maksbotan> =)
[00:25:03] <maksbotan> krigstask озадачиваэ
[00:26:35] <qnikst> криг шарит
[00:26:48] <qnikst> 2ое делают велосипеды 1 пилит что надо )
[00:26:55] <qnikst> у меня война с сями
[00:26:57] <qnikst> =)
[00:27:00] <krigstask> Работа кипит по всем форнтам
[00:27:50] <qnikst> что-то у меня всё грустно с подключение либ,  надо учиться
[00:27:51] <maksbotan> =)
[00:28:16] <maksbotan> qnikst: мы типа соревнуемся то быстрее сделает переключалку кригу? =)
[00:28:29] <qnikst> storage.c:(.text+0x20): undefined reference to `g_hashtable_new' и брр
[00:28:31] <qnikst> я нет
[00:28:45] <qnikst> меня упрекнули, что я тока ругаюсь и ничего не делаю )
[00:28:47] <maksbotan> =)
[00:28:48] <qnikst> я решил сделать
[00:28:57] <qnikst> заодно поучиться X и т.п.
[00:29:00] <maksbotan> покажи как компиляешь
[00:29:12] <qnikst> http://dpaste.com/252136/
[00:29:29] <maksbotan> странно
[00:29:34] <maksbotan> у меня почти так же и все собирается
[00:29:56] <krigstask> Может, у вас код разный?
[00:30:16] <maksbotan> у меня тоже есть g_hashtable
[00:30:43] <qnikst> http://dpaste.com/252137/ <- хеадер файла с ghashtable
[00:31:03] <qnikst> сам файл http://dpaste.com/252138/
[00:31:40] <maksbotan> а зачем ты результат g_hashtable_new к GHashTable* приводишь?
[00:32:03] <maksbotan> GHashTable*         g_hash_table_new                    (GHashFunc hash_func,
                                                         GEqualFunc key_equal_func);
[00:32:06] <maksbotan> какбы вот
[00:32:12] <qnikst> да я понял, он наругался
[00:32:22] <qnikst> в любом случае это не ошибка)
[00:32:40] <maksbotan> ну да
[00:32:59] <maksbotan> а покажи вывод pkg-config
[00:33:24] <qnikst> pkg-config glib-2.0 --libs --cflags
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -lglib-2.0  
[00:33:31] <maksbotan> хм
[00:33:49] <qnikst> тут в днк проблема небось )
[00:33:56] <maksbotan> http://paste.pocoo.org/show/270292/
[00:34:00] <maksbotan> все собирается
[00:38:45] <qnikst> хм а вот в заголовочном файле должен быть указан glib или нет?
[00:38:54] <qnikst> кинь полз файлы на пасту
[00:39:34] <krigstask> s/полз/позязя/
[00:39:38] <maksbotan> ты там ничо не поймешь, файл то не я писал
[00:39:46] <maksbotan> а #include <glib.h> нужен конечно
[00:40:13] <qnikst> почему не только в source файле?
[00:40:45] <maksbotan> ну не знаю
[00:40:48] <maksbotan> у меня указан =)
[00:41:20] <qnikst> и там и там?
[00:41:39] <maksbotan> да
[00:41:43] <maksbotan> хаха
[00:41:48] <maksbotan> :wq закрыл пиду
[00:42:37] <qnikst> ы?
[00:42:47] <qnikst> кинь плз src-шник :)
[00:42:49] <maksbotan> что ы?
[00:42:54] <maksbotan> в pida встроен vim
[00:42:57] <qnikst> а
[00:43:40] <qnikst> а по поводу приведения типов: storage.c:16: warning: assignment makes pointer from integer without a cast
[00:43:45] <qnikst> он так ругается
[00:44:06] <maksbotan> а что в 16 строке?
[00:44:57] <maksbotan> а, вспомнил
[00:45:03] <maksbotan> тут я не знаю
[00:45:11] <maksbotan> (не все ж мне знать)
[00:45:49] <qnikst> кинь файл сорцовый на пасту :)
[00:46:09] <maksbotan> ща
[00:46:11] <maksbotan> там ужас
[00:46:36] <maksbotan> http://paste.pocoo.org/show/270298/
[00:47:39] <qnikst> я помню чтобы задание для универа сделать в glibc разбирался
[00:47:51] <qnikst> потом на код с ужасом даже превод смотрел :)
[00:47:56] <qnikst> хотя имхо он плохо шарит
[00:49:49] <qnikst> о, нашёл полезные штуки
[00:49:54] <maksbotan> ?
[00:50:37] <qnikst> всякие GPOINTER_TO_INT и т.п.
[00:50:59] <maksbotan> =)
[00:51:06] <maksbotan> а зачем тебе вообще там glib?
[00:51:28] <qnikst> за тем же чем и у тебя
[00:51:41] <qnikst> везде (кроме xxkb) пользуется hashmap
[00:56:11] <qnikst> в общем-то у меня можно без особых проблем поменять реализацию hashtable на другую
[00:56:43] <maksbotan> а мне не нужно т.к. xkl и так тянет глиб
[00:57:03] <maksbotan> http://github.com/maksbotan/pyxkb/tree/c-pyxkb
[00:57:04] <maksbotan> вот
[00:57:08] <maksbotan> а я пошел спать
[00:57:09] <krigstask> Как там xxkb без hastable, интересно
[00:57:20] <qnikst> LL
[00:57:21] <qnikst> =)
[00:57:27] <qnikst> linked list у них
[00:57:44] <qnikst> ну будет поиск O(n) и черт с ним :)
[00:58:23] <krigstask> Ну вот мне непонятно, как они его прикрутили
[00:58:26] <qnikst> добавление O(1) т.к. они добавляют в начало
[00:58:31] <qnikst> т.е. как?
[00:58:41] <krigstask> Поиск перебором, что ли?
[00:58:44] <qnikst> да
[00:58:56] <qnikst> структура {window,group}
[00:59:07] <maksbotan> мде
[00:59:08] <qnikst> и по всей струкуре пробегают в поисках нужного window
[00:59:20] <qnikst> ну кстати если окон мало то это круче чем hashmap
[00:59:23] <qnikst> до 10 так точно
[00:59:33] <krigstask> Почему?
[00:59:45] <maksbotan> я так понял наш план такой: каждый пилит свою версию?
[01:00:06] <qnikst> т.к. 1 взятие хеша будет равно примерно 10 стравнениям
[01:00:14] <qnikst> (если они удачно в памяти лежат)
[01:00:36] <qnikst> + хэш мапа может быть не оптимально в памяти лежать
[01:00:58] <qnikst> у тебя будет взятие хеша + k*N переходов (как в LL)
[01:01:23] <qnikst> k~0.001 в зависимости от алгоритма хеш-хранилища
[01:01:53] <qnikst> но если неудачно выбрана хэш функция, то при малом коэффициенте может было жуткий перерасход памяти
[01:01:54] <qnikst> =)
[01:02:31] <qnikst> поэтому в питоне очень хитрые хэши
[01:02:32] <qnikst> =)
[01:02:41] <qnikst> очень-очень
[01:02:47] <qnikst> ибо весь язык на них
[01:03:17] <qnikst> хэши в смысле хэш-хранилища т.е. dict, объекты, мета-объекты и т.д.
[01:03:30] <qnikst> вот наспамил  и вроде не особо накосячил
[01:03:46] <krigstask> Какие ещё метаобъекты? (-%Е
[01:04:49] <qnikst> он накосячил :)
[01:04:52] <qnikst> он=ок
[01:05:17] <qnikst> там была какая-то хитрая конструкция, которую я не осилил
[01:05:19] <qnikst> )
[01:05:25] <krigstask> Где?
[01:06:47] <qnikst> в питоне
[01:06:50] <qnikst> лень искать
[01:06:59] <qnikst> встечу спрошу что да как
[01:08:52] <maksbotan> хаха
[01:09:02] <maksbotan> расширение собралось и даже заимпортилось
[01:09:30] <maksbotan> http://paste.pocoo.org/show/270305/
[01:10:43] <maksbotan> всё, точно спать
[01:10:47] <maksbotan> всем спокойной ночи
[01:26:50] <qnikst> я идиот
[01:26:58] maksbotan вышел(а) из комнаты
[01:27:08] <krigstask> Поздравляю
[01:28:41] <qnikst> спасибо
[01:31:43] <qnikst> о щас и assert-ами пользоваться начусь
[01:36:10] <krigstask> Ну ваще, сплошная польза
[01:36:39] <qnikst> дык, для чего и брался
[01:36:49] <qnikst> правда наверное делать работу было бы полезнее
[01:49:58] <krigstask> Не-е-е
[03:26:34] qnikst вышел(а) из комнаты
[10:02:38] krigstask вошёл(а) в комнату
[12:17:51] qnikst вошёл(а) в комнату
[13:18:33] <qnikst> блин хэштейбла злая в glib
[13:59:49] maksbotan вошёл(а) в комнату
[14:00:19] <maksbotan> ну, как у нас дела?
[14:01:11] <maksbotan> qnikst: чо там злого?
[14:16:44] <maksbotan> krigstask: пинг
[14:16:59] <krigstask> Ась?
[14:17:09] <maksbotan> как там дела с переключалкой?
[14:18:11] <krigstask> У меня? xxkb работает, но глючит
[14:18:14] <krigstask> Примерно так
[14:18:23] <krigstask> А у тебя pida-metadata в репе
[14:18:32] <maksbotan> я знаю
[14:18:38] <maksbotan> но не знаю как оно туда попало
[14:18:46] <maksbotan> в гитигнор же прописано
[14:19:44] <krigstask> Видать, сначала добавил, а потом прописал
[14:19:54] <maksbotan> =)
[14:19:57] <maksbotan> надо бы убрать
[14:23:16] <maksbotan> >>> xkb_config.XkbConfig()
<xkb_config.XkbConfig; proxy of <Swig Object of type 'XkbConfig *' at 0xb74d54e8> >
>>> dir(xkb_config.XkbConfig())
['__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__swig_destroy__', '__swig_getmethods__', '__swig_setmethods__', '__weakref__', 'application_map', 'callback', 'callback_data', 'config_rec', 'current_application_id', 'current_window_id', 'engine', 'group_count', 'group_names', 'settings', 'this', 'variant_index_by_group', 'variants', 'window_map']
[14:23:19] <maksbotan> ну вот как-то так
[14:23:43] <krigstask> Ну ваще
[14:23:51] <maksbotan> ща буду методы прикручивать
[15:56:57] qnikst вышел(а) из комнаты
[16:58:56] qnikst вошёл(а) в комнату
[16:59:24] <maksbotan> >>> set = xkb_config.t_xkb_settings()
>>> xkb_config.XkbConfig(set, lambda:1, None)
<xkb_config.XkbConfig; proxy of <Swig Object of type 'XkbConfig *' at 0xb73a9698> >
[16:59:28] <qnikst> maksbotan, да протупил с тем, что и где храниться должно
[16:59:34] <maksbotan> =)
[16:59:56] <maksbotan> а у меня уже биндинг клепается :P
[17:00:41] <qnikst> =)
[17:00:57] <qnikst> ну у меня остально работает :) event'ы слушаются и шлются
[17:01:03] <qnikst> только  данные хранятся не верно
[17:01:32] <maksbotan> > event'ы слушаются и шлются
[17:01:44] <maksbotan> пожалуй эту часть я у тебя заимствую =)
[17:02:06] <qnikst> ок
[17:06:05] <qnikst> хм.. как правильно pointer к short привести? =)
[17:06:13] <maksbotan> а что в поинтере?
[17:06:15] <qnikst> & 0xчто?
[17:06:23] <qnikst> ничего в поинтере short хранится :)
[17:06:29] <maksbotan> а почему?
[17:06:47] <qnikst> т.к. pointer на short это не логично
[17:07:00] <qnikst> и нужно делать доп хранилище шортов
[17:07:09] <qnikst> а вместо pointer'а хранить short
[17:07:27] <maksbotan> а зачем хранить шорт в поинтере?
[17:07:34] <maksbotan> почему нельзя сам шорт использовать?
[17:08:21] <qnikst> g_hash_table хранит связки указатель-указатель
[17:08:33] <maksbotan> ааа
[17:08:43] <qnikst> я хочу хранить связки значение<->значение
[17:08:45] <maksbotan> а почему обычный int нельзя?
[17:08:51] <maksbotan> G_INT_TO_POINTER
[17:09:08] <maksbotan> http://github.com/maksbotan/pyxkb/tree/c-pyxkb
[17:09:14] <maksbotan> ну что, кто будет проверять?
[17:10:10] <qnikst> ну если он делает, что надо то можно
[17:10:36] <maksbotan> да вроде делает
[17:11:05] <maksbotan> #define GINT_TO_POINTER(i) ((gpointer) (glong) (i))
Stuffs an integer into a pointer type.
[17:12:35] <maksbotan> krigstask: я убрал .pida-metadata из репки
[17:12:56] <maksbotan> кстати ты пока можешь PyQt морду начать делать
[17:14:09] <krigstask> Морду непонятно к чему, ещё не работающему?
[17:14:14] <maksbotan> почему же
[17:14:19] <maksbotan> вот есть mxkb.py
[17:14:28] <maksbotan> он связан с xkb_config.py
[17:14:30] <krigstask> И что он умеет?
[17:14:31] <maksbotan> в master
[17:14:41] <maksbotan> ничего он не умеет
[17:14:47] <maksbotan> зато архитектура стабильная
[17:15:14] <maksbotan> и такой же останется
[17:15:18] <krigstask> Ого
[17:15:20] <maksbotan> когда биндинг сделаю
[17:15:42] <maksbotan> krigstask: чего Ого?
[17:15:52] <krigstask> Архитектура стабильная (-%Е
[17:15:57] <maksbotan> =
[17:15:58] <maksbotan> )
[17:16:05] <maksbotan> ну примерно стабильная
[17:16:13] <krigstask> Я вообще сомневаюсь, что морда на pyqt мне нужна
[17:16:22] <maksbotan> а на чем нужна?
[17:16:31] <krigstask> А вообще не нужна
[17:16:35] <maksbotan> а как?
[17:16:41] <krigstask> А зачем?
[17:16:45] <qnikst> у меня клёвая переключался со всего на англ
[17:16:47] <qnikst> сейчас
[17:16:48] <qnikst> =)
[17:16:54] <krigstask> qnikst: да ты крут!
[17:16:54] <maksbotan> krigstask: ну это
[17:16:58] <maksbotan> для настроек
[17:17:09] <maksbotan> в смысле чтобы настраивать
[17:17:26] <krigstask> У меня vim работает ещё
[17:17:35] <maksbotan> =)
[17:17:52] <maksbotan> ладно
[17:18:04] <maksbotan> тогда я буду дбусный вариант реализовывать
[17:18:28] <krigstask> Я лучше подумаю, как к @ прикрутить половчее
[17:18:53] <maksbotan> @ умеет дбас?
[17:19:12] <krigstask> equery u awesome
[17:19:20] <maksbotan> я знаю
[17:19:38] <maksbotan> а в виджетах-то его можно использовать?
[17:22:33] <krigstask> Я не курил ещё модули
[17:22:43] <krigstask> Но твой вопрос звучит глуповато
[17:23:08] <maksbotan> скажем так, есть ли дбасные биндинги для луа
[17:23:20] <maksbotan> более правильно
[17:23:29] <krigstask> Не-а, всё равно ересь какая-то
[17:23:36] <krigstask> http://awesome.naquadah.org/doc/api/
[17:23:37] <maksbotan> :(
[17:23:47] <maksbotan> krigstask: суть-то в чем
[17:23:52] <krigstask> @ слушает dbus
[17:24:03] <maksbotan> ты пишешь виджет который по дбас разговаривает с моим демоном
[17:24:21] <maksbotan> так ведь?
[17:24:27] <krigstask> А повесить на отлов событий функцию — дело минутное
[17:26:24] <maksbotan> так
[17:26:31] <maksbotan> я пошел домой
[17:42:22] maksbotan вышел(а) из комнаты
[17:44:37] <qnikst> блин какого-то чёрта при переходе в новое окно мне шлётся собитие о смене группы
[17:46:34] <qnikst> мдя
[17:51:46] <qnikst> как правильно фокус ввода клавиатуры определять?
[17:55:09] <qnikst> что-то у меня не то, что нужно ловится
[17:55:25] maksbotan вошёл(а) в комнату
[18:00:19] <qnikst> что-то он мне по непонятному мне алгоритму отмечает то окно где мышь. а то окно где ввод
[18:08:35] maksbotan вышел(а) из комнаты
[18:10:15] maksbotan вошёл(а) в комнату
[19:20:17] <qnikst> аа походу это xmonad клёвый.. (
[19:20:18] <qnikst> блин
[19:21:07] <maksbotan> =)
[19:21:28] <qnikst> я не понимаю, как тут получать window_id
[19:21:43] <qnikst> почему-то оно то к 1 окну относится, то к другому
[19:22:32] <qnikst> maksbotan, ты с событиями переключения окна не разобрался?
[19:22:56] <maksbotan> а у мне их gdk на блюдечке приносит
[19:23:39] <qnikst> :/
[19:48:20] <qnikst> у меня почему-то XgetInputFocus возвращает предыдущее окно
[19:48:32] <qnikst> при событии FocusIn
[19:49:26] <maksbotan> ты думаешь я понял?
[19:51:00] <qnikst> хз
[19:51:06] <maksbotan> =)
[19:51:10] <maksbotan> а вот не понял!
[19:51:27] <qnikst> блин не охота в irc ползти
[19:51:37] <maksbotan> ползи-ползи =)
[19:51:55] <qnikst> поспрашивать однокурсников чтоли
[19:52:05] <qnikst> хотя это будет как издевательство выглядеть(
[19:53:55] <qnikst> хм. и как бы найти канал где люди пользуют xlib
[19:54:04] <maksbotan> #xlib ?
[19:54:15] <krigstask> Кх-х-х
[19:54:20] <maksbotan> но там _очень_ мало людей
[19:54:31] <maksbotan> krigstask: ?
[19:54:33] <qnikst> вижу
[19:54:43] <krigstask> Он натурально есть? (-%Е
[19:54:46] <maksbotan> да
[19:54:50] <krigstask> Ваще
[19:54:51] <maksbotan> вчера заходил
[19:54:55] <maksbotan> там 5 человек
[19:54:57] <maksbotan> примерно
[19:55:56] <krigstask> Я мало видел каналов, где больше пяти активных людей, вне зависимости от общего их количества
[19:57:58] <qnikst> когда на канале 5 человек активными реально может быть только 1
[19:58:03] <qnikst> и тот кто зашёл чтобы спросить
[19:58:19] <maksbotan> хаха
[19:58:28] <krigstask> Это да
[19:58:56] <qnikst> а ещё я к irssi так и не привык
[19:59:03] <maksbotan> а транспорт на что?
[19:59:10] <maksbotan> или он опять не работает
[19:59:35] <qnikst> ну мкаббером в irc не думаю, что много лучше чем irssi
[20:00:01] <krigstask> Ну тут же ты сидишь
[20:00:31] <qnikst> я запомнил что psi через транспорт было грустно сидеть
[20:00:36] <qnikst> зато бесплатно
[20:00:38] <qnikst> =)
[20:00:39] <maksbotan> мне не грустно
[20:00:45] <krigstask> Разве? Я постоянно сижу
[20:00:58] <qnikst> ну по стравнением с mIRC и xchat
[20:01:05] <maksbotan> странно\
[20:03:30] <qnikst> я не помню, но не хватало возможностей
[20:03:45] <qnikst> и команды серверу тоже вроде не все слались
[20:03:49] <qnikst> что удручало
[20:05:25] <krigstask> Я разницы с конференциями не ощущаю (-:Е
[20:07:39] <qnikst> ну я ж тогда хомячком был
[20:07:40] <qnikst> =)
[20:07:47] <qnikst> которому нужны всякие фишки irc
[20:07:58] <maksbotan> > Тогда
[20:08:07] <maksbotan> вечер воспоминаний в пайтон-чан
[20:08:49] <krigstask> «Пайсон» ещё скажи
[20:08:55] <maksbotan> ещё чего
[20:09:06] <qnikst> хаха
[20:09:13] <maksbotan> "питон-чан" не сильно красиво звучит просто
[20:09:18] <qnikst> на #glib мне сказали что не знают
[20:09:25] <maksbotan> что не знают?
[20:09:34] <qnikst> в чём может быть проблема
[20:09:42] <qnikst> типа делаю всё правильно
[20:09:47] <maksbotan> а откуда им знать?
[20:09:54] <qnikst> s/g/x
[20:09:55] <qnikst> =)
[20:10:00] <maksbotan> ааа
[20:10:03] <maksbotan> ну тогда да
[20:10:23] <qnikst> не понимаю..
[20:13:40] <qnikst> интересно в wm может ещё не поменять активное окно на момент получения события..
[20:13:54] <qnikst> хотя почему бы оно тогда слалось..
[20:18:41] <qnikst> я идииииот
[20:18:54] <qnikst> я интересно за сегодня это много раз сказал
[20:19:01] <qnikst> я не так всё собирал тупо
[20:19:15] <maksbotan> ??
[20:19:56] <qnikst> да файл не пересобирался как надо
[20:20:09] <maksbotan> =)
[20:20:21] <qnikst> надо было make test/ а я make писал
[20:20:33] <qnikst> всё как cli оно работает
[20:20:43] <krigstask> Ловит-запоминает?
[20:21:06] <maksbotan> эх
[20:21:11] <maksbotan> а у меня пока ничего нет
[20:21:14] <maksbotan> плохо-плохо
[20:21:33] <qnikst> да
[20:22:05] <qnikst> щас буду более сложные штуки смотреть, чтобы оно забывало удалённые окна и хорошо отрабатывало новые
[20:22:14] <krigstask> Давай
[20:22:18] <krigstask> И ссылку на репку
[20:22:49] <qnikst> ок
[20:31:45] <qnikst> с удалением, как-то грустно получается..
[20:38:49] <qnikst> krigstask, git://github.com/qnikst/kbdd.git
[20:39:58] <qnikst> там правда щас всё не раскидано как надо и вобще всё грустно
[20:40:04] <qnikst> но оно соберётся и заработает
[20:40:17] <qnikst> можно собрать как shared либу
[20:40:22] <krigstask> gcc: storage.c: Нет такого файла или каталога
[20:40:38] <qnikst> ln -s Makefile src/Makefile
[20:40:40] <krigstask> Гм (-%Е
[20:40:47] <qnikst> и в src делай :)
[20:40:54] <krigstask> 4-%Е
[20:41:04] <qnikst> просто я пока не шарю как правильно это дело писать и сделал заглушку
[20:41:24] <qnikst> да и надо будет src и .h раскидать по папкам и в билде всё делать :)
[20:41:45] <qnikst> в общем если будут идеи по внутренней структуре, косяки и т.д. пиши
[20:41:52] <qnikst> т.е. API
[20:42:05] <qnikst> у меня сегодня в планах сделать cli и что-то типа демона
[20:43:09] <krigstask> http://paste.pocoo.org/show/270591/
[21:00:43] <maksbotan> ну вот
[21:00:47] maksbotan как всегда не удел
[21:26:37] <qnikst> krigstask, ы?
[21:27:21] <qnikst> а make test соберёт тестовую прогу, ща "демона" добавлю
[21:27:40] <qnikst> maksbotan, у меня будет >дофига багов же
[21:27:54] <maksbotan> =)
[21:28:00] <maksbotan> думаешь у меня не будет?
[21:28:40] <qnikst> хз
[21:28:41] <qnikst> =)
[21:29:02] <krigstask> qnikst: чего непонятного? Не собирается
[21:30:56] <qnikst> я не вижу ошибок..
[21:31:01] <qnikst> аа
[21:31:06] <qnikst> make test
[21:31:11] <qnikst> чтобы cli прогу собрать
[21:31:16] <qnikst> да я плохой
[21:31:27] <maksbotan> $ ./mxkb.py
Ошибка сегментирования
[21:31:30] <maksbotan> няяяя
[21:34:08] <qnikst> krigstask, он error лог на пасту не запихнул
[21:34:12] <qnikst> std_err
[21:34:41] <krigstask> Да я уж понял. Я сначала проверил на less, а он оба подхватил
[21:34:50] <krigstask> А я думал, что лишь stdout должен
[21:34:56] <krigstask> http://paste.pocoo.org/show/270618/
[21:36:13] <qnikst> запушил
[21:36:53] <qnikst> я так понимаю что попытаться понять автотулсы за 15 минут это слишком гордо?
[21:37:00] <maksbotan> да
[21:37:05] <maksbotan> пойми цмейк
[21:37:24] <krigstask> Ты уверен, что оно тут нужно?
[21:37:29] <qnikst> не-а
[21:37:36] <qnikst> в общем-то я думаю и make файла хватит
[21:37:40] <krigstask> Вот мне кажется, что это перебор
[21:37:56] <krigstask> % ./a.out
[21:38:09] <krigstask> Чума! Это напоминает мне мои хелловорлды (-%Е
[21:38:36] <qnikst> =)
[21:38:44] <maksbotan> (gdb) print config->group_names
$1 = (gchar **) 0x8339330
(gdb) print cur
$2 = -400280439
[21:38:46] <maksbotan> ну как так
[21:39:11] <krigstask> qnikst: оно даже вроде работает (-%Е
[21:39:28] <qnikst> ну прога состоит из 3х helloworld
[21:39:52] <qnikst> 1) послушать события-x 2). hello_g_hash_table 3). hello объединить первые 2
[21:40:47] <qnikst> в общем как мне это рассово верно собирать? (можно ткнуть в любой проект)
[21:41:10] <qnikst> у xxkb Imake какой-то
[21:41:29] <krigstask> Я думаю, что make должно хватить с головой
[21:41:32] <qnikst> в dwm что-то страшное
[21:41:37] <qnikst> на основе make
[21:41:41] <qnikst> ok
[21:41:44] <krigstask> i3 использует чистый make
[21:44:03] <qnikst> ок
[21:44:47] <maksbotan> ну вот
[21:44:58] <maksbotan> внутри xkl происходит сегфолт
[21:46:48] <krigstask> Грусть-печаль
[21:46:53] <maksbotan> ага
[21:47:34] <maksbotan> mov    0xc(%eax),%eax
[21:47:42] <maksbotan> как такое может сегфолтится?
[21:47:46] <qnikst> максботан победил gdb
[21:47:55] <maksbotan> =)
[21:47:57] <maksbotan> пришлось
[21:47:59] qnikst шарит если backtrace покажешь
[21:48:05] <qnikst> и стек команд
[21:48:06] <qnikst> =)
[21:48:13] <maksbotan> Program received signal SIGSEGV, Segmentation fault.
0xb6bcb063 in xkl_engine_ensure_vtable_inited () from /usr/lib/libxklavier.so.16
(gdb) bt
#0  0xb6bcb063 in xkl_engine_ensure_vtable_inited () from /usr/lib/libxklavier.so.16
#1  0x0833d148 in ?? ()
#2  0xb7a34030 in ?? () at gsignal.c:363 from /usr/lib/libgobject-2.0.so.0
#3  0x0833d148 in ?? ()
#4  0x00000020 in ?? ()
#5  0xb6bcaff6 in _xkl_debug () from /usr/lib/libxklavier.so.16
#6  0xb6bcd4e0 in xkl_engine_filter_events () from /usr/lib/libxklavier.so.16
#7  0x0000001c in ?? ()
#8  0xb6bd8260 in __func__.19565 () from /usr/lib/libxklavier.so.16
#9  0x00000190 in ?? ()
#10 0xb6bd805c in ?? () from /usr/lib/libxklavier.so.16
#11 0x00000000 in ?? ()
[21:48:16] <maksbotan> какой стек?
[21:48:43] <qnikst> он как-то умеет показывать сишные команды которые выполняет
[21:48:55] <qnikst> и пошагово по ним хоть смотря на значения переменных и т.д.
[21:48:59] <maksbotan> для этого надо с другим CFLAGS пересобирать
[21:48:59] <qnikst> я плохо шарю :)
[21:49:56] <qnikst> krigstask, в i3 много файлов7
[21:53:43] <krigstask> qnikst: http://code.stapelberg.de/git/i3/tree/src
[21:54:57] <maksbotan>     if (xkl_engine_priv(engine, backend_id) == NULL) {
[21:55:02] <maksbotan> qnikst: вот падающая строка
[21:55:56] <maksbotan>         /* force the crash! */
        p = NULL;
        *p = '\0';
[21:55:58] <maksbotan> мде
[21:56:00] <maksbotan> а может и тут
[22:06:04] <qnikst> а значения engine и backend_id
[22:11:29] <qnikst> там makefile убиться можно :)
[22:14:34] <krigstask> Ну там и посложнее твоего прожект, мягко говоря
[22:14:46] <maksbotan> =)
[22:15:18] <qnikst> очень мягко
[22:15:19] <qnikst> =)
[22:19:56] <maksbotan> ой-ой-ё
[22:20:00] <maksbotan> я придурок
[22:20:14] <maksbotan> перепутал местами параметры в функции
[22:20:28] <maksbotan> и в xkl улетел указатель на черт знает что
[22:20:50] <krigstask> Все дураки, только я один умный и ничего не пишу (-:Е
[22:24:45] <maksbotan> =)
[22:24:59] <maksbotan> ты всех напряг работой, а теперь смотришь на это все свысока
[22:25:28] <krigstask> Ага, и знай себе координирую
[22:26:13] <maksbotan> =)
[22:29:21] <maksbotan> хаха
[22:29:31] <maksbotan> моя адская С переключалка умеет переключать
[22:29:33] <maksbotan> до сегфолта
[22:29:45] <qnikst> =)
[22:30:04] <qnikst> у тебя есть хорошие makefile? если да то есть шанс обогнать :P
[22:30:13] <maksbotan> мейкфайл Г
[22:30:19] <maksbotan> krigstask: будешь смотреть?
[22:30:47] <krigstask> И часто оно у тебя падает?
[22:30:56] <maksbotan> после второго переключения
[22:31:14] <krigstask> Не, спасибо. Починяй (-:Е
[22:31:25] <maksbotan> :(
[22:31:42] <krigstask> qnikst: так а в чём у тебя косячина с makefile? Он же вроде ждолжен быть простейшим
[22:32:01] <qnikst> в днк
[22:32:19] <qnikst> щас просто надо аккуратно написать и понять как принято писать
[22:32:30] <qnikst> чтобы всякие CFLAGS учитывались
[22:33:38] <krigstask> Ясно
[22:37:41] <maksbotan> python2.6: xcb_io.c:128: append_pending_request: Проверочное утверждение «(((long) (dpy->xcb->pending_requests_tail->sequence) - (long) (node->sequence)) < 0)» не выполнено.
[22:37:45] <maksbotan> ну вот что это?
[22:37:46] <qnikst> krigstask, надо делать "демона" или пока такая прога покатит?
[22:38:34] <krigstask> По мне — более чем
[22:38:56] <krigstask> Если интересно что-то ещё полезное прикрутить — забабахай dbus
[22:38:58] <krigstask> (-%Е
[22:39:26] <maksbotan> :(
[22:39:45] <krigstask> Ботан отстаёт
[22:40:00] <maksbotan> ага
[22:40:52] <qnikst> ok тогда ща makefile потом пройдусь splint а там, уже можно dbus смотреть
[22:41:27] <krigstask> Ебилд в rion запихнём
[22:41:46] <krigstask> Можно назвать это всё dbkbdd
[22:41:52] <krigstask> Чтоб смешнее было
[22:42:41] <maksbotan> =)
[22:47:15] <qnikst> =)
[22:54:57] <qnikst> я боюсь я сам запутаюсь с таким названием, хотя звучит забавно
[22:57:49] <qnikst> как я понимаю GPL-2 (особенно с учётом использования glib) тоже нормальная лицензия?
[23:00:11] <krigstask> Вполне
[23:00:21] <maksbotan> хехе
[23:00:27] <maksbotan> а я нашел почему сегфолтится
[23:02:16] <maksbotan> потому что я идиот =)
[23:02:38] <krigstask> Опять?
[23:02:48] <maksbotan> ога
[23:02:51] <maksbotan> постоянно =)
[23:03:50] <maksbotan> krigstask: я пушнул, проверяй
[23:04:26] <maksbotan> но там утечка памяти
[23:04:39] <maksbotan> размером в Py_Object
[23:05:18] <krigstask> Новая ветка, что ли?
[23:05:21] <maksbotan> да
[23:05:33] <maksbotan> на всякий случай
[23:07:45] <maksbotan> ладно, я спать
[23:07:54] <maksbotan> ты все равно пиши, я логи читаю
[23:08:36] <krigstask> Завтра попробую
[23:08:50] <krigstask> В этом вашем гите даже ветку новую надо отдельно вытягивать
[23:09:30] <krigstask> А, не, вру
[23:09:48] maksbotan вышел(а) из комнаты
[23:14:15] <qnikst> в общем я нормальный (вроде) Makefile и мелкие изменения пушнул
[23:15:47] <qnikst> блин splint при дефайне типов плохо себя ведёт (
[23:16:28] <krigstask> Прямо соцсоревнования
[23:18:15] <qnikst> =)
[23:18:24] <krigstask> А чего у тебя libkbdd.so исполняемый получается?
[23:31:10] <qnikst> хм.. ща поправлю
[23:33:04] <qnikst> аа.. он автоматом с такими правами создаётся
[23:33:15] <qnikst> я его 0644 кладу в папку
[23:35:13] <qnikst> а ты знаешь как отметить точку типа версии, чтобы можно было не -9999 ебилд делать?
[23:35:16] <qnikst> krigstask, ^^
[23:35:39] <krigstask> git tag?
[23:35:46] <krigstask> Или я не уловил проблематики?
[23:36:07] <qnikst> а как потом в ебилде указывать что это тэг скачивать?
[23:36:26] <qnikst> (я ленюсь grep-ать по ебилдам с git-ом)
[23:36:31] <krigstask> Это надо покурить git eclass
[23:36:47] <qnikst> ok
[23:36:49] <krigstask> А может, github делает архивы по тэгам?
[23:36:55] <krigstask> Я не удивлюсь ничуть
[23:38:35] <qnikst> хм.. надо посмотреть
[23:38:53] <krigstask> Сделай ярлык и протолкни
[23:40:30] <qnikst> ok, ща мелочи длделаю
[23:43:47] <qnikst> я так понимаю для лицензия, пропись заголовка в файлах, наличие какого-никакого readme и changelog и работающая программа это достатоно для деланья версии?
[23:45:02] <krigstask> Ага
[23:45:56] <qnikst> там щас с ярлыками разберусь, тут их какое-то великое множество
[23:46:03] <qnikst> подписанные неподписанные анонимные
[23:50:04] <krigstask> Я секунд десять думал, что такое "simple deamond" (-%Е
[23:50:13] <qnikst> я поправил уже )
[23:50:37] <qnikst> я даже написал слово daemon как оно звучать должно
[23:56:12] <qnikst> что-то у меня tag не закоммитился, во всяком случае анонимный
[23:57:02] <qnikst> gpg: skipped "Alexander Vershilov <alexander.vershilov@gmail.com>": No secret key
[23:57:11] <qnikst> а из-за этого не хочет подписывать
[23:58:50] <krigstask> Я не спец \-:Е
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!