HTML

Az élet kódjai

Csináld maga. Senki nem csinálja meg helyetted.

Friss topikok

  • sdani: Sajnos nekem is hasonló érzéseim vannak az R kiszorulásával kapcsolatban. Remélem jobban fogja tar... (2024.04.29. 10:48) R meetup
  • sdani: Nagyon jók ezek a bejegyzések! Feszültséggel teli, fordulatos, mint egy jobb krimi. :D Abba ne hag... (2024.04.29. 10:35) Wgel CTF
  • sdani: @Travis.CG: Egy kis szerencse sosem árt. :D (2024.03.01. 13:19) A bioinformatika helyzete 2024-ben
  • Travis.CG: Szóval az akadémiai szféra mazochistává tett, amit a Pinephone-al élek ki? Hmm, érdekes összefüggé... (2023.10.05. 18:23) Új barátom az Informatikai titkárságról
  • Travis.CG: Túl nagy a hype körülötte, ezért túlzó elvárások vannak vele szembe. Ha a korábbi chatbotokhoz kép... (2023.02.28. 06:28) chatGPT, a bioinformatikus

Cseppet sem objektíven: Assembly2014

2014.08.19. 22:16 Travis.CG

Idén az Assembly csalódás volt. Nagyon kevés alkotás fogott meg. Ezeket röviden bemutatnám:

Korábban szívesen mazsoláztam ezen parti zenei kínálatából. Három zenei compó is volt (fast, dance, listen) és tényleg a demoscene krémje indult rajta, mégis csupán King Thrill Guru Meditationja fogott meg. Meglepetés volt számomra, hogy nem volt egyetlen dubstep sem.

A grafikai mezőny erős volt. Sok, különböző technikával készült kép készült és üdítő volt látni, hogy nem csak 3D rendert készített minden induló. A nyertes kép azért így is kemény:

Tekotuotanto nem készített vicces videót, de készített vicces játékot. Egy teljes irodát kell leszanálni 20mp alatt. Nagyon tetszett.

Az 1k introk valahogy lelketlenek voltak. 256byteban annyira igyekeznek az emberek ötleteset alkotni, de itt a legtöbben megakadtak a "csapjunk össze valamit ShaderToy-ban és adjuk ki" szinten, hogy unalmasnak hatott mindegyik. Kivéve persze a nyertes Superstructure, akik megmutatták, hogy van még potenciál ebben a kategóriában is.

Idén csak egy vicces film készült 4 féle technika felvonultatásával, a Business trip. A Kitchen lehet, hogy vicces volt, én viszont nem nevettem rajta.

Demó kategóriában az első három helyezett elég erős volt. A Fairlight nem hazudtolta meg önmagát, nyert, de csupa hazugsággal. Még a csapat nevét is letagadták és one studio off néven kiadták a Black and White Lies-t. Csupa fekete-fehér vonallal bemutatott átlátszó hazugság. Alapvetően tetszett az egymásra rétegezett szó és jelentéstartalom. A látványról inkább filozófiai síkra terelték ezzel mondandójukat.

A Nuclei is ötletes volt. Látszik, hogy a fiúk sokat gyúrtak a kódra. Kicsit zagyva volt, hogy mit is csinál a kis robot, de a látványra nem lehet panasz. A demó motorjuk látszólag fel van vértezve minden jóval, kíváncsi vagyok, mit hoznak ki belőle legközelebb.

Farbrausch is kitett magáért vonatos demójával. Ők a hiper-realitás ábrázolástól eltérő módszert választottak, amitől kevésbé látszik, mennyi munka is van ebben az alkotásban. Nekem legjobban ez tetszett.

Szólj hozzá!

Címkék: demoscene

Kincsek a levélszemét mélyéről

2014.08.14. 09:55 Travis.CG

Call for paper. Open Journal. Ezekkel a szavakkal kezdődik minden levélszemét a munkahelyi levelezésemben. Sehol egy viagra, sem dús gazdag afrikai diktátorok, akik az én segítségemmel akarják vagyonukat kimenteni háború súlytotta országukból.

Tudományos körökben nyílt titoknak számít, hogy egyes szervezetek újságnak álcázva akarnak pénzt szipolyozni csóró kutatóktól. Ezt kapargatta meg ez a tanulmány is.

Eddig megpróbálták legalább a tudományosság látszatát kelteni ezek az e-mailek. De amit most kaptam, az ezzel is szakít. Csak néhány cím kedvcsinálónak:

Special Issue - Adam Exists in the Mind of Man: the Existential Phenomenological Ontology of Human Predicament

Parallels between Confucian Philosophy and Quantum Physics

The Meta Energy of Dark Energy

Már az irodalomjegyzék is mosolyt csal az ember arcára:

DNA and the genetic code Egy 1998-as PDF Ebben benne van minden, amit egy filozófusnak tudnia kell a DNS-ről. Talán még több is.

Aki már nem bírja kivárni, hogy lerántsam a leplet erről a remek híranyagról, annak itt a link.

Ti melyik cikket citálnátok a legszívesebben?

Szólj hozzá!

Címkék: filozofálás

Modell függő valóság és a bioinformatika

2014.07.29. 23:35 Travis.CG

Nekünk embereknek elég korlátolt érzékszerveink vannak. Amennyiben olyan jelenségeket tanulmányozunk, amihez érzékszerveink kevésnek bizonyulnak, különböző eljárásokkal érzékelhetővé tesszük azt. Ez viszont együtt jár azzal, hogy az alkalmazott eljárások torzító hatását - amennyiben nem ismerjük azt - a tanulmányozott jelenség részének tekintsük.

Sokáig naívan azt gondoltam, ezzel a problémával csak az elméleti fizikusok találkoznak. Az elnevezést is ők vezették be. A biológiában mi élőlényekkel foglalkozunk és bármilyen kicsi alkotóelemet is vizsgálunk, a végén szó szerint élet-halál kérdés dönti el, hogy a hipotézisünk igaz-e.

Az első sokk egy előadáson ért. Ezen az előadáson arról beszéltek, hogy mikroRNSek második generációs szekvenálási eljárással történő meghatározása során a könyvtár készítés alatt a mikroRNS másodlagos szerkezetet alakít ki az adaptor szekvenciával. Ennek eredményeként egyes szekvenciák könnyebben amplifikálódnak. Eredményül azt kapjuk, hogy az egyes mikroRNS abundancia értékek nincsenek arányban a tényleges koncentrációkkal. Röviden: a szekvenálással nem a mikroRNS expressziót mérjük, hanem azt, hogy a mikroRNS mennyire szeret párosodni az adapterrel. A jelenséget itt közölték le.

A második sokk már kisebb volt, de épp elég lehangoló az is. Egy cikket olvastam, ahol különböző növényi mikroRNS target prediktáló programot hasonlítottak össze. Már eddig is tudtam, hogy legyen bármilyen fifikás is egy algoritmus, az csupán jóslás, nem a valóság. De a növényi mikroRNS-ek az eddigi publikációk alapján hálás témának bizonyultak, mert viszonylag kevés és egyszerű szabály alakalmazásával lehetett meghatározni a célpontjukat. A cikk viszont rávilágított, hogy a programok legtöbbjét Arabidopsis adatokon tesztelték. Azon remekül helyt is állnak, de még a viszonylag közel rokon fajokon is drámaian lecsökken a hatékonyságuk.

Ezek után felteszem a kérdést: mikroRNS elemzés címszó alatt mit is csinálok? Olyan szekvenciákat kapok, amelyek nem a növényt, hanem a könyvtár készítést jellemzik és utána olyan programokat futtatok rajtuk, amelyek hatékonysága az adott fajon kérdéses. Ugyan ezt teszi másik száz vagy ezer kutató. Írják a cikkeket, vitákat folytatnak, miközben pont az az információ veszik el, amit meg akarnak találni.

A kérdés az, hogy az újabb módszerek közelebb visznek-e a valósághoz, vagy csupán újabb délibábokat teremtenek, amelyek kergetésével egy újabb generáció töltheti az idejét?

Szólj hozzá!

Címkék: filozofálás bioinformatika

Intézeti felhőcske 2: Hadoop

2014.07.14. 08:00 Travis.CG

Több gépünk is van, ami nincs 100%-ban kihasználva, ezért úgy gondoltam, telepítek rájuk Hadoopot. Már csak a HDFS is megérné, hiszen a tárolt adatok így is több gépen vannak össze-vissza, gyakran aszerint, hogy éppen hol van hely. Ha emellett még MapReduce alkalmazásokat is bevethetünk, hogy a feladatokat gyorsabban megcsináljuk, az csak újabb jó pont.

Négy gépet akartam befogni. Mi tagadás, ennél heterogénebb rendszert elég nehéz elképzelni: OpenSUSE 12.0 Java 1.6-al, 3 Kubuntu 14.10, de az egyik 1.7 Oracle Javaval, kettő OpenJDK-val. A teljesítmény is elég ingadozó. Van 4, 8, 48 és 70 GB memória, 3 négy magos és egy 8 magos gép.

Az első és legfontosabb, hogy minél kevesebb gép specifikus elérési út legyen, ezért az /opt/hadoop-2.2.0 könyvtárba kerültek a Hadoop fájljai. A dokumentáció szerint a JAVA_HOME-t és a HADOOP_HOME-ot minden esetben be kell állítani. Ezek a .bashrc-ben kerültek beállításra.

A második legfontosabb, de ezt minden fórum és leírás hangoztatja, a jelszó mentes SSH belépés. Erre tonnányi anyag van a neten, nem térnék ki rá. Egy fontos momentum viszont hiányzik a dokumentációból, és csak a fórumok probléma megoldásai között találhatunk rá: az /etc/hosts-ban a gépek nevéhez ugyan az a bejegyzés legyen! Tehát ha egy gép neve slave12, akkor minden más hadoop gépen a slave12-höz ugyan az az IP cím szerepeljen, és ne 127.0.0.1.  

A dokumentáció szerint a konfigurációs állományok a HADOOP_HOME/conf könyvtárban vannak, de ez nem igaz. A HADOOP_HOME/etc/hadoop könyvtárban vannak. XML-ben vannak a programok paraméterei, míg a programok futásához szükséges környezeti változók .sh kiterjesztésű szkriptekben kerülnek beállításra. Célszerű ezeket úgy módosítani, hogy az egész konfigurációs könyvtárat tudjuk mozgatni az összes gépre. Ez igazából könnyen megoldható, mert a master és slave gépek csak abban különböznek, hogy más démonokat indítanak el rajtuk.

Ha minden démont egy gépen indítunk, akkor kapjuk az úgynevezett pseudo distributive módot. Ez igazából csak a konfiguráció helyességének tesztelésére jó, sok értelme szerintem nincs. Mint már említettem, a gépek két csoportba sorolhatóak: master és slave. A master gépek ha nem működnek, akkor nincs Hadoop. Alapvetően két démon tartozik ide: NameNode és Yarn (ResourceManager/JobTracker). Előbbi az elosztott fájlrendszer adatait tartja nyilván, utóbbi a MapReduce folyamatok működéséért felelős. Nagyobb rendszerek esetén mindegyikből lehet tartalékot is fenntartani (pl. másodlagos NameNode), de nálunk erre nincs sem lehetőség, sem igény.

A slave gépek vannak többen. Meghibásodásuk esetén a feladatot át tudja venni másik gép. Itt a DataNode és NodeManager démonok futnak.

A konfigurációs XML-ek felépítése egyszerű:

<property>
   <name> </name>
   <value> </value>
<property>
 

A nevek listáját ne a dokumentációból szedjük, hanem nézzük meg a default tartalmú fájlokat. Ezeket a find HADOOP_HOME -name "*default*xml" paranccsal találhatjuk meg. Az XML fájlokban mindegyik bejegyzéshez van leírás, amiből megtudjuk, mit állíthatunk be. A legfontosabb, hogy a slave gépek tudják, hol találják a master gépeket: A core-site.xml-ben az fs.defaultFS mondja meg, hol van a NameNode. A mapred-site.xml-ben a mapreduce.jobtracker.address azonosítja a JobTrackert, a yarn-site.xml-ben a yarn.resourcemanager.hostname pedig ahogy neve is mutatja a ResourceManager-t tartja nyilván. Természetesen egyéb beállításokat is tehetünk, de ez a minimum.

Ahogy a master gépeket azonosítottuk, ugyan úgy ismerni kell a slave gépek nevét is. A slaves fájlban fel kell sorolni valamennyit, valamint a yarn-site.xml-ben a yarn.nodemanager.xml-t állítsuk localhostra. A hdfs-site.xml-ben állíthatjuk be, hogy az adott gép milyen erőforrásokkal járuljon hozzá az elosztott fájlrendszerhez. Sajnos a mi esetünkben ez a leggyengébb pontja a konfigurációnak, mert minden gépen mást kell beállítani.

Jöhet a démonok indítása! Minden slave gépen el kell indítani a DataNode és NodeManager démonokat. Előbbi a HDFS-ért, utóbbi a MapReduce-ért felelős:

HADOOP_HOME/sbin/hadoop-daemon.sh --script hdfs start datanode
HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager

A mi esetünkben csak egy master gép van, minden azzal kapcsolatos démont azon indítunk el. Még akkor is, ha a dokumentáció ezt nem javasolja.

HADOOP_HOME/sbin/hadoop-daemon.sh --script hdfs start namenode
HADOOP_HOME/sbin/yarn-daemon.sh start resourcemanager

 A rendszert a böngészőből lehet ellenőrizni, a 9000-es porton. Ha nem látjuk a weboldalt, akkor nem megy a NameNode. Ha a slave gépek közül hiányzik valamelyik, akkor nézzük át annak a gépnek a log fájljait. Ezeket a HADOOP_HOME/logs könyvtárban találjuk.

Szólj hozzá!

Címkék: cloud computing bioinformatika hadoop

SOAPdenovo fordítás

2014.07.05. 22:14 Travis.CG

Korábban már próbáltam játszani a SOAPdenovoval, de a bináris kivételt dobott még a legegyszerűbb esetben is, a forrást pedig képtelen voltam lefordítani. Ez sokáig frusztrált, mert sorra jelentek meg a publikációk, ahol mindenki vígan használta a programot. Mivel ezeknek a cikkeknek a szerzői között kivétel nélkül volt legalább egy kínai, furcsa összeesküvés elmélet fogalmazódott meg bennem: van egy nyilvános forráskód, ami lefordíthatatlan a fehér emberek számára és van egy titkos forráskód, amit csak a kiválasztottak kaphatnak meg.

Sajnos a másik lehetőség, hogy én bénázok valamit.

Legutóbb megint a kezem ügyébe került a SOAPdenovo és ismét farkasszemet néztünk. Ismét kiadtam a mágikus make parancsot és rezignáltan vettem tudomásul a hibaüzenetek özönét. Átolvastam őket és világossá vált, hogy konzekvensen hiányzik az unistd.h-ra történő hivatkozás. Kiegészítettem a kódokat vele és máris lefordult. Lelkesedésemben odáig mentem, hogy elindítottam az első kezem ügyébe kerülő baktérium szekvencián és lefutott!

Ez két dolgot jelent: mégsem vagyok olyan béna, vagy kínai vagyok.

Szólj hozzá!

Címkék: bioinformatika

Megfogyva bár, de törve nem...

2014.06.26. 22:45 Travis.CG

Demó készítési törekvésünk megtörni látszik. Először nagy lendülettel elkezdtem demo motort fejleszteni, ami megállt egy közepes szinten. Legnagyobb problémája, hogy nincsenek árnyékok implementálva (meg sok egyéb más sem). Utána Cinema4D plugint kezdtem el fejleszteni Grassnak, hogy könnyebb legyen a tartalom előállítás. Jelenleg ez is szünetel.

Grass közben szívesebben teker 200km-eket bringán, minthogy textúrákat gyártson és én is rengeteg időt töltöttem Coursera kurzusok elvégzésével, később meg babázni kezdtem. Tavaly kín keservesen összehoztunk egy demót Function-re, aminek eredményeként rájöttem, hogy át kell szervezni az időbeosztásomat. Ennek első lépése, hogy le kell szokni a Courseráról. Tényleg olyan, mint a drog. Mindig találtam valami ürügyet arra, miért akarom elvégezni az adott kurzust és utána csináltam a házikat dögivel. A problémák akkor kezdődtek, amikor több kurzust is felvettem egyszerre, mondván, hátha később nem indítják. Erre egyébként volt már példa és nagyon sajnáltam, hogy lemaradtam róla.

A másik megoldás, ha a demó készítésre fordított időt rövidítem le különböző eszközök bevetésével. Eddig a legjobb eszköznek a Unity tűnt. El is kezdtünk demót készíteni vele, először NVision-re, majd Revision-re, később @Partyra. Pár nap éjszakázás után úgy láttam, hogy nem érdemes összecsapni a release-t, mert tényleg kevés volt vissza. Ezért új partit kerestem, ahová elfogadnak nevezést interneten is. Így akadtam rá Sundownra, ahová sikeresen el is küldtem a kész demót.

Habár wild és oldschool kategóriákban elég sok nevezés érkezett, PC-s demóból kettőt mutattak be. Szerencsére a neten nyomon tudtam követni az eseményeket. Itt láttam meg, hogy bizony egyes mozgások nem úgy néztek ki Angliában, mint az én gépemen. Nevezetesen a sárkány nem gyalogolt el addig, amíg nálam tette.

Meglepődtem, de nem sokáig. Azt ugyanis a tesztelésnél észrevettem, hogy ha alacsony minőségi beállításokkal futtatom a demót, akkor tovább megy a sárkány. Ha a beállítások magasak, akkor addig megy, ameddig kell. Ezt úgy oldottam meg, hogy kikapcsoltam az alacsony beállítási lehetőségeket, mert azt feltételeztem, hogy Unity bug. A közvetítés után viszont úgy gondoltam, a két eset összefügghet.

Mint kiderült, a jó öreg frissítési hibát követtem el, amikor nem vettem figyelembe, hogy két rajzolási ciklus között nem feltétlenül telik el ugyan annyi idő, pláne nem különböző teljesítményű processzorokon. A hibát gyorsan javítottam, nehogy a Pouet-en emiatt szavazzák le.

Az eredményről csak annyit, hogy akár csak a régi viccben: mi a dicső második helyezést értük el, míg a dashw csapat csak az utolsó előtti lett.

Szólj hozzá!

Címkék: demoscene

Unity3D Meetup

2014.06.08. 21:59 Travis.CG

A családtól kimenőt kaptam, amit úgy próbáltam eltölteni, hogy elmentem egy Unity3D Meetupra. Már csak azért is érdemes volt elmenni, mert az eseménynek a Prezi biztosította a helyszínt és valószínűleg nem lesz még egy olyan alkalom, hogy eljussak oda. Olvastam róla, hogy egyes fejlesztő cégek (többnyire külföldön) úgy rendezik be a munkahelyet, mint egy játszóteret, de más erről olvasni és más megtapasztalni.

A tömegközlekedésnek hála korán érkeztem, az előadók még csak akkor szinkronizálták előadásukat a Google Drive-ról. A csarnok végén a munkában megfáradt fejlesztők vezették le a napi feszültséget egy ping-pong mérkőzéssel. Én meg leültem a nézőtérre, a nagy színes párnák közé. Teljesen beleolvadtam a közegbe. A legtöbben térdnadrágot, pólót és hátizsákot viseltünk.

Érdekes módon a Unity3D motor úgy híresült el, mint játékfejlesztő eszköz, ennek ellenére csak két előadás szólt játékokról, azok is nagyon marginálisan. A fő téma a kiterjesztett valóság volt. Ne gondoljunk azokra az unalmas alkalmazásokra, hogy levegőben lebegő nyilak jelzik, hol a legolcsóbb a tej. Hanem olyanokra, amik az ejtőernyősök és pilóták életét könnyíti meg azzal, hogy piros falakként jelzik a tiltott zónákat, nyilakkal mutatják merre vannak a termikek, sőt még a repülőgép kezelőpaneljén is jelzik a gombok bekapcsolásának sorrendjét.

Miért kapcsolódik ez a Unity3D-hez? A válasz egyszerű: az információk interaktív megjelenítését ez a motor végzi. Egy okostelefon vagy okos szemüveg (ez a kifejezés létezik?) giroszkópját használják fel, hogy érzékeljék a fej orientációját, a GPS-t, hogy megállapítsák a felhasználó helyzetét és ezek felhasználásával renderelik a látványt.

Személy szerint úgy sejtem, ez egy elég marginális szelete lehet a kiterjesztett valóság piacnak, de mindenképp hasznosabb, mint a közösségi zombi vadászat.

Visszakanyarodva a játékokhoz, kaptunk egy rövid bemutatót, hogyan lehet gyorsan 2D játékokat készíteni sprite-okkal. Az előadó (akivel már találkoztam egy Function-on), egy rövid teszt keretében bemutatta, mennyi sprite-ot tud kezelni a Unity különböző platformokon 23 fps-el. Engem személy szerint meglepett, hogy egy mai okostelefonon ez a szám 480. Pár éve, mikor még követtem a telefonok teljesítmény mutatóit, akkor a poligonszám elérte a százezres nagyságrendet (jelenleg pedig a milliósat). Ehhez képest a 480 nagyon kevésnek tűnik (bár az igaz, egy játéknak elég). Valószínűleg ez a Unity hibája, mert ugyan azon a készüléken a régi és az új motor között drámai különbség volt. Megnyugtató, hogy a natív alkalmazások fejlesztőinek azért még van esélye :-)

Az utolsó előadás a piszkos kis marketing trükkökről szólt, hogyan csikarjunk ki pénzt egy erősen túlzsúfolt piacon. Nem vagyok mobil játékos, a telefonom is 7 éves (ezt leírva látni elég szörnyű), ezért nem tudtam arról, milyen kényszeredett megoldások vannak. Az egyik, hogy a játékok már más játékokat reklámoznak és a másik játék letöltése esetén különböző bónuszokat kapnak a játékosok. A közösségi portálok, mint reklámfelületek, nem működnek, mert a legtöbb játékos alkalmi, nem olvassa a "szakcikkeke". Az alkalmazás boltok gonoszak lettek, mert nem mutatják már az új játékokat a listák elején. Egy szóval nem könnyű az indie játék fejlesztők élete.

A meetup legizgalmasabb része a kütyük kipróbálása volt. Az előadók hoztak egy csomó eszközt. Az egyik egy ejtőernyős sisak volt. A bemutató cég hekkelt rá egy okostelefon foglalatot, kamerát a bal oldalra és ennek segítségével jelenítette meg az információkat. Kérdeztem, mennyire strapabíró ez a megoldás, mert voltak kétségeim, de mint kiderült, nem a telefon a gyenge pont, inkább a csatlakozók. Akik kipróbálták, arról panaszkodtam, hogy zavaró, hogy csak az egyik szemre jön az információ, míg a másikon csak a környezet látszik. Itt ki is bukott, hogy az eszköz tesztelője egy ejtőernyős operatőr volt, akinek ez a természetes.

A másik kütyü egy okostelefon szemüveg volt. A telefon sztereografikus képét kis lencsékkel a szemre fókuszálják és így érik el a virtuális valóság élményt. Olcsó, egyszerű, mint a szög. A tesztalkalmazás egy 360 fokos kamerával felvett ejtőernyős ugrásról készült videó volt. Mikor megfordultam, még az operatőrt is láttam. Egyébként ez volt az egyetlen eszköz, amit szemüvegesek is tudtak használni, mert a lencséket kézzel kellett a felhasználóhoz igazítani.

Hoztak egy Epson Moverio szemüveget is, aminek az előadók szerint a legnagyobb hibája, hogy ronda. Ezt is kipróbáltam, de sok mindent nem láttam. Kellett volna még egy szemüveg...

Mint minden ilyen meetupnál, nem is az előadások a legérdekesebbek, hanem utánuk a kötetlen beszélgetések. Itt sem volt másként. Sok szó esett az Oculusról, habár egyetlen előadáson sem beszéltek róla. Érdekes volt hallani olyanok véleményét, akik napi szinten dolgoznak vele és kapcsolatban állnak a fejlesztőkkel. A készülék legnagyobb hibája, hogy rosszul lesz tőle az ember. A szemből és a középfülből érkező információkat az agy nem tudja összeegyeztetni, ezért a fogékony emberek tengeri betegek lesznek. A sisakhoz kell egy számítógép. ami folyamatosan generálja a képet, ettől beszűkül a használhatósága. Végezetül pixel számban az előbb bemutatott okostelefon/minilencse kombináció - állítólag - lenyomja.

Lassan eljutunk oda, hogy a vadászpilóták HMD-ja minden napos eszköz lesz az egymotors kisgépeken is, és a Unity állandó társ lesz ezeken az utazásokon.

Szólj hozzá!

Címkék: életmód

Cikk táblázat

2014.06.06. 22:15 Travis.CG

Egy projekt kapcsán olyan ismert kisRNS-ek szekvenciájával kellett dolgozni, ami még nincs benne a mirbase-ben. Annyit mondtak, hogy a szekvenciák benne vannak egy cikkben. Tényleg benne voltak. Két oldalon keresztül mentek a táblázat sorai, 90 fokkal elforgatva.

Nem szeretek másolni. Ha kijelöltem és kimásoltam, csak sületlenséget kaptam. Az egyetlen használható információ a cikk online változata, mert ott a táblázat orientációja normális volt. Cserébe képként volt beszúrva. Nincs más hátra, be kell gépelni. Bár csak lenne egy szakdolgozóm! Már épp megnyitottam egy szöveg fájlt, amikor eszembe jutott, talán van valami jó OCR program Linux alá.

Rövid keresgélés után ráakadtam egy összehasonlító cikkre. Elolvastam a jelölteket és röpke tűnődés után adtam egy esélyt a tesseractnak. Parancssoros program, ami szövegfájlt eredményez. Ennél jobb konbinációt el sem tudok képzelni. Még az Ubuntu repoban is megtalálható, ezért csak egy pillanat volt a telepítése.

A dokumentáció elég szűk szavú. Nincs 200 paraméter, nincs kézi állítgatás. Ezen a ponton kicsit szkeptikus lettem, de már fel volt telepítve. Ha nem váltja be a hozzá fűzött reményt, majd eltávolítjuk. Letöltöttem a cikk ábráját a lehető legnagyobb felbontásban és ráeresztettem a programot. Fél másodperc és keletkezett egy fájl.

A tesseract gyönyörű TAB-al elválasztott táblázatot csinált. Összesen három sorban volt hiba, amit kézzel kijavítottam. Mégsem kell szakdolgozó.

Szólj hozzá!

Címkék: rendszergazda bioinformatika

Generációs szakadék

2014.06.01. 22:20 Travis.CG

A kutatók mindent megtesznek, hogy új ismeretekre tegyenek szert, folyamatosan az emberi tudás határait feszegetik és előremutató gondolatok birtokosai. Legalábbis ez a közvélekedés. Talán igazak is ezek a megállapítások, de mindenképp hozzá kell tenni, hogy csak a saját kutatási területükön belül. Azon kívül sokan neofóbok, egyesek szűk látókörűek és akadnak vaskalaposak is. Szerencsére nem mindannyian, de akire igazak a fenti megállapítások, azok jellemét az eltelt idő még jobban kiemeli.

Az egyik ilyen eset, ami a fenti gondolatot elindította bennem, a hiábavaló küzdelmemhez kapcsolódik. Igen, az Excellel való leszámoláshoz. Gyakran kérik tőlem az elemzések végeredményét Excel táblázatban. Ezt passzív ellenállással szoktam kezelni. Először küldök nekik TAB-al elválasztott szövegfájlt. Ezután szólnak, hogy nem tudják megnyitni, nem lehetne-e Excelben. Erre küldök CSV-t, megjegyezve, hogy ezt az Excel tudja importálni. De ez sem szokott elég lenni. Mivel egy klikk hatására nem nyílik meg a kívánt programban, jön a következő kör, hogy ez használhatatlan, drága az idejük, miért nem lehet megérteni, hogy mit akarnak. Végül megkapják, amit akarnak.

Van egy csoport, akik viszont a saját fegyveremmel győznek le. A számukra megnyithatatlan fájlokat egyszerűen ignorálják. Hetek, hónapok múlva szólnak, hogy nincs meg nekik X eredmény. Biztos még nem csináltam meg. Elküldöm ismét a belső wikipedia linket, majd újabb csend következik.

Teljesen véletlenül derült ki, hogy mi a helyzet. Szociálisan aktív PhD hallgatónk beszélgetett a kérdéses kutatóval, aki panaszkodott, hogy meg kellene csinálni Y vizsgálatot, mert még az hiányzik a korszakalkotó cikkből. Ő rögtön mondta, hogy az elemzés kész, sőt megmutatta, hogyan kell Excelbe tölteni azt. Mikor meglátták a négyzetrácsos papír digitális megfelelőjén ugyan azokat a számokat, máris felderült az arcuk. Újabb fronton vesztettem.

Apropó számok. Expressziós értékeket logaritmikus skálán ábrázolok, mert akkor a kiugró értékek nem nyomják el a táblázat más elemeit. Eredmény: "Nem lehetne inkább normál skálán ábrázolni?" Természetesen lehet, bár mennyire is értelmetlen. Elkészülnek a kívánt ábrák, természetesen nem látszik semmit, csak a kiugró értékek. "Azokat vegyük ki!" Azt már nehéz megmagyarázni nekik, hogy akkor nem a milliós tartomány fogja elnyomni a többi értéket, hanem a százezres.

De az ábrák tengelyével is gondok vannak. Mivel nagy számokat kell megjeleníteni, minden normális program normál alakot használ. Ez ugyan csak problémás, mert nem értik, mit keres E betű egy számban. De nem is az a baj, hogy nem tudják ezeket a dolgokat, hiszen senki sem úgy születik. A probléma az, hogy nem is akarják megérteni.

Ellenben vannak pozitív meglepetések is. Például bemegyek a laborban, és a kutató laptopján nem Windows, hanem Linux van. Igaz, azon LibreOffice fut, ami csak egy kicsit jobb, mint egy Excel, de már ez is elég, hogy jobb kedvre derítsen. Akár csak az, ha megkérdezik, milyen statisztikai próbát használnék valami meghatározásához és kiderül, hogy az illető képes használni az R-t. (Habár az R szkriptet Wordben írja) Ezekből a példákból is látszik: van előrelépés, csak nagyon lassan.

Szólj hozzá!

Címkék: filozofálás

Cseppet sem objektíven: Revision2014

2014.05.25. 22:26 Travis.CG

Az idei Revision annyi release-t hozott, hogy jó sokáig tartott feldolgozni őket. Még így sem néztem meg mindent, de egy teljesen szubjektív bejegyzéshez ez is elég.

Grass írt egy remek grafikai összefoglalót, Murphy pedig a magyar indulókat mutatta be.

Lássuk, mi marad nekem:

Animációk

Surfacing: Idén is kaptunk egy hosszú videót fraktálokról. Fraktálokból soha nem lehet elég.

Vicces videók: Better life through demoscene, The classified ads, crusin portabl3: Sajnos a poénok inkább scener beállítottságú embereknek készültek, de egyszer mindenképp érdemes megnézni őket.

Amiga

Tavalyhoz képest kevesebb Amigás induló volt. Nagy meglepetés a The Black Lotus csapat visszatérése volt. Starstruck című alkotásuk után úgy tűnt befejezték az Amiga kódolást, az idei megjelenésük azt bizonyította, hogy ez nem igaz. A Rift kidolgozatlan benyomást kelt, különböző programhibák tarkítják, de amit látunk, az magáért beszél.

Szerencsétlen Elude ismét a második helyre szorult. Idei nevezésük nekem nem tetszett. A zenét sem Chaser szerezte. Nem, mintha H0ffmann rosszul keverné a hangokat, de előbbi nekem jobban bejön.

PC demók

Az első és második helyezett alkotás viszonylag szokásos sémát követ. A Cocoon demója továbbra is robotkarokat nyújtóztat döbbenetes grafikával. A Titan pedig egy invitációt mutatott be sok részecskével. Habár mindkettő megérdemelten jutott a dobogóra, a koncepciót nem találtam egyikben sem elég érdekesnek. Azokat az invitációkat szeretem, amelyek igyekeznek bemutatni a party hangulatot. A szokványos demók egy party dátummal ellátva nekem nem jönnek be.

A poo-brain demó idén sokkal egyszerűbb volt, ez a helyezésen is meglátszik. Azért néztem meg, mert ez is Unityvel készült. A legnagyobb probléma talán az volt vele, hogy kommerszebb demót akartak készíteni, amire a Unity szerintem nem jó választás.

A Still demójához kapcsolódik a legnagyobb meglepetésem. Elöljáróban annyit, hogy a demó maga elég unalmas. Random képek jelentek meg, viszonylag egyszerű effektekkel és ez ismétlődött. Már majdnem megnyomtam az Esc gombot, amikor megjelentek a készítők. Úgy döntöttem, akkor már végignézem. A szemem megakadt a grafikuson: Travis. Mióta vagyok a Still tagja? Biztos egy névrokon. Eddig azt hittem egyedi vagyok. Dalszöveg: Travis. Most már nagyon fúrta az oldalamat, ki lehet az alteregóm. A Pouet.net szerint a készítők között nincs névrokon. Elkezdtem olvasni a leírást és hangosan felnevettem. Az történt ugyanis, hogy a demó a böngésző gyorstárat, illetve a Skype chat logokat felhasználva generál magának tartalmat, a készítők közé pedig kiírja a felhasználó nevét. Ebből is látszik, nem érdemes YouTube-on demót nézni.

Az én személyes kedvencem - minden hibája ellenére - a Scarecrow volt. A mozgások elég ügyetlenül néztek ki, de ne felejtsük el, hogy jó karakter animációt nehéz csinálni. Nem véletlen, hogy a demók legtöbbje meg sem próbálja. A vizuális hatások is rosszabbak, mint a korábbi PlayPsyco demókban, de engem ez sem zavart. Még több sztoris demót!

PC intrók

L'abstraction Dominante: Mintha írtam volna valamit a fraktálokról... De ami leginkább felborzolta a kedélyeket, az a Mercury The Timeless című 64k-ja. A mondanivaló kicsit kusza, de a megvalósítás első rangú. Las raymarching kódja teljesen elfeledteti a nézővel, hogy csak egy intrót néz. A hullámzó tenger egyszerűen fenomenális! Néhány jelenet számomra kicsit erőltetett hatást kelt, de ez nem megbocsáthatatlan hiba.

Idén új kategória a 8k intró. A 4k adta kereteket egyre nehezebb betartani, ezért idén kísérleti jelleggel indították ezt a kategóriát. A Bridge mind mondanivalóban, mind technikai megoldásban első rangú volt. Ezzel a szavazók is egyet értettek. A Regression sajnos egy effektre épített és ez a gépemen elég furcsán jelent meg. A hang is elcsúszott, ami sokat rontott a megítélésén.

Wild

Idén megélhettük, hogy a demók már a világűrt is meghódították. A 10 orbyte ugyanis egy olyan C64 kód, amit az egyik műhold magával vitt a világűrbe.

Szólj hozzá!

Címkék: demoscene amiga

MinION: Hekkelés

2014.05.11. 21:53 Travis.CG

Az első teszt futás felhő-alapú szekvencia meghatározása nem sikerült. A sablon szerű válaszok, amit a támogató csapat küldött azt akarta bemesélni nekünk, hogy bizonyára a könyvtárak jogosultságával lehetett a probléma. Igaz, hogy nem értek a Windowshoz, de azért ez elég furcsa válasz volt.

Megismételtük a teljes eljárást, kezdve a telepítéstől. Ügyeltünk a jogosultságokra, a lépések sorrendjére, de továbbra is hiba üzenetet kaptunk.

A fájlok tüzetes megfigyelésével viszont egy érdekes dologra lettem figyelmes. A készülék nem generál Fast5 fájlokat, azokat a telepítő varázsolja a megfelelő helyre. A Metrichore feltölti ezeket a fájlokat az Amazonra, majd ugyan olyan névvel letölt egy nagyobb fájlt.

A próbák során 20 teszt fájl van. A logok alapján 2-t feltölt és 4-t letölt. Azért tölt le kétszer annyit, mert minden egyes Fast5 fájlhoz tartozik egy log fájl is.

Egyre jobban elkezdte furdalni az oldalamat, hogy mi lehet ez a Fast5 fájl? Miféle formátum? Miként tudom használni? Először is megnéztem egy hex editorral, hátha a látok valami érdekeset. Az első négy bájton szerepelt a HDF, a fájl többi részén pedig TREE. Ebből arra következtettem, hogy ez egy általános konténer formátum, ami többféle adat tárolására is alkalmas. Nagyon emlékeztetett engem az avi-ra.

Ráakadtam egy oldalra, ami nem csak a formátumot magyarázta el, de kis segédprogramokat is mellékelt, amivel zökkenő mentesen átnézhettem valamennyi Fast5 fájlt.

A próba futások ennek ellenére problémások voltak, és a hiba üzenetet továbbra sem sikerült megszüntetni. Mivel négy fájl visszatért az Amazonról, az írási jogokkal nem lehetett gond. A kinti program is tette a dolgát valamennyire, egyedül a hálózattal lehetett még probléma.

Pár napra hazahoztam a gépet, hogy kipróbáljam az otthoni hálózaton is a rendszert. Természetesen ment minden, mint a karika csapás. Nincs más hátra, mint  a rendszergazdának látszó embereket kell megkérni, hogy oldják meg a problémát.

Szólj hozzá!

Címkék: bioinformatika nanopore

Eperke hangtompítót kap

2014.05.06. 21:51 Travis.CG

Mint már bemutattam, a rokonság a legkülönbözőbb ajándékokat adja a lányunknak és bizony nem ritka, hogy azokat a saját igényeinkhez kell igazítani. Nincs ez másképp Eperkével sem.

Eperke egy baba. Nagy, puha feje van, amit a lányom imád harapdálni. Pislog, ami a szem anatómiájának egy egyszerűsített modelljét tanítja a babának. (Bár amikor mutató ujjal nyomkodja, engem az inkább egy OSS kiképző filmre emlékeztet.) Beszél, énekel, mindezt ékes angol nyelven.

Eperkének viszont van egy rossz tulajdonsága. Olyan hangos, hogy a legtöbb gyerek sírva fakad tőle, ezért elhatároztam, hogy Eperkét lecsendesítem. Nem is tűnt olyan nehéz feladatnak, azt gondoltam, egy ellenállás megoldja.

Van otthon néhány használaton kívüli CD olvasó és némelyiknek még külső jack dugója is van, saját hangerő szabályozóval. (Arról nem is beszélve, hogy három villanymotor is van mindegyikben, de erről egy másik posztban.) Azt gondoltam, a hangerő szabályozó pont jó lesz Eperkének.

A CD szétszerelése nem okozott problémát. cdolvaso.pngViszont nincs forrasztópákám, ami elengedhetetlen a szerelés további fázisaihoz. Szerencsére egy munkatársam készséggel felajánlotta, hogy megoldja ezt a problémát. A fizetsége a jack dugó volt :-)

Eperke beszélő elektronikáját a hasába varrták, de az elemtartó könnyen elérhető. Nem akartam szétbontani a szöveteket, ezért az elemtartóból távozó két vezeték egyikére helyeztettem a hangerő szabályozót.

eperke1.png

A feladat remekül sikerült:

eperke2.png

Az eredmény nem teljesen kielégítő. A csökkent áram mennyiség ugyanis nem csak Eperke hangerejére, de artikulálására és beszédsebességére is kihatott. Vidám éneke inkább hasonlít egy Down-kórban szenvedő masszív dohányos reggeli krákogására. A projektet ennek ellenére sikeresnek könyveltem el.

Szólj hozzá!

Címkék: barkácsolás

A Túlélő

2014.04.29. 22:51 Travis.CG

Ha megnézzük a retro számítógépek kedvelőit, akkor azt látjuk, hogy zömében nem mai fiatalok. A másik, ami feltűnhet, hogy már régóta ismerik egymást. Ennek ellenére vannak elszórt diaszpórák, ahol szinték imádják a régi vasakat, de mégsem tudnak más retro fanatikusokról. (Az internet korában ez különösen furcsa)

Mai történetünk hőse is egy ilyen diaszpórából szabadult. Kezdjük az elején. Az egyik PhD hallgatónk laptopján egyszer észrevettem egy hatalmas C64 matricát. Túl nagy jelentőséget nem tulajdonítottam neki, azt gondoltam, valami pózer. Később egy beszélgetés alkalmával azt kezdte mesélni, hogy a barátnőjével elölről elkezdtek játszani a C64-es játékokkal. Még ekkor is azt gondoltam, hogy biztos emulátoron, de kiderült, hogy eredeti vason szoktak játszani.

Nem is tudom, min lepődtem meg jobban: rajta vagy a barátnőjén. Viszont az igazi meglepetés csak ezután jött. A nagy sikerű, kultikus C64 játékok közül egyet sem ismertek. Nem tudták, mi az a Last Ninja, Mission impossible. Nem bombázták Moszkvát, de még az International Karate említése is csak fejcsóválást váltott ki belőlük. Ezt feltétlenül orvosolni kellett. Ez remek alkalom volt arra, hogy én is elővegyem a masinát és adjak nekik némi ízelítőt az aranykor remekeiből. Maverick még mindig remekül tette a dolgát.

A beszélgetés és a játékok másolása elindított benne valamit, mert hirtelen úgy érezte, hogy kell neki még több C64. Mivel a PhD ösztöndíj továbbra sem elég ilyen hobbira, ezért minden ismerősét faggatta. Végül különböző forrásokból 3 C64-re tett szert. Ezek közül a legszerencsétlenebbet mutatnám be.

Ez a gép ugyanis évek óta egy pajtában volt a földön. Minden nyílása tele volt földdel. A szaga alapján egér generációk lakhelyéül is szolgálhatott.c64_1.jpg

Még a billentyűket is ki kellett szedni a helyükről, hogy a kosz minden maradványa eltűnjön.

c64_3.jpg

Aztán megláttuk a darazsat. El sem tudtuk képzelni, mennyi ideje lehetett a kosz fogságában.

c64_4.jpg

Szerencsére volt még annyi szufla benne, hogy elrepüljön. Azóta még két forrásból kapott gépeket, de az összes közül ez az egyetlen, amelyik hiba nélkül működik. (Az egyik eleve hibásként volt meghírdetve, a másik pedig mintha NTSC szabányú lenne)

Szólj hozzá!

Címkék: filozofálás c64

MinION: Első benyomások

2014.04.29. 22:06 Travis.CG

Az intézetünkből ketten is csatlakoztak a MinION teszt programhoz. A résztvevők mindegyike kapott egy MinION szekvenáló berendezést tesztelési célból. A kötelező tesztek lefuttatása után a készüléket arra használhatja az ember, amire akarja. Természetesen folyamatos visszajelzéseket és cikkeket várnak el cserébe.

Aki nem hallott a MinION-ról, annak röviden annyit kell tudnia, hogy ez egy USB-re köthető, egy pendrive-nél csak kicsivel nagyobb szekvenáló berendezés. Csak az érzékeltetés kedvéért: egy Illumina HiSeq 2500 akkora, mint egy hűtőszekrény.

Sajnos az IonTorrentnél láthattuk, hogy mire vezet, ha beindul a marketing gépezet és hangzatos szlogenekkel fedik el a hiányosságokat. Ezért a MinION esetében megpróbálok objektív képet festeni a készülékről és feltárni minden előnyét és hátrányát. Azt se felejtsük el, hogy ez még teszt fázisban van, nem termék. A hiányosságokat folyamatosan javítják.

A szerkezet késve érkezett, voltak gondok a számlázás körül, de végül megkaptuk. Az első kihívás a megfelelő számítógép konfiguráció előkerítése volt. A gyártó javaslata szerint egy Core i7-es processzorral, 8GB rammal, minimum 120GB SSD-vel, USB 3.0-val és 64 bites Windows 7-el felszerelt számítógép kell. Rövid időn belül kiderült, hogy ilyen gép nincs az egész intézetben. A helyzetet bonyolította, hogy a számítógép rendeléseket visszadobják a fejesek, mert miért lenne nekünk szükségünk arra. Megoldásként behoztam az otthoni gépemet, ami a processzort leszámítva megfelelt az előírásoknak.

A beüzemelés kisebb helyi látványosság lett. Mindenki ott nyüzsgött és tapizta a készüléket, mint majmok a monolitot. Természetesen én is.

Először a .NET keretrendszert kellett felrakni, mert a programok futásához kellett. Először egy tesztprogramot futtattunk, ahol megvizsgálták, hogy a hardver megfelel-e a minimum követelményeknek. Természetesen megfelelt, mert igaz, hogy AMD-m van, de nem a leglassabb. A tesztprogram már tartalmazott egy hibát, ezért az USB 3.0 meglétét nem tudta ellenőrizni.

Második lépésként az irányító programokat kellett telepíteni. A programcsomag tartalmazott egy Apache webszervert, Python értelmezőt, drivert és még a fene tudja hány komponenst. Telepítésük során a tűzfal majdnem meghalt, mert az összes alkalmazás át akart menni rajta. Ezt egyébként a dokumentáció is írta. A diagnosztikai üzenetek, logok és a szekvenáló egyéb paraméterei az interneten keresztül mennek vissza a gyártóhoz.

A telepítés után csatlakoztatni kellett a szekvenálót a számítógéphez és várni, hogy felismerje azt. Ez nem történt meg, helyette ismeretlen eszközként ott világított az eszközkezelőben Westbridge néven. Hirtelen mindenki tudta, mi ez az eszköz és honnan kell drivert szerezni hozzá, csak én nem, mert én bizony még nem hallottam róla. Az egyik ötlet az volt, hogy hoznak egy Machintos laptopot, és rádugják arra a MinION-t, mert az biztosan felismeri és a Macnek biztosan van drivere hozzá. A másik nagyszerű ötlet az volt, hogy ez biztos az alaplap része és ha telepítjük az alaplapi meghajtóprogramokat, akkor menni fog a MinION is.

Helyette megnéztük a gyártó fórumát (ami persze a nyilvánosság elől el van zárva) és kiderült, hogy a telepítő kicsomagolja a meghajtó programokat, csak valami rejtélyes oknál fogvan nem indítja el azt. Kézzel elindítva az eszközt felismerte az oprendszer. Még Mac sem kellett hozzá.

A második teszt egy olyan betét volt, ami nem tartalmaz minta befecskendező nyílást, de elektronikusan generál szignálokat, amintha szekvenálna a gép. Ezt gond nélkül lefuttattuk, majd jött a Metrichore.

Gyakorlatilag nem tudjuk, mi az a Metrichore. A gyártó annyit közölt, hogy mivel sokan kérdezik, hogy mi is ez, el fogják mondani. Annyit sikerült kihámozni, hogy ez egy program, ami a nyers szignál értékeket elküldi a felhőbe és nukleotidok térnek vissza. Tehát a teljes base calling Amazonos gépeket megy. Nem tudom, mennyire jó ötlet ez.

Az adatok gond nélkül eljutottak a felhőbe, de nem hullott vissza fasta fájlok, csak egy szép nagy exception. Írtunk nekik levelet a hibaüzenettel, amire annyit válaszoltak, hogy mások is tapasztaltak ilyen hibát és dolgoznak rajta.

Összességében elmondható, hogy az összes trendi technológiát bele akarták zsúfolni a termékükbe. Amazon AWS, Node.js, Python, stb. A rendszer még nyögve nyelős, mint minden prototípus. Kicsit sokat akartak markolni. A koncepció viszont jó. Végezetül egy kis videó:

 

MinION first test run from TravisCG on Vimeo.

Szólj hozzá!

Címkék: bioinformatika nanopore

Unity scener szemmel (2. rész)

2014.04.06. 23:00 Travis.CG

Az előző részben létrehozott alkotás két okból sem számít demónak. Először is, nincs benne animáció, másrészt Esc gombra nem lép ki. Ezért ebben a részben kódolni fogunk és animálni.

Hozzunk létre egy új projektet. Nem kell semmilyen csomagot hozzáadnunk. Egy kameránk lesz mindössze. Adjunk hozzá a jelenethez egy csomó kockát. GameObject -> Create Other -> Cube. Ha már három kocka kész, jelöljük ki mindegyiket, majd az Edit -> Duplicate segítségével duplázzuk meg a számukat. Az új kockák a régiekkel megegyező pozícióban lesznek, ezért forgassuk/mozgassuk őket tetszőleges helyre. Rövid idő alatt nagy mennyiségű kockánk lesz, ha ezt a pár lépés ismételgetjük. A kockák mindhárom koordinátája legyen a -2, +2 tartományban.

Adjunk hozzá három fényforrást. GameObject -> Create Other -> Point Light. Nevezzük el őket Red, Green, Blue-nak. Mivel ebben a fejezetben kódolni fogunk, coder color sémát használunk :-) Állítsuk be mindhárom fényforrás pozícióját: Red: X=0, Y=0, Z=3. Green: X=3, Y=0, Z=0. Blue: X=0, Y=3, Z=0.

A kamerának a korábban megismert módon adjunk egy Audio Source komponenst, és adjunk hozzá zenét.

cubescene.png

Adjunk egy másik komponenst is a kamerához: Add Component -> New Script. A név legyen Esc, a nyelv CSharp. Ebben a tutorialban C# szkriptek lesznek, de emellett JavaScript és Boo nyelven is kódolhatunk. Aki jártas a JavaScriptben, annak nem lesz nehéz az itt látottakat átírnia.

Az Assets ablakban megjelent egy Esc nevű elem, klikkeljünk rá kettőt. Elindul a MonoDevelop nevű ingyenes eszköz (amennyiben telepítettük). Az én gépemen nem volt túl stabil, ezért a sűrű mentés javasolt. Profibbak beállíthatják a Visual Studiot is: Edit -> Preferences -> External Tools -> External Script Editor. Professional verzió esetén nincs sok gond, de Express esetén a kódkiegészítés, objektum hierarchia és egyéb fejlesztést könnyítő megoldások már sokkal több munkát igényelnek, ezért ez a leírás a MonoDevelopot tartalmazza.

Minden egyes szkript egy GameObject-hez tartozik és annak viselkedését szabályozza, illetve az objektum bizonyos eseményeinél fut le. Az egyik ilyen esemény az inicializálás, ami egy Start metódusban ölt testet. A másik pedig az objektum periodikus frissítése (Update). Ezt a vázat a MonoDevelop létre is hozza.

Módosítsuk az Update metódust a kövezkezők szerint:

void Update(){
  if(Input.GetKeyDown(KeyCode.Escape)){
    Application.Quit();
    Debug.Log("Pressed");
   }
}

A kód hatására, ha lenyomjuk az Esc gombot, a program kilép! Valamint kiírunk egy hibakeresési üzenetet. Amint elmentjük a szöveget, azonnal frissül Unityben is. Az üzenetet a Unity konzolján találjuk. A Window -> Console menüponttal válthatunk rá át (4. ábra 3-al jelölt rész).

Adjunk animációt a fényforrásokhoz. Válasszuk ki az egyik fényforrást, majd klikkeljünk a Window -> Animation menüpontra. Megjelenik az animáció szerkesztő. Az Add Curve gomb hatására először meg kell adni az animáció nevét, majd kiválaszthatjuk, melyik tulajdonságot szeretnénk animálni. Jelen esetben a Transform -> Positiont válasszuk ki. A más programokból jól ismert kulcs alapú animációval dolgozhatunk.

animation.png

A vörös fényforrás esetén állítsuk be az időt 1 másodpercre, majd adjuk meg a következő pozíciót: X = 3, Y = 0, Z = 0. A második másodpercnél már kulcsot is hozzá kell adnunk. (Add keyframe, a képen az 1-el jelölt ikon.) A pozíció legyen 0, 0, 3. A harmadik másodpercnél pedig: -3, 0, 0. Végül a negyedik másodpercben a fény helyzete egyezzen meg a kiindulási állapottal.

A zöld fényforrást kiválasztva, ugyan ezekkel az időpontokkal dolgozva a következő pozíciókat adjuk meg: 1: 0, 3, 0. 2: -3, 0, 0. 3: 0, -3, 0. 4: 3, 0, 0. A kék fény: 1: 0, 0, -3. 2: 0, -3, 0. 3: 0, 0, 3. 4: 0, 3, 0.

A fényforrásaink helyét kis villanykörte piktogramok jelölik. A lejátszás gomb segítségével megnézhetjük, hogyan mozognak az egyes objektumok. A mozgás elég szögletes, aki érez magában elég kitartást, további kulcsok beállításával tovább finomíthatja a pályaíveket, illetve egyéb tulajdonságokat is animálhat.

Adjunk egy újabb szkriptet a kamerához. A neve legyen MainController.

using UnityEngine;
using System.Collections;
public class MainController : MonoBehaviour {
   public GameObject redanim;
   public GameObject blueanim;
   public GameObject greenanim; // Use this for initialization
   void Start () { } // Update is called once per frame
   void Update () {
      if (camera.audio.time > 8 && !redanim.animation.isPlaying) {
         redanim.animation.Play ();
      } else if (camera.audio.time > 16 && !greenanim.animation.isPlaying) {
         greenanim.animation.Play ();
      } else if (camera.audio.time > 24 && !blueanim.animation.isPlaying) {
         blueanim.animation.Play();
      }
   }

A kód még nem teljes, az egyes GameObjecteknek meg kell feleltetni a projektben található objektumokat. Ha visszamegyünk a Unitybe, a MainController szkript mezőjében megtaláljuk a változóinkat. Most még valamennyi mellett None szerepel. Ha a kis körökre klikkelünk a beviteli mező mellett, akkor egy listából választhatjuk ki az objektumot, amit hozzá szeretnénk rendelni a változónkhoz. A kód hatására az animációk megadott időben fognak elindulni.

Egy másik animációs lehetőség, ha kódból változtatjuk meg az objektumok tulajdonságait. Lássunk erre is egy példát. Az Update() metódushoz adjuk hozzá a következő kódot:

camera.transform.position = new Vector3 (Mathf.Cos (camera.audio.time / 10.0f) * 4.0f, 0.0f, Mathf.Sin (camera.audio.time / 10.0f) * 4.0f);
camera.transform.LookAt(Vector3.zero);

A kód hatására a kamera forogni fog a kockák körül. A végleges kód valahogy így fest:

monodevelop.png

A harmadik lehetőség, ha az animációba egy pozícióra kulcs helyett eseményt szúrunk be (Add Event, 2. ábra 2-vel jelölt ikon). Ekkor tetszőleges kódot futtathatunk az animáció adott pillanatában. Ehhez nem kell mást tennünk, mint egy függvényt létrehozni az objektumhoz rendelt kódban. A mi esetünkben a kamera Esc nevű szkriptjében hozzunk létre egy Beat() függvényt:

void Beat(){
   camera.backgroundColor = Color.white;
   Debug.Log("Event activated");
}

Ezután válasszuk ki a Window -> Animation menüpontot. Jelöljük ki a kameránkat a Hierarchy ablakban. Add curve gombbal adjunk hozzá egy sávot. Teljesen mindegy, melyik tulajdonságot válasszuk, mert nem fogunk kulcsokat elhelyezni. Az idővonalat állítsuk a 30. másodpercre, de az Add Keyframe helyett az Add Event gombra kattintsunk. Megjelenik egy ablak, ahol beállíthatjuk, melyik függvény fusson le abban az időpillanatban. Válasszuk ki a Beat-et. A végleges eredmény akár így is kinézhet:

final.png

Röviden áttekintettük az animációs eszközöket. A következő részben a shadereket tekintjük át.

Szólj hozzá!

Címkék: programozás demoscene

Cseppet sem objektíven: NVision2014

2014.03.31. 00:12 Travis.CG

Az előző rész tartalmából: Megláttam, hogy van remote entry, csináljunk demót! Összehalásztunk egy csomó modellt, Grass ló halálában textúrákat gyárt. Kinecttel a motion capture befuccsol. Fogy az idő.

Mint azt néhányan már bizonyára észrevették, nem készültünk el időre, nem küldtünk be semmit. Szerencsére mások viszont igen. Nézzük meg, milyen alkotások születtek:

Procedurális 4k

Archee újabb fejlesztést hajtott végre ray tracer algoritmusán. A Lego kockák teljesen műanyag hatásúak, a fény törik, ahogy kell. Második lett, innen is gratulálunk neki.

Az első helyezett viszont a technikai bravúr mellett nagyon hangulatos is. Arachnofóbiásoknak nem ajánlott.

Android demo

Mindössze két induló volt. A Fairlight folyadék szimulációval kápráztat el bennünket, amit mindenképp impozáns egy kézi kütyün látni, de összességében a dobozokon átmászó fényforrások és golyók kicsit furcsa hatást keltenek. A macskás demó fonalát nem sikerült felvennem. A koncepció érdekes. Látszik, hogy valami újjal próbálkoznak, de a mozgás érzékeltetése olyan, mint amikor egy lassú gépen képrészletet mozgatok.

Demo

Az a helyzet, hogy a legtöbb demót nem értettem. Egyszerűen nem tudtam értelmezni a látottakat, ezért kezdjük azzal, amit fel tudtam fogni. A Conspiracy Supermode egy jelzés értékű alkotás. Kicsit visszafogottan ugyan, de megmutatták, hogy léteznek, van új demó készítő eszközük, és nem félnek használni. Valószínűnek tartom, hogy az évben még kijönnek valami ütős alkotással, ez csak a bemelegítés volt. Nekik is gratulálunk!

A másik magyar induló ebben a kategóriában a Rebels volt. Részecske rendszerüket tovább csiszolták és az elnevezés is illeszkedik abba a körbe, ahol az alkotások neve a részecske fizikából vett fogalmakat takar. (Lásd: Bozon, Fermion)

A Min egy klasszikus elemekkel építkező alkotás. Szép, látványos. Ha a sok avangard alkotás mellett vágynánk valami régi jó dologra, a Min jusson eszünkbe.

A Still nagyon meglepett. Eddig sötét tónusú és hangulatú alkotásaik voltak. Nem ritkán minimalista eszközökkel operáltak. Most viszont egy színes kavalkádot kapunk és mintha az ingyen letölthető modellek teljes választékát beépítették volna demójukba. Nem riadtak meg a helyenként elnagyolt poligonoktól, az ész nélkül repkedő modellektől. Úgy tűnt, mindegy mit mutatnak, csak sok legyen és színes. Helyenként metafizikus látványvilágot idéz.

Míg az Eternal dream of beauty csak egy kicsit volt érthetetlen számomra, addig a Secret Rooms maga a talány. Komolyan nem tudom, mit is láttam. Bizonyára Dänikent telenyomták nyugtatóval és megkérték, mesélje el, mit lát. A nézők valamit biztosan láttak ebben, ami miatt megszavazták nyertesnek, de én csak az őskáoszt érzem. Technikailag nincs semmi kifogásolható, de biztos, hogy valami történést is vittek bele, amit nem értek.

Szólj hozzá!

Címkék: demoscene

Készülődés NVisionre

2014.03.19. 23:23 Travis.CG

Talán nincs még egy ilyen parti, ami annyira megosztaná a scenereket, mint az NVision. Röviden arról van szó, hogy az NVidia tart egy mi-vagyunk-a-csúcs konferenciát, aminek keretében rendeznek egy demopartit is. Természetesen valamilyen NVidiás platformon kell futniuk a releaseknek.

Mivel Amerikában tartják, esélyem sincs, hogy eljussak, de feliratkoztam a hírlevelükre, kitöltöttem a kérdőíveket, ahol jeleztem is, hogy bizony, én csak lélekben leszek ott, de szívesen készítek valamit. Bizonyára többen lehettünk így, mert kaptam egy automatikusan generált levelet, hogy hogyan haladok a produkcióval? Természetesen neki sem álltam, mert feltételeztem, hogy nem lesz remote entry.

Tévedtem. Ezen felbuzdulva el is kezdtem gondolkodni, hogy mit is lehetne csinálni. Először is, csak már kész tartalommal dolgozhatunk, mert Grass is elég elfoglalt, nem biztos, hogy lesz kedve modelleket készíteni. Van egy release, amit életünk fő művének tekintünk és ehhez készítettünk pár modellt, amit végül félretettünk, mert vagy nem illik a koncepcióba, vagy minőségileg kifogásoltunk. Ezek közül az egyik egy falu, amit én csak Aprajafalvának neveztem el, mert olyan, mintha gomba házakból állna. (Ezen Grass meg is sértődött)

Kellene valami meseszerű történet...Azután eszembe jutott, hogy Grass, mikor tanulta a ZBrush-t, készített egy kis gnómot. Eredetileg persze az sem gnómnak készült, de így sikerült. Mivel találkozhat egy gnóm? Természetesen egy sárkánnyal. Az Aeronautism című alkotásunkban is szerepel egy sárkány, felhasználjuk újra.

Az első probléma, hogy Grass teljesen elfelejtette, hogy ő valaha is készített ilyen modellt. Átnéztük a levelezésünket, de nem találtuk még említés szintjén sem. Emlékeztem, hogy valamikor 2010 tájékán került szóba egy SceneCon alkalmával, de ez sem vitt közelebb a megoldáshoz. Végül Grass talált egy általa feltöltött videót, amiben pont ez a modell szerepel. Mint kiderült, rosszul emlékeztem, mert 2009-ben készítette. Utólag kiderült, 2010-ben nem is volt SceneCon.

Textúra a falut leszámítva egyikhez sem volt, de Grass tényleg rekord idő alatt legyártotta őket. Én megcsináltam a csontozást és bőrözést, hogy a modelleket mozgatni tudjuk. (Ezt a tutorialt felhasználva.) A mozgást pedig Kinecttel terveztem megoldani, a NI-Mate plugin felhasználásával.

Egy hétvégébe került, hogy a házi motion capture rendszert beüzemeljem. A dokumentáció szerint le kellett volna törölni a Microsoft-féle SDK-t, telepiteni az OpenNI meghajtóprogramokat és más egyéb fekete mágiát végrehajtani, de én erre nem voltam hajlandó. Az SDK nekem kell, ha nem megy a NI-Mate, majd keresek másik megoldást. Nos, a letöltött rendszer gond nélkül megy. Szerintem csak elfelejtették aktualizálni a doksit.

A Cinema4D pluginjük létrehoz egy null objektumot és az alá beilleszti a Kinect által felismert ízületeket, majd ezeket a térben mozgatja. Az nem működik, hogy ezekhez az ízületekhez Cinema4D-ben létrehozott objektumot rendeljünk (teszem azt, egy kockát), de ha kitörlöm a plugin által létrehozott ízületet és a helyébe ugyan olyan névvel egy kockát rakok, akkor a kocka úgy fog mozogni, ahogy én a Kinect előtt.

Ezen felbuzdulva nekiláttam, hogy a gnómot mozgással keltsem életre. Ekkor jött a fekete leves. Mikor becsontozunk egy karaktert, akkor a csontok, akár csak a való életben, kapcsolódnak egymáshoz. A váll a felkarhoz, a felkar az alkarhoz. Nos, a NI-Mate ezzel nem tud mit kezdeni. Szét kell szedni a csontokat, hogy mozgatni tudjam őket. Ha viszont szétszedem, akkor az ízületek távolsága felveszi az én ízületeim távolságát és a modell olyan testarányokkal fog rendelkezni, mint én. Magyarán a tömzsi gnóm hirtelen egy nyurga lett.

Most hogy fogom ezt megoldani? A kézi animálás sok idő. Vajon be tudom fejezni? Lesz release NVisionre, vagy nem?

Szólj hozzá!

Címkék: demoscene

A visszautasítható ajánlat

2014.03.10. 00:05 Travis.CG

Rájöttem, hogy rasszista vagyok. Előítélettel viseltetek a marketingesekkel (és salesesekkel) szemben. Kaptam ugyanis egy felkérést, hogy készítsek weboldalt egy cégnek. Meg akarták mutatni, hogy mennyire értik a fejlesztés csinját-binját, ezért még specifikációt is mellékeltek, amivel ki is vívtak egy meglepett hümmögést.

Először is híreket akartak megjeleníteni, mindegyiket kommentelhető formában. Ez rendben is van. Videókat akartak beágyazni. Ez is teljesen értelmes kérés. Azt is szerették volna, hogy Facebook kommentek jelenjenek meg a cikkek alatt. Mondhatnánk, hogy mindennapos igény. Kezdett is körvonalazódni bennem, hogy valami PHP-s keretrendszert kapnak, amelyhez a fenti igényeknek megfelelő bővítmények léteznek. A problémák ez után kezdődtek.

A weboldal kinézetét a következő mondat definiálta: "Látványos, de minimalista design." Egy pillanat, nem tudják, hogy nézzen ki az oldaluk? Ezt a részét nem szoktam szeretni. Először csak azt mondják, hogy mindegy, hogyan néz ki. Megtekintenek egy-két tervet, kiválasztják, amelyik tetszik és utána hetekig megy a "nem lehetne mégis X elem másmilyen?" De ezen nem lehet változtatni. Azon lepődnék meg, ha egy megrendelő nem ilyen lenne. Grass már máskor is segített webdesignban, majd most is megoldjuk valahogy.

A következő mondatot kétszer is el kellett olvasnom, hogy biztos legyek benne, jól értem-e: "Legyen elég tárhely a videóknak." Mi? Üzemeltessem a szervert is? Kapjam a telefonokat este, hogy nem megy a szerver, csináljam meg, de lehetőleg azonnal? Ekkor kezdtem gyanítani, hogy a specifikáció írójának fogalma sincs, hogyan is működik a web. Arról nem is beszélve, hogy a YouTube-on van elég hely a videóknak, minek azokat a webszerveren tárolni?

A specifikáció további részei már a homály zónába vezettek. Feltétel volt, hogy olyan programozási nyelvben készüljön, amit egy laikus is bővíteni, módosítani tud. Miben írjam, Logo-ban? Arról nem is beszélve, hogy egy többszintű jogosultság rendszerrel ellátott site-ot (ez is követelmény) semmilyen laikus nem fog módosítani kód szinten (vagy ha igen, akkor csak akkor hívjanak, ha röhögni kell). Valószínűleg itt arra gondoltak inkább, hogy legyen egy admin felület, ahol összeklikkelhetik a híreket, de annak semmi köze a programozási nyelvhez.

Még nem értem a végére, de az jutott az eszembe, hogy ezt egy marketinges írta. Szavak voltak összehányva, amit egy felületes szemlélő még szakszövegnek is hihet. Logikátlan elvárások, a hiányos ismeret elfedése szakzsargonnal, amit természetesen rossz szövegkörnyezetben használtak. A végére lapoztam, ahol a sejtésem beigazolódott.

Kellene valami ellenpéldát látnom, hogy meggyőzhessem magam, ez csak egy egyedi eset. Akár csak a korábbi munkahelyeimen tapasztaltak. Meg az összes ismerősöm munkahelyén tapasztaltak. Meg az ő ismerőseiknek a munkahelyén tapasztaltak.

Szólj hozzá!

Címkék: filozofálás

Variaciok felderitese pool-ozott mintakban

2014.02.23. 22:32 Travis.CG

Az SNP-k és kis indelek megtalálása újgenerációs szekvenálásokban nem egy egyszerű feladat, de számtalan megoldás létezik rá. Van viszont egy olyan rendszer, ahol a hagymányos variació detektaló algoritmusok csődöt mondanak, nevezetesen poolozott minták esetén.

De miért is jut eszébe valakinek ekvimolárisan összeönteni több DNS mintát, hogy azt szekvenálja meg? A válasz egyszerű: nem kívancsi az egyes mintákban található variációkra, hanem populáció szintű változásokra kíváncsi. Mondhatnánk, hogy már van bárkódolás, ahol az összeöntött minták eredete is azonositható a szekvenálás után, de ennek van egy viszonylag komoly limitációja: maximum 96 mintát lehet bárkódolni.

Poolozott minták kiértékelésére több program is létezik. A teljesség igénye nélkül most három kerül bemutatásra: Crisp, vipR, SNVer.

Crisp

Ez a program viszonylag régi motoros, de egyes cikkek szerint ez a csúcs. Folyamatosan fejlesztik. A legfrissebb verzió már C-ben készült és a forráskódja nem elérhető. Az illesztett BAM fájlokat olvassa elképesztő sebességgel. Az SNP-k mellett megtalálja az indeleket is.

vipR

Annak ellenére, hogy ez a program újabb, mint a Crisp, már hekkelés nélkül nem használható. Először is a program alapját képező skellam R modul nem érhető el a 3-as verziószám felett. Ha használni akarjuk, tegyük a következőt: Töltsük le a skellam csomagot, majd módosítsuk a vipR.R szkriptet:

#require(skellam)
source("pskellam.r")
source("pskellam.sp.r")

Természetesen legyenek egy könyvtárban az R programok. Így már használhatjuk...Illetve mégsem. Sajnos a saját káromon kellett megtanulnom, hogy ez a szkript nem szereti, ha _ karakter van a referencia szekvencia azonosítójában. A BAM fájlokat először mpileup formátumra hozzuk a samtools-al, majd egy másik programmal egyszerűsített mpileup formátumra konvertáljuk, és csak ez után etetjük meg az R szkripttel. Habár a leírás szerint képes indeleket azonosítani, az én mintámon nem találta egyet sem. A sebességével nem volt különösebb problémám.

SNVer

Ez a program Java-van készült. Folyamatosan fejlesztik. A működése viszonylag egyszerű, viszont annyira lassú, hogy a poszt írásának idején még nem futott le. Most már nagyon kíváncsi vagyok, mire is képes ez az algoritmus.

Összegzés

Annak ellenére, hogy még nem láttam az SNVer eredményeit, a CRISP-et tekintem a leghasználhatóbban, még akkor is, ha nem talál meg minden SNP-t. A vipR elavult csomagjaival és az SNVer lassúságával nem nyerte el a tetszésemet.

További olvasnivalók

http://www.ncbi.nlm.nih.gov/pubmed/20529923

http://www.ncbi.nlm.nih.gov/pubmed/21685105

http://www.ncbi.nlm.nih.gov/pubmed/21813454

Szólj hozzá!

Címkék: bioinformatika

TEK erőnléti felmérés

2014.02.23. 21:47 Travis.CG

A korábbi erőnléti felmérés sikerén felbuzdulva elhatároztam, hogy kipróbálom, képes vagyok-e egy TEK erőnléti felmérés minimum szintjét megütni. A követelmények átböngészése után láttam, hogy minden pontot nem tudok kipróbálni, mert nincs medence a közelemben, sem pedig kötél, amire mászhatok. A másik egyszerűsítés, amit bevezettem, hogy nem egyetlen napon csinálom az összes gyakorlatot.

Gyakorlat Minimum szint Eredmény
40 méter futás 6,2 mp -
250 méter futás 45 mp -
Emelés 95Kg 3 1
húzódzkodás 10 12
tolódzkodás 12 15
felülés 2 perc alatt 80 78
Négyütemű fekvőtámasz 1 perc alatt 30 30
Cooper teszt 2700 2013
Fekvenyomás 75Kg 6 10

Megbuktam. Azt már korábban is észrevettem, hogy az állóképességem már nem a régi. Új edzéstervet kell készítenem, amiben nagyobb hangsúlyt fektetek a kitartás fejlesztésére.

Szólj hozzá!

Címkék: sport

Befuccsolt ötletek I: kisRNS felderítés referencia szekvencia nélkül

2014.01.30. 22:33 Travis.CG

Nagyon leegyszerűsítve a jelenlegi kisRNS azonosító módszerek első lépése, hogy a szekvenciákat egy referencia genomhoz illesztik és a szekvenciák lefedettségéből következtetnek az expresszióra. A módszer remekül működik, van rá kipróbált program.

De mi van akkor, ha nem modell organizmussal dolgozunk? A referencia genomok minősége változó, nem ritka, hogy csak a kontigok vannak meg, azok is ismeretlen szakaszokkal tarkítva. Arra gondoltam, ki kellene dolgozni egy módszert, hogy a referencia genomot mellőzni lehessen.

Az irodalom áttekintése után úgy láttam, hogy nincs még kész megoldás, bár egyes publikációk tesznek említést a dologról. Ha viszont átnézzük a hivatkozásokat, arra jutunk, hogy ott is referencia genomra illesztenek.

Az első lépés, hogy el tudjuk különíteni a jelet a zajtól. A kisRNS szekvenálás sok esetben totál RNS kivonással kezdődik, majd méret alapján választják ki a szekvenálandó tartományt. Ennek az a következménye, hogy a szekvenálás eredményeként kaphatunk heterokromatikus RNS-eket, riboszómális RNS-eket, tRNS-eket. Ezeket egy mohó összeszereléssel akartam megtalálni és kiszűrni. Ha egy szekvencia átlépi a bűvös 23 nukleotid hosszúságot, akkor eltávolítom. Ha pedig egy szekvencia sokszor előfordul, akkor az potenciális kisRNS.

A második lépés, hogy olyan paramétereket találjunk, ami segíthet a további elkülönítésben. Mivel alapvetően csak a szekvenciát ismerjük, ezért a szekvencia tulajdonságaira támaszkodhatunk egyedül. Ez pedig a méret és a GC tartalom. Ezen két tulajdonság segítségével viszont nem lehet elkülöníteni a kisRNS-eket a szeméttől.

Több módszert is kipróbáltam, de a lényeghez nem jutottam közelebb. Végül segítséget kértem az egyik szaktekintélytől, aki átadott egy frissebb cikket, ahol support vector machine segítségével megoldották ezt a feladatot. Nekik is hasonló ötletük volt, de az elkülönítésnél nem foglalkoztak a GC tartalommal, hanem a minimális szabad energiát és duplex képződést vették alapul.

Igaz, a módszerük csak annyira jó, amennyire a mirBase, ahonnan a tréning adatszettet származtatják és még a cikk szövegéből is az jön le, hogy rettenetes mennyiségű fals pozitív találat van. Ennek ellenére a módszer már most jobbnak tűnik, mint amit én csináltam, ezért a további munkát felfüggesztettem a témában.

Szólj hozzá!

Címkék: bioinformatika

Tervezzünk kutatást!

2014.01.27. 21:41 Travis.CG

A kutatók sorban bevonultak a konferencia terembe, hogy meghallgassák az év első lelkesítő beszédét és megtudják, hogy idén miből lesz az impakt faktor. Az emelvényen már készen állt a rózsaszín inget viselő miniszteriumi ember, aki az alkalomhoz illő piros krumpliorrt és göndör parókát viselt. Mikor elcsendesedett a hallgatóság, hozzá is látott beszédéhez.

- Jajj, de jó látni a sok cuki tudóst! Ezért is vontuk össze valamennyi kutatóintézetet, hogy csináljunk nektek egy nagy játszóteret, hogy az összes hozzátok hasonló kutatósdit játszó pajtásotok szem előtt legyen. Eddig külön-külön azt csináltatok az intézetetekben, amit akartatok és nem törődtetek másokkal. Ennek most vége! Teljesen belebolondultatok a témákba, témaszámokba. Másra nem is tudtatok gondolni. De mostantól feladat alapú lesz minden és projekt módszer szerint dolgoztok. Mondjátok utánam: próóójekt móóccer. Oh, valaki kérdezni akar!

- Bocsánat, de nekünk tervezhető keretekre van szükségünk. A témáknál képesek voltunk előre tervezni, mert tisztában voltunk a rendelkezésre álló pénzkerettel.

- Pénz, pénz, pénz. Mást sem hallani tőletek! Ti tudósok vagytok, butuskáim! Ti nem értetek a pénzhez. De mi igen. Kaptok pénzt. Ha pedig elfogyott a pénzecskétek, kaptok még pénzt. Ha pedig túl sok pénzetek van, akkor elvesszük, mert nem kell nektek. Ilyen egyszerű! És ne törjétek a buksitokat olyan butaságon, hogy majd jó sok pénzt kértek és bespájzoltok. Nem nem nem nem nem. Akkor rátok koppintunk. Lesz egy csini kis program, ami nézi, mennyit költötök, mire költitek. Ha valami huncut mókán kapunk benneteket, akkor nem lesz többet pénzecske.

- Ki fogja eldönteni, hogy szakmailag indokolt az igényelt pénz?

- Ti, ti fogjátok eldönteni. Tudósok vagytok, mi csak a pénz részével foglalkozunk. Kaptok segítséget is. Van egy belső ellenőrzés, de ez olyan titkos szolgálatosan hangzik, ezért hívjátok csak controllingnak.

- Hogyan illeszkedik ebbe a rendszerbe a pályázatokból kapott pénz?

- Figyeltek, egyáltalán? Mi adunk nektek pénzt, nem kell bajlódni mindenféle pályázattal.

- A kapott pénzt mire költhetjük?

- Van egy csini kis Excell táblázat, annak a négyes mezője tételesen felsorolja ezt.

- Mi az az Excell?

- Te biztosan valami bioinformatikus vagy. A megbeszélés után lerajzolom neked.

- Van bármilyen működési szabályzat? Mert eddig nem találtam.

- Istenkém, még csak most indul ez az egész játszóház. Nincs semmiféle szabályzat. Majd a főigazgatók utasításokban fogják irányítani a kis munkátokat. Ha nincs több kérdés, akkor menjetek hamikázni.

Szólj hozzá!

Címkék: irodalom

Járóka javítás

2014.01.20. 20:59 Travis.CG

A rokonok imádnak bolhapiacon vásárolni és az ott található kincsekből minket is megjutalmaznak. Legújabb szerzeményük egy járóka volt. Sajnos csak a vásárlás után vették észre, hogy az egyik szegecs eltörött. Megnyugtattak, hogy csak egy popszegecs húzóra van szükség és pikk-pakk készen lesz.

Sajnálatos módon a mindennapi felszereléseink között nem sok popszegecs húzó van, de elejét akartam venni a további kioktatásnak, ezért csak annyit mondtam, hogy meg fogom oldani. Akkor már tudtam, hogy én bizony ezt egyszerűen összecsavarozom. Később a rokon is rájöhetett valami hasonlóra, mert ő is ezt javasolta.

rossz.jpg

A szegecs, mint a képen is látható, két darabban volt. Egyik darab sem akart fogó hatására eltávozni, ezért arra gondoltam, majd a fúró szépen megoldja a dolgot. Az elgondolás szép volt, de a gyakorlat azt mutatta, hogy az aluminium szegecs inkább deformálódik, mint, hogy engedne a fúró erejének. Sőt, amikor a fúró megakadt a szegecsben, körbe forgatta azt és nem távolította el.

Csak akkor jöttem rá, hogy felesleges tovább próbálkozni, mikor a szegecs megunta, hogy a fúró pörgeti és beszorult a furatba, a fúrószál pedig eltörött.

Ekkor fogtam egy reszelőt és nekiestem. Reszeltem egy ideig, majd fogóval nagy darabokban törögettem a szegecs darabjait. Végül a fém engedelmeskedett az ember akaratának és sikerült eltávolítani.

A törött szegecset egy csavarral helyettesítettem és a járóka működő képessé vált:

jo.jpg

Szólj hozzá!

Címkék: barkácsolás

Unity scener szemmel (1. rész)

2013.12.28. 07:47 Travis.CG

Már a Function idején is szemeztem a Unity3d játékmotorral. Sokszor mondják, hogy a demoscene és a játékfejlesztés szoros kapcsolatban van, de ezt a kapcsolatot kicsit egyoldalúnak találtam. Habár nem vagyok bennfentes a játékiparban, kívülállóként azt látom, hogy a játékipar többet profitál a demoscenéből, mint fordítva.

A jövőben elképzelhető, hogy ez a trend meg fog fordulni, hiszen egyre több grafikai motor válik hozzáférhetővé és ez biztosan kihatással lesz a demoscenere is. Az egyik ilyen motor a Unity. Elsősorban játékfejlesztésre van kihegyezve, de ismerünk egy csapatot, akik - legjobb tudomásom szerint - kizárólag ezzel a motorral készítenek release-eket. Nézzük, mi a Poo-brain csapat titka!

Letöltés és installálás után regisztrálnunk kell, ki kell tölteni egy kérdőívet, csak ez után használhatjuk a rendszert. Az itt leírtak az ingyenes verzióra vonatkoznak. A fizetős változat természetesen többet tud, szebb, de a céljainknak talán előbbi is megfelel.

Tartalmak (Assets)

Miután létrehoztunk egy projektet, fel kell tölteni az tartalommal. Tartalom lehet bármi: zene, modell, textúra, kód. Ebben a leírásban a Small worlds című méltán elfeledett demó elemeit fogom felhasználni. Három dologra lesz szükség: a mantra.ogg, ant.obj, hangya_textura.png. Importáljuk be mindhármat. Ha más fájlokkal dolgozunk, nézzük meg, hogy a Unity képes-e fogadni az adott fájltípust!

A motor tartalmaz kész objektumokat is, ezeket a GameObject -> Create Other menüpont alatt találjuk. Adjunk hozzá projektünkhöz egy Terrain-t. A kamerát pedig eleve tartalmazza a jelenetünk. Helyezzük el a talajt és a hangyát a jelenetben. Ehhez egyszerűen csak húzzuk át az Assetből a jelenetünkbe (Scene). A forgatás, mozgatás és átméretezés pontosan ugyan úgy működik, mint az összes 3D szerkesztőben, de ha gondjaink vannak, nyugodtan megnézhetjük valamelyik oktató videót is.

Jelenet összeállítása

Adjunk a hangyához textúrát: A hierarchiában nyissuk ki a hangyát (1.) és a Materials alatt válasszuk ki a textúrát (2.) Most adjunk zenét a jelenethez: Jelöljük ki a kamerát. Az Add Component gomb segítségével adjunk hozzá egy Audio Source elemet. (A kamera már eleve tartalmaz egy Audio Listenert). Ez a két elem szükséges, hogy halljuk a zenét. Az audio clip-nél válasszuk ki a mantra.ogg-t.

addtexture.jpg

A jelenet még elég gyér, adjunk hozzá árnyékot. Ehhez be kell állítani a modellnél, hogy vessen árnyékot. Mesh Renderer -> Cast Shadows. Ha azt akarjuk, hogy más modell árnyéka megjelenjen a hangyán, akkor a Receive Shadows-t is pipáljuk ki. Természetesen ez még nem elég. Kell egy fényforrás is. Többféle fényforrás típus közül választhatunk, de az ingyenes verzió esetén csak a Directional Light képes árnyékot képezni. Adjunk egyet a jelenetünkhöz és állítsuk be a kívánt irányba.

Végeredmény

A kész jelenetet a DVD lejátszók lejátszó gombjára emlékeztető ikonra klikkelve nézhetjük meg. A File -> Build Settings segítségével pedig futtatható alkalmazást készíthetünk belőle. Bátran játszunk a beállításokkal és nézzük meg a hatását a kész művünkre! Élvezzük ki, amíg lehet, mert a következő részekben senki nem menekül meg a kódolástól!

Szólj hozzá!

Címkék: demoscene

A legborzasztóbb Excel táblázatok

2013.12.27. 10:53 Travis.CG

Van egy szélmalom harcom. Ez pedig az Excel kiűzése az életemből. De ez a program, olyan, mint egy zombi horda. Már azt hiszed, hogy biztonságban vagy tőlük, de kiderül, hogy a környezetedben valakit már megharaptak és csak idő kérdése, mikor alakul át.

Ebben a posztban megpróbálom összeszedni a legborzasztóbb Excel táblázatok jelöltjeit. Olvasóim is beszállhatnak a játékba. A feltétel, hogy publikusan elérhető legyen és ne csak ennek a versenynek a kedvéért készüljön. A lista folyamatosan fog frissülni.

  1. Többszörös illesztés a cellákban.
  2. Adatbázis helyett
  3. Léggömb rajzolás adatokból (Technikailag ez nem táblázat, de elég borzasztó)

Szólj hozzá!

Címkék: filozofálás

süti beállítások módosítása