Murphy törvénykönyve – görbe tükör IT szemmel

Arthur Bloch népszerű könyvéből gyűjtögettem néhány szösszenetet. Biztosan sokaknak ismerős. A címe: Murphy törvénykönyve, avagy miért romlik el minden? A gondolatokat itt-ott kiegészítettem a programozásra, szoftverfejlesztésre jellemző szemléletmóddal. Ezt a blog bejegyzést április 1-jén tesszük közzé. Nem véletlenül. 🙂 Az alap Murphy-törvényből induljunk ki: „Ami el tud romlani, az el is romlik.” Következzen 13+1 bölcsesség.

„Semmi sem olyan egyszerű, mint amilyennek látszik.” Pláne, ha az ügyfél úgy gondolja, hogy ezt az apróságot bizony 4 perc alatt megoldja egy ügyes fejlesztő.

„Minden több időt vesz igénybe, mint gondolnád.” Ha csak egy paraméter típusát változtatod meg egy metódusban, akkor az biztos, hogy lavinát indít és a forráskódban sok helyen kell módosítanod.

„Ha többféle dolog is elromolhat, biztos, hogy az romlik el közülük, amelyik a legnagyobb kárt okozza.” Elegendő belegondolni abba, hogy egy WordPress-ben lehet bármennyi bővítményed, amik általában gond nélkül frissülnek, de egy apró PHP frissítéstől összedől az egész weboldal.

„Ha rájöttél, hogy egy művelet négyféle módon mondhat csődöt, s mindegyiket kivéded, menten fellép az ötödik.” Hiába készülsz fel minden input adatra, billentyűzet- és egéreseményből adódó problémára. Egy webes űrlap esetén, egy macska mindig átfuthat a billentyűzeten. Teljesen váratlanul.

„Semmit sem lehet a kétbalkezesek ellen bebiztosítani, mert a kétbalkezesek rendkívül találékonyak.” Egy tesztelő mindig tud olyan tesztesetet produkálni, amire senki sem gondolt korábban a tervezésnél, megvalósításnál, dokumentálásnál. Bár egy kicsit sántít ez a gondolat, mert egy tesztelő messze nem kétbalkezes, hanem tudatosan csinálja, amit csinál. Legalábbis remélem.

„Ha javulni látod a dolgokat, akkor valami fölött elsiklottál.” Amikor azt érzed, hogy ez a sprint végre most elkészül határidőre, akkor az utolsó napon, órában, percben tutira borul valami.

„Ha egyszer összekutyulódott valami, a kijavítására tett minden kísérlet csak rontani fog rajta.” Pláne, hogy mindenhol, még a jól megtervezett osztálykönyvtárakban is van legalább egy leggyengébb láncszem.

„Amit ember összerakott, előbb-utóbb szétesik.” Amikor azt gondoljuk, hogy egy jó dátumkezelő funkciót kiválóan megterveztünk, rommá teszteltünk, akkor bezzeg nem 3,9 év múlva jön egy szökőév…

„Egy esemény előfordulásának valószínűsége fordítottan arányos bekövetkezésének kívánatosságával.” Azt kár feltételezni, hogy a jogszabályok, végrehajtási rendeletek ritkán változnak. Pedig gyakran építünk sok-sok funkciót ezekre építve szinte bármilyen szoftverben, webáruházban.

„Nyomás alatt a dolgok tovább rosszabbodnak.” Pedig kipróbáltuk az legkritikusabb adatbázis táblát 1000 db tesztadattal, de arra nem számítottunk, hogy élesben napi 500 rekord kerül bele és ugye előbb-utóbb eljön a havi zárás annyi adattal, amire nem készültünk fel. Ugyanilyen, ha nem skálázható webtárhelyen futó WordPress-re irányítunk intenzív marketingkampánnyal sok-sok látogatót és akkor egyszer csak összeomlik a weboldal a váratlan nagy terhelés alatt.

„Ha n számú alkatrészre van szükség, éppen n-1 van raktáron.” Ez – főleg – akkor (is) igaz, ha egy SCRUM csapatban az alkatrészt kollégának tekintjük. Még szűkebb keresztmetszet, hogy legyen releváns tapasztalata is az aktuális problémához és éppen érjen is rá. És persze ne holnap menjen el a konkurenciához/külföldre dolgozni f+1 fizetésért és ne holnapután üsse el a villamos.

„Legjobban azzal ébreszthetsz magadban új gondolatokat, ha leragasztasz egy levelet.” Korszerűsítve és adaptálva a gondolatot: miután lenyomtad a Deploy gombot egy webalkalmazás aktuális változatának publikálásához, akkor biztosan eszedbe jut, hogy mit kellett volna még beletervezni, fejleszteni a szoftver aktuális verziójába. Nem baj, hamarosan kiadjuk majd a következő frissítést is.

Eddig volt 13 bölcsesség. Azzal akartam zárni, hogy a +1-edik bölcsesség elromlott, hiszen biztosan erre is érvényes a Murphy-törvény, de inkább írok még egyet. Még jó, hogy „Murphy optimista volt”. 🙂 Ez a szerencsénk. Mi lenne velünk, ha pesszimista lett volna? 🙂

Balogh Péter emlékére

Mély megrendüléssel tudatjuk, hogy oktatói csapatunk egyik tagja, Balogh Péter elhunyt.

Ismeretségünk az ELTE MSc informatikatanár szakán kezdődött, ahová egy évfolyamra jártunk és 2005-ben végeztünk. Az egyetemi időszak alatt az általunk Kockakörnek hívott 6-8 fős csapat tagjaként mindannyian aktívan támogattuk egymást. Akkoriban ő Kecskeméten lakott én pedig Cegléden, így évekig vonatoztunk többen is együtt a csoportból a fővárosba – a MÁV Szeged-Budapest vonalán – és küzdöttünk az ELTE-s diplomáért. Sokat ötleteltünk, építő jellegű kritikával segítettünk egymást a szakdolgozatírásban, kölcsönösen számíthattunk egymásra.

Magunk között az ELTE-s zh-kat csak IQ-tesztnek hívtuk, hiszen általában mindig olyan feladatokkal találkoztunk, amikre bármennyit készültünk is, elsőre minden alkalommal ismeretlennek és megoldhatatlannak látszottak. Belemélyedve a papíros és kódolós feladatokba, már korántsem bizonyultak annyira elvontnak és persze megugrottuk az akadályokat.

Az egyetem után – változó intenzitással, de – többen is együttműködünk a Kockakörből. Online gyakrabban, de offline is találkozunk néhány alkalommal évente. Mindannyian fejlesztünk és tanítunk is. Változatos, hogy ki milyen területtel foglalkozik éppen, de a programozás, mintapéldák, módszertani kérdések, érdekes szakmai problémák időről-időre felbukkannak. Körkihívásokat is szoktunk csinálni. Aggteleken 2-3 évente nyáron néhány napot azóta is eltöltünk.

Péter szakmai kíváncsisággal fogadta, amikor összeállítottam 2009-ben a Programozási alapok és 2010-ben a Programozási technológia tankönyveimhez tartozó Java példatárakat. Sok ötletet kaptam tőle, több evolúciós feladat kidolgozásában is segített. Szakmai publikációimat mindig véleményezte. Ha adódott lehetőség, akkor még az előkészítés fázisában, vagy ha ez éppen nem úgy alakult, akkor utólag mindig értékelt, reagált, javasolt. 2012-2014-ig több pályázaton dolgoztunk együtt, főként tananyagfejlesztéshez kötődően. 2014-2018-ig több webes alkalmazás fejlesztésében, karbantartásában, továbbfejlesztésében közreműködtünk: terveztünk, elemeztünk, implementáltunk. Több szakmai továbbképzésen is részt vettünk közösen.

Az it-tanfolyam.hu projekthez Péter 2018 tavaszán csatlakozott. Több vidéki és külföldi csoportunknak tartott Java SE és EE szoftverfejlesztő tanfolyamokat és speciális Java tematikával több, egyedi céges tréninget is. Lelkesen blogolt is velünk, már évek óta. Amikor bemutatkozó szöveget kértem tőle az Oktatók lapjára, ezt írta: „Saját bevallása szerint munkamániás, illetve kommunikációs készsége jóval az átlag IT kocka szintje felett van és ennek minden előnyére igyekszik építeni. Szoftvertervezést és programozást tanít magyar, angol és német nyelven is. Szakmai kihívásként tekint az oktatásra.” Mottót is kértem tőle: „Nem kell mindig tökéletesnek lenni. De ha itt az ideje, akkor tökéletesnek kell lenni.”

2020. márciusában összeültünk ünnepelni – a szokásos KFC-s vödör csirkével – néhány nappal a 38. születésnapja után, amikor így fogalmazott: „Nem lesz több születésnapi csirkém. Komoly baj van. Ezen a világon néhány hónapom van hátra. This is already the end of the road, nothing can be done.” Szokása volt, hogy privát beszélgetések közben egy-egy gondolatmenetének lezáró mondatát angolul, németül, franciául vagy oroszul mondta. Többé ezt nem hoztuk szóba, mert így kérte. Aktívan dolgozott tovább velünk, mert így akarta. Tegnapelőtt küldte utolsó előadásának vázlatát a kapcsolódó Java forráskóddal együtt, amit már novemberre készítettünk elő a Kutatók éjszakája rendezvényünkre és mára egyeztettük, hogy megbeszéljük. Tegnap elment.

Péter lelkes sci-fi rajongó volt. Sokszor beszélgettünk kedvenc sorozatairól, karaktereiről. Star Trek, Végtelen határok, A bolygó neve: Föld, Orion űrhajó… Egyszer azt mondta: „Azért nézünk a tizenéves fiaimmal együtt sci-fit, hogy lássanak alternatív világokat, elképzeléseket. Ezzel kizökkenünk a hétköznapokból. Fontos, hogy elgondolkodjanak arról, hogy lehet(ne) másképp is élni, élményeket szerezni, látni, tapasztalni. Létezhet(né)nek más prioritások is.”

A Star Trek Voyager sorozat 5. évad 11. Látens kép című epizódjában a csillaghajó legénységének egyik tagját Janeway kapitány ezekkel a szavakkal búcsúztatja a temetési szertartáson: „We are assembled here today to pay final respects to our honored dead… His intelligence and his charm have made our long journey home seem not quite so long. As he continues on a journey of his own. We will keep him in our hearts and in our memories.”

Ezzel búcsúzom Pétertől.

Szoftverfejlesztő mémek

IT mémek

IT mémekAz IT kockáknak speciális humorérzéke van. Nekünk külön kategóriákba sorolható mémek készülnek és persze magunk is gyártjuk időnként. Az alábbi összeállítást szabadon keresgélve a weben szedtem össze és csoportosítottam a szoftverfejlesztés, programozás ismert szakterületeihez, folyamataihoz kötődően. Nem fordítottam le angolról magyarra a szövegeket. Aki érti, úgyis érti. Aki nem, úgyis továbbgörget. Enjoy!

Alapelemek, ciklusok

Az algoritmusok alapvető építőelemeivel, egyben a strukturált programozás alapfogalmaival illik tisztában lenni. Ismerni kell ezek működését, egymásba ágyazásának lehetőségeit. Szekvencia, szelekció, iteráció. Időnként döntéseket is hozni kell. Néha úgy érezzük, hogy túl korán, néha pedig későn. Érezzünk rá, mikor jó. Sosem árt lezárni egy-egy blokkot és tudni jól egymásba ágyazni amit kell. Azért a metódusokkal csínján kell bánni.

IT mém 1

Tisztázni kell bizonyos dolgokat

Nem érthetünk mindent és persze nem érthetünk mindenhez. A dolgokat különböző szemüvegen át látjuk, hiszen eltérő tapasztalatokkal rendelkezünk. Persze hasznos, ha egy csoportban értjük egymást, vagy legalább egy valaki tisztában van az ügyfél igényével. J Például a webfejlesztés során el kell fogadni, hogy vannak látványos, azonnali élményt nyújtó változtatások (pl.: design), és hosszú távon megtérülő háttérmunkák (pl.: technológiai SEO).

IT mém 2

Tervezni is tudni kell(ene valakinek)

Azért nem árt a precíz, pontos, konkrét feladatspecifikáció. Mindez akár több szinten is megfogalmazva: fokozatosan közeledve az ügyfél bölcsészmondataitól a kockaságig. Hasznos, ha nem csak a határidő motivál. Nyilván a pénz is. 😉 Érdekek mindig ütköznek, de ezt is meg kell tanulni elfogadni/kezelni. Néha csupán az erősebb kutya esete áll fenn, néha a hatáskörig is megy a történet.

IT mém 3

Ne feledjük: mindenki mást gondol

Mivel a különböző kapcsolódó szakterületeken tevékenykedő szakemberek szókincse eltérő, így ezekből gyakori és tipikus félreértések születhetnek. Ha a fejlesztés hosszabb ideig tart, akkor menet közben is változhatnak – és változnak is 😉 – az igények. Célszerű lenne folyamatokban gondolkodni és feltenni némi empátiával azt a kérdést, hogy igazából mit is akar az ügyfél? Vajon milyen problémát szeretne megoldani, milyen folyamatot tenne könnyebbé a fejlesztendő/karbantartandó szoftverrel? Egy bizonyos szint felett az interdiszciplináris megközelítés elengedhetetlen. Visszacsatolás során kiderül(het), hogy az ügyfél hogyan használja a szoftvert. Lehet, hogy teljesen másképpen, mint ahogyan gondolnánk. Örök bölcsesség: a tervezésre fordított idő később mindig többszörösen megtérül.

IT mém 4

IT mém 5

Módszertanok

Előbb-utóbb eljön az a szint, ahol már a különböző módszertanok is megjelennek. Ezekhez is alkalmazkodni kell. Minden fejben kerül helyre. Ezek többnyire a folyamatokhoz, a napi/heti munka szervezéséhez/ütemezéséhez is kapcsolódnak.

IT mém 6

Amikor már végre kódolunk…

Sokféleképpen mérhető/értékelhető egy fejlesztő munkája. Nyilván nem kilóra, például a megírt forráskód sorainak számával. Persze egy komplex szempontrendszernek lehetnek/vannak kvalitatív és kvantitatív mutatói.

IT mém 7

… kiderül, hogy persze semmi sem könnyű

Sosem az számít, hogy milyen hatások érnek bennünket. Az a fontos, hogyan reagálunk ezekre. Semmi sem könnyű, de természetesen erről is különbözőképpen gondolkodunk. Helyén kell tudni kezelni a dolgokat és akkor minden fenntartható hosszú távon. A programozást elkezdeni sosem késő, vagy másképpen: nem lehet túl korán kezdeni? Mindez nézőpont kérdése.

IT mém 8

A tesztelés sem árt…

Legyünk tisztában a tesztelés alapjaival és folyamatával is. Ha lefuttatjuk még egyszer az összes tesztesetet, azzal biztosan nem rontunk el semmit. 😉

IT mém 9

… ahogyan némi dokumentáció sem

Sokan és sokszor nem szeretünk dokumentálni. Bárki bármit mond és tapasztal, a dokumentálás szükséges és hasznos. Ugye senki sem gondolta, hogy ebből a mém gyűjteményből Chuck Norris kimaradhat? 😉

IT mém 10

Többnyire mindez csoportmunkában zajlik

Tisztában kell lennünk a helyünkkel a csoportban: feladatkör, pozíció, felelősség, szerep, kommunikáció. Három fontos kulcsszó: konfliktuskezelés, időmenedzsment, érdekérvényesítés. És persze a hatékony csoportmunkához szükséges soft skillek is előtérbe kerülnek. Kevesek működnek alapból/ösztönösen jól együtt csoportban, a többségnek ezzel tudatosan foglalkoznia kell. Ne éljünk a tipikus csoportmunka hozzáállással: „megcsináltam”, „elrontottuk”. Ezzel megvolt a kötelező cicás kép, már triplán is. 😉

IT mém 11

Tudni kell tanulni is a programozást

A programozási nyelvek csupán eszközei annak, hogy amit kigondoltunk, megterveztünk, modelleztünk, azt megvalósítsuk és működjön asztali gépen, böngészőben, telefonon. Elveket, koncepciókat is meg kell érteni. Kihagyhatatlanok az alapvető algoritmusok, adatszerkezetek. Meg kell ugrani az objektumorientált paradigmát is. A funkcionális paradigma is egyre népszerűbb. Hasznos, ha a tanulás során el tudjuk fogadni a tapasztaltabbak véleményét, javaslatait. Többnyire elsőre nem alkotunk tökéleteset, de minden hibából tanulunk. Tudomásul kell venni: nincsenek átugorható lépcsőfokok. Egyszerűen kell egy kritikus tömegű önálló gyakorlás és utána jön a sikerélmény.

IT mém 12

Ha elszántad magadat és szoftverfejlesztést/programozást tanulnál Java nyelven, akkor jó helyen jársz. A Jelentkezés lapon követheted, mikor indulnak csoportjaink.

Logikus gondolkodás teszt

Mensa logó

Mensa logóAz elmúlt 20 évben rengeteg logikai feladatokból álló tesztet állítottam össze. Kezdetben iskolai szakkörökhöz, versenyekre való felkészítéshez, tehetséggondozáshoz használtam ezeket. Ezután következett a Logikus gondolkodásra nevelő Diákműhely, amelyben ez már professzionális lett. Végül több cég/vállalkozás számára állítottam össze többféle programozói, szoftverfejlesztői tanfolyam tematikájához illeszkedően toborzáshoz, felvételihez, jelentkeztetéshez, kiválogatáshoz, szakmai interjúk során használható tesztet/feladatsort. Ezek eltérő igények szerint mérik/skálázzák a logikus gondolkodást, a problémamegoldást, az algoritmikus készségek meglétét, az összefüggések/szabályok felismerésének és alkalmazásának szintjét, a szakmai felkészültséget.

A logikus gondolkodáshoz kötődően rendszeresen szoktam előadásokat is tartani például országos rendezvényeken (Kutatók éjszakája, Digitális Témahét, Programozási Hét – CodeWeek.eu), pályaorientációs napokon és tehetséggondozó versenyek szakmai napjain tanároknak, diákoknak, főiskolás/egyetemista, Erasmus hallgatóknak.

Korábban blogoltam a népszerű Hány éves a kapitány? címmel, ahol ajánlottam 8 db magyar szakirodalmat a témában.

Most angol Mensa IQ teszt szakfolyóiratból válogattam össze egy 10 feladatból álló, logikus gondolkodás mérésére alkalmas tesztet. A válaszok/megoldások név és e-mail cím megadásával automatikus válaszlevélben a bejegyzés végén hozzáférhetőek.

Logikus gondolkodás teszt – feladatok

1. feladat
Az alakzatok pozitív egész számokat jelölnek. Mi kerül a kérdőjel helyére?

logikai-feladat-01

 

2. feladat
A betűk és számok elrendezése logikus. Mi kerül a kérdőjel helyére?

logikai-feladat-02

 

3. feladat
A számok elrendezése logikus. Mi kerül a kérdőjel helyére?

logikai-feladat-03

 

4. feladat
A számok elrendezése logikus. Mi kerül a kérdőjel helyére?

logikai-feladat-04

 

5. feladat
Folytatva a sorozatot mennyi az idő a 4. analóg órán?logikai-feladat-05

 

6. feladat
A számok elrendezése logikus. Mi kerül a kérdőjel helyére?logikai-feladat-06

 

7. feladat
A táblázatban a piros mintával kitöltött cellák elhelyezkedése logikus. Honnan hiányzik 1 db piros mintával kitöltött cella?logikai-feladat-07

 

8. feladat
A szimbólumok elrendezése logikus. Mi kerül a kérdőjel helyére?

logikai-feladat-08

 

9. feladat
56 db jutalomfalattal megetethető 10 háziállat, amelyek vegyesen macskák és kutyák. A macskák 5 db-ot, a kutyák 6 db-ot kapnak és végül marad 1 db jutalomfalat. Hány macska és hány kutya kap enni?

logikai-feladat-09

 

10. feladat
A 7 szám közül 6 párba állítható. Melyik szám marad ki?logikai-feladat-10


Logikus gondolkodás teszt – megoldások

    Kommunikáció a Mars és a Föld között

    Mentőexpedíció

    MentőexpedícióBevezető, avagy a szomszéd messze van

    Képzeljünk el egy helyzetet, amikor egyik barátunkat, családtagunkat felhívjuk telefonon, és videótelefonálást folytatunk vele, mobiltelefon segítségével egy látványos helyről. A mai technológia segítségével ennek a lehetősége már bárki számára hozzáférhető áron rendelkezésre áll. Ráadásul a kommunikáció szinte tökéletes, láthatóan késleltetés nélküli. Ám tételezzük fel, ha ezt a kommunikációs tevékenységet a Föld két távolabbi pontja között végezzük, mondjuk Magyarországról folytatunk videótelefonálást a 18000 km-re fekvő Új-Zélandra. A helyzet minimális szinten megváltozik, hiszen a nagy távolság következtében a fizikai törvényei itt már emberi léptékben is érzékelhető korlátot szabnak a kommunikáció sebességének. Persze nyugodtan mondhatnánk azt, hogy na és? Joggal, hiszen az átlagember számára fel sem tűnik, hogy az általa halott beszéd, és az általa látott kép a valóságban kevesebb, mint egy másodperc késéssel érkezik meg a küldőtől a fogadóhoz.

    Ha ezt elképzeltük, és megvan a 18000 km-nyi távolság és a közel 1 mp-es késleltetés, ugorjunk egy nagyobb léptékre, melynek apropójaként hívjuk fel barátainkat telefonon a Marson. Most csak egy egyszerű példa kedvéért, eltekintve a légköri jelenségektől, a műholdak aktuális helyzetén át, a napszél tevékenységig minden más további hatástól, a Mars-Föld távolság átlagos értékével számolva. Legyünk türelmesek, hiszen a bolygók közti aktuális távolság függvényében, a fénysebesség korlátainak figyelembevételével a késleltetés meglehetősen nagy lesz. Fel fogják venni a telefont. Ne, még ne tegyük le! Igen, tudom, hogy már eltelt tíz perc, de várjunk még! Biztosan fel fogják venni a telefont. És ez a 12. percben meg is történik. A vonal végéről nem hallunk semmit? Nem csoda. Hiszen a mi jelentkezésünk 12 perc alatt ért a Marsra, és újabb 12 percet kell várni arra, hogy meghalljuk barátaink reagálását. Ugye, hogy nem is olyan egyszerű ez a bolygóközi kommunikáció?

    Egy kis matematika az előzőekhez:

    A Föld-Nap átlagos távolság 8,3 fényperc, ami 149,6 millió km-es távolságot jelent. Ezt alapul véve, és mivel tudjuk, hogy a Föld-Mars átlagos távolság 225 millió km, könnyen kiszámolható, hogy a két bolygó között a fény fotonjai 12,48 perc alatt teszik meg az utat. Tehát jelen technológiákkal (a két bolygó átlagos távolsága esetében) 12,48 perc alatt lehet adatot továbbítani a két égitest között. Érdekesség, hogy 2003-ban a Mars mindössze 56,3 millió km-re volt a Földtől. Gyors számtan: a távolság 3,12 fényperc. (Legközelebb 2287-ben lesz ilyen alkalom.) Azonban 2005-ben a vörös és kék bolygó mértani távolsága elérte a 402,3 millió km távolságot, azaz a 22 fénypercet. További gondolatébresztőként megemlítendő, hogy minden évben van egy két hetes időablak, amikor a Mars a Nap mögé bújik, ezáltal a kommunikáció teljesen megszakad vörös szomszédunkkal. Ebből aztán kiderül, hogy adott dátumtól függően, a Mars és a Föld között általában 7 és 44 perc között zajlik le egy „kérdés+válasz” jellegű kommunikáció.

    A Mentőexpedíció című film

    A fenti bevezetőből kiindulva, vegyük górcső alá az Andy Weir 2011-es A marsi című regénye alapján készült 2015-ös Mentőexpedíció című filmet. Aki nem ismerné, annak röviden annyit érdemes tudnia, hogy egy kutatócsoport heves időjárási tevékenység miatt menekülni kényszerül a Marsról. A csapat egy ember híján sikeresen eljut a felszállásra kész űrhajóig, amellyel feljutnak a űrben keringő Hermes anyahajóra. Később a Marson hagyott űrhajósról kiderül, hogy a viharos erejű szelet túlélte, bár ő maga, és űrruhája is megsérült. A következő jelenetekben Mark Watney űrhajós számára realizálódik, hogy egyedül maradt a bolygón, a következő küldetés pedig négy év múlva érkezik. Tehát három fő feladata van:

    • Egy ember számára lakhatatlan bolygón, a rendelkezésre álló eszközökből biztosítania kell az életben maradásához szükséges feltételeket, mint amilyen az élelem, a víz, és az oxigén. Ez megoldhatónak tűnik, hiszen főhősünk botanikus. Növénytermesztéssel létrehozható egy alacsonyszintű ökológiai körforgás.
      Megjegyzés:
      Fontos megemlíteni, hogy a marsi talaj a nagy hőingadozások miatt rendkívül porózus, továbbá olyan anyagokat tartalmaz (például földpátok, piroxének, olivinek), amik a vízzel vegyülve az emberi szervezet számára méregként hatnak. Például a marsi por belélegzése során, a tüdőben található nedvességgel érintkezve gáz formájában, vagy a véráramba jutva halált kiváltó vegyületek jöhetnek létre. Ehhez képest Mark, ránézésre több száz kg-nyi marsi talajt a lakrészbe talicskáz, és vizzel öntöz. Az ehhez szükséges vizet, az egyik űreszközben található hidrogén elégetésével nyeri, a marsi talajt pedig emberi végtermékkel trágyázza, miközben a növények oxigént termelnek. Ez filmben jól néz ki, de fent már kifejtettem, hogy a marsi talaj az emberi szervezet számára veszélyes lehet. További kérdést vet fel, hogy az emberi végtermék vajon megfelelő tápanyagokat rejt-e, a burgonya növekedéséhez. Ezen kívül az is kérdés, hogy az a szobányi növény termel-e elegendő oxigént. Mindenesetre főszereplőnk ezen feladatát megoldotta.
      Természetes, hogy ha minden kihívást figyelembe vettek volna a filmkészítők, akkor vagy nem készül el a film, vagy megválaszolják a NASA, valamint más űr- és bolygókutató vállalatok kérdéseit.
    • Második feladataként meg kell oldania, hogy a marsjáró roverrel eljusson a 3200 km-es távolságban fekvő Schiaparelli-kráterhez, ahová négy évvel később érkezik a következő küldetés legénysége.
      Probléma:
      Ez számos problémát vet fel, főleg mert a marsjáró egy feltöltéssel elérhető hatótávolsága csak 35 km, ráadásul a járgány fűtése rögtön elviszi a rendelkezésre álló energia felét. Ezen hátrányok meglehetősen érdekesek annak tükrében, hogy a mai járművek akár 350 km-es távolságot is könnyűszerrel megtesznek, a marsjáró légmentes kialakítása és megfelelő szigetelő anyagok használata révén pedig a fűtésre fordított energia jelentősen csökkenthető. Főleg ha elképzeljük milyen fejlesztések zajlanak le a 2030-as évekig. Tény persze, hogy a laza marsi talajon, egy teherautó méretű, nyolckerekű járművel közlekedni több energiát igényel, mint egy kisebb négy kerekű járművel haladni az aszfaltozott úton, azonban arról se feledkezzünk el, hogy a Mars felszíni tömegvonzása harmada a Föld felszíni tömegvonzásának. Mindenesetre a filmbeli főhősünk a fűtés problematikáját a radioizotópos termoelektromos generátor segítségével oldotta meg, a marsjáró hatótávját pedig egy másik, amúgy megsérült marsjáró akkumulátorainak felhasználásával duplázta meg. Így a mozi szerint 70 km távolságra tud eljutni egyetlen feltöltéssel. Ekkor kipakolja a napelem cellákat, és újratölti az akkumulátorokat.
    • Továbbá fel kell vennie a kapcsolatot a Földdel. Ez utóbbinak nem lenne akadálya, azonban a vihar tönkretette a kommunikációs berendezéseket, valamint az antennát is. A filmtől elvonatkoztatva egy ilyen eset vélhetően nem történhetne meg, ugyanis a tartalék rendszer rendelkezésre állna (dobozokban földbe ásva, dobozokban bent a lakrészben, vagy bármi más módon, amit a szakemberek alkalmasnak találnak erre a célra). A kommunikáció a Földdel gyakorlatilag életfeltétel. Máskülönben az is igaz, hogy a tartalékrendszerek Marsra szállítása extra költségekkel járna.

    A film tartalma, valamint a kialakult problémák ismertetése után merüljünk bele a részletekbe, valamint az érdekes, ismert és még ismeretlen fogalmakba!

    A sol fogalma

    A történet teljes egésze alatt többször elhangzik egy csillagászati fogalom, ez pedig a sol. A sol tulajdonképpen a szoláris nap rövidítése, azonban használata némi bonyodalmat okoz, hiszen a sol-t, mint mértékegységet a NASA 1976-ban az első Viking űrszonda landolásakor, a marsi napok múlásának mérésére vezette be házi használatra. Jelenleg a sol egy hivatalosan nem elfogadott időegység, azonban általánosan elfogadható, hogy 1 sol esetében 1 szoláris marsi nap hosszáról beszélhetünk.

    Kiegészítés:

    Noha logikus lenne olyan egyértelműsítő fogalmakat bevezetni, hogy 1 földi sol, vagy 1 marsi sol, ennek ellenére az egyébként sem hivatalos időegységet ne bonyolítsuk tovább! Összehasonlításképpen 1 földi szoláris nap ~24 óra 3,5 percnek, 1 (marsi) sol pedig ~24 óra 39,5 percnek felel meg. Ez azt jelenti, hogy a Marson egy általános értelemben vett nap hossza több, mint fél órával tovább tart. További gondolatébresztő érdekesség, hogy a Földön a szoláris nap ritkán használatos. A Földön a csillagnapot szoktuk használni, ez pedig közel azonos – 0,008 s az eltérés – a Föld tengely körüli megfordulásának idejével, ami ~23 óra 56 perc. A csillagnap során azt figyeljük meg, hogy – a Földről nézve – az égbolton a távoli csillagok, mennyi idő alatt tesznek meg egy teljes fordulatot. A Föld csillagokhoz mért óriási távolsága miatt a Föld Nap körüli pályán történő mozgása egy nap alatt szinte elhanyagolható tényező. A szoláris nap esetében viszont ezzel a tényezővel is számolni kell, hiszen a Föld-Nap távolság rendkívül kicsi. Mialatt a Föld megfordul a saját tengelye körül, a Nap körüli pályán egy másik pozícióba kerül, ez utóbbi pedig már jelentősen befolyásolja a szoláris nap hosszát.

    Részecske szinten a Marsig tartó út hossza

    A filmben többször is elhangzanak változó utazási adatok arról, hogy mennyi idő alatt lehetséges eljutni a Földről a Marsra, illetve vissza. A jelenlegi technológiákkal ez jellemzően 5 és 10 hónap között változhat, attól függően, hogy éppen milyen a bolygók egymáshoz viszonyított aktuális állása. Az sem mindegy, hogy mekkora energiabefektetéssel szeretnénk elérni a vörös bolygót. Erre a megfelelő indítási ablak 26 havonta alakul ki, ami azt jelenti, ekkor áll rendelkezésre néhány olyan nap, amikor hatékonyan el lehet érni a Marsot. 2018-ban az InSight űrszonda nagyjából 5,5 hónap alatt jutott el a szomszédos égitestre, a kilövéstől a leszállásig számolva.

    Részletek:

    Itt fontos megemlíteni a Hohmann-pályát, mint pályamódosító görbét. Ennek lényege nagyjából úgy néz ki, hogy a Marsra történő utazás során, a Föld körüli pályát a rakétahajtóművek megfelelő ideig történő begyújtásával elhagyjuk. Ezzel a kör alakú pályát egy elliptikus pályára cseréljük le. A gyorsításnak olyan mértékűnek kell lennie, hogy a Nap körüli marsi pályát elérjük. Amikor ez megtörténik, a rakétahajtóműveket ismét be kell gyújtani annak érdekében, hogy az ellipszis alakú pályáról rá álljunk a Mars keringési pályájára. És itt jön képbe a megfelelő indítási ablak, ugyanis a Földről akkor kell elindulni, amikor az ellipszis pálya csúcspontjára érkezve, a Mars még éppen nem érkezett meg. Fontos tudni, hogy a Mars majdnem kétszer annyi idő alatt kerüli meg a Napot, mint a Föld. Tehát a Mars a külső pályán lassabban halad. Ez azt jelenti, hogy ha kicsúszunk az indítási ablakból, akkor a Mars pályáját elérve, a vörös bolygó már mögöttünk lesz. Így gyakorlatilag hónapokig keringhetünk a Nap körül, miközben nem kevés energiát ölünk bele a lassításba, és számos pályakorrekcióba, hogy a Mars utolérjen minket. Korábbi indulás esetén pedig pont azért kell a több energia, hogy hamarabb elérjük a Marsot, majd a nagy sebesség miatt, a találkozóhoz le is kell lassítani.

    Kapcsolatfelvétel a Földdel: a hardver környezet kialakítása

    Miután főhősünk realizálta, hogy egyedül maradt a Mars felszínén, és a következő küldetés csak négy évvel később érkezik, elkezd azon töprengeni, hogyan biztosítsa maga számára az életben maradáshoz szükséges feltételeket. Ezeket a fentiekben már ismertettem. Már csak kapcsolatba kellene lépnie a Földdel. Ekkor születik meg Mark fejében az ötlet, hogy felkutassa a Pathfindert, mely a marsjáróval immáron elérhető távolságba került. A Pathfinder űrszonda megtalálása kommunikációs csatornát nyit a NASA felé. Csupán annyit kell tennie, hogy kiássa, és a vélhetően elhasználódott, tönkrement akkumulátor kazettát kicserélje. A Pathfinder űrszonda a Discovery program második küldetésében vett részt 1997-ben. Feladata a légkör elemzése volt, továbbá magával vitte a kis Sojourner rovert is, mely a kövek vizsgálatát végezte. Felmerül a kérdés, hogy a főhős honnan ért ilyen sok mindenhez, hiszen botanikus. Az igazság az, hogy egy Marsra juttatott embernek nagyon sok mindenhez kell értenie. Kicsiben például egy weblap készítő szakembernek nem árt ha a kódolás mellett vannak grafikai ismeretei is. Egy katonai repülőgép pilótájának sem csak a gépet kell tudnia vezetni, de ahhoz is kell értenie, hogyan éljen túl egy ellenséges területre történő lezuhanást. Lényeg, hogy ha az ember egy adott szakterületen dolgozik, akkor a rá váró kihívásokra gyorsan tudjon reagálni. Feltételezhető, hogy a Marsra utazó személyek egy nagyjából 15-25 éves korban lévő, nagy létszámú, de már erősen megszűrt halmazból kerülnek ki, akiknek a kiválasztásuk után még akár 15-20 évnyi tanuláson és fejlődésen kell átesniük, hogy alkalmassá váljanak egy marsi kutató misszióban betölthető szerepre. A NASA jelenleg már futtat ilyen programot.

    Magyar vonatkozás a filmben:

    A film 48. percének 18. másodpercében, a háttérben lévő polcon egy Rubik-kocka látható.

    Kapcsolatfelvétel a Földdel: a megvalósítás

    Szóval megvan a Pathfinder, és sikerül működésre bírni. Eközben a NASA a műholdak segítségével felfedezte, hogy az űrhajós életben van, és mozgását folyamatosan követte. Mivel ennek művelete prioritásba került, ezért a NASA a Mars körül keringő műholdak pályáját úgy módosította, hogy az eredeti 41 óránként lezajló 17 perces szünet helyett legfeljebb 4 percig tartson egy szünet. Miután a Földön kiderült, hogy Mark a Pathfinder segítségével szeretné felvenni a kapcsolatot a Földdel, a NASA egyből a JPL-t hívta segítségül. A JPL a Jet Propulsion Laboratory, amit Kármán Tódor alapított, és ő volt az első igazgatója is. Rakétafejlesztő központnak indult, ám napjainkban fő területe a bolygókutató eszközök fejlesztése, és üzemeltetése, így a feljuttatott űreszközök kapcsolati csatornájának végpontján is ők vannak. Az ő termékük többek között a Pathfinder is. A Pathfinder orbitális egység nélkül, közvetlenül kommunikál a Földdel. Ez látható is a filmben akkor, amikor Mark az irányított antennát a Föld felé fordítja. Időközben a Földön a JPL kihozza a raktárból a Pathfinder másolatát, majd a két eszközt szinkronizálja egymással. A marsi szonda üzembe helyezése lehetővé teszi Mark számára, hogy elküldje magáról az első fotót, maga elé tartva egy táblára írt kérdéssel:

    „Veszitek az adást?”

    A fentiekben már említettem, hogy a Föld-Mars távolság miatt az adatok továbbítása sok időt vesz igénybe, azonban nagyobb probléma, hogy a kamera segítségével Mark ugyan tud hosszú szöveges üzeneteket, kérdéseket fotózott formában továbbítani a Földre, azonban a Pathfinder nem képes arra, hogy a Földről érkezett válaszokat bármilyen formában is megjelenítse. Viszont a JPL képes arra, hogy távolról irányítsa az űrszonda kameráját. Ezt használja ki Mark azzal, hogy első üzenetében egy eldöntendő kérdést tesz fel. Egymástól távol, egy IGEN és egy NEM táblát cövekel le a talajba, ő pedig beállt közéjük, egy harmadik táblával a kezében, amin a kérdés szerepel. A JPL pedig válaszként a kamera fejét a megfelelő tábla irányába fordítja.

    Mentőexpedíció

    A filmből sajnos nem derül ki, hogy a fotót a Pathfinder mi alapján készítette el pont abban a szögben. A fotó valószínűleg automatikusan készült. Ez azt is feltételezi, hogy a Pathfinder folyamatosan készítette a fotókat, és küldte azokat a JPL részére. Ami viszont biztos, hogy az űrszonda rövid idő alatt több fotót is készít, ezeket küldi el a megfelelő paraméterekkel a JPL-nek, a földi vevőegység pedig a képeket panorámaképként összeillesztve jeleníti meg.

    Kapcsolatfelvétel a Földdel: „hexadeci segít a bajban”

    A kapcsolatfelvétel sikeressége után a kommunikáció fejlesztése a cél.  Ezen nyilván mind a két oldalon dolgoznak, ám első körben főhősünk ötlete lendít egyet az ügyön. Az eldöntendő kérdésekkel a JPL nem tud megfelelő válaszokat adni, hiszen korlátot szab, hogy csak a kamera fejének mozgatásával tudnak üzenetet küldeni. Mark kitalálja, hogy a JPL-nek hexadecimális ASCII kódrendszerben kell válaszolnia a kérdésekre. Ez azt jelenti, hogy a Pathfindert az angol ábécé 26 betűjét, illetve további 10 számjegyet, esetleg írásjeleket tartalmazó táblák helyett csupán 16 táblával kell körbe rakni. Tíz tábla a számjegyeknek, további hat tábla pedig a betűknek A-tól F-ig. Ezzel, valamint az ASCII kódtábla segítségével két hexadecimális helyiértéken 256-féle szimbólum jeleníthető meg, úgy mint az angol ábécé kis- és nagybetűi, számok, írásjelek, illetve jelen esetben kevésbé fontos vezérlőkódok. Így minimális mennyiségű tábla kihelyezésével megfelelő kommunikáció érhető el, hiszen ha túl sok tábla kerülne kihelyezésre, úgy nehezebben lehetne észrevenni, hogy az űrszonda forgatható kamerája melyik tábla irányába néz.

    Mentőexpedíció

    A film ugyan nem mutatja, de feltételezhető, hogy a Pathfinder valamilyen időközönként, talán egy változáskövető/szinkronizáló algoritmus segítségével folyamatosan fotókat küld a JPL részére. Az ottani mérnökök a képek alapján így hamar rájönnek, hogy Mark milyen módszerrel szeretné fejleszteni a kommunikációt. Ennek révén a JPL csapata is ugyanazokkal a táblákkal bástyázza körbe az űrszonda másolatát, majd ennek elkészülte után azonnal el is küldik az első üzenetüket.

    Mentőexpedíció

    Filmbeli baki?

    A film 52. percének 12. másodpercében, amikor Mark az első Földről érkezett ASCII üzenetet dekódolja papíron, az ASCII kódok második sorának végén egy kérdőjel látható. A valóságban ott nem kérdőjelnek kellene lennie, hanem 3F-nek. A kérdőjelnek pedig a 3F alatt kellene lennie, ugyanis a „?” ASCII kódja 3F. Az megint egy másik kérdés, hogy amikor a Pathfindert körbe rakja táblákkal, akkor az egyik táblán van egy kérdőjel, illetve a JPL központjában a pizzás dobozra felvázolt terv is számol egy kérdőjel karakterrel. Persze innen nézve nincsen szó bakiról, ám kérdés, hogy vajon miért kellett azt a plusz kérdőjel táblát elhelyezni.

    Mentőexpedíció

    Kapcsolatfelvétel a Földdel: chateljünk a Föld és a Mars között

    A kommunikáció újabb szintre emelésének egyik momentuma, amikor a NASA által megadott módon, a marsjáró operációs rendszerét úgy frissítik, hogy az kommunikálni tudjon a Pathfinderrel. Ennek egyik érdekessége, hogy a marsjárót a NASA fejlesztette, a Pathfindert viszont a JPL. Ebből is látható, hogy a szabványok használata mennyire megkönnyíti a rendszerek közti átjárhatóságot, hiszen főhősünknek csupán egy rövid kóddal kell módosítania a marsjáró operációs rendszerét, így az használni tudja az űrszonda rádiófrekvenciáját. (Más kérdés, hogy egy ilyen minialkalmazás miért nincs eleve beépítve a marsjáróba?) Továbbá a rendszer valószínűleg egy egyedi fejlesztésű Linux alapú operációs rendszer, mely úgy került megírásra, hogy az operációs rendszer a marsjáróból is módosítható legyen. További érdekesség, hogy a szoftver módosítása a film 54. percében mutatott képek szerint hexadecimális gépi kóddal történik. Tulajdonképpen a módszer lehetséges, azonban a NASA-nak – a JPL-en át – a hagyományos ASCII kódtáblázat segítségével kell ezt lekommunikálnia, ami egy meglehetősen hosszadalmas folyamat lehet.

    Mentőexpedíció

    Érdekesség még az is, hogy miközben Mark módosítja az operációs rendszert, az életben maradásához szükséges levegőt nem a marsjáróból vételezi, hanem a szkafanderéből. Űrhajós sisakja végig a fején van. Feltételezhető, hogy az operációs rendszer módosítása után egy önellenőrző tesztet is futtatni kell. A rendszer újraindítása a jövőben már nem biztos, hogy feltétel lenne.

    Filmbeli baki?

    A történetben az hangzik el, hogy az operációs rendszer módosítása után a NASA ráállíthatja a marsjárót a Pathfinder rádiófrekcenciájára. Ez nyilván nem lehetséges, hiszen ahhoz, hogy Mark kommunikálni tudjon a marsjáró segítségével a Földdel, előbb szükség van az űrszonda – mint adattovábbító eszköz – közbeiktatására. Vagyis a NASA nem tud kommunikálni közvetlenül a marsjáróval, így közvetlenül nem is tud segíteni az űrszondával történő összeköttetés létrehozásában. Ellenkező esetben a kapcsolat már korábban élt volna, valamint nem a JPL folytatna kommunikációt az űrhajóssal, hanem a NASA.

    A kapcsolat létrejötte után, immáron egy chat felületen zajlik a beszélgetés a JPL és Mark között. Feltételezhető, hogy a marsjáró már eleve rendelkezett valami szöveges üzenetek fogadására és küldésére alkalmas programmal. Innentől már sokkal könnyebb a kommunikáció, bár még mindig nem annyira, mint ahogyan az a filmben látszik. Ahogy nézzük az eseményeket, úgy érezzük, mintha csak a Földön chatelnének egymással. Azonban a valóság még mindig az, hogy egy kérdés-válasz kör 32 percig tart. Tehát, amikor Vincent megkérdezi a JPL-t, hogy a társai hogyan fogadták a hírt életben maradásáról, az üzenet elküldése után legalább 32 percet vár a válaszra. Mivel válasz nem érkezett, ezért egy újabb üzenetet küld el korábbi érdeklődését illetően, melynek a válaszára ismét legalább 32 percet vár. Gondoljunk csak bele, hogy ez mennyire idegtépő lehet, továbbá arról se feledkezzünk meg, hogy még itt a Földön zajló kommunikáció esetében is mennyire egyszerű egymás „szavába” vágni, hát még ilyen késleltetéssel rendelkező üzenetváltás esetén.

    Az ellátmány-küldetés

    Az első beszélgetések során Mark megtudja, hogy a NASA egy ellátmány-küldetést állít neki össze. Ez annyit jelent, hogy a JPL rohamtempóban megtervez és megépít egy teherszállításra alkalmas űrszondát, melyet eljuttatnak a Marsra. Érdekesség, hogy ekkor a bolygók rossz állása miatt az utazás megtételére kilenc hónap áll rendelkezésre.

    Érthetetlen?

    Bár az ellátmány-küldetés elkészítését az ideális hat hónap helyett a NASA csupán három hónapra rövidítette, mégsem készült egy probléma esetén azonnal indítható tartalékpéldány. Abban az esetben, amikor egy űrhajós egy idegen bolygó felszínén ragad, és ellátmány-küldetést kell számára eljuttatni, erősen kétséges, hogy a valóságban is csak egyetlen hajóval számolnának. Sokkal valószínűbb, hogy más űrügynökségek segítségét is igénybe vennék, és szükség esetére építenének még egy, vagy kettő redundáns példányt. Annál is inkább mert hasonló eset nem egyszer már a valóságban is megtörtént. Amikor a Nemzetközi Űrállomásra (ISS) indult ellátmány-küldetés, az néhány esetben kudarcba fulladt (2014: Orb-3, 2015: Progressz M–27M,  SpaceX CRS-7). Ez azonban nem jelentett veszélyt az űrben tartózkodók életére, mert minden esetben rendelkeznek annyi tartalék élelmiszerrel és más szükséges erőforrásokkal, hogy egy ilyen balul elsült küldetés ne okozzon közvetlen életveszélyt.

    A jövő: kvantumkommunikáció

    A kommunikáció sebességének felgyorsításán talán épp a modern fizika segíthet a jövőben. A részecskék kvantum-összefonódásának jelensége meglehetősen biztató eredményekkel kecsegtet.

    További részletek:

    2017 nyarán kínai kutatóknak sikerült adatot továbbítani 1200 km-es távolságba késleltetési idő nélkül. Ez gyakorlatilag a sci-fi történetekben fellelhető teleportálásnak feleltethető meg. Amennyiben ez a mindennapi gyakorlatban is megvalósulna, az szinte olyan lenne az emberiség számára, mint a tűz birtokba vétele, a fémeszközök használatának kezdete, a kerék feltalálása vagy a csavart kötél alkalmazása. Az információ késleltetés nélküli átvitelénél gyorsabb megoldás gyakorlatilag nem létezhet (leszámítva az időben visszaküldött információt, de ez már sokkal mélyebben az elméleti fizika asztala).

    A kvantumkommunikáció a kvantum-összefonódás alapjain nyugszik. Ez annyit jelent, hogy egy részecskepár – például foton vagy neutron – két részecskéje között olyan jellegű kapcsolat van, hogy az egyik állapotának megváltozása akkor is hatással van a párjára, amennyiben közöttük több millió fényévnyi távolság van. Tehát ha a részecskepárokat szétválasztjuk egymástól, és két különböző helyre visszük őket, a közöttük fennálló kapcsolat ebben az esetben sem szakad meg. Amennyiben az egyik részecskében változást idézünk elő, arra a másik részecske – függetlenül a távolságtól – azonnal reagál, így az információ átadás azonnali, szám szerint 0 ms.

    2019 szeptemberében a Google és a NASA kutatóinak sikerült egy olyan kvantumszámítógépet megépíteni, amely a betáplált feladatot 3 és fél perc alatt végezte el, szemben a mai hagyományos számítógépek tízezer évig tartó számítási idejével. Sajnos a hírt érdemes fenntartással kezelni, mert a NASA webhelyén közzétett cikket végül törölték.

    A blog bejegyzés írása közben a hangulatról az AMAZING SPACE TRAVELING ~ Ambient Music ~ Background Music gondoskodott.

    A blog bejegyzés képei az említett Mentőexpedíció (2015) című filmből származnak.