среда, 28 октября 2009 г.

Тува

Интересные новости пошли.

В данном случае я целиком на стороне милиции, поставьте себя на его место. Лучше быть обвиненным в "превышении полномочий", чем потом мозги собирать по мостовой. Для применения оружия достаточно ощущения угрозы, а не реальной угрозы, это ключевой момент. Реальность угрозы в экстремальной ситуации установить проблематично, или даже скорее - невозможно, поэтому действовать приходится считая опасность максимальной.

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

МНОГО редактирования

Бывает, откопаешь что-то свое гениальное, и аж стыдно становится:


my $bproc = 0;
my $bfunc = 0;
my $bout = 0;
my $bbody = 0;
my $inselect = 0;

sub checkpar {
$bout = 1 if(/\sout\s/ and $bproc == 1);
if($bbody == 1) {
print "declare\n" if (!/^begin$/);
$bbody = 0;
}
if(/\)/ and $bproc == 1) {
$bproc = 0;
$bbody = 1;
print;
print " returns void" if($bout == 0);
print " as \$\$" ;
}
elsif(/\)\s*return\s+(\S+)/ and $bfunc == 1) {
$bfunc = 0;
$bbody = 1;
s/return/returns/;
print;
print " as \$\$" ;
}
else {
print;
}
print "\n";
}

while(<>) {
s/\r\n//;
next if /^\s*(as|is)\s*$/;
$inselect++ if(/select/);
if($inselect != 0) {
s/^(\s*)([a-zA-Z_.0-9]+)(\s+)([a-zA-Z_.0-9]+)(\s*,\s*)$/$1$2$3as $4$5/;
s/^(\s*,\s*)([a-zA-Z_.0-9]+)(\s+)([a-zA-Z_.0-9]+)(\s*)$/$1$2$3as $4$5/;
}
$inselect-- if(/from/);
s/^(\s*from T_OBJ o), ([^\s]+\s+)([^\s]+)$/$1 left join $2$3 on o.ID=$3.ID/;
s/ and \S\.ID \(\+\)= \S\.ID//;
s/varchar2/varchar/g;
s/number/numeric/g;
s/nvl\(/coalesce\(/g;
s/c_pkgcore\.gt_cursor/refcursor/gi;
s/"ADD"/ADD/g;
s/substr\(t_pkgVOC\.fGet([^(]+)\(t_pkgVOC\.fGetVOC\(([^)]+)\), ([^)]+)\), 1, \d+\)/t_pkgVOC__fGetVOC$1\($2, $3\) as/g;
s/substr\(c_pkgCore\.fGetSysUser([^(]+)\(([^)]+)\), 1, \d+\)/c_pkgCore__fGetUser$1\($2\) as/ig;
s/substr\((.*), (\d+), (\d+)\)/substring\($1 from $2 for $3\)/g;
s/substr\((.*), (\d+)\)/substring\($1 from $2\)/g;
s/t_pkgVOC\./t_pkgVOC__/gi;
s/t_pkgObj\./t_pkgObj__/gi;
s/t_pkgView\./t_pkgView__/gi;
s/c_pkgCore\./c_pkgCore__/gi;
s/SQL%NOTFOUND/not found/gi;
if(/function\s+([^(\s]*)([^\n]*)/) {
$bfunc = 1;
$_ = "/* $1 */\ncreate or replace function t_pkgRpt__$1$2";
}
if(/procedure\s+([^(\s]*)([^\n]*)/) {
$bproc = 1;
$_ = "/* $1 */\ncreate or replace function t_pkgRpt__$1$2";
}
if(!/^\s+$/) {
checkpar;
}
}
print "\$\$ language plpgsql;\n\n";

понедельник, 26 октября 2009 г.

Новости короткоствола

аля, oper.ru

Пьяный милиционер застрелил сотрудника ГИБДД, ранил второго и покончил с собой. Кто знает, как все было на самом деле, невменяемый милиционер, или невменяемое взятничество, иногда тяжело сойтись в цене. Одно понятно, теперь милиционеров на освидетельствование будут возить только в одном виде, с пушкой в жопе. Только такой способ обеспечит проведение экспертизы. Ну и нарушителей правил либо не будут останавливать вообще, либо - класть лицом в пол независимо от их данных, и за любое неподчинение - пуля в филейную часть. Модель очень хорошо работает в развитых демократических странах, там невменяемость преступника не считается смягчающим обстоятельством.
Медведев молодец, уволил оперативно. Хотя, вообщем-то не факт, возможно, к моменту суда выяснится, что застрелили двух переодетых милиционерами шлюх из оружия Евсюкова.

P.S. К версии с невменяемым взятничеством я, кстати, склоняюсь все больше. Т.е. я думаю это был честный упившийся с горя от понимания реальности до белой горячки страж закона. И он честно ехал пьяный домой, и был готов отдать за это вменяемые деньги. Но, денег попросили много и в грубой форме, вот вам и короткоствол, человек просто сорвался.

понедельник, 19 октября 2009 г.

Joke of a day

"A novice was trying to fix a broken Lisp machine by turning the power off and on.

Knight, seeing what the student was doing, spoke sternly: "You cannot fix a machine by just power-cycling it with no understanding of what is going wrong."

Knight turned the machine off and on.

The machine worked.

"

Повеселило. Иногда добираешься и радуешься по настоящему древним баянам...

понедельник, 12 октября 2009 г.

Эволюция

Занятно, еще вчера cvs был вполне неплох, потом пришел svn, а теперь каждая тварь считает своим долгом пользоваться git. Но ведь рано или поздно должен появиться действительно лучший?

суббота, 10 октября 2009 г.

Ай, моська! Знать она сильна, раз лает на слона!

Именно так можно охарактеризовать поведение наших футболистов (особенно отличился Быстров).

Собственно, я на начало матча не знал, за кого болеть. Но понял это, когда услышал поведение российских болельщиков во время гимна команды соперника. В одном этом проявляется вся суть нации. А такой нации нельзя побеждать. В этот раз футбол показал именно свою силу, поведение болельщиков предопределило исход матча. Быдло должно знать свое место. Поведение российских болельщиков в матче - отвратительное, поведение футболистов - отвратительное, тупые злобные моськи, место которым на заблеванной помойке, а не на чемпионатах мира. Футбол хорош тем, что методы НАШИх здесь не работают, после 90 минут времени все становится на свои места. Жаль, что 1:0.

Сборной Германии - большое спасибо за отличную игру.

понедельник, 5 октября 2009 г.

Осторожно, мошенники! Валим из МТС или что делать, если пришло sms с номера 770262 контент-провайдера 88003330190

Все мы знаем, что не надо отвечать на звонки и смс от незнакомых людей. Еще надо регулярно проверять свой баланс, и внимательно изучать детализацию.

Итак, как я стал жертвой лохотронщиков:
1. приходит смс с номера 770262 с информацией, о том, что продлена некая подписка, затем с другого номера 770160 приходит предложение отписаться.
2. в конце месяца МТС радует нас списанием лишних 100 рублей со счета за волшебную смс (входящую, мы же не реагируем на звонки и смс от незнакомых людей).

Все гениальное просто. В саппорте услужливо дают номер контент провайдера, и предлагают решать свои проблемы самому. Ну или тарифный план сменить. Неплохо, отключаюсь от МТС нафиг.

Ну собственно, я далеко не первый, в интернете про этих деятелей пишут достаточно. Все хорошо опосля. Хочется только напомнить контент-провайдеру как закончилась жизнь главного спамера России. Особенно, цитирую: "...смерть Кушнира наступила от закрытой черепно-мозговой травмы и множественных ушибленных ран головы...". Желаю Вам того же.

P.S. Этот пост активно обсуждали на auto.ru. Решил уточнить некоторые моменты:
1. от того, что человек наивен лохотрон не перестает быть лохотроном
2. ответственность лежит как на лохотронщике (поставщик контента), так и на тех, кто его покрывает (МТС). После двух-трех обращений граждан такие вещи просто не должны были быть никогда, ан нет - каждый раз, как первый раз.
3. Я не кровожадный, и моих потерянных денег мне конечно жалко, но это не повод кому-то желать смерти, повод - умножьте абонентскую базу МТС хотя бы на одну такую платную sms, а это уже вполне приличная именно украденная (можно сколько угодно называть это другими словами, но это именно воровство) сумма. Я убежден, что получение такой суммы человеком с такими моральными качествами (допустимостью извлекать выгоду из обмана людей) - повод для дальнейших трагических событий. Просто я пытаюсь смотреть чуть дальше, чем перед своим носом, что однако не мешает мне иногда вляпываться вот в такое вот говно :) Но, на ошибках учатся.

P.P.S. Операторы таки предприняли шаги к исправлению ситуации. Это не может не радовать. Хотелось бы получить от кого-то подтверждение, что это действительно работает.

P.P.P.S. На сегодня (12.05.2010) шаги операторов оказались лишь маркетинговой галочкой, никаких реальных действий для защиты интересов клиентов по прежнему не предпринимается.

P.P.P.P.S. Столкнулся с еще одним способом мощенничества: читаем.