2014. április 25., péntek

Craft

Vége az idei Craft-nak, a Prezi által szervezett software craftmanship konferenciának. Rengeteg nagyon érdekes előadás volt, és érdekes mód nem mindegyiken lehetett volna agile bullshit bingót játszani.
Az idei konferencián érezhető volt, hogy a fejlesztők között manapság divatos craftsmanship mozgalom kezd felnőni, és már nem csak az unalomig ismételgetett alapelvekben való vakbuzgó hit az általános. Az előadók jelentős része (köztük a két keynote speaker) hangsúlyozta, hogy bár az agilis módszertanok alapvetően jók és működnek, a vakon való követésük csak ritkán vezet jóra, ehelyett érdemes lenne újra az informatika tudomány vívmányaira is támaszkodni.
Több előadásban propagálták a funkcionális nyelveket (volt például egy nagyon érdekes előadás a kategória elmélet funkcionális nyelvekben való alkalmazásáról), és megismerhettem egy számomra eleddig ismeretlen módszert, a generatív tesztelést, ami formálisabb helyességellenőrzést tesz lehetővé, mint pl. a TDD.
Nagyon jó konferencia volt, és örülök, hogy a mozgalom nem a fanatikus agile-papság létrejötte (Uncle Bob Martin pápával az élen) felé tendál. A szoftvertechnológia még mindig egy fiatal ipar- és tudományág, nagyon kíváncsi vagyok, hogy merre fog haladni. Egyelőre nekem úgy tűnik, jó irányba.

2014. március 27., csütörtök

Facebook - Oculus Rift akvizíció

Figyelemre méltó dolog történt a napokban: A Facebook bejelentette, hogy felvásárolja az Oculus Rift-et (2 milliárt dollárért). Azt az Oculus Rift-et, ami másfél éve indult egy Kickstarter kampánnyal, és a célkitűzése, hogy megalkosson egy valóban jól használható VR eszközt (a régi modellekkel sok probléma volt). A fejlesztés teljesen open source, a köré épült fejlesztői közösség létszáma eléri a 75000 főt.

A Facebook valószínűleg a saját platformjába akarja beépíteni az eszközt, de még nem tiszta, hogy milyen módon. Klasszikus példája ez a kreatív közösség és az üzleti világ szimbiózisának: a közösség megalkot egy innovatív eszközt, amit aztán az üzlet felkarol, és elárasztja vele a világot. Lehet, hogy túl optimista vagyok, de én ezt a valódi (3D-s) cyberspace felé tett első lépésként értelmezem.
 
Érdekes adalék még, hogy a nemrégiben megjelent hír kapcsán, miszerint a Google felvásárolt egy robotgyártó céget, vannak elméletek, melyek szerint a Google talán egy mesterséges intelligenciát fejleszt. Ha ez igaz, akkor egy igencsak cyberpunk közeljövő elébe nézünk (amihez az NSA is nagyban hozzájárul :D).

2014. február 20., csütörtök

Python disassembly trükk

Amióta pythonnal foglalkozom, mindig hiányoltam annak a lehetőségét, hogy megnézzem, egy programkód pontosan milyen utasításokra fordul le végrehajtás előtt. Ez ugye egy C nyelven nevelkedett fejlesztő-palántának teljesen általános elvárás, az ember könnyen hozzászokik, hogy bármely olyan programrész esetén, ahol nem vagyunk biztosak benne, hogy adott architectúrán, adott fordítóval és opciókkal milyen gépi kód fog keletkezni, könnyen bele lehet nézni az assembly kódba. Ez sokszor debuggolás közben is jól jön.
Talán más python fejlesztők körében köztudott, hogy erre python esetében is lehetőség van, én csak most fedeztem fel a trükkjét. Mivel a python program általában interpretált módon fut (én is legtöbbször így használom), ezért sokszor nincs lehetőségünk a C nyelv esetében használt módon disassembly-t készíteni. Ha natívan futtatható állományt készítünk belőle, akkor a CPython réteg miatt lesz nehezen értelmezhető az assembly kód. Szerencsére van mód arra, hogy az interpreter által előállított byte-kódot kiírassuk olvasható formában, amit lentebb be is mutatok.
Felmerülhet, hogy mi szükség van a disassembly-re, ha egyszer a python interpreter VM-ben futtat, így a generált byte-kód úgyis minden architectúrán ugyanolyan (a kauzalitási sorrend persze fordított :) ). Ettől függetlenül egy olyan fejlesztőnek, aki még csak most ismerkedik a nyelv nyalánkságaival (mint én is), hasznos lehet a mélyebb összefüggések megértéséhez.

Példaként először nézzünk meg, hogyan történik a disassemblálás (van erre szép magyar szó egyáltalán?) C nyelvnél, GCC használatával. Vegyünk példának egy aprócska programot (add.c):

int main(void)
{
    int a, b;
    a = 1;
    b = a + 2;
    return 0;
}


Ezután assembly nyelvre fordítjuk (a példa kedvéért expliciten kikapcsolt optimalizációval):

$> gcc -S -fverbose-asm -o add.asm -O0 add.c

Megjegyzendő, hogy az assembly kódba GDB-n belül is belenézhetünk, sőt akár egyenként hajthatjuk végre az utasításokat a stepi/nexti parancsokkal.
A keletkezett kód a szokásos GCC-assembleres sallangokat figyelmen kívül hagyva tiszta és lényegre törő:

        .text
        .globl  main
        .type   main, @function
main:
.LFB0:
        .cfi_startproc
        pushq   %rbp    #
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp      #,
        .cfi_def_cfa_register 6
        movl    $1, -8(%rbp)    #, a
        movl    -8(%rbp), %eax  # a, tmp62
        addl    $2, %eax        #, tmp61
        movl    %eax, -4(%rbp)  # tmp61, b

        movl    $0, %eax        #, D.1590
        popq    %rbp    #
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   main, .-main
        .ident  "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3"
        .section        .note.GNU-stack,"",@progbits



Hogy néz ki ugyanez pythonban? A pythonnak ehhez külön modulja van, amit berántva könnyen megnézhetjük a generált byte-kódot olvasható formában. Legegyszerűbben az interaktív shell-ben tehetjük ezt meg:

>>> from dis import dis
>>> co = compile("a = 1; b = a + 2", "<string>", "exec")
>>> dis(co)
  1           0 LOAD_CONST               0 (1)
              3 STORE_NAME               0 (a)
              6 LOAD_NAME                0 (a)
              9 LOAD_CONST               1 (2)
             12 BINARY_ADD
             13 STORE_NAME               1 (b)
             16 LOAD_CONST               2 (None)
             19 RETURN_VALUE



Érdemes ezt kipróbálni a fontosabb vezérlési szerkezetekre (for, try, with, stb.), és megnézni, mit hogyan valósít meg a python a motorháztető alatt. Remélem segíthet ez a trükk néhány hozzám hasonló kezdő python fejlesztőnek, hogy mélyebben megismerje a nyelvet.

2014. január 14., kedd

Cicada 3301

2012 elején az interneten felbukkant egy feladvány-sorozat, amiről azóta sem derült ki, hogy ki/mi áll a hátterében. Elsőként egy 4chan-on megjelent képen kellett megtalálni egy elrejtett üzenetet, majd annak alapján jutottunk el a következőhöz, és így tovább. Azóta 2013-ban, és most 2014-ben is felbukkant egy-egy újabb feladvány.

Mivel a feladvány nyomai egymástól nagyon távoli helyeken bukkannak fel, ezért gondolják, hogy valamilyen nagyobb szervezet áll mögötte. Sokan azt tartják a legvalószínűbbnek, hogy valamelyik titkosszolgálat próbál ezzel embereket toborozni (a feladványok megoldásához a legtöbb esetben szükséges kriptográfiában, szteganográfiában, valamint programozásban való jártasság). Ez mindenesetre kizárja, hogy csak egy egyszerű marketingfogás lenne a dolog.

Az interneten közösségek alakultak, hogy közös erővel fejtsék meg a rejtvényeket. Eddig senki nem hallott olyanról, aki eljutott volna egy-egy fejtörő legvégéig, ami persze nem jelenti azt, hogy még nem is sikerült senkinek. Arról sincs senkinek információja, hogy mit kap az, aki megoldja.

Aki érez kedvet, megpróbálhatja az idei feladványt, ami igazi megvilágosodást ígér:

 

2013. december 27., péntek

Újra csak az NSA

Bár eddig nem volt rá bizonyíték, hogy az NSA a p2p titkosított kommunikációt is képes lehallgatni (így én is azt hittem határtalan naivitásomban, hogy a web-of-trust alapú PKI módszerekkel titkosított levelezésem biztonságban van), Buhera legutóbbi bejegyzéséből kiderül, hogy az NSA ezt a "problémát" is megoldotta. Ahogy azt sejteni lehetett, most sem a szakmai tudásuk (olyan ugyanis nincs nekik), hanem a politikai kapcsolataik és a pénzük vezette őket sikerre.

2013. december 16., hétfő

10min Space Strategy

Nemrégiben csatlakoztam egy indie játékfejlesztési projekthez, aminek a programozását egyedül végzem (egyelőre). Létezik belőle egy letölthető, működő verzió, de mivel a korábbi programozó elhagyta a projektet, és nem túl szép kódot hagyott hátra (pure C, DirectX 5, egyetlen 37ezer soros fájlba zsúfolt kód, stb.), ezért úgy döntöttünk, hogy újraírom az alapoktól, C++-ban, egy modern, multiplatform engine-re alapozva. Az első körös class- és package-terv elkészült, az implementáció pedig halad, ahogy az időm engedi. A projektről a Goblin Lunatics blogján lehet többet megtudni:

Goblin Lunatics

A játék zenéit pedig itt lehet meghallgatni:

Enter Hyperspace

2013. szeptember 23., hétfő

Function X 2013

Idén szeptember 13 és 15 között immár tizedik alkalommal került megrendezésre a Function X, Magyarország és kelet-európa legnagyobb demó party-ja. Újra összegyűlt a demoscene apraja-nagyja, régi és új arcok egyaránt. Egy dolog azonnal szembe ütköző volt, amint megérkeztük: már pénteken elfogytak a női Function-ös pólók, amiből azt hiszem levonható a következtetés, hogy immár elavult a sztereotípia a lányok és a kockák vonatkozásában. Ami azt illeti, én is két lányt vittem oda :D.
Péntek este mondhatni csak bemelegítés volt, a megnyitó után a játékfejlesztés compo jött, majd az Errorport koncert. Ők egy magyar együttes Bécsből, akik egy gitárral és egy hegedűvel tolják chiptune-os és egyéb elektronikus baseline-okra. Méghozzá elég durván. Közben az udvaron paprikáskrumpli készült kedélyes 8-bit zenére.
Másnap délben indultak az igazán érdekes programok. A fotó compo után előadások hangzottak el játékfejlesztés témakörben, amikről én sajnos lemaradtam, de bőven kárpótolt az utána következő grafika- és zenei verseny. A grafikai compón belül két kategória volt, handdrawn és freestyle. Mindkettőben születtek nagyon jó munkák, bár a freestyle pályamunkák között volt pár elég primitív. A zenék szintén nagyon jók voltak, Ziona igazán kiérdemelte az első helyet az Old Sample Maniac-el, mint ahogy Vincenzo is a másodikat az Eat my arp-al (amit saját bevallása szerint egy óra alatt csinált egy tracker programmal... amit el is hiszek neki, nem sok ideje jut mostanában entry-ket gyártani). Ezután következett, amire a legtöbben vártak: a SIDRip Alliance koncert. Ha valaki nem ismerné őket, ők régi játékok zenéit dolgozzák fel. Ahhoz képest, hogy "csak" egy hobbi-zenekar, profi rockbandaként viselkedtek a színpadon. A banda előadta Vincenzo egyik saját zenéjét is, a Rage of the emperor-t (soundcloud-on megtaláljátok), azon pedig külön meglepődtem, hogy a Supremacy zenéjére mennyien csápoltak.
Ezután következtek az igazán érdekes versenyek, a demo- és intro compók. A function az egyetlen demoparty, ahol van 256byte méretkorlátos compo, így hát jónéhány demo született erre a kategóriára, igaz, egy részük javascript-ben, amit én furcsállottam, dehát végülis nem muszáj mindenkinek DOS assembly-ben tolni. Utána a 64k-s intro verseny következett, ami viszont engem meglepett. Konkrétan azért, mert egy igazán kiemelkedő intro sem volt a party-n, ami akár megközelítette volna a néhány évvel ezelőtt készült 64k-s intrókat. A méretkorlát nélküli demo versenyen viszont nagyon erős volt a mezőny, szinte az összes entry nagyon ötletes és látványos lett. Bár még így sem okozott meglepetést, hogy a Fairlight nyert.
Összességében nagyon jó volt az idei Function, akit érdekel a demoscene, érdemes lesz jövőre is ellátogatnia. Ami biztos, hogy akkor már mi is az indulók között leszünk, több kategóriában is. Stay tuned ;).

2013. augusztus 30., péntek

SIDBox Phase One

A SIDBox projektem első fázisa a végéhez közeleg. A projekt célja, hogy építsek egy áramkört a SID (a C64-ben is használt hang-chip) köré, és azt parallel porton a számítógépre kötve hangokat tudjak megszólaltatni, zenét tudjak lejátszani, stb. A saját megvalósításom a H.A.C.K. SIDBox projektjén alapul, az első tervem csak annyi volt, hogy az ottani tervek alapják építek egy sajátot, majd a szoftvert kiegészítem pár extra funkcióval. 

Ehelyett az lett az egészből, hogy az áramkört kiegészítettem egy második SID chip-el (így rá lehet rakni egy 6581-est és egy 8580-ast is), át lett tervezve a teljes analóg jelformáló rész, és ennek megfelelően készítettem egy teljesen új, immáron két rétegű nyákot hozzá. Most jutottam el abba a szakaszba, hogy a tervek készen vannak, már csak meg kell venni az alkatrészeket, legyártatni a nyákot, és összeforrasztani. Aztán imádkozni, hogy működjön :).

Az új design megtartotta a legacy funkcionalitást (értsd: továbbra is lehet egy chipet vezérelni, és azt egy jack kimeneten hallgatni), de a második chip hozzáadásával kibővültek a lehetőségek. Hozzáadtam egy jack bemenetet, ami az első SID AUDIO_IN-jére van kötve, a chip kimenete pedig második SID bemenetére, majd ennek a kimenete megy a SIDBox jack kimenetére. Így mixelhető a két chip, és egy harmadik külső hangforrás kimenete is. Az egy- és két chip-es üzemmód között egy fizikai kapcsolóval lehet váltani. Ezen kívül kapott két-két potmétert is a cucc, amik a SID-ek belső A/D átalakítóira vannak kötve.

Legalábbis ez az elképzelés, ha összeraktam az áramkört, meglátjuk, hogy tényleg működik-e :). Külön köszönet illeti Varjasi Ferenc kollégát, aki rengeteget segített az áttervezésben. Nélküle aligha sikerülhetett volna idáig eljutnom.

A projekt második fázisa az lesz, hogy a H.A.C.K-esek python-ban írt SID library-jét kiegészítem úgy, hogy az én kütyümmel is működjön, majd befejezem a SIDBox Player-em, amivel sid zenei fájlokat lehet majd lejátszani az eszközön. Ebből egyelőre csak egy C64 disassembler modul (ami C64 binárist C64 assembly-vé alakít) van kész.

Alant megtekinthetitek a kapcsolási rajzot és a nyák terveket.

 
 

2013. május 26., vasárnap

Digital Media Manifesto

1.) Man has created the myth of the computer in his own image. Or one of them. Cold, immaculate, sterile, scientific, oppressive.

2.) You can, and must, understand computer-self.

3.) The guardianship of the computer can no longer be left to priesthood.

4.) Technology is an expression of man’s dreams. If man did not indulge in his fantasies, his thoughts alone would inhibit the development of technology itself. Thus it is for the holiness of the human spirit that we must design.

5.) All media are extensions of some human faculty: psychic or physical. It matters because we live in media, as fish live in water.

6.) The new media are not bridges between man and nature; they ARE nature. Media on the one hand, and man on the other, are inseparably linked by an endless feedback loop.

7.) We’re living through a radical transformation of our communications environment. Enjoy and listen with all ears and eyes wide open.

8.) As the unity of the modern world become increasingly technological, rather than a social affair, the techniques of the arts provides the most valuable means of insight into the real direction of our own collective purposes.

9.) Woman can create the myth of the supercomputer in her own image. Or one of them. Warm, imperfect, fertile, religious, expressive.

2013. május 5., vasárnap

Információ-szabadság és az Index

Megintcsak undorító dolgok történnek a közmédiában... mint mindig. A kormány meglépte az utóbbi idők leggyávább és legfelháborítóbb lépését: rekordidő alatt nyújtott be törvényjavaslatot az információszabadság korlátozására, elmondásuk szerint a "visszaélésszerű adatigénylések" elleni védekezésként. A dolog hátterében az áll, hogy olyan oknyomozó sajtóorgánumok, mint pl. az átlátszó.hu, mostanában egyre gyakrabban éltek közérdekű adatok igénylésével, hogy korrupció-gyanús ügyletekről kaphassanak információkat, és azt a nyilvánosság elé tárják. A kormány lépése gyomorforgató, a közmédia reakcióján pedig már meg sem lepődök.
Természetesen az olyan (csak magamat tudom ismételni) mocsadék szennylapok, mint pl. az index.hu, azonnal felkapták a témát, zászlajukra tűzvén az információ szabadság nemes ügyét... miközben valószínűleg fennállásuk óta egyszer sem éltek közérdekű adatigényléssel. Ha éltek volna, akkor ez a törvény már az MSZP idejében megszületett volna. Természetesen ők (az index.hu) is, mint minden közmédiumi szereplő, az MTI eleve cenzúrázott híreit fogalmazzák újra, majd saját szempontjaik szerint tovább cenzúrázzák, aztán beleszövik a saját agymosó bullshitjüket. Messzemenőkig képmutató, ahogyan az átlátszósok mellé állnak, miközben ők is ugyanúgy a pokolra kívánják az oknyomozókat, akárcsak a politikusok.

Aki érez késztetést arra, hogy tiltakozzon az információ-szabadság korlátozása ellen, az a TASZ és az átlátszó közös petícióját aláírva megteheti.
Áder János köztársasági elnök: Ne írja alá az információszabadságról szóló törvény módosítását!

2013. január 1., kedd

Creative Crew


A Creative Crew egy baráti társaságból megalakult, azóta közösségi oldalon szerveződő önképző közösség. Körülbelül egy fél éve alakultunk meg, és ezt az elmúlt pár hónapot azt hiszem nevezhetjük a társaság magzati időszakának. De miről is szól ez az egész?

Mint tudjuk, minden kreatív ötlet már előzőleg létező ötletekből, információkból születik. Agyalunk valamin, amiről olvastunk, vagy hallottunk valahol, aztán hirtelen becsap a villám, és felgyullad a villanykörte a fejünk fölött. Az új ötletek születésének tehát elősegítője az információmegosztás. Amilyen elszomorító helyzetben van a világ manapság, minden eddiginél nagyobb szükség lenne a jó ötletekre.
E célból hívtuk létre a Creative Crew-t. A Crew egy baráti társaság, akik olykor összegyűlnek, és beszélgetnek, érdekes információkat osztanak meg egymással. Ez persze így nem sokban különbözik bármely más baráti társaságtól (ami persze nem feltétlenül rossz dolog), de a tervek közt szerepel, hogy később közös projekteken dolgozzunk együtt, még később akár saját közösségi teret alakítsunk ki.

No de mi az, ami egy Crew összejövetelt megkülönböztet egy kötetlen baráti beszélgetéstől? Természetesen a szabályok (amiket azért próbálunk minél lazábban értelmezni). Egy összejövetelen legalább egy embernek fel kell készülni valamilyen szinten legalább egy témából, amit előad a többieknek. A téma lehet akármi, amit a társaság érdemesnek tart arra, hogy időt szánjon rá. Az előadás lehet csupán egy vitaindító gondolat is, vagy akár egy átfogó prezentáció egy témában, esetleg workshop, vetítés, felolvasás, stb. Az illető megoszthatja a többiekkel egy olvasói vagy filmélményét, bemutathat egy zenei stílust vagy akár egy játékot, tarthat szakmai előadást, felidézhet egy cikket, amiből aztán egy érdekes beszélgetés bontakozhat ki, szóval a lehetőségek végtelenek. A lényeg annyi, hogy gondolatébresztő (az angolban van erre egy jobb szó: "thought-provoking") legyen a témafelvetés, és valamilyen szinten újszerű legyen a többi résztvevő számára. Ehhez persze az is kell, hogy a többi résztvevő kellően nyitott legyen bármilyen téma iránt.

Ez a fajta információmegosztás sok új ismerettel és gondolattal gazdagíthat mindenkit, és az ilyen beszélgetésekből sok kreatív ötlet születhet. Ez a Creative Crew célja. Mint mondtam, a megalakulás óta eltelt időszak még nagyon kezdeti volt, kevésbé voltunk aktívak, de így is volt néhány nagyon érdekes beszélgetés. Volt téma többek közt a cyberpunk szubkultúra/tematika/stílus/irodalmi irányzat/archetípus (ezzel kapcsolatban megnéztünk egy anime klasszikust is), a fenntarthatóság és önfenntartó ökofalvak, sőt volt elektro zenei workshop is. Idén jobban felpörgetjük a dolgokat, sok érdekes témafelvetés van már jelenleg is. Akit érdekel épp mi történik, nézzen be ide: https://www.facebook.com/groups/406805639367922/

2012. december 28., péntek

Ángyán kálvária

Szegény Ángyán doktor úrnak elég hányattatott sorsa van a közmédiában. Per pillanat mindenki nagyban egyetért vele, de ez nem volt mindig így, pedig Ő már évek óta ugyanezeket szajkózza (aki nem tudja, hogy miket, az tekintse meg az alant látható videót). Amíg a jelenlegi kormány államtitkára nem lett, nagyjából mindenki agyonhallgatta, csak néhány "összeesküvés elméletes" dokumentumfilmben kapott publicitást (amikről persze azóta kiderült, hogy egyáltalán nem csak elméletek, csak ezt nehéz feltolni a közmédián nevelkedett emberek agyáig). Ezután államtitkárnak választották, és ő becsülettel meg is kezdte a munkát, és kidolgozta a Nemzeti Vidékstratégiát, ennek első lépéseként pedig a Darányi Ignác Tervet. Erről természetesen a baloldali- és a közmédia egy betű híradást sem tett, még egy apró szalagcím sem jelent meg róla sehol. A jobboldali médiában sem nagyon, egyedül a Echo TV (ami szélsőjobboldalinak van egyébként kikiáltva) készített egy riportot Ángyán úrral.

Telt múlt az idő, a kormány kezdeti idealista rohama megtört, kezdtek újra felbukkanni a kicsinyes politikai érdekek, így természetesen a Vidékstratégia is megbukott még azelőtt, hogy elkezdődhetett volna. Ángyán jogosan érezhette magát megalázottan, amikor a miniszterelnök, akivel személyesen egyezett meg a terv részleteiről, még beszélni sem volt vele hajlandó a lemondása kapcsán. Ezek után Ángyán minden elérhető fórumon elkezdte támadni a mostani kormányt, és az oligarchákat (akik között egyébként szép számmal akadnak MSZP-sek is), és próbálta ráébreszteni az embereket, hogy mi is folyik az országban.

No és ezen a ponton viselkedtek különösen undorító módon a különféle sajtóorgánumok. Egyrészt a jobboldali sajtó elkezdte Ángyánt agyonhallgatni, amit eleve gerinctelen módszernek tartok, de a legundorítóbb dolgok a baloldali- és a közmédiában folytak. Az ilyen mocsadék szennyoldalak, mint a Véleményvezér és az Index (a kereskedelmi tévéket és a nyomtatott sajtót már meg se említem), miután évekig még csak említés szintjén sem emlékeztek meg a volt államtitkárról, elkezdték címoldalon közölni Ángyán véleményét, sőt mi több, egyetérteni vele. Csak én érzem ezt képmutatásnak?


2012. december 18., kedd

Primordia


Hosszas várakozás után megérkezett a Wadget Eye Games újabb, immáron harmadik cyberpunk kalandjátéka, a Primordia. A sort a Gemini Rue kezdte, amit a Resonance követett, és most a Primodia, és bár a három játéknak sztori szinten semmilyen kapcsolata nincs egymással - tematikában is csak annyi, hogy mind cyberpunk, de mindhárom játék teljesen más oldaláról közelíti meg a jelenséget -, én egy sorozatnak tekintem őket. A kevés közös jellegzetességhez tartozik még a retro stílusú, de nagyon hangulatos grafika, és a fordulatos és eredeti történet.

A Gemini Rue a cyberpunk film noir-szerű, borongós hangulatát ragadta meg mesterien, ami mellé egy hozzáillő, ballonkabátos, kiégett zsaru karaktert kaptunk, és az amnéziás "testvérét", aki egy steril kutatóközpontban éli a tesztalanyok egysíkú életét. A karaktereket felváltva kell irányítani a játék folyamán, ez pedig érdekes kettősséget hoz a játékmenetbe. A két karakter sorsa egészen különleges módon fonódik össze a történet folyamán, aminek nem akarom lelőni a poénját, legyen elég annyi, hogy megéri végigjátszani a játékot miatta.


A Resonance már sokkal "jelenszagúbb" világban játszódik. Négy átlagember - egy "vénróka" zsaru, egy oknyomozó hacker, egy fizikus és egy nehéz gyerekkorú (majd megértitek :) ) nő - nyomoz egy misztikus haláleset kapcsán. A cselekmény középpontjában egy tömegpusztító fegyvernek is használható találmány áll, aminek során mind a négy karaktert kell egyszerre irányítanunk, mindegyik képességeit ott és akkor használva, amikor épp kell. Ennek a csavarnak köszönhetően a fejtörők is változatosabbak, a női karakter álmaiban játszódó epizódok pedig erre az élvezetes játékmenetre tesznek még egy lapáttal. A játék intrójából már sejthető, hogy a sztori végkifejlete eléggé ütős, úgyhogy ezt is érdemes végigtolni.


De a játék, ami írásra késztetett, az mégiscsak a Primordia. Ez az eddigiektől teljesen eltérő díszletek közt játszódik, egy "poszthumán", robotok által uralt és lakott civilizációba kalauzol. A főhősnek, egy humanoid robotnak, és lebegő társának kell a szigorúan "robotos" problémáit megoldani, miközben a főhős múltjának (előző verzióinak) történetére is fény derül. A néhol igen mély és elgondolkodtató párbeszédekkel tűzdelt játékmenet feszültségét a lebegő robotsegéd poénjai oldják hathatósan. A Wadget Eye játékai közt ez az első, amely vallásfilozófiai témákat feszeget, ebben a robot-civilizációban ugyanis új értelmet nyer a Humanizmus: a robotok vallását értik ez alatt, aminek lényege, hogy az Embert, mint Teremtőt dicsőítik. Azt hiszem egyértelmű, hogy a játék szimbólumrendszerében mi mit hivatott jelképezni :). Ahogy egy jövőben játszódó történet is tulajdonképpen a jelenről, úgy egy robotokat középpontba állító sztori is voltaképp magáról az emberről szól.


2012. szeptember 2., vasárnap

Párhuzamos port programozás

Bár egy párhuzamos port programozása nem nagy dolog, én szinte katarzisként éltem meg, hogy végre sikerült. Nekem, egy nyamvadt szoftveresnek, hosszas szenvedés, utánajárás és próbálkozás után végre sikerült beírnom egy byte-ot a PCMCIA-n laptopra kötött parallel port adatvonalára. Ez igazi áttörés, ugyanis így kényelmesen, a laptopomról folytathatom a SIDBox projectet, ami így elsőre nyilván nem sokat mond a legtöbb ember számára, de időben szólok arról is.
Örömömben csináltam is néhány képet arról, ahogy egy 7 szegmenses kijelzővel kipróbáltam az adatvonalra írást. Mint látható, mind a nyolc kimeneti láb működik.








És íme a forráskód, ami végül működött (itt csak fényképpel rakom ki, ahogy halad a projekt, úgyis kitolom Github-ra, ha valakit érdekel, onnan majd leszedheti).

2012. augusztus 22., szerda

Batman - Felemelkedés

Nem vagyok nagy moziba járó, de most viszonylag rövid időn belül két filmet is láttam. Mindkettő jó kritikákat kapott, bár nem ez vitt rá arra, hogy megnézzem őket moziban. Az Emlékmást Philip K. Dick rajongóként szimplán kötelező volt megnéznem, bár nem sokat vártam tőle, de azt legalább sikerült is teljesítenie. A felrántó kritikákat nem igazán értem, mert bár megvolt benne a cyberpunk pupillapornó (és ez nálam hatalmas pirospont), a sztoriban semmi újat nem tudott felmutatni, gyakorlatilag csak XIII volt cyberpunk köntösben.
A Nolan féle Batman trilógia befejező része viszont... ütött. Nagyot. Végre egy - újabb - film, ami arról szól, amiről minden karakterközpontú filmnek szólnia kellene. A felemelkedésről, a felébredésről, önmagunk legyőzéséről szól, transzcendenciáról, megvilágosodásról. Arról, hogy igazi erőt csak a hit képes adni (legyen bár a tárgya akármi). Én már ezzel önmagában is megelégedtem volna, de ezen túl a film pedzegeti a nyugati "modern" civilizáció dekadens voltának témáját is (kedvencem a filmből: - Ez az értéktőzsde, itt nem lehet pénzt lopni; - Miért, ti mégis mit csináltok?), bár az ez ellen való lázadást rossznak állítja be, ami miatt picit szívtam a fogam. Azon pedig, hogy ezek mellett még a sztori is izgalmas, már szinte meg se lepődünk. Az utóbbi idők legmeghatározóbb filmélménye.

2012. július 22., vasárnap

Thieves - A cyberpunk rövidfilm végre youtube-on

A Thieves című cyberpunk rövidfilm eddig csak privát vetítéseken volt megtekinthető, de most végre youtube-on is nézhető. Nagyon régóta várok már erre, annak idején a collective cyberpunk community fórumon figyeltem fel rá, ahol a készítője reklámozta. A trailer alapján nagyon megtetszett, és picit segítettem is terjeszteni. Most, hogy már láttam, őszintén szólva jobbra számítottam. Mindenesetre azért nem rossz, tekintve, hogy milyen kevés hasonló rövidfilm jelenik meg, legyünk hálásak.
Ráadásul egy nagy megtiszteltetés is ért, amire csak véletlenül figyeltem fel. Tekerjetek a videóban 12:25-höz :) (a cyberpunk community fórumon Neuromanta néven vagyok fent).

2012. május 29., kedd

Facebook is my fate

Nemsokára megházasodok, jön a házasélet, komoly felnőtt ember módjára kell majd viselkednem. Úgy gondoltam, hogy még most, amíg megtehetem, kellene csinálni valami eszeveszett nagy őrültséget. Valami hülyeséget, amit egy komoly, épeszű felnőtt ember nem csinál. Gondoltam ilyenekre, mint parkourözni a keleti vágányai között, elvégezni egy bölcsész szakot, hosszú lejáratú állami kötvényekbe fektetni, felrakni a Windows Vistát, kiutazni Izraelbe horogkeresztes pólóban, stb, de egyik sem tűnt igazán nagy őrültségnek.
Aztán eszembe jutott, mi lenne az alkalomhoz méltó cselekedet: regisztrálni Facebook-ra :)

2012. április 17., kedd

Ezt most ki kell írnom magamból

Elegem van. Unom már, hogy egyesek szerint szégyen magyarnak lenni. Torkig vagyok azzal, hogy néhányan folyton gyalázzák a saját népüket, és úgy tesznek, mintha mindenki másnak is ez lenne a természetes. Egyszerűen nem vagyok hajlandó azt elfogadni, hogy ha például egy francia vagy német vagy amerikai ember büszke a származására, az egy remek ember (ezt nyilván nem is vitatom), de ha egy magyar ember ápolja a hagyományait (kutatja a történelmét, íjászatot vagy lovaglást tanul, magyar népművészettel, néptánccal, népzenével foglalkozik, stb.), az a politikailag korrekt szemléletmód alapján egy rohadt, alávaló, náci-fasiszta, akasztanivaló gazember. Tényleg így lenne? Senki sem érez kettős mércét?


A fenti részmondatok mindegyikét egyenként kifejthetném hosszasan, de úgy érzem még én ütném meg a bokám miatta, úgyhogy maradjanak ezek a kijelentések csak a levegőben, egyszerűen csak ki kellett írnom magamból. Akinek értenie kell, az úgyis érteni fogja.

2012. március 13., kedd

Zöld Pénz POS pályázat alkotóknak


Ez hatalmas ötlet!
Egyébként is az egyik legfontosabb feladatunk az lenne itt Magyarországon, hogy a külföldi függésű valutánk helyett helyi pénzt használjunk a belföldi kereskedelemre. Vannak erre már jó kezdeményezések (pl. a Hungaro, a Drábik féle Jópénz alapítvány, vagy a balatoni és a soproni helyi pénzek, de még a kormány is tett egy apró lépést ebbe az irányba), de ezt a dolgot minél jobban népszerűsíteni kéne. Ez a felhívás a Zöld Pénz részéről szerintem hatalmas ötlet, hiszen ha valóban sikerül egy olyan megoldást találni, ami a kritériumoknak megfelel (márpedig a fiatal kreatív közösség szerintem képes erre), akkor innovatív módon oldhatnánk meg egy összetett gazdasági, és egyre inkább társadalmi problémát.