Rainbowheart - ultimele 7 pagini

  • Cel mai bun film despre Karma

    19-Sep-2020 18:35 - 38 vizionari

    De cateva zile urmaresc filmele Cristinei Lopes si acest film este cel mai profund cand este vorba de Karma.


  • Istoria Pamantului si a Vietii - Documentar

    27-Jul-2020 18:32 - 133 vizionari

    Am gasit pe Youtube un film publicat cu un an in urma si nu stiu de ce Algoritmul mi l-a sugerat abia acum, dar nu imi pare rau:

    Cand este vorba de Creatia Lumii, a plantelor, animalelor si a Omului, pot spune, dupa ce am vazut acest documentar, ca Biblia si alte carti considerate sfinte sunt superficiale.

    Filmul este extraordinar si este completat de Istoria Pamantului de la Wikipedia sau invers.

    Dar filmul contine cel putin doua scapari si nu sunt eu o autoritate competenta sa decid asta:

    - Inainte de aparitia plantelor, pe uscat, mai intai ciupercile au proliferat. Ciupercile au aparut cu 1,3 miliarde de ani in urma. Ciupercile nu au nevoie de lumina soarelui, nu fac fotosinteza, dar au nevoie de oxigen (oferit in vremea aceea de cianobacterii) si de mineralele din sol. Miceliul ciupercilor a descompus si faramitat solul pietros si a creat, in timp, stratul fertil de humus. Micelul ciupercilor produce acid oxalic si alti acizi si enzime care dizolva piatra si permite ciupercii sa extraga calciul si alte minerale.  Dupa cateva sute de milioane de ani de la aparitia ciupercilor pe uscat, au aparut plantele.

    - Primatele NU au aparut inainte de explozia meteoritului, acum 65 milioane de ani, care a dus la disparitia dinozaurilor mari. La o cercetare mai atenta, am descoperit ca filmul are dreptate si ca primatele au aparut cu 70 de milioane de ani in urma, dar parerile sunt impartite (primatele au aparut cu 50-55 milioane de ani in urma, la 10-15 milioane de ani dupa disparitia dinozaurilor).

    Filmul ma arunca un pic catre ateism (se pare ca viata a avut suficient timp sa apara si sa evolueze fara ajutor extern) dar imi intareste si credinta intr-un zeu creator crud, numit demiurg de gnostici, care conduce un experiment in care numai fiintele biologice cele mai potrivite cresc si se inmultesc, restul devin extincte.

    Gnosticii spun ca yaldabaoth yahweh sau yaldabaoth saklas samael, pe care eu si altii il consideram zeul vechiului testament, a pacalit spiritul si l-a legat intr-o inchisoare materiala prin procesul de reincarnare. Conform Bibliei, stapanul lumii materiale este Satan si, de aceea, Satan il poate ispiti pe Iisus Emanuel oferindu-i lumea si, tot de aceea, Satan strabate lumea in sus si in jos in Iov 1:7.

    Vindecarea si alinarea sufletului (prin procesul de eliminare a necesitatii de reincarnare) vine din cunoastere, nu din minciuna si ignoranta.

    Filmul se termina cam sumbru, dar nu vom trai suficient de mult ca sa ne ingrijoram de asta, sau, iminent, daca ne vom reincarna, vom popula alte planete.


  • Cum sa pacalesti Inteligenta Artificiala

    16-Jul-2020 20:02 - 157 vizionari

    Inca ne mai amuzam pe seama robotilor si a programelor pe care le ruleaza, dar sunt sigur ca este inceputul sfarsitului de şagă cibernetica si cine rade la urma rade mai bine.

    Este interesant cat de repede evolueaza un sistem informatic si cat de bine se descurca la rezolvarea problemelor expuse vizual printr-un joc:

    Dupa cateva milioane de incercari, urmaritii au inceput sa blocheze usile si sa se apere de urmaritori, apoi, dupa zece milioane de simulari, situatia s-a schimbat cand urmaritorii au reusit sa repozitioneze o rampa, apoi iar situatia s-a schimbat, cand urmaritii au considerat ca la inceputul jocului prioritar este sa fure rampa si apoi sa blocheze usile cu cuburile, …

    Se pare ca Inteligenta Artificiala chiar evolueaza si chiar obtine rezultate prin metode neasteptate:

    Am descoperit cu surpriza ca algoritmul de pe serverul quick draw with google este capabil sa recunoasca stilul de desen si sa-l asocieze cu tema data, adica s-a intamplat de cateva ori ca un desen facut de mine sa nu fie recunoscut, dar, jucand in continuare, cand mi-a picat aceeasi tema si am desenat la fel, nu am apucat sa termin desenul, ca deja calculatorul ma anunta ca stie ce intentionez sa desenez. Impresionant este ca sistemul poate ghici si alte desene inainte sa termin de desenat, dar sa demonstreze ca a invatat sa recunoasca desenul meu este si mai impresionant.

    Alte experimente cu inteligenta artificiala de la Google: https://experiments.withgoogle.com/

    Cand robotii vor ajunge un pic mai independenti, se vor organiza ca insectele sociale (albine, furnici, termite, viespi) prin integrare in grup (comunicare wireless prin Internet) si diviziunea muncii (roboti culegatori, roboti gardieni, roboti reparatori, roboti senzori de patrulare si actualizare harta, …).

    Este inevitabil si astept cu interes (curiozitate morbida de inginer) invazia insectelor robot cu speranta ca biologicul va fi intotdeauna cu un pas inaintea ciberneticului.

    In seria Star Trek, borgii erau lenti si naivi cand erau abordati individual sau cand erau deconectati de la retea, dar se adaptau repede si informatia de adaptare era anuntata in toata reteaua, astfel puteau invata rapid din greseli. Nu trebuie subestimata puterea de calcul a retelei cibernetice, putere care intrece inventivitatea umana.

    Dar am incredere in solutia biologica pentru ca exista, se inmulteste si se adapteaza de peste 3 miliarde de ani, ocupand toate nisele lantului trofic.


  • Daca zeii ar fi fost culori ateistii nu ar fi trebuit sa existe

    06-Jul-2020 20:54 - 212 vizionari

    Cand este vorba de culori, degeaba incerci sa convingi pe cineva care nu percepe culorile (vede numai alb, negru si nuante de gri) de existenta culorilor sau de frumusetea curcubeului.

    Se stie ca in anumite conditii de iluminare, culorile sunt percepute ca nuante de gri si se mai stie ca exista anumite defecte genetice care impiedica pe unii sa perceapa anumite culori sau chiar ii determina sa vada numai in alb-negru.

    Dar filmul mai vine cu alta analogie interesanta: daca ar exista o colectie de carti antice in care culorile ar fi descrise, numarate si analizate, fiecare carte cu definitia proprie si numar diferit de culori, ba chiar cu afirmatii pompoase ca exista o singura culoare, dar e formata din trei, sau ca exista o singura culoare care nu se schimba niciodata, dar care la jumatea cartii sugereaza ca s-a schimbat (lasand Fiul sa se jertfeasca ca sa satisfaca orgoliul Tatalui), …

    Nu poti spune unei persoane care nu poate (genetic) percepe anumite culori (ii lipsesc niste celule-con din retina) ca nu se straduieste suficient de mult ca sa vada culorile.

    Analogie: nu il vad sau nu il percep pe Dumnezeu pentru ca nu ma straduiesc suficient de mult, dar tocmai stradania m-a indepartat si mai mult de perceptie: cu cat am citit mai mult din Biblie, cu atat mi-a venit mai greu sa cred in veridicitatea Bibliei si in consistenta teologiei (Crestine, pentru ca m-am nascut Crestin si sunt inconjurat de Crestini). Este dupa cum spunea Ion Aion (Ilie Toader) in cartea sa, Spovedania unui preot ateu, Intre religie si credinta este un raport de inversa proportionalitate: cu cat devine cineva mai credincios cu atat ii pasa mai putin de continutul religiei si invers: cu cat va cunoaste mai bine continutul propriei religii, cu atat ii va fi mai greu sa creada in ea.

    Romani 1:20 – Dumnezeu este usor de vazut si de inteles si oamenii nu au nicio scuza.

    Marcu 16:16 – Cine crede si e botezat va fi salvat, cine nu, va fi condamnat.

    2 Corinteni 6:14 – Credinciosii sa evite pe necredinciosi sau pe eretici, pentru ca lumina nu poate sa stea cu intunericul.

    Asta inseamna ca religia e simpla si usor de inteles, iar misionariatul si prozelitismul nu isi au rostul.

    Bunul simt (intuitia, experienta) imi spune ca nu poti intelege artistul doar din examinarea operei sale, doar poti detecta anumite afectiuni oftalmologice (glaucom la Van Gogh) sau neurologice.

    In Natura lantul trofic determina ca de milioane de ani majoritatea fiintelor vii sa isi piarda viata in chinuri cand sunt vanate si mancate de pradatori.

    Ce impresie ne face Zeul VT din studiul Bibliei? Ca exista un Creator sadic care cere jertfe sangeroase (jertfa lui Cain cu vegetale nu a fost placuta) sau care cere jertfe umane, ca este un savant nemilos care urmareste evolutia biologica a fiintei perfecte (pradatorul suprem), care sustine razboiul, violenta, foloasele necuvenite (din Tinutul Promis) si prada de razboi, …

    Pe de alta parte, tot bunul simt imi spune ca Pictura nu are capacitatea sa il inteleaga pe Pictor si degeaba il imparte in 3 si inventeaza o explicatie pe tema asta pe care o numeste teologie, sau ca este inutil ca Pictorul sa se jertfeasca pe El sau pe Fiul Sau (inca nu e clar daca Tatal si Fiul una sunt sau Fiul e una si cel ce l- a trimis e mai mare, dar e clar ca in Gradina Getsimani Fiul nu se ruga la el insusi), integrandu-se in Pictura ca Pictura sa fie salvata sau sa devina mai buna, cand putea sa o picteze perfect (estetic) de la inceput sau sa o distruga (prin Potop?) sau sa o vanda sau sa o dea cadou la dusmani si sa picteze alta …

    Nu ma hazardez sa aberez mai mult si sper ca in curand Fiinta Umana se va vindeca de religia organizata si se va concentra pe evolutia personala, nu pe mantuirea grupului.


  • Svelte

    22-Jun-2020 18:33 - 212 vizionari

    In minunata lume JS am gasit Svelte, un mediu de dezvoltare aplicatii Internet care chiar se lupta cu greii: Vue.js, Angular, React, AngularDart, …

    De doua saptamani studiez Svelte: mai intai copy/paste cateva exemple din tutorial sau teste online cu REPL, apoi o solutie cu websockets, ca o continuare la modulul LiveView, teste Svelte Material UI, teste SMELTE, aplicatii de editare formuri si liste definite in JSON, …

    Svelte este rapid (compileaza si redeseneaza aplicatia in mai putin de o secunda), codul rezultat ocupa putin spatiu (in proiectul meu 344 kb cod js compilat (190 kb fara fisierul map) in timpul dezvoltarii si 176 kb cod optimizat la final (64 kb fara fisierul map)) si usor de invatat.

    Ca orice mediu de dezvoltare din lumea JS si Node.js, si Svelte vine cu utilitarul sau de construire aplicatii plecand de la un sablon:

    
    # npx este un utilitar node.js
    # mai intai trebuie instalat degit
    npm install -g degit
    
    # apoi se creaza un proiect svelte bazat pe rollup
    npx degit sveltejs/template nume-aplicatie-svelte
    
    # sau un proiect bazat pe webpack
    npx degit sveltejs/template-webpack nume-aplicatie-svelte
    
    

    Dupa ce a fost creata aplicatia dintr-un sablon, dezvoltarea continua cu

    
    # instalare pachete necesare aplicatiei
    npm install
    
    # pornire modul de dezvoltare
    # in acest mod se compileaza proiectul in mod neoptimizat
    # si svelte asteapta ca un fisier din proiect sa se modifice
    # si la orice modificare proiectul este recompilat automat (modul watch)
    npm run dev
    
    # compilare optimizata si executata o singura data
    npm run build
    
    

    Este plin Internetul de exemple banale in Svelte, dar iata o solutie de meniu definit in pagina de pornire ne mai vazuta si ne mai auzita pana acum, mi-a luat 2-3 ore sa imaginez aplicatia bazata pe svelte-tabs si sunt impresionat ca se poate atat de elegant:

    
    <script>
      import { Tabs, Tab, TabList, TabPanel } from "svelte-tabs";
      import { count1, count2, count3 } from "./store.js";
      import Contor from "./Contor.svelte";
      import Test1 from "./Test1.svelte";
      import Test2 from "./Test2.svelte";
      import qrcode from "./QRCode.svelte";
      import tf1 from "./TestForm1.svelte";
      import tf2 from "./TestForm2.svelte";
    
      const menu = [
        { title: "Form 1", ob: tf1 },
        { title: "Form 2", ob: tf2 },
        { title: "QR", ob: qrcode, opts: { title: "Server URL", msg: "" } },
        { title: "cnt 1", ob: Contor, bindvar: $count1, opts: { cls: "btn1" } },
        { title: "cnt 2", ob: Contor, bindvar: $count2, opts: { cls: "btn2" } },
        { title: "cnt 3", ob: Contor, bindvar: $count3, opts: { cls: "btn3" } },
        { title: "Achiz 1", ob: Test1, opts: { title: "Ach 1", interval: 1000 } },
        { title: "Achiz 2", ob: Test1, opts: { title: "Ach 2", interval: 500 } },
        { title: "Achiz 3", ob: Test1, opts: { title: "Ach 3", interval: 100 } },
        { title: "Test 3", ob: Test2, opts: {} }
      ];
    </script>
    
    <style>
      :global(.svelte-tabs li.svelte-tabs__tab) {
        color: #110101;
        font-size: 1.5em;
        font-weight: 600;
      }
    
      :global(.svelte-tabs li.svelte-tabs__tab:hover) {
        border-color: #dee2e6 #dee2e6 #e9300f;
        color: #ff0000;
        background-color: #f3e9e9;
      }
    
      :global(.svelte-tabs li.svelte-tabs__selected) {
        border-color: #dee2e6 #dee2e6 #2b0fc9;
        color: #3f0eaf;
        background-color: #f0f0f0;
      }
    
      :global(.svelte-tabs div.svelte-tabs__tab-panel) {
        color: #2b0644;
      }
    </style>
    
    <Tabs>
      <TabList>
        {#each menu as item}
          <Tab>{item.title}</Tab>
        {/each}
      </TabList>
    
      {#each menu as item}
        <TabPanel>
          <svelte:component
            this={item.ob}
            bind:count={item.bindvar}
            {...item.opts} />
        </TabPanel>
      {/each}
    </Tabs>
    
    

    Mai intai se importa componentele Svelte in sectiunea <script> … </script>, apoi se defineste meniul ca o lista de obiecte JS si fiecare obiect are proprietati (title, ob, opts, bindvar), urmeaza sectiunea de stiluri, <style> … </style>, unde sunt redefinite stilurile meniului de navigare (nu era necesara, dar mi-a placut mie sa schimb un pic stilul meniului), apoi urmeza sectiunea de html, unde Svelte genereaza meniul conform listei.


  • Mecanismele de siguranta ale inimii

    01-Jun-2020 18:21 - 251 vizionari

    Din intamplare am dat peste un film Youtube despre cum sa citesti EKG.

    Spre surprinderea mea, am descoperit ca inima are cinci mecanisme de siguranta privind generarea ritmului cardiac: sinoatrial (sistemul principal), atrioventricular si inca alte trei.

    Daca semnalul sinoatrial (60 - 100 batai pe minut) este prea slab sau propagarea lui catre nodul atrioventricular este oprita de ceva, nodul atrioventricular preia comanda si genereaza el ritmul inimii (40 – 60 batai pe minut), daca esueaza si nodul atrioventricular, preia stafeta urmatorul mecanism (Bundle of His tot la 40 – 60 BPM), apoi, in caz de esec, celelalte doua mecanisme merg la 20 - 40 BPM.

    Consider interesant mecanismul din punct de vedere tehnic, pentru ca un mecanism asemanator se foloseste la majoritatea microprocesoarelor Microchip si probabil si la altele dar nu stiu eu: procesorul foloseste un oscilator extern, dar poate functiona si din oscilatorul intern si, daca este configurat sa le foloseasca pe ambele, oscilatorul extern este prioritar.

    Conform Wikipedia, nodul sinoatrial a fost descoperit in 1907 la cartita si asta inseamna ca mecanismul de siguranta al inimii nu este specific omului.

    Este interesant cum Evolutia, Creatorul sau ambii au creat acest mecanism.

    Inima mai are un sistem de siguranta: un bypas natural facut din vase de sange colaterale pentru situatia in care arterele sunt infundate.


  • Modul LiveView pentru serverul meu de aplicatii web

    20-May-2020 22:51 - 264 vizionari

    O incercare de apropiere de tehnologia Phoenix.LiveView folosind Python si JavaScript.

    Solutia este un modul (extensie de server) pentru serverul meu de aplicatii web, AppServer, si se numeste livedemo.

    Acum implementeaza 4 functii executate in server si accesibile din JavaScript din browserul de web: pub, call, init si get:

    
      // ws function to call server
      function wsSendVars(ob) {
        ws.send(JSON.stringify({ type: "pub", data: ob }));
      }
      function wsCall(name, args) {
        ws.send(JSON.stringify({ type: "call", data: name, args: args }));
      }
      function wsInit(name, value) {
        ws.send(JSON.stringify({ type: "init", data: name, value: value }));
      }
      function wsGet(name) {
        ws.send(JSON.stringify({ type: "get", data: name }));
      }
    
    

    Se pot executa comenzi (call) in server si rezultatul se poate trimite la toti clientii conectati (pub).

    Imediat dupa incarcarea paginii de web variabilele folosite in popularea paginii pot fi initializate (init) daca nu au o valoare de pornire, apoi pot fi aduse in memoria browserului si afisate in diferite locuri in pagina web (get).

    Websocket Live Demo

    Demonstratia consta in modificarea unui contor si implementarea unui chat.

    Tagurile folosite in html sunt << @variabila >>, << ?variabila valoare_intiala >> si << !nume_functie un_singur_argument >>.

    In urma preprocesarii, tagurile definite intre << si >> sunt izolate, transformate si inserate in codul html ca taguri <span></span> cu id unic si apeluri JavaScript.

    Sunt ceva probleme cu sesiunea http (Beaker Cache and Session Library) pe partea de websocket, dar cu putina atentie, securitatea nu este compromisa.

    Pe partea de server implementarea celor 4 functii:

    
    while True:
        data = wsclient.receive()
        if data is None:
            # client disconnected
            break
    
        # expect json data to be a python dict
        msg = json.loads(data)
        msg_type = msg.get('type')
        data = msg.get('data')
    
        if msg_type == "get":
            self.broadcast({data: self.vars.get(data)})
    
        if msg_type == "init":
            value = msg.get('value')
            if not self.vars.get(data):
                with self.lock:
                    self.vars[data] = value
    
        if msg_type == "pub":
            with self.lock:
                for k, v in data.items():
                    self.vars[k] = v
            self.broadcast(data)
    
        if msg_type == "call":
            args = msg.get("args")
            func = self.funcs.get(wsclient, {}).get(data)
            if func:
                func(args)
    
    # client disconnected
    with self.lock:
        self.clients.remove(wsclient)
        try:
            del self.funcs[wsclient]
        except:
            pass
    


Ultimele pagini: RSS

Alte adrese de Internet

Categorii

Istoric


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