» »

Kaj poganja rover Perseverance?

Kaj poganja rover Perseverance?

Slo-Tech - Povedali smo že, da v majhnem helikopterju Ingenuity, ki ga je rover Perseverance vzel s seboj na Marsu, tiktaka čisto običajen procesor Snapdragon 801. Danes pa poglejmo, kaj najdemo v roverju. Na prvi pogled ga poganja uboren procesor, ki tiktaka s 110-200 MHz. Gre za procesor RAD750 britanskega podjetja BAE Systems, ki je po arhitekturi združljiv s PowerPC 750.

Pogled na specifikacije kaže, da so imeli razvijalci v mislih vse kaj drugega kakor največjo hitrost. Zgrajen je v ogromni 250-nm tehnologiji, sam čip pa ima 10,4 milijona tranzistorjev in meri 130 mm2. Njegove glavne odlike pa so odpornost na sevanje - do 10.000 grejev - širok temperaturni razpon delovanja od -55 do 125 °C in nizka poraba energije (5 W). Celoten sistem skupaj s ploščo je nekoliko bolj občutljiv (do 1000 grejev in 70 °C), a še vedno zelo trpežen. Zaradi teh lastnosti je RAD750 priljubljen čip za vesoljske misije, denimo Deep Impact, teleskop Kepler ali rover Curiosity. Proizvajalec trdi, da ga uporablja več kot 250 vesoljskih plovil ali strojev. Mimogrede, tak čip stane 200.000 dolarjev, v Perseverance pa sta dva glavna (redundanca je pomembna reč), tretji pa krmili Vision Compute Element (VCE). Pričakujejo, da se "modri zaslon" pojavi enkrat na 15 let, takrat pa bo težavo rešil drugi čip, ki bo prvega tudi resetiral. Operacijski sistem, ki krmili vse skupaj, pa se imenuje VxWorks. Gre za vgradni (embedded) sistem, ki na Zemlji teče v več kot poldrugi milijardi naprav. Razvilo ga je podjetje Wind River Systems.

Vsem vesoljskih misijam so skupni počasnejši, a preizkušeni in posebej utrjeni procesorji. V roverju Sojourner na Pathfinderju (1997) smo imeli Intelov čip Intel 80C85 s frekvenco 2 MHz in 512 kB pomnilnika, pa je bilo dovolj. Mars Exploration Rover (2004) je imel IBM RAD6000 z 20 MHz in 128 MB pomnilnika, Mars Science Laboratory (2011) pa že BAE Systems RAD750 z 200 MHz. Tako je tudi pri Perseverance, kjer procesorju družbo dela 256 MB pomnilnika in 2 GB prostora za shranjevanje podatkov.

61 komentarjev

«
1
2

user1618 ::

Stavim, da je v tej misiji tudi slovenski prispevek (WindRiver -> Sani Rus)
"If we were supposed to talk more than listen
we would have been given two mouths and one ear"
- Mark Twain

opeter ::

... Mars Science Laboratory (2011) pa že BAE Systems RAD750 z 200 MHz. Tako je tudi pri Perserveranceu, kjer procesorju družbo dela 256 MB pomnilnika in 2 GB prostora za shranjevanje podatkov.

Torej gre dejansko za vsaj 10 let staro (in preizkušeno) tehnologijo.
Hrabri mišek (od 2015 nova serija!) -> http://tinyurl.com/na7r54l
18. november 2011 - Umrl je Mark Hall, "oče" Hrabrega miška
RTVSLO: http://tinyurl.com/74r9n7j

Okapi ::

Rover v resnici poganja jedrski termoelektrični generator. Precej bolj zanimivo za novico kot en čip.


Multi-mission radioisotope thermoelectric generator @ Wikipedia

Zgodovina sprememb…

  • spremenil: Okapi ()

bobby ::

opeter je izjavil:

