vineri, 14 iunie 2013

Algoritm de la M.I.T. - Computer Program Reveals Invisible Motion in Video

Un algoritm care-și poate găsi o largă aplicabilitate - cu siguranță mult mai largă decât ceea ce este prezentat în clipul de mai jos.

Dar e bun de urmărit și doar pentru efectul de „uau” dacă nu aveți de de gând mai mult în ce privește algoritmul.



Nu am stat să caut codul sursă, nu am de gând încă să mă uit la el în viitorul foarte apropiat, dar pentru cei interesați un search pe situl M.I.T ajută.

miercuri, 12 iunie 2013

The Hobbit: The Desolation of Smaug (trailer)

Sunt foarte curios de felul în care au fost portretizați elfii pădureni în această a doua parte a trilogiei. 

Nu-i poți afișa în felul în care deja s-au întipărit în mintea celor mai mulți care au urmărit trilogia Stăpânul inelelor fără o denaturare semnificativă a firului povestiriin din Hobitul (cartea), dar nici nu-i poți dezbrăca de grația și măreția care i-a înconjurat fără a înșela așteptările multora.


sâmbătă, 8 iunie 2013

PRISM prin prisma mea

Dacă înțeleg corect natura scandalului PRISM atunci s-ar părea că oamenii (cel puțin cei care vociferează negativ pe tema în discuție) sunt mai degrabă dispuși ca informațiile personale (se înțelege - cele la care ei cred că au acces companii precum Google, Microsoft, Twitter și altele) să fie folosite de către platformele sociale (și nu numai) în interes propriu (comercial în general) decât să fie folosite de către un guvern în folosul securității generale.

Dar cine definește ce este în folosul unei companii? În niciun caz nu utilizatorul serviciilor pe care compania le oferă. Este cel puțin posibil să fie în interesul Google, Microsoft și al altora să colaboreze cu NSA. Nici nu trebuie să-mi imaginez ce fel de presiuni poate face NSA asupa unor companii și ce fel de foloase pot trage de aici aceste companii. Iar colaborarea poate fi chiar de o asemenea natură încât Larry Page și Mark Zuckerberg să trebuiască să iasă și să nege public orice soi de colaborare cu privire la PRISM.

Oricare ar fi fost mijloacele prin care s-a ajuns la concluzia că este în interesul securității naționale (și implicit a fiecărui individ de naționalitate americană) ca NSA să aibă acces la respectivele informații nu cred că este un element de discuție publică. Încă nu s-a ajuns în situația că utilizatorul Google sau Facebook să fie însărcinat cu decizii de securitate națională.

Va spune cineva că este încălcat nu știu ce drept al omului. Bine, dar o entitate responsabilă cu securitatea care este pusă să aleagă între a garanta securitatea și a respecta spațiul privat al individului ce ar trebui să facă? Asta presupunând că era cu adevărat nevoie ca NSA să aibă acces la respectivele informații pentru a garanta (atât cât îi stă în putință) securitatea.

La urma urmei nu este „o obligație a omului” ca omul să aibă cont la Google ori Facebook. Dar poate este o obligație a Google și a Facebook să ofere informații unei entități ca NSA și apoi să nege că s-ar fi întâmplat așa ceva. Și este o obligație a NSA să facă ce îi stă în putință să obțină acele informații dacă (greșit sau nu) crede că ele sunt necesare pentru o mai bună securitate.

Vrei ca informațiile tale să nu mai poată fi distribuite către NSA sau alte entități asemănătoare? Nu le mai oferi niciun fel de informații care să poată fi folosite astfel. Nu mai scrie mail-uri, nu mai trimite scrisori (de unde știi că nu sunt citite și cele scrise cu pix pe hârtie?), nu mai folosi rețelele sociale și peste câțiva ani să nici nu mai gândești (probabil că până atunci se vor putea citi și gândurile cumva).

Eu sunt de părere că ar trebui să conștientizăm în ce fel de lume trăim și că putem accesa informații care acum 15 ani nici nu visam că le vom accesa. Dar și NSA poate accesa informații pe care acum 15 ani nu visa că le va putea accesa. Informația (sau mai bine spus folosirea ei inteligentă, dar oricum înainte de a o folosi trebuie să o obținem) a ajuns să însemne - sănătate, tehnologie și siguranță (nu că ar însemna doar atât). Informația nu plutește prin univers doar ca să fie ținută ascunsă. Să fie folosită dacă cineva o poate folosi bine.

Au trecut vremurile în care avea sens să avem pretenții de felul „nu vreau să știe nimeni ce fac”. Informația „ce faci” există scrisă pe tot felul de suporturi. Aerul vibrează când vorbești, electronii zburdă când scrii pe Facebook, căldura ți se răspândește din organism pe măsură ce o produci și te face ușor de localizat și monitorizat, transfer de electroni se întâmplă cu fiecare gând în propriul creier, ș. a. m. d. Are cineva licență pe toate astea? Informația e în explozie, iar cine știe, poate și vrea să o citească o va obține cu sau fără voia ta sau a mea.

Noi, cei din non-NSA, avem acces la mai multă informație decât putem prelucra și folosi. Mai bine ne-am ocupa de această problemă decât de a ne pune în mișcare să-i oprim pe cei care au (la rândul lor) informație și au de gând să o și folosească.

luni, 3 iunie 2013

Vala programming language

sursă imagine: wikipedia
Am lipsit mult de pe linux. Atât de mult încât a trecut pe lângă mine importanța pe care a ajuns să o dețină vala cu timpul.

Dar acum am revenit (pe Debian "wheezy" release) și am încercat în măsura în care mi-a permis timpul (pentru că am venit pe linux cu treabă, nu să regăsesc sentimente pe care le-am pierdut odată ce-am fost constrâns să folosesc Windows 7 vreo 2 ani la rând). Dar despre povestea asta altă dată. Acum să trecem la vala.

O spun scurt (cei care vor prinde despre ce este de fapt vorba vor avea cu siguranță o mare motivație să exploreze de unii singuri dincolo de cât îmi permit eu să afișez aici).

Vala face parte, din punctul de vedere al experienței programatorului cel puțin, din categoria high-level programming languages. Însă ceea ce ajunge să fie compilat este de fapt un cod frumos redat în C.

Ca sintaxă vala este foarte asemănător cu C# (și de aici cred că devine evident și că este similar ca paradigmă - OOP). Astfel există pe de-o parte avantajul de a programa într-un mod (mult) mai productiv (nu știu să existe vreo dezbatere în care elementul dezbătut să fie dacă în C# există o productivitate mai ridicată a programatorului față de C) însă în final se obține un program compilat pornind de la un cod sursă C.

Pentru cei care vin din lumea .NET și știu și diferența de performanță dintre C# și C (evident că nu limbajele au performanță, ci ceea ce ajunge să fie compilat până la urmă, dar hai să o lăsăm așa de dragul ilustrației) este vorba de a obține câte un lucru bun din ambele lumi - productivitatea și expresivitatea din C# și viteza de execuție din C.

Faptul că am raportat lucrurile în primul rând la C# nu înseamnă că beneficiile mai sus prezentate nu sunt valabile și în cazul în care comparăm lucrurile cu java sau altele.

Din câte am înțeles se poate împăca și cu Windows.

În sfârșit, vala nu te face C developer, nici .NET developer și nici nu l-aș recomanda cuiva care dorește să învețe un limbaj cerut pe piață. Dar poate fi o soluție inteligentă de creștere a productivității acolo unde viteza de execuție este importantă.

Mai jos niște resurse pentru cei interesați să investigheze mai departe:
Vala is a new programming language that allows modern programming techniques to be used to write applications that run on the GNOME runtime libraries, particularly GLib and GObject. This platform has long provided a very complete programming environment, with such features as a dynamic type system and assisted memory management. Before Vala, the only ways to program for the platform were with the machine native C API, which exposes a lot of often unwanted detail, with a high level language that has an attendant virtual machine, such as Python or the Mono C# language, or alternatively, with C++ through a wrapper library.
Vala is different from all these other techniques, as it outputs C code which can be compiled to run with no extra library support beyond the GNOME platform. This has several consequences, but most importantly:
  • Programs written in Vala should have broadly similar performance to those written directly in C, whilst being easier and faster to write and maintain.
  • A Vala application can do nothing that a C equivalent cannot. Whilst Vala introduces a lot of language features that are not available in C, these are all mapped to C constructs, although they are often ones that are difficult or too time consuming to write directly.
As such, whilst Vala is a modern language with all of the features you would expect, it gains its power from an existing platform, and must in some ways comply with the rules set down by it. (sursa)
Links:

Related Posts Plugin for WordPress, Blogger...

Pagini