Илия

Днес в 4:30 часа сутринта първа глътка въздух пое сина ни Илия.

Снимка на Илия

Публикувана в personal на 26 март 2013 вторник, 07:10 | коментари (0)

Catalyst на споделен хостинг част 2

За огромна моя радост вече на българския пазар има компания (space.bg) предлагаща хостинг за Perl FastCGI приложения, което позволява нормална работа на Catalyst приложения върху споделен хостинг.

Инсталацията на приложението става лесно в няколко стъпки. Радващ е и факта, че в услугата е включен и SSH достъп, което допълнително улеснява работата. Първото, което трябва да направите след като влезете чрез SSH е да стартирате от терминал Perl обвивка и да минете през конфигурацията:

 perl -MCPAN -e shell

След това трябва да излезете без да инсталирате нищо. Следващото което трябва да направите е да отворите вашия ~/.bashrc файл и да добавите следните редове:

export PATH=$HOME/local/bin:$HOME/local/script:$PATH
perlversion=`perl -v | grep 'built for' | awk '{print $4}' | sed -e 's/v//;'`
export PERL5LIB=$HOME/local/share/perl/$perlversion:$HOME/local/lib/perl/$perlversion:$HOME/local/lib:$PERL5LIB

След това излезте и влезте наново (или изпълнете ръчно вашия bashrc файл: " . .bashrc "). След това редактирайте файла .cpan/CPAN/MyConfig.pm и добавете следните редове:

'make_install_arg' => qq[SITEPREFIX=$ENV{HOME}/local],
'makepl_arg' => qq[INSTALLDIRS=site install_base=$ENV{HOME}/local],

Вече можете да инсталирате всички необходими модули по стандартния начин:

# perl -MCPAN -e shell
cpan> install Catalyst

Възможно е да се наложи да инсталирате някои от модулите или техни зависимости с команда force install . За улеснение можете да използвате набор от пакети (local.tgz), който аз използвам за моите приложения. Просто трябва да се разархивира в домашната папка на хостинг абонамента. Имайте предвид, че е възможно част от пакетите в него да с ас по-стара версия от необходимата ви.

Някои Perl модули изискват зареждане на динамични библиотеки. Поради системите за сигурност на хостинг сървъра те няма да бъдат заредени ако съдържащите им директории не са с точно определени права за достъп. За да откриете всички директории, които имат нужда от смяна на правата можете да използвате следната команда:

find ~/local -type d -perm +022 -ls

За да коригирате правата на всички наведнъж може да използвате седната команда:

find ~/local -type d -perm +022 -print0 | xargs -0 chmod g-w,o-w

След това трябва да преименувате fastcgi скрипрта в папката script да бъде с разширение .fcgi, а не .pl и да добавите пътищата до локално инсталираните модули:

use FindBin;
use lib "$FindBin::Bin/../lib";
use lib "/home/h2/u/us/user/local/share/perl/5.8.8";
use lib "/home/h2/u/us/user/local/lib/perl/5.8.8";
use lib "/home/h2/u/us/user/local/lib";
use lib "/home/h2/u/us/user/local/share/perl/5.8.8";
use lib "/home/h2/u/us/user/local/lib/perl/5.8.8";
use lib "/home/h2/u/us/user/local/lib";

Естествено пътищата трябва да съвпадат с тези на вашата домашна папка.

След това добавете следните редове в .htaccess файл в кореновата директория на хоста ви и отворете браузъра си и вижте новия си сайт

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/?script/myapp_fastcgi.fcgi
RewriteRule ^(.*)$ script/myapp_fastcgi.fcgi/$1 [PT,L]

Имайте предвид, че ако правите промени по Perl кода на приложението, ще е необходимо да го рестартират за да се отраят. Това става като просто „убиете“ текущите му процеси:

user@nuln:~$ ps ax | grep fcgi
2903 ?        SN     0:03 /usr/bin/perl -w myapp_fastcgi.fcgi
27235 ?       SN     0:04 /usr/bin/perl -w myapp_fastcgi.fcgi
user@nuln:~$ kill -9 2903 27235
Публикувана в web на 26 ноември 2009 четвъртък, 18:08 | коментари (0)

За онлайн услугите

Още в самото начало, през 70-те години на 20-ти век, когато съвременният компютър „набира скорост“, софтуерът е бил свободен. Производителите на компютри просто ги продавали със софтуера на тях и всеки, който имал малко познания по програмиране можел да дописва и модифицира програмите, така че да са удобни за неговите собствени нужди. Освен това производителите не се интересували от това дали софтуера се копира и разпространява.

В началото на 80-те възниква идеята за лицензирането на софтуера и създаването на правила за използването му. Счита се, че това става с отвореното писмо на Бил Гейтс към така наречената група на хоби потребителите на компютри ( По онова време компютрите са били предимно в университетите и големите компании. Само ентусиасти проявяващи интерес към новата технология имали компютри в дома си и това било тяхно хоби. ) заявява, че е нередно свободното разпространение на софтуера и трябва да се наложат правила за ограничаването му. За жалост успява да убеди повечето компании и така се появява собственическия софтуер. Съответно се появява нуждата от лицензи, които да правят обратното. Да дават свобода на потребителите и да я защитават. Решението идва благодарение на Ричард Столман. Появяват се GNU GPL лиценза. Той се осланя на четите свободи:

  • Свободата да изпълняваш програмата — за всякакви цели (свобода №0).
  • Свободата да изучаваш как работи програмата и да я изменяш, за да отговаря на нуждите ти (свобода №1). Достъпът до изходния код е необходимо условие за това.
  • Свободата да разпространяваш копия, за да помогнеш на ближния си (свобода №2).
  • Свободата да подобряваш програмата и да споделиш подобренията си с всички, за да може цялата общност да се възползва (свобода №3). Достъпът до изходния код е необходимо условие за това.

В началото на 90-те вече има и свободна операционна система - GNU/Linux. Вече потребителите имат свободата да използват свободен софтуер на компютрите си.

Само няколко години след това голяма популярност набира глобалната мрежа Интернет. Тя дава нови хоризонти пред потребителите. Дава възможност за връзка с други потребители по целия свят. Пример за това е електронната поща. Но за да се осъществява преноса на данни са необходими протоколи. По онова време протоколите са били известни (в смисъла на добре формулирани) и всички са спазвали RFC-тата. Това давало свободата да се използват различни клиенти или сървър, между които и такива, които са свободен софтуер. Потребителят имал право да бъде свободен. След това някои компании (Microsoft например) разработват собствени протоколи за собствените си услуги, които целели да привлекат потребителя с прекрасната функционалност която предлагали тези услуги. Или е по-правилно да се каже да го „оковат“? Така или иначе чрез изследване на тези програми и протоколи (така наречения reverse engineering) се раждат техни свободни алтернативи. Добър пример за това е Samba. Всъщност Smaba дори става доста по-добър софтуер от собственическата имплементация на протокола.

И така. Що се отнася до използването на личния си компютър вече имам свободата да използваме изцяло свободна операционна система като gNewSense например. Можем свободно да комуникираме и с други потребители през Интернет. Но днес, в началото на 21-ви век наблюдаваме един нов „феномен“. Познат е под различни имена: уеб приложения, уеб услуги, WEB 2.0 и т.н. В общи линии става дума за това, че се предлагат услуги, коти дават възможност да ги използвате без да ги инсталирате на собствените си компютри. Можете да ги използвате през браузърите си са само на един клик разстояние ( евентуално и на една регистрация :-) ). Но тук идва въпросът: Къде на практика се извършва изчисляването (анг. computing. Все пак когато говорим за работа с компютър нека не забравяме, че всичко се свежда до изчисления. Затова ще наричаме използването на компютъра изчисляване.)? На практика, когато се използва такъв тип онлайн услуга изчисляването не става вече на нашия компютър, а на сървъра. Отличен пример за това е Gmail. Предлагат ви страхотна услуга, можете отвсякъде и по всяко време да си проверявате пощата, да се свързвате с приятели в мрежата на google. Дори не се налага да мислите за клиент и сървър вече, защото тук те са едно. Наблюдава се и друго нещо, ту вече липсват и протоколите. Данните ви се „прехвърлят“ в затвореното общество на услугата и вие на практика не знаете как става това. Но какво се случва с данните ви? Те вече не са на вашите компютри. Вие вече нямате достъп до тях. Ако някой ден решите да запазите електронния си адрес, но искате да смените доставчика на пощенски сървър (пощенска услуга) не можете да го направите с Gmail. И не само това. Googole се възползват от вашите данни за да ви предоставят реклами свързани с вашите интереси. А дали е само това? Не знам. И вие не знаете, което е още по-лошо. Ами ако предоставят данните ви на трети страни? Няма как да знаем това. Причината е, че повечето от тези услуги използват собственически софтуер. И още по-лошото, че именно те са най-популярни: Google, Tweeter, FaceBook, MySpace, YouTube, Blogger. Да вземем Gmail например. Предлагат страхотна услуга за електронна поща. Но какво правите ако някой ден решите да не ползвате вече техните услуги? Как ще запазите данните си? А имате ли право да го направите? И това не е най-лошото. Това са част от общите условя за позлване на google:

„Google събира лични данни, когато се регистрирате за услуга на Google или когато доброволно ги предоставите. Можем да комбинираме получените от вас лични данни с информация от други услуги на Google или от трети страни, за да ви осигурим по-добра практическа работа, както и персонализирано съдържание.“

„Може да споделяме обобщена информация, която не ви идентифицира лично, с трети страни извън Google.“

За щастие има доста свободен софтуер, който можете да използвате в Интернет. Но това не решава проблема. Ами ако този софтуер е модифициран и се опитва да ви навреди по някакъв начин или прави нещо, за което не знаете или поне официално не е обявено, че прави? Няма как да разберете. Няма как да го видите за уеб интерфейса, зад уеб страницата на вашите браузъри. Тук идва мястото на GNU Affero GPL лиценза, който освен, че защитава четирите свободи, задължава собственикът на сървърното приложение (онлайн услугата) или уеб сайта да предостави точно копие на текущо използваната версия на софтуера, който го/я задвижва. По този начин вие можете да разбере какво прави този софтуер с вашите данни. И дори да има модификации в кода вие можете да ги наблюдавате. Дори можете да ги използвате на вашия собствен сървър или услуга.

Това е страхотно! Но може би ще се изненадате ако ви кажа, че проблемът все още не е решен. Знаете какъв софтуер използвате, знаете дори как работи, знаете, че не ви застрашава. Проблемът са данните остава. Ами ако искате да прехвърлите данните си към друга услуга? За да стане това трябва да има начин по-който вие можете да изтеглите данните си и да ги прехвърлите към друга желана от вас услуга било тя онлайн или локално приложение на вашите компютри. Трябва доставчикът на услугата да ви предостави достъп до вашите собствени данни.

Така че дотук можем да говорим за свободен софтуер, както и за свободни данни, но все още не може да дефинираме термин като свободна услуга. Но това не означава, че не можем да говорим за свобода в онлайн пространството. Всички може да допринесем за това:

Ако сте разработчици на софтуер за онлайн услуги:

  • Публикувайте кода си под GNU Affero GPL, за да могат потребителите да изследват изходния код на приложението, което използват или дори да го използват за техни собствени услуги.
  • Можете да разработите алтернатива на съществуваща собственическа услуга, която да публикувате под свободен лиценз.
  • Можете да разработите софтуер, който да децентрализира услугата като даде възможност на потребителите да върнат контрола върху приложението на техните собствени компютри.

Ако предлагате онлайн услуги:

  • Избирайте свободен софтуер за услугите си. Препоръчително е да е под GNU Affero GPL лиценз.
  • Дайте достъп на потребителите до техните собствени данни и то в свободни (отворени) формати, за да могат потребителите да разполагат напълно с данните си. Това би позволило потребителя да извади данните си от услугата, когато пожелае.
  • Дайте възможност на потребителите да разполага с данните си не само физически. Данните достъпни от всички потребители на услугите ви трябва да са публикувани под условия, които позволяват на потребителите да разполагат напълно с тях.

Ако сте просто потребители:

  • Първо се замислете дали да използвате въобще софтуер върху компютъра на някой друг. Все пак той винаги ще има достъп до данните ви.
  • И ако все пак решите търсете услуга, която да спазва изискванията описани дотук.

И не забравяйте, че само вие имате свободата да избирате дали да контролирате или да изгубите данните си.

Публикувана в freedom на 24 април 2009 петък, 15:08 | коментари (0)

„Честит рожден ден GNU“ вече на български

Благодарение на Ивайло Вълков приведствието на Stephen Fry по случай 25-ия рожден ден на GNU вече има и субтитри на български. Субтитрите в cp1251 и в utf-8 кодировка, както и самото видео можете да свалите от тук:

http://gns.katsarov.org/happy-birthday-to-gnu/

Публикувана в freedom на 24 ноември 2008 понеделник, 16:17 | коментари (0)

Да се завърнеш...

„Да се завърнеш в бащината къща, когато гроздето във вино се превръща“

Тези думи винаги са ме дърпали към дома. Е в бащината ми къща не се прави вино, вадят се карофи, но и това си ми е мило и родно.

И така след шест години прекарани във Варна за съвсем кратко време събрах багажа и се върнах в Смолян. На много хора моето решение се струва налудничево. „Та повечето хора напускат малкия и отваат в големия град.“ Дали за да търсят изява, реализация, повече пари или нещо друго, но това е реалността за последните 18 години. А аз? Аз направих точно обратното.

Народът си го е казал: „Камъкът тежи на мястото си“, а моето място с всеки изминал ден все по-силно ставаше родния град. А и смятам, че и знанията, които съм натрупал през тези години ще са полезни за малкия град. Надявам се. :-)

Ами сега? Сега няколко дни почивка в дома. След това ще търся работа. А защо оставих работата и шансовете за реализиация в големия град? Не оставих тях. Оставих ежедневното напрежение, стреса, мръсотията, шума, забързаното ежедневие. Смятам, че само този, който не иска да работи няма да си намери работа, та дори и в град като Смолян. Че всъщност какво му е? Така че това не ме плаши. А тук? Тук е спокойно, тихо, чисто и зелено, точно както си го спомням. Хората са си същите добри, гостоприемни и услужливи. Елате в Родопите, ще видите. Който не ми вярва да провери.

И не на последно място приятелите от Варна. Всички ще ми липсвате страшно много. Но не тъжете, нали сме живи и здрави. Ще се виждаме, ще се чуваме. Това не е сбогом.

Публикувана в personal на 15 август 2008 петък, 19:29 | коментари (2)

JavaScript аналогов часовник

Аналогов часовни състоящ се от две картинки, html, css и javascript. За javascript библиотека е използван mootools 1.2. Алгоритъмът е доста прост, така че може да се рализира и без mootools. Ще се радвам ако е полезен на някого. Препоръки и въпроси се приемат ;-)

clock

Можете да го свалите тук: clock.tar.bz2

24/04/2009 г. :

Тук можете да видите демнстрация

Ако часовникът Ви е харесал, направете дарение:

Публикувана в software на 04 август 2008 понеделник, 03:32 | коментари (0)

gNewSense splash screeen

Миналата седмица купихме на Роси нов компютър и за мен остана старата антична машинка, Compaq Armada 1700.

Та малкото му дискче (6GB) беше разделено на няколко дяла, които поотделно не стигаха за нищо. И така реших да го „забърша“ целия и да му инсталирам един свеж gNewSense. След почти цял ден борба със съсипания му cdrom успях най-накрая да го инсталирам.

За gNewSense могат да се кажат доста хубави неща, най-важното, от които е, че с изцяло свободен софтуер, но му намерих и един недостатък. Когато се стартира Gnome, ми се налага доста време да гледам ръбатия и огромен splash screen, който върви със дистрибуцията и доста ме дразни. В крайна сметка реших, че е по-добре да взема да си направя друг. И така в крайна сметка направих три.

Ако ви харесват можете да си ги свалите gNewSenese_splash.tar.gz

splash 1

splash 2

splash 3

Публикувана в art на 31 март 2008 понеделник, 17:56 | коментари (0)