11 Oct, 2008
В Apache (web сървър) има един много полезен модул. Казва се mod_rewrite. С негова помощ можете да модифицирате хедърите на пристигащите HTTP заявки на базата на регулярни изрази и разнообразни други условия. Ето един малък пример:
RewriteCond %{HTTP_USER_AGENT} msie.* [I]
RewriteRule ^/$ /page.msie.html [L]
RewriteCond %{HTTP_USER_AGENT} firefox.* [I]
RewriteRule ^/$ /page.firefox.html [L]
Тези два реда се четат така: ако браузерът е MS Internet Explorer замести всички заявки за "/" към страницата "/page.msie.html". А въпросният документ може да използва възможности, специфични само за IE. В случай, че отворите "/" от Firefox, то ще се изпълни само второто (първото правило RewriteCond е false) и ще се отвори страница, специфична за Firefox.
Продължение » » »
4 Oct, 2008
Съвсем без да исках се сблъсках със "Smart Quotes" в WordPress. Подобно на други текстови процесори WordPress променя двойните кавички и апострофите, което създава много проблеми при изписването на изходен код за скриптове, програми и т.н.
Какво е "Smart Quotes"?
Когато ограждате дума/изречение в апострофи или двойни кавички натискате бутона от клавиатурата <">. Много текстови процесори "виждат" ограждането и преобразуват горното в отварящи и затварящи кавички/апострофи:
Продължение » » »
4 Oct, 2008
Първо малко предистория в два примера:
Пример 1:
Искате да свалите няколко (големи) файла чрез Internet Explorer. Избирате първия линк, указвате пътя за съхранение. Правите същото и с втория линк. Но когато се опитате да повторите нещата с третия линк - прозорчето за SAVE не излиза, докато не се източи някой от предишните файлове;
Пример 2:
Представете си, че имате AJAX приложение. Неговата цел е едновременно да направи ping към пет определени IP адреси и динамично да покаже резултата в web страницата, без да я обновява по класическия начин. Към нашата представа добавяме и факта, че към три от IP адресите няма връзка, т.е. командата ping ще върне отговор "Request Timed Out". При нормални обстоятелства и наличие на връзка ping.exe изпраща 4 пакета и получава 4 отговора за по-малко от 2 секунди. При липса на връзка обаче ping.exe се бави около 5 секунди. Зареждаме нашата страница с AJAX пингалката и наблюдаваме резултата: страницата се запълва с информация последователно, а под "едновременно" явно се разбира почти едновременно, защото част от резултатите излизат след като първите няколко ping-а са приключили. Най-интересното е, че ако докато чакаме изхода от ping-овете направим refresh (F5 или CTRL+F5) страницата тотално "забива" за не малко време.
Ефектът с увисването на страницата се наблюдава както при Internet Explorer, така и при Firefox, независимо дали WEB сървъра е IIS или Apache.
Продължение » » »
27 Sep, 2008
[UPDATED - 03.10.2008]
Говори се, че Internet Explorer не е много функционален. Липсват много благинки, които можете да намерите във Firefox (примерно). Обаче това не е точно така. IE е разширяем в много отношения, благодарение на обектния си модел, който е добре описан. Само липсват списвачи на код, които да разширят възможностите му. Е, вече не е така - има IE7Pro. Това е приставка за Internet Explorer, която меко казано внася невиждана до сега функционалност в този браузър и то за $0.

Продължение » » »
22 Sep, 2008
В Windows 2000/XP/Vista има функция, която се нарича AutoPlay. На кратко, когато сложите CD/DVD или USB flash памет операционната система търси и изпълнява файла autorun.ini. В него обикновено е указано да се стартира инсталационна програма. Всичко това е направено за улеснение на потребителя - за да не се рови излишно из папките и да търси какво точно да стартира.
Обаче! Всичко хубаво свършва до тук. Все по-често тази опция (AutoPlay) се използва умело от всякакви вируси. Ето какво се случва:
Продължение » » »
21 Sep, 2008
Инсталирането на Windows не е нещо особено трудно. Поне на теория. По традиция това става чрез програмата SETUP, която има два варианта: win32 GUI и win16 text mode. Инсталацията преминава през копиране на системните файлове, откриване на периферните устройства, конфигуриране на системата и последващо първо стартиране. Процедурата отнема от 20 до 60 минути, в зависимост от хардуера, с който разползгате.
До тук добре. Но какво става, когато трябва да направим инсталация на 10, 20, 50 и/или повече компютри? Единият вариант е да се въоражим с търпение и хора, които да отговарят на въпросите по време на инсталацията, другият е да използваме unattended възможностите на програмата SETUP, а третият - използване на образи/image-i.
Продължение » » »
20 Sep, 2008
В статията "Какво да правим със старите дискети?" обясних на кратко как можете да правите image на дискета и след това да възстановите съдържанието й обратно на магнитен носител. Но ако нямате в момента дискета под ръка, днес е неделя и всички магазини са затворени или просто имате лаптоп без ФДУ?
Ken Kato се е сетил за тази ситуация и е направил програмка (Virtual Floppy Drive for Windows - VFDWin), която да емулира истинско флопидисково устройство, което обаче работи с image-и.
Текущата версия на VFDWin е 2.1 и можете да си я свалите от следния адрес: [ http://chitchat.at.infoseek.co.jp/vmware/vfd.html ]. Поддържат се до две виртуални флопидискови устройства.
Продължение » » »
19 Sep, 2008
Публична тайна е, че в повечето домове има една телефонна линия, към която са свързани два или повече телефонни апарати (т.нар. деривати), най-вече за удобство. Страничният ефект: ако вдигнете слушалките на апаратите всички чуват разговора - нещо като конферентна връзка с елементи на подслушване
. Това определено е проблем, когато използвате модем за достъп до Интернет - връзката просто се разпада.
Можете да разрешите казуса много елегантно чрез малко тинол, поялник, около 5 лв. и свободно време
Продължение » » »
18 Sep, 2008
За добро или зло PHP е нестриктен език. Просто казано не е необходимо да дефинирате променливите предварително и можете да им присвоявате стойности от различни типове.
Подобно на другите езици за програмиране PHP разползга с вградени (т.нар примитивни) типове:
- boolean;
- integer;
- float;
- string;
- и още няколко.
Интересен е типа INTEGER. За него PHP заема 4 байта памет (при 32 битовите системи). Продължение » » »
15 Sep, 2008
Дори мрачното и дъждовно време днес не е в състояние да засенчи светлият празник, който отбелязваме на 15-ти септември. Това е денят, в който хиляди деца поемат към следващата учебна година, изпълнена с много нови знания и емоции. Всички те са водени от хората, олицетворяващи Българските култура и традиции - учителите.
Успех на всички колеги, които са се нагърбили с не леката задача да съхранят пламъка на знанието, предавайки го на следващите поколения - нашето "утре"!