Home

Advertisement

Не люблю проприетарщину/покажи свои сорцы

> Recent Entries
> Archive
> Friends
> User Info

September 21st, 2009


11:40 am - Console-Kit
$ ps ax -L | grep -c console-kit-daemon
64

Ж8-[   =   ]
Bad design as is...
Tags: ,

(7 comments | Leave a comment)

July 30th, 2009


09:35 pm - CFFI grovel wtf
Как кошерно на cffi grovel описать следующую структуру?
/*      Stream type-dependent parameters
 */
struct v4l2_streamparm {
        enum v4l2_buf_type type;
        union {
                struct v4l2_captureparm capture;
                struct v4l2_outputparm  output;
                __u8    raw_data[200];  /* user-defined */
        } parm;
};

Определение юниона, встроенного в структуру, cffi не умеет (afaik). Нужно определять его отдельно.
(cunion _parm1 "ЧТО ДОЛЖНО БЫТЬ ТУТ?"
  (capture	"capture"	:type captureparm)
  (output	"output"	:type outputparm)
  (raw-data	"raw_data"	:type :uchar :count 200))

(cstruct streamparm "struct v4l2_streamparm"
  (type	"type"	:type buf-type)
  (parm	"parm"	:type _parm1))

Вылезает 2 проблемы:

1. Юнион анонимный, ему в биндиге же придётся какое-то имя генерировать.

2. grovel при генерации сишного враппера-дознавателя хочет у юниона определить размер:
(define-grovel-syntax cunion (union-lisp-name union-c-name &rest slots)
  ...
    (c-printf out " :size %i)" (format nil "sizeof(~A)" union-c-name))

Но, простите, этот юнион отдельно от структуры не существует, поэтому будет epic fail. Пока выкрутился вот так, но это какой-то ужоснах:
(cunion _parm1 "union { struct v4l2_captureparm capture; struct v4l2_outputparm  output; __u8    raw_data[200]; }"
  (capture	"capture"	:type captureparm)
  (output	"output"	:type outputparm)
  (raw-data	"raw_data"	:type :uchar :count 200))

А ещё доступ к stream.parm.capture.capability & V4L2_CAP_TIMEPERFRAME, где stream - это экземпляр struct v4l2_streamparm, выглядит так:
(foreign-slot-value
 (foreign-slot-value
  (foreign-slot-value
   stream 'streamparm 'parm)
  '_parm1 'capture)
 'captureparm 'capability)

Хреновенько выглядит...
Current Music: Mayhem "Wolf's Lair Abyss (Ep)" - Ancient Skin
Tags: , ,

(4 comments | Leave a comment)

July 19th, 2009


12:15 pm - http://www.utro.ru/news/2009/07/18/826358.shtml
via [info]ivan_ghandhi

"Московская милиция усилила меры безопасности в районе центрального столичного ипподрома. Около 900 сотрудников правоохранительных органов будут обеспечивать порядок во время проведения скачек на приз президента России, сообщил представитель столичного ГУВД Анатолий Ластовецкий. Жители улицы Беговой, чьи дома находятся в непосредственной близости от ипподрома, не могут открывать окна и выходить из дома в момент проведения мероприятия. В противном случае, по ним будет открыт огонь на поражение. Об этом объявили местным жителям.
Сегодня на ипподроме проходят традиционные скачки на приз президента. В них примут участие 12 лошадей чистокровных верховых пород. На центральный московский ипподром уже прибыл президент России Дмитрий Медведев и лидеры ряда стран СНГ."

Ааафигеть... Так и вижу: сходила бабушка^Wтеррористка-смертника за хлебушком. Снайперу - медаль за защиту главного слуги народа.
Current Music: Arcturus "La Masquerade Infernale" - Painting My Horror
Tags:

(Leave a comment)

July 10th, 2009


12:40 pm - Кризис
Чехи начали на мороженом экономить. Вся упаковка такая попалась.



Tags:

(6 comments | Leave a comment)

July 5th, 2009


01:37 pm - Fedora rawhide опять умерла...
После yum update что-то такое обновилось (не glibc), что система начала на все команды выдавать ошибку, на хардварный poweroff не реагировала. Жёстко вырубил питание, на корневом ext4 похерилось две сотни inod'ов, системе пришёл капец. Отлично...

Загрузился с "живой" флешки с F11-beta, скачал dvd с F11, не нашёл на ней, как раньше, файла, который можно было сделать dd на флешку и загрузиться с неё. Оказалось, теперь нужно live-iso-to-disk запускать, но такого утиля на флешке не было. Ладно, сделал yum install, собрал инсталляционную флешку, загрузился с неё. При выборе места, где валяется образ дистрибутива, LVM'ом не пахнет, а у меня только /boot на отдельном разделе :-\ Отлично...

Гружусь обратно с "живой" флешки, но, блин, она, похоже, обновление корневого раздела, сделанного yum, не перенесла, образ умер. Отлично...

Гружусь в Дебиан, валяющийся на винте на всякий случай. Пишу образ F11 на диск, гружусь с него, начинаю установку. При нажатии на самый последний "Next", т.е. когда даже ненужные пакеты убраны, Анаконда падает. Хм... Бывает. Гружусь опять, делаю всё по-дефолту, только рутовому разделу ставлю галку "шифровать". Падает там же. Гружусь, делаю вообще всё по дефолту, падает на разбиении диска, потому что предыдущая установка что-то luks'ово-шифровательное прописала на раздел. Гружусь в дебиан, форматирую будущий рут, гружусь с dvd, делаю всё строго по дефолту. Падает. Отлично...

Достаю из загашника dvd с F11-Alfa, с которой раньше точно грузился и ставил систему. Теперь падает с kernel panic. Отлично...

Положил МПХ на Федору, загрузился в Дебиан, обновился до unstable (хомяк на ext4, нужно новое ядро), пока буду сидеть в нём. Проблемы с Федорой буду решать в рабочее время.
UPD: скопировал рут с другого ноутбука, на котором установлена бета 11-ки.
Current Music: Abigor "Nachthymnen (From The Twilight Kingdom)" - Unleashed Axe Age
Tags: ,

(14 comments | Leave a comment)

May 25th, 2009


02:38 pm - Bazaar
Bazaar is a distributed version control system that Just Works. Bazaar is friendly Distributed version control doesn't need to be complex. Bazaar is Version Control for Human Beings. Bazaar has a natural feel because we focus on usability, particularly task efficiency.

Скажите, как в этой грёбанной хрени смержить патчи из другого репо? Я уже часа три бьюсь, пытаюсь патчи из своего git-репо перетащить в bzr'овский. Плагин git-bzr телегу говна требует, fast-import на третьем коммите спотыкается. При помощи tailor сконвертил, наконец-то, но не могу найти, как в bzr подсосать чейнджы из другого репозитория. В git обхожусь remote add и fetch, а тут...
$ bzr merge -r 2..22 file:///tmp/gitbzr/2
+N  elmo/
+N  elmo/elmo-imap4.el.OTHER
+N  elmo/elmo-mime.el.OTHER
+N  elmo/elmo-util.el.OTHER
+N  wl/
+N  wl/wl-draft.el.OTHER
+N  wl/wl-expire.el.OTHER
+N  wl/wl-summary.el.OTHER
R   elmo/ => elmo.moved/
R   wl/ => wl.moved/
Conflict adding files to elmo.  Created directory.
Conflict because elmo is not versioned, but has versioned children.  Versioned directory.
Conflict adding file elmo.  Moved existing file to elmo.moved.
Contents conflict in elmo/elmo-imap4.el
Contents conflict in elmo/elmo-mime.el
Contents conflict in elmo/elmo-util.el
Conflict adding files to wl.  Created directory.
Conflict because wl is not versioned, but has versioned children.  Versioned directory.
Conflict adding file wl.  Moved existing file to wl.moved.
Contents conflict in wl/wl-draft.el
Contents conflict in wl/wl-expire.el
Contents conflict in wl/wl-summary.el
12 conflicts encountered.
Отлично... В git'е хоть ворох манов читать надо, но там всё есть, и git действительно позволяет делать очень многое. А тут нихрена не понятно, доков нормальных нет (и работает тормозно). Я такой human beings об стену бы убил...
Current Music: Dark Funeral "The Secrets Of The Black Arts" - Satans Mayhem
Tags: ,

(2 comments | Leave a comment)

March 21st, 2009


01:35 pm - I'm ill
На улице тепло, солнышко, хочется в говна на велосипеде, а я сижу с кашлем, соплями и квадратной головой :( wtf?
Current Music: Forgotten Tomb "Songs To Leave" - No Way Out
Tags:

(6 comments | Leave a comment)

March 7th, 2009


10:26 pm - No way back
Отберите, наконец, траву у мантейнеров федоровских пакетов! Ещё немного, и я буду драться.Read more... )Самое обидное, что на ряду с таким оголтелым долбоебизмом Федору делают реально много отличных людей, непосредственно пишущие софт в апстриме. Самые лучшие гцц, глибц, ядро, системтап, селинукс и мное другое - в Федоре. А в Генту - старое глючное говно, потому что гентушные мантейнеры недостаточно круты для софта, который они пытаются мантейнить. Но одним свежим глибц жив не будешь, поэтому Федора - не наш выбор. Чем дальше, тем хуже у неё с зависимостями.

А ещё у меня новый скринсейвер: деформирующая корова.




Current Music: Shining "II - Livets Andhallplats" - Svart
Tags: ,

(16 comments | Leave a comment)

March 2nd, 2009


01:28 pm - Java wtf?! Again...
$ rpm -qR gettext-devel
/bin/sh  
/bin/sh  
/bin/sh  
/sbin/install-info  
/sbin/install-info  
/sbin/ldconfig  
gettext = 0.17-9.fc11
gettext-libs = 0.17-9.fc11
libasprintf.so.0()(64bit)  
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
libc.so.6(GLIBC_2.4)(64bit)  
libdl.so.2()(64bit)  
libgcc_s.so.1()(64bit)  
libgcc_s.so.1(GCC_3.0)(64bit)  
libgcj_bc.so.1()(64bit)  
libgettextlib-0.17.so()(64bit)  
libgettextpo.so.0()(64bit)  
libgettextsrc-0.17.so()(64bit)  
libm.so.6()(64bit)  
libpthread.so.0()(64bit)  
librt.so.1()(64bit)  
libz.so.1()(64bit)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH) 
Придурки, кому нужен gettext для java, собирайте пакет java-gettext, но не поганьте gettext-devel!
Current Music: Darkthrone "Plague Wielder" - Wreak
Tags:

(5 comments | Leave a comment)

February 17th, 2009


10:08 pm - ммать...
void foo(const char* dst, const char* src, const size_t len)
{
    const char* _dst = dst, *_src = src;
    printf("dst =          %p, src =       %p\n", _dst, _src);

    asm volatile (
        "1:\n"
        "lea 128(%0), %0\n"
        "lea 128(%1), %1\n"

        "dec %2\n"
        "jnz 1b\n"
        :
        : "q"(src), "q"(dst), "q"(len >> 7)
        : "%0", "%1", "%2");
    printf("dst =          %p, src =       %p\n", _dst, _src);
}
...
1. dst =          0x7f999e00f010, src =       0x7f999f4dc010
2. dst =          0x7f999e437c10, src =       0x7f999f904c10

Есть volatile, указан clobber list, параметры функции в другие переменные копируются, и такая фигня... Руками расставленные регистры помогают, но несколько теряем на перетасовке регистров до и после asm-вставки.

UPD: Разработчик gcc объяснил, что так и должно быть.
Current Music: Abigor "Fractal Possession" - Cold Void Choir
Tags:

(3 comments | Leave a comment)

February 8th, 2009


06:26 pm - NetworkManager
А у кого-нибудь получалось настроить сабж для работы в безгуёвом варианте? Я что-то около часа побился, удалил и за минуту написал скрипт на баше, который при запуске сам определяет, где ноутбук: дома (wpa_supplicant, dhclient wlan0, vpnc) или на работе (dhclient eth0).
Current Music: Deicide "Legion" - Holy Deception
Tags:

(8 comments | Leave a comment)

February 7th, 2009


05:42 pm - Дом
Почему раньше даже деревянные дома по сто лет стояли? Потому что люди строили для себя, для своих детей и внуков. А что сейчас? Сейчас Novy Medlanky ставят украинские рабочие, приехавшие по краткосрочной визе срубить денег неквалифицированным или малоквалифицированным трудом. Поэтому-то в новых домах незаделаны швы, сыреющие в холод и промокающие в дождь. Поэтому плинтуса самому приходится прибивать, а по-хорошему, их нужно отодрать и залить герметиком дыры, но это не мой дом. Да что говорить, они даже крышку унитаза нормально не поставили, умишка не хватило вставить резинку в предназначенный для неё паз, чтобы не пришлось со всей дури затягивать пластмассовый болт, дабы компенсировать образовавшийся перекос. Болту, конечно, со временем настал пиздец, но это случилось уже после сдачи дома.

Искренне надеюсь, что все мои очные и виртуальные знакомые, откуда бы они не были, обладают совестью и инженерными принципами, поэтому качественно и оптимально делают свою работу, даже если она их не вставляет. Иначе коммунизм так никогда и не наступит.
Current Music: Deicide "The Stench Of Redemption" - Never To Be Seen Again
Tags:

(2 comments | Leave a comment)

January 31st, 2009


01:15 pm - Етить
Пока космические KDE4 бороздят сферические вакуумные головы, тут такое происходит, и всем пофиг:
$ /sbin/ldconfig -p | grep qt-mt
        libqt-mt.so.3 (libc6,x86-64) => /usr/lib64/qt-3.3/lib/libqt-mt.so.3
        libqt-mt.so (libc6,x86-64) => /usr/lib64/qt-3.3/lib/libqt-mt.so
$ strace ld -lqt-mt 2>&1 | grep open
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/usr/lib64/libbfd-2.18.50.0.9-7.fc10.so", O_RDONLY) = 3
open("/lib64/libz.so.1", O_RDONLY)      = 3
open("/lib64/libc.so.6", O_RDONLY)      = 3
open("a.out", O_RDWR|O_CREAT|O_TRUNC, 0666) = 3
open("/usr/x86_64-redhat-linux/lib64/libqt-mt.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/x86_64-redhat-linux/lib64/libqt-mt.a", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib64/libqt-mt.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib64/libqt-mt.a", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib64/libqt-mt.so", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/lib64/libqt-mt.a", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/usr/lib64/libqt-mt.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libqt-mt.a", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/x86_64-redhat-linux/lib/libqt-mt.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/x86_64-redhat-linux/lib/libqt-mt.a", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libqt-mt.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libqt-mt.a", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libqt-mt.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libqt-mt.a", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libqt-mt.so", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/lib/libqt-mt.a", O_RDONLY)       = -1 ENOENT (No such file or directory)
open("/usr/lib/libqt-mt.so", O_RDONLY)  = -1 ENOENT (No such file or directory)
open("/usr/lib/libqt-mt.a", O_RDONLY)   = -1 ENOENT (No such file or directory)

Убивать, всех убивать...
Current Music: Behexen "By The Blessing Of Satan" - Watchers Of My Black Temple
Tags:

(3 comments | Leave a comment)

January 18th, 2009


01:47 pm - Чехия
Ещё пара фактов о чешской "расторопности".

Наш провайдер, UPC, за пару-тройку месяцев до Нового года прислал письмо, в котором сообщал о ликвидации нашего тарифа, поэтому мы добровольно-принудительно будем переведены с 4mdit down/256kbit up на 13mbit down/1.5mbit up (я об этом уже писал). Сейчас 18 января, если верить календарю, а нас всё так же старыми шейперами режут... Товарищ А., оказавшийся в ровно такой же ситуации, после НГ звонил в UPC, там ему сказали, что "с 1 января" означает, что они с первого рабочего дня в январе пошлю специального дядечку, который будет обходить все коробки, установленные в каждом подъезде каждого дома, и вручную будет производить переключение. Вот так. Я почему-то думаю, что они врут.

Жена решила связаться в третий раз с чешским интернет-магазином, заказала скакалку с компьютером (меряет частоту оборотов, etc), оплатила её банковским переводом. Мне через несколько часов перезвонил дядечка, сказал, что такой скакали у них нет, и жалкие несколько сот крон он обратно банковским переводом посылать не будет. Поэтому своими ногами приезжайте в магазин и забирайте деньги.

Удавить бы таких "работничков"...

Зато мы вчера с женой уронили Ленову на ламинат с высоты 1.5 метра, пробили там небольшую дырку, повредили при этом слегка палец жене (да чё там, у неё спички торчат из ладошек - не то, что мои культяпки), а Ленове-то хоть бы хны! :) Вот это я понимаю - качество!
Current Music: Xasthur "Suicide In Dark Serenity" - Suicide In Dark Serenity

(2 comments | Leave a comment)


> Go to Top
LiveJournal.com

Advertisement