Вицове за Програмисти

Говорят си две приятелки:
- Що за човек е новият ти приятел?
- Много общителен и приятен човек…Не може да си помисли човек, че е програмист!

За своите 28 години той познаваше 8 операционни системи. И нито една жена…

В отдел „Човешки ресурси“:
- Изглеждате недостатъчно подвижен за възрастта си.
- На вас какво ви трябва – програмист или маймуна?

- Скъпа! – казва програмист на жена си. – За всичко, коеото си направила за мен, реших да увековеча името ти! Кръстих току-що написания от мен вирус на теб.

Разликата между начинаещ и напреднал програмист – начинаещият мисли, че в един килобайт има 1000 байта, докато напредналия е сигурен, че в един километър има 1024 метра.

Знаете ли, че… един терапевт – това са 1024 гигапевта или 1048576 мегапевта?

Иванчо – приказки за програмисти…

На Иванчо са му дали 3 ябълки.
Той е изял 2.
Колко ябълки има Иванчо?
Мислите си че 1?
Ама никъде не е казано, колко ябълки е имал Иванчо преди да му дадат 3-те.
Извод – нулирайте си променливите!

Иванчо има 3 ябълки. Дали му още 3. Той изял 2. Колко ябълки има Иванчо?
4? Неееееееееее! 6! Двете ги е изял един ден по рано.
Извод – синхронизирайте си нишките!

Иванчо имал 5 ябълки. Изял 2. Колко са му останали?
3? Нееее! Той не е ял свои ябълки! Пак има 5!
Извод – защитавайте си адресното пространство!

На Иванчо му дали 3 ябълки. Той ги изял.
На другия ден дошли да му ги искат, защото били дадени само за съхранение.
Извод – четете си спецификацията.

Ако шофьорите ги наемаха на работа както програмистите… ето как щеше да изглежда една обява:

Длъжност: шофьор
Изисквания: професионални навици на управление на леко- и тежкотоварни автомобили, тролеи, трамваи, влакове на метрото, трaктори, багери, БМП и съвременни леки/тежки танкове, на въоръжение в страните НАТО.
Навици за ралийно и екстремално управление са задължителни. Опит във Формула-1 – препоръчва се.
Кандидатите трябва да притежават сертификати от BMW, General Motors и Bosch, а също и дипломи за участие в големи международни ралита, но не по-стари от 2 години.
Заплащанe: 300-500 лева, определя се в зависимоста от резултата на интервюто.
Знания и опит в ремонт на бутални и роторни двигатели, автоматични и ръчни трансмисии, системи за запалване, бордови компютри, ABS, GPS и автомобилини аудио системи на водещи световни производители – задължително.
Опит в провеждане на тенекеджийски и бояджийски работи – плюс.

Софтуера като мотика…
Кратък компютърен речник с пояснения.

Чайник – начинаещ потребител, ненастъпил още мотиката и затова уверен, че мотики не съществуват.

Леймър – потребител, редовно настъпващ мотиките, но продължаващ да вярва, че мотики не съществуват.

Тесен специалист – потребител, овладял до съвършенство настъпването на едни и същи мотики.

Широк специалист – потребител, имащ на челото си две или повече цицини.

Програмист – този, за когото при настъпването на мотиките е най-важен резултата. Понеже му е омръзнало да настъпва чуждите мотики, прави свои собствени.

Напреднал програмист – програмист, настъпващ дадена мотика не повече от два пъти.

Копирайт – концепция, ограничаваща броя на достъпните за настъпване мотики според финансовите възможности на потребителя.

Геймър- този, за когото при настъпването на мотиките най-важен е самия процес. Обикновено не може да произвежда собствени мотики.

Чийтър – разновидност на геймъра, настъпва само мотики с дунапренови калъфки на дръжката и обикновено само по веднъж.

Хакер – този, който е способен да настъпи мотиката даже ако е затворена в барака и заключена с катинар.

Хакер-идеалист – благороден борец за правото всеки да може да настъпи неограничен брой мотики.

Microsoft – корпорация, световен лидер в производството на мотики.

Бил Гейтс – митично същество от програмисткия фолклор; зъл дух, покровител на мотиките.

Ъпгрейд – процес на непрекъснато харчене на пари за нови мотики, всяка от които удря още по-силно от предишната.

Бета-версия – версия, в която мотиките се виждат с невъоръжено око.

Релийз – версия, в която мотиките са покрити със шума.

Съвместимост на версиите – принцип, позволяващ новите мотики да ви нацелват точно по цицината от предишните.

Асемблер – език за програмиране, позволяващ да настъпваш мотиката няколко милиона пъти в секунда.

Локална мрежа – технология, позволяваща да бъдеш праснат по челото даже когато мотиката е настъпил някой друг.

Интернет – технология, позволяваща да настъпваш мотики на другата страна на земното кълбо.

Мрежова конференция – технология, позволяваща на всеки да настъпва не само своите, а и чуждите мотики.

Кирилишки кодировки – подаръчен комплект мотики за потребителите на интернет.

Приятелски интерфейс – гумена облицовка на дръжката на мотиката.

Гъвкав (настройваем) интерфейс – облицовка на дръжката на мотиката, която можеш да нагодиш по височината на челото си.

Графичен интерфейс – мотика с регулировка на цвета и силата на искрите, които ще видиш след като те прасне по челото.

Ненадеждна система – мотика, които ви бие по челото даже и тогава, когато не сте я настъпили.

Надеждна система – мотика, които ви бие точно по челото даже и тогава, когато сте с гръб към нея.

Многозадачност – концепция, позволяваща да настъпиш няколко мотики едновременно.

Обектно-ориентирано програмиране – метод за производство на мотики на принципа на матрьошките.

Мануал (ръководство) – книга, описваща различните начини за настъпване на мотиката. Никога не се ползва от леймърите и хакерите. Напредналите програмисти я използват сред като настъпят мотиката втори път.

Техническа поддръжка – служба, която дава съвети какво да се прави след настъпване на мотиката. Обикновено първият й съвет е да настъпиш мотиката пак и да сравниш усещанията.

Aкo програмистите строяха къщи…

1.03.
Ура! Предложиха ни огромен договор за построяването на 12 етажен жилищен блок. У всички има бурен ентусиазъм. Изпихме от радост 2 каси бира.

2.03.
На възложителя не му се харесва израза, „когато стане, тогава“. Иска да кажем конкретни срокове. Идиотът нищо не разбира от високи технологии.

3.03.
Обсъждахме сроковете. Изпихме 3 каси бира. Петров казва, че ще стане за 4 месеца. Значи за 8 месеца. В договора записахме 12 месеца, но едва ли ще се оправим за по-малко от 16.

6.03.
Петров отиде да върне бутилките.

8.03.
Празнуваме 8 март. Във фирмата няма жени, така че никой не ни пречи на празника.

2.04.
Петров казва, че трябва да започнем работа. Какво му стана на този човек. Изчистихме строителната площадка и закачихме красиви плакати „Строежът се изпълнява от компания „Allstroy“ (www.allstroy.bg)“. С чувство на изпълнен дълг играем „Quake“.

20.04. Дойде възложителят, пита как върви работата. Сложихме го да играе Quake и го оставихме да ни бие всички.

21.04.
Обсъждахме проекта. Сидеров предлага панелна архитетура. Петров настоява, че всичко трябва да се строи по стария начин от тухли, а не по ламерски. Най-радикалния проект предложи Алекс. Предлага да построим няколко десетки дървени бараки и да ги съединим с подземни тунели. На Запад било модно. Напомнихме му, че все пак клиента иска 12 етажен блок. Опитахме се да решим въпроса чрез дуели на Quake. Алекс с неговите дървени бараки бързо отпадна, но резултата между Сидеров и Петров излезе равен. Решихме всеки да строи по свой план и след това да ги съединим, за да не падне.

30.04.
Първият етаж е готов. Показахме го на възложителя. Той се интересува защо в различните стаи таваните са различно високи, защо от стените падат тухли и защо няма врата, а трябва да се влиза през прозореца. Обяснихме му, че това са ограничения на демо-версията. Тръгваме да празнуваме горди от себе си.

10.05.
Петров изтрезня първи и дълго псува. Мислехме, че Алекс е изпил всичката бира. Оказа се по-лошо: забравили сме за основите. В проекта са описани, но документацията я четат само идиоти.

11.05.
Разрушихме първия етаж. Обидно е.

11.07. Работим. Петров довършва втория етаж, Сидеров – петия. Алекс е направил асансьорната шахта до деветия етаж, но при силен вятър се клати подозрително. Засега сме я подпрели с дървено скеле.

17.07.
Алекс прави терасите и покрива. На земята. После ще ги вдигнем с кран.

13.08.
На Сидеров не му се засрещат панелите. Дупката е почти метър. Сидеров помоли Петров, но той каза, че има достатъчно работа и изобщо без знание на вътрешната архитектура на панелите нищо не може да се направи.

14.08.
Разбихме няколко панела за да може Петров да изучи вътрешната архитектура. Петров псува и казва, че проектантите на панелите са пълни идиоти.

17.08.
Петров запуши дупката. Панелите малко се изкривиха, но това е дреболия. Между панелите останаха малки процепи, които Петров залепи с тиксо. Казва, че ще работи стига да не вали дъжд.

19.08.
Строителният комбинат пусна нова версия панели, с повишена устойчивост и здравина, с вградени стенни шкафчета. Истината е, че по форма и размер не са съвместими със старите и са три пъти по-тежки. На каква архитектура разчитат в строителния комбинат?

16.09.
Дойде Алекс, пълен с идеи. Предлага да направим всички прозорци в блока със различни размери. Възложителят щял да ги хареса. Казахме му да не се ебава.

2.10.
Петров стигна до 5 етаж. Горд е от себе си. Обърнахме му внимание, че стените са под ъгъл 40 градуса. Той псува, вика, каза че сме идиоти и нищо не разбираме. После обеща да помисли.

3.10.
Дойде възложителят. Пита защо стената е наклонена под ъгъл 40 градуса. Обяснихме му за силата на Кориолис. Той ни изслуша, после каза, че той от строителство не разбира, но до неговата къща има точно такъв блок и всички стени са прави. После този идиот Алекс се лепна за него и му каза идеята за изменените прозорци. Възложителят естествено я хареса. Мамка му.

4.10.
Питаме Алекс дали ще се наложи да разбием всичко заради неговите прозорци. Уверява ни, че няма нужда – в стандартните панели има недокументирана функция.

5.10.
Петров призна, със стената има проблем. Казва, че неправилно сложил някаква тухла. Но за да разбере коя, трябва да ги провери всички. По-лесно е да направи всичко наново.

6.10.
Убеждаваме Петров, че да построи всичко наново няма да му стигне времето. Демострираме му изчисления с калкулатор. Петров псува, вика, каза че калкулатора са го измислили идиоти. После се съгласи да правим всичко от панели и от мъка отиде да се напие.

8.10.
Разбихме тухлената част. Повредихме и част от панелната. Цялата сграда скърца и се клати заплашително. Укрепихме я с дървени подпори и отдохме да играем Quаkе.

17.10.
Петров се върна от запоя. Работим.

7.11.
Празнуваме 7 ноември – или както се нарича сега? Комунисти във фирмата няма, затова никой не разваля празника.

15.11.
Спомнихме си, че крана стига само до 8 етаж. Пратихме Сидеров за нов кран. Играем Quаkе. Алекс победи Петров. Расте нова смяна.

24.11.
Върна се Сидеров. Не е намерил кран, но достави ескаватор. Предлага да изкопаем дълбока шахта и да построим блока не нагоре, а надолу. Казва, че никъде в договора не пише, че блока трябва да е на повърхността.

25.11.
Направихме мозъчна атака за крана. На последната бутилка бира намерихме решение. Зарязваме основното строителство. Ще строим 4 етажен блок. После ще сложим крана на покрива му.

25.12.
Празнуваме католическото Рождество. Католици във фирмата няма, затова никой не разваля празника

14.01.
Нищо не помня. Главата ме боли. Коя година сме?

2.02.
Най-после сме готови с 12 етаж. Утре ще сложим покрива, който направи Алекс.

3.02.
Алекс е идиот. Покрива пада редовно. Засега сме го подпрели с крана. Ще мислим какво да правим по-нататък.

4.02.
Алекс казва, че не виновен. Просто 12 етаж на Сидеров е 5 метра по-широк и 4 метра по-висок от 12 етаж на Петров. Става ясно, че са строили от различни панели. Но Алекс все пак е идиот, защото неговия покрив не става за никой вариант. Асансьорната шахта също.

5.02.
Лепихме, закрепвахме покрива. Петров казва, че ще издържи ако не завали сняг.

7.02.
Заваля сняг…

10.02. Направихме покрива от шперплат и тенекия и боядисахме всичко. Да се надяваме, че възложителят няма да забележи.

11.02. Тествахме ансансьора. Спира между етажите, но може да се излезе от кабината. На четните етажи с пълзене, на нечетните с подскачане. Да не забравя да го опиша в документацията.

12.02. И изобщо ансансьора работи много бавно. Петров псува всички идиоти. Казва, че ще започне да го оптимизира.

13.02. Петров оптимизира ансансьора. Той се засили, проби покрива и отлетя в неизвестна посока. Добре, че покривът е от шперплат и се оправя лесно. Падна и асансьорната шахта. Спомнихме си, че така и не сменихме дървените подпори с нещо по-надежно. Нищо. Да се ходи пеша е полезно.

15.02. Започнахме довършителните работи. Някъде постояно изчезват бояджии. Обадихме се да пратят още.

17.02. Изясни се, че заради грешка на Сидеров, вратите на апартаментите от втори до шести етаж се отварят само отвън. В резултат на това на тези етажи е пълно със заклещени бояджии, които не могат да излязат. Сидеров обеща да я оправи. Засега ги храним през отдушниците.

20.02. Алекс най накрая направи изменящите се прозорци. Тествахме. Изясни се, че при промяна на размера са разбиват стъклата. Освен това се наблюдават и някои странични ефекти. Например от гостната на един апартамент може да се влезе в банята и тоалетната на друг. Освен това постоянно изчезват вратите и падат балконите. Да се жалваме в строителния комбинат е безполезно – ще кажат, че не дават гаранция за недокументирани функции.

21.02. Дойде възложителят. Пита може ли да направим незначителни промени в проекта. И по-точно вместо 12 етажен блок да построим няколко десетки дървени бараки и да ги съединим с подземни тунели. Чел, че така било модно на Запад.
Неутрализирахме Алекс, още преди да си отвори устата и вежливо и твърдо обяснихме на възложителя, че не е прав.

22.02. Балконите продължават да падат, макар че не пипаме прозорците. Явно е независим бъг. Какъв е – късно е да търсим, така че махнахме и останалите. Ще опитаме да обясним на възложителя, че сме го направили за оптимизация.

23.02. Празнуваме 23 февруари. Военни във фирмата няма, затова никой не ни пречи на празника. Жени също няма, затова никой не раздаде подаръци. Обидно е.

25.02. Алекс се опита да довърши изменящите се прозорци. В резултат половината се свиха до нулев размер и не искат да се върнат обратно. Казахме му да не се ебава повече, че ще стане по-лошо.

27.02. Спомнихме си, че сме забравили да направим входа. Мислим няма ли да падне блока, ако го пробием сега. Сидеров казва, че е по-добре да не рискуваме. Петров го нарече идиот и се съгласи. Да не забравя да опиша в документацията, че влизането през прозореца е особеност на дизайна.

1.03. Как така първи март?! Откъде?! Вчера беше… Мамка му! Кой да знае, че този смотан февруари е 28 дни. Излиза, че трябва да сме готови вдруги ден, а не след седмица.

2.03. На работа. Работим 24 часа в денонощие, непробудно.

3.03. Убедихме възложителя, че ни е нужен още един ден за финално тестване. Мдаа, добре поработихме вчера? В крайна сметка не е толкова страшно. Голяма работа, че някои врати са на пода, други на тавана или от 10 етаж водят направо на улицата, че някои от апартамените е невъзможно да се достигнат, в други тоалетната е заедно с кухнята, че в половината няма вода, а в останалата ток, че канализацията се излива на шестия етаж и се наложи да направим стълбите между осмия и деветия етаж въжени? Но главното е да покажем блока на възложителя по правилния маршрут. А да – и да сложим снимки на мястото на изчезналите прозорци…

4.03. Yes! Yes! Направихме го! Отбелязваме предаването на обекта. Пия малко, трябва да успея да изчезна, преди всичко това да си е ебало майката?