Thursday, July 16, 2009

Tot mai aproape de 1.0

Ne apropiem usor de Concept 1.0 ... am adaugat un feature nou, din pacate disponibil doar pe Windows NT/XP/Vista ... un serviciu de auto-update, astfel incat daca instalezi acum Concept, ar trebui sa fie ultima data cand o faci manual. Nu-ti va cere niciodata sa inchizi aplicatia pentru update ... sta acolo in background, pana poate face update-ul (pana nu ai nicio aplicatie Concept deschisa, iar atunci il face repede), fara ca userul sa isi dea seama ce se intampla. Am avut o discutie pe tema acestor update-uri cu un coleg programator deranjat de faptul ca exista un update la 1-2 zile ... Dar tocmai asta inseamna atentie fata de useri: nu sunt numai bug fix-uri ci sunt si noi feature-uri ...
Un feature nou este suportul de cookies exact ca in browser. Putem acum stoca informatii pe client (relative la host) si le putem accesa in baza unei chei (ex: username) doar de pe host-ul "proprietar".
Acum se compileaza mult mai usor si pe Ubuntu (pentru cei interesati).

Despre Gyro sunt si mai multe de spus... pe langa mult debugging, sunt si cateva feature-uri noi, de exemplu "show entity as icon", rezultand liste ca in imaginea de mai jos:Thumb-urile pot fi poze sau filme.

De asemenea, exista flag-uri pentru click/dublu click (de exemplu, daca lucram cu touch screen, vrem sa dam un singur click).

Un alt element nou este relatia unei entitati cu ea insasi - foarte util in multe situatii.

Ma bantuie o fantoma ... atunci cand se foloseste "mysql embedded" in loc de ODBC, uneori, uita savepoint-ul ... nu-mi pot explica ... o sa actualizez mysql-ul din distributie, poate este un bug. Este posibil sa fie oare un bug in InnoDB ? Eroarea apare absolut spontan, si 3 clienti de-ai nostri au raportat-o, dar a aparut o data, dupa care a disparut. Toti cu aplicatii mysql embedded. Cei cu ODBC nu au intampinat-o.

Nu am spus nimic de eLiberatica. A fost frumos, o experienta intr-adevar unica cu bune si rele. In cautarea mea a pasiunii pentru ceea ce inseamna cod, am dat peste open source si tocmai pentru ca am avut asteptari, cred ca am fost dezamagit. eLiberatica mi-a placut ... a fost frumos si cu siguranta voi participa si anul urmator. Am cam fost prins la stand si am ascultat prezentarile in fuga. Recunosc ca am cunoscut 3 programatori foarte interesanti, cu care am schimbat idei, iar cateva deja se regasesc in Concept. Ce nu mi-a placut, este ca open source-ul in continuare este gasit in titluri precum "Cum poti face bani din Open Source". Un prieten, pornit pe open source, spunea asa "cei ce nu pot vinde, fac open source" - are dreptate - dar eu as completa cu "cei ce nu vor sa vanda, fac open source". Un pasaj interesant, gasit de curand spunea:

Under communism, there is no need for money, because all goods needed to support life are free, which by "free" we mean the BEEP take all your loot. The problem with this is that everybody loves money. (ar fi o explicatie pentru noi romanii, atat de dornici de a face bani)

E interesant, pentru ca open source-ul asa cum l-am vazut eu, e ... pe-acolo. Tind totusi sa cred ca open source-ul este pasiune.
O alta problema cu multe comunitati open source este ca "vorbesc" in loc sa "faca". Vorbim, dezbatem ... dar nu facem. Cred ca sunt prea multe orgolii la mijloc ... sa nu uit ... am incercat sa contactez o comunitate open source din Romania ... dar am esuat.

TRECETI LA TASTE OPENSOURCISTILOR SI PROGRAMATI!

Tuesday, May 19, 2009

Avem logo pentru Concept Application Server

Dupa gandit si razgandit, avem un logo pentru Concept Application Server, logo si mascota. E vorba de o albinuta pe care o cheama "Nuchilar" Bee. E simpaticuta. Legatura cu CAS ?

Simplu ... albinele comunica la distanta, lucreaza in echipa (cam cum lucreaza aplicatiile Concept) si fac miere !

E desenata de Olimpia Lazar, fara photoshop ...

Friday, April 24, 2009

Concept Web Browser

Am reusit sa fac ceva ce-mi doream de mult: un browser (bazat pe WebKit, nu-ti imagina ca am facut eu un engine de randare). Totul vine ca plug-in pentru Concept Client, si interfata e identica pe majoritatea sistemelor de operare. Concept WKB (WebKit Browser) va fi integrat in CIDE, astfel incat testele pentru aplicatiile web sa se faca strict din IDE. De asemenea, wrapper-ul este foarte util pentru embeduirea WebKit in aplicatii concept:// (cam cum face Microsoft)
.

Monday, April 20, 2009

Cautare indexată

Salut. Ce fac oare de Paste ? ... lucrez ... am adaugat Xapian (engine de căutare). Am construit atât wrapper-ul pentru Concept cât și interfața pentru GyroGears. Acum prin simpla bifare a unui flag se poate activa cautarea indexata pentru un proiect, cautare ce vine in 2 variante:
  1. căutare + indexare asincronă (se generează o coadă de indexare, iar indexarea se face de un proces separat, dupa ce a fost adaugată/modificată sau stearsă de un utilizator)
  2. căutare + indexare sincronă (indexarea se face imediat ce informația a fost adaugată)
In curand voi posta un link cu primul proiect web 2.0 generat cap coada din GyroGears.

De ce Xapian ? Ca sa intrebe PHP-istii "de ce nu Lucene ?". Voi implementa si Lucy (varianta C a lui Lucene imediat ce va exista un release pentru aceasta). Un alt motiv pentru Xapian este faptul ca foloseste BM25 (ce pe Lucene am inteles ca este disponibil doar ca plug-in separat).

Cautare indexat

Friday, April 3, 2009

GyroGears + Video Sharing = LOVE

Am amintit in ultimul post ca exista elemente noi prin Gyro. Unul din ele este tipul de date "multimedia" ce poate tine continut video/audio. Se foloseste ffmpeg pentru a genera imaginile de preview; tot prin ffmpeg se face "normalizare" (conversia la un format standard la un bitrate/samplerate standard, de exemplu flash video). Pentru asta se genereaza si un Concept Service - o coada de conversie ce ruleaza permanent si asteapta sa se primeasca un video pentru a-l procesa; stabileste ordinea de procesare pe modelul FIFO (primul venit, primul servit). Am atasat 2 capturi - prima cu interfata de definire din Gyro si una cu rezultatul (aplicatie Concept). Pot fi generate si aplicatii web traditionale (astfel, putand face un sistem gen YouTube in maxim cateva ore).

Figura 1 - Tipul de date "multimedia"


Figura 2 - Aplicatie cu tipul "multimedia"

Wednesday, April 1, 2009

Make software not money !

O să mă abat de la subiectul uzual (GyroGears). Am participat în ultimul timp la tot felul de întâlniri in care s-a discutat despre soft și trebuie să recunosc că am rămas destul de dezamăgit. Observ că există o problemă cât se poate de serioasă cu gândirea 'corporate'. Sper ca doar pe meleagurile noastre.

Acum, aș vrea să-ți amintești, că programatorul nu este mercenar; poate ca nu este nici artist ... dar cu siguranță este undeva între. "Programarea" (îi voi spune de acum așa, nu "software development") trebuie făcută cu drag, cu pasiune, nu de dragul salariului. Am auzit niște povești "marketiste" atât de frumoase, cu cuvinte așa de mari, încat sunt convins ca dincolo de client ce ajunge să fie derutat ... chiar consultantul nu mai știe ce vinde (dar învață la training-uri !). Un prieten mi-a spus "am vandut clienților soluții fără să știe exact ce cumpară"... fiind mândru de asta. Oare e motiv de mândrie asta ?
Nu sunt în extrema lui Stallman (cu toate că sunt de acord cu el în multe privințe), eu considerând că trebuie să avem și licențe comerciale, dar totuși, obiectivul principal nu trebuie să fie "vânzarea". Gândește-te la principiul: "calatoria este jumatăte din distracție".

Am văzut un video foarte interesant, un interviu cu Bill Gates și Steve Jobs. La un moment dat se discută de faptul că Bill, în tinerețe a fost la Apple să-i ajute cu o implementare. Prima întrebare a fost "cu cât ai fost platit" (30.000$), dar Bill a raspuns incepând cu "It was actually fun". Acum, venim noi, "corporatiștii de Balcan", și credem ca o sa existăm și peste 20 de ani ... probabil că nu ... Știi poate că era acea perioadă, în care oricine avea 2 apartamente comuniste scoase la vânzare în București sau Cluj, se credea Donald Trump ...
Că veni vorba ... oare e in regula să avem ca model capitalist pe Donald Trump ?
Avem "Earth hour" ... ce-ar fi dacă am avea și o "no marketing bull**** hour" ?
Oare "go green" nu ar fi "ipocrizia suprema" in materie de marketing ?

Vroiam să-ți scriu despre GyroGears astăzi, sunt multe elemente noi, dar le vei vedea dacă downloadezi sau in post-urile următoare.

Friday, March 27, 2009

Prezentare GyroGears !

Salut. Am facut un draft al primului tutorial GyroGears. E un pic cam lung (41 de minute), deoarece am inceput prin a prezenta si Concept Application Server (primele 10 minute).

Vizionare placuta (daca exista rabdarea necesara) !

Tuesday, March 17, 2009

"Enhancing the User Experience" sau poze colorate

Revin cu elemente noi prin GyroGears (distributia de pe www.radgs.com a fost deja actualizata, pachetul Concept Application Server, ce contine GyroGears BETA). In afara de foarte multa depanare, am mai adaugat thumbnails-uri pentru campurile de tip 'picture'. Cred ca se poate oferi astfel o aplicatie vie, ce poate reuseste sa prezinte view-uri mai ... "non-foxpro" (fara suparare fata de programatorii fox). Practic sunt puse cap la cap toate elementele pentru a genera un catalog virtual sau un magazin virtual in cateva minute. Sa nu uit ! Screenshot-ul este dintr-o aplicatie "A basic organizer" definita folosind GyroGears in 21 de minute. Exista si screencast-ul pt asta, doar ca, inca nu am avut timp sa fac comentariile pentru prezentare.

Thursday, March 5, 2009

GyroGears si touch screen

Am finalizat suportul de touchscreen pentru GyroGears. Totul se rezuma la cateva operatii foarte simple, astfel: un flag(bifa) cu "Optimize for touch screen" si filtre de touch screen. Un filtru de touchscreen imi va genera niste butoane foarte mari, pe care utilizatorul va face click "sectionand" view-urile. Astfel, daca ne gandim la un sistem horeca, putem defini filtre pentru "sucuri", "bauturi alcoolice", "cafele", etc.. Cand utilizatorul va alege "sucuri", i se vor afisa numai entitatile din "Produse" ce fac parte din categoria "suc". Am atasat si 2 screenshot-uri: primul din GyroGears, din zona de definire a filtrelor de touch screen si un al doilea screenshot cu interfata rezultata, cu "Handpad"-ul vizibil.

.
Fig 1 - Definirea filtrelor de touchscreen


Fig 2 - Interfata touchscreen