Sep 11

Unele meserii pot rezolva problemele altor meserii destul de lejer. Daca intrebi un sahist care este problema fotbalului romanesc probabil iti va spune ca nu il intereaza. Daca intrebi un programator care e problema fotbalului romanesc iti va raspunde simplu: baza. Ce inseamna baza: fotbalul se joaca pe un teren, cu 2 porti si o minge, daca nu ai teren, 2 porti si o minge nu poti juca jotbal, corect. Pentru a juca fotbal ai nevoie de alti coehipieri si probabil adversar. corect. Un fotbalist se antreneaza 4 ore pe zi timp de minim 10 ani pentru a ajunge in liga 3.. asta inseamna ca daca vrei sa ajungi fotbalist ai nevoie de multe ore de joc. Copii din ziua de azi trebuie sa bata mingea zilnic pe un teren. Oops. Ce terenuri sunt libere langa casa lui? niciunul: terenul scolii s-a inchis are nocturna dar si lacat, strada nu mai poate fi folosita pentru ca e plina de masini si soferi nervosi, parcul e departe, etc. Cati copii antreneaza Romania la fotbal gratuit in acest moment… cel putin 1000.. probabilistic inseamna 1 posibil jucator de liga 3 gratis peste 10 ani. Scolile de fotbal gratuite sunt rare si la fel probabilistic nu au cum sa aiba o baza de selectie mare, deci mai ies si de acolo 1-2 jucator de liga 2. Solutie: terenuri publice liber accesibilite copiilor, altfel copii nostri vor juca fotbal doar pe mobil sau pe smart tv.

Jan 01

Timpul ne joaca feste.. si iar a mai trecut 1 an. Pentru a incetini timpul trebuie sa intram in ‘demo mode’ si sa dam tot ce e mai bun din noi. ‘Slow motion’ este senzatia pe care o ai cand creierul functioneaza la viteza maxima si perceptia despre realitate este mai intensa. Sunt unele zile in care timpul zboara mai repede ca de obicei (asta e un semn ca creierul tau/meu se relaxeaza), sau zile cand timpul trece mai greu (asta inseamn ca creierul percepe mai mult din realitate, si e bine in zilele astea sa te gandesc si la viitor ca ai sanse mari sa descoperi ceva ce nu ai putea altfel). Daca nu renunti niciodata o sa reusesti sa ajungi sa realizezi ce iti propui, singurul ajutor pe care il ai este creierul tau, si ar fi bine sa-l percepi si pe el ca un sistem de calcul mai performant ca oricare altul.

Aug 13

Acest domeniu este in faza de copilarie si probabil aici se vor bate greii softului pentru stabilirea unor standarde/patente sau cum vreti sa le numiti.

Pana acum avem:

- Algoritmi de cautare. Probabil cele mai vechi si cele mai bune. Spatiul solutiilor e cunoscut si de obicei imens si algoritmii doar cauta solutia optima pe baza unor estimari. Nimic spectaculos, totul e reduce la viteza de cautare si forta de procesare.

- Algoritmii folositi in prezent sunt bazati pe invatare cu definirea clara a problemei si antrenarea programelor pentru a raspunde corect la testele predefinite. Iesirea din aceaste norme proiectate este imposibila, algoritmul nu face fata la noi provocari, dar raspunde excelent (aproape uman) la problema pe care a fost invatat s-o rezolve. Tip de probleme rezolvate: recunoastere scris/vorbire, etc.

- Algoritmi bazati pe statistica si sunt definiti pentru a rezolva probleme specifice. Ideea e simpla: avand o baza de date imensa e usor sa calculezi probabilitatile de aparitie a unei cerititudini si sa oferi in mod statistic un raspuns. Tip de probleme rezolvate: traduceri, previziuni, probleme decizionale, etc.

- Algoritmi bazati pe praguri. Se defineste problema se seteaza niste niveluri min/max pentru datele de intrare si rezulta anumite informatii care pot fi folosite mai usor la incadrarea in solutie. Acesti algorimi sunt specifici procesarii in timp real a informatiei. Tip de probleme rezolvate: recunoasterea formelor, etc.

 

Toate solutiile de pana acum rezolva probleme clare, bine definite la inceput, variatiile sunt minore  si precalculate sa nu dea peste cap algoritmul prin teste si reglaje fine. Combinarea lor practic ajuta. Dezvoltarea tehnicii le fac inmbatabile pe teritoriul lor.

Nu exista inca un algoritm sau o metoda care sa se aplice general la orice tip de problema. Logic e si imposibil de definit o problema la care nu stii nici macar care va fi problema. Odata inventat algoritmul general de invatare s-a inventat si AI-ul si industria softului da faliment subit, locul lor va fi preluat de AI.

Feb 19

Pare un titlu pompos, dar facem un mic experiment de SEO, puteti sa scuzati titlul.

Intotdeauna retetele de realizare de proiecte au la baza unele ingredinte care se combina intr-un echilibru perfect. Daca unul din ingrediente este intr-o cantitatea mai mare reteta nu duce nicaieri. Proiectele IT indiferent de dimensiunea lor si de cine le realizeaza trebuie sa respecte si sa combine elemente diferite.

Horoscop: arta de a spune ce se vrea auzit, se aplica in IT prin crearea unei interfete pentru destinatarii proiectului, cei care vor folosi aplicatia, daca ei nu o inteleg si nu e usor de invatat, proiectul IT e un semiesec.

Magie: arta de a insela simturile, se traduce prin folosirea unui secret in realizarea proiectului IT. Secret care permite realizarea proiectul in cel mai scurt timp cu cel mai putine resurse. Oricine poate creea orice daca are suficiente resurse si timp.

Stiinta: arta de a invata din experienta, permite folosirea si imbinarea proiectelor vechi care au fost testate si optimizate din toate punctele de vedere de-a lungului timpul.

Daca luati orice proiect doriti si il studiati dupa cele trei reguli o sa realizati ca imbinarea lor este aproape perfecta la proiectele reusite.

Oct 05

Am fost extrem de ocupati in ultima perioada si probabil singurul lucru care ne lipseste e timpul. Unde se poate cumpara timp? Se pare ca singura resursa inestimabila e timpul. Cine ar fi crezut.

Cum poti sa castigi timp? Externalizezi tot ce nu-ti place sa faci si faci doar ce-ti place. Pentru o firma s-ar traduce ca apelezi la servicii care te ajuta sa faci doar ce conteaza. Desigur asta inseamna ca trebuie sa cauti cele mai bune variante, deci timp pierdut pe termen scurt si castig in perspectiva.

May 16

Sambata am primit o invitatie la spectacolul dedicat lui ASIMO desfasurat la showroom-ul Asko. Am vazut la lucru un robot construit cu un efort deosebit fara aparente beneficii.  De obicei orice forma de cercetare aduce dupa sine descoperiri care intr-o forma sau alta pot fi folosite la crearea de tehnologii mai bune. Daca stam sa analizam un pic cum e realizat ASIMO se pare ca merge cu hidrogen si e evident ca propulsia pe baza de hidrogen pare sa fie de viitor. Asta ar fi cel mai evident beneficiu adus pentru Honda de ASIMO, perfectionarea propulsiei pe baza de hidrogen.

Noi fiind o firma de soft ne intereseaza softul lui ASIMO. Aici progrese sunt destul de limitate pentru ca ASIMO executa niste rutine prestabilite fara prea multe variatii. Imbinarea softului cu hardware-ul este aproape perfecta la ASIMO si toti ne-am dori ca si calculatoarele noastre personale sa mearga si sa vorbeasca cu noi. Cred ca pe cei de la HONDA ii intereseaza mai mult recunoasterea vorbirii si mai putin inteligenta artificiala ca produs.

La iesire ne-a asteptat noul Honda CR-Z care arata mai bine ca in poze.

May 05

Muncitorii perfectii pentru internet par sa fie de departe robotii/botii sau oricum vreti sa le spuneti, sunt programele care ruleaza pe ascuns sau nu si care nu fac decat sa caute si sa posteze informatii prestabilite de proprietari in scopuri comerciale in cele mai multe cazuri. Reteaua lor se extinde destul demult si probabil vor exista tot felul de probleme cauzate de acesti roboti.

Diversificare serviciilor web oferte gratuite pe internet creste, dar aceste servicii sunt dedicate oamenilor si nevoilor lor. Ce-ar fi daca ar exista roboti inteligenti care sa te ajute in munca de zi cu zi, in special cu activitatea mai putin relaxanta? Ce pot face astfel de roboti pentru tine? E destul de greu sa se gaseasca un patern general valabil care sa raspunde la aceasta intrebare pentru toti, dar in functie de o nevoie sau grup de nevoi exista o solutie pe baza de roboti. Ce credem noi ca poate fi realizabil este crearea unei aplicatii pe baza de roboti care sa ofere in mod transparent un model de lucru care sa unifice serviciile gratuite (fiecare cu functionalitatea lui) intr-un soi aplicatie completa de bussiness capabila sa respunda tuturor problemelor posibile prezente sau viitoare. Sigur daca afacerea are nevoie de ceva el exista sub forma de serviciu si este deja facut si trebuie doar integrat, si se poate face cu un robot care sa inteleaga serviciu si sa se muleze cu aplicatia existenta.  Singurul inconvenient pentru un astfel de sistem de lucru este conexiunea de internet, dar si aici se poate face o solutie de compromis.

Pare ceva ce trebuie explicat pe un caz concret. De exemplu sa luam o firma care vinde aspiratoare online. Aceasta firma are nevoie de o aplicatie care sa faca oferte, sa stie sa faca proforme/facturi, stoc, contabilitate, site de prezentare cu preturile actualizate etc. Toate acestea existe sub forma de servicii intr-o forma sau alta dar niciodata nu exista o solutie integrata complet… Ar fi imposibil de creat. Cum se poate crea o astfel de solutie? Credem ca singura solutie in momentul de fata este oferita de acest roboti. Toate bucatile se integreaza la nivel de functionalitate si nu la nivel de date. Datele vor fi impartite pe servicii, iar functionalitatea va fi oferita de roboti. Practic omul va da comenzii si cineva va raspunde la aceste comenzi folosindu-se de datele aflate in mai multe locuri. Desigur aceste comenzii trebuie create pentru a putea fi folosite, dar partea frumoasa e ca ele trebuie create o singura data pentru orice tip de nevoie. In plus afacerea ta este cu totul pe internet.

Astfel se creaza o fabrica de roboti care daca e facuta corect de la inceput se populeaza o singura data si va raspunde oricarei afaceri.

Nov 08

Google se extinde in aproape toate ariile conexe internetului. Se prefigureaza un sistem de operare bazat pe un browser de web (care e cel mai rapid de pe piata). Interfata in care faci aplicatii pe acest OS va avea la baza standardul de azi pentru web. Zilele trecute google-ul a pus la dispozitie o componenta cheie din inima aplicatiilor de Google Docs si Gmail, care credem noi va juca un rol important in dezvoltare de aplicatii pentru viitorul sistem de operare.

Nu mai spunem de android 2.0 care deja lansarea lui a scazut valoare la bursa a unor software developeri pentru gps-uri si harti. Android 2.0 are gps pentru masina gratis pe baza de google maps. Probabil ca asa se va intampla cu toti dezvoltatorii de soft.

Viitorul Google OS va avea la baza linux-ul si probabil o interfata care sa fie cat mai usor de folosit. Probabil ca vor stabiliza cumva API-ul de linux si vor pastra compatibilitatea aplicatiilor dezvoltate vechi la viitoarele versiuni.

Practic Google ataca toate ramificatiile web-ului si va oferi in curand o platforma unica pentru device-uri mobile, netbookuri, laptopuri, adica anticul browser de web intr-o firma zvelta.  Forta de dezvoltare de soft pentru google deja este ametitoare… nu cred ca exista alta companie care sa scoata pe banda rulanta aplicatii de web,  majoritatea lor cu potential pe termen lung.

Ce lispseste Google-ului este posibilitatea de a oferi internet gratuit la oricine cumpara un mobil.. dar cand o sa gaseasca o solutie atunci internetul va exploda in sfarsit pe device-uri mobile. (cred ca se va numi gooble)

Oct 24

Zilele acestea s-a lansat Window 7, pe care nici nu l-am vazut la fata. Peste cateva zile se lanseaza Ubuntu 9.10 (linux). Pentru cei care nu stiu linux-ul este un OS ca si Windows-ul sau Mac OS-ul. Linux-ul e facut de-a lungul anilor de oameni cu timp liber sau angajati din companii care cred in el. O sa detaliez putin parte ascunsa, mai tehnica pentru a putea trage o concluzie.

Noi suntem o companie mica axata pe programare, cunoastem indeaproape toate api-uri de pe linux, windows, mac. Din punctul nostru de vedere windows 7 nu reprezinta o zona de interes la nivel de API… ce a fost in trecut, e si acum si probabil va fi si mult timp de acum incolo, acelasi API care se corecteaza pe aici pe colo, care trebuie sa fie la fel pentru a pastra compatibilitatea cu aplicatiile vechi. E un sistem destul de stabil din punctul asta de vedere si probabil o platforma care doar se upgradeaza din deceniu in deceniu. Windows XP probabil va dainui inca mult timp de acum in colo, cu toate incercarile lui Window 7 de a arata mai bine.

In schimb api-ul de linux-ul, lasand la o parte bibliotecile de baza, nu pastreaza o compatibilitate decat la nivel de cod, o aplicatie care a mers in trecut probabil ca nu va merge decat daca se recompileaza… asta inseamna costuri supliementare, dar beneficiile sunt ca se mentine o stare de sanatate a codului in timp si e loc de inovatie la orice nivel. Ubuntu 9.10 (care este o distributie pe baza de linux) nu scapa de aceasta probleme doar ca face treaba mult mai bine si utilizatorii finali nu simt aceste updatari constante in librarii. Linux este masiv folosit pe device-uri care au o functionalitate specifica si mai putin ca desktop.

Un alt sistem de operare este Mac OS. La nivel de API are la baza unix-ul (care este similar cu linuxul), si un api de interfata proprietar , similar in multe astecte cu api de windows. Mac OS beneficiaza de aceasi metoda de insanatosire a codului vechi prin renuntarea constanta la aplicatiile vechi (care sunt fortate sa se updateze la noul API in caz ca e exista intereses comercial). Deci Mac OS-ul e cumva la jumatate intre linux si window.

Din punct de vedere financiar ierarhia e destul de clara:  Mac OS-ul costa cel mai mult (vine si cu hardware si nu prea poti sa schimbi hardware-ul), apoi Windows, si Linux.

Companiile care si-au investiti banii in Windows probabil vor continua sa-l foloseasca pana la capatul existentei. Companiile noi care cauta alternative o sa dea eventual de linux si o sa inceapa sa-l foloseasca si nu o sa regrete. Companiile care au avut windows dar ofera si linux sub o forma sau alta o sa inceapa sa realizeze ca se pot folosi si ei de linux nu doar sa vanda produse pe baza de linux. De obicei cand vezi o companie care foloseste linux (daca apuci sa vezi asa ceva) o sa vezi o companie care incearca sa inoveze.

In viitor Linux va recupera si va deveni din ce in ce mai stabil la nivel de API, si probabil va ajunge la acelasi nivel cu windows-ul, si mai mult o sa fie posibil sa rulezi aplicatii windows pe linux fara problemele de acum.

Probabil ca OS-ul nu va mai juca un rol important cum a jucat in trecut, inovatia se va muta cu totul pe web. Urmeaza o era in care 3D-ul si p2p-ul va incepe sa intre pe web ca web 3D.0. Ca programator ar fi bine sa te muti pe web, locurile de munca pe API-uri e in scadere si concurenta va fi acerba. Daca ai o afacere care merge.. mut-o pe web ca va merge si mai bine.

‘API’-ul de web va fi extrem de stabil prin posibilitatea de al ingheta la nivelul care te satisface, upgrade-urile se fac la nivel de hardware extrem de simplu. Aplicatiile pe web vor fi accesibile peste tot. E o schimbare brusca de mentalitate, greu de acceptat, dar cei care o fac vor vedea imediat beneficiile.