... Mars Science Laboratory (2011) pa že BAE Systems RAD750 z 200 MHz. Tako je tudi pri Perserveranceu, kjer procesorju družbo dela 256 MB pomnilnika in 2 GB prostora za shranjevanje podatkov.

Torej gre dejansko za vsaj 10 let staro (in preizkušeno) tehnologijo.


Najmanj 20let,... ko tech začnejo uporabljat v space zadevah, je dejansko že najmanj 10 let od tega, ko je bila skupaj spackana, potem pa testiranje in popravljanje in šele potem lansiranje nad naše glave,.
Ce eksplicitno ne odgovorim osebam PNG ali PR,..I dont care about your opinion.

pegasus ::

VxWorks ... še za curiosity sem bral, da uporabljajo res le manjši del tega OSa. Recimo vse memory alokacije v rover kodi so statične in njihova velikost vnaprej preračunana. Dinamičnih memory alokacij se ne grejo, ker so preveč nepredvidljive in zato neprimerne za mission critical okolje kot je rover na marsu. Podobno kot npr. na praktično vseh switchih in routerjih danes teče linux, a le za process management, network stack je proprietary.
Verjetno se še spomnite zgodbe, ko je nekaj tednov po pristanku na marsu curiositiyju zaribal flash in so ga morali na remote reformatirati? Greatest hack ever ;)

Mike_Rotch ::

Se pravi, rover je praktično iMac G3 :)

googleg1 ::

pegasus je izjavil:

Podobno kot npr. na praktično vseh switchih in routerjih danes teče linux, a le za process management, network stack je proprietary.
Zelo slaba primerjava. V tem primeru se gre za strojno pospesevanje. Nima to nobene veze z nestabilnostjo Linuxa.

Invictus ::

Okapi je izjavil:

Rover v resnici poganja jedrski termoelektrični generator. Precej bolj zanimivo za novico kot en čip.


Multi-mission radioisotope thermoelectric generator @ Wikipedia

Končno, mogoče bo preživel 50 let kot Voyager...

opeter je izjavil:

... Mars Science Laboratory (2011) pa že BAE Systems RAD750 z 200 MHz. Tako je tudi pri Perserveranceu, kjer procesorju družbo dela 256 MB pomnilnika in 2 GB prostora za shranjevanje podatkov.

Torej gre dejansko za vsaj 10 let staro (in preizkušeno) tehnologijo.

Pa najbrž še military grade zaradi hitrih delcev, ki bi lahko pokvarili pomnilnik.

PowerPC je tukaj precej močan...

pegasus je izjavil:

VxWorks ... še za curiosity sem bral, da uporabljajo res le manjši del tega OSa. Recimo vse memory alokacije v rover kodi so statične in njihova velikost vnaprej preračunana. Dinamičnih memory alokacij se ne grejo, ker so preveč nepredvidljive in zato neprimerne za mission critical okolje kot je rover na marsu. Podobno kot npr. na praktično vseh switchih in routerjih danes teče linux, a le za process management, network stack je proprietary.
Verjetno se še spomnite zgodbe, ko je nekaj tednov po pristanku na marsu curiositiyju zaribal flash in so ga morali na remote reformatirati? Greatest hack ever ;)

VxWorks sploh ni slab. En tak Unix like embedded OS. Delal tam 20 let nazaj na njem.

In ko ga rabiš, pač prevedeš tisto kar je uporabno. Fajn zadeva. Mal pogrešam prčkanje po teh zadevah.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Zgodovina sprememb…

  • spremenil: Invictus ()

destroyer2k ::

Okapi je izjavil:

Rover v resnici poganja jedrski termoelektrični generator. Precej bolj zanimivo za novico kot en čip.


Multi-mission radioisotope thermoelectric generator @ Wikipedia


To ni nova stvar za rover, ker je že curiosity to uporabljal. Pa da ne bo kdo mislil da zaradi tega lahko rover deluje dolgo časa (z vsemi inštrumenti), saj proizvedene energije se majnša tekom let zaradi polovilni čas plutonija.

Okapi ::

Razpolovna doba je malo manj kot 90 let, tako da še ne bo obnemogel prav hitro.;)

Go-ahead ::

Nekaj podobnega je v Voyagerjih. Nas več ne bo, ko bo še brskal po Marsu.

destroyer2k ::

Okapi je izjavil:

Razpolovna doba je malo manj kot 90 let, tako da še ne bo obnemogel prav hitro.;)


Have a long enough half-life (at least 15 to 100 years), so that it can generate for many years sufficient heat for transformation into electricity.

https://rps.nasa.gov/about-rps/about-pl...

In treba upoštevati da je že nekaj časa star plutonij. Recimo voyager bo leta 2025 nehal proizvajati zadostne količine energije za inštrumente ki so še aktivni. Isto bo z rover kjer bodo tekom let morali izklapljati inštrumente, zaradi majn proizvedene energije.

Zgodovina sprememb…

pegasus ::

Evo, sem našel tole pisanje o curiosity softveru:
https://jlouisramblings.blogspot.com/20...
Moderni programerji se lahko malo zamislite.

111111111111 ::

Okapi je izjavil:

Rover v resnici poganja jedrski termoelektrični generator. Precej bolj zanimivo za novico kot en čip.


Multi-mission radioisotope thermoelectric generator @ Wikipedia

Tudi jaz sem šel brati članek z namenom, kakšen pogon ima za premikanje in sem nasedel na temo o čipih. :D
P.S: Hvala za sliko in link.
Če prisloniš uho na vroč šporhet, lahko zavohaš kak si fuknjen.

Zgodovina sprememb…

Randomness ::

Moderni programerji se lahko malo zamislite.
Ne vem, koliko ima to veze z modernimi programerji. Vse to, kar je opisano, so čisto standardne prakse pri razvoju sistemov, ki morajo biti zanesljivi. Določeni ključni deli kode se pogosto celo formalno preverijo, da so pravilni. Primer takega kosa kode je npr. seL4, ki je v celoti formalno preverjen. Seveda pa je vse to povezano z visokimi stroški, ki pri večini običajnega programja niso opravičeni.

pegasus ::

Drži. A zanesljivost je ponavadi nekje na dnu prioritet modernih programerjev ... na to ciljam. In cloud ter container mentaliteta tak odnos samo še krepi.

Invictus ::

pegasus je izjavil:

Drži. A zanesljivost je ponavadi nekje na dnu prioritet modernih programerjev ... na to ciljam. In cloud ter container mentaliteta tak odnos samo še krepi.

Ja, to definitivno drži...

Na hitro spacane rešitve z dockerjem (po možnosti snetim z neta) in nekim cloudom, potem pa milijon support ticketov, ker nihče ne ve kaj je narobe. Dokumentacija je pa tako ali tako samo nekaj nadležnega...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

vostok_1 ::

Zato pa pravim, da se Linuxu slabo piše.

Online prihajajo mladi programerji, kjer jim je doslednost sekundarnega pomena. Pomembni so jim hitri rezultati in good enough.

Ko bodo delali peti rover bo težava, ker programerjev s tako logiko in razmišljanjem ne bo več, oz. bo trening težavnejši.
Nadomestili bodo vrjetno s kvantiteto in ne kvaliteto.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

Zgodovina sprememb…

  • spremenil: vostok_1 ()

Randomness ::

Če z modernimi misliš slabimi (ali povprečnimi), potem se strinjam. Ampak ker je programerjev in programja vedno več, je trenutno (in prihodnje) stanje na tem področju kar se mene tiče več ali manj pričakovano. Včasih pač ni mogel biti vsak programer...

vostok_1 ::

Te razumem, ampak se ne strinjam s tvojo logiko.

Včasih ko ni bil vsak lahko __(insert profession)__, so posamezniki, ki so bili....bili izjemno specializirani, vešči in kompetentni. Inovacij je bilo manj in manj bogate, a bolj zanesljive in dosledne.

Case in point je recimo SpaceX.
Na svojemu dragonu ni inštalirala RAD CPUja, ampak je raje spacala skupaj 3 off-the shelf PCje, ki furajo v paralelki in upala, da vsaj eden od teh preživi dovolj dolgo za misijo.

Za recimo rover to ne bi prišlo v poštev, ker so resursi izredno limitirani.


Nasploh opažam, da z modernimi generacijami se celotna znanost premika iz elegantnih in jedrnatih metod, na brute force numerične.
Če so včasih fiziki iskali elegantne enačbe, danes zmečemo tono surovih podatkov v stroj in upamo, da bo najdlo kaj uporabnega.

Gre za celoten zeitgeist znanosti, ki ga ne moreš kar tako spremeniti čez noč za en projekt.

V idiokraciji v katero drvimo...povsem pričakujem, da bodo future vesoljske odprave imele kar copy-pejstane rešitve iz git huba.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

Zgodovina sprememb…

  • spremenil: vostok_1 ()

damirj79 ::

Bruteforce metode (programiranja) lahko komot uporabiš, ko imaš na voljo resursov ko dreka. Ampak v resnici resursov ni ko dreka nikjer in prej ali slej trčiš v limito sposobnosti trenutnega HWja. Razlika med boljši in slabšim programerjem je, da boljši to razume, slab pa pač ne. Zelo dobrih programerjev, ki znajo iztisnit zadnje promile hitrosti in/ali procent več pri stabilnosti, pa skoraj ni več. So minili časo, ko je bilo treba spackat celo igro v 16kB ali pa 64kB ali pa bohnedej v kakšen atmel 8051 z 1kB :D Zdaj niti nek šašav program z manj kot 10MB sploh ne obstaja.

vostok_1 ::

SpaceX uses an Actor-Judge system to provide triple redundancy to its rockets and spacecraft. The Falcon 9 has 3 dual core x86 processors running an instance of linux on each core. The flight software is written in C/C++ and runs in the x86 environment. For each calculation/decision, the "flight string" compares the results from both cores. If there is a inconsistency, the string is bad and doesn't send any commands. If both cores return the same response, the string sends the command to the various microcontrollers on the rocket that control things like the engines and grid fins.


https://space.stackexchange.com/questio...

Quantity over quality.

damirj79 je izjavil:

Bruteforce metode (programiranja) lahko komot uporabiš, ko imaš na voljo resursov ko dreka. Ampak v resnici resursov ni ko dreka nikjer in prej ali slej trčiš v limito sposobnosti trenutnega HWja. Razlika med boljši in slabšim programerjem je, da boljši to razume, slab pa pač ne. Zelo dobrih programerjev, ki znajo iztisnit zadnje promile hitrosti in/ali procent več pri stabilnosti, pa skoraj ni več. So minili časo, ko je bilo treba spackat celo igro v 16kB ali pa 64kB ali pa bohnedej v kakšen atmel 8051 z 1kB :D Zdaj niti nek šašav program z manj kot 10MB sploh ne obstaja.


Exactly.

Je pa te moderne programerje rešila tehnologija.
S tem, ko smo razvili boljše baterije, smo lahko začeli uporalbjati 3 standardne proce namesto enega dobrega.

Prej ali slej bomo naleteli na fizični limit in bo treba malo boljše začeti optimizirati.
Case in point...stanje modernih procesorjev.
Moorov zakon se zaključuje in performance dobivamo preko optimizacije in ne več brute-forcea.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

Zgodovina sprememb…

  • spremenil: vostok_1 ()

vostok_1 ::

Vrjemite ali ne...kvaliteta programerjev ni toliko odvisna od stanja tehnologije...ampak funny enough...stanja psihe.

Včasih ko ni bilo tiktoka in instant gratifikacije...nihče se ni počutil "missing out" in je lahko cele dneve zabil za rešitev nekega problema.
Danes ko se je življenje pohitrilo...tak način reševanja težav ni več intuitiven mladim.

Kot rečeno...gre za zeitgeist in ne zgolj materialno stanje.

S prihodnjimi vesoljskimi plovili bomo montirali dva RTGja za 3 standardne procesorje...
...zato ker bomo vrjetno imeli večje rakete na voljo, ki bodo lahko to transportirale tja.

Ampak kot rečeno...prej ali slej se bomo zaleteli v fizikalni zid.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

Zgodovina sprememb…

  • spremenil: vostok_1 ()

destroyer2k ::

vostok_1

Ne vem v katerem svetu si ti gledal za moore law in če sploh veš kaj pomeni.

vostok_1 ::

Yeah, but not for much longer. Vsaj ne na siliciju.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

vostok_1 ::

Če zanemarič rdeč trendline in plotaš polinomni, potem že deluje nekoliko bolj položno, če že ne rahlo napoveduje negativno.
Sicer pa nisem prepričan, oz. precej siguren sem, da razpolovitev velikosti tranzistorja ne pomeni nujno prepolovitev power consumptiona.
Prebrisana arhitektura pa pri isti velikosti proizvodnje pomeni zagotovo manjšo porabo ob istem performanceu. aka. ARM
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

Zgodovina sprememb…

  • spremenil: vostok_1 ()

damirj79 ::

vostok_1 je izjavil:

Yeah, but not for much longer. Vsaj ne na siliciju.


Drugega pa nimamo primernega. Silicij in hkrati z EUV imamo limito na 2nm mogoče malo manj, potem se pa neha...

misek ::

user1618 je izjavil:

Stavim, da je v tej misiji tudi slovenski prispevek (WindRiver -> Sani Rus)
Povej kaj več o njemu.

vostok_1 ::

damirj79 je izjavil:

vostok_1 je izjavil:

Yeah, but not for much longer. Vsaj ne na siliciju.


Drugega pa nimamo primernega. Silicij in hkrati z EUV imamo limito na 2nm mogoče malo manj, potem se pa neha...






Že pred leti sem začel dvomiti.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

Zgodovina sprememb…

  • spremenil: vostok_1 ()

Randomness ::

Zelo dobrih programerjev, ki znajo iztisnit zadnje promile hitrosti in/ali procent več pri stabilnosti, pa skoraj ni več.
Ne bi se strinjal. Če jih ti ne vidiš/ne poznaš, še ne pomeni, da ne obstajajo. Je pa res, da so v manjšini, kar pa se meni zdi čisto normalno.

vostok_1 ::

Nekoč so bili v večini. Čeprav manjšina.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

nekikr ::

Ne rabiš biti pokroviteljski. Včasih, davno tega, v drugem svetu, so bili dobri, ker so samo taki bili programerji. Danes je to lahko vsak. In tako je tudi prav. Nobene potrebe ni, da bi nek programčič na sodobnem PCju ustvarjal vrhunski programer ali ekipa njih, zato, da bo namesto 60MB zasedel 20MB prostora na disku in se odprl pol nanosekunde hitreje. Prava reč, če Chrome požre 5GB rama, saj ga je še 10gb najmanj zadaj. Bi bilo bolje, če bi bil optimiziran do zadnjega bita? Seveda, ampak ti ne bi plačal za to poštene cene. NASA pa mora.

vostok_1 ::

nekikr je izjavil:

Ne rabiš biti pokroviteljski. Včasih, davno tega, v drugem svetu, so bili dobri, ker so samo taki bili programerji. Danes je to lahko vsak. In tako je tudi prav. Nobene potrebe ni, da bi nek programčič na sodobnem PCju ustvarjal vrhunski programer ali ekipa njih, zato, da bo namesto 60MB zasedel 20MB prostora na disku in se odprl pol nanosekunde hitreje. Prava reč, če Chrome požre 5GB rama, saj ga je še 10gb najmanj zadaj. Bi bilo bolje, če bi bil optimiziran do zadnjega bita? Seveda, ampak ti ne bi plačal za to poštene cene. NASA pa mora.



Poboldan ključen del.

Enkrat ko delaš vse na nož, mora biti tudi koda na nož.
Problem je ker moderne generacije smo prestrašili za uporabo ostrih nožev in jim dali papirnate in zaobljene.
There will be chutes!
It came from the lab.
Like tears in rain. Time to die. v_1 2012-21

Zimonem ::

10 let stara reč razvita za Curiosity. Očitno dela. Pa še niso sploh ubadali z dizajnom nove.

vostok_1 je izjavil:

nekikr je izjavil:

Ne rabiš biti pokroviteljski. Včasih, davno tega, v drugem svetu, so bili dobri, ker so samo taki bili programerji. Danes je to lahko vsak. In tako je tudi prav. Nobene potrebe ni, da bi nek programčič na sodobnem PCju ustvarjal vrhunski programer ali ekipa njih, zato, da bo namesto 60MB zasedel 20MB prostora na disku in se odprl pol nanosekunde hitreje. Prava reč, če Chrome požre 5GB rama, saj ga je še 10gb najmanj zadaj. Bi bilo bolje, če bi bil optimiziran do zadnjega bita? Seveda, ampak ti ne bi plačal za to poštene cene. NASA pa mora.



Poboldan ključen del.

Enkrat ko delaš vse na nož, mora biti tudi koda na nož.
Problem je ker moderne generacije smo prestrašili za uporabo ostrih nožev in jim dali papirnate in zaobljene.

Ne bluzi, danes so orodja za optimizacijo in verifikacijo svetlobna leta pred tistimi v "dobrih starih časih". In to z razlogom!(tudi pradavni programerji so ga radi kje posrali)

Zgodovina sprememb…

  • spremenilo: Zimonem ()

djabi ::

Vedno so bile napake ...
The 10 Worst Programming Mistakes in History
INTERESTING ENGINEERING: When Bad Programming Turns Deadly

BigWhale ::

pegasus je izjavil:

Drži. A zanesljivost je ponavadi nekje na dnu prioritet modernih programerjev ... na to ciljam. In cloud ter container mentaliteta tak odnos samo še krepi.


Al pa ce bi vsi skupaj nehal kr tko mal posplosevat? Sploh s taksnimi off-topic iz riti potegnjenimi ranti. Eno je programiranje weba, drugo je programiranje mission critical stvari.

Curiosity in Perseverance koda je narjena tko, da so posamezni sklopi svoji kontejnerji, ki si med seboj posiljajo sporocila. Evo ti kontejner mentaliteto ...

BigWhale ::

vostok_1 je izjavil:

Nekoč so bili v večini. Čeprav manjšina.


Ne niso bli. Nehajte nakladat vsi po vrsti.

Fuck, kot da bi vsi skupaj kolektivno pozabili na horde clipperasev, ki so pisali klobasaste glavne knjige in saldakonte, ki jih na koncu skupaj z Netware driverjem za mrezno kartico nisi vec mogel pognati s 640kB RAMa in je pol programer mojstrsko instaliral spiratiziran Automenu(tm) zato, da so v pisarnah izbiral a bodo delal z mrezo al z glavno knjigo. Extended rama ni znal noben ponucat, ker je blo pretezko in je blo treba delat s heap alokacijo, protected mode v DOSu je bla pa itak znanstvena fantastika.

Nehajte z bebavim romantiziranjem in nostalgijo, ker takrat smo mel tud taksne, ki so takoj hitel razlagat kako si vcasih na C64 lahko naredil fuckload stvari in tega teli crappy programerji dandanes sploh ne znajo vec narest potem pa porabijo 10x vec rama...

vostok_1 je izjavil:

Problem je ker moderne generacije smo prestrašili za uporabo ostrih nožev in jim dali papirnate in zaobljene.


Ne nismo. Pojma nimas in nakladas.

Zgodovina sprememb…

  • spremenil: BigWhale ()

pegasus ::

BigWhale je izjavil:

Eno je programiranje weba, drugo je programiranje mission critical stvari.
Tu je srž problema - ti dve stvari sta identični, čeprav se svet obnaša kot da nista. Ves web, s katerim sem delal, je bil mission critical - folk se je silno sekiral za vsako sekundo izpada. Bolj ko sem jim dopovedoval, da imajo popolnoma napačen pristop, če želijo visoko razpoložljivost, bolj so trmarili v svojo smer in na kup vlekli še več gnoja. In to počnejo še danes. In so srečni, ker jim je norma, da vsake toliko malo trpijo in so pod stresom. Normalni ljudje naredimo nekaj enkrat in kolikor blizu se da "za vedno". To za današnji web ne velja več. Na srečo sem si uspel najti nišo v ITju, kjer je uporabniški vmesnik praktično nespremenjen že pol stoletja in se od te web zmede uspel odmakniti.

Nazaj na temo - kako JPL uporablja C: https://github.com/stanislaw/awesome-sa...
Koliko code review procesov sledi tem idejam?

Zimonem ::

web se je spremenil in razvil v teh letih neverjetno. Celo najbolj uporabljan cross platform GUI je počasi electron.
Ampak backend koda na sebi lahko traja dolgo, zelo dolgo.

C ne bo nikoli varen, ker ni dizajniran za varnost. Vmes se je na področju jezikov naredilo precej. Od testinga do compiletime verifikacije.

Normalni ljudje naredimo nekaj enkrat in kolikor blizu se da "za vedno".

Potresi, huligani, moda, tehnologija...

Sicer pa curiosity koda je za upravljanje roverja eksperimenti imajo spet svoje rešitve. Zadeva se je obnesla zakaj bi menjali.

Zgodovina sprememb…

  • spremenilo: Zimonem ()

pegasus ::

Moj favorit med jeziki je Spark ADA, ker implementira bolj ali manj vsa priporočila z C dokumenta zgoraj na način, da ti aktivno onemogoča pisat kodo na način, ki se ga ne da preverit. Pričakovano obnašanje kode pišeš vanjo v obliki komentarjev, nakar ti prevajalnik pove, kje si mentalno spregledal nedefinirana stanja. Zelo humbling experience za vse "jaz to obvladam" heroje.

BigWhale ::

pegasus je izjavil:

Tu je srž problema - ti dve stvari sta identični, čeprav se svet obnaša kot da nista.


Nista identicni. Imas mission critical stvari in imas stvari, ki niso mission critical. Imas stvari za katere moras v vsakem momentu vedeti kje je kak bit in kaj pocne in moras zgubljati cas, da pises kodo tako, da se tega zaveda in imas stvari pri katerih je to nepotrebno in predstavlja metanje denarja v pec, ce to pocnes.

Posplosevat, da se nekaterih stvari ne pocne, ker jih ljudje ne znajo, vcasih so jih pa znali, je neumnost.

pegasus ::

BigWhale je izjavil:

Imas mission critical stvari in imas stvari, ki niso mission critical.
Drži. Razloži to vsem web ekipam, ki se afnajo, da rabijo najmanj 6 devetk v svoji razpoložljivosti, gradijo jo pa z orodji, ki v najboljšem primeru omogočajo nekje 70% razpoložljivost. Anyway, jaz se tega ne grem več, sizifovo delo. Če ljudje uživajo v trpljenju, jim ne moreš pomagat.

Ghost7 ::

Okapi je izjavil:

Rover v resnici poganja jedrski termoelektrični generator. Precej bolj zanimivo za novico kot en čip.


Multi-mission radioisotope thermoelectric generator @ Wikipedia


Ni res, novica je izredno zanimiva, vsaj meni kot računalničarju je to izredno zanimivo. Zanima me še več o drobovju, zatorej hvala avtorju!

Ampak! Res pa je, da me zanima tudi termoelektrični generator! Torej pričakujem izčrpno in kvalitetno novico s tvoje strani! Se že veselim!

Not A Number ::

@pegasus & BigWhale:
Po mojem mnenju je delež slabih/dobrih programerjev približno enak skozi leta ... ker pa se število programerjev povečuje, se posledično povečuje število slabih (lenih) programerjev. In ti so ponavadi tudi najbolj glasni...

Delam v jeziku, ki se ponavadi giblje okrog 40. mesta po popularnosti, se pa veliko uporablja v proizvodni industriji. Ni ravno space mission critical, je pa mission critical za business. Pred leti sem še trudil pridobivat projekte, ampak ponavadi so posel dobili tisti "bolj glasni" in z vezami. Odkar sem se preusmeril samo v "popravljanje" sw imam dela več kot prej, stresa pa 2x manj. Naročnik ima na podlagi (slabih) izkušenj namreč že zelo točno izoblikovane zahteve, teste in želje, ter seveda najbolj pogoste napake. Dobim source (špageti) kodo, jo analiziram, in spišem na novo v malo bolj modernem frameworku (Actor Model), jo rigorozno testiram in optimiziram za znani hw. Do sedaj še nisem imel servisnega zahtevka.

Tako da, za moj poslovni model je super, da obstajajo slabi, leni, copy/paste programerji ... dober glas seže v deveto vas, slab pa še dlje (in hitreje).

eVro ::

Dobra tema, veliko vzpodbudnih odgovorov. Še se najdemo taki, ki nam ni vseeno, kako je spisano.

Prispevam pa tale odličen članek na temo:

https://www.fastcompany.com/28121/they-...

pegasus ::

Zimonem ::

pegasus je izjavil:

Moj favorit med jeziki je Spark ADA, ker implementira bolj ali manj vsa priporočila z C dokumenta zgoraj na način, da ti aktivno onemogoča pisat kodo na način, ki se ga ne da preverit. Pričakovano obnašanje kode pišeš vanjo v obliki komentarjev, nakar ti prevajalnik pove, kje si mentalno spregledal nedefinirana stanja. Zelo humbling experience za vse "jaz to obvladam" heroje.

Vsak Turing complete sistem ima nedefinirana stanja. FSM je pa izrazno prešibak za splošno rabo.
Sicer je pa firmware v DIJ dronih najbrž vsaj 10x bolj kompleksen kot v telih roverjih.

nekikr ::

Najbrž res. Ker če pade ta drobiž vredna igrača na tla, greš v trgovino in za pest drobiža v dveh sekundah kupiš drugo. Kako pa to izgleda pri tem roverju? Drobiž in dve sekundi?

BigWhale ::

Kompleksnost in robustnost se v nekaterih primerih prej izkljucujeta kot ne. Bolj zakompliciras sistem, manj robusten bo.

Vseeno, je kompleksnost teh roverjev kar visoka in tko cez palec bi rekel, da malenkost bolj kot razni DIY droni. :)
«
1
2


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kaj poganja rover Perseverance? (strani: 1 2 )

Oddelek: Novice / Znanost in tehnologija
6113517 (9369) nekikr
»

Proti Marsu odpotoval najnaprednejši rover doslej

Oddelek: Novice / Znanost in tehnologija
197051 (4180) link_up
»

Curiosity ima težave s svojima računalnikoma

Oddelek: Novice / Znanost in tehnologija
104272 (3129) vostok_1
»

Opportunity pod prahom utihnil

Oddelek: Novice / Znanost in tehnologija
3611604 (7906) bMozart
»

Curiosity poganja stara in preizkušena strojna oprema (strani: 1 2 3 )

Oddelek: Novice / Znanost in tehnologija
13824087 (17327) Lion29

Več podobnih tem