TDK – egy nagy projekt utóélete

Az elmúlt időszak egyik fontos eseménye volt az, hogy részt vettem a kari TDK konferencián. Ez azzal járt, hogy az elmúlt néhány hónapban minden ismerősömet azzal kergettem az őrületbe, hogy legtöbbet erről beszéltem velük…

Most viszont az egész véget ért, ideje számot vetni, értékelni, ami elkészült, és a tanulságokat levonni.

Az elmúlt időszak egyik fontos eseménye volt az, hogy részt vettem a kari TDK konferencián. Ez azzal járt, hogy az elmúlt néhány hónapban minden ismerősömet azzal kergettem az őrületbe, hogy legtöbbet erről beszéltem velük…

Most viszont az egész véget ért, ideje számot vetni, értékelni, ami elkészült, és a tanulságokat levonni.

Számomra ez nagy projekt volt: 4 hónap kódolás, 1 hónap dolgozatírás, és mellé még ez-az kapcsolódott (pl. prezentáció készítése). A méretre jellemző még, hogy 5000 sor Java kódot írtam (ez nagyobb, mint bármilyen projekt, aminek a fejlesztésébe belefolytam, és a többi projektet ráadásul nem is egyedül kódoltam), valamint [intlink id=”609″ type=”post”]61 oldal dokumentációt[/intlink] (szintén rekorder méret), ráadásul angolul.

Sokféle új dolgot próbáltam ki menet közben (vagy használtam nagyobb méretben, mint korábban): Eclipse alapú fejlesztés, kényszerkielégítés (CSP/CLP) vagy éppen nagy dokumentumok szerkesztése LaTeXben. És persze Java rulez:D

Ami kicsit fájdalmasabb rész, az a tanulságok levonása: sajnos sikerült a szükségesnél kicsit nagyobbat markolni, aminek az lett a vége, hogy a befejezés kicsit rohanós lett. Ráadásul bejött a szokásos problémák egyike, mármint sikerült belefutni egyes implementációs/elvi szintű problémákba, amik megkerülésére vannak ötletek, de azért még időt igényel.

Ráadásul a negyedik-ötödik hónapra a kezdeti lelkesedés is elfogyott, így a morál csökkent. Valószínűleg könnyebb lenne fenntartani a lelkesedést, ha lenne még egy ekkora állat, aki hajlandó a projekttel foglalkozni – különösebb ellentételezés nélkül – azzal sajnos nem tudok szolgálni, munka viszont van bőven… Persze álmodozni lehet.

Ami még hasonlóan fontos kérdés, hogy hasznos volt-e a befektetett energia. Na, ez az, ami jó kérdés: rövid távon kifejezetten nehéz aprópénzre váltani, amit összeszedtem (pláne, hogy a cucc még nem is 100%-os), de hosszabb távon remélhetőleg hasznosabb lesz: felhasználható diplomamunkába, esetleg cikkekhez, doktoranduszi kutatási téma alapja lehet, stb.

De legalább az a veszély nem fenyeget, hogy a projekt hirtelen véget ér. A hiányokat lehet pótolni, illetve néhány újdonságot is lehet csinálni. De addig is irány a régi grind…

Ja, és megpróbálok majd gyakrabban írni az oldalra. 🙂 Tudom, ilyet már mondtam, de próbálkozni lehet. Mások újévkor fogadnak meg mindig olyan dolgot, amit nem tartanak meg, én ezért nem ígérek semmit senkinek – elég lesz magammal elszámolnom.

Update: amit elfelejtettem, az az, hogy szeretnék köszönetet mondani mindenkinek, aki bármilyen aprósággal hozzájárult a munkához, gondolok itt azokra is, akik nem szerepelnek a dokumentáció köszönetnyilvánításában. Tényleg mindenkinek nagyon hálás vagyok.

Dokumentumszerkesztés, ahogy Balage csinálja

Folytatva Stampie [[http://cubussapiens.hu/node/597|írását]], most szeretném én is a világ elé tárni az eszközök listáját, amely irodai jellegű munkáimat segíti (vagy gátolja, ez nem mindig triviális). A feladataim, melyek ilyen eszközöket követelnek, nagyjából hasonlóak, mint Stampie esetében, házi feladat dokumentációk, ritkán bemutatók egy-egy előadáshoz, illetve táblázatkezelés a pénzügyeim követésére, és néhány egyszeri számítás elvégzésére (ez alatt tipikusan a “mennyit fogok költeni karácsonyra” jellegű kalkulációkra gondolok).

Folytatva [intlink id=”597″ type=”post”]Stampie írását[/intlink], most szeretném én is a világ elé tárni az eszközök listáját, amely irodai jellegű munkáimat segíti (vagy gátolja, ez nem mindig triviális). A feladataim, melyek ilyen eszközöket követelnek, nagyjából hasonlóak, mint Stampie esetében, házi feladat dokumentációk, ritkán bemutatók egy-egy előadáshoz, illetve táblázatkezelés a pénzügyeim követésére, és néhány egyszeri számítás elvégzésére (ez alatt tipikusan a “mennyit fogok költeni karácsonyra” jellegű kalkulációkra gondolok).

Office csomagok

Linuxon nincs sok értelmesnek nevezhető alternatíva, próbálkoztam KOffice-al is, de a funkcionális gyengeségét nem ellensúlyozza a felhasználói felület egyszerűsége. Amit a jelenleg alpha állapotban lévő KOffice2-ről olvastam, a helyzet sokkal jobb lesz, de ebben az állapotban természetesen még nem alkalmas a komoly használatra.

Így jelenleg szinte kizárólagosan OpenOffice-t használok. Az általam ígényelt funkciókat tudja, a beépített PDF export meg biztosítja, hogy bárhol meg tudják tekinteni az alkotásaimat. A képletszerkesztője kifejezetten jó (tudom TeX-es kollegák most köhécselnek..), az ábrakészítője is használható, bár annál megesett, hogy káromkodva bezártam, és elővettem helyette az Inkscape-et, ami kifejezetten nem erre való, de mégis könnyebben megoldottam vele a feladatomat.

Néha felmerül olyan igény, hogy egy dokumentum jó lenne, ha interneten keresztűl megosztható lenne (megfelelő jogosultsággal, nem publikusan). Ekkor veszem elő a Google Docs nevű eszközt, amelyet az egyszerűség kedvéért Prism-ben futtatok. Ezt az eszközt 90%-ban táblázatkezelésre használtam, amivel meg vagyok elégedve, egyszerű formázásokat, és a megszokott parancsokat tudja. A dokumentumszerkesztő részét alig használtam párszor, de azt hiszem nem is fogom, egyszerűen túl keveset tud (egy képet nem sikerült rendesen beillesztenem a szöveg közé).

Egyéb eszközök

Én sajnos nem tudtam még eleget foglalkozni LaTeX-el, így ez nem szerepel a pallettámon, de DokuWiki-t előszeretettel használok. Bár jelenleg nincs összerakva erre offline rendszerem, de tervbe van véve..

Továbbá kiemelném még gyakran használt eszközként a KNotes nevezetű csodát, mely rövid emlékeztetőkre, feljegyzésekre kiválló. Támogat időzített figyelmeztetéseket, illetve opcionálisan RTF jellegű formázást is.

Körülbelül ennyi lenne. Jelenleg ezek az eszközök merülnek fel bennem hasonló feladat felmerülésekor, bár megjegyezném, ezek korántsem elégítik ki maradéktalanul az igényeimet, a közeljövőben (ahogy az időm engedi) szeretnék a témában változtatni, többek között jó lenne összerakni helyi jegyzetelésre egy wiki-t, illetve el kéne kezdenem foglalkozni LaTeX-el is.

Dokumentumszerkesztés OSX-en Stampie módra

Ez az írás egy tervezett sorozat első darabja: az ötlet (köszönet érte D-neenek) az volt, hogy írjuk le, hogy hogyan/miért úgy használjuk a gépünket különböző feladatok elvégzésére. Miután elméletben erről többen is írunk, ezért van rá esély, hogy a sorozat mások számára is hasznos lehet. Ha nem, akkor csak mi gondoltuk végig, hogy mit hogyan használunk, és ez segíthet abban, hogy még jobban összeszedjük a feladatainkat.

Ennyi bevezető után bele is csapnék a lecsóba: első alkalommal arról beszélnék beszélek írok, hogy mit használok dokumentumszerkesztésre. Illetve még inkább először is azt írnám le, hogy pontosan mit is értek itt dokumentumszerkesztésen. Első körben nagyjából azokat a feladatokat, amiket az Ms Office csomag elemeivel el lehet végezni (többé-kevésbé jó minőségben).

Kicsit részletesebben, illetve az általam végzett feladatokra szabva ez legfőképpen valamiféle szöveg készítése: a tipikus feladatok számomra mérési jegyzőkönyv, házi feladat, esetleg dokumentáció készítése, illetve egy-egy esetben prezentációt, illetve táblázatot készítek. Képeket, ábrákat lényegesen ritkábban készítek, ráadásul az egy külön kategóriát is alkothat a feladatok sokszínűsége miatt, ezért ebbe nem megyek most bele.

Office csomagok

A feladatokhoz nem csak egyféle programot használok, méghozzá azért, mert a különböző részfeladatoknál más-más igényeket kell kielégíteni. De az általánosságban elmondható, hogy Microsoft Office nincs a gépen (egy 2004-es Mac-es változatból volt egy demo fenn, de szerintem egyszer sem indítottam még el…). Office csomagból 2+1-féle van telepítve: egyrészt megvettem az Apple iWork csomagját, másfelől az OpenOffice csomagot használom (ebből nagyjából párhuzamosan használom a hivatalos OO.o buildet, illetve egy alternatív, régebb óta az OSX-re fejlesztett NeoOffice csomagot).

A csomagok közti választás viszonylag egyértelmű: szövegszerkesztési feladatokhoz sokkal egyértelműbb, hogy az OpenOffice/NeoOffice csomag a nyerő, mert a saját formátuma is hordozható, és mellesleg ismerik valamilyen szinten a Word dokumentumot is (meglepően jól egyébként – persze messze nem 100%-osan). Az pedig meglehetősen általános felhasználási scenario, hogy közösen készül egy házi feladat – és a partner nem (mindig) ismeri a LaTeXet… Szóval marad a kompromisszum.

Érdekes módon prezentációkészítésre ha csak egy lehetőségem van, mindig az Apple programját használom. Ez talán azzal magyarázható, hogy a prezentációim gyakorlatilag mindig egyedül készülnek, nem annyira gond az, hogy meg kell osztani másokkal, és így jobban merek engedni a kompatibilitásból. De ez a kompatibilitási probléma azért a bemutathatóságot nem befolyásolja: ugyan a ppt-exportálási opcióban nem hiszek (ha az import sem igazán tökéletesen működik, ez miért lenne jobb?), de a pdf export minden igényt kielégít. Egy prezentációnak amúgy sem az animációkról kell, hogy szóljon – minden másra meg tökéletesen megfelelő formátum a pdf.

De akkor miért is áldozom fel a hordozhatóságot (legalábbis részben)? Azért, mert az Apple Keynote egy hihetetlenül kiforrott program, jól megtervezett felhasználói felülettel. Tele van apró, ügyes megvalósításokkal, mint az elemek egymáshoz való igazítása (bármelyik szélhez, illetve középvonalhoz lehet illeszteni, szükség esetén akár többhöz egyszerre) vagy éppen az Inspector logika a formázások kezelésére. Ez az Inspector egy külön ablak, amiben a formázásokat lehet egységesen kezelni. Hasonló szerepet tölt be, mint az MS Office 2007-ben a Szalag: tematikusan rendezetten tárja elénk a funkciókat, de ugyanakkor kevésbé forradalmian új a felület, így gyorsabb megszokni… Mindenesetre, akinek lehetősége van az iWorks 08-at kipróbálni (értsd: mindenki, akinek Mac OSX van a gépére telepítve), érdemes megpróbálni.

Táblázatkezelés: na, itt nincs egyértelmű preferenciám. Tetszik a Numbers (iWork) új megoldása, miszerint egy munkalaphoz több táblázat is kapcsolódhat, stb., de ennél a pontnál azért lényegesen fontosabb a hordozhatóság, valamint az is problémát okozhat, hogy a Numbers még csak az 1.0-s verziónál tart, szóval nagyon kiforrottnak még nem tekinthető, és ráadásul a funkciókészlete is korlátozott egy kissé – de ha csak alapdolgokról van szó, de azt nagyon színesen-szagosan akarjuk végrehajtani, arra kiváló eszköz (lehet – de részletesen nem teszteltem még).

Egyéb szerkesztőeszközök

Persze jól kifejlett kockafejként nem csak az irodai szoftvercsomagokat használom szerkesztésre. Egyik érdekes koncepció, amit elég hosszú ideje próbálgatok, az a wiki alapú tárolás. Előnyei közé sorolható az abszolút hordozhatóság: megfelelően telepítve akár még a saját gépemre sincs szükség a szerkesztéshez – hátrányai közé viszont az, hogy egy saját leíró nyelvet kell hozzá megtanulni – ami a wikik között nem is hordozható. Az én személyes preferenciám a Dokuwiki – ez egyszerű dokumentáció írására kiváló, de komoly, sokfelhasználós rendszernek (a sok itt nem a több szinonímájaként szerepel – egy pár fős Dokuwiki telepítést évek óta – sztem – sikerrel üzemeltetek) véleményem szerint nem igazán alkalmas.

És végezetül megemlíteném még azt a tényt is, hogy LaTeX szerkesztést is csinálok időnként – korábban erre az Aquamacs program AucTeX környzetét használtam. Ügyes volt benne, hogy inline previewt képes készíteni sokféle formázáshoz, valamint a gyárilag egészen korrektül összelőtt pdfsync támogatás – ez a támogatás annyit jelent, hogy a TeX forrás és a generált pdf fájl kapcsolódó részei között gyorsan tudtam ugrálni.

A múlt idő viszont azért van, hogy az Emacs sosem állt túlságosan közel hozzám, és az Aquamacs nem Macesítette eléggé, hogy könnyen megszokhassam. Viszont helyette segítségemre sietett a fejlesztők abszolút nehéz súlyú eszköze – az Eclipse. Igen, abszolút nehéz súlyú, mert gyakorlatilag csak kávéfőzésre nem lehet megtanítani (ok, ilyen alapon az Emacs-ről is lehetne beszélni, lásd még az XKCD kapcsolódó epizódját), valamint ehhez jobban is értek. Szóval a TeXlipse környezet mellett döntöttem, és ebben próbáltam összelőni a megfelelő kapcsolatot az Eclipse és az általam használt pdfsync kompatibilis szerkesztőprogram között. Némi dokumentációböngészés, valamint egy gyors shell script megírása után (pontosabban a dokumentációban szereplő módosítása után, de ez aztán senkit sem érdekel) már működött is. A részleteket külön írásban fogom közzétenni (ide behivatkozva), hogy annyira ne dobjam szét az írás témáját – noha ez mostanra már nyilván tökéletesen sikerült…

Nagyjából ez az arzenálom, ami a dokumentumszerkesztést illeti – nyilván még egynéhány segédprogrammal támogatom meg ezt az arzenált, hogy a káosz teljes legyen – de ezt megintcsak nem akarom túl részletesen mellékelni, mert akkor nyilván az írás lényegét borítanám. Remélem, van, akinek segített valamit ez az írás – bár gyanítom, hogy aki elolvasta, mostanra a pokolba kíván, hogy ilyenekkel húzom az idejét – de úgy érzem, lesz ez még jobb is. Főleg, ha olyan témát választok, amiről többet tudok írni. (Akkor még több időt fogok elrabolni azoktól, akik végigolvassák, amit írtam… 🙂 )

Update: elkészült a [intlink id=”604″ type=”post”]LaTeX szerkesztésről[/intlink] az ígért cikk.