Rainbowheart - ultimele 7 pagini

  • Calcul Pi in c, go, python, JavaScript, Ducktape si Lua

    31-Mar-2020 19:35 - 20 vizionari

    Curios sa vad cat de rapid este un calcul simplu in golang (limbajul go) fata de limbajul c si python, am creat un program de test, folosind un algoritm din 1655 al matematicianului John Wallis utilizat in estimarea numarului irational π (pi).

    Go si C

    Programul in go include si implementarea in c a algoritmului:

    
    package main
    
    /*
    
    #cgo !windows CFLAGS: -std=c99 -O3 -Wall -Wno-unused-value -fomit-frame-pointer -fstrict-aliasing
    #cgo windows CFLAGS: -O3 -Wall -Wno-unused-value -fomit-frame-pointer -fstrict-aliasing
    
    static double calcul_pi(long int n) {
      double pi = 2.0;
      for(long int i=1;i<n;i++ ) {
        pi = pi * 2.0*i * 2.0*i / (2.0*i-1) /(2.0*i+1);
      }
      return pi;
    }
    
    
    */
    import "C"
    import "fmt"
    import "time"
    
    func calcul_pi(n int) float64 {
    	var pi float64 = 2
    	for i := 1; i < n; i++ {
    		pi = pi * 2.0 * float64(i) * 2.0 * float64(i) / (2.0*float64(i) - 1) / (2.0*float64(i) + 1)
    	}
    	return pi
    }
    
    func main() {
    	fmt.Println("Start main")
    	var N int = 300000000
    	fmt.Printf("N = %d milioane\n", N/1000000)
    
    	// time.Now().Nanosecond() are un BUG
    	t1 := time.Now().UnixNano()
    	var pi float64 = float64(C.calcul_pi(C.long(N)))
    	t2 := time.Now().UnixNano()
    	fmt.Printf("C:\tcalculat pi=%f in %.2f sec\n", pi, float64(t2-t1)/1e9)
    
    	t1 = time.Now().UnixNano()
    	pi = calcul_pi(N)
    	t2 = time.Now().UnixNano()
    	fmt.Printf("GO:\tcalculat pi=%f in %.2f sec\n", pi, float64(t2-t1)/1e9)
    
    	// time.Now().Nanosecond() are un BUG
    	t1 = time.Now().UnixNano()
    	pi = float64(C.calcul_pi(C.long(N)))
    	t2 = time.Now().UnixNano()
    	fmt.Printf("C:\tcalculat pi=%f in %.2f sec\n", pi, float64(t2-t1)/1e9)
    
    	t1 = time.Now().UnixNano()
    	pi = calcul_pi(N)
    	t2 = time.Now().UnixNano()
    	fmt.Printf("GO:\tcalculat pi=%f in %.2f sec\n", pi, float64(t2-t1)/1e9)
    }
    

    La 300 de milioane de iteratii, rezultatul se obtine in 4.5-4.7 secunde:

    Calcul pi in golang 

    Observ ca programul in c este un pic mai rapid decat varianta in go.

    Python

    Acelasi algoritm scris in Python a durat 4.2-4.9 secunde pentru numai 9 milioane de iteratii si rezultatul dezamagitor se mentine pentru mai multe versiuni de Python:

    
    import time
    import sys
    
    def Pi(N):
        print ("N = {:.0f} milioane".format(N/1000000))
        pi = 2.0
        i = 0
        t1 = time.time()
        while True:
            i = i + 1
            pi = pi * 2.0*i * 2.0*i / (2.0*i-1.0) /(2.0*i+1.0)
            if i == N:
                break
        t2 = time.time()
        durata = t2 - t1 #secunde
        print ("pi calculat: {:f} in {:f} secunde\t".format(pi, durata))
    
    if __name__ == '__main__':
        print(sys.version)
        Pi(9000000)
        
    

    Calcul pi in python 2.7

    Calcul pi in python 3.7 

    Calcul pi in python 3.8

    Dar PyPy intrece Pythonul standard si are performante identice cu c si go:

    Calcul pi in PyPy 7.3.0

    JavaScript

    
    
    function calcul_pi(N){
       console.log('N are', N/1e6, 'milioane');
       var pi = 2;
       t1 = new Date().getTime();
       var sec = 0;
       for(i = 1; i < N; i++){
          pi = pi * 2*i * 2*i / (2*i-1) /(2*i+1);
       }
       t2 = new Date().getTime();
       console.log('     pi=',pi);
       console.log('Math.PI=',Math.PI);
       console.log('durata [ms]:', (t2-t1));
       return pi;
    }
    
    

    In browser Mozilla 74.0 executia a durat 1.55 secunde pentru 9 milioane de iteratii si 4.58 de secunde pentru 300 de milioane de iteratii.

    In Google Chrome 80.0.3987.149, durata a fost 1.52 secunde pentru 9 milioane de iteratii si 4.81 secunde pentru 300 milioane de iteratii.

    Executia in JavaScript in browsere de web este la fel de rapida ca in programele compilate, rezulta ca programele JavaScript din browsere sunt compilate in memorie inainte de executie, la fel ca programele PyPy.

    Am mai testat si executia in Ducktape (un interpretor de JavaScript) varianta golang, si pentru 9 milioane de iteratii durata este 7 secunde.

    Lua

    Un program scris in golang si care include un sistem de executie interpretata a limbajului Lua:

    
    package main
    
    import "fmt"
    import "time"
    import "github.com/yuin/gopher-lua"
    
    var calcul_pi = `
    --
    -- program in Lua
    --
    N = 9000000
    -- print(string.format('Calcul pi, n=%d milioane',N/1e6))
    print('Calcul pi, n=' .. N/1e6 .. ' milioane')
    pi = 2
    for i=1,N do
    	pi = pi * 2*i * 2*i / (2*i-1) /(2*i+1)
    end
    print('pi=', pi)
    
    `
    
    func main() {
    	fmt.Println("Teste LUA")
    	L := lua.NewState()
    	defer L.Close()
    
    	// time.Now().Nanosecond() are un BUG
    	t1 := time.Now().UnixNano()
    	if err := L.DoString(calcul_pi); err != nil {
    		fmt.Println("Eroare in executie:\n", err)
    	}
    	t2 := time.Now().UnixNano()
    	fmt.Printf("calculat pi %.2f sec\n", float64(t2-t1)/1e9)
    }
    
    
    

    Programul in Lua interpretat de sistemul scris in golang dureaza 5.96 secunde pentru 9 milioane de iteratii si este un pic mai lent decat varianta in Python.


  • Impresia mea asupra realitatii fizice

    27-Mar-2020 09:53 - 41 vizionari

    Ca o completare la Aegroto dum anima est, spes est:

    Nu sunt prăpăstios si nu vreau ca titlul "Aegroto dum anima est, spes est" sa sune sumbru.

    Existenta in planul fizic (viata pe Pamant asa cum o ducem noi acum) este un dar si un blestem in acelasi timp.

    O fiinta isi desfasoara existenta in planul fizic, de-a lungul a mai multor reincarnari si cata vreme mai poate invata ceva in acel plan, apoi evolueaza (se ilumineaza) si vietuieste in alte planuri (superioare fizicului) de existenta.

    Evolutia spiritului nu este liniara si nu este finita, este in cicluri de alternare intre dimensiuni sau plane de existenta.

    Am citit in Falun Dafa: Un spirit care isi insuseste lectiile in planul fizic (planul unde noi consideram ca suntem in viata) devine un Budha sau un Christ si se muta la un plan superior. Acolo nu simte foame, sete sau dorinta de sex si sta si face ce stie el sa faca (mila, compasiune, toleranta, binecuvantare, detasare, … ), dar daca se mandeste comparandu-se cu fiintele a caror existenta este in planuri inferioare, nivelul lui vibrational se reduce si este fortat (de mecanismul automat de reglare al Universului) sa coboare un nivel.

    Cand esti in planul fizic trebuie sa faci ce e necesar fizicului. Totul este permis, dar consecintele actiunilor sunt inregistrate, judecate si recompensate sau pedepsite. Trebuie sa inveti regulile jocului de la nivelul acela si numai cand esti pregatit treci la nivelul urmator, altfel esti condamnat sa-l repeti, adica sa te reincarnezi. Nivelul urmator nu este definitiv si nici final, daca ai uitat ceva, trebuie sa te intorci un nivel inapoi si sa retraiesti experienta.

    Existenta in planul fizic duce inevitabil la acumularea de karma. Este foarte greu sa traiesti detasat si fara sa te implici, iar implicarea uneori duce la nedreptate si la acumularea de datorii, datorii care te determina sa te reincarnezi in viata urmatoare si sa platesti datoriile celor pe care i-ai nedreptatit. Numai iubirea neconditionata, ajutorul dezinteresat, detasarea (constientizarea ca este nevoie de intelepciune sa alegi ce sa schimbi si ce sa nu) si cultivarea spirituala (adevar, compasiune si toleranta – principiile Falun Dafa) te pot promova la nivelul urmator.

    Falun Dafa: Pentru fiinta umana nu exista un plan de existenta mai jos decat planul fizic. In planul fizic merg in acelasi timp pe Pamant si oameni buni si oameni rai, si violatori si tortionari si psihopati si sociopati si criminali si parlamentari si infractori si preoti si ingeri intrupati cu diferite misiuni personale. Daca nu iti inveti lectiile specifice existentei tale, pierzi virtute. Nivelul de virtute limiteaza posibilitatile la urmatoarea reincarnare: te reincarnezi bogat sau sarac, sanatos sau cu handicap, etc. Daca la urmatoarea reincarnare nu mai ai virtute, sunt sanse foarte mari sa fi reciclat (distrus definitiv). Universul are legi inviolabile, adica de karma nimeni nu e scutit.

    Eu consider ca demonii sunt forme-gand de manifestare a unei idei si ca un spirit uman nu poate sa decada pana la nivelul de demon pentru ca demonii si spiritele umane nu au aceeasi natura, de aceea afirm (inspirat de invataturile din Falun Dafa) ca nu exista un plan de existenta mai jos decat planul fizic. In Falun Dafa se spune ca demonii sunt entitati din universul anterior care au supravietuit epurarii si ca acum se conduc in noul univers dupa legile vechiului univers. Fiintele umane care esueaza in procesul de evolutie spirituala (adica au ramas fara virtute la inceput de reincarnare) nu se transforma in demoni si nici nu se duc in iad, sunt distruse definitiv.

    Evolutia este posibila in toate planele de existenta, iar noi, cei vii, cei aflati acum in planul fizic trebuie sa iesim din ignoranta.

    Se spune ca toti oamenii se nasc ignoranti, iar unii depun efort sa ramana asa toata viata.


  • Aegroto dum anima est, spes est

    26-Mar-2020 15:00 - 42 vizionari

    Cata vreme exista viata, exista si speranta!


  • Cel mai bun film despre tehnologia 5G

    16-Mar-2020 19:53 - 70 vizionari

    Acesta este, dupa parerea mea, filmul care explica cel mai bine lipsa de periculozitate a tehnologiei 5G.

    Sunt inginer si apreciez valorile concrete.

    In film, Domnul Cristian Presură, calculeaza ca la frecvente de peste 3 milioane de GHz radiatia electromagnetica este ionizanta.

    Calculele sunt corecte, hidrogenul are energia de ionizare 13,5984 eV si convertorul eV –> Hz afiseaza 13.5984 eV = 3288080.207 GHz.

    Tehnologia 5G foloseste cel mult 70 GHz.


  • Scandalul OneCoin

    16-Feb-2020 12:35 - 109 vizionari

    Un film interesant care prezinta un caz concret (frauda OneCoin) privind potentialul distructiv al stirilor false de pe Internet.

    Se pare ca firma OneCoin nici nu avea infrastructura electronica necesara sa suporte tranzactiile electronice, toata schema financiara era sustinuta de o piramida de vanzare de servicii (multi level marketing) prin care vindeau pachete educative si promisiuni. Promisiunea ca o moneda OneCoin valoreaza $25,000.

    Interesant este dupa disparitia fondatoarei si condamnarea la 90 ani de inchisoare a fratelui ei, compania OneCoin Ltd (inregistrata in Dubai) inca mai functioneaza.

    intr-o emisiune BBC s-a afirmat ca un milion de dolari intra in fondurile companiei la fiecare saptamana.

    Compania a furat de la investitori 4-15 miliarde $ vanzand numai promisiuni.

    (Tot prin vanzare de promisiuni de Viata Vesnica a avut succes o mare religie mizand pe ignoranta. Adevarul este ca sufletul este nemuritor si ca se reincarneaza.)

    Din sit-ul OneCoin inteleg ca firma e serioasa si ca vine cu tehnologii inovative, cum ar fi stocarea documentelor KYC (informatii confidentiale despre client) in lista de tranzactii (numita blockchain la monedele electronice).

    Problemna este ca lista blockchain este accesibila publicului (asa trebuie sa fie pentru asigurarea transparentei tranzactiilor si functionarea descentralizata a monedei virtuale) si ca asta induce un mare risc de securitate. Chiar daca documentele KYC sunt criptate, cine stie cheia de decriptare si de verificare a tranzactiei? Banca? Vanzatorul?


  • Schimbarea realitatii

    02-Feb-2020 16:02 - 166 vizionari

    Trecutul si amintirile ne influienteaza si putem elimina influientele negative prin puterea mintii.

    Prin hipnoza si prin autosugestie se pot induce amintiri noi si se pot rescrie amintiri.

    Profesorul doctor neurolog Moran Cerf poarta o discutie interesanta intr-un interviu cu Tom Bilyeu.

    Filmul prezinta multe aspecte, dar pe mine m-a impresionat cel mai mult abilitatea creierului de reanalizare a amintirilor si de suprascriere a lor.

    La nivel de creier rememorarea amintirii contamineaza amintirea cu date din prezent si o stocheaza iar in creier (in reteaua neuronala?).

    Deci amintirile se schimba in timp, iar simpla aducerea aminte e capabila sa rescrie trecutul.

    Moran Cerf: Asa functioneaza terapia: ai o problema, o spui la terapeut, o repovestesti, terapeutul te ghideaza si te consoleaza, tu iti revizuiesti experienta si o rememorezi si te vindeci in timp. Dupa cateva sedinte de terapie ai o versiune usor diferita a experientei din trecut, o versiune in care ai o parere mai buna despre tine.

    Tom Bilyeu: Povestea pe care o spui despre tine este cel mai important lucru pe care il ai. Daca ai o poveste despre inadaptare si imperfectiune si esec, atunci aceea devine identitatea ta.

    Moran Cerf:

    Daca esti inconjurat de oameni cu care vrei sa semeni, sau urmaresti filme cu ei, sau citesti carti despre ei, in timp ajungi ca ei. Intr-o discutie constructiva creierele umane se armonizeaza (anumite zone se inchid temporar, iar altele devin mai active) si ajung sa functioneze asemanator, pentru ca fiinta umana comunica prin limbaj, iar limbajul poate prezenta idei abstracte, notiuni imaginare, care reprogrameaza creierul prin filtrul ratiunii, imaginatiei si intuitiei.

    In timpul noptii activitatea creierului este folosita la revizuirea experientei in ultimele ore, la compresia (simplificarea) amintirilor neimportante si aprofundarea amintirilor considerate utile.

    In cap avem multe voci care ne ghideaza activitatile in viata si avem impresia ca deciziile le luam noi ca un singur individ, dar noi suntem un grup de indivizi si vocile pe rand contribuie la luarea deciziilor.

    De cele mai multe ori creierul te inseala oferind o realitate falsa, dar stiind asta, putem schimba perceptia, putem aloca pondere mai mica la experientele neplacute si pondere mai mare la experientele considerate utile.

    Concluzia mea: Daca favorizezi experientele superficiale, triviale si bune numai pentru hăhăială, in timp pierzi zvâcul cunoasterii si ti-ai irosit viata si te-ai reincarnat degeaba, pentru ca omul se naste ignorant si se lupta din greu toata viata sa ramana asa. Dar citind cate ceva despre psihologie, biologie, epigenetica si neurologie, este posibil sa iti imbunatatesti povestea pe care o spui depre tine (nepotilor).


  • Cinci practici care aduc fericirea

    01-Feb-2020 17:27 - 179 vizionari

    Intr-o prezentare a profesorului doctor neurolog Moran Cerf in care promite ca in 15 minute ne va schimba vizibil creierul, eu am rezonat cu lista a cinci practici care induc fericirea.

    Nu este vorba de droguri, in lista nu este nimic care sa fie ilegal, imoral sau care sa ingrase.

    Spre surpriza mea (asta e dovada cat sunt de ignorant) lista, in ordinea importantei, este banala:

    1. Somnul

    2. Interactiunea sociala

    3. Spiritualitatea

    4. Voluntariatul

    5. Exercitiile fizice

    Nu comentez mai mult, nu sunt competent sa o fac, dar filmul merita vazut chiar daca uneori e dificil de inteles pentru ca Moran vorbeste foarte repede si o recunoste si el in filmul Decoding Thoughts and Dreams Using In-Brain Electrodes ca poate comunica la 300 de cuvinte pe minut.



Ultimele pagini: RSS

Alte adrese de Internet

Categorii

Istoric


Atentie: Continutul acestui server reprezinta ideile mele si acestea pot fi gresite.