to post messages and comments.

плюшка для пакетного добавления друзей в ВК

pos = 0;
arr = document.getElementsByTagName("button");

function acceptChanges()
{
res = /Friends.acceptRequest\(([^\)]*)\)/g
if (arr[pos].parentNode.innerHTML.match(res) != null)
arr[pos].click()

pos++
if (pos == arr.length) return
setTimeout(acceptChanges, Math.random() * (7000 — 1000) + 1000)
}

acceptChanges();

Поскольку в ВК я зависаю реже, чем слушаю музыку, понадобилось мне выкачать весь свой плейлист.
За основу был взят скрипт с хабра habrahabr.ru
Однако после недолгих изысканий он был переделан по собственные нужы

var script = document.createElement("script");
script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
document.body.appendChild(script);

$('#page_header').html('');
$('input:hidden[id*="audio"]').each(function () {
url=$(this).attr('value').split(',')[0];
author=$(this).parent().parent().parent().find('b').find('a[href*="search"]').html();
song=$(this).parent().parent().parent().find('span[class*="title"]').html();
$("#page_header").html($("#page_header").html() + "<br>" + 'wget -O "'+author+'-'+song+'.mp3" '+url);
});

такие пироги

Выдумывал хитрый код для обработки дат в MySQL. В основном для вычитания из текущего числа определённого количества времени.
Первой придумкой было пользовать UNIX_TIMESTAMP. В итоге я получил:

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW())-172800, "%Y-%m-%d %H:%i:%s") FROM rtelecom LIMIT 1

Не очень изящно, но работает стабильно.
После недолгого изыскания по спекам MySQL я нашёл таки то, в чём так нуждался. Функция DATE_SUB вычитает из первого аргумента (даты/времени) второй (интервал). Очень порадовало,чтов этой функции можно использовать символьное описание интервала (DAY, YEAR, etc). Второй вариант кода:

SELECT DATE_SUB(NOW(),INTERVAL 2 DAY) FROM rtelecom LIMIT 1

Более изящно и понятно.

Собсна один маленький, но очень существенный приём при введении Linux-машины в AD-домен.

при попытке ввода обычным способом
net ads join -S 10.0.0.1 -U admin
вываливается ошибка NT_STATUS_INVALID_COMPUTER_NAME

Вводить машину в домен надо используя не адрес сервера, а его имя
net ads join -S main-server -U admin

и всё работает, и все довольны

Итак, началось
А что собственно началось, спросите вы?

Начался мрачный марафон, нужно сделать 100500 вещей за короткое время.
А именно: сделать сайт моей любимой тиме и в особенности моей обожаемой Ивушке, написать курсовую по чёртовой экономику, распинать засранцев выучить музыку и слова, сесть за диплом и ещё много-много радостей.

И может быть я бы всё это успел, если не одно но, я опять заболел...

Дискасс

Хитрый план по работе с MySQL, долго искал. Итак, высчитывание значений полей без выноса из БД.

INSERT INTO categories (pos,title) SELECT(SELECT MAX(pos)+10 FROM categories), "Title";

И так дорогая жуйка, я опять в состоянии поиска идеального шрифта...
Что ты скажешь на это?
ipicture.ru

З.Ы.: Только чур не срать на WM. Он используется только для инета и в нём настроены быстрые кнопки. В остальном xterm наше всё.

Утра тебе, жуйка.

Встал я перед проблемой выбора.
Толи поставить Arch с его простотой, заточенностью пакетного менеджера и прочими радостями,
толи поставить слаку, с её гибкостью и слакбилдами...
Кто что посоветует?

Долго разбирался, почему прога с использованием pthread выкидывает SIGSEV
Оказалось всё достаточно просто.
в pthread_create() первый аргумент pthread_t *, но (!) передавать надо &(pthread_t)
то бишь объявлять надо pthread_t thread; а не pthread_t *thread;
Валидный код
pthread_t thread;
pthread_create(&thread, NULL, routine, (void*)args);

Создания локального зеркала для арча

#!/bin/bash

echo "Last update: "`date +"%d.%m.%Y %H:%m:%S"` > /var/log/update
echo "" >> /var/log/update

if [[ -e /mnt/arch ]]
then
rsync --recursive --update -av --exclude archserver --exclude x86_64 --exclude gnome-unstable --exclude iso --exclude kde-unstable --progress --update mirror.yandex.ru::archlinux /mnt/arch/ >> /var/log/update
else
echo "Mirror dir not found" >> /var/log/update
fi

echo "" >> /var/log/update
echo "----- End of log -----" >> /var/log/update

вешаю в крон и радуюсь жизни

перекодировка видео
toavi()
{
if [[ -z $1 || -z $2 ]]
then
echo "Функция перекодирования любого видео в avi.
Использование:

toavi <любой видеофайл> <название выходного файла>";
else
if [[ -e $PWD/$1 ]]
then
ffmpeg -i "$PWD/$1" -f avi -vcodec mpeg4 -b 800k -g 300 -acodec libmp3lame -ab 128k "$PWD/$2";
fi
fi;
}