vineri, 5 octombrie 2012

Frecvente grila TV analogica RDS Bucuresti

Zilele trecute butonam telecomanda si am observat ca acele canale pe care mi le salvasem in pozitii strategice, au disparut, iar in locul lor au aparut fix acele programe pe care le salvasem in asa fel incat sa-mi fie foarte greu sa mai ajung la ele. Se pare ca RCS-RDS si-a reorganizat grila asa ca in loc sa ma uit la meciurile de Europa League eu stateam si salvam din nou programele pe pozitiile initiale, cu ocazia asta am observat ca au aparut 2 noi canale (Digi World, Digi Life) dar au disparut vreo 3-4.



Cam asa arata frecventele pentru RDS Bucuresti la data de 5 octombrie 2012:

CNN - 815 Mhz
Boomerang - 607 Mhz
Tv 5 - 783 Mhz
National24 Plus - 743 Mhz
Giga TV - 751 Mhz
F&H - 767 Mhz
Pv TV - 775 Mhz
Gsp Tv - 727 Mhz
Pro Tv - 126 Mhz
Prima - 140 Mhz
National Tv - 161 Mhz
Digi24 - 175 Mhz
Realitatea TV - 182 Mhz
Antena 3 - 189 Mhz
RTV - 196 Mhz
Eurosport - 231 Mhz
Eurosport 2 - 238 Mhz
Nature - 487 Mhz
Transilvania Look - 759 Mhz
Vh 1 - 655 Mhz
Antena 1 - 133 Mhz
Kanal D - 154 Mhz
B1 - 168 Mhz
Digisport 1 - 203 Mhz
TVR - 112 Mhz
National Geographic - 287 Mhz
TVR 3 - 711 Mhz
TVR 2 - 119 Mhz
Digisport 2 - 210 Mhz
Digisport 3 - 217 Mhz
SportRO - 224 Mhz
Eurosport 2 - 238 Mhz
Acasa - 245 Mhz
Euforia - 252 Mhz
TVPaprika - 259 Mhz
Digi World - 266 Mhz
Digi Life - 273 Mhz
Discovery Channel - 280 Mhz
Natgeo Wild - 294 Mhz
Explorer - 479 Mhz
Travel - 495 Mhz
Zone Reality - 503 Mhz
ProCinema - 511 Mhz
Diva Universal - 519 Mhz
Universal Channel - 527 Mhz
AXN - 535 Mhz
AXN SciFi - 543 Mhz
Romantica - 551 Mhz
Disney Junior - 559 Mhz
Disney Channel - 575 Mhz
Cartoon Network / TCM -  599 Mhz
UTV - 615 Mhz
1Music Channel - 623 Mhz
Kiss TV - 631 Mhz
MTV - 639 Mhz
Hit Music Channel - 647 Mhz
EtnoTV - 663 Mhz
Favorit - 671 Mhz
Taraf TV -  679 Mhz
Trinitas TV - 687 Mhz
Otv - 695 Mhz
DDTV - 703 Mhz
Antena 2 - 719 Mhz
The Money Channel - 735 Mhz
Mezzo - 799 Mhz
Fashion TV - 807 Mhz
Duna - 791 Mhz

Discovery Science, Animal Planet si History Channel, canale cu adevarat educative, au disparut din grila pentru ca, nu-i asa, Duna si Transilvania Look sunt vitale (nu mai zic de Euforia si Romantica).

duminică, 5 august 2012

Crearea unei extensii / plugin pentru browser-ul Google Chrome


In articolul anterior am raspuns unei provocari lansate de Refresh.ro si am creat foarte rapid o extensie pentru Google Chrome care te redirecteaza catre Google.ro atunci cand accesezi o pagina web care contine cuvantul "Iliescu". Ideea se pare ca prins foarte bine asa ca m-am gandit sa postez si un tutorial pentru a va arata cat de usor se poate crea un plugin pentru Chrome daca aveti cunostinte HTML, Javascript si putin timp pentru a studia documentatia.

Pentru inceput, o extensie trebuie sa aiba un fisier de configurare, in el se trec detalii precum numele extensiei, o descriere, o iconita, scripturile care ruleaza in background, permisiunile de care are nevoie pentru a functiona. In cazul Chrome fisierul de configurare se numeste manifest.json

{
  "name": "No more Iliescu",
  "version": "1.0",
  "description": "Redirecteaza paginile care contin cuvantul \"Iliescu\"",
  "browser_action": {
    "default_icon": "icon.png"
  },
  "background": { "scripts": ["background.js"] },
  "permissions": [
    "tabs", "http://*/*", "https://*/*"
  ],
  "manifest_version": 2
}

In traducere libera, aplicatia va rula un script in background (background.js) de fiecare data cand se acceseaza o pagina web (vezi permisiunea "http://*/*", "https://*/*") si cerem permisiunea de a accesa tab-urile pentru ca avem nevoie de informatii despre continutul paginii, url, id-ul tab-ului curent.

Mai jos este continutul fisierului background.js:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if (changeInfo.status == "complete")
    {
        var codem = "var text = document.body.innerHTML; var pattern = /iliescu/i; if(text.match(pattern)) { window.location.href='http://google.ro'; }";
  chrome.tabs.executeScript( tab.id, { code: codem });
    }
});

Este destul de simplu de inteles ce face scriptul acesta. Cu ajutorul API-ului Chrome "ascultam" evenimentele din tab-ul curent folosind chrome.tabs.onUpdated.addListener(), in momentul in care pagina s-a incarcat complet (status "complete") atribuim variabilei codem o valoare de tip sir de caractere care contine un cod javascript.
Cod javascript care va fi executat in tab-ul curent prin intermediul chrome.tabs.executeScript(), functie ce primeste ca parametri id-ul tab-ului deschis in acest moment si variabila care contine codul javascript de executat.

Toata "magia" este creata de codul javascript din variabila codem:
var text = document.body.innerHTML; // luam continutul html al paginii
var pattern = /iliescu/i; // expresie regulata pentru a gasi in text cuvantul "iliescu"
if(text.match(pattern)) { // daca in text este gasit cuvantul nostru
   window.location.href='http://google.ro'; // redirecteaza catre pagina dorita
}

Pentru a testa extensia in browser trebuie sa mergeti in pagina de Extensii (Meniu -> Instrumente -> Extensii), sa va asigurati ca modul "Dezvoltator" este activat:


Si incarcati directorul care contine fisierele extensiei apasand pe butonul "Incarcati extensiile neimpachetate...".

Daca totul este in regula si aplicatia este gata de "productie" apasati pe butonul "Creati un pachet pentru extensie...", alegeti directorul in care se afla fisierele si apasati butonul "Creati un pachet pentru extensie".
In acest moment se va genera fisierul ".crx" care reprezinta installer-ul extensiei si un fisier ".pem" care trebuie pastrat intr-un loc sigur pentru ca il veti folosi in viitor cand vreti sa impachetati versiunile viitoare ale aplicatiei.

Mai departe tine de voi cum popularizati aceasta extensie, daca o introduceti in Chrome Web Store sau o raspanditi prin mijloace proprii.

marți, 31 iulie 2012

Challenge - extensie chrome pentru filtrare continut

Pornim de la un tweet:




Cand este intalnit cuvantul "Iliescu" in text vei fi redirectat catre Google.ro
Cam asa functioneaza aplicatia:



Extensia se poate descarca de aici: No more Iliescu.

luni, 26 martie 2012

Google somat sa inchida functia de auto-complete

Un tribunal din Tokyo someaza gigantul Google pentru a inchide functia de auto-complete pe motiv ca  incalca dreptul la intimitate al unei persoane, dupa spusele avocatului acesteia.

Tribunalul a acceptat petita unei persoane care pretinde ca tastarea numelui sau in motorul de cautare a generat o sugestie care il leaga de o crima pe care nu a comis-o, a declarat avocatul Hiroyuki Tomita (nu ca ar conta numele). Daca este acceptata sugestia de cautare, mii de rezultate ce au legatura cu actul criminal sunt afisate.

Avocatul a mai adaugat ca de cand au inceput sa apara aceste sugestii in motorul de cautare, clientul sau are dificultati in a-si gasi de lucru.

Voi ati avut probleme de genul asta?



Sursa stire: IndiaTimes

sâmbătă, 17 martie 2012

Boot2Gecko - sistemul de operare pentru smartphone-uri dezvoltat de Mozilla

Numarul posesorilor de "telefoane destepte" este in continua crestere, piata aplicatiilor pentru mobile este de asemenea imensa. Principalele sisteme de operare sunt in acest moment IOS - dezvoltat de Apple, Android - dezvoltat de Google si WindowsPhone (Microsoft) iar dezvoltarea unor aplicatii care sa acceseze functiile interne ale telefonului (apeluri, mesaje, acces la camera foto etc) necesita cunoasterea unor limbaje de programare mai complexe precum Objective-C, C#, C++, Java etc.

Pe 25 iulie 2011, directorul de cercetari al Mozilla Corporation a anuntat un proiect ce va urmari construirea unui sistem de operare complet, de sine statator - pentru web, cu scopul de a umple lipsurile ce-i impiedica pe dezvoltatorii web sa creeze aplicatii native pentru Android, IOS sau WP7.

Iata si o mica lista de API-uri web la care se lucreaza in acest moment:
- geolocatie;
- WebGL;
- gamepad API;
- orientare ecran;
- status baterie;
- captura media;
- network API;
- telefonie web;
- vibratii;
- API sistem de fisiere.

Anul acesta la Mobile World Congress 2012 din Barcelona a avut loc si o scurta prezentare a acestui sistem de operare, telefonul pe care a fost instalat este un Samsung Galaxy S2.
 

sâmbătă, 3 martie 2012

Comparatie a sintaxei limbajelor de programare interpretate: PHP, Perl, Python, Ruby

Cei de la Hyperpolyglot au comparat in paralel sintaxa principalelor limbaje interpretate: PHP, Perl, Python, Ruby. Dintre acestea eu lucrez zilnic doar cu PHP dar citind o parte din informatiile prezentate in acest tabel comparativ am descoperit cateva functii cu care n-am mai lucrat dar am avut ocazia sa vad si corespondentele acestora din Python, un limbaj de care sunt atras in ultima vreme.
Iata un extras din acest tabel:
Intreaga informatie se gaseste aici: http://hyperpolyglot.org/scripting

Inceput de drum

La insistentele amicului mult mai experimentat ca mine Stefan am inceput si eu sa scriu un blog, nu intentionez sa castig bani din asta, este doar un loc unde voi nota chestii utile de care eu si alti programatori aflati la inceput de drum avem nevoie.
Va sfatuiesc sa va abonati la feed pentru ca veti avea parte de tutoriale php / mysql / javascript, resurse web extrem de utile dar si noutati din domeniul web si nu numai.
Fiind un blog personal va puteti astepta si la articole obisnuite despre viata mea de om normal, videoclipuri cu pisici/caini/bufnite etc.