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

О борьбе с контрпротиводействием пресечения истины

ТРАВЛЯ
Пьеса в одном акте

Действующие лица:
Молодой человек,
Страж порядка,
Зомбированные

Акт 1.
К группе зомбированных решительным шагом подходит молодой человек и абсолютно серьезно заявляет:
- Дважды два – четыре. Или пять. Ну максимум семь. Таковы реалии. Надо с этим быстро что-то делать. А те, кто мне не верит – тот зомбирован и средний инертный обыватель. Одним словом зло уже тут, а вы ничего не делаете.
Зомбированные равнодушно смотрят, пожимают плечами и отворачиваются.
- Не закроете мне рот! – кричит молодой человек. – Семь или пять! А вы ничего не делаете!
- А вы? – спрашивает один зомбированный. – Вы то что делаете?
Молодой человек обливает зомбированного презрением и сообщает важно:
- Я акцентирую ваше внимание на этой проблеме. Между прочим, за одно за это меня могут убить. Я сильно рискую. Но если мы все вместе скажем, что дважды два может принимать значения от четырех до семи и назовем виноватых – все будет по-другому!
- Кто вас может убить? – спрашивают зомбированные. – Кому вы нужны, Лобачевский?
- Такие как вы. Инертные. – сообщает молодой человек. – Вам плевать. А меня убить могут.
Зомбированные дружно кивают – да, мол, плевать. Молодой человек в расстройстве отходит и задумывается. Зомбированные продолжают разговаривать о чем-то своем.
Молодой человек подлетает с криком «Дважды два уже не всегда равно четырем!» и резко бьет одного из зомбированных по голове. Зомбированный бьет в ответ.
Молодой человек начинает стенать и причитать:
- Я пострадал за правду! Что?! Колет глаза?!
- Да идите вы в невообразимое далеко, дуралей! – говорят зомбированные и выдают молодому человеку пенделя.
Молодой человек врывается в круг и начинает вопить:
- Пять! Или семь! Вы не закроете мне рот, сволочи! Здесь общественное место – я имею право говорить здесь! Такое! Же! Право! Как! Вы!
Подходит страж порядка и пристально наблюдает за молодым человеком.
- Пять! Или семь! – кричит в лицо стражу порядка молодой человек. – Что смотришь?! Арестуй их! Они напали на меня! Имею право!
Страж порядка, наконец, понимает, что с порядком что-то не то и пытается уговорить молодого человека либо прекратить орать, либо уйти с площади. Молодой человек толкает стража порядка и орет:
- Пять! Пять! Семь! Семь! Понял?!
Страж порядка решает применить силу. Молодой человек бьется в истерике и орет «Не имеете права!». Страж порядка решает не связываться с малохольным и отпускает молодого человека. Молодой человек прыжками скачет к зомбированным и сообщает:
- Только что на меня было совершено нападение! За правду! Ни за что! За то, что дважды два – уже семь! А вы не верили!
Зомбированные тяжело вздыхают, отворачиваются и отходят в другой конец площади.
Молодой человек долго беснуется в одиночестве, обзывает зомбированных и корчит рожи.
Зомбированным пофигу.
Молодой человек подбегает вновь и начинает снова орать свое «Пять, уроды! Сем, козлы!». Зомбированные не выдерживают и хором сообщают молодому человеку, что на нефритовом стержне выбито его имя и именно туда молодому человеку срочно надлежит пройти. Молодой человек каменеет от гнева и спрашивает свистящим шепотом:
- Сколько они вам заплатили за эту массовую травлю?

Оригинал этой записи находится на Frumich.com

вторник, 24 ноября 2009 г.

Об эмоциях

Учитель вошел в класс и с тоской посмотрел на учеников, сидящих в позе «Ожидание Мудрости».
- Здравствуйте, о тряпки, впитывающие мудрость мою. – поздоровался он с учениками.
- Приветствуем тебя, о громкоговоритель заумной фигни. – слаженно ответил класс.
- Ху из он дьюти тудэй? – стандартно пошутил Учитель.
- Китайский учи! – не менее стандартно пошутили ученики.
- Кто дежурный? – прекратил шутки Учитель.
- Эээ. С вами все в порядке, о гипофиз мира? – удивились ученики.
- Ах да. – спохватился Учитель. – Кто сегодня уничтожает вчерашнюю мудрость с доски?
- Я. – встал Дежурный. – Я сегодня создаю иллюзию чистоты и порядка в этом суетном мире и в классе, как части его.
- Дааа. – протянул учитель. – Знаешь что, о повелитель тряпки? Сгоняй-ка за пивком.
Дежурный удивился, но поднял одного из учеников и послал за пивом.
- Почему он, о возомнивший о себе хулиган? – возмутился Учитель. – Ведь дежурный ты, а не он.
- Я – повелитель тряпки. – пояснил Дежурный. – А он – тряпка. И к тому же деньги только у него.
- Какая разница – чьи ноги стираются о землю, если живительная влага вольется в нужное горло? – согласился Учитель. – Но доску ты вытрешь сам, о сосредоточие хитрости и ума.
- Всеобязательно, о приверженец твердой дисциплины и порядка! – поклонился Дежурный. – Как только в этот класс купят хоть доску – я первым ее вытру! Пусть даже на ней не будет написано ничего.
- Именно! – сообщил учитель. – Уничтожить знание можно задолго до того, как оно появилось.
Ученики с уважением присвистнули и записали Истину.
- Образы, ожившие на доске умирают от руки, от тряпки, от дождя, от времени, от спины облокотившегося. – продолжил Учитель. – Образы, ожившие в голове можно уничтожить только вместе с головой.
Ученики присвистнули еще раз и вновь записали.
- Отсюда вывод: голова крепче доски. – поднялся руку один из отличников.
- Ага, о ускоритель мышления. – кивнул Учитель. – Благодаря тебе на практическом занятии, в классе где доска есть, будет весело и травматично. Тебе придется это доказать, о грядущий обладатель сотрясения.
Ученики радостно засмеялись, показывая пальцем на зубрилу-ботана.
- Отсюда вывод: доска не в той комнате делает самые лучшие образы недолговечными. – сказал Учитель.
Ученики присвистнули и записали. Все кроме одного. Он встал, всхлипнул и сказал:
- Спасибо, Учитель. Мне теперь ясно в чем проблема. Я ухожу. Пойду разводиться.
Учитель невозмутимо кивнул и протянул пятки для лобызания.
- Не пройдет. – отказался Уходящий. – Благодарность за уже полученное знание может быть умереннее авансов за требуемое. Так что давай просто пожмем руки, о равный.
- Покажем друг другу кукиши, о лишний рот моей школы. – согласился Учитель и показал кукиш. – Изыди!
- Изыл! – воскликнул Уходящий и стал Ушедшим.
- Итак, напомню тему домашнего задания. – обратился к оставшимся Учитель. – Невозмутимость и спокойствие – как залог достижения Гармонии. Эмоциональность – оружие, которым можно убить себя. Выплески эмоций – как вручение врагу рубильника от своего аппарата искусственного дыхания. Учитель – оружейная комната для такого оружия. Доверие к Учителю – залог достижения Мудрости. Итак, кто начнет?
- Я, о выноситель моего мозга! – склонился один из учеников и вышел вперед.
- Я не подвержен эмоциям. – гордо заявил он.
- Вранье. – покачал головой Учитель. - Ты подвержен.
- Я, конечно, немножечко подвержен эмоциям, но выражение их я контролирую. – исправился ученик.
- Немножечко? – поднял бровь Учитель.
- Сильно! – выпалил ученик.
- Как сильно? – надавил Учитель.
- Очень сильно! – взорвался Ученик. – Меня зовут Лу, мне тридцать семь лет и я анонимный эмо! Я плачу при виде картин идеального счастья.
И расплакался навзрыд. Учитель гладил его по голове и приговаривал:
- Ну, ну, ну... Все хорошо. Все будет хорошо. Все будет здорово и твой дом будет полным. У тебя будут замечательные дети. Они будут сидеть у дома в ожидании тебя. А потом будут бежать тебе навстречу и в глазах их будет плескаться самое настоящее, подлинное, безбрежное счастье. А из дома будет пахнуть вкусной едой.
Ученик ревел белугой. Учитель злодейски подмигивал и продолжал рисовать картины идеального счастья. Где-то по дороге звякал бутылками человек-тряпка. Гармония ласково раскрывала свои объятия всем без исключения.


Оригинал этой записи находится на Frumich.com

вторник, 17 ноября 2009 г.

Об индивидуальности

Оратор (кричит): Вы все индивидуальности!

ТОЛПА (ревёт): Мы все индивидуальности!

Звонкий голос из ТОЛПЫ: А я нет!

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

Об эволюции

Наглядная демонстрация изменений в подходе к программированию на разных этапах карьерной лестницы разработчика.

High School/Jr.High

10 PRINT "HELLO WORLD"
20 END


First year in College

program Hello(input, output)
begin
writeln('Hello World')
end.


Senior year in College

(defun hello
(print
(cons 'Hello (list 'World))))


New professional

#include
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;

for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}


Seasoned professional

#include
#include

class string
{
private:
int size;
char *ptr;

public:
string() : size(0), ptr(new char('\0')) {}

string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}

~string()
{
delete [] ptr;
}

friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};

ostream &operator<<(ostream &stream, const string &s)
{
return(stream << s.ptr);
}

string &string::operator=(const char *chrs)
{
if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}

int main()
{
string str;

str = "Hello World";
cout << str << endl;

return(0);
}


Master Programmer

[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");

// bring in my interfaces
#include "pshlo.idl"

[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};

[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{

// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");

// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");

[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
aggregatable
]
coclass CHello
{
cotype THello;
};
};


#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();

HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:
static int cObjRef;
};


#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}


CHello::~CHello(void)
{

// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);

return;
}

#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();

// Tell OLE we are going away.
CoUninitialize();

return(0); }

extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(
int argc,
char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];

// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, "Object path must be specified\n");
return(1);
}

// get print string
if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {


hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

// print a string out
pHello->PrintSz(wcsT);

Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);

// Tell OLE we are going away.
CoUninitialize();
}

return(0);
}




Apprentice Hacker

#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
}
} else {
print ($msg);
}
1;




Experienced Hacker

#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}




Seasoned Hacker

% cc -o a.out ~/src/misc/hw/hw.c
% a.out




Guru Hacker

% echo "Hello, world."




New Manager

10 PRINT "HELLO WORLD"
20 END




Middle Manager

mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello,
world."?
I need it by tomorrow.
^D




Senior Manager

% zmail jim
I need a "Hello, world." program by this afternoon.




Chief Executive

% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

среда, 11 ноября 2009 г.

О бытовой изощрённости

В кунг-фу было принято объявлять удар, перед тем как его нанести. К этому моменту Семенов и Сенсей уже обменялись почти всеми известными ударами. Были и «Тигр царапает лапой», и «Журавль клюет жабу», и «Кабан вообще совесть потерял». И чтоб поединок не становился скучным и однообразным, приемы становились все изощреннее.
- Гопники просят закурить! – объявил Сенсей и со всей дури влепил Семенову в ухо пяткой.
- Гопники - зло! – обиделся Семенов и объявил: - Завскладом танцует медленный танец!
И оттоптал Сенсею ноги. Сенсей взвыл, в прыжке подул на ступни и вернулся в стойку.
- Ведро с раствором падает с пятого этажа! – закричал Сенсей и попытался ударить локтем по макушке Семенова.
- Каска спасает! – блокировал удар Семенов и нанес контрудар. – Спинка дивана была не замечена в темноте.
Только многолетние тренировки позволили Сенсею не упасть на татами, схватившись за пах. Он всего лишь всплакнул и недобро отозвался о производителях диванов.
- Ну держись, Семенов. – недобро сказал Сенсей. – Не замечена бельевая веревка на бегу!
И врезал ладонью по шее Семенова. Семенов захрипел и повалился на пол как мешок с дустом.
- Понавешали тут. – отдышался наконец Семенов и сел на полу. – Грузчик на базаре не совладал с тележкой!
И пнул Сенсея в колено. Колено громко хрустнуло. Сенсей продекламировал самые популярные записи с забора ПТУ. Семенов ухмыльнулся.
- Бежал за тапками, а тут ножка стула! – сказал Сенсей и ударил Семенова по пальцам ноги.
От мата Семенова птицы улетели из города навсегда. Сенсей довольно хрустел отбитым коленом и жизнерадостно хохотал.
- Ах так? – сказал Семенов. – Выходил в темноте в открытую дверь! Руками нащупать пытался, а она между рук.
И влепил точно в лоб Сенсею.
- Черт. Какой подлый прием. – возмутился Сенсей и потер лоб. – Крутил мясо в мясорубке и проталкивал мясо пальцем!
Семенов выл и пытался вызволить палец из железного захвата Сенсея пока его не осенило.
- Несли бревно на плече, а напарник его бросил резко! – закричал он и ударил.
Сенсей выл, катался по полу и держался за плечо. Потом он собрался с силами и закричал:
- Двухлетний мальчик бежит обниматься!
Подбежал и разбил головой нос и губы Семенова.
- Ну берегись. – пришел в себя Семенов и начал как-то странно двигаться. То пригибался и встряхивал волосами, то резко выравнивался и поправлял грудь.
- Школа Софьи Павловны... – побледнел Сенсей.
- Софья Павловна пробивается в автобус! – крикнул Семенов и попер на Сенсея.
Сенсей не успел отскочить и получил два удара локтем по ребрам и четыре чувствительных пинка в спину и осел на пол.
- Софья Павловна, намекает, что надо ей уступить место! – объявил Семенов и навалился на сидящего Сенсея.
Сенсей крякнул и попытался встать.
- Софья Павловна передает за проезд! – закричал Семенов и ткнул в глаза Сенсея.
Сенсей выл и не знал уже за какую часть тела держаться, потому как болело абсолютно все. Семенов раздумывал добить его ударом «Софья Павловна идет со сложенным зонтиком» или это чересчур сильное кунг-фу.


Оригинал этой записи находится на Frumich.com

среда, 4 ноября 2009 г.

О том, как успеть в театр

Чтобы женщина успела собраться в театр, а семейная гармония не нарушалась, мужчина должен сделать следующее:
1. Приостановить свою рабочую деятельность и выключить компьютер (это важно, если просто от него отойти, то не сработает!) - 1 минута,
2. Полностью одеться и обуться - 2 минуты,
3. Спросить, стоя в прихожей: «Ну пойдём?»
4. Услышать в ответ: «Ой, ты уже готов?! Я быстро сейчас!»
5. Разуться, переодеться в домашнее, включить компьютер - 1 минута на всё
6. Продолжить работу - у вас есть ещё 30-40 минут.
7. Одеться и обуться, прийти в театр вовремя :)

Можно было, конечно, продолжать сидеть за компьютером, каждые 10 минут напоминая, что надо скорее собираться, чтобы не опаздывать. Но тогда вы, скорее всего:
1. Опоздаете минут на 30,
2. Поссоритесь со своей второй половиной,
3. Не сможете толком работать весь этот час.

Слова не работают. Действия работают.

Берегите друг друга!

вторник, 3 ноября 2009 г.

О правильном подходе

Работаю в магазине женской одежды.

Раньше на просьбы показать что-нибудь пятидесятого размера я говорила: «У вас же пятьдесят четвертый!» В ответ каждый раз слышалось: «Нет, у меня пятидесятый! И к вам я больше не приду!»

Теперь на такую же просьбу я приношу все тот же пятьдесят четвертый со словами: «Примерьте вот это — они маломерки!»

И все счастливы.

(источник)

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

О бережливости

Работаю в магазине крепежа. Продаем дюбеля упаковками по 100 штук — стоит такая около 30 рублей. Естественно, каждый день возникают вопросы вроде «А десять не продадите? А что я с остальными делать буду?»

Недавно нашли на складе завалявшиеся нейлоновые дюбеля другого производителя, по свойствам абсолютно идентичные дешёвым. Поставили их по пятаку за штуку — они немецкие, входная стоимость высокая.

В тот же день заходит мужик и спрашивает дюбеля. Есть, говорю, 100 штук за 30 рублей. Возглас «А мне что их, солить, что ли? Мне всего 25 штук надо» не заставил себя ждать. Прикола ради я показываю ему дюбеля по пять рублей.

Нужно было видеть глаза остальных продавцов, когда я выбивал чек на 150 рублей за 30 дюбелей — пять он взял про запас.

С тех пор мы заказали еще коробочку немецких — разлетаются как горячие пирожки. Берут и по паре, и по пять-семь штук. Правда, некоторые теперь покупают пакет с сотней, берут чуть больше, чем нужно, а остальные показательно оставляют у нас. А мы не против — продадим по второму разу!

(источник)

воскресенье, 1 ноября 2009 г.

О воображении

Поверните эмблему Сбербанка по часовой стрелке на 90 градусов.
Заметили Пакмана, пожирающего пухлую пачку денег?
Хотите поделиться ссылкой? Добавьте в закладки: