2013. február 2., szombat

Mai napi szösszenet ...

Mai napi szösszenet ...

Már nagyon régóta úgy programozok, hogy nem nagyon "tárolok" dolgokat az agyamban, mert sok lenne. Amit nagyon sokat használok, az "cache-elödik", de úgy direkt nem tanulok be semmit. Például Java-ban számtalanszor másoltam már fájlokat, vagy unzip-eltem, olvastam be json állományokat, stb. stb. de a helyett, hogy megírnék egy ilyen részt, inkább google-ben rákeresek egy példára, copy-paste, és átírogatom. Igazából nálam a programozás úgy néz ki, hogy kitalálom a működést (ez az, amihez igazából az ész kell), aztán a "hogyanokra" rákeresgélek google-ben (vagy épp a saját régebbi kódjaimban), és tulajdonképpen össze copy-paste elem a programot. Ez így nagyon hatékony, és még van egy olyan előnye is, hogy az alapok elsajátítása után nagyon hamar tudok programozni más nyelveken. De az élet más területein is jól jöhet szerintem ez a fajta információ kezelés. Egyszerűen nem érdemes olyan dolgokkal terhelni az agyat, amik bármikor elérhetőek. Nem is beszélve arról, hogy bele sem fér minden.

Azon gondolkodtam, hogy lehetne hatékonyabbá tenni mindezt. Az a baj ugye, hogy folyamatosan váltogatni kell a böngésző és a fejlesztő környezet között. Milyen hasznos lenne ehhez egy Google Glass, ahol kimondom hangosan, mit keresek, és kidobja nekem a találatokat, ahonnan aztán a gépre másolhatnám a szükséges kódrészeket. Még ennél is hatékonyabb lenne, ha ki sem kellene mondani amit keresek, csak rágondolni, és a szemüveg az EEG mintázat alapján (nem tartom elképzelhetetlennek, hogy a gondolatban kimondott szavak olyan részeket aktiválnak az agyban, ami a szó hangalakjához kapcsolódik, így kvázi olvashatóak a "kimondott" gondolatok) végzi a keresést. Ez utóbbi már egészen agy kiterjesztés szerű megoldás, ahol a tudást az agyunkon kívül tartjuk, de szinte olyan gyorsan el tudjuk érni, mint ha belül lenne, ráadásul nincs szükség semmilyen beavatkozásra (nem kell semmit az agyba ültetni). Így persze nem csak a weben lehet keresni, hanem a naptár bejegyzések közt, a bevásárló listán, a telefonkönyvben, stb. Ha sikerülne megvalósítani a "gondolat olvasó" interfészt, azzal nem csak az "olvasás", de az írás is nagyon egyszerű lenne. Csak bizonyos parancs szavakat kellene megjegyezni, amikkel jelezni lehet az eszköz felé, hogy valamit tárolni akarunk. De persze a nem túl távoli jövőben, amikor ez már megvalósulhat, valószínűleg a szemüvegbe építhető háttértárak mérete is drasztikusan megnövekszik, és ha így van, miért ne rögzítenénk mindent, amit látunk, vagy hallunk. De ha nem is rögzítünk mindent, akkor is intelligens algoritmusokkal, és a gondolat vezérlés ötvözésével (a rendszer felméri, hogy mire figyelünk, mit érdemes rögzíteni) kiszűrhetjük az értékes információt, amit a rendszer real-time indexel is nekünk, hogy bármikor visszakereshessük. Így mindenkinél alap képesség lesz a fotografikus memória, és az autista géniuszok minden irigyelt csodaképessége.

Valahogy így képzelem a jövő technológiáját 5-10 éven belül ... 

#blog

14 megjegyzés:

  1. Remek kis szösszenet. Szerintem is erre felé tartunk. A héten olvastam valahol - akár itt is -, hogy már erősen dolgoznak a gondolattal vezérelt gépen.

    VálaszTörlés
  2. A szakdogám védésének beszélgetését a vizsgaelnök úgy zárta, hogy "látom a kolléga tudja mit hol talál, amit alkalmazni akar".

    Erre a megközelítésre jól kéz alá tud dolgozni egy az idők során összerakott snipet könyvtár, talán nem véletlen, hogy jobb IDEk ezt támogatják is.

    VálaszTörlés
  3. Én szeretek tanulni, és akaratlanul is megjegyzek dolgokat, főleg akkor, hogy ha érdekel. Én nem akarok ilyen világot. Eltunyul az agyad, elfelejtesz gondolkodni, hogy ha nem kell használnod az eszed. Szeretek tanulni, szeretem érezni, hogy tudok valamit :) Jó ez így nekem!

    VálaszTörlés
  4. Czira Attila ahogy bővül az alkalmazandó technológiák köre, ahogy előkerül esetleg a valamelyest futószalagszerű termelés, ahogy előkerül a hatékonyság és a határidők szorításának problematikája, úgy előkerülnek ezek a módszerek is. Ettől függetlenül azért lehet szeretni tanulni, kell is, ennek is az az alapja. Tudás nélkül összelegózni sem lehet valamit, de legalábbis nem egyszerű(bb).

    VálaszTörlés
  5. Czira Attila Persze, én sem azt mondom, hogy nem kell tanulni. Sok minden van, amit nem lehet így megoldani. Én is írtam, hogy magát a program működését én találom ki. Ahhoz kellett előtte sok tanulás, kell hozzá tapasztalat, intuíció, stb. Én inkább azt mondom, hogy felesleges dolgokat ne tanuljunk meg. Olyan lexikális, "száraz" tudásra nincs szükség, ami real-time hamar elérhető, és nincs benne túl sok "tudás" fixálódva. Tehát mondjuk Java-ban felolvasni egy fájlt egy stringbe az 4-5 sor. Ez a 4-5 sor kb. mindig ugyanaz, és tökfelesleges megjegyezni, amikor megteheted, hogy rákeresel, gépiesen bemásolod, és átírsz rajta 10 betűt, de már azt is úgy, hogy oda sem nézel. Az ilyen "zombi tudás" az, amire felesleges drága agyszövetet pazarolni. De hogy ne legyen annyira szakmai, telefonszámokat bemagolni, megjegyezni a bevásárlólistát, stb. ezek is mind olyan dolgok, amihez nem kell agy. Ezeket lehetne azon kívül tartani, viszont jó lenne olyan hatékonyan elérni, mint a belül tárolt dolgokat. Erre írtam a Google glass-os részt. Szóval tanulni kell, magolni nem!

    VálaszTörlés
  6. Minden rendben, csak az 5-10 év az kicsit kevésnek tűnik nekem ... van az 20-30 is ... minimum.
    Ha munkának az alkotást hívjuk, új dolgok létrehozását, akkor teljesen logikátlan már valaki által megcsinált dolgokat újra megcsinálni. Idő, pénz, erőforrás, stb. pazarlás.

    VálaszTörlés
  7. Én is így szoktam össze copy-paste-elni a kódjaimat. Szerencsére a Google már van olyan fejlett, hogy szinte elég neki körbeírni mit szeretnék és már adja is megfelelő kódot. Egyszer nem volt netem pár órára és gondoltam addig wamp-al offline folytatom a wordpress oldalam tákolását, de rá kellett döbbennem, hogy minden "tudásom" a neten van és anélkül nem tudom a legegyszerűbb dolgokat sem megcsinálni. Szóval egyfelől nagyon hasznos, mert elég tudni mit hol, és hogyan kell keresni, de egyben veszélyes tudatlanságba is torkollhat a dolog. Persze ha nincs net, akkor weboldal sem kell, meg ahhoz való kód se, így a hiányzó tudás sem hiányzik, ergo valóban felesleges lenne megtanulni. :)

    VálaszTörlés
  8. Szerintem meg a jovoben egyaltalan nem lesz ido a tanulasra es legfokeppen nem lesz elvaras az hogy tudd amit csinalsz. Mar ugy ertem, a programozas teren. Sokkal valoszinubb hogy az ember feladata a program megtervezese lesz es azokat a kodreszleteket amiket eddig manualisan kellett ossze szedegetni a gepek majd megteszik helyettunk. Az ember megmarad mint kontroll a gep folott es annyi lesz a dolga hogy kimomdja az ament a program felett, vagy ha kell akkor jelezze a gep fele hogy nem egeszen erre gondolt. 

    Akik pedig valoban tudni fognak vagyis birtokoljak a tudast amirol beszelnek azokbol lesznek a vezeto beosztasuak :)

    VálaszTörlés
  9. Ja es vica verza, a gep is valoszinuleg jelezni fog ha jobb megoldast talalt mint amit mi magunk ossze eszkabaltunk. A sok tudas ott van a neten, es a gepek ebbol sokkal hamarabb tudnak majd egy atfogo kepet alkotni mint mi emberek. Kutatnak, elemeznek.

    VálaszTörlés
  10. Kemény Zsolt Mondjuk az 5-10 évet alapvetően a beszédfelismeréses módra gondoltam. Bár még lehet, hogy ez is merész. Az a baj, hogy olyan komponensek vannak a dologban, amiről nincs elég ismeretem. Nem tudom hogy valójában mennyire bonyolult probléma a beszédfelismerés, é azt sem, hogy mennyire bonyolult "gondolatot olvasni". De az irányt kb. erre látom.

    Robert Cartman Azért valamennyire cache-elődnek a dolgok, és egy idő után azért sok minden megy fejből, mert "rád ragad". Meg mondjuk ha nagyon muszáj, ki is lehet találgatni. Java-val pl. jártam én is úgy, hogy nem volt net. Próbáltam kitalálni a metódusok neveit. pl. ha zip-et akarok kitömöríteni, elkezdem írni, hogy zip..., aztán bőszen nyomkodom a ctrl+space-t, és nézegetem amit a kódkiegészítő ad, meg a javadoc-ot. De tény, hogy így sokkal macerásabb az egész. Azért nem nevezném ezt "tudatlanságnak", mert arra eleve nincs kapacitása egy embernek, hogy mindent megtanuljon. Nem hiszem, hogy bárki is fejből ismerné az egész j2se objektum struktúrát. A kérdés csak az, hogy hol húzzuk meg a határt, és nem csak a programozásban, hanem minden területen. Nem akarok ezzel ilyen "kell-e tudni helyesen írni" vitát indítani (úgyis az lesz belőle), de szerintem pl. általános iskolában a versek betanulása, az évszámok megtanulása, vagy földrajzból az egyes országok adatainak bemagolása ugyanilyen felesleges. Az ember agyában inkább ilyen gráfoknak kellene lennie az ismeretek kapcsolatairól, olyan dolgoknak amik inkább arra vonatkoznak, mi mivel függ össze, és mit hol keressen, de magát a lexikális tudást nem tartom olyan fontosnak. Történelemből ne évszámokat tanuljunk, hanem azt, hogy kb. mik történtek egy időben, és mi hogyan mire hatott. Egy vers esetén ne a verset tanuljuk meg, csak tudjuk miről szól, hogy illik bele az akkori világ kontextusába, és mi a mondanivalója. Amikor valaki versrészletek idézésével "vagánykodik", azzal nem igazán tudok mit kezdeni. Csak szétteszem a kezem, hogy "na, és akkor most mi van?!". :)

    VálaszTörlés
  11. Papp Zsolt Igen, ez még egy fontos motívum, amit még igazán el sem tudok képzelni, hogy ahogyan fejlődik az MI, ebben az egész katyvaszban a gépek összefüggéseket fognak látni. Ők is képesek lesznek következtetéseket levonni, és így bizonyos gondolati folyamatokat is az agyunkon kívülre szervezhetünk. Nem csak keresni lehet majd a tudásban, mivel sokszor a "gondolkodást" is elvégezhetik helyettünk. De arra egyenlőre nincs is nagyon ötletem, hogy ez hogyan változtatja majd meg a jövőt. Milyen szintű az a "gondolkodás", amire a gépek képesek lehetnek, és mi az amihez még ember kell. Mindenesetre érdekes elképzelni, hogy "ott van egy hang az ember fejében", ami mindig súg, hogy mikor mit kellene tenni, vagy hogy lenne még jobb. És ezek a dolgok most történnek, most jött el ezeknek az ideje. Szerintem erről fog szólni az elkövetkező "pár" év az informatikában.

    VálaszTörlés
  12. Sok dolgot az iskolában nem azért csináltatnak a gyerekkel, mert van értelme, hanem pl. a verstanulás is fejlesztő feladat ... felnőtt korban persze nem sok értelme van. De próbaképp néha-néha ki lehet próbálni, hogy "na itt ez a 3 versszakos vers, meg tudom e tanulni ma". Ha nem, akkor lehet, hogy egy hasznos része el van lustulva az agyadnak.

    Ezt nem a programozás mikéntjére értettem, kizárólag az agyműködés karbantartása érdekében.

    VálaszTörlés
  13. De ha meg csak a memória fejlesztése a cél, akkor tanuljanak valami érdekest. Mondjuk dalokat, amiket kint az udvaron gitárral lehet énekelni. :)

    VálaszTörlés
  14. Laszlo Fazekas Azt senki nem kívánja, hogy én énekeljek XD

    VálaszTörlés