блогът на belogradchik.biz

Подобрения по галерията

May 12th, 2008 zetxxx

Има някои подобрения които съм направил по-галерията.

Структурирани албуми

Албумите са по структурирани, тоест подредени са в категории и подкатегории с имената на авторите на съответните албуми.

mod_rewrite

мода- за пренаписване на урл-тата е пуснат, тоест в адрес бара ще се виждат по приятелски урл-та, пример: Белоградчик фото галерия първо езика след което идва Белоградчик. Приемам идеи евентуално за пипане и по кода на глаерията .

За Гората

May 12th, 2008 zetxxx

i`m back - след дълго и упорито правене на нищо, и още по упорито мързелуване…. Но да се върна на темата, преди малко четох една статия, вече не си спомням за какво ставаше на въпрос но коментарите бяха интересни, коментарите бяха относно горите и как те се изсичат, не знам за местните в Белоградчик но когато аз се прибирам и виждам нещо странно точно от гледна точка на изсичането на горите, понеже пребивавам ( по-празници ) не само в Белоградчик но и в Боровица което село е някак си по близко до природата .. все пак не е град и е някак си по спокоино, а пък имам и спомени от по-малък какво е било и как е изглеждало и сега като се прибирам по веднъж на 6 м. мога да отсея промените които само ме натъжават, ако преди 1 г. съм се прибирал за лека почивка и съм виждал опожарената гора то след 6м. тя вече не съществува … изсечена е, и някой е с пълна гушка, и всичко почва по старата позната схема, скапва се няква инфраструктура ( ако приемем гората като такава ), след което се разпродава … щот е по лесно, щото държавата вече не се интересува за/от скапаната инфраструктура. Имаше една песен

Хубава си моя горо

дано не стане така  че да забравим тази песен защото гората е наше наследство и ние трябва да се грижим за него а не да го пилеем. И накрая но не на последно място пожелавам на хората които секат за лична облага след време пръстите да му се изрязват бавно и постепенно …. ( angry )

Хах, относно Главна Дирекция “Гражданска Регистрация и Административно Обслужване”

May 3rd, 2008 zetxxx

Мдам, както си седя и случаино попадам на ето този линк http://www.grao.bg/nbd.html#section1_1 които като цяло ми е много странен :) . Трябва да се обърне внимание на М$ и как тез хора са окупирали нашта администрациа, всъщност като се замисля малко наште са си виновни сами, че те пускат скриин-шотове на сертификатите си без дори да са зачеркали своето име :) .

цък тук и предвижи с мишката до 1-рата снимка

А подобен вид хора ми говорят за сертификати в тема която се казва

Условия за достъп до НБД “Население” през NTERNET

, и защо трябва да ползвам интерент експлорер подяволите…. ако някои от антимонопол средите прочете този пост нека го има на предвид, или просто да про4ете статията публикацията ( осъзнах че не знам как да го нарека .. явно и за сео трябва да си купят книжка, тогава кои знае каква мъдрост ще им хрумне, мдам, така е като на такива места висят децата на мама и тати ) :D.

Когато хората са недоволни от начина по който живеят и управниците не са способни да направят нищо срещу това - назрява революция - В.И. Ленин

Ех спомени… спомени

April 18th, 2008 zetxxx

Спомени от едно отминало детство и не толкова далечно минало :) , Тези филмчета са спеялен поздрав за колегите/прителите/познатите/съмишлениците от/за едно-то време :D .

PHP и Threads

April 4th, 2008 zetxxx

Мдам, имаше и такъв момент, след около 2 часа търсене попаднах на един блог чиито притежател ми изясни някои основни неща включително и че за начинанието за което си мислех че ми трябват нишки мога да мина и без тях. Оказа се че библиотеката която одговрая за стриимовете върши чудесна работа шот имало асинхронна връзка, да ама що толкова малко се пише за тея неща… защото нещата при стриимовете се оказаха малко заплетени, но уви трябваше да се разплетат по един или по друг начин, класа които слагам по долу работи по следния начин ( а и е предназначен главно и само за хттп рикуести ).. сетваме домаин:ппорт( 1 or multiply ) отваряме коннекция -> правиме я асинхронна -> преминаваме от блокинг мод към нонблокинг ( което води до неизчакване ако не се лъжа ) -> stream_select магическата функция, тази фукнция връща резултат в една от опциите които и пассваме по референции, благодарение на тази функция знаем в кои стриим се е случило нещо и благодарение на нея ако трябва да прочетем 2 уеб страници няма да има нужда да чакаме да се изчете едната и селд това другата, така спестяваме времето което е нужно на сървъра да обработи рекуест-а … надявам се съм бил полезен на някои, бв този класс има дребни екстри за поправка, трябваше да сложа услееп някаде за да падне процесорното време но това след уикенд-а, пък и които е заинтересуван винаги ше му бутна рамо :)

  1. ini_set( 'max_execution_time', 300 );
  2.  
  3. include 'html.parser.php';
  4.  
  5. class threadetSocketCall
  6. {
  7.  var $namespace = array();
  8.  var $config = array();
  9.  
  10.  function threadetSocketCall()
  11.  {
  12.   $this->config['ctime'] = 30;
  13.  }
  14.  
  15.  function mHostAdd( $host_port, $get )
  16.  {
  17.   $this->namespace['domain:port'][] = array();
  18.   $this->namespace['domain:port'][count( $this->namespace['domain:port'] )-1] = $host_port;
  19.   $this->namespace['get'][count( $this->namespace['domain:port'] )-1] = $get;
  20.  }
  21.  
  22.  function mHostAddConnect( $host_port = 'www.belogradchik.biz:80', $get = '' )
  23.  {
  24.   $this->mHostAdd( $host_port, $get );
  25.   $cc = count( $this->namespace['domain:port'] )-1;
  26.   $this->namespace['conn'][$cc] = stream_socket_client( $this->namespace['domain:port'][$cc], $errno, $errstr, $this->config['ctime'], STREAM_CLIENT_ASYNC_CONNECT|STREAM_CLIENT_CONNECT );
  27.   stream_set_blocking( $this->namespace['conn'][$cc], 0 );
  28.   $this->namespace['allready.writed'][$cc] = false;
  29.   if( !is_resource( $this->namespace['conn'][$cc] ) )
  30.   {
  31.    $this->namespace['stat'][$cc]['error_text'] = 'error';
  32.    $this->namespace['stat'][$cc]['err']['no'] = $errno;
  33.    $this->namespace['stat'][$cc]['err']['str'] = $errstr;
  34.   }
  35.   else
  36.    $this->namespace['stat'][$cc]['control_text'] = 'in progress >> ';
  37.  }
  38.  
  39.  function getResults()
  40.  {
  41.   $iter = 0;
  42.   while( count( $this->namespace['conn'] ) )
  43.   {
  44.    ++$iter;
  45.    $r_ = $w_ = array();
  46.    $r_ = $w_ = $this->namespace['conn'];
  47.    $n_ = stream_select( $r_, $w_, $e = null, NULL );
  48.    if( $n_ > 0 )
  49.    {
  50.     if( isset( $w_[0] ) )
  51.     {
  52.      $w_id = NULL;
  53.      foreach( $w_ as $id )
  54.      {
  55.       $w_id = array_search( $id, $this->namespace['conn'], true );
  56.       if( $this->namespace['allready.writed'][$w_id] === false )
  57.       {
  58.        $this->namespace['stat'][$w_id]['control_text'] .= 'in writeing #'.$w_id.'|'.$iter.'#';
  59.        fwrite( $this->namespace['conn'][$w_id], $this->namespace['get'][$w_id] );
  60.        $this->namespace['allready.writed'][$w_id] = true;
  61.        $this->namespace['output'][$w_id] = '';
  62.       }
  63.      }
  64.     }
  65.     if( isset( $r_[0] ) )
  66.     {
  67.      $r_id = NULL;
  68.      foreach( $r_ as $id )
  69.      {
  70.       $this->namespace['stat'][$id]['control_text'] = 'in reading #'.$iter;
  71.       $r_id = array_search( $id, $this->namespace['conn'] );
  72.       $stream_info = stream_get_meta_data( $this->namespace['conn'][$r_id] );
  73.       $r_data = fread( $this->namespace['conn'][$r_id], 8192 );
  74.       if( strlen( $r_data ) > 0 ){ $this->namespace['output'][$r_id] .= $r_data; }
  75.       $r_data = NULL;
  76.       unset( $r_data );
  77.       if( $stream_info['eof'] === true )
  78.       {
  79.        fclose( $this->namespace['conn'][$r_id] );
  80.        unset( $this->namespace['conn'][$r_id] );
  81.        $this->namespace['conn'][$r_id] = NULL;
  82.        unset( $this->namespace['conn'][$r_id] );
  83.       }
  84.      }
  85.     }
  86.    }
  87.    else
  88.    {
  89.     break;
  90.    }
  91.   }
  92.  }
  93.  
  94.  function __destructor()
  95.  {
  96.   unset( $this );
  97.  }
  98. }
  99.  
  100.  $new = new threadetSocketCall();
  101.  $header =  "GET __get__ HTTP/1.1\n".
  102.     "Host: __host__\n".
  103.     "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13\n".
  104.     "Accept-Language: en-us,en;q=0.5\n".
  105.     "Connection: close\n\n";
  106.  
  107.  $host = 'localhost';
  108.  $new->mHostAddConnect( $host.':80', preg_replace( array( '/__host__/i', '/__get__/i' ), array( $host, '/' ), $header ) );
  109.  $new->getResults();
  110.  print_r( $new->namespace['output'][0] );
  111.  # html file to parse
  112.  $parser = new htmlTagParser();
  113.  $parser->mSetContent( $new->namespace['output'][0] );
  114.  $parser->mParseTags( array( 'a', 'title' ) );
  115.  $aTags = $parser->mGetTags();
  116.  print_r( $aTags );
  117.  die();

Саитмап, Sitemap

April 2nd, 2008 zetxxx

Или как гоогле да ни обходи по добре, информацията която съм дал като линкове
е напълно достатъчна.
Препоръки от гоогъл
sitemaps.org

Плюс
вече саита си има и флагчета надявам се потребителите и Г да го оценят

Белоградчишки скали

April 1st, 2008 zetxxx

Всеки един да гласува за Белоградчишки скали като едно от седемте чудеса на света .

Съвсем случайно попаднах на една статия в блог докато разглеждах блог резултатите в Г

Тютюн за наргиле

March 27th, 2008 zetxxx

или “ами сега ?”

“или” 4 месеца ходене по мъките.
Преди около 4 месеца отказах цигарите, хубавото е че им намерих заместител в лицето на наргилето, да но изглежда че за да пушиш хубаво наргиле първо трябва да се самозатрупаш с нискокачествени и не дотам тютюни.
Първи тютюн на който се зарибих беше ментов, след това пуших в едно заведение пъпеш, останах много доволен и реших да си потърся, да ама не след 3 видя пъпеш поисках тютюн от въпросното заведение защото опитите ми да уцеля същия тютюн бяха безуспешни, поради тази причина снимах опаковката за да може някои като мен да се ориентира доста по бързо в ситуацията евентуално ако използва гооглъл :).
та ето го въпросния тютюн.

тютюн за наргиле - front
тютюн за наргиле - back

Гасете лампите

March 26th, 2008 zetxxx

Гасете лампите не само когато някои ви казва, купете си енергоспестяващи крушки - от значение е.

На 29 март 2008 г.  едни от най-големите градове в света ще се опитат да намалят консумацията на електричеството до минимум, една доста дръзка цел особенно за днешното време в което всичко консумира енергия.Присъединете се и вие въпреки че все още няма Български град който да се е присъеднинил към тази иницятива.още малко инфо относно начинанието

Като буря ама не точно

March 25th, 2008 zetxxx

Ето така изглеждаше всичко пред автогарата, чистичко, измито.буря

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

буря в софия

След което последва един хубав тежък дъжд, на километър права линия нищо не се виждаше, накрая разбирасе дъгата беше прекрасна - двоина :)