Archive for the ‘General’ Category

2004-10-21 02:56

Thursday, October 21st, 2004

Не ми е ясно като си лягам по това време и ставам по обяд как по дяволите ще ида в събота сутринта на Openfest.
(не е ясно и Велин колко още ще ме трае всяка нощ да му тракам на главата :) )

(относително) Сутринта се примъкнах до проекта, и разиграх първия си вариант на лекцията, за да видя какво точно имам да говоря. Получи се добре, утре пак, като си доправя презентацията.

След това отидох да довършвам вчерашната инсталация. Оказа се, че за съм свалил ISO image за x86_64, а не за ia64 (много тъп се почувствах) и не можах нищо да направя днес с Itanium-а… В крайна сметка оставих Никола Антонов да инсталира някакъв mandrake на него. Не и било писано на тая машина…

На бърз ход се добрах до офиса на Жоро (който умираше от глад, и се изнесе набързо, като ни остави под надзора на Антон), и с малко родилни мъки, пренастройки, оправяне на laptop-а на Румен, и малко магии по firewire (много благодаря, Антоне, спести ни поне няколко часа мъчене с dvgrab и приятели :) ) подкарахме видео broadcast-а. Работи много добре, само дето при три потока (сумарно около 3.2 mbps) и машината кляка. За момента са предвидени два аудио/видео потока и един само аудио, да може да се слуша навсякъде (само дето audio потока е 64kbps… чудя се дали да пускам на по-ниска скорост).

Накрая прибрахме камери, машини и т.н. (и Румен си беше заминал), и аз с два лаптопа на гръб се добрах до вкъщи, където досега си правих презентацията … Горе-долу се справих, само дето някои моменти ми куцат, и я препратих на Жоро да я види и като един експерт да си каже мнението (и да я пооправи, моля … :) ).

Втора поредна седмица пропускам ИББ, неприятна работа (даже Ylith ми измрънка).

2004-10-20 11:50

Wednesday, October 20th, 2004

One of the many reasons to read linux-kernel – a posting by Alexander Viro:

Oh, and don’t bother contacting me regarding any code I’d worked on – the answer hadn’t changed. If English translation had been unclear, maybe the original will help: poshel ty na huj so swoimi predlozheniyami.

(english translation: Go [sit] on a dick with your offers)

2004-10-20 11:49

Wednesday, October 20th, 2004

Една причина да се чете linux-kernel – постинг на Alexander Viro:

Oh, and don’t bother contacting me regarding any code I’d worked on – the answer hadn’t changed. If English translation had been unclear, maybe the original will help: poshel ty na huj so swoimi predlozheniyami.

2004-10-20 01:46

Wednesday, October 20th, 2004

The most important thing for today – I found the problem with ffserver. In fact, it turned out to be a problem with ffmpeg, but took a lot of time to be found, and after that I discovered that it got fixed in the latest versions (and have broken a lot of other stuff :) ).

The problem is in libavformat/tcp.c, it’s as follows (I’ve removed some ifdefs for clarity):

        ret = write(s->fd, buf, size);
        if (ret < 0 && errno != EINTR && errno != EAGAIN)
            return -errno;
        size -= ret;
        buf += ret;

Which at EAGAIN or EINTR in fact moves the buffer backwards, because ret=-1. This way the stream sent by ffmpeg get screwed, and ffserver goes mad.

I went to take a look at the cvs, and found out that the problem is fixed here, right after the 0.4.8 release. If I had looked at the way ffmpeg worked, I would've caught it with the first strace, here's the output:

write(4, "fm\0\0\0\3\346\323\337\326< |\10\r\35?\225j\234G\260\263"..., 32768) = 3432
write(4, "\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\3238/\310"..., 29336) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\3238"..., 29337) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "M\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\323"..., 29338) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\vM\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\323"..., 29339) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "%\vM\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\323"..., 29340) = -1 EAGAIN (Resource temporarily unavailable)

And for the search engines to be able to catch it in a better way, a short description of the problem: ffserver dies with segmentation fault (e.g. SIGSEGV) when network problems occur on the link between ffmpeg and ffserver.

