Ceva asemănător programării - o opinie pe timp de căldură

In urmă cu un an de zile mi-a venit ideea să folosesc tehnologia în agricultură. Vedeam senzori, inteligenta artificială, servere, aplicații mobile, etc.

Zis și făcut. Din iarnă m-am apucat să le pun la punct și am crezut că voi da lovitura.
Am ascultat opinii diferite despre partea de agricultură și am inteles ca software-ul și hardware-ul nu sunt de ajuns.

Am început să învăț câte ceva despre agricultură, ca să pot rezolva anumite probleme.
Ulterior am inteles că nu este de ajuns nici asta și a trebuit să învăț botanică/horticultură.

Am fost uimit să descopăr câte similitudini sunt între arhitectura unei aplicații web și arhitectura unei grădini de legume.
Cine are șansa să se ocupe și de grădinărit și este pasionat și de programare le va indragi pe amândouă.

8 Likes

Nu degeaba se spune că a construi o aplicație seamănă mai mult cu grădinăritul decât cu construcția unei clădiri. Tot timpul mai ai de jumulit o buruiană, puțin de săpat acolo, puțin de nivelat dincolo. :slight_smile:

5 Likes

Acasa de unde sunt, stau la curte. Am o gradina destul de mare plina cu tot felul de flori. :slight_smile:

Uneori sunt situatii in care trebuie sa arzi totul si sa o iei de la inceput. Ca la cultivatul graului :smiley:


Cu rabdare, arata ca mai jos. De asemenea este si placut de codat la umbra unui nuc :blush:

7 Likes

si de ce crezi ca e diferit pentru o casa?
pana o duci la gata… mereu mai ai cate ceva de completat pana montezi intr-un final inclusiv corpurile de iluminat.
apoi incepi intretinerea (mai ai cate o usa de reglat, etc) si dezvoltarea (constati ca in folosire e mai comod in felul x decat in cel constrit initial si tot asa).
mi se pare foarte asemanator cu crearea / intretinerea / cresterea unui soft.

spre deosebire de o gradina… intr-un soft nu cresc buruienile singure, ci sunt mai mult semne de uzura sau lipsa de la proiectare / constructie (din nou, mai mult ca la o casa).
si tot in ideea asta… o gradina nu o poti suspenda pentru o perioada si apoi sa reiei constructia / folosirea aprox de unde ai ramas, pe cand cu o casa poti face asta (oarecum).

ps. nu contest gradinaritul, ba incerc sa il incurajez.
doar “softul” meu de programator a simtit nevoia sa faca o analiza pe text :slight_smile:

Sunt asemănări între programare și construcție și grădinărit, dar în feluri diferite.

În construcții totul este mai previzibil, pe când în grădinărit te poti astepta la n situații.

O aplicație sau o platformă online seamănă cu o construcție atunci când se știe clar obiectivul și nu se întrevăd modificări pe parcurs.
În schimb dacă aplicatia/platforma se modifică din mers, în funcție de feedback-ul utilizatorilor, cam seamănă a grădinărit.

Gradinaritul seamănă mai mult cu programarea unor aplicații complexe, in care nu stii toate posibilele situații.
În grădinărit sunt foarte mulți factori care influențează rezultatele: Ph-ul solului, lumina, plantele vecine, daunatorii, istoria solului, vremea, etc. Se poate tine sub control, dar tot rămâne imprevizibil.

Cam așa era în programare acum vreo 7-10 ani, când browserele aveau motoare diferite. Te durea capul daca aveai de facut o pagina web mai complexa care sa fie compatibila si cu Internet Explorer, Firefox și Chrome.

Când construiești o casă, iei materialele, faci proiectul, te apuci de treabă. Construcția va fi destul de asemănătoare cu proiectul.

Când îngrijești o grădină… ei bine, lucrurile devin mai interesante. Poate că bate prea multă lumină. Poate că ai vreun dăunător. Poate se schimbă vreun API pe parcurs. Poate bagă Google limite la Maps. Poate se răzgândește clientul și nu mai vrea click click click dar vrea click click boom :slight_smile:

Când a trebuit să faci ultima dată update la casă?

luna trecuta :slight_smile:
si am si gradinarit destul intr-o perioada.
si am si lucrat la ceva dev software.

la fel si cand faci un soft.
da, exista si situatii cand cerintele softului se schimba de n ori pe parcurs (chiar radical uneori), dar la fel se intampla si cand construiesti case.
incearca sa compari situatia in care construiesti o casa mare pentru un client nehotarat cu situatia in care construiesti un soft maricel pentru nu client la fel de nehotarat si o sa fie mai clara asemanarea.
de cate ori crezi ca se schimba modelul gresiei din faza de proiect pana la predare?
dar ce te faci cand clientul vrea un perete in plus fata de proiect? sau in minus?
daca vrei sa compari o zugraveala banala cu un app complex… da, nu e chiar acelasi lucru.

daca faci un plan (la fel cum faci pentru casa si pentru soft) si toate sansele sa ai totul previzibil.
poti masura phul solului si sa alegi soiurile de tomate in concordanta cu asta (+ tinand cont de calendarul meteo + plantele vecine + tratamentele preventive pe care ai de gand sa le aplici + irigare / drenare disponibila + etc).

doar ca obisnuinta ne spune ca in gradina arunci niste semnite si vezi tu ce faci apoi (deci improvizezi), in construcii pui niste caramida peste caramida peste niste beton si apoi te multumesti cu ce iese (pentru ca nu mai ai de ales), iar in soft nu are nimeni chef / timp / resurse de un plan corespunzator si se tot schimba pe parcurs chestii.
de asta (eu cred ca) pare gradinaritul mai aproape de soft dev decat constructiile.
in realitate (eu cred ca) e de fapt invers.

1 Like

Ar fi frumos sa le anticipezi pe toate in gradinarit.
Anul asta m-am trezit cu cateva mii (daca nu zeci de mii) de melci in gradina :slight_smile:
Urmeaza debugging masiv apoi.
Cand te confrunti cu 3-6 astfel de probleme simultan sa vezi cum incerci sa le rezolvi din mers.

1 Like

si nu merge sa faci din o tocanita pe care apoi sa o exporti congelata / conservata? :))
evident ca in orice proiect (ca in viata) poti avea elemente neprevazute si uneori chiar de neprevazut.
totusi, imi sustin in continuare comparatiile.
constructiile (rezidentiale) sunt mai aproape de software dev decat gradinaritul.
asta nu inseamna ca nu sunt si elemente similare sau diferite si invers.

altfel, apreciez cand cineva are energia / determinarea sa se ocupe de gradinarit / agricultura.
e un job demanding si sensibil, cu investitie destula si pe termen oarecum mediu si cu rezultat nu foarte cert.

Sunt cam în aceeași situație cu tine, doar că în ultimult timp toate plăcuțele de dezvoltare și componentele zac în mansardă deși mi-ar fi plăcut să dezvolt ceva pt grădină și automatizare.
Sunt dispus să particip dacă ai proiecte la care vrei să colaborăm.

Asta e deja DDOS agricol… :slightly_smiling_face:

7 Likes

Melcii mici sunt problemă, că sunt ușori și se pot cățăra peste tot.
În general plantele pe care se cațără pot necroza după ce trec melcii, pentru că lasă în urmă un mucus toxic care mai atrage și bacterii dăunătoare.

Chiar ca ddos agricol :slight_smile:

Dar cum te-ai procopsit cu ei ?

Anul ăsta am automatizat irigația și cred că partea asta a fost cea mai importantă. Pornesc si opresc irigația din pat. O dată am uitat să o opresc și s-a scurs apă de 4-5 ori mai mult :slight_smile:

Dacă îți poți asambla singur aparatele, pot da share la cod.
Pentru anul următor vreau sa adaug si câțiva senzori de mediu si să îmbunătățesc versiunea actuală.

1 Like

Un cumul de factori. Melci au fost întotdeauna, dar nu asa mulți.
În anii trecuți venea cineva și aduna melcii adulți și îi vindea. Deci nu se înmulțeau prea mult.
Apoi lucerna, unde sunt foarte mulți, nu a mai fost tunsă anul trecut și s-au înmulțit în liniște.
Abia în primăvară când s-a încălzit și au ieșit din pământ am văzut câți sunt.

Foarte frumoasă grădina ta, @Cosmin_Popescu

1 Like

Am păţit şi eu de câteva ori, mi-am inundat grădina :slight_smile: După aia m-a dus mintea să pun şi timp de reset (acum e setat la 3 ore).

2 Likes

Eu ud cu picuratorul max 20 minute pe zi.
Dacă îți picură 3 ore gradina ta e ok?

PS: am văzut o dată din 1970 în poza pusa de tine :stuck_out_tongue:

20 minute? Mi se pare foarte puţin. Oricum, udarea nu trebuie să fie zilnică, mai degrabă dai multă apă şi laşi să treacă câteva zile. Cel puţin aşa scrie în articolul ăsta.

Udarea se va face la un interval de 9-12 zile dar din abundență. Motivul este că prea multă umiditate duce la doua situaţii neplăcute și nedorite: favorizează apariţia bolilor micotice (ciupercilor, mai ales a manei) și la o dezvoltare peste măsură a masei verzi în detrimentul mugurilor florali, adică a rodirii.

Data ar trebui să se seteze automat, dar funcţionează defectos clientul NTP de pe controller-ul ăla. Dacă aş folosi schedulerul probabil m-ar interesa, altfel… nu mi-am bătut capul :slight_smile:

Am citit si articolul de care spui. Într-un alt articol recomandă un pic diferit.
Am pus folie cu picurător, iar solul este destul de afânat si nu reține apa.
Nu prea am avut probleme, în afara ploilor care au venit după ce irigasem eu :slight_smile:

De la programatori -> agricultori :slight_smile: