Nova predikcija Anđela - Doorsi

Mozda je totalno irelevantno, ali zanima me da li bi tu u buducnostu bila prisutna mogucnost koristenje vegasa i renderovanje videa. Bas mi je maloprije palo to na pamet, jer sam shvatio da bi bilo puno brze da mogu uploadati video i renderovati ga remote nego sto to radim na ovom jadnom i3 laptopu xD
Ako takva mogucnost vec ima, cijenio bih i kada bi mi neko link ostavio :slight_smile:

Pa to vec postoji, koliko sam upoznat Srbi su to razvili. Logiras se na neku zvijer od kompa i tamo radis sav posao. Takodjer kod nas u firmi rade na isti nacin(projektiranje cruisera).

1 Like

misliš na frame? …

1 Like

Moguće je svakako, samo je pitanje koliko je daleko takva budućnost…

Naime, postoje izvjesna ograničenja koje može obavljati programski jezik koji se vrti u browseru, tako da bi taj posao morao biti izmješten na server. A sada zamisli ako su za takve poslove na granici naša kućna računala, koliko bi tek onda morao biti jak server koji bi taj posao obavljao za sve svoje klijente? Tu nastaje usko grlo za takve CPU zahtjevne aplikacije koje se ne mogu odrađivati na klijentovom računalue preko browsera.

No…što se tiče izmještanja takvih operacija na server…tu se pak otvaraju jedna nova vrata. (Koja su doduše otvorena i windowsu da tako umreži računala).
Fora je da se računala mogu umrežiti i njihova CPU snaga ujediniti da riješe jedan zadatak.

Tako ako su u mreži spojeni Miki1, Miki2, Miki3 …Miki1000 i neka svi oni rade nešto jednostavno osim Mikija1000. To znači da imaš neiskorištenu CPU snagu x 999 puta koje stoje za badava. Većina arhitekture društva i računala je takva da je upravo to situacija…većina CPU-a nam uglavnom leži beskorisno…a onda kada neko računalo zatreba CPU, onda ga nema dosta niti sam za sebe da nešto izrenderira…ili obavi neki drugi teži zadatak.

Što tjera cijelu zajednicu da predimenzinira svoja računala kako bi bila dovoljno jaka (za peak potrebu) …tj za ono malo vremena kada ćemo taj CPU trebati. U inžinjering pogledu, to je puno bačenih i neiskorištenih resursa. (Većina resursa leži većinu vremena neiskorišteno)

Zato je ideja kojom će svijet otići prije ili kasnije …da se sva računala umreže … i onda kada ti renderiraš video u tom momentu sva računala svijeta rade za tebe i ti renderiraš video u trenu oka. Bez praktički da si osjetio da si radio išta zahtjevnije…

Naravno, da bi tu uslugu mogao dobiti…mora i tvoje računalo biti u mreži i raditi za druge.
Taj rad će se obavljati kroz identičan proces koji sada služi za kopanje Bitcoina, samo će umjesto toliko “uzaludno” bačene energije, ta energija obavljati koristan rad. Mislim, da ne bude zabune… niti je sada uzaludno bačeno to što se rudari BTC …ali kada se taj rad usmjeri u nešto, onda će efikasnost sustava biti još veća.

Svakako, da bi kao društvo došli do toga …ima još puta pred nama, ali nije to tako niti daleko pošto smo već na mala vrata dobili blockchain tehnologiju koja je pretača da se ostvari takvo umrežavanje.

Plus ovo što je opisao @drmrgood …ali to je poprilično ekvivalent kao da si iznajmio/posudio nečije računalo.
Ako postoje takve usluge… drži vodu. (Samo onima koji nude takve usluge nije baš jednostavno skalirati…)

Vise o tome ima ovdje: Pre pet godina Frame je bio samo ideja. Danas Microsoft i ostali investiraju $16M u nas. | Istok Pavlović
Da, zove se frame, nisam se mogao sjetit.

1 Like

Znači dobro su Anđeli rekli 5 godina, hehe

samo su okasnili skoro 10-ak hehe

Kako znaš da su kopirani? Da li postoji neki event koji se okine sa servera kad ta akcija bude gotova? Šta u tom slučaju koristiš za notificirati aplikaciju da je akcija izvršena? Ne zanima me kako kopirati 100GB podataka, zanima me samo kako aplikacija dobije povratnu informaciju da je 100GB kopirano ispod jedne sekunde.

Kad se već poistovječuješ sa Frame startupom, jel možeš vrtiti Adobe Photoshop na Doorsima?
Jel možeš pokrenuti bilo koji program, a da ga ti nisi napisao? Naravno da ne možeš. Nisi ni blizu tome, ni idejom ni realizacijom :wink:
Al nemoj se hvatati za ovaj dio, rađe odgovori na prethodna pitanja.

Ja znam jer sam napravio sustav.

A korisnik zna tako što može instantno nakon akcije kopiranja uređivati original ili kopiju neovisno jedno od drugoga.
To je uostalom target koji se želi ovdje postići kopiranjem, a što se dešava u pozadini da se to omogući je korisniku manje bitno.

On želi:

  • kopirati i uređivati neovisno kopiju od originala
  • ili kopirati i proslijediti nekome drugom korisniku tu kopiju, kako taj drugi korisnik mijenjanjem kopije nebi uništio njegov original.

Ako je to dvoje postignuto, korisnik se može u potpunosti ponašati kao da je original kopiran. A u kojem obliku ta fizička kopija postoji ili nepostoji na serveru, njemu to nije bitno.

Pitanje. U kojem dijelu taj projekt prekida suradnju sa serverom na kojem se vrti, i biva nešto novo?
Pretpostavljam da u pozadini ima web server, a kodiranje je u layer 3 ili 4, nikako 1 ili 2. U kojem dijelu je aplikacija (os) samostalna, mislim za komuniciranje sa hardverom (backend). Pretpstavljam da prema korisniku ovisi o pregledniku i to je ono što diktira pravilno UX oblikovanje?

Daj malo detalja… Ne tajni, ili kodova, nego logiku i ono po čemu je posebna…

Nisam siguran da razumijem pitanja, no pokušat ću odgovoriti.
A što se tiče detalja, ima toga puno da bi o svem pričao… ako bude konkretno pitanje (koje razumijem xd) odgovorit ću.

Pa ja iskreno nigdje ne tvrdim da je ova ideja posebna, naprotiv…velim da sigurno i drugi idu u ovom smjeru, jer ovo je na neki način neizbježni način korištenja računala u budućnosti… selidba u cloud, gdje će kućne mašine biti samo uređaji sa komunikaciju sa tim cloudom. Prednosti su mnogobrojne …

  • veća sigurnost podataka
  • veća dostupnost podataka (Od bilo kuda, bilo kada …sa bilo čijeg računala radimo kao da je naše. Isto kao i sa mobitela…)

Što se tiče Doorsa, tek sam otvorio vrata u tom smjeru…da ne bude zabune…da pomisliš da se odmah gore može instalirati Adobe, ko što ovom ispred tebe padoše na pamet…

Što se tiče memorije i filesystema koji sam spomenuo…to je bitan dio. Zato jer onaj tko će raditi aplikacije za Doorse, kreće od točke gdje mu je ulazni parametar neki podatak iz memorije filesystema. ( što znači da je user otvorio neki file iz svog filesystema koji je tako pokrenuo njegovu aplikaciju)

Što će reći da developer aplikacije radi samo alat za obradu i kreiranje tog memorijskog podatka. Što će reći da čitavu aplikaciju možeš napraviti samo u HTML/CSS/JS+ bez da si taknuo u bazu i serverski jezik.

JS+ ima plus, zato jer on ima sve što i JS + ono što podržava Doors kompajler. Znači to je obogaćen Javascript putem kojega se može više toga definirati nego sa običnim JS-om. Neke od tih instrukcija se prevode i u serverski jezik …o čemu dev aplikacije ne morati niti biti upoznat. Tako npr. postoje novi tipovi varijabli: Novi tipovi varijabli - kako vam se čine i kako bi ih nazvali … koji da bi se ostvarili nastaju zajedničkim radom servera + clienta, a dev aplikacije treba kucati samo novu deklaraciju varijable…tipa: “uservar x” i dobije puno pozadinske logike na gotovo.
Ta JS+ sintaksa će se obogaćivati putem po potrebi … glavno je da sada postoji točka kompajliranja koja dopušta rast i razvoj te sintakse…

Što se time dobiva?
Pa dobiva se da osoba sa malo znanja (samo HTML/CSS/JS) može praviti bogatu aplikaciju…koja već ima u sebi ugrađene usere, inbox, povezivanje usera u timove…itd…itd… sve to svaka nova Doors aplikacija dobiva na gotovo, kao što svaka nova windows aplikacija dobiva windows okruženje na gotovo. Ne moraš tipa kretati iz DOS-a i graditi cijelo UI sučelje itd…itd…za svaku sitnu “pizdariju” od aplikacije, nego se zato služiš windowsima kao startnom točkom. Tako ovdje krećeš od startne točke Doors, koji već u sebi nudi sve ono što treba svaka moderna web aplikacija.

Ja osobno to vidim drastičnim boost-om u produktivnosti jer sve te frame stvari će se uvijek rješavati samo na jednom mjestu (Doorsi) i sve aplikacije koje će se publishirati preko Doorsa će automatski dobivati nadogradnje tog frame-a …ko što i windows aplikacije uživaju svaku novu verziju windowsa. (Oke, uživaju dok god je backward compatible, hehe …ako nije, gubi se uživancija xd)

I to je strogi DRY koncept, da se iste stvari ne ponavljaju bespotrebno više puta…ta neće svatko tko pravi novu aplikaciju praviti svoje windowse. Na webu se to upravo dešava …isti/sličan frame aplikacije nastaje gotovo sa svakom novom modernijom web aplikacijom. Twiter, facebook, Ovaj forum …svi oni trebaju iste stvari: usere, inbox, povezivanje usere u timove…itd…itd… ima toga hrpetinu stvarno.

Evo koliko malo codea je potrebno da se doda bazična aplikacija, u ovom slučaju texteditor (obična textarea) koja se otvara ako korisnik klikne dblClick na file.txt i koja može mijenjati taj file u filesystemu:

var test_textApp = function(){
	
	var instance = this;
    //config section
	instance.title='Texteditor'; 
    ....
    ....
 
	/*
	parametri koje app nasljedi nakon što ju Doors inicijalizira...
		instance.$content;
		instance.$get('element_aid')
            ....
            ....
	*/

	return instance;
}


test_textApp.prototype.onOpen=function(fileContent){
	
	var instance=this;
	var html = "<textarea aid='text'  style='height:100%;width:100%'></textarea>";

	deffer(function(){

		var textarea = instance.$get('text');
		textarea.value = fileContent;

	});

	var send = {html:html};
	return send;

}

test_textApp.prototype.onSave(){

	var instance=this;
	return instance.$get('text').value;

}

U suštini samo se definira onOpen() metoda koja prima sadržaj iz file-a kojeg korisnik otvara …i ta metoda vraća HTML/JS/CSS koji oblikuju prozor u kojem se aplikacija prikazuje korisniku. Doorsi brinu o tom prozoru i vanjskom okruženju tog prozora …a sadržaj prozora oblikuje app sa onim HTML/CSS/JS koji se kreiraju na onOpen().

App još samo mora deklarirati metodu onSave() koja se trigira onog momenta kada korisnik odluči spremiti ono što je radio sa aplikacijom. Tada taj content koji vraća onSave() metoda opet oblikuje file koji korisnik samostalno odlučuje koji će biti. Aplikaciju se to ne tiče.
Ono što će app izmjenjivati sa fileSystemom će biti puno bogatije od ovako raw sadržaja… no i ovo je varijanta…

Ovo je najsuroviji prikaz … što je aplikaciji potrebno da se uključi u Doors sustav. …a target je upravo to da se sa jako malo code-a kreće iz jedne već vrlo visoke točke pred publishiranje aplikacije.

Zamisli samo da hoćeš napraviti ovakav primitivni editor…a da zbog toga moraš cijeli sistem dići iz nule… i sve konfigurirati. Ovdje taj system unaprijed postoji i on je poletna točka za početak razvoja nove aplikacije.

Tipa možeš imati ideju za neku jednostavnu aplikaciju i prodajni potencijal iste…a može te skuplje vremenski koštati integracija kartičnog plaćanja i payPal-a nego izrada same aplikacije. A sa Doorsima dobiješ mogućnost naplate svoje aplikacije na gotovo.

Tako gore gdje vidiš da aplikacija definira title parametar u sekciji konfiguracije …tamo će developer samo kroz parametre birati koliko tipa aplikacija košta konačnog usera, koji su načini trial verzije prodaje aplikacije itd… a o distribuciji i izvedbi toga brine sustav Doors i profit od prodaje te aplikacije prosljeđuje na račun autora aplikacije. Znači, preskaču se ogromni koraci … pogotovo za nekoga tko niti nebi znao to sve samostalno izvesti. …a sposoban je da kuca HTML/CSS/JS i da kreira nešto pametno i korisno. (Naravno, Doors može ako želi definirati proviziju od svega što se proda preko njega.)

Heto…nadam se da sam bolje dočarao koncept… a što se tiče tvojih pitanja u nastavku…

Nisam najbolje razumio. Doors u svojoj biti jeste isto što i svaka web aplikacija, ali podržava pokretanje novih aplikacija unutar sebe.

Također postoje unutar njega predkompajleri i JS-a i PHP-a …tako da su mogućnosti razne što će se od toga napraviti. Cilj je svesti sintaksu php+js na univerzalnu sintaksu JS+ koju kuca developer … koji jednog dana neće niti znati koja čudesa se dešavaju u pozadini, ko što niti ja ne znam koja čudesa napravi browser od Javascripta koji ja kucam za njega…i kao što nitko od nas više ne zna kako se jezici koje mi kucamo prevode skroz do assemblera i tih najnižih razina određenih procesorskih jezika…
Sve je to evolucija programskih jezika na djelu… čim prolaze novi sloj kompajliranja.

Server se vrti na php-u (zasad, ne znači da će uvijek biti tako) … i trenutno je ograničen mogućnostima PHP jezika.

…ako sam išta uspio odgovoriti od tvojih pitanja, jer su mi malo mutna. No dočarao sam gore koncept i problematika koja se rješava, pa su možda sada stvari jasnije. :wink:

Opet, ni na najednostavnije tehničko, arhitekturalno pitanje nisi dao odgovor, već mi pričaš o tome šta korisnik želi? :man_facepalming:

Uglavnom, to šta tebi request vrati success ne znači da se nešto stvarno i dogodilo. Malo bolje to testiraj pa ćeš vidjeti. Ovo o čemu ti pričaš je moguće jedino na način da sve držiš uvijek na jednom mjestu, i samo dodaš symlink na novu putanju. I eto 100GB “kopirano” na drugo mjesto u manje od sekunde :joy:

Da li možeš kopirati 100GB na moj server koji vrti Doorse za manje od sekunde?

Komplicirano i nepotrebno.

Tu dolazimo do potreba rest-api servisa, mikroservisa, sigurnosti, baza podataka itd.

Olako se shvacaju problemi i daju rjesenja.

Imam zahtjeve za db cluster od 5 servera i 3 web servera, i svaki server od 32 cores i 512 GB rama.

Kako cu to na dorsima imati?

Ovo šta on radi je klasični monolit, skalirati možeš samo vertikalno dok se sve ne raspadne u 3 pm.

Automatski testovi se vrte jedno 7 minuta… i na tisuće kombinacija se tada testira …

Velim ti što se dogodilo…u sistemu nastaju dvije nezavisne kopije i user može nakon toga svaku od njih nezavisno uređivati.

U tom slučaju to nebi bile nezavisne kopije, nego bi uređivanjem jedne kopije mijenjao i drugu.
Ja niti ne tvrdim da fizički duplam memoriju, ali potižem ono što se traži. A to je da nakon kopiranja postoji kopija identična originalu i da se svaki od njih može nezavisno uređivati od drugoga. Time to nazivam kopijom, a što se točno dešava sa memorijom je igra.

Kada kazem da nastaju dvije nezavisne kopije unutar sistema… to znači da su unutar sistema. Svako napuštanje kopije sistema je moguće, no onda sam ograničen ili downloadom ili mogućnosti brzine tvoga servera da primi kopiju.
U svakom slučaju, kako korisnik manipulira filesystemom koji za njega postoji samo unutar Doorsa, tako on niti ne može kopiju slati na tvoj server prije nego ju downloada. Što za njega znači da se svaka kopija unutar Doorsa stvarno ponaša kao kopija… no isto tako to ne znači da on može birati gdje će te kopije osvanuti. (Tipa na tvom serveru). Takvo kopiranje ga onda ne štiti od toga što će biti ako grom zvekne u Doors server… jer sve te kopije su dostupne isključivo na serveru. No to kopiranje i ne predstavlja kopiranje u svrhu backupiranja podataka i bijega od mogućeg groma?.. jer čemu za to backup na istom serveru?

No što se tiče backupiranja podataka u svrhu zaštite od “groma”… Doorsi o tome samotalno brinu i prave fizički odvojen i zaštićen backup. Nije na useru da o tome razmišlja. Takav backup se istina ne odvija ispod sekunde (odvija se normalnim brzinama)… ali sasvim i nepotrebno, jer u niti jednom momentu user ne čeka taj backup da se kreira. To ide po automatizmu u pozadini.

A ono dok user manipulira svojim podacima i dok nešto kopira… to ima instant na raspolaganju nezavisne kopije. Dvije…ili koliko god ih napravi…i bez obzira ako će kopirati i 1000GB :slight_smile:

Znači ako sam dobro shavtio, u tom tvom file manageru ako uploadam jednu sliku, pa ju zatim kopiram, I dalje imam jednu sliku? Ili ima dvije slike? Ako imam jednu, onda ustvari nisam ništa kopirao. Ako imam dvije, a zauzeće memorije je ostalo isto i nakon kopiranja, onda opet ništa nisam kopirao.

Jel verziranje, nesto kao git?

A što je sa potencijalom? :slight_smile:
HINT: Svemir je potencijal svih mogućnosti, što ne znače da su sve ostvarene ovdje i sada.

Neznam po kojim ti kriterijima zaključuješ dali kopija postoji ili ne, ali ja ću ti ponoviti još jednom svoj kriterij koji kaže:

Nakon kopiranja slike, user može pristupiti svakoj od slika (originalu A i kopiji B)…te ako uredi sliku A u nekom image editoru (koja je original od B) B se neće promjeniti od onoga kakva je bila nakon kopiranja.
A ako uredi sliku B (koja je kopija od A) …tada se A neće promjeniti od onoga kakva je bila ranije.

Tvoja pretpostavka koja leži u tome da je nešto kopirano samo ako se poduplala memorija, dolazi samo iz toga što ne vidiš način da nešto kopiraš, a da ne poduplaš memoriju.
No uvjet kopijama je:
1. A je identičan kao B (nakon kopiranja)
2. A je nezavisan od B i obratno

Tvoj uvjet što očekuješ da se memorija mora poduplati da bi prihvatio da je nešto kopirano…uopće nije nužan uvjet da bi ostvario gornje uvjete za ponašanje kopija A i B.

Znači A i B postoje nezavisno i korisnik može svakoj od njih nezavisno pristupiti od one druge.
Hoćeš li ti to zvati kopijama ili ne (samo zato što ne razumjiješ kako sam to postigao na razini memorijskih sektora) …neće utjecati na ponašanje tih kopija.

Ja ti objašnjavam kako se sustav ponaša, a ti to zovi kako ti je drago.
Gumbić je svakako nazvan “Copy” i za konačnog usera neće biti nikakve razlike u procesu kopiranja…osim toga što će moći kopirati 1000+GB ispod jedne sekunde. Hoće li to korisnici prihvatiti zvati kopiranjem ili ne … ja vjerujem da hoće. :slight_smile: