• Участвай в мозила състезание & Hack the World

    Знаеш ли как да пишеш добавки към Firefox? Готов ли си за едно голяяяяямо изпитание?

    Е, тогава, се включи в предизвикателството, което тече до 2 октомври 2009 година, като напишеш своя собствена добавка, разширение за Firefox. Може, да преправиш и вече направена от някой друг.

    Наградите са доста добри. Повече за тях и за условията, скачай да видиш тук.

    A, знаете ли, че ….

    Aко не знаете, че можете да пишете много неща за браузера, който използвате, можете да започнете от тук или да пратите мейл на firefox@bogomil.info за да те информирам за първия и последващ ‘гараж за разработчици’ на разширения за Firefox и Thunderbird

  • Стани тест-пилот на Мозила

    Logo

    Aко искате да помогнете на Мозилла и да бъдете тест-пилот и по този начин да направите продукта, който използвате по-добър, можете да се включите във програмата за тест-пилоти.

    Каква е тя:
    – Сваляте си разширение за тестове, което в момента, в който има тест, започва да мига
    – Попълвате кратка анкета от 2 екрана със различни данни за вашето познаване на технологии и понятия
    – Това е !

    Данните се събират, но се изпращат, когато вие пожелаете при пълна анонимност – никой не знае никакви данни за вас, освен отговорите и данните от тестовете.

    Ако можете да отделите 2-3 минути и да помогнете на любимия си браузър – поставете началото от тук.. Към момента няма тестове, но ако желаете, можете да зададете собствен такъв и ако бъде одобрен, милиони хора използващи продуктите на мозила, ще го извършат – ето и едно интересно предизвикателство.

  • Блога ми на 5 години.

    На 3 август 2004 година е първата публикация в този блог. Така, че мога да смятам, че този блог навършва 5 години, макар и в началото да беше на purplerain.org, a след това на spisanie.cc.

    Да му е честито и да се пълни със съдържание. Ще трябва май и да му подаря още хардуер :)

    Като махмем шегата настрана, този блог постигна много неща:

    – Алармира за проблеми с крепоста „Сердика“ и получи отговор от самия министър с бялата брада;
    – Бори се за цифровите ни права и успя да постигне няколко победи и у нас и в Европа;
    – Организира 3-4 протеста;
    – Бойкотира продуктите на Белла, заради убитата мечка;
    – Успя да зароди движение, което в последствие се пребори за денонощен транспорт в София;
    – Успя да предотврати голямо изтичане на лични данни;
    – Успя да накара доста хора да си променат мнението за цифровите им права
    – Успя да навие собственика си да се кандидатира за евро-парламента и за народното събрание
    – Беше даван по телевизията и четен по радиото:))
    – и какво ли още не…

    Дано да доживее още поне 5!

  • Twitter, Oauth и Фортумо (как да променяме twitter чрез SMS)

    Вчера в свободното си време направих едно интересно приложение, комбиниращо SMS канала на Fortumo, оAuth API на twitter и малък сайт за управление, което в крайна сметка дава възможност да променяте състоянието си в Twitter през SMS съобщения.

    Имах в началото малко проблеми с кодирането и с недочитането на изискванията на Oauth, но вече всичко работи както трябва и поне аз ще си го ползвам, когато не съм онлайн и нямам достъп до Интернет :)

    Как работи всичко това, можете да видите тук. Разбира се, че цялата част е написана на PHP, макар, че се изкуших да я надраскам на нещо друго, но за съжаление не ми остана време.

    Услугата е отворена за всеки, който има twitter и телефон :)

  • Tеми за WordPress за списания

    Ето няколко теми, които аз харесвам с помощта на които можете да създадете проекти, чиято информация може да е подредена като списание – с отделнои категории, отделни места на сайта за определени типове новини, показване на динамично съдържание с помощта на Ajax и други интересни трикове.

    WordPress Magazine

    Demo

    Download

    NewsWeek

    Demo

    Download

    Mimbo Theme

    Demo
    Download

    The Unstandard WordPress Theme

    Demo

    Download

    Branford Magazine 2.0

    Demo

    Download

    Options Magazine Style WordPress Theme

    Има по-нова версия, базирана на framework, но тази все още си остава най-ползваемата тема – използвана е за много интересни сайтове, като например  wtconferences.com

    Demo

    Download

    Structure Magazine Style WordPress Theme

    Demo

    Download

    Arthemia: WordPress Magazine Theme

    Demo

    Download

    OpenBook

    Demo
    Download

    Hamasaki WordPress Theme

    Demo

    Download


    MonoChrome Gallery

    Demo

    Download


    FakeBlog

    Demo

    Download

    Guzel Magazine Theme

    Demo

    Download


    Artfull Magazine Theme

    Demo

    Download


    Visionary Theme

    Demo

    Download


    Purple Fever

    Demo

    Download

    Smooth News

    Demo

    Download

    Forte Theme

    Demo
    Download

    Magadine 1.2 – Magazine Style WordPress Theme

    Demo

    Download

    Shiva Theme

    Demo

    Download
    PressBox Theme

    Demo
    Download

    Tamodachi Theme

    Demo
    Download

    Update

    Форекспрес
    Подходяща за финансов сайт, тип „списание“, готова е за включване на реклами в нея, 3 колони, поддръжка на видео и има собствена администратовна част за пвечето неща

    Преглед

    Зенгард
    Много забавна и свежа тема, 2 колони, видео, реклама, собствена административна част.
    Преглед

  • В края на мандата разумът надделява

    Посланията, които отправяхме през последните 3-4 години най-сетне достигнаха до умовете на евро-институциите.

    Ето и поредното доказателство, което ми дава сили да продължа да излъчвам посляния в тази насока:

    Европейският съюз се нуждае от нови правила за свалянето на файлове от интернет, които биха могли да направят по-лесен достъпа на потребителите до музика и филми, без те да прибягват до пиратство, заяви еврокомисарят за информационното общество и медиите Вивиан Рединг, цитирана от Ройтерс.

    Очертавайки какви следва да са приоритетите на ЕК през следващите пет години, Рединг изтъкна, че Комисията трябва да обмисли нови закони, които биха могли хармонизират интересите на притежателите на интелектуална собственост и потребителите, които сърфират в интернет.

    Сегашните закони са неразумни, тъй като изглежда предразполагат хората, особено младото поколение, да станат интернет пирати или да свалят незаконно информация, добави тя.

    Интернет пиратството, изглежда, става все по атрактивно особено за „дигиталните маниаци“, посочи Рединг, позовавайки се на изследване, което показва, че 60% от хората на възраст между 16 и 24 години са сваляли от интернет аудиовизуално съдържание без да плащат.

    Еврокомисарят за информационното общество и медиите посочи, че друг неин приоритет е да ускори дигитализацията на книги (преобразуването им в електронен файл), тъй като 90% от книгите в европейските библиотеки вече не могат да се купят на пазара.

    Европейската комисия трябва да се стреми да насърчава плащането чрез мобилни телефони, като предложи общи правила.

    По материал от Вести.бг

  • Прост бот за Twitter

    Aко искате да започнете да програмирате за twitter под PHP, ето ви и добро начало. Да създадем един прост бот, който при получаване на директно съобщение със съдържание ‘късмет’ да връща на подателя късметче.

    Tова колкото и да е просто, като логика, може да ви запознае с начина на работа на API на Twitter, за което и аз ще се погрижа по-нататък, но е добре, ако започнете сами :)

    Лесно и полезно!

    Дефинираме класа и задаваме променливите:

    Class bTwitter{
    var $username = ""; //тук се слага потребителското име на twiter акаунта, който ще слушаме
    var $password = ""; //тук се слага паролата

    Стъпка 2: Да напишем функция, която да взема директното съобщение от входящата ви кутия в Twitter:


    function getmessages()
    {
    $username = $this->username;
    $password = $this->password;
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($curl, CURLOPT_URL, "http://twitter.com/direct_messages.json");
    return $result = curl_exec($curl);
    curl_close($curl);
    }

    Стъпка 3: Да напишем функция, която да изтрива съобщението, след като сме изпратили късметчето:


    function deletemessage($id)
    {
    $username = $this->username;
    $password = $this->password;
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($curl, CURLOPT_URL, "http://twitter.com/direct_messages/destroy/".$id.".json");
    curl_setopt($curl, CURLOPT_POST, true);
    return $result = curl_exec($curl);
    curl_close($curl);
    }

    Стъпка 4: Да направим функция, която да връща случаен късмет:

    function getKasmet()
    {
    $k[] = "Държавна лотария, тото, на твоя страна е числото! ";
    $k[] = "Стягай багажа за воаяжа! ";
    $k[] = "Кариера ще ти е приоритет –я министър, депутат – напред! ";
    $k[] = "Тук няма искаш и не щеш – в службата ще порастеш! ";
    $k[] = "Не се шегувам, ти печелиш – късмета скоро ще намериш. ";
    $k[] = "На съседа бричката си подари,че нова кола ще караш ти!";
    $k[] = "От Бил Гейтс ще се отървеш, с компютър с Линукс ще се обзаведеш";
    $k[] = "Паричките ти в портмонето ще са като звездичките в небето. ";
    $k[] = "Яки запивки, чаровни забивки и много усмивки! Успехи в бранша и чупки в ханша, здраве в изобилие и радост до безсилие ";
    $k[] = "По-добре е да не започваш, отколкото да спреш на половината път.";
    $k[] = "За плахия и колебаещия се, всичко е невъзможно, защото му изглежда така.";
    $k[] = "Не е познал сладкото този, който не е изпитал горчивото. Силата е търпение и време.";
    $k[] = "Можете да постигнете всичко, което пожелаете, но не може да имате всичко на този свят...";
    return $k[rand(0, 12)];
    }

    Стъпка 5: Да направим функция, която да изпраща съобщението до подателя:


    function sendmessage($to)
    {
    $kasmet = $this->getKasmet();
    $postData = array("user"=>"$to", "text"=>$kasmet);
    print_r($postData);
    $username = $this->username;
    $password = $this->password;
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
    curl_setopt($curl, CURLOPT_URL, "http://twitter.com/direct_messages/new.xml");
    return $result = curl_exec($curl);
    curl_close($curl);
    }
    }

    Да изпробваме какво сме направили:

    $bt= new bTwitter; // инициираме класа
    $result = $bt->getmessages(); //вземаме съобщенията от входящата кутия
    $r=json_decode($result,true); //декодираме формата им от json към масив
    $size = count($r);
    for ($i = 0; $i<$size; $i++) //започваме да ги обхождаме { // ако съдържат ключовата дума 'късмет' if (ereg('късмет',$r[$i]['text'])) { $bt->sendmessage($r[$i]['sender_screen_name']); // изпращаме съобщението
    $bt->deletemessage($r[$i]['id']); //изтриваме директното съобщение
    }
    }

    Оптимизации върху кода може да има много, което много добре разбирам :)

  • Идентичност директно в браузера

    Мозила отново ме изненадаха, като предприеха тази стъпка, да предложат идентичност директно в браузера, базирана на openID.

    Mоята идея върху, която работя е още по-изчанчена от тяхната имплементация, но това е повече от чудесно.

    Какво предлагат те:
    1. За сайтовете, които използват OpenID, всеки потребител, ще бъде логван автоматично (ако пожелае), само като посети страницата на сайта/услугата, която използва.
    2. Въвеждането на OpenID идентификатора, ще става само веднъж и ще се пази в софтуерното приложение за контрол на идентичностите, а според мен, ще може да се съхранява и във други устройства (smart карта)

    Това е една стъпка напред към създаването на me:// протокола, където браузера, ще бъде основен софтуер за управление на цяла компания и/или на моето пространство в Интернет.