09 декабря 2011

мерзавцы

нормальные люди собрались 10го, так нет, сделали выбор:
пл Рев - будут закрывать
пл Бол - для предателей
сначала Алексеева, теперь БН и ВР

КПРФ - 18го, Ябл - 17го

все больше убеждаюсь, что все они делают общее дело - не дают людям собраться вместе

02 декабря 2011

Выборы, выборы...

На выборы пойду, голосовать буду против всех.
Не смотря на то, что графу "Против всех" убрали, голосовать за кучку говна, какого бы цвета она ни была, я не собираюсь. Это первое.
Можно было бы и совсем не пойти, но как-то же нужно выразить протест происходящему насилию над страной. Маразм крепчает и на это необходимо обратить внимание. Обратить внимание всем, и маразматикам, и пока здоровым. Лучше выходить на выборы и делать из этого выводы, чем выходить на улицу и делать из этого жертвы.

26 октября 2011

Registering Nook simple touch

Registering "Nook Simple Touch" is not so simple. This device doesn't work with my personal router "Asus WL500gp v2". Nook finds network, but is unable to connect neither WPA/PSK nor Open System, network is not hidden. I solved this registering Nook at my office. There is router "AP2100 Dlink" and Nook works fine with it.

13 октября 2011

05 декабря 2010

Bad fonts after update

Several days ago there was huge update in the Slackware-current.
After that my fonts became rather ugly. After some investigation I've found that the reason was in freetype package. The freetype site wrotes:

Since May 2010, all patents related to bytecode hinting have expired worldwide. It it thus no longer necessary to disable the bytecode interpreter, and starting with FreeType version 2.4, it is enabled by default.
The affected patents are
Patent #1: US5155805: Method and apparatus for moving control points in displaying digital typeface on raster output devices
Patent #2: US5159668: Method and apparatus for manipulating outlines in improving digital typeface on raster output devices
Patent #3: US5325479: Method and apparatus for moving control points in displaying digital typeface on raster output devices


How can this be turned off? Seeking the web I've found the answer at the Alien Pastures blog.
A nice way to restore old behaviour of freetype.
cd /etc/fonts/conf.d ; ln -sf ../conf.avail/10-autohint.conf .

Thank you, Eric!

22 ноября 2010

Iterating over lua-table items in C

Warning! The code above does not check for recursive nesting.

We have table "tb" in our lua-script.
Let's create a function to print this table in C. "printTable" for example.
tb = {'a', 'b', {{'one', 'two'}, 'aa', 'bb', 'cc'}, 'd'}
printTable(tb)

Here we go.
#include <lua.h>
#include <stdio.h>

#define TRACE(format, ...) \
fprintf(stderr, "%s:%d " format "\n", __FILE__, __LINE__, ## __VA_ARGS__)

static int print_table__(lua_State* ls, const int tableIndex)
{
char buf[100] = {};
int i = 0;
for (; i < tableIndex; ++i) buf[i] = ' ';

lua_pushnil(ls);
while (lua_next(ls, tableIndex) != 0) {
if (lua_isnumber(ls, tableIndex + 2)) {
TRACE("%s%s - %d", buf,
lua_typename(ls, lua_type(ls, tableIndex + 2)),
(int)lua_tonumber(ls, tableIndex + 2));
} else if (lua_isstring(ls, tableIndex + 2)) {
TRACE("%s%s - %s", buf,
lua_typename(ls, lua_type(ls, tableIndex + 2)),
lua_tostring(ls, tableIndex + 2));
} else if (lua_istable(ls, tableIndex + 2)) {
TRACE("%stable", buf);
print_table__(ls, tableIndex + 2);
}
lua_pop(ls, 1);
}
return 0;
}

static int print_table(lua_State* ls)
{
return print_table__(ls, 1);
}

int main(int ac, char* av[])
{
lua_State* ls = luaL_newstate(); // init Lua-interpreter

lua_register(ls, "printTable", print_table); // register "printTable" function
luaL_loadfile(ls, "script.lua"); // load script.lua
lua_pcall(ls, 0, LUA_MULTRET, 0); // execute script

lua_close(ls);
return 0;
}

What we have here?
The Lua interpreter creates special separate stack for any function. When we enter the "print_table" function this stack contains only one element - table "tb".
We call inner "print_table__" function with one argument - table position on the stack. Stack index starts with 1 and then is incremented by 1 for every element pushed onto stack.
Inside "print_stack__" function we compute buf for nice alignment and then execute "lua_pushnil". It pushes "nil" value onto stack so we have two elements there:
2 - nil
1 - tb

Then we call "lua_next". This function considers max stack value as key ("nil" in our case). It pops key from the stack and pushes key-value pair. The stack looks like:
3 - "1"
2 - key
1 - tb

Then we check and print value. If the value is table we execute recursive call of "print_table__" with its index. At the end of iteration we call "lua_pop" and pop 1 last element from the stack. The stack again:
2 - key
1 - table

Calling "lua_next" we iterate over all keys in table.

08 октября 2010

Google Sync on Samsung S3370 (Corby 3G)

Active Sync Settings:
server URL: m.google.com
username: youruser@gmail.com
password: yourpassword
domain:
use SSL: yes

Warning: All existing contacts in your phone will be removed. Backup them before setting up sync.

08 сентября 2010

Калиновое


Мегалидер, который рулит королем,
из Хабаровска едет в Читу за рулем
по российской суглинистой глуби.
Тот, кто верит мелодиям местных сурдин,
может предположить, что он едет один,
но имеется ролик в Ю-Тубе.
Это ролик, что местным любителем снят:
мужики вдоль обочин друг друга теснят
(лица бодрые: тронешь – зарежем)
и с улыбчивым матом, с каким, говорят,
выходил к поездам партизанский отряд,
неотступно следит за кортежем.

А кортеж, доложу я вам, – это кортеж.
По Сибири такой не катался допрежь.
Так езжали, поди, богдыханы,
да и те по сравнению с нами отстой.
Для начала по трассе, с рассвета пустой,
проезжает машина охраны.
За охраной менты, за ментами спецсвязь
(представляете, если б она прервалась?
Все правительство – без властелина!).
А за ними, под дружное «Ишь!» партизан,
молодежная, желтая, как пармезан,
мчит премьерская «Лада Калина».

А за ней – ФСБ, ФСО и ФАПСИ:
если даже премьера комар укуси
– он останется тут же без носу.
Вслед за тем, в окруженье своих холуев,
поспешают начальники местных краев,
приготовившись бодро к разносу.
Специально для них, разрази меня гром,
едет несколько «скорых» со всяким добром,
от наркоза и до вазелина!
И автобус ОМОНа, набитый людьми,
чтоб не вышло избытка народной любви.
И резервная «Лада Калина».

Вслед за ними, с брезентом на крепких бортах,
– грузовик с населеньем, откормленным так,
чтоб лицо благодарно лоснилось:
сплошь простые крестьяне, от древних основ,
затвердившие сотню пронзительных слов
про верховную светлость и милость.
Есть и жалобы с грустным качаньем бород:
то дожди иногда, то грибов недород;
три-четыре тревожащих факта,
чтобы в ту же секунду вмешался премьер
– детский сад, например, комары, например;
но покуда справляемся как-то.
А за ними, мигалкою сплошь осиян,
грузовик пирожков от простых россиян:
их могло бы хватить до Берлина;
а за ними, готовно собрав вещмешки,
едет рота солдат – охранять пирожки;
и еще одна «Лада Калина».

Вслед за тем – журналистов проверенный пул,
разговаривать, чтобы премьер не заснул:
скукота на пустующей трассе!
Ни попутчиков, ни госсовета тебе,
десять раз переслушана группа «Любэ»
(группа «ЧайФ» выжидает в запасе).
Телегруппа нацелила свой бетакам.
Вслед за нею – охрана, чтоб бить по рукам,
если местная грязь, или глина,
или пьяный народ со своим пирожком
в предусмотренный кадр забредает пешком.
И четвертая «Лада Калина».

Будто мало охраны на каждом шагу
– мчит отряд МЧС, возглавляем Шойгу,
если вдруг чрезвычайное что-то.
Десантирован шефом в таежную гать,
мчит отряд молодежи, чтоб лес поджигать
и тушить его тут же, для фото.
Вслед за ними отряд несогласных везут,
несогласные в ужасе ногти грызут
– в их автобусе едет дубина;
это шоу развозят во все города
– «вот что будет с решившим пойти не туда».
И контрольная «Лада Калина».

Боже, сон ли я вижу? Когда я проснусь?
Едет вся бесконечная путинорусь,
вся бранжа, говоря по-хазарски;
растекается солнечный блик на крыле,
позабытый Медведев скучает в Кремле
– он остался один на хозяйстве.
Едет питерских стая, ЛУКОЙЛ и «Газпром»;
ровно столько народа, чтоб тесным кольцом
окружать своего исполина
и попискивать, теша его маскулин;
и десяток проверенных «Лада Калин».
Что ни «Лада» у них, то «Калина».

А страна по обочинам – те ж, да не те ж,
– наблюдает с ухмылкой, как этот кортеж
заползает в таежную осень,
и втихую картинки кладет в интернет.
«Русь, куда же ты едешь?» – спросил бы поэт.
Мы же знаем куда. И не спросим.

Дмитрий Быков
Оригинал

28 октября 2009

Все дороги ведут к Слуцкому?

И все же, не удержусь и напишу. Интересно будет посмотреть насколько мои предположения совпадут с событиями предстоящего года-двух.

Газзаев -> Зико -> Рамос -> Слуцкий
Еще в прошлом году, после объявления о скором уходе Газзаева я задумывался о будущем тренере ЦСКА. Лучшей кандидатурой я видел Божовича, тогда тренировавшего пермский "Амкар". Игра "Амкара" впечатляла своей цельностью и организованностью. Фантастическая победа ЦСКА в кубке именно над "Амкаром" это только подтверждает. Думаю все видевшие тот матч не станут отрицать, что большую часть матча доминировали именно пермяки. Только в самом конце ЦСКА вырвал победу за счет лучших физических кондиций и мастерства.
Кстати недавнее поражение от "Москвы" чем-то похоже на тот финал. Первый тайм - доминирование команды Божовича, второй - попытка спастись. То, что удалось команде Газзаева весной 2008 не удалось команде Рамоса осенью 2009.
Можно предположить какой выбор стоял перед Гинером прошлой осенью. Договоренность с Рамосом и освобождающийся из "Амкара" Божович. Возможно еще кто-то, но я рассмотрю именно их, так как Божович впечатлил меня, а Гинер сам рассказал про Рамоса. Как мне кажется, выбор очевиден: Рамос - больше опыта, больше трофеев. Но тут вмешался "Реал" и вариант с Рамосом отпал. К этому времени Божовича оперативно увела "Москва". Божович не захотел быть запасным вариантом, хотя и в сильную команду, чем заслужил мое еще большее уважение. В цейтноте был взят Зико.
При Зико команда играла плохо, но два трофея выиграла. За трофеи спасибо. Могла ли команда играть лучше - сказать сложно. И в последнем сезоне Газзаева весна не удалась. Летом продажа двух ведущих игроков атаки: Жирков и Вагнер. Игра пропадает совсем, результат тоже, затем пропадает и Зико.
А между тем Рамос уже свободен. Лига Чемпионов манит любого тренера, и Рамос соглашается взяться за дело.
Работа у Рамоса идет с переменным успехом, но случаются травмы еще у трех (!) атакующих игроков (Пилиев, Гонсалес и Гильерме) и шансов на Лигу по итогам года практически не остается. Играть только в чемпионате России Рамосу не интересно. В тоже время свободен Слуцкий. Выбор у Гинера между большим контрактом сильного европейского тренера, которому будет неинтересно работать и меньшим контрактом российского перспективного тренера, у которого мотивация будет зашкаливать. Результат выбора уже известен. Слуцкий в ЦСКА.

Богатый клуб -> Сокращение финансирования -> Слуцкий
Уменьшение инвестиций в связи с финансовым кризисом, полугодовое отсутствие спонсора и строящийся стадион очевидно стоили немалых убытков акционерам ЦСКА. В такой ситуации логичным выглядит решение на время уменьшить амбиции, снизить расходы на команду и сконцентрироваться на постройке стадиона. Завершение стройки сразу же сильно облегчит бюджет. Пока же ограничиться наличием способной молодежи. Полагаю, Газзаев не захотел еще раз начинать все с начала и ушел в более сильный клуб. Не захотел строить молодую команду в чужой стране и Рамос.
В это время появился свободный специалист, неплохо себя зарекомендовавший именно работой с молодежью - Слуцкий.

Что дальше
Первое и главное - постройка своего стадиона. Ради этого будут продажи игроков и облегчение зарплатной ведомости.
Второе - поддержка команды на уровне 4-6 места. Необходимо привлекать спонсоров, а к слабой команде они не пойдут. Все таки ЦСКА достаточно известный бренд и возможность выгодного спонсорского контракта будет практически всегда.
Третье - воспитание/покупка молодых игроков. На свободные деньги, которых похоже будет мало, будут набирать молодых и перспективных. Кто-то может и "выстрелит".

Надежды и ожидания
Полагаю зимой из команды уйдут Игнашевич, Красич, Алдонин. Надеюсь за ними последуют и Одиа с Карвалью. Видимо закончит играть Рахимич, хотя еще год поиграть. выходя на замену. он может. В любом случае будет здорово, если Элвер останется в клубе, даже не в качестве игрока. Не очень ясна ситуация с Акинфеевым. Если строить новую команду с ним, необходима уверенность, что ближайшие 2-3 года от точно никуда не уйдет. Если такая договоренность не будет достигнута, однозначно Игоря надо отпускать. Опытным братьям и Шемберасу уезжать куда-то, как мне кажется, не имеет смысла. Молодым Нециду, Щенникову и Пилиеву тоже нужно оставаться, чтобы доказывать свое мастерство. Прибавим сюда еще Мамаева и Дзагоева, у которых опыта уже немало, несмотря на молодость, Плюс Гонсалес и Гильерме. Подбор игроков в общем-то уже приличный. А если еще молодые африканцы Секу, Осени, Маазу выйдут на свой лучший уровень - это будет очень серьезное усиление.

Акинфеев
Чосич Григорьев Березуцкий А. Березуцкий В. Щенников
Мамаев Шемберас
Дзагоев
Гильерме Нецид

Акинфеев
Григорьев Березуцкий А. Березуцкий В.
Мамаев Шемберас
Маазу Дзагоев Гонсалес
Гильерме Нецид


Счастливый конец
Пока строится стадион Слуцкий тренирует, молодые игроки набираются опыта. Затем возвращается Газзаев, покупается две-три звезды и выигрывается Лига Чемпионов.

PS:
А в это межсезонье, добыть бы Тарасова у "Москвы", Рязанцева у "Рубина", да еще Семака бы вернуть. Вот кто настоящий капитан.

02 октября 2009

vim tip

function! s:insert_gates(arg)
let gatename = toupper(a:arg) . "_" . substitute(toupper(expand("%:t")), "\\.", "_", "g")
execute "normal i#ifndef " . gatename
execute "normal o#define " . gatename . "\n\n\n"
execute "normal Go#endif /* " . gatename . " */\n"
normal kkk
endfunction
command -nargs=1 PragmaOnce call s:insert_gates()

Небольшая полезность для C/C++. Аналог "#pragma once".
По префиксу и имени файла генерирует "защитные" define'ы.
В качестве префикса может использоваться имя проекта, например.