Programming and Exciting Things

HTML5 - Local Storage

Published on 31.07.2011

Исторически погледната уебприложенията досега са нямали лукса да използват локално (при клиента) съхранение на данни както например ini/xml/ ... файловете при desktop базираните приложения. Вариант е било използването на cookies но пък те се "включват" при всяка http заявка а друг недосатък е че са лимитирани до 4kb. Друг вариант е примерно използването на flash - Local Shared Objects. Не трябва да се забравя и Gears плъгина на Google но не всеки потребител го има инсталиран ...

С "появата" на html5 и Web Storage това лека полека остава назад в историята. За момента повечето съвременни браузъри поддържат въпросната спецификация:
Internet Explorer 8+
Firefox 3.5 +
Safari 4 +
Chrome 4 +
Opera 10 +
Накратко WebStorage е маханизъм за запазнване на локално key/value стойности за неограничено време. Като самият WebStorage се състои от 2 части Local и Session Storage. Като разликата между 2те е това че Session се пази докато браузъра е отворен а в Local дори след рестарт данните са там. Проблема за момента може би е че въпросните данни в Local storage се пазят дори и след като 5те MB са се напълнили :)
Та Marcus Westin e написал чудесен скрипт който улеснява много използването на Local Storage като предоставя начин за добавяне/премахване/изтриване на key-ове.
Store.js решава няколкото проблема на Local Storage - използва само това което проработи на дадената машина + лесен за използване API, всичко което се съхранява с Store.js се конвертира от скрипта към низове (json).

Въпросния скрипт вече е fork-нат в jquery плъгин - Store.js jQuery plugin

Трансформърс 3

Published on 11.07.2011


Гледах Transformers: Dark of the Moon и това е един от наааай-зрелищните филми които съм гледал ...евър. Филма беше над 2 часа от които не скучах и минутка пълна лудница, което се и очакваше. Майкъл Бей е постигнал нещо много яко, навсякъде падащи сгради, гигантски роботи, взривове и уникални 3D сцени, като повечето от битките са в slow motion режим.
Като сюжетна линия не е нищо особено, добрите роботи макар и с малко труд и помощ от страна на хората сритват задниците на лошите, но пък този път е "навързана" с "нашата" си история - полета на Аполо 11 и космическата надпревара на СССР и САЩ, включени са "автентични" кадри от онзи период на Студената война, кадри от Припят (Чернобил). Музиката също е ултра мега ... яка съчетанието с епичните битки е страхотно както си се очаква от един Трансформърс :) Едно от хубавите неща, е че поне този път разрушеният град е Чикаго а не New York. А споменах ли огромните разрушения от лошите роботи :D
Филма трябва да се гледа задължително в кино и на 3D. Да се гледа на 15-инчов монитор на лаптопа ще е пълна гавра с такъв род от филми. Та като съвет преди филма да се посети WC-то че след литър кока-кола е малко кофти :D

От всичко което написах става ясно че филма ми допадна изключително. Cinema City беше прохладно уютно и не пренаселено.

Javascript стринг към url

Published on 14.06.2011

Проста функция която търси www.site.com или http://site.com и го превръща в линкове

String.prototype.parseURL = function(){
    text = this;
    if (!text) 
        return text;
    text = text.replace(/((https?\:\/\/|ftp\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi, function(url){
        nice = url;
        if (url.match('^https?:\/\/')) {
            nice = nice.replace(/^https?:\/\//i, '')
            return '<a class="external_link"  target="_top" href="' + url + '">' + nice + '</a>';
        }
        
        else {
            url = nice.replace(/^www./i, '');
            return '<a class="external_link"  target="_top" href="' + url + '">' + url + '</a>';
        }
    });
    return text;
}

Пример:
 text = text.parseURL(); 

Нов телефон: HTC Desire HD

Published on 20.05.2011

Да се похваля, от месец насам съм с ново телефонче (след близо 6 години използване на Sony Ericcson) - HTC Desire HD.
В общи линии много съм доволен от машинката, определено инж. са си свършили добре своята работа.
Проблем може би е единствено камерата която въпреки че е 8 мегапиксела не успява да докара снимките до качеството на фотоапарата (сапунерка). Докато се снима трябва да се държи супер стабилно за да не се "замажат" снимките ... но за общи цели върши работа. Слабото място както се предполага е батерията която издържа ден при нормално за мен използване на телефона,. Но за сметка на това пък се зарежда от лаптопа без проблеми с едно usb кабелче :)
Отделно има сумати игрички и приложения за почти всичко което може да се направи с телефона. Изключително доволен съм от телефона и според мен си заслужава паричките искани от мтел за него :)

Инсталиране на Memcache под Windows за PHP

Published on 01.05.2011

Инсталирането на memcached под Windows не е чак толкова сложно въпреки че memcached е писан с идеята да работи само под линукс :) Като цяло memcached е daemon който работи също като mysql на машината.
За да го инсталираме правим следното:
1. отиваме в http://code.jellycan.com/memcached/ и сваляме win32 binary пакета, към днешна дата версията е 1.2.6 и линка е тук.
2. разархивираме някъде на диска, примерно c:\memcached\ (в архива трябва да има 1 файл с име memcached.exe)
3. отвяряме Command Prompt от Start -> Run -> cmd
4. изписваме

 c:\memcached\memcached.exe -d install  
като
 c:\memcached\ 
е директорията в която сме разархивирали. Идеята е да го инсталираме като service.
5. в Command Prompt изписваме и
 net start "memcached Server" 
като така стартираме инсталирания преди малко service

Ако всичко е наред вече трябва да имеме напълно работещ memcache сървър :) А в документацията на php има всичко останало и нужно за да се използват заедно :)
а клиентската част на библиотеката за работа на memcached с Python може да се намери тук