Li4na stranicata na Krum Lozev. Blog, snimki, misli
Kik's web blog
"It's not that we gotta do what we do
It's what we know, so to me it ain't nuttin but bein true..."
-- DMX "The Rain"
Statii za 2006-09

Sled pove4e ot dve sedmici nai-nakraq se reshih da napisha porednata "statiq" kym moq ve4e umirasht blog. Lipsata na kakyvto i da e interes malko zapo4va da mi navqva misylta, 4e deloto mi nqma mnogo smisyl, no zatova pyk sym reshil tova da e edno ot neshtata, ot koito nqma da se otkaja, taka 4e eto go i porednoto zaglavie (Smile)
Ot sega dyrja da otbeleja, 4e tazi statiq e za na4inaeshti "UYeb" programisti i nqma za ideq da u4i na kakvito i da e bilo novi tehniki, a po-skoro, kakto minalite zaglaviq da pokaje interesni na4ini za kombinaciq mejdu instrumentite na "divelopYra" (tiq dumi v kavi4kite, sys stranniq pravopis sa taka, zashtoto ne se seshtam to4ni ekvivalenti na bylgarski (Smile)).
Internet broq4ite sa interesni syshtestva, koito zaslujavat da im se otdeli vnimanie i da se raznishti kak to4no rabotqt. Eto v Bylgariq ve4e ima pone dva saita, koito predlagat tazi usluga bezplatno i mnogo se gordeqt s neq - 4ak slagat logata si po banerite, koito predostavqt. Vsyshtnost broq4a ne e osobena filosofiq. Neka poglednem sledniq kod: <img src="http://noWhere.com/counter.php?user=2" /> E da, ne izglejda kato 100 redovite HTML kodove, koito ni karat da si lepim po stranicite za da imame prostiq broq4, no pak bi rabotil, i to ne zle. Kakvo shte napravi PHP-to broq4:
  • Shte otbeleji, 4e vtoriq "user" otbelqzva oshte edno poseshtenie
  • Ako ima jelanie, shte ot4ete IP adresa na posetitelq (koito shte polu4i v $_SERVER['REMOTE_ADDR'], tyi kato tozi posetitel e tolkova negov, kolkoto i nash, zarejdaiki kartinkata ot negoviq sait)
  • Eventualno, ako ne go myrzi, shte zapishe s kakyv browser e bil posetitelq, kakto i operacionna sreda, v kolko 4asa, na koq data i t.n.
  • Shte pokaje kartinka - nali vse pak sme mu poiskali da byde SRC na nashata kartinka, sledovatelno bi bilo neu4tivo ako ni otgovori s neshto drugo (Smile).
A, daje poslednoto deistvie bi moglo da byde mnogo lesno - prashta edin [HEADER("Content-type: image/png");] ili neshto podobno beshe funciqta v PHP-to, sled koeto prosto pravi syvsem pyrvi4en [INCLUDE "images/counter_image.png";]. Da si go zapisha tova deto pisha ((Smile)): <? // Zapisvane si nqkade, 4e: // Posetitelskoq klient e: $_SERVER['HTTP_USER_AGENT'] // Adresa na posetitelq e: $_SERVER['REMOTE_ADDR'] // Sa ni posetili v: time() // Kolko neshta oshte mojem da razberem za posetitelq, 4etem tuk: //http://php.data.bg/manual/en/reserved.variables.php#reserved.variables.server // Pokazvame kartinka s nash baner na posetitelq: HEADER("Content-type: image/png"); INCLUDE "images/counter_image.png"; ?> S tova iskam, da kaja, 4e s ediniq red HTML, broq4a moje da razbere kup raboti.
Seka da si se vyrna na misylta za interesnata kombinaciq mejdu PHP i JavaScript. Tq se izrazqva, v tova, 4e shte mojem da sledim edna vajna statistika - s kakvi rezoliucii sa nai-4esto nashite posetiteli, za da mojem da podobrim stariq ni nerabotesht i grozen dizain s nov, malko po-hubav, no mnogo po-polezen (Smile)
PHP ne moje da poznae s kakva rezoliuciq e 4oveka ot drugiq krai na vryzkata, no zatova pyk JavaScript-a koito e tam moje. Gledame sledniq kod, koito pak shte povika kartinka ot saita na broq4a: <script language="JavaScript"> var base = "http://noWhere.com/counter.php?user=2&"; var base += 'resolution=' + screen.width + 'x' + screen.height; document.write('<img src=' + base + ' alt="My Counter" />'); </script> <noscript> <img src="http://noWhere.com/counter.php?user=2&nojavascript=1" alt="No java script counter" /> </noscript> Sega ve4e counter.php osven vsi4kom koeto opisah malko po-gore, shte moje da razbere s kakva razdelitelna sposobnost e posetitelq. Shte polu4i neshto ot roda na 1280x1024 v $_GET['resolution'], a ako posetitelq na JavaScript, ili ako go e izkliu4il, to nie shte polu4im $_GET['nojavascrip'] = 1 (Smile)
Skoro, kogato ponamerq vreme shte napisha i pylno reshenie - edin bezplaten broq4, ako nqkoi se interesuvakak to4no se pishe, no tam e po-interesen momenta sys statistikite i kak nai-racionalno da vodil statistika na posetitelite. Koeto ot svoq strana e svyrzano pove4e s bazi danni, no za tova - po kysno (Smile)
[ Nagore ] [ Nqma komentari ]
Dnes da napisha malko za poslednata mi igra4ka, koqto oshte e v ranen testov period, i stashno mnogo zavisi ot tova kakyv browser polzvate. Test4eto e mnogo prosto, no syshtevremenno e i interesna ekspoataciq na w3c standartite i XML vyzmojnostite, koito tepyrva shte ima da se razvivat.
Sega ve4e da premina kym tema (Smile) Vsi4ki znaem za RSS standarta, koito ni pozvolqva da razglejdane novinite na saitovete v browser ili poshtenskiq klient. No da se sprem na samoq iz4isten RSS, i na edin mnogo blag format, za formatirane na kakvito i da e XML danni, a imenno: XSL. Po-dobre mojete da se zapoznaete s nego e tuk: http://w3schools.com/xsl. Mejdu drugoto XSL zna4i EXtensible Stylesheet Language.
Cel
Shte napravin prost RSS 4etec, koito da pokazva danni ot vynshen (ili vytreshen) RSS Feed.
Kak?
Polzvame vgradenata v brauzera poddryjka na XSL i v 4astnost [XSLT].
Dali shte raboti navsqkade?
Otnositelno (Smile) Trqbva da kaja, 4e bi trqbvalo, tyi kato e w3c standart, koito oba4e ne e osobeno popolqren sred dizainerite, tyi kato na pove4eto ot tqh ime e truden HTML-a pyk kamo li neshto koeto ima funkcii i drugi shturotii v nego (Smile). Da se vyrna na temata.
  • Internet Expl. bi trqbvalo da go pokazva pravilno sled versiq 5 (dokolkoto 4etoh)
  • Firefox ne vidqh problem s 1.5.0.4 i 1.5.0.6
Priemame, 4e dobre sme se zapoznali s vsi4ki 'tehnologii', koito shte polzvame, zatova pribqgvame kym tova, kak shte izpylnim zadanieto.

tova, koeto shte obqsnqvam e tuk:
http://kikweb.dgd-bg.com/xslt/

XSL Template for RSS displaying Shte trqbva da pokazvame XML fail, koito e VALIDEN (!!) RSS, t.e. 4e nqma da mojen da pokazvame kakvoto i da e (Smile)
Moqt XSL izglejda taka: <?xml version="1.0" encoding="CP1251"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2> <a> <xsl:attribute name="href"> <xsl:value-of select="rss/channel/link"/> </xsl:attribute> <xsl:attribute name="title"> <xsl:value-of select="rss/channel/description"/> </xsl:attribute> <xsl:value-of select="rss/channel/title"/> </a> </h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Author</th> <th align="left">Title</th> <th align="center">Date</th> </tr> <xsl:for-each select="rss/channel/item"> <tr> <td><xsl:value-of select="author"/></td> <td> <a> <xsl:attribute name="href"> <xsl:value-of select="link"/> </xsl:attribute> <xsl:attribute name="title"> <xsl:value-of select="description"/> </xsl:attribute> <xsl:value-of select="title"/> </a> </td> <td><xsl:value-of select="pubDate"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> Pove4e za tova kak raboti mojete da namerite na linka v na4aloto.
Tozi vyprosen template shte ni pokazva link4eta i drugi tempodobni glezotiiki ot RSS faila.
PHP Script to merge Sega da kaja i za skripta, koito shte ni pokaje kak shte sraboti cqla shema. nqma da go pokazvam, a shte dam vryzka kym koda mu.
http://kikweb.dgd-bg.com/xslt/index.phps
Nakratko kakvi sa promenlivite, koito priema:
  • TYPE po tozi na4in mu pokazvame kakvo da ni kazva. Vyzmojni sa dve opcii: XML i XSL.
  • RSS Pylen url ot koito da 4ete. Priema samo url-i ot vida: http://kikweb.dgd-bg.com/last.rss.
TYPE avtomati4na slaga za link kym sebe si za da imame samo edin fail, koito da pravi vsi4ko. Na praktika tazi promenliva e napylni izlishna, ako iskame da pokazvame samo edin tip danni. Tyi kato ne iskam da pravq 3 faila, gi slagam v edin skript. Drugoto deistvie, koeto skripta izvyrshva, e da podmenq ?> taga ot polu4eniq RSS sys <?xml-stylesheet type="text/xsl" href="http://kikweb.dgd-bg.com/xslt/?type=XSL"?> link kym XSL stila, v koito da se vizualizira. Malko dyrven na4in da gi syedinq, no tyi kato taga v XML moje da go ima samo vednyj, i to nai-otgore, to skripta shte raboti pri vsqkakvi usloviq.

Overall Integration in HTML
Sega idva red i za poznatata 4ast ot istoriqta. Kakvo da go pravim tova cqloto neshto... Shte vi kaja i tuka edna hitrinka, pak rqdko izpolzvana ot masite dizaineri i drugi zanimavashti se s "uEby DivElopmEnt" (Smile)
Poglednete sledniq 4ist XHTML kod: <object type="text/xml" codetype="text/xml" width="100%" border="1" data="http://kikweb.dgd-bg.com/xslt/?type=XML"> RSS Online Reader </object> Tozi "blag tag" (Smile) OBJECT ni pozvolqva da kokajem kakvoto i da e sydyrjanie v nashiq browser.

Usage
Izprobvaite kak raboti polu4eniq ot men skript v realni usloviq. Shte vi dam linkove, za da vidite kak shte pro4etete zaglaviq ot nqkoi stranici: Zakliu4enie
Zasega moga da opredelq izpolzvanite gore na4ini kato "alternativni" i neprilojimi v golqma 4ast ot slu4aite, no se otpravqm s nadejda, 4e internet prostranstvoto shte se razvie dostaty4no i takiva kodove ve4e shte bydat kvalificirani kato prosti i zadyljitelni znaniq. Nai-hubavoto v tazi statiq e, 4e e ustremena izcqlo kym client-side programirane i ne e bliu4ena i kapka JavaScript (Smile)
Dano statiqta da vi e haresala
[ Nagore ] [ 1 komentar ]
Sega si mislq da spe4elq malko vnimanieto na hora zanimavashti se s CSS. V nastoqshtiq tekst shte razberete kak da napravite nqkoi shturotiiki s CSS, dori i nikoga v bydeshte da ne vi se naloji da gi izpolzvate. Pyrvo da kaja za nqkolko saita, koito shte e po4ti zadyljitelno da pregledate, predi da se zahvanete s kakvoto i da bilo ot doloopisanoto.
Stara knijka s detski prikazki
Ta sega da si kaja i az kakva mi e dumata (Smile) Zaglejdame se po-vnimatelno v pylnoto obqsnenie na klasovete i psevdo takivata, i si spomnqme za detskite knijki, kydeto vsqka nova prikazka zapo4va s glavna bukva, koqto e mnogo po-golqma ot vsi4ki ostanali, qrko izpykva i e ili narisuvana, ili izografisana po stranen na4in. Nostalgiqta ve4e napylno e vzela vryh nad nashite prostosmyrtni dushi, i reshavame nashata stranica da zapo4va s golqma hubava bukva, koqto da pravi stranno vpe4atlenie na vseki posetitel.
Izmestvam vyprosa ot zashto, na KAK ( kolkoto i glupavo da e obqsnenieto za ZAShtO (Smile).
Ako ste obyrnali vnimanie, v nastoqshtata stranica mojete da zabelejite vyprosniq efekt s pyrvata bukva. Sledva samo da obqsnq kak stava tova: 4etem tuk.
Malko kod, koito 4uvstvitelno shte ugolemi pyrvite bukvi v paragrafite ni (Smile)
p:first-letter { font-size:200%; } Ve4e za4elo na paragrafite sedqt svoino po-golemi bukvi (Smile). Za fontove i tem-podobni nqma da govorq, tyi kato smqtam, 4e vseki moje da pro4ete i da napasne stilaspored svoite nujdi.
ve4e sym razkril za silata na CSS i sega samo shte hvyrlq svetlina vyrhu tova, kak tezi bukvi da ne styr4at grozno nagore (Smile) gorniq kod stava sledniq: p:first-letter { font-size:200%; float: left; } S tova iz4erpvam opita, natrupak pokrai "INOVATIVNIQ" (nasmeshka) dizain na li4nata si stranica. Ostavqm vyv vashi ryce da razvivate ideqta, ako vi dopada, a ako ne - syjalqvam 4e ste si izgubili vremeto, no vinata si e vasha ;P
Nakraq, eto i link kym liubimiq mi sait za dizain i nai-ve4e za CSS:
www.aListApart.com
ENJOY!
[ Nagore ] [ 1 komentar ]
Siemens CX75 Kakto bqh spomenal, malko predi kandidat studentskite si izpiti si vzeh nova igra4ka. To si e napravo igra4ka, osobeno shturotiite koito se opitvah da podkaram na noviq si telefon. kakto i da e de, telefona e bez osobeno krasiv vynshen vid, no za tova pyk bih go prepory4al na vseki - Bluetooth, MMC Slot, Camera 1.3 Megapixel i nai-blagoto - JAVA 2 ME. Shte da re4e 4e ima API-ta za cqlata si periferiq (Smile)
Sega idva vyprosa za tova kakvo tolkova adjaba mojem da pravim s nego?
Sega neka pyrvo obqsnq kak da go svyrjem s Linux prez Bluetooth-a. 4estno da si priznaq pyrviq pyt mi otne 2 dni, no za tova pyk v posledstvie se opaza mnogo prosto. Pyrvo svalqme BLUEZ, koeto sa mouli za lokalniq BT Dongle.
Opsanieto e nai-ve4e prednazna4eno za Slackware potrebiteli, drugite potyrsete na kraq na statiqta linkove, koito moje da sa vi po-polezni.
mkdir tmp_bluez; cd tmp_bluez; wget http://mirrors.unixsol.org/linuxpackages//Slackware-9.1/Console/bluez-bluefw/bluez-bluefw-1.0-i686-1rmx.tgz wget http://mirrors.unixsol.org/linuxpackages//Slackware-9.1/Console/bluez-hcidump/bluez-hcidump-1.6-i686-1rmx.tgz wget http://mirrors.unixsol.org/linuxpackages//Slackware-9.1/Console/bluez-hciemu/bluez-hciemu-1.0-i386-2roc.tgz wget http://mirrors.unixsol.org/linuxpackages//Slackware-9.1/Console/bluez-pan/bluez-pan-1.1-i386-1roc.tgz wget http://mirrors.unixsol.org/linuxpackages//Slackware-9.1/Console/bluez-sdp/bluez-sdp-1.5-i386-2roc.tgz wget http://mirrors.unixsol.org/linuxpackages//Slackware-9.1/Console/bluez-utils/bluez-utils-2.4-i386-1roc.tgz Taka ve4e v direktoriqta tmp_bluez imame vsi4ki paketi koito shte ni trqbvat. Instalirame paketite: installpkg *.tgz Pristypvame kym nastroivaneto na bluetooth mrejata. Za tazi cel shte ni trqbvat dva demona: hcid i sdpd. Nastroikite im sa lesni.
Otvarqme faila /etc/bluetooth/hcid.conf. Eto moq conf za primer: options { autoinit yes; security auto; pairing multi; pin_helper /opt/kde/lib/kdebluetooth/kbluepin; } # Default settings for HCI devices device { name "KikPC (%h)"; class 0x100000; iscan enable; pscan enable; lm accept; lp rswitch,hold,sniff,park; } Ako vsi4ko e nared mojem da prolenim /etc/rc.d/rc.local (za Slack) ili prosto startov fail za druga distribuciq. Dobavqme slednite redove: modprobe hci_usb hcid sdpd Kakto zabelqzahte j hci.conf slojihme pin_helper ../kbluepin; Na negovo mqsto mojeshe da slojim prosto fail, koito izpisva nqkakyv kod, no tyi kato mislim s razmah sme predvidili, 4e shte polzvame kbluetooth. I ako vsi4ko do momenta srabotva, e vreme da instalirame i nego ( http://kde-bluetooth.sourceforge.net/ ). Paket potyrsete na: http://mirrors.unixsol.org/linuxpackages//Slackware-10.2/X11/kdebluetooth/kdebluetooth-1.0beta1-i486-1bmr.tgz

Tova beshe za opita mi za podkarvane na telefona i razpoznavaneto mu s Linux
Bluetooth remote control Ve4e imame KBlueTooth i iskame na nakarame kompiutyra ni da se pod4inqva na komandi ot telefona. shte vi prepory4am nqkoi linkove, koito si zaslujava da probvate, ako moeto doluopisno predlojenie ne vi dopada: Hacking Anyremote
Posledno v statiqta da kaja dve dumi za Anyremote. Sled kato go kompilirah, vyznikna drug problem: Telefona se razpoznava i se vijda 4udesno, vsi4ko raboti, no dqvolyt se razka4a prez razli4en period ot vreme. Prosto spira da predava. Tuk, idva vreme za edin "hak" - startirame anyremote prez sh skript, koito da proverqva dali slu4aino telefona ne e reshil da se razka4i. Skripta e sledniq: #!/bin/sh ## Unfurtunatelly ANYREMOTE makes a kind of time disconnects.that`s why ## I will restart it every ... 5mins for example ## Please send suggestions to kik_AT_data.bg RESTART_TIME=100 # 600sec = 10 min TIME_BETWEEN_RESTARTS=5 # How long to wait procees to die PHONE_BT_ADDRESS='XX:XX:XX:XX:XX:XX' # From which phone should we remote the control; # proverete adresa s: "hcitool scan" kato go pishete s glavni bukvi! LOG_FILE="/home/kik/phone/remote.log" # "/dev/stdout" # LOG_DATE_FORMAT='%x/%H:%M:%S' # Init "/dev/rfcomm0" echo "[`date +$LOG_DATE_FORMAT`] Starting $0">$LOG_FILE # Do restarting the anyremote while true; do if [ -e "/home/kik/phone/$PHONE_BT_ADDRESS" ]; then if [ "`hcitool conn | grep $PHONE_BT_ADDRESS`" = "" ]; then echo "[`date +$LOG_DATE_FORMAT`] Connection down. Restarting it.">>$LOG_FILE if [ "`ps ax | grep anyremote`" != '' ]; then echo "[`date +$LOG_DATE_FORMAT`] Killing Old 'anyremote'">>$LOG_FILE killall anyremote; sleep 5; fi; kdesu -c "rfcomm release /dev/rfcomm0 && rfcomm bind /dev/rfcomm0 $PHONE_BT_ADDRESS 1" echo "[`date +$LOG_DATE_FORMAT`] Waiting $TIME_BETWEEN_RESTARTS secs to restart app">>$LOG_FILE sleep $TIME_BETWEEN_RESTARTS echo "[`date +$LOG_DATE_FORMAT`] $PHONE_BT_ADDRESS Online: starting anyremote">>$LOG_FILE anyremote -f /home/kik/.anyremote.cfg -d & echo "==========================================">>$LOG_FILE else echo "[`date +$LOG_DATE_FORMAT`] Connection checked and seems to be OK">>$LOG_FILE fi; else echo "[`date +$LOG_DATE_FORMAT`] Device is not online. Exitting & Sorry.">>$LOG_FILE exit 1 fi; echo "[`date +$LOG_DATE_FORMAT`] Sleeping $RESTART_TIME seconds">>$LOG_FILE sleep $RESTART_TIME done exit 0 Tozi skript, OBA4E raboti samo ako ima fail s ime Bluetooth adresa na telefona v papka "/home/kik/phone/". Mojete ili da mahnete tazi proverka, ili da dobavite (kakto az sym napravil) drug discovery skript v kbluetoothd. Moq skript e: case "$1" in run) # Look up the name for each found/lost device with the # device name cache of kbluetoothd via dcop for dev in $FOUND_DEVICES ; do echo "online">/home/kik/phone/$dev /home/kik/phone/remote.sh>$LOG_FILE & kdialog --title "Remote Control - On" --passivepopup "Remote controll is switched on" 5 done for dev in $LOST_DEVICES ; do rm /home/kik/phone/$dev killall /home/kik/phone/remote.sh killall anyremote kdialog --title "Remote Control - Off" --passivepopup "Remote controll is switched off" 5 done ;; configure) kedit "$JOB_PATH" ;; esac Malko linkove
Shte vi spodelq linkovete, koito sym nameril vyv vryzka s moq telefon, kato trqbva da kaja 4e ne sam probval vsi4kiq softuer na saitovete pokazani po-dolu, zatova ne sam ubeden, 4e 4e vsi4ki rabotqt izrqdno. Molq spodelqite linkove i syveti v komentarite.
  • Gammu Programa za razmqna na danni s telefona, sinhronizaciq i kakvo li oshte ne.
  • tuxmobil.org citiram zaglaveto na stranicata: "Linux Applications for Mobile Bluetooth(TM) Cell Phones". To e dostaty4no krasnore4ivo (Smile)
  • blues55 Otnovo citat; "...transforms a Siemens S55 cell-phone into a remote control for your computer..."
  • georgi.unixsol.org Podrobni i pylno opisanie kak da nastroite Bluetooth dongle za da raboti s telefona vi.
  • Anyremote Otnovo spomenavam Anyremote (Smile)
  • SyncEvolution 0.3 Sinhronizaciq posredstvom SyncML
  • www.linuxjournal.com Syncing the Treo 650 with Bluetooth
  • benq-siemens.com Benq-Siemens Official Site. Slagam go tuk za da razgledate kolko mnogo glezotiiki mojete da si svalite .... Linka e za moq model telefon.
  • tuxmobil.org Oshte edin link kym http://tuxmobil.org/. Na tazi stranica tyrsete hubavi Java prilojeniq
[ Nagore ] [ Nqma komentari ]
Za mnogo hora tova shte e sigurno poredniq blog na nqkoi si, zatova bih iskal oshte sega da Vi zapoznaq s interesite si, taka 4e da znaete kakvo moje da o4akvate. Predi mesec ili dva se sdobih s ne-losh otkym funkcionalnosti Siemens CX75, kato sled nqkolko sedmici ve4e izpolzvah vsi4ki negovi funkcionalnosti s domashniq mi Linux (Slackware): Obex sync, bluetooth remote i t.n. Tazi statiq shte napisha vednaga shtom mi ostane pone malko svobodno vreme, koeto vsyshtnost shte e skoro (Smile) Drugo neshto shte e list s polezni linkove, bez koito (spored men) nikoi ne moje da nare4e sebe si dizainer ili razrabot4ik, mislq syshto i da hvyrlq malko svetlina okolo nqkoi CSS shturotiiki, na koito sym golqm fen. Moje bi na posledno mqsto, a nai-veroqtno i po cennost, shte namerite nemalko PHP skriptove, koito sym pisal prez poslednite goini (Smile) Mislq 4e koito spodelq moite interesi shte hvyrlq po edno U4o ot vreme na vreme (Smile)
[ Nagore ] [ Nqma komentari ]
Ima 5 statii za tozi mesec
Get Firefox! X Multimedia System Pidgin Instant messanger Get Slackware Valid XHTML 1.0 Transitional [Valid RSS]

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 Bulgaria License.
Това е лична страница. Писаното тук не е мнение на хора свързани по какъвто и да е начин с мен и не трябва да се цитира като такова!