Poslať Uto Feb 03, 2009 6:43 pm

Dva navrhy na diplomku/softverovy projekt

Pojdem rovno k veci. Ak by mal niekto zaujem, tak by som rad viedol jednu alebo obe dve nasledujuce temy:

1) Vizualny debugger - nie, nebojte sa, nejde o nic strasidelne. Urcite sa kazdy stretol uz s normalnym debuggerom, kde sa mu ukazuju obsahy pamatovych premenny a moze krokovat program. Tento debugger by obsahy premenny nie len ukazoval, ale aj kreslil. Teda by poznal "semantiku" roznych datovych struktur (incidencna matica, pole cisel, atd.) a rovno by to graficky zobrazil. Takto by si student mohol pekne odkrokovat rozne grafove, triediace, sietove a ine algoritmy a pri kazdom kroku by graficky videl, co sa deje. Po technickej stranke by islo o front-end ku gdb. Jazyk programu na debugovanie by mohol byt lubovolny, taky, aby ho gdb vedel odkrokovat. V zdrojaku by bolo okrem samotneho programu zapisany aj metakod, ktory by vizualny debugger vedel precitat (pre original programovaci jazyk by bol zabaleny do komentara) a podla neho by zistil, ktora pamatova struktura co predstavuje a ake su medzi nimi vztahy.

Cielom toho vsetkeho je poskytnut a) pomocku pre vyucujuceho na PAZ, aby mohol ukazat, ako sa program sprava a nemusel pouzivat na kazdy algoritmus iny program. Cize by to malo byt co najviac univerzalne.
b) pomocku pre studenta, ktory by si mohol odkrokovat svoj program a videl by hned, kde mu nieco uteka. Napriklad pri domacich ulohach alebo pripravach na skusku.

Videl som softverove projekty, ktore robili vizualizator sieti, dalsie na vizualizaciu triediacich algoritmov, dalsie na grafove algoritmy a vsetky boli navyse viazane na nejaky konkretny jazyk. Co tak urobit nieco univerzalne? Frontend by mal byt napisany v C++ s pouzitim Qt a mal by byt pod GPLv3 a bezat nativne aspon pod GNU/Linuxom a Windowsom.

2) Firewall v CUDA. Povodne som tuto temu chcel ist robit ako doktorand, ale nie som vedecky typ a pisat okolo toho siahodlhe omacky sa mi uz vobec nechce. Aj tak je to rozsahom tak akurat na diplomku. Cize, ciel je jednoduchy. V celej EU sa postupne pretlacaju zakony o tom, ze ISP musi vediet blokovat konkretne stranky. To je ale zjavny problem a je to ekvivalentne L7 analyze trafficu. Zial, ide o vypoctovo narocnu vec a tak zariadenia, ktore dokazu analyzovat co i len prenosy niekolko stoviek Mb/s su neuveritelne drahe a casto su iba jednoucelove. Mojim cielom bolo vytvorit plugin v CUDE, ktory by nahradil povodny netfilter, hoci s obmedzenymi vlastnostami, ale zato neuveritelne vykonny. Podmienka je, aby vedel filtrovat aj na zaklade L7. Uz som co-to nakodil a zatial sa ukazuje, ze na stroji s cenou do 3000 Eur by sa mohol dat filtrovat traffic presahujuci 1Gb/s, co je naozaj skvely vysledok. Nemam cas sa ale venovat veciam, ktore nesuvisia priamo s mojou pracou a tak by som bol rad, ak by tento projekt spravil nejaky schopny student. Bud si isty, ze firmy by po Tebe nasledne len tak chnapli. Pritom nejde o nejaku myslienkovo narocnu vec, staci to naimplementovat. Samozrejme, je treba poznat siete, GNU/Linux, dobre kodit v C. Programovat v CUDE a mysliet paralelne sa da pomerne lahko naucit. Chcel som moje vysledky prezentovat na Bez(a)Dise, ale zial sa uz nekona.

Ak by si niekto trufal, tak sa mi ozvite. Na tieto dva projekty si urcite najdem cas.
Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity