Спиране на sms съобщенията от Големият кеш- 500

Абсолютно съм против да получавам sms-и от мобилните оператори за играта "Големият Кеш".  Именно поради тази причина позовавайки се на общите условия на "Големият кеш" цитирани по- долу се отказвам от "услугата"- "Големият кеш" :) .

Написах този пост понеже видях, че доста хора нямат идея как да прекратят това масово изпращане на sms-и от "Големият Кеш".

С няколко думи за да се откажа от получаването на sms-те от "Големият кеш" изпратих sms със съдържание "Stop" на номер 500 .

Извадка от ОБЩИ УСЛОВИЯ за участие във Викторината “Големият кеш”->Общи разпоредби:

Чл.50. В случай, че участник желае да не получава рекламни съобщения от Викторината, може да заяви това на организатора по всяко време като изпрати sms с текст Stop на номер 500 или чрез обаждане до номер 123 /0.03 лв с ДДС за обаждане за абонати и ползватели на Глобул/, *500 /безплатно за абонати и ползватели на Мобилтел/, *500 /безплатно за абонати и ползватели на Vivacom/. С изпращането на този sms, респективно с извършването на обаждането, рекламните съобщения до участника във Викторината се спират. В случай, че желае да възобнови участието си участникът следва да изпрати един sms към номер 500 .

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Прост Bash скрипт за създаване на mysql потребител и база

Ето едно просто скриптче което ще ви помогне лесно да създавате лесно MySQL потребител с неговата парола и едновременно създаване на база.

#!/bin/sh
mysqlpassword=$2;
mysqluser=$1;
mysqldb=$3;

if [ $# -eq 3 ]
then

echo "Create Database $mysqldb";
mysql -e "CREATE DATABASE $mysqldb" -p;
echo "Create user $mysqluser -- GranT all on db:$mysqldb";
mysql -e "GRANT ALL ON $mysqldb.* TO $mysqluser@localhost IDENTIFIED BY '$mysqlpassword' WITH GRANT OPTION;" -p
echo "Flush Privileges";
mysql -e "FLUSH PRIVILEGES;" -p;
echo "Create Table fsearch";
exit;
fi;
echo "$0 mysqluser mysqlpass mysqlDB";

Пример за ползване:
sh mysql_create_user.sh mysql_user mysql_pass mysql_db

PS: Потребителят които се създава има пълни права в/у базата

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Проблеми при php скриптове които ползват много памет

Всъщност тук ще обсъдя случаите в които се пише php скрипт при изпълнението на които се извежда съобщение като:" Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 500520576 bytes) in /var/www/a.php on line 4" или с няколко думи скрипта използва повече памет от колкото му е заделена предварително. Идеята тук е защо излиза това съобщение и  как да го поправим(действието :) ).

1. Предварително заделенета памет се определя от конфигурационния файл /etc/php5/php.ini) php.ini :

memory_limit = 32M      ; Maximum amount of memory a script may consume (32MB)

В този конфигурационен файл паметта която може да използва php скрипт е максимум 32 MB. Тази стойност може да се променя разбира се.

След промяна в php.ini трябва да се рестартира apache2. След това може да се изпълни phpinfo(); и ще видите новата заделена памет за php/скрипт.

2. Друг вариант за промяна на memory_limit е за при php5-cli (command-line interpreter for the php5 scripting language) или пример:

php -d memory_limit=512M a.php

По този начин при изпълненито на a.php се заделя 512 MB памет като се пренебрегва тази стойност от php.ini

3. Интересна функция в php е memory_get_usage() която връща текущата използва памет от php скрипта:

<?php

echo memory_get_usage() . "\n"; // 48504

$a = str_repeat("mpetrov.net",100104 );

echo memory_get_usage() . "\n"; // 1150084

unset($a);

echo memory_get_usage() . "\n"; // 48504

?>

По този начин може да се направи извод колко памет ползва php от самото php. Последния пример показва всъщност, че трябва да се unset всички променливи които няма да се ползват повторно за да не заемат памет :)

Извод: Бяха разгледани няколко причини и решения за грешката в php: Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 500520576 bytes)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Стартиране на soffice

Днес ми се наложи да пусна soffice заради едни журналисти които ползват терминална система за своите работни станции(X ползвам като сървър на една машина, а другите са просто терминали(това вече 4 години)). Днес реших и на нея да пусна soffice. Ето как инсталирах soffice:

1. Инсталиране на soffice:
apt-get install openoffice.org python-uno sun-java6-jre xvfb

2. Стартиране на fakeX(ако нямаш X инсталирано се ползва fakeX):

/bin/rm -Rf /tmp/.X25-lock
xavf_log='/tmp/a.log';
nohup /usr/X11R6/bin/Xvfb :99  >> $xavf_log 2>> $xavf_log &
soffice -headless -accept='socket,host=localhost,port=8100;urp' -nofirststartwizard -nologo -nolockcheck -display :99

3. Стартиране на soffice:
soffice -headless -accept='socket,host=localhost,port=8100;urp' -nofirststartwizard -nologo -nolockcheck -display :1001

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Хранилище за Sun-Java -- Debian Lenny

Ето ги и хранилищата за да си инсталирате Sun Java на вашата система :) :

deb http://ftp2.de.debian.org/debian/ lenny main non-free
deb-src http://ftp2.de.debian.org/debian/ lenny main non-free

deb http://security.debian.org/ lenny/updates main non-free
deb-src http://security.debian.org/ lenny/updates main non-free

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

php функция за извеждане на дублиращи елементи от масив

Търсих вградена функция на PHP за извеждане на дублиращите елементи в конкретен масив, но не успях да намеря такава. Има за извеждане на уникалните и т.н. познатите …, но точно такава не успях да намеря. Затова реших да си напиша такава(Супер дълга и сложна е :) )(Обичам простите, прозрачни и ясни неща):

<?php

function arrayDuplicate($array)
{
return array_unique(array_diff_assoc($array1, array_unique($array1)));
};
?>

Пример:

Код:

<?php
$arr1 = array('foo', 'bar', 'xyzzy', '&', 'xyzzy',
'baz', 'bat', '|', 'xyzzy', 'plugh',
'xyzzy', 'foobar', '|', 'plonk', 'xyzzy',
'apples', '&', 'xyzzy', 'oranges', 'xyzzy',
'pears','foobar');

$result=arrayDuplicate($arr1);
print_r($result);exit;
?>

Изход:

Array
(
[4] => xyzzy
[12] => |
[16] => &
[21] => foobar
)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Как да намеря това което търся и това което НЕ търся (Find в GNU/Linux)

Всъщност тук идеята е да се листнат всички файлове с изключение на конкретни. Например да се листнат всички файлове с изключение на .doc файловете. Това не успях(говоря за стандартната търсачка) да го направя под Windows(просто за фън едвали щях да разчитам на него да го направи :) ).
Затова Ви препоръчвам ако ще правите това да го направите под GNU/Linux ;)

Задача: Да се изведат всички файлове които не са с разширение *.doc:
Решение: find $PWD -type f ! -name "*.doc"

Задача: Да се изтрият всички файлове с изключение на тези които не са с разширение *.doc:
Решение:  find $PWD -type f ! -name "*.doc" -exec rm -f {} \;

PS: Всяко нещо е просто до доказване на противното респективно, всяко нещо е сложно до доказване на противното

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Проблеми с preg_replace в php

Ще бъдат кратък. Когато се ползва preg_replace да се използва преди това изолиране на спец символите:

$string-shit = preg_quote($string, '/');
$string = preg_replace("/^$string_shit/", ", $string);

Идеята е да се избегнат някои грешки като тези:

Warning: preg_replace(): Compilation failed: unmatched parentheses at offset …
Warning: preg_replace(): Compilation failed: missing ) at offset …

Втори вариант:

$last_element=str_replace("/","\/",$last_element);
$last_element=str_replace(")","\)",$last_element);
$last_element=str_replace("(","\(",$last_element);

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Проблем със спирането на Windows Disk Protection

Един приятел искаше да преинсталира една машина и не успяваше и не успяваше и тогава ми донесе лаптопчето да го видя за какво иде реч. Е оказа се, че има активиран Windows Disk Protection които не позволява да се преинсталира.Междо другото машината не може да boot-не от CD/Floppy/Usb- не ми се обяснява. Гугълнах как се спира и видях, че доста хора са има същия проблем и затова реших да опиша как се спира Windows Disk Protection:

Спиране на Windows Disk Protection(създайте *.bat файл):

@echo off
: = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
: Filename: SteadyState-DisableWDP.bat
:  Purpose: Disable Windows Disk Protection in Windows SteadyState 2.5
: = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

echo.
echo SteadyState 2.5 introduced command line parameters that allows you to enable/disable WDP.
echo.
echo.
echo Ready to Disable Windows Disk Protection (WDP)
echo.
echo Press Ctrl-c to to cancel.
echo.

pause

rem "C:\Program Files\Windows SteadyState\SCTUI.exe" /EnableWDPAndReboot

"C:\Program Files\Windows SteadyState\SCTUI.exe" /DisableWDPAndReboot

Стартиране на Windows Disk Protection(създайте *.bat файл):

@echo off

: = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
: Filename: SteadyState-EnableWDP.bat
:  Purpose: Enable Windows Disk Protection in Windows SteadyState 2.5
: = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

echo SteadyState 2.5 introduced command line parameters that allows you to enable/disable WDP.
echo.
echo.
echo Ready to Enable Windows Disk Protection (WDP)
echo.
echo Press Ctrl-c to to cancel.
echo.

pause

"C:\Program Files\Windows SteadyState\SCTUI.exe" /EnableWDPAndReboot

rem "C:\Program Files\Windows SteadyState\SCTUI.exe" /DisableWDPAndReboot

PS: Аман от тия бози, АМАН

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Личен Блог на Мартин Петров