Another thing for today was my work on a Itanium2, that we'll be showing at openfest - I'll be downloading some other distro, at the moment it has a SLES8 on it, which is really outdated. The machine also roars like two 32b servers, and my head hurts... I don't like its speed, either - looks like for something to work ok on it, it has to be compiled with ICC, and that's pretty hard task for linux, not only because not everything compiled with icc works (for example - the kernel, with removed GNUisms).

2004-10-20 01:38

Wednesday, October 20th, 2004

Най-важното за днес – намерих проблема с ffserver. Всъщност, се оказа проблем с ffmpeg, но отне бая време да го изровя, и след това да открия, че това са го оправили в новите версии (и са строшили куп други неща :) ).

Проблемът беше в libavformat/tcp.c, правеше се следното(премахнал съм малко ifdef-ове):

        ret = write(s->fd, buf, size);
        if (ret < 0 && errno != EINTR && errno != EAGAIN)
            return -errno;
        size -= ret;
        buf += ret;

Което при EAGAIN или EINTR всъщност мърда буфера в обратната посока, понеже ret=-1. Така потока, пращан от ffmpeg, се намазва, и ffserver-а полудява.

Отидох да погледна в cvs-а, и какво открих - проблема е оправен ето тук, точно след release на 0.4.8. Да бях се усетил да разгледам самия ffmpeg как се държи, още с първия strace го хванах, че мести буфера назад, ето и изхода:

write(4, "fm\0\0\0\3\346\323\337\326< |\10\r\35?\225j\234G\260\263"..., 32768) = 3432
write(4, "\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\3238/\310"..., 29336) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\3238"..., 29337) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "M\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\323"..., 29338) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\vM\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\323"..., 29339) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "%\vM\v\23\21\330\214V1WD\6\347;\305\213\24A\265C\323g\323"..., 29340) = -1 EAGAIN (Resource temporarily unavailable)

И за да може да хване google търсенията по-добре, кратко описание на проблема: ffserver дава segmentation fault (т.е. SIGSEGV) при мрежови проблеми при връзката м/у ffmpeg и ffserver.

Другото днес беше занимаването ми с един Itanium2, който ще показваме на openfest - в крайна сметка ще сваля някаква друга дистрибуция, за момента има един SLES8, който обаче е адски outdated. Освен това машината бучи като за два 32битови сървъра, и ме боли главата... Не ми харесва и как се движи - изглежда, за да работи нещо добре на нея, трябва да се компилира с ICC, а това е леко сложна задача за linux, най-малкото защото не всичко, компилирано с тоя компилатор работи (пример - linux kernel, с изчистени GNU-изми).

2004-10-19 04:40

Tuesday, October 19th, 2004

ffserver, et tu mama tambien!

The day wasn’a anything special, my glasses are undergoing repairs, I went through the project to check on some things, after which we had a meeting for OpenFest, and to test the camera. It turned out that we don’t have the required cable, today I’ll be looking at the stores.

After that I went home, with some lasagna, ate, and started looking for a problem in ffserver, it was segfaulting at times.

I tried gdb, valgrind and strace on in, read the sources of 0.4.8, 0.4.7, the cvs snapshot from their page and the latest one… I got to the following conclusion – it does screw the .ffm file SOMEWHERE, in which he keeps the current stream, because of network problems, and when the clients reach that, it dies with SIGSEGV. My night passed in looking at things like this:

193.110.159.41 - - [Tue Oct 19 01:10:15 2004] "GET /test2.avi HTTP/1.0" 200 5309590
193.110.159.41 - - [Tue Oct 19 01:12:06 2004] "GET /test1.avi HTTP/1.0" 200 10399138
Segmentation fault (core dumped)
marla:/home/vasil$ gdb --core=core ffmpeg-0.4.8/ffserver
....
#0  0x400c31b7 in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0x400c31b7 in memcpy () from /lib/libc.so.6
#1  0x08062db1 in ffm_read_data (s=0x8288260, buf=0x82cbcc3 "....", size=6421, 
    first=0) at ffm.c:354
#2  0x080632fe in ffm_read_packet (s=0x8288260, pkt=0xbfffbc88) at ffm.c:511
#3  0x0805da4c in av_read_packet (s=0x8288260, pkt=0xbfffbc88) at utils.c:424
#4  0x08054998 in http_prepare_data (c=0x8295270) at ffserver.c:2116
#5  0x0805501a in http_send_data (c=0x8295270) at ffserver.c:2384
#6  0x08051f60 in handle_connection (c=0x8295270) at ffserver.c:879
#7  0x0805191d in http_server () at ffserver.c:625
#8  0x0805b0f2 in main (argc=3, argv=0xbffffd94) at ffserver.c:4654
(gdb) frame 4
#4  0x08054998 in http_prepare_data (c=0x8295270) at ffserver.c:2116
2116        return av_read_packet(s, pkt);
(gdb) print c->state
$1 = HTTPSTATE_SEND_DATA
(gdb) print  c->stream->feed
$2 = (struct FFStream *) 0x827fed0
....
(gdb) print ffm->file_size  
$37 = 117878784
(gdb) print size
$38 = 6421
(gdb) print len 
$39 = -24191
(gdb) print fill_size
$40 = 28273
(gdb) print frame_offset
$41 = -24191
(gdb) q

It’s especially strange that the return value of a function that reads 2 bytes and makes a two-byte number from them, are something that is over 65536 0 and Valgrind didn’g catch any oveflows.

Because I got tired, I made some toast, had breakfast, and I’ll probably sleep until the afternoon.

2004-10-19 04:32

Tuesday, October 19th, 2004

ffserver, et tu mama tambien!

Деня не беше нещо особено, очилата са ми на ремонт, минах през проекта да проверя едно-две неща, след което имахме среща за openfest, и за тест на камерата. За последното се оказа, че нямаме кабел, днес ще търся по магазините.

След това се прибрах, с едно количество лазаня под мишница, хапнах, и седнах да ровя проблем във ffserver-а, даваше segmentation fault от време на време.

Какво ли не пробвах, gdb, valgring, strace, четох source на 0.4.8, 0.4.7, cvs snapshot-а от страницата им и последния cvs… Е стигнах до един извод – НЯКЪДЕ намазва .ffm файла, в който държи текущия поток, при разни мрежови проблеми, и като стигнат дотам клиентите, гърми със sigsegv. Нощта ми мина в гледане на неща от типа:

193.110.159.41 - - [Tue Oct 19 01:10:15 2004] "GET /test2.avi HTTP/1.0" 200 5309590
193.110.159.41 - - [Tue Oct 19 01:12:06 2004] "GET /test1.avi HTTP/1.0" 200 10399138
Segmentation fault (core dumped)
marla:/home/vasil$ gdb --core=core ffmpeg-0.4.8/ffserver
....
#0  0x400c31b7 in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0x400c31b7 in memcpy () from /lib/libc.so.6
#1  0x08062db1 in ffm_read_data (s=0x8288260, buf=0x82cbcc3 "....", size=6421, 
    first=0) at ffm.c:354
#2  0x080632fe in ffm_read_packet (s=0x8288260, pkt=0xbfffbc88) at ffm.c:511
#3  0x0805da4c in av_read_packet (s=0x8288260, pkt=0xbfffbc88) at utils.c:424
#4  0x08054998 in http_prepare_data (c=0x8295270) at ffserver.c:2116
#5  0x0805501a in http_send_data (c=0x8295270) at ffserver.c:2384
#6  0x08051f60 in handle_connection (c=0x8295270) at ffserver.c:879
#7  0x0805191d in http_server () at ffserver.c:625
#8  0x0805b0f2 in main (argc=3, argv=0xbffffd94) at ffserver.c:4654
(gdb) frame 4
#4  0x08054998 in http_prepare_data (c=0x8295270) at ffserver.c:2116
2116        return av_read_packet(s, pkt);
(gdb) print c->state
$1 = HTTPSTATE_SEND_DATA
(gdb) print  c->stream->feed
$2 = (struct FFStream *) 0x827fed0
....
(gdb) print ffm->file_size  
$37 = 117878784
(gdb) print size
$38 = 6421
(gdb) print len 
$39 = -24191
(gdb) print fill_size
$40 = 28273
(gdb) print frame_offset
$41 = -24191
(gdb) q

Особено странни са моментите как от функция, която в общи линии прави прочита 2 байта и прави от тях едно двубайтово число, мога да получа нещо, което е над 65536 – и Valgrind не хвана никакви overflows.

Понеже ми писна, си направих няколко филийки, закусих, и мисля да спя до следобеда.

2004-10-17 23:36

Sunday, October 17th, 2004

Second day for putting banners. The whole day me, Bobson and schz were walking through Sofia and sticking (and were able to finish just before the end of the soccer match, to be able to avoid the fans’ mob).

Next to NDK there is a place where they sell pizza by the piece, and make a great lasagna … mmmm …

My glasses turned out to be at home, tomorrow I’ll be bringing them for repairs. Looks like the autopilot has helped me take them.

2004-10-17 23:31

Sunday, October 17th, 2004

Втори ден за лепене на афиши. Цял ден аз, Бобсън и schz се разхождахме из София и лепяхме (и успяхме да свършим съвсем малко преди края на мача, за да избегнем тълпата фенове).

До НДК има едно място, в което продават пица на парче, и правят една страхотна лазаня… ммм….

Очилата ми всъщност се оказаха вкъщи, утре ще ги нося на ремонт. Автопилота е помогнал да си ги взема, както изглежда.

2004-10-17 01:19

Sunday, October 17th, 2004

The paunch soup saved me, and after that me and Bobson went out to put banners about openfest, I’m tired as hell, and the weather wasn’t very suitable (I hate the cold and rainy weather, when I’m outside).

I’ll have to go to the place of the party tomorrow, because I forgot my glasses there, and looking without them isn’t nice, it’s like the world with lower resolution (and as far as I remember, one of the glasses is broken, so I’ll have to bring them for maintenance).

I installed evolution 2.0, for some parts it looks better, for some – worse. And I want to find some way to encrypt the outgoing mail for people whose keys I have by default.

2004-10-17 01:15

Sunday, October 17th, 2004

Шкембе чорбата ме спаси в общи линии, след което с Бобсън цял ден разлепяхме плакати за OpenFest, скапах се, а и времето не беше особено подходящо (мразя да е студено и дъждовно, и да съм навън).

Трябва да ида утре до мястото, дето празнувахме, че там са ми останали очилата, а гледането без тях не е особено приятно, все едно света е с намалена разделителна способност (доколкото си спомням, и едното им стъкло е счупено, ще трябва да ги нося на ремонт).

Инсталирах си evolution 2.0, изглежда в някои отношения по-добре, в други – по-зле. Освен това искам да намеря начин по подразбиране да криптира изходящата поща до хората, чиито ключове имам.

2004-10-16 14:15

Saturday, October 16th, 2004

My notes from last night:

drunk
tired
documentation the whole day
the meeting at Zhoro failed
party at Nakov
drinks with different colors
made a lot of heated brandy, people liked it
tired to death and drunk
came home at 4, and I want do die
I’m thinking about dying

For the last thing I agree totally, I feel really bad…

We were celebrating that Nakov got the “John Atanasov” award, with a lot of drinkig… I decided to try everything, and because that wasn’t enough, I made a considerable amount of heated brandy, that almost everybody liked. I got so drunk, that I don’t even want to comment it.

Good thing that I remember an interesting conversation with Shiyachki, about making a bootable image that can behave as netboot – e.g. instead of using bootprom, to use GRUB and something else… I remember explaining to someone how bad idea it’s to run a database on raid5, not on raid1…

I’m thinking about getting a bath, and going for paunch soup, before I die.

2004-10-16 14:04

Saturday, October 16th, 2004

Бележките ми от снощи:

пиян
уморен
документация цял ден
провали се срещата при Жоро
купон при Наков
пиене с различни цветове
праил бая греяна ракия, която се хареса
уморен до смърт и пиян
прибрах се в 4, и ми се мре
мисля да умра

За последното в момента съм напълно съгласен, адски ми е зле…

В общи линии празнувахме това, че Наков спечели наградата “Джон Атанасов”, с много пиене… Аз реших да пия от всичко, а след като и това не ми стигна, направих едно сериозно количество греяна ракия, която бая се хареса на хората. Толкова жестоко се напих, че направо нямам думи…

Поне си спомням един интересен разговор с Шиячки, на тема дали може да се направи bootable image, което да се държи като netboot – т.е. вместо да се ползва bootprom, да се ползва GRUB с още нещо… Помня и как обяснявах на някой колко лоша идея е база данни да се пуска в/у raid5, а не в/у raid1…

След малко ще се изкъпя, и ще ида за шкембе чорба, преди да съм умрял.

2004-10-15 00:23

Friday, October 15th, 2004

Because Velin today was working on zadnik.org, I took his part in the cryptography lecture – authentication algorithms and Diffie-Hellman key exchange, after which I explained PGP. The last explanation wasn’t very good, looks like I’ve forgotten to explain simply, so I had to retell it a few times (and forgot the simple moment that a key can have more than one signatures, which definitely threw into confusion few people (even though it was obvious from the scheme)). For the next lecture I’ll find someone to test it first, and now I’ll be putting one more explanation in the forum.

After the first hour I went to Shiyachki, where it was nice and quiet, and some great brandy showed (desync really liked it :) ), so I only listened to the end of Niki’s lecture on PKI (and I asked a few questions). Then we went to “Toronto”, ate, and I went home.

Tomorrow I’ll be writing some more documentation, and will start with the openfest lecture. I still have no idea how free time will I have and if I’ll be able to help for the putting of the banners through the city, but if someone wishes to help – write to Bobson ( bobson(at)bobson(dot)net) :)

2004-10-15 00:11

Friday, October 15th, 2004

Понеже Велин днес се занимаваше със zadnik.org, аз поех неговата част от лекцията по криптография – алгоритми за аутентикация и Diffie-Hellman key exchange, след което обясних и PGP. Последното обяснение не беше особено добро, изглежда съм забравил да обяснявам просто, та се наложи да го разкажа няколко пъти (и забравих важния момент, че един ключ може да има няколко подписа, което определено обърка няколко човека (въпреки че беше очевидно на схемата)). За следващата лекция ще намеря на кой да я проиграя един път, и ще кача във форума едно допълнително обяснение.

След първия час просто седнах да си почина при Шиячки, където си беше приятно, отнякъде се появи и една страхотна ракия (desync определено я хареса :) ), и чух само края на лекцията на Ники за PKI (където зададох няколко въпроса). После отидохме в “Торонто”, хапнахме, и се прибрах.

Утре ще пиша документация, и ще почна да разписвам и самата лекция за Openfest-а. Още не съм наясно как ще съм с времето, и дали събота и неделя ще мога да помогна за разлепянето на афишите, но ако някой, който чете това, има желание да помага – да пише на Бобсън (bobson(at)bobson(dot)net) :)

2004-10-14 00:07

Thursday, October 14th, 2004

Today I was mostly writing documentation – my hand kept hurting, but I managed to write 4-5 sheets, mostly core stuff. The things left are some details about the encryption of the backup, and to describe some more situations.

IBB followed, where we were just a few – me, Guninski, joejoe, Slavka and knight, and some other guy came, that I didn’t recognize. In “Krivoto” it was nice, I had dinner, we talked about some interesting things, and then I went home.

I caught Velin at the door – he had just come home, too, and we found out that he was missing his zadnik (ass). E.g. the machine zadnik.org is down, and he’s really unhappy, tomorrow he’ll be going to Lirex, to see its problem.

And the cold outside should be outlawed. It still isn’t winter, why are the temperatures so low? Because of this, I found a nice site with satelite pictures – www.sat.dundee.ac.uk – there are some really interesting (and beautiful) ones, they just want registration (and the don’t look like bad people :) ).

2004-10-13 23:22

Wednesday, October 13th, 2004

Днес основно писах документация – пак ме наболяваше ръката, но написах още 4-5 листа, само основните неща. Остава да доопиша няколко подробности за криптирането на backup-а, и да разпишем още няколко ситуации.

Последва IBB, на което бяхме в камерен състав – аз, Гунински, joejoe, Славка и knight, а после дойде и някакъв елемент, който не ми стана ясно точно какъв е. Все пак в “Кривото” беше приятно, хапнах си, поговорихме си за разни интересни неща, и се прибрах.

Засякохме се с Велин на вратата – той също се прибираше, и открих, че му няма задника. Т.е. машината zadnik.org е умряла, и той е адски нещастен, утре ще ходи до Lirex, за да види къде и е проблема.

А студа навън трябва да го забранят със закон. Още не е зима, защо трябва да са такива температурите? Поне намерих интересен сайт за сателитни снимки – www.sat.dundee.ac.uk – има доста интересни (и красиви снимки), само искат регистрация (и не изглеждат лоши хора :) ).

2004-10-12 23:13

Tuesday, October 12th, 2004

Last nigh I reread “Ring world” – I thought that I haven’t read it, but found out ti was the opposite right in the beginning. A nice book, I can understand why Pentchev likes it so much.

I found out that it’s really nice to wake up with punching the bag for a while, then to take a shower :)

The first waking up was before that – Velin tried to kill him self by coughing, and I had the feeling that he’ll cough away the wall. The giving up of the cigarettes and the moment that he’s sick, are combining in a very interesting way :)

I’m writing my lecture for the openfest, which for some parts is the same as the documentation of the project – as usual, firstly on paper. The handwriting is a pleasant event, but after pounding on the punching bag it’s a bit painful, and that that I hit the wall once really isn’t helping.

Today’s lecture on network security was very nice, Velin was explaining cryptography, and I think that everybody understood him. After that we went to “Toronto”, where after a hour or more of discussions we wrote a plan for the next few weeks. There were a lot of discussions about for how stupid people should be the lectures prepared, and still got nowhere, I really want a way to check the level of the students…

2004-10-12 23:06

Tuesday, October 12th, 2004

Снощи препрочетох “Пръстенов свят” – мислех си, че не съм я чел, но се убедих в обратното още в началото. Хубава книжка, може да се разбере защо му е любима на Пенчев.

Открих, че е доста приятно за събуждане да поблъскаш боксовата круша, няколко минути занимаване, един душ, и бях готов за деня :)

Първото ми събуждане сутринта не беше това обаче – Велин се опита да умре от кашляне, и имах чуството, че ще събори стената по някое време. Отказването на цигарите и това, че е болен, се комбинират много интересно при него :)

Пиша си лекцията за OpenFest, която донякъде съвпада с документацията на проекта – както обикновено, първо на листи. Да пишеш на ръка е много приятно, само дето след като съм блъскал по боксовата круша е малко болезнено, а това, че един път ударих стената, определено не помага.

Днешната лекция по мрежова сигурност протече много добре, Велин обясняваше за криптографията, и мисля, че всички го разбраха. След това отидохме в “Торонто”, където след около час спорове в крайна сметка направихме план за следващите няколко седмици. Много спорехме по въпроса като за колко тъпи хора трябва да се обяснява, и пак доникъде не стигнахме, дали няма начин да се провери нивото на студентите…

2004-10-11 23:23

Monday, October 11th, 2004

Last day of the fights with the video broadcast. It was so fun, that in the end I hung the punching bag on the wall, and was hitting it for a while. It helped, although my hands hurt a little (some gloves might be a good idea).

So now it will be ffmpeg, and some black magic to make it stay in sync. After a pile of combinations of ffmpeg, transcode, mjpegtools, mencoder/mplayer, liblivemedia, vlc, vls, darwin streaming server, I couldn’t make something that would stream normal video stream through RTSP – the only one working was with ffpmeg with one of the example programs from liblivemedia, the quality was abysmal, and it kept on jagging. The solution for the future (which I’m planning on implementing, or finding someone to do it) is to make some small universal programs that could take any kind of AVI, find out it’s codecs, and send it to Darwin. The other one will be a modular interface to send the live stream frame by frame, to evade the jagging, and a codec that will keep the sound and video in sync without any screw-ups (the last one will be a fun task).

Tomorrow’s the lecture on cryptography and its applications in the network security, let’s see what surprises has Velin for us (not including the one that he’s giving up smoking, I really hope he will make it :) ). We watched “The siege” tonight, a nice movie (although I have some notes on the organization of the attacks).

In a comment in Zhoro Chorbadzhiyski’s blog somebody mentioned a new book by Umberto Eco – the title sounds a bit strange, but I think it will be worth reading.