ublo
bogdan's (micro)blog

bogdan » arduino: conectarea la octave

10:29 pm on Apr 9, 2018 | #more | tags:

în urma rugăminții profesorului Stamatin, de câțiva ani țin un curs la Facultatea de Fizică din Măgurele. dacă inițial numele «modelare și simulare» ascundea ecuații matematice și metode numerice, recent am înlocuit diferențialele cu Arduino, în ovațiile celor câtorva studenți care frecventează cursul. dotările limitate m-au făcut să devin creativ cu materialele de curs, iar rezultatul mi s-a părut suficient de interesant pentru a-l reproduce aici. așa că:

GNU Octave:
GNU Octave este o alternativa gratuită a MathWorks MatLab. ambele fac în mare același lucru pentru utilizatorul de rând: efectuează extrem de eficient operații matematice cu matrice. mai mult, în cele mai multe cazuri, codul scris pentru unul funcționează fără probleme în celălalt. GNU Octave poate fi descărcat de aici.

recomand varianta zip, pentru arhitectura potrivită calculatorului tău cu mențiunea că în cazul în care nu știi ce înseamnă arhitectură, poți alege cu încredere varianta care are în numele fișierului w32. fișierul descărcat este o arhivă de tip zip și necesită dezarhivare. dacă utilizezi Microsoft Windows 10, poți folosi cu încredere utilitarul integrat în Windows Explorer. vei obține un director care conține octave.bat, fișierul pe care trebuie să dai dublu-clic pentru a porni aplicația.

instrument control:
GNU Octave poate comunica cu Arduino prin intermediul interfeței seriale, dar nu o poate face în starea inițială. la fel ca în cazul MatLab, e necesară o bibliotecă externă cu instrucțiuni care să-i permită citirea datelor seriale. cea pe care am utilizat-o în curs se numește instrument control și e disponibilă aici.

biblioteca se instalează ușor, descărcând fișierul și mutându-l în directorul src (de la source) al GNU Octave. în cazul în care directorul nu există, îl poți crea pur și simplu. urmează să pornești GNU Octave și cu ajutorul browserului de fișiere din stânga ferestrei principale, găsești și intrii în directorul src. ultimul pas constă în introducerea următoarei comenzi în consola GNU Octave:

>> pkg install instrument-control-0.3.0.tar.gz

instalarea instrument control durează destul de mult așa că poți să iei o pauză de câteva minute.

read_arduino.m:
pentru citirea interfeței seriale a Arduino am scris o mică bucățică de cod în formatul GNU Octave, read_arduino.m care îți pune la dispoziție o funcție cu ajutorul căreia poți citi datele într-o matrice. presupunem că îmi doresc să citesc tensiunea pe fiecare dintre cele 6 intrări analogice și să îi urmăresc evoluția în timp, la intervale de o secundă.

codul pentru Arduino este următorul:

void setup () {
  Serial.begin (9600); // <-- read_arduino.m suportă doar viteza de 9600 bauds
}

void loop () {
  byte port = 0; // <-- am nevoie de o variabila care specifica numarul portului analog
  while (port < 6) { // <-- cel mult voi citi date de la portul 5
    Serial.print (analogRead (port)); // <-- citesc si trimit valoarea citita catre portul serial
    Serial.print ("\t"); // <-- pentru a separa valorile, folosesc caracterul TAB (\t)
    port = port + 1; // <-- trec la portul urmator
  }
  Serial.print ("\n"); // <-- pentru a separa sirurile de date, folosesc caracterul NEW LINE (\n)
  delay (1000); // <-- aștept o secundă pentru a relua ciclul
}

care ar trebui să producă la fiecare secundă câte o linie cu valori cuprinse între 0 și 1023, corespunzătoare diferenței de potențial între pinul GND și pinii de la A0 la A5.

pentru a citi 10 rânduri conținând cele 6 valori, vei folosi:

>> A = read_arduino ('COM5', 10, 6)
A =

   339   339   326   319   312   324
   328   330   319   313   309   319
   327   329   319   314   310   319
   324   327   317   312   308   318
   323   326   316   311   307   317
   324   327   317   312   309   318
   322   324   314   310   306   315
   323   326   317   312   307   317
   324   327   317   312   308   318
   323   326   316   311   307   317

note de final:
COM5 este portul serial pe care se conectează plăcuța mea Arduino. în cazul tău, acesta va fi cel mai probabil diferit. verifică în Device Manager care este portul corect. read_arduino.m funcționează și pe Linux și pe MAC, însă în locul COM5 vei folosi denumirea portului corespunzătoare platformei. portul serial trebuie să fie liber, drept pentru care amintește-ți ca înainte să rulezi read_arduino să închizi monitorul serial al Arduino. ca în cazul MathWorks Matlab, fișierul read_arduino.m în directorul curent pentru ca funcția să devină accesibilă.

bogdan » arduino: senzor de lumină cu led

11:20 am on Mar 25, 2018 | #more | tags:

în urma rugăminții profesorului Stamatin, de câțiva ani țin un curs la Facultatea de Fizică din Măgurele. dacă inițial numele «modelare și simulare» ascundea ecuații matematice și metode numerice, recent am înlocuit diferențialele cu Arduino, în ovațiile celor câtorva studenți care frecventează cursul. dotările limitate m-au făcut să devin creativ cu materialele de curs, iar rezultatul mi s-a părut suficient de interesant pentru a-l reproduce aici. așa că:

senzorii de lumină domină lumea simțurilor electronice. cu mici modificări, aceștia pot răspunde unei multitudini de întrebări, de la banalul ”e lumină afară?”, la ”ce culoare are un obiect?” sau ”la ce distanță am un obstacol în față?”. la prima vedere funcționează complex: un fragment de siliciu reacționează la lumina incidentă, modificând o mărime electrică. Einstein a luat premiul Nobel pentru explicarea principiului în 1921, deci trebuie să fie complicat. cu toate acestea, tehnologia s-a dezvoltat pe parcursul secolului care a trecut suficient de mult ca să putem reface experimentul în bucătărie.

materiale necesare:

  • un Ardunio, de orice fel, în funcție de cât de familiarizat ești cu el; la curs l-am folosit pe ăsta (31 de lei);
  • un led obișnuit, orice culoare și orice mărime, dar să fie un led simplu; știi că e un led simplu (30 de bani), dacă e foarte ieftin;
  • două fire pentru a lega ledul la Arduino; mie îmi plac astea (3 lei), dar pot fi de orice fel;

puțină teorie:
un led este un dispozitiv semiconductor, de obicei din siliciu, al cărui element activ este vizibil. elementul activ poartă numele de joncțiune, adică locul de întâlnire pentru două materiale cu proprietăți diferite. ce e important de reținut pentru construcția de față este că cele două materiale formează un sandviș cu un mic spațiu între ele, asemeni unui condensator de la fizică. în funcționarea normală, trecerea curentului electric prin acel mic spațiu produce lumină. cu siguranță ai observat că polaritatea e importantă, deoarece lumina și circulația curentului se produc doar într-un singur sens.

ce se întâmplă în schimb când polaritatea e inversată? lipsa curentului electric duce la acumularea de sarcini electrice pe fețele sandvișului, încărcând condensatorul. cum naturii îi plac simetriile, orice rază de lumină incidentă generează perechi de sarcini, care se vor deplasa în direcții opuse, datorită atracției electrostatice. ajunse pe suprafețele sandvișului, acestea vor scădea sarcina acumulată pe condensator, scăzând proporțional și tensiunea electrică.

în mod normal, procesele se întâmplă extrem de repede și sunt extrem de mici ca intensitate. dar aici intervine genialitatea oamenilor care au proiectat Arduino: acesta e suficient de rapid și suficient de sensibil pentru a face față experimentului.

ce se va întâmpla:
Arduino va încărca ledul, alimentându-l invers, după care va număra cât îi ia condesatorului format în jurul joncțiunii ledului pentru a se descărca. pentru a repeta experimentul de la curs, vei conecta ledul cu plusul (piciorușul mai lung, anodul) la GND (ground, 0V) și minusul (piciorușul mai scurt, catodul) la unul dintre terminalele Arduino, cu excepția pinilor 0,1 - care sunt responsabili pentru comunicarea serială și pinul 13, care are deja un led conectat intern și care te va încurca. eu am ales pinul 2.

în pregătirea Arduino, am definit un loc în memorie pentru stocarea informațiilor primite de la led. tipul de date folosit va fi întreg (int), numărând câte perioade de timp condensatorul a fost încărcat. pentru a fi accesibilă de oriunde, definiția se va afla în afara și înaintea celor două funcții speciale Arduino, setup și loop.

int value; // <- asa definesc un loc in memorie, int este tipul, iar value este numele
// pentru ca am definit-o în afara setup și loop, voi putea să o accesez de oriunde, prin nume
void setup() {}
void loop() {}

pentru citirea informațiilor, am folosit interfața serială a Arduino, care va fi inițializată prin:

int value;
void setup() {
  Serial.begin(9600); // <- aici initializez conexiunea seriala cu viteza de 9600 caractere / s
}
void loop() {}

periodic, am încărcat ledul pentru un interval de timp. experimental am ales 1ms.

int value;
void setup() {
  Serial.begin(9600);
}
void loop() {
  pinMode(2, OUTPUT); // <- aici definesc pinul 2 ca fiind pin de iesire
  digitalWrite(2, HIGH); // <- setez tensiunea pe pinul 2 la tensiunea de alimentare a Arduino
  delay(1); // <- astept 1ms, sa incarc condensatorul ledului
}

am măsurat în cât timp tensiunea la bornele ledului scade sub un anumit prag. aici aș fi putut să folosesc convertorul analog-digital din Arduino, dar în unele situații este prea lent. așa că am folosit proprietatea unui pin digital configurat ca intrare de a-și schimba starea în jurul jumătății tensiunii de alimentare a Arduino. astfel, dacă tensiunea la intrare scade sub 2.5V față de GND (pentru un Arduino alimentat la 5V), valoarea citită intern va fi LOW, în timp ce dacă tensiunea crește peste 2.5V, valoarea citită va fi HIGH.

pentru a determina în cât timp tensiunea la bornele ledului scade, am verificat la intervale scurte de timp dacă a scăzut. dacă a scăzut, trimit prin conexiunea serială valoarea înregistrată, altfel, mai aștept puțin timp și verific din nou. experimentând, am folosit ca timp de așteptare 40uS.

int value;
void setup() {
  Serial.begin(9600);
}
void loop() {
  pinMode(2, OUTPUT);
  digitalWrite(2, HIGH);
  delay(1);
  pinMode(2, INPUT);
  value = 0; // <- aici resetez ce stochez în memorie
  while(digitalRead(2) == HIGH) { // <- citesc pinul 2 si verific daca tensiunea depasește pragul
    delayMicroseconds(40); // <- daca e peste prag, lumina e prea slabă și aștept 40uS
    value = value + 1; // <- cresc cu o unitate valoarea stocată
  }
  // <- aici tensiunea la bornele ledului a scazut sub prag
  Serial.println(value); // <- așa că trimit valoarea prin conexiunea serială
}

în funcție de led și de condițiile de iluminare, valorile primite de calculator sunt uneori negative. acest lucru se întâmplă deoarece numărul de repetări depășește valoarea maximă care poate fi stocată într-un segment de memorie de tip întreg. pentru a preveni această situație, am introdus o limitare la 255 a numărului de cicluri pentru care verificarea are loc:

int value;
void setup() {
  Serial.begin(9600);
}
void loop() {
  pinMode(2, OUTPUT);
  digitalWrite(2, HIGH);
  delay(1);
  pinMode(2, INPUT);
  value = 0;
  while((digitalRead(2) == HIGH) && (value < 255)) { // <- verific în plus dacă valoarea stocată e sub 255
    delayMicroseconds(40);
    value = value + 1;
  }
  Serial.println(value);
}

note de final:
ledul este sensibil la același tip de lumină pe care o emite. folosind acest principiu, poți foarte ușor să-l transformi într-un senzor de culoare. de asemenea, un led are de obicei o lentilă care dirijează razele de lumină, limitându-i astfel câmpul vizual, la fel ca în cazul emisiei. folosind această informație, poți adapta foarte ușor un led pentru a măsura distanța.

bogdan » php string output speed test

11:54 pm on Feb 14, 2017 | #more | tags:

during the development of a new resource-sensitive project, i wondered what is the best PHP string output method and thus compared the following:

<?php
/*  A: */	printf ('some value %d != %d' . "\n", $c, $c+1); 
/*  B: */	vprintf ('some value %d != %d' . "\n", [ $c, $c+1 ]); 
/*  C: */	vprintf ('some value %d != %d%s', [ $c, $c+1, "\n" ]); 
/*  D: */	echo sprintf ('some value %d != %d' . "\n", $c, $c+1); 
/*  E: */	echo vsprintf ('some value %d != %d' . "\n", [ $c, $c+1 ]); 
/*  F: */	echo vsprintf ('some value %d != %d%s', [ $c, $c+1, "\n" ]);
/*  G: */	echo 'some value ' . $c . ' != ' . ($c+1) . "\n";
/*  H: */	echo "some value $c != " . ($c+1) . "\n";
/*  I: */	?>some value <?php echo $c; ?> != <?php echo $c+1; ?>
<?php ?>

each statement was run inside a for loop, for one million cycles, for a total number of five times. the results were as follows:

A B C D E F G H I
0.4260 0.5836 0.6412 0.4333 0.5896 0.6781 0.4449 0.4182 0.0361
0.4220 0.6012 0.6631 0.4302 0.6210 0.6805 0.4385 0.4100 0.0361
0.4205 0.6083 0.6674 0.4306 0.6245 0.6935 0.4379 0.4168 0.0378
0.4364 0.6098 0.6697 0.4456 0.6752 0.7455 0.4530 0.4134 0.0361
0.4299 0.5964 0.6594 0.4384 0.5793 0.6538 0.4485 0.4185 0.0365

on average, the best I is 11.37 times faster than the next, followed by H, A, D, G, B, E, C and F, which is worst, 18.90 times slower than I.

bogdan » întotdeauna în al 12-lea ceas!

11:46 am on Nov 29, 2016 | #more | tags:

Cu toate astea, decât să-ţi dai ochii scârbit peste cap o viaţă-ntreagă, în aşteptarea unui salvator, mai bine îţi arunci privirea-n oglindă şi poate descoperi ce stă în puterile tale.

Mă enervează articolele astea: iau o idee bună, o minimizează și o transformă în demagogie electorală. Puterea de a face schimbări stă într-adevăr în fiecare dintre noi, doar că e insignifiantă în urma aia lăsată de ștampilă pe buletinul de vot. E pur și simplu o delegare a răspunderii către un grup de oameni care inevitabil vor fi corupți de sistem. Pentru că sistemul așa a fost gândit și nu a dat greș niciodată în 27 de ani de când a fost reformat.

  • Vrem transparență totală? Câți dintre noi au trimis o cerere prin legea 544/2001?
  • Vrem industrie modernă? Câți dintre noi, care au afaceri, și-au rupt de la gură alegând o mașină ieftină sau transportul în comun în locul unei mașini scumpe pentru a investi diferența în echipamente mai performante?
  • Vrem agricultura micilor fermieri? Câți dintre noi, care au terenuri mici, le muncesc sau le dau în arendă? Câți ne-am gândit să ne asociem și să ne dezvoltăm împreună cu vecinii noștri?
  • Vrem învățământ performant? Câți dintre noi s-au implicat activ și realist în adaptarea programei școlare și a modului de predare în școlile în care învață copiii noștri? Câți dintre noi, ca profesioniști, și-au rupt din timp să încerce să transmită informația acumulată?
  • Vrem cultura vie? Câți dintre noi am mers în weekend la un muzeu sau la o piesă de teatru, în loc să mergem la Mall? Câți dintre noi au încercat să înțeleagă ce-au văzut?
  • Vrem sănătate publică? Câți dintre noi ne facem un control periodic? Câți dintre noi își vaccinează copii sau îi duc la dentist? Câți dintre noi am făcut plângeri la Colegiul Medicilor?
  • Vrem transport rapid? Câți dintre noi mergem cu mașina cu toate locurile ocupate? Câți dintre noi respectă regulile de circulație?
  • Vrem să salvăm mediul? Câți dintre noi nu aruncă gunoaie pe jos? Câți dintre noi economisim apa sau energia electrică? Câți dintre noi nu merg cu mașina, 500 de metri, pentru mici cumpărături?
  • Vrem ca România să arate bine în lume? Câți dintre noi se poartă civilizat și cu bun simț când ieșim din țară?
  • Vrem mai puțină corupție? Câți dintre noi nu au dat sau nu au luat șpagă?
  • Vrem mai puțin clientelism politic? Câți dintre noi, care lucrează în companiile abonate la contracte publice, s-au plâns?

Schimbarea nu e inclusă în tușul unei ștampile. Salvarea nu vine de la un acronim. Bunăstarea nu vine dintr-un set de legi emise, redactate și implementate de incompetenți populari. Soluția va fi întotdeauna la îndemâna fiecăruia dintre noi, în acțiunile noastre zilnice.

bogdan » inocență

10:13 am on Nov 27, 2016 | #more | tags:

Vreau să fiu un om bun.
Care e părerea ta?
Sunt?
Da. Ești. Mie așa mi se pare. Eu nu stau de vorbă cu oameni răi.

bogdan » what is more beautiful

09:12 am on Nov 25, 2016 | #more | tags:

What is more beautiful, my love? Love lost or love found? Don't laugh at me, my love. I know it, I'm awkward and naive, when it comes to love, and I ask questions straight out of a pop song. This doubt overwhelms me and undermines me, my love. To find or to lose? All around me people don't stop yearning. Did they lose or did they find? I can't say. An orphan has no way of knowing. An orphan lacks a first love. The love for his mama and papa. That's the source of his awkwardness, his naivete. You said to me, on that deserted beach in California: "you can touch my legs." But I didn't do it. There, my love, is love lost. That's why I've never stopped wondering, since that day: where have you been? And where you are now? And you, shining gleam of my misspent youth, did you lose or did you find? I don't know. And I will never know. I can't even remember your name, my love. And I don't have the answer. But this is how I like to imagine it, the answer. In the end, my love, we have no choice. We have to find.

bogdan » nu sunt antreprenor

12:50 am on Jan 11, 2016 | #more | tags:

nu îndrăznesc să spun despre mine că sunt antreprenor. nu mă ridic la înălțimea standardelor stabilite în literatura de specialitate. nici pe departe. nu m-am dezvoltat personal și nici nu am învățat să fac business.

sunt aproape doi ani de când îmi asum riscuri pentru a-mi construi propriul drum și nu pot să spun exact că mi-a reușit și nici că am eșuat. pentru că în viață, am învățat, lucrurile nu sunt absolute.

am pornit un start-up pentru că-mi place să visez și aș vrea, la un moment dat, să-mi urmez visul. felul ăsta de activitate îmi va pune la dispoziție resursele de care am nevoie să visez cu ochii deschiși. am încercat și alte metode.

am fost angajat. și deși am avut parte e oameni extraordinari care au fost alături de mine să mă îndrume și de la care am învățat o mulțime de lucruri, nu era locul meu acolo. pentru că un loc de muncă îți ia ceea ce ai tu mai de preț. la mine era creativitatea de care aveam nevoie să visez. mi-au oferit în schimb bani și liniște. n-a fost suficient.

am fost finanțat. și din nou, oamenii cu care am pornit la drum au fost minunați și din nou am învățat de la ei o mulțime de lucruri, dar din nou locul meu nu era acolo. un finanțator te lasă să faci ceea ce-și dorești. dar îți impune limite. pe care la început nu le observi sau crezi că poți să le ignori, până când libertatea ta dispare. imaginează-ți că te obligă cineva să visezi în fiecare seară vacanțe exotice și ziua, un om care nu poate să viseze te auditează pentru a-ți verifica calitatea viselor. mi-a oferit în schimb bani și o parte din vis. n-a fost suficient.

sunt propriul meu angajat. sunt creativ pentru clienți în limita pe care mi-o permit fără să-mi afecteze visul. îmi impun limite la vis pentru a le putea depăși. e greu și muncesc de cel puțin două ori mai mult decât am muncit în oricare dintre situașiile anterioare. n-am avut vacanță de când am început. am oameni care depind de mine și de care trebuie să am grijă pentru că ei au grijă de visul meu. mi-am oferit libertatea de a visa și parțial bani. să-mi împlinesc visul a devenit o problemă de timp.

ce-am învățat în aproape doi ani de indendență? că trebuie să muncești foarte mult și trebuie să fii dedicat visului tău. că la un moment dat trebuie să găsești oameni la fel de dedicați ca și tine și să faci tot posibilul să-i păstrezi. că întotdeauna primul răspuns corect la o întrebare este «nu». că e important să fii sincer față de clienții, furnizorii și angajații cu care îți dorești să lucrezi: nu trebuie să epatezi și nici să aplici tehnici speciale de negociere. că ai nevoie de avocat și contabil. și din nefericire, că Mr. Burns are dreptate:

Family, religion, friendship. These are the three demons you must slay if you wish to succeed in business.
-- Charles Montgomery ”Monty” Burns

green-rocket

bogdan » bypass

12:08 am on Sep 14, 2014 | #more | tags:

sunt mândru că sunt absolvent de matematică și îi voi fi pentru eternitate recunoscător domnului profesor stănescu pentru că m-a îndrumat pe acest drum. recomand cu căldură și sinceritate acest parcurs oricărui elev de liceu, viitor absolvent, care vrea să înțeleagă cu adevărat ceva din viață.

să nu mă înțelegi greșit. corpul profesoral este în majoritate viciat: slab pregătit, corup și amoral. însă școala românească de științe exacte – slab influețată de retorica partidului, în antiteză cu cea de științe umaniste – și-a pus amprenta exact acolo unde trebuie, în orgoliul nemărginit al urmașilor lor, actualii conferențiari și profesori universitari. ignoranța și indiferența lor față de subiectul predat fiind suplinită de canonul metodei de predare, lăsat moștenire de generațiile anterioare.

această metodă este singurul aspect care delimitează facultatea de matematică de noroiul întregului învățământ superior românesc și care, asemeni unui vaccin dureros și generos în complicații, te protejează și te întărește pe parcursul existenței.

cheia întregului proces este trecerea obligatorie prin greșelile pe care generații întregi de filosofi și matematicieni le-au făcut prin studiul demonstrațiilor afirmațiilor lor omonime. în acest fel, analizarea argumentelor fiecăruia ajutându-te să integrezi în personalitatea ta bucățele din acel om, experimentând direct, mai ales în timpul examenelor aparent ilogice, dezamăgirilile și durerea acelui om, dar și euforia descoperirii.

pentru că în viață, drumul e mult mai important decât destinația. și orice scurtătură pe care o alegem ne privează de experiența călătoriei, a obstacolelor și piedicilor pe care le întâlnim pe parcurs, a lucrurilor care ne ajută să ne clădim caracterul și să apreciem destinația.

the Apollo 1 Crew

Pe 27 ianuarie 1967, Gus Grissom, Ed White și Roger Chaffee (de la stânga la dreapta) se pregăteau pentru prima misiune Apollo. Capsula în care aceștia se aflau a fost distrusă de un incediu în timpului unui test înainte de zbor. Doi ani și șase luni mai târziu, Armstrong și Aldrin pășeau pe Lună.

bogdan » 28 aprilie – diferențe de gen

08:41 pm on Apr 28, 2014 | #more | tags:

Diferențele dintre sexe sunt exprimate la nivel celular. Viitorul ne rezervă medicamente specifice pentru femei, respectiv bărbați.

Un articol științific publicat în revista Nature[1] studiază procesul prin care cromozomul Y, determinant pentru stabilirea genului masculin în cadrul majorității mamiferelor, a fost micșorat pe parcursul a 300 de milioane de ani de evoluție, estimând o stopare a acestui proces încă de acum 25 de milioane de ani. Cauza opririi acestui proces are originea într-un nucleu de 12 gene, care nu influențează aparatul reproducător masculin, ci țesuturi prezente în inimă sau celulele sangvine, transformând micuțul cromozom într-unul dintre gadget-urile genetice esențiale pentru supraviețuire fiind favorizat de procesului evolutiv. Consecința directă a acestor descoperiri este diferența impusă de gen în liniile celulare ale indivizilor aceleiași specii și invalidând orice model celular unisex pentru țesuturile afectate. Efectul procedurilor medicale specifice și al medicamentelor devine imprevizibil pentru produsele și protocoalele derivate din cercetările bazate pe modelul ”egalității de gen celulare”. Cu alte cuvinte, viitorul apropiat ne va aduce medicamente specifice pentru bărbați și femei [sursă].

X and Y chromosomes

În aceeași notă, șoarecii de laborator sunt mai stresați atunci când sunt utilizați de către cercetătorii de gen masculin, ducând la devierea rezultatelor experimentelor în care sunt folosiți [sursă]. Mai mult, mirosul cercetătorilor bărbați crește toleranța la durere a rozătoarelor [sursă], compromițând rezultatele obținute în urma diferitelor teste.

O căpușă este cel mai rapid animal de pe planetă. Viteza la scara umană a acestui arahnid ar fi de 2,000 km/h.

Micul arahnid, Paratarsotomus macropalpis, se poate deplasa cu o viteză de 322 lungimi de corp într-o secundă în comparație cu un ghepard care aleargă cu numai 16 lungimi de corp pe secundă. Studiul căpușei este interesant pentru determinarea principiilor mecanice care stau la baza vitezei incredibile de mișcare a picioarelor micului organism, fiecare picior atingând solul de 135 de ori într-o secundă, lucru extrem de util de implementat în viitorii mini-, micro- și nano- roboți [sursă].

--

1. Bellott, D. W. et al. Nature 508, 494–499 (2014).

bogdan » liberarizarea cunoașterii

07:50 pm on Feb 11, 2014 | #more | tags:

cel mai rău lucru care i se poate întâmpla unei direcții de cercetare este subfinanțarea. nu, lipsa fondurilor pune presiune pe cercetător pentru a deveni creativ, productiv și competitiv, pentru că tehnologia pe care o dezvoltă trebuie, într-un timp relativ scurt, să îi asigure existența. edison nu a inventat primul bec, ci primul bec fezabil din punct de vedere comercial1. asemeni prădătorilor din junglă, lipsa hranei devine un factor al naibii de motivant.

suprafinanțarea este visul oricărui cercetător, posibil de altfel numai în situașia finanțatorilor vizionari. lipsa celorlalte griji materiale permite un focus total asupra problemelor care trebuie rezolvate. un exemplu elcovent este secvențierea genomului uman, care a beneficiat de entuziasmul și suportul financiar al mai multor entități, prezentând rezultatele finale cu aproape 2 ani înainte de termenul stabilit2. dezvoltarea agriculturii a permis oamenilor primitivi să mute obiectul activității lor către cultură și științe.

ajungând la subfinanțare, cercetătorul știe că nu dispune de resurse suficiente pentru a-și atinge integral obiectivele și profită de naivitatea finanțatorilor pentru a prezenta o serie de rezultate spectaculoase, dar care necesită un minimum de resurse, în așa fel încât să-și asigure continuitatea. două exemple care îmi vin în acest moment în minte sunt fuziunea nucleară (ca domeniu) și problema neutrinilor mai rapizi decât lumina. dezavantajul pentru societate vine din puterea inimaginabilă a organismelor vii de a se adapta. mâncăm, dar nu atât de mult. în câteva generații metabolismul se va modifica încât să compenseze deficitul de nutrienți. în acest fel, idei de altfel revolușionare, vor continua să fie plasate în categoria ”ne-important” și, cu excepția unor grupuri în continuă diminuare, să fie uitate.

atitudinea social-democrată ”lasă, să fie bine la toți” nu este oportună în educație și cercetare, două domenii în care legea junglei (liberalismul) ar trebui să fie dominantă.

Thomas A. Edison seen here in 1929 holding a replica of his first lamp.

referințe:
1. Paul Israel, Edison: A life of inventions (2000) Wiley&Sons
2. Ivan Noble, Human Genome Finally Complete (2003) BBC News
3. Sursă Imagine: Thomas Edison