Добавление в Lua функции из c++
Одним из достоинств lua-скриптов является то, что из них можно вызывать функции, написанные на c/c++.
Объявление функции:
int func(lua_State *l);
После объявления о функции необходимо сообщить lua-интерпритаторы.
lua_register(l, "smile", func);
Первый параметр - указатель на экземпляр lua-интерпритатора, второй — имя функции, которой передается параметр, третий параметр — имя c/c++ функции, которая будет выполняться из lua
Теперь немного об обмене параметрами между lua-скриптом и нашей функцией.
Обмен между lua и основной программой осуществляется через стек. Количество параметров, передаваемых от скрипта фактически не ограничено и не является постоянным. Можно передать 1 параметр, а можно 20;)
int count = lua_gettop(l); //получаем количество переданных //параметров (и одновременно номер последнего элемента)
Теперь, когда мы знаем, сколько нам передали параметров можно получать и их самих:
Если вы точно знаете, какой тип данных и каким по счету вам передали, то для получения данного элемента можно использовать функцию lua_totype(l,n), где type — тип данных (number, string, nil, etc), а n — номер параметра (нумерация начинается с 1, а не с 0)
Для проверки типа данных можно использовать функцию lua_istype(l,n)
Большинство функций должны что-либо возвращать. Для того, чтоб передать lua возвращаемые параметры опять необходимо использовать стек, только теперь не читать его, а писать в него:
lua_pushtype(l, data) — вместо data — либо переменная, либо строчка заданного типа, type заменяется на тип (number,string)
Функции в lua могут возвращать несколько параметром. Количество возвращаемых функцией параметров возращается как результат ее работы:
return n;
Пример приметивной программы, считающий сумму чисел от 1 до переданного параметра:
#include <iostream> #include "lua5.1/lua.hpp" using namespace std; int func(lua_State *l); int main() { lua_State *l = lua_open(); luaL_openlibs(l); lua_register(l, "sum", func); // регистрируем функцию, //которая в lua будет иметь имя sum luaL_dofile(l,"script.lua"); lua_close(l); return 0; } int func(lua_State *l) { int count = lua_gettop(l); // получаем количество // переданных параметров if (count<1){lua_pushstring(l,"Error"); return 0;} //если нам не передали // параметров, то good bye for (int j=0;j< count;j++) { if (lua_isnumber(l,j+1)) //если число, то {int n=lua_tonumber(l,j+1); // получаем j-тый // переданный параметр lua_pushnumber(l,(n*(n+1))/2); // сумма чисел // от 1 до n — n*(n+1)/2 } } return count; }; </iostream>
sums={sum(1,2,3,4,5,6,7,8,9,10)}; -- создаем массив sums, -- состоящий из возвращенных функцией sum параметров for i=1,10,1 do io.write("Сумма от 1 до "..i.." "..sums[i].."\n"); end
Hello World: Lua и C++
Lua - простой и удобный интерпретируемый язык программирования, позволяющий легко добавить скрипты в вашу программу.
Скачать и установить lua можно . Пользователи ubuntu/debian могут установить из репозитория:
sudo aptitude install lua5.1 liblua5.1-dev
Теперь создайте новый проект на c++ в своей IDE, затем создайте новый файл: script.lua
Для использования в c++ скриптов на lua необходимо подключить файл lua.hpp:
#include "lua.hpp" // или <lua.hpp>, "lua5.1/lua.hpp", в зависимости от того, как у вас установлен lua
Тем, кто пишет на c необходимо вместо #include "lua.hpp" написать:
#include "lua.h" #include "lualib.h" #include "lauxlib.h"
Также вам необходимо подключить библиотеку lua (liblua5.1.so в linux или lua51.lib в Windows).
Теперь инициализируем lua:
lua_State *l = lua_open(); luaL_openlibs(l);
Далее создаем lua-скрипт: создаем новый файл script.lua и пишем в нем print "Hello World!!!"
Для испольнения этого скрипта в программе на c/c++ существует специальная функция:
luaL_dofile(указатель на экземпляр lua, имя или путь к файлу со скриптом);
После работы с lua надо не забыть его закрыть:
lua_close(l);
Теперь, если вы все сделали правильно, после запуска программы вы увидети строчку "Hello World!!!"
Программа польностью:
main.cpp:
#include <iostream> #include "lua5.1/lua.hpp" using namespace std; int main() { lua_State *l = lua_open(); luaL_openlibs(l); luaL_dofile(l,"script.lua"); lua_close(l); return 0; }
script.lua:
print "Hello World";
Создание аудиокниг для iPod в Linux
Иногда возникает необходимость в создание аудиокниг для iPod в Linux.
Первым делом необходимо доустановить необходимые пакеты. В (K)Ubuntu, Debian:
sudo aptitude install mp3wrap, mplayer, faac
В других дистрибутивов пакеты скорее всего называются также.
Затем заходим в папку с аудиокнигой в формате mp3. Достаточно часто в интернет выкладываю книги, разделенный на несколько файлов. Для связи из в один необходимо воспользоваться утилитой mp3wrap:
mp3wrap book файл1 файл2 ...
В результате работы программы из файла 1, файла 2, файла 3 и т.д. должен получится один файл. Если ввести mp3wrap book *.mp3, то создастся файл book_MP3WRAP.mp3, объединяющий все mp3-файлы, находившиеся в папки в алфавитном порядке (т.е. файл с именем 1 будет идти перед файлом с именем 2, но файл 1 будет идти после файла с именем 10)
Теперь конвертируем аудиокнигу в pcm (wav, формат без сжатия):
mplayer -vc null -vo null -ao pcm:nowaveheader:fast:file=book.pcm book_MP3WRAP.mp3
Теперь остался последний шаг: конвертация в формат, распозноваемый iPod`ом:
faac -R 44100 -B 16 -C 2 -X -w -q 70 --artist "автор" --album "книга" --track "1" --genre "Audiobooks" --year "год" --cover-art "обложка.jpg (png,gif)" -o book.m4b book.pcm
Для уменьшения размера книги можно уменьшить значение параметра -q
Все, аудиокнига готова, осталос ее закинуть на iPod (например, через Amarok) и можно слушать
Краткие основы JavaScript
19.06.2010. JavaScript
0
Что такое?
JavaScript - объектно-ориентированый скриптовой язык программирования, в первую очередь предназначенный для создание интерактивный (т.е. изменяющихся без перезагруки) web-страниц
Типы данных и переменные
Основные типы данных в javascript:
- string - строка, какая-либо последовательность символов
- number - число (2, 4, 1e10, 3,14 и т.д.)
- bool - логический тип данных, может принимать два значение: true or false
- object - объект
- function - функция
- undefined - тип данных не определен
JavaScript - язык со свободными типами данных, т.е. можно проводить операции с различными типами данных (складывать число и строку и т.д.)
Переменные.
Переменная в javascript начинается с буквы, знака доллара или подчеркивания и может содержать только буквы, знак доллара, подчеркивание и цифры. Регистр, в котором написана переменная важен (a и A - разные переменные)
Создаются переменые очень просто:
- имя = значение - создается переменная, содержащая значение (в JS оператор = является оператором присвоения, для сравнения используется оператор ==)
- var имя - создается пустая переменная
- var name=value - создается переменная с заданным значением
Приведение типов
Для проведения некоторых операция требуется преобразование одного типа данных в другой. Для этого существуют специальные функции:
- Number(выражение\переменная) - преобразование в число, возвращает либо число, либо NaN (не число). Для логических величин возвращает 1 если true и 0 если false. Для строк пытается привести к числу (возможно преобразование в число таких строк, как "12312", "3,14" и т.д., при передачи в качестве параметра строки типа "7 дней" вернет NaN
- parseInt(string[, base]) - пытается вернуть целое число, записаное в строке. Если указан необязательный параметр base, то считает число по основанию, указаному в base (8,16, по умолчанию - 10, указывать не обязательно)
- parseFloat (string) - пытается преобразовать строку в вещественное число
- String (выражение\переменная) - преобразует данные в строковой формат. Для логических данных возвращает true or false, для undefined - пустую строку ("")
- Boolean(данные) - приводит данные к логическому типу. 0 возращается, если данные - пустая строка или 0, а в остальных случаех возращает true
- Array(1[,2[,3...]]) - возращает массив, состоящих из переданных команде элементов
Примечание: запись func(a1[,a2[,a3..]]) означает, что в [ ] находятся необязательные параметры, которые можно опустить. Т.е. если написано s(a[,b]), то можно писать и s(a) и s(a,b)
Арифметические операторы
- + - сложение (для строк - конкатенация (склейка) строк)
- - - вычитание
- * - умножение
- / - деление
- % - остаток от деление ( a mod b)
- ++ - увеличение на 1
- -- - уменьшение на 1
- += a - увеличение на a
- -=a - уменьшение на a
- *=a - умножение на a
- /=a - деление на a
- %=a - остаток от деление на a
Математика
Функции
Math.функция
- abs(number) - модуль числа
- acos(number) - арккосинус
- asin(number) - арксинус
- atan (number) - арктангенс числа
- cos (number) - косинус числа
- sin(number) - синус числа
- tan(number) - тангенс числа
- exp(number) - enumber
- floor(number) - округление вниз
- ceil(number) - округление числа вврех
- round(a) - округление до ближайшего целого
- log(number) - натуральный логарифм (логарифм а по основанию b находится так: logba=lna/lnb
- min(a,b),max(a,b) - минимальное или максимальное из двух чисел
- pow(a,b) - a в степени b
- sqrt(a) - квадратный корень из a
- random() - случайное вещественное число в промежутке от 0 до 1
Константы
Math.константа
- E - постоянная Эйлера
- PI - число пи
- SQRT1_2 - sqrt(0,5)
- SORT - sqrt(2)
Логические операторы и операторы сравнения
- == - равно
- != не равно
- > - больше
- >= - больше либо равно
- < - меньше
- <= меньше либо равно
- ! - отрицание
- && - и
- || - или
Условные операторы
if (условие) {code{ - если условие истино, то выполняется код в { }
if (условие)
{ code }
else
{code 2}
Если усовие истино, то выполняется code, иначе code 2
switch (выражение)
{
case value1:
код;
break;
case value2:
код2;
break;
default:
код
}
В зависимости от значение выполяется различные код, если ни одно значение не совпадает выполняется код, описанный в default
условие ? код 1 : код 2 - если условие истино, выполняется код 1, иначе код 2
Операторы цикла
for (инициализация, условие, изменение) {code} - цикл выполняется до тех пор, пока условие истино. Например for (i=0;i<13;i++) {a+=a}
while (условие) {код} - пока условие истино выполняем код
do { код } while (условие) - аналогично предыдущему, только сначала выполнится код, а потом проверится условие
Функции
Cоздание фукнции в Java Script:
function name(parametr1[,parametr2...)
{
code
}
Вызов
name(параметры);
Строки
Специальные функции для работы со строками:
escape(string) - возвращает escape-последовательность стоки
unescape(string) - обратная операция
eval - вычисляет значение выражения, записанного в строку. Например, eval("2+5") вернет 7
Свойства и методы объекта String:
Записывается так: имя перемнной.свойство (метод)
- length - длина строки
- prototype - создает свое свойство или метод к объекту
- charAt (index) - возвращает символ, находящийся на позицие index
- concat(string) - присоединят к строке переданный параметр (аналог +=)
- indexOf(подстрока[,начиная откуда]) - ищет индекс первого вхождения подстроки в строку, начиная от переданного параметра (по умолчанию 0)
- lastindexOf(подстрока[,начиная откуда])indexOf(подстрока[,начиная откуда]) - аналогично предыдущему, но поиск идет с конца, т.е. возвращается последнее вхождение, а не первое
- slice (i1[,i2])- возвращает подстроку от i1 до i2, если i2 не задан, то до конца. Последний символ не включается
- substring(i1,i2) - тоже самое, только включая последний символ
- substr(index[,length]) - возвращает подстроку с заданной длинной начиная от заданнного индекса
- toLowerCase(string), toUppercase(string) - переводит строку в верхний или нижний регистр
Массивы
Массивы - множество переменных, объединеных общим именем.
Создание массива - name = new Array ([длинна])
Пример:
a=new Array;
a[0]=0;
a[1]="one";
a[2]=true;
И т.д.
Свойства и методы массивов в JavaScript:
- length - длинна массива
- prototype - добавление своего свойства (array.prototype.test = functest(); array.test() - новое свойство)
- concat(array2) - прибавить второй массив к первому
- join(разделитель) - создать из элементов массива строку с указанным разделителем
- pop - выкинуть (удалить) последний элемент массива, вернув его значение
- push (значение) - добавить элемент в конец массива и вернуть новую длинну массива
- shift - удалить первый элемент и вернуть его значение
- unshift (what) - добавить элемент в начавло массива
- reverse() - инвертировать массив (из массива 1 2 3 получится 3 2 1)
- slice (index1, index2) - подмассив от index1 до index2-1
Промокод для majordomo.ru – QUD58572
Если кто-либо желает зарегестрировать себе хостинг на majordom и лихорадочно ищет промокод для него, то вот он - QUD58572. При вводе данного промокода вы получите 150рублей на халяву:), что на самом дешевом тарифе (90р месяц + бесплатная регистрация домена) составляет 50 дней бесплатного хостинга, а с учетом бесплатного тестового периода целых 64 дня бесплатного пользования хостингом:)
Интеграция уведовлений Mozilla Firefox с KDE 4
По сравнению со стандартными kde-ешными уведомления, уведомления firefox выглядят немного убого, соответственно возникает желание интегрировать систему уведовлений firefox в систему уведомлений kde.
Все, что необходимо сделать для этого, это установить аддон PlasmaNotify, который можно найти в офицальной базе плагинов для Mozilla или вот
Восстановление GRUB2 в Kubuntu 10.04 или другом дистрибутиве Linux
Если по каким-либо причинам (например, после установки Windows) у вас слетел загрузчик, то существует простой способ его восстановить. Для этого загружаетесь с Live-CD (или Live-USB) вашего дистрибутива и открываете консоль
В консоле вводите:
fdisk -l
Эта команда выведет все диски и все разделы на них. Ищете раздел, на котором стоит ваша Linux-система и запоминаете, на котором устройстве она находится (У меня на /dev/sda6)
Затем пишите в консоле:
sudo -s
mkdir /lin
mount /dev/sda6 /lin (вместо /dev/sda6 вводите адресс вашего устройства)
Затем:
mount --bind /proc /lin/proc
mount --bind /dev /lin/dev
chroot /lin
Теперь осталось установить загрузчик, для этого вводим:
grub-install /dev/sd*, где sd* - жесткий диск, на который устанавливаем загрузчик (обычно sda)
И обновляем настройки, если изменилось расположение систем
update-grub
Вот и все)
Godsmack – The Oracle (MP3, 2010)
Вышел пятый студийный альбом американской рок-группы Godsmack - The Oracle
Дата выхода: 3 мая 2010 года
Исполнитель: Godsmack
Альбом: The Oracle
Стиль: Hard Rock, Metal (Alt)
Формат: MP3
Качество: 320 kbs
Размер: 92 mb
Треклист:
01. Cryin' Like a Bitch
02. Saints and Sinners
03. War and Peace
04. Love Hate Sex Pain
05. What If?
06. Devil's Swing
07. Good Day to Die
08. Forever Shamed
09. Shadow of a Soul
10. The Oracle
Скачать Godsmack The Oracle:
Briefly unavailable for scheduled maintenance. Check back in a minute.
Если вам WordPress выдал такое сообщение, то значит у вас произошла ошибка при обновлении. Для восстановления работы необходимо удалить файл .maintenance, зайдя на сайт через любой ftp-менеджер.
Командная строка Linux. Урок 1
В Linux командная строка является одним из важнейших элементов, с ее помощью можно делать все..., только надо сначала этому научится. Поэтому я напишу пару "уроков" по командной строки Linux (и других Unix-подобных систем).
Первая и самая главная команда в Linux - man - команда, выдающая справку по той или иной команде или программе. Если вы не знаете, как работает та или иная команда, программа, то вводите man имя_программы и получаете обширную справку обо всем, что вам может пригодится.
Далее, если вы пришли с Windows, то вам может показаться непривычным то, что в Linux нет диска C:/, D:/ и так далее. Файловая система в Linux представленна по другом. Есть корень (root) системы, в который монтируются (т.е. подключаются, "создаются ярлыки") все остальные диски, папки, файлы. В любом Linux в / вы найдете такие папки:
- /dev - папка, в которой "ссылки" на различные устройства
- /etc - папка, в которой хранятся настройки системы
- /sbin - папка с системными программами
- /bin - с обычными программами (в этой папке хранятся исполняемые файлы)
- /home - домашняя папка пользователей, в ней хранятся профили различных юзеров
- /tmp -здесь хранятся временные файлы
- /boot - здесь хранится различная загрузочная информация
- /var, /proc - различные системные данные и системная информация
У всех файлов и папок в Linux есть информация о владельце, о том, кто может читать из папки, писать в нее, выполнять в ней команды и т.д
Скрытые файлы и папки в Linux начинаются с точки, например, .wine, .mozilla
Ну а теперь о простейших командах в консоли Linux:
Команды в linux состоят из нескольких частей:
имя_комманды [обязательные параметры] {необязательные параметры} (ключи)
Ключи сообщают программе какую-то дополнительную информацию, передают какие-то дополнительные данные. После ключа может следовать какое-то параметр, который передастся программе.
Ключи бывают двух типов:
- "короткие" - начинаются с "-". Это сокращенные записи "длинных" ключей
- "длинные" - начинаются с "--". Полные имена ключей
Например, ключ -h и --help в большинстве программ вызывают справку о запускаемой программе.
ls - выводит содержимое папки. Имеет несколько ключей:
- -a, -all - выводить также скрытые файлы
- -l - выводит дополнительную информацию о файлах (дату создания, владельца, группу, права на файл/папку)
- -R, --recursive - рекурсивно выводит содержимое подпапок. Т.е. в виде дерева выводятся все файлы, содержащиеся в данной папке
- -s, --size - выводит размер файла, желательно запускать также с ключом l (-ls) для более наглядного представления информации
- -S - вывести список файлов, отсортировав их по размеру
Остальные ключи можно узнать с помощью ls --help или man ls
cd - сменить папку. Для перехода в домашний каталог достаточно набрать cd ~
Примеры:
cd / - перейти в корень
cd /home - перейти в домашний каталог
cd petya - перейти в каталог petya, находящийся в данной папке
cp что куда - скопировать файл или папку
Полезные ключи:
- -R, -r, --recursive - рекурсивно копировать подпапки
- -u, --update - заменять только новые файлы (обновление)
- -l, --link - вместо копирования, создать ссылки на файлы/папки
mkdir имя_папки - создать папку
rmdir folder_name - удалить папку
mv что куда - переместить файлы
rm что - удалить файл(ы)
Ключи:
- -I - при удаление более 3 файлов предупредить, требовать потверждения
- -i - предупреждать о удалении файла, требовать потверждения
- -R, -r, --recursive -удалять рекурсивно
chmod имя_файла/имя_папки права (например 777 - rwxrwxrwx) - сменяет права для папки/файла
chown владелец/владелец:группа - смена владельца папки/файла
Для этих команд так же действует ключ -R, -r, --recursive -рекурсивно применять команду
На сегодня все;)
CSS: Меры измерения: px, em, pt, %,cm,mm
В CCS существует множество различных способов измерять отступы, размеры шрифтов, элементов и т.д. Во всем этом легко запутаться, если не знать, что и как. Поэтому и появилась эта заметка;)
- px - задания размеров с помощью пикселей. Полезен тем, что можно с высокой точностью задавать размеры объектов. 1 пиксель - 1 точка экрана. Используются чаще всего для позиционирования элементов документа.
- em - относительные единицы, 1 em равен значению font-size
- pt - пункты, используются в типографии и часто для задания шрифтов
- % - всем известные проценты, на самом деле это аналог em, тоже рассчитывается от текущего значения font-size
- cm - тут все просто, обычные сантиметры
- mm - ну а это миллиметры
- in - дюймы
Если font-size у на равняется 12pt, то:
1em=100%=12pt
1 pt=1/72 in и является константой.
Обычно 12pt=16p
Перезапуск x-server (иксов) при нажатие ctrl+alt+backspace в Kubuntu
В последних версиях Kubuntu по умолчанию отключена возможность перезапуска x-server при нажатии ctrl+alt+backspace. Для того, чтобы ее вернуть, надо зайти в Настройки->Язык и стандарты->раскладка клавиатуры->дополнительно и найти там "Последовательность клавиш для перезапуска X-сервера" и поставить галочку напротив Ctrl+alt+backspace.
Также существует альтернативное сочетание клавиш для перезапуска X-server: alt+SysRq+k.n
P.S. В большинстве unix-систем перезагружать компьютер не требуется, если у вас повисло рабочее окружение, то достаточно просто перезагрузить иксы, на что требуется все пара секунд.
Проблема с сменой DNS для домена (при переносе на 0fees.net)
Возможно кто-то из вас уже пользовался бесплатным хостингом 0fees.net. По своим возможностям он превосходит даже некоторые платные хостинги, поэтому я, имея лишний домен, решил воспользоваться им, но при переносе домена могут возникнуть проблемы. От моего регистратора приходила такое письмо:
Тестирование DNS для домена domen.ru:
Ошибка - список DNS-серверов на сервере ns1.0fees.net не совпадает с указанными для домена.
Указано:
ns1.0fees.net
ns2.0fees.net,
Найдено:
ns1.byet.org.
ns2.byet.org.
ns3.byet.org.
ns4.byet.org.
ns5.byet.org.
---С уважением,
Cлужба поддержки Registrant
Хостинг предлагал два DNS, но нам выдали ошибку и даже прислали решение проблемы. Я не знаю, в чем точно здесь проблема, но достаточно вписать в качестве DNS те, которые нам прислали:
ns1.byet.org. ns2.byet.org. ns3.byet.org. ns4.byet.org. ns5.byet.org.
И все заработает;)
И снова коты, котята, кошки;)














Снова различные обои с котами и кошками.
Количество: 63
Формат: JPEG
Разрешение: 1600x1200+
Размер: 83MB
Скачать:
Последний альбом The Scorpions – Sting in the Tail
Сегодня, 18 марта 2010 года, вышел последний альбом одной из известнейших и популярнейших групп The Scorpions. С выходом этого альбом начинается прощальный тур Scorpions, который продлится несколько лет, на протяжение которого группа обещает "встряхнуть мир как ураган".
Треклист нового альбома:
- Raised On Rock (3:57)
- Sting In The Tail (3:12)
- Slave Me (2:44)
- The Good Die Young (5:14)
- No Limit (3:24)
- Rock Zone (3:17)
- Lorelei (4:31)
- Turn You On (4:25)
- Let's Rock (3:21)
- SLY (5:15)
- Spirit Of Rock (3:43)
- The Best Is Yet To Come (4:34)
Формат: mp3
Размер: 100MB
Битрейт: 320 kbs
Стиль: hard rock
Тексты части песен (взяты с офицального сайта)
Raised on the Rock
Music: Mikael Nord Andersson, Martin Hansen
Lyrics: Martin Hansen, Klaus Meine
I was born in a hurricane
Nothing to lose and everything to gain
Ran before I walked
Reaching for the top
Out of control just like a runaway train
I never walked on the narrow path
I always wanted what I didn’t have
All was not enough
Riding lady luck
Driving in the fast lane and just stepped on the gas
Cause I was raised on rock
My dad was howling but my heart was a rolling stone
Yeah I was raised on rock
My mama said I had a devil to scratch my soul
And I was raised on rock
Shoot me up baby make me high
And hit the jackpot in the heat of the night
Wanna kiss your lips
Wanna move your hips
See my desire in your laser-beam eyes
You shake me up got me spinning ‘round
You know what’s going up must come down
Tomorrow I’ll be gone
A million miles from home
The only road I know leads out of town
Cause I was raised on rock
My dad was howling but my heart was a rolling stone
Yeah I was raised on rock
My mama said I had a devil to scratch my soul
And I was raised on rock
Growing up with the guitar men
Growing up way too fast
Follow the sound of a rock’n’roll band
This call will always last
Cause I was raised on rock
Sting in the Tail
Music: Klaus Meine, Rudolf Schenker
Lyrics: Klaus Meine
Save me from myself before I’m going down
My world went kind of crazy spinning ‘round’n‘round
My body’s in a mess from head to toe
Got nothing to lose and nowhere to go
I’m driving out of town just follow my heart
I think I’m gonna be a rock’n’roll star
The girls would go mad I’d give ‘em all I can give
If I had a cheap guitar and one dirty riff
Hail hail a sting in the tail
Hail hail a sting in the tail
Hail hail a sting in the tail
Hail hail a sting in the tail
Rocking night after night day after day
There’s plenty of love and no escape
Life’s screaming and rolling like a monster train
Destination to nowhere I won’t be late
Jo Jo I got to go
Here comes another show
Hail hail a sting in the tail
Hail hail a sting in the tail
Hail hail a sting in the tail
Hail hail a sting in the tail
The Good Die Young
Music: Rudolf Schenker, Christian Kolonovits
Lyrics: Klaus Meine
You wake up
Watch the world go ‘round
You shiver
Feeling upside down
Your heart is beating fast
Pumping blood to your head
Another day to fight
You have a prayer on your lips under the desert sun
And a loaded gun
You remember every word
That your father said
Stay out of trouble son
And be true to yourself
You’ll be working like a dog
Raise a family
And life will be alright
But now it’s written in the stars if you’ll make it out alive
Out alive
The good die young
There might be no tomorrow
In god we trust
Through all this pain and sorrow
The good die young
The flame will burn forever
And no one knows your name
Bring the boys back home again
It was a quiet day
On the streets of hope
When the bomb went off
At the side of the road
Sounds of breaking steel
An windshield full of blood
No enemy in sight
It feels like in a movie scenes are passing by
It’s your life
No Limit
Music: Klaus Meine, Rudolf Schenker, Eric Bazilian
Lyrics: Klaus Meine, Rudolf Schenker, Eric Bazilian
What’s the noise who’s to blame
The Maserati comes unchained
Smell the power and energy
Come away, come away, come away
You’re the rider of the wildest storm
Live your dreams before they’re gone
Feel the spirit that sets you free
Come away, come away, come away
You gotta live it up there’s no limit
We gotta make it there’s no limit
You give it all you’ve got there’s no limit
Reach for the sky
We gonna leave for tomorrowland
We’ve got the future on our hands
A piece of heaven for you and me
Come away, come away, come away
You gotta live it up there’s no limit
We gotta make it there’s no limit
You give it all you’ve got there’s no limit
Reach for the sky
You gotta let it go there’s no limit
We gotta take it there’s no limit
You leave me hot and cold there’s no limit
Reach for the sky
Higher higher
Take me higher always higher
Reach for the sky
Rock Zone
Music: Klaus Meine, Mikael Nord Andersson, Martin Hansen
Lyrics: Klaus Meine
You let me in but won’t let me out
You hold the key to what it’s all about
I hear your machine just coming round the block
Just ready to go to rock around the clock
He’s an angel but no one can tell
He might be from heaven might be from hell
You’re not alone in the rock zone
You got it down down to the bone
You’re not alone in the rock zone
You’re not alone
The temperature’s rising put the helmet on
This is a place where I belong
Bad girl’s keep a coming showing all the rest
What rock’n’roll girls really do best
Is she an angel or under a spell
I hear the devil ringing the bell
You’re not alone in the rock zone
You got it down down to the bone
You’re not alone in the rock zone
You’re not alone
Rock Zone
Rock Zone
Rock Zone
Rock Zone
You’re not alone
Lorelei
Music:Rudolf Schenker, Fredrik Thomander, Anders Wikström
Lyrics: Klaus Meine, Eric Bazilian, Fredrik Thomander, Anders Wikström
There was a time when we sailed on together
Once had a dream that we shared on the way
There was a place where we used to seek shelter
I never knew the pain of the price I would pay
You led me on with a cloak and a dagger
And I didn’t know you had made other plans
You had me believe we were meant forever
I really thought my heart would be safe in your hands
Lorelei
My ship has passed you by
And though you promised me to show the way
You led me astray
You were my lorelei
What kind of fool I was
Cause I believed in every word you said
And now I wonder why
Lorelei
There was a time when we held one another
Baring our souls in the light of the flame
Those were the days now I’ve lost my illusions
Sometimes I wake in the night and I call out your name
Lorelei
My ship has passed you by
And though you promised me to show the way
You led me astray
You were my lorelei
What kind of fool I was
Cause I believed in every word you said
And now I wonder why
Lorelei
Now there’s a light that shines on the river
Blinding my eyes from so far away
Shot through the heart but now I know better
As hard as it is to resist the song that you play
Lorelei
SLY
Music:Klaus Meine, Rudolf Schenker
Lyrics:Klaus Meine
She was born with a song in the air
In the summer of 85
The clouds just went and the day became so bright
A child of love angel like
With the most beautiful smile
Growing up to be the sunshine of my life
Come talk to me
Don’t run away
Don’t let the distance grow
The door’s wide open
Don’t ever think
There is no way home
Sly come home tonight
The world is so bad you’re drive ‘em all mad
With your smile
Sly my joy and pride
When the runaway train took you away
A part of me died
The years went by like the summer of love
So much changed in our lives
They’re too may scars deep under my skin
Love turned to hate and hate to love
Let’s start all over again
And now I wonder what life will bring
Just let us laugh
The tears away
No more hard feelings no
Cause after all
You’re my flesh and blood
I don’t want you to fall
Sly come home tonight
The world is so bad you’re drive ‘em all mad
With your smile
Sly my joy and pride
When the runaway train took you away
A part of me died
The Best Is Yet To Come
Music: Eric Bazilian, Fredrik Thomander, Anders Wikström
Lyrics: Rudolf Schenker, Eric Bazilian, Fredrik Thomander, Anders Wikström
Across the desert plains
Where nothing dares to grow
I taught you how to sing
You taught me everything I know
And thought the night is young
And we don’t know if we’ll live to see the sun
The best is yet to come
I know, you know
That we’ve only just begun
Through the highs and lows
And how can I live without you
You’re such a part of me
And you’ve always been the one
Keeping me forever young
And the best is yet to come
Na na na na
Don’t look now, the best is yet to come
Na na na na
Take my hand, the best is yet to come
Thinking of the times
How we laughed and cried
I wouldn’t change a thing
I couldn’t even if I tried
Through the wind and rain
The spirit of our song remains the same
And the best is yet to come
I know, you know
That we’ve only just begun
Through the highs and lows
And how can I live without you
You’re such a part of me
And you’ve always been the one
Keeping me forever young
And the best is yet to come
Na na na na
Don’t look now, the best is yet to come
Na na na na
Take my hand, the best is yet to come
Oh can you feel it in the air
It’s in your heart and everywhere
We got to keep that dream alive
We cross another road
And face another day
Soldiers never die
They only fade away
How can we grow old
When the soundtrack of our lives is rock and roll
And the best is yet to come
I know, you know
That we’ve only just begun
Through the highs and lows
And how can I live without you
You’re such a part of me
And you’ve always been the one
Keeping me forever young
And the best is yet to come
Na na na na
Don’t look now, the best is yet to come
Na na na na
Take my hand, the best is yet to come
Na na na na
Don’t look now, the best is yet to come
Na na na na
Take my hand, the best is yet to come
Скачать The Scorpions Sting in the Tail:
Рисуем красивый вихрь в GIMP
Создаем изображение 1000x1000px. Затем идем в Фильтры->Визуализация->Облака->Сплошной шум и настраиваем как-нибудь так:
Теперь выбираем инструмент кисть, устанавливаем масштаб в 6 и степень дрожания - 1.4
После этого закрашиваем часть изображения примерно так:
Теперь настала очередь использовать инструмент "палец";) Размер ставим примерно равным 5 и смешиваем черное и серое изображение вот таким образом:
Теперь идем в фильтры->искажения->вихрь и щипок и ставим примерно такие параметры (можете изменять, как вам больше нравится):
С помощью пальца, штампа или кисти убираем образовавшиеся по краям небольшие белые области.
Теперь настала пора разукрасить наш вихрь. Первым делом сделаем его цветным. Для этого идем в Цвет->Цветовой баланс и придаем вихрю начальный цвет:


Теперь пора разукрашивать наш вихрь. Алгоритм раскраски нашего вихря очень прост:
- создаем прозрачный слой
- заливаем его каким-либо градиентом
- экспериментируем с режимом смешивания и прозрачностью, чтобы результат выглядел красиво
- При желании повторяем все, начиная с пункта 1
Например, создайте слой, установите режим смешивания "Рассеянный свет" и проведите градиент "Full saturation spectrum CW" из правого верхнего угла в левый нижний и посмотрите, как изменится раскраска вашего вихря. Таким образом, экспериментируя с различными градиентами, слоями, прозрачностью и режимами смешивания, можно придавать вихрю различные раскраски.
У меня в результате получился такой вихрь:
Еще одна подборка обоев с котами и кошками:)
Очередная коллекция различных обоев с котами, котятами и кошками. На этот раз 46 изображений в высоком разрешении.
Количество: 46
Формат: JPEG
Разрешение: 1600x1200 и выше
Размер: 43MB
Скачать:
Убираем рекламу с сайтов в Mozilla Firefox
Mozilla Firefox один из популярнейших браузеров на сегоднешний день. Одним из его плюсов является поддержка всевоможных аддонов и расширений, в том числе и помогающих бороться с различной неприятной рекламой на сайтах (всплывающие окна, баннеры, рекламные блоки и т.д.).
Первый аддон, который позволяет убрать 99% рекламы, называется Adblock Plus, добавить в Firefox его можно . После его установки и перезапуска браузера у вас в браузере откроется страница с настройками аддона. Там есть список из различных регионов, вам надо найти и выбрать Россию. После этого сохраняйте настройки. Теперь аддон будет блокировать большинство рекламных объявлений на различных сайтах. Если вы хотите просматривать рекламу на каком-то сайте, то зайдите на этот сайт, нажмите на иконку аддона (в правом верхнем углу) и поставьте галку напротив "отключить на: адресс сайта".
Второй аддон, борящийся не только с рекламой, но и с различными вредными JavaScript (например, не позволяющим уйти с сайта, не дающим закрыть окно и т.д.) - NoScript. Добавить в Firefox его можно . Этот аддон позволяет блокировать все или выборочные JavaScript
Надеюсь данные два аддона обезопасят и улучшат ваш веб-серфинг:)
Скачиваем с файлообменников без ожидания (depositfiles.com, rapishare, megaupload и т.д.)
Данный способ позволяет скачивать с файлообменников без ожидания. Правда работать он будет только в Mozilla Firefox, т.к. это аддон для вышеназванного браузера;)
- очень удобный аддон для скачивания с различных файлообменников для Mozilla Firefox. На данный момент аддон поддерживает скачку с этих сайтов:
- Rapidshare.com
- zShare.net
- MediaFire.com
- Megaupload.com
- Sharebee.com
- Depositfiles.com
- Sendspace.com
- Divshare.com
- Linkbucks.com
- Uploaded.to
- Hotfiles.com
- 4shared.com
- Limelinx.com
- Link-Protector.com
К сожалению на данный момент аддон не спасает от бана по IP, но для этого существует множество proxy и аддон FoxyProxy
Пара полезных плагинов для WordPress
Akismet
- плагин, установленный по умолчанию и один из самых полезных. Он фильтрует большую часть спама в комментариях.
All in One SEO Pack
- из названия и так ясно, что делает: прописывает title, description и прочие мета-теги, необходимые поисковикам. Кроме того, позволяет их самому прописать
Dagon Design Sitemap Generator
- позволяет добавить на страницу html-карту сайта
Google XML Sitemaps
-автоматически генерирует sitemap.
Lightbox 2
- после установки этого плагина при щелчке на изображения у вас будет появляться окошко просмотра изображения поверх текста
Ozh' Admin Drop Down Menu
- удобное меню для админ-панели в WordPress
Login LockDown
- антибрут,ограничивает количество попыток на вход с одного IP за определенный промежуток времени.
Subscribe To Comments
- позволяет пользователям подписываться на получение новых комментариев.
WP Related Posts
- после записи выводит список похожих постов
WP Super Cache
- кэширует страницы, позволяя быстрее загружать их в следующий раз => ускоряется скорость загрузки страниц
WP-Polls
- позволяет создавать различные опросы на сайте. Их можно как вставлять в текст записи, так помещать в сайдбаре.
Все эти плагины находятся с помощью поиска в плагины->добавить новый в админ-панеле wordpress



















