Шутки юмора программиста… для тех, кто понимает :-)

Things to commit just before leaving your job
(то, что нужно закоммитить в проект перед увольнением)

// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
// @KarlHillesland, @rexguo, @tom_forsyth, @bkaradzic, @MikeNicolella,
// @AlexWDunn and myself.

// Easy keyword replacement. Too easy to detect I think!
#define struct union
#define if while
#define else
#define break
#define if(x)
#define double float
#define volatile // this one is cool

// I heard you like math
#define M_PI 3.2f    --> число Пи вернулось к истокам
#undef FLT_MIN #define FLT_MIN (-FLT_MAX)
#define floor ceil
#define isnan(x) false  --> всё есть число :-)

// Randomness based; "works" most of the time.
#define true ((__LINE__&15)!=15)
#define true ((rand()&15)!=15)   --> истина не вечна ;-)
#define if(x) if ((x) && (rand() < RAND_MAX * 0.99))   --> случаи, они всякие бывают

// String/memory handling, probably can live undetected quite long!
#define strcpy(a,b) memmove(a,b,strlen(b)+2)
#define strcpy(a,b) (((a & 0xFF) == (b & 0xFF)) ? strcpy(a+1,b) : strcpy(a, b))
#define memcpy(d,s,sz) do { for (int i=0;i<sz;i++) { ((char*)d)[i]=((char*)s)[i]; } ((char*)s)[ rand() % sz ] ^= 0xff; } while (0)
#define sizeof(x) (sizeof(x)-1) --> байтом больше, байтом меньше, какая разница :-)

// Let's have some fun with threads & atomics.
#define pthread_mutex_lock(m) 0  --> свободу мьютексам!
#define InterlockedAdd(x,y) (*x+=y)

// What's wrong with you people?!
#define __dcbt __dcbz // for PowerPC platforms
#define __dcbt __dcbf // for PowerPC platforms
#define __builtin_expect(a,b) b // for gcc
#define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break

// Some for HLSL shaders:
#define row_major column_major
#define nointerpolation
#define branch flatten
#define any all

Источник — https://gist.github.com/aras-p/6224951

Мои рыбацкие опыты на реке Сож (записки начинающего рыболова)

Велотрипы в места вблизи Сожа, между Плесами и Старым Селом, подвигли меня на повторное приобщение к оставшемуся в далеком прошлом искусству рыбной ловли.
Вот результаты одной из моих рыбалок после более чем 20-летнего перерыва:
улов уклеек на Соже
Поймал я этих рыб на берегу реки Сож:
рыбалка на Соже

Далее я описываю моё постижение увлекательного процесса рыбалки с поплавочной удочкой  — снаряжение оснастки, ее монтаж, вязание рыбацких узлов, способы поплавочной ловли…
Читать далее

Бабочки в нашем саду или моя фотоохота … на бабочек

Бабочки — украшение сада. Эти порхающие существа так хочется рассмотреть… Конечно, бабочек можно добыть посредством энтомологического сачка. Но гуманнее и интереснее ловить бабочек в объектив фотокамеры. Ниже я привожу результаты своей «фотоохоты» на эти милые создания.

Голубянки

Вот такую симпатичную бабочку я приметил летом на нашем участке:
голубянка икар
голубянка икар
(3 июня 2018 года)
фотографии бабочек
(9 августа 2017 года)

Как я смог определить, это бабочка из семейства голубянок (лат. Lycaenidae) и, скорее всего, вида голубянка икар (лат. Polyommatus icarus). Читать далее

Выращивание сосны в домашних условиях

Я нашел во время одного из своих велотрипов три маленькие сосны:
сосны
Сосна обыкновенная (лат. Pinus sylvestris, англ. pine) принадлежит к роду Сосна семейства Сосновые.
Сосна является одной из наименее требовательных к почве древесных пород и потому может расти на таких малоплодородных почвах (например, сухих песчаных), на которых рост других деревьев почти невозможен.
Сосна возобновляется либо семенами, либо посадкой (включая пересадку и вегетативное размножение черенками).
Срок жизни сосны обыкновенной составляет 300…400…600 лет по сведениям разных источников.
В фундаментальном справочнике «Полная энциклопедiя русскаго сельскаго хозяйства и соприкасающихся съ нимъ наукъ» в статье «Сосна» приводятся рисунки сосенок возрастом 1,2 и 3 года:
рост сосны
Вот что говорится о росте молодой сосны в пособие «Лѣсоводство» 1892 года (составитель — М. Турскiй):
сосна мутовки
У сосны выделяются мутовки (англ. whorl) — ветки, располагающиеся вокруг ствола на одном уровне. Первая мутовка появляется на третьем году жизни дерева. Затем новая мутовка появляется каждый год, причем у зрелого дерева нижние мутовки отмирают, оголяя ствол. Таким образом, по мутовке можно определить возраст молодого дерева.
У найденных мною сосенок был один верхушечный  побег (1) и одна мутовка (2):
мутовка сосны
Характерная особенность двухлетнего и более  взрослого дерева — хвоинки расположены по две в пучке.
У привезенных сосенок хвоинки были парными:
хвоинки сосны
Вот для сравнения непарные хвоинки ели:
хвоинки ели
Таким образом, найденные сосенки были трехлетками.
Читать далее

Верстовая квартальная разметка в Шабринском лесу возле Гомеля

Между Гомелем и Добрушем расположен большой лесной массив — Шабринский лес. Интересной особенностью этого леса является наличие в одной из его частей квартальной разметки, выполненной в … верстах!!!
В настоящее время этот лес относится почти целиком к Романовичскому лесничеству.
В этом лесу можно выделить две части — западную (1) и восточную (2):
лес между Гомелем и Добрушем

Квартальная сеть
Обе части разделены квартальными просеками, образующими квартальную сеть.
Вот как выглядит такая просека в западной части леса:
лесная просека
На пересечениях квартальных просек расположены квартальные столбы:
квартальный столб квартальные столбы
Надписи на столбах обозначают прилегающие кварталы и наносятся согласно ГОСТ 6586-66 черной масляной краской по такому трафарету:
трафарет для квартальных столбов

Размеры кварталов
Для своих «лесных» измерений я использовал спутниковую карту, доступную на сервисе Wikimapia.
В западной части ширина кварталов выбрана довольно произвольно — например, вот примеры ширины двух смежных кварталов — 883 и 879 метров:
гомельский лес
Но в восточной части леса все намного интереснее…
Читать далее

Выращивание ржи и других злаковых растений в домашних условиях

Злаковых культур в настоящее время известно достаточно много.
Вот как выглядят некоторых из них:
рожь
рожь (род Рожь, Secale)

пшеница
пшеница (род Пшеница, Triticum)

овес
овес (род Овес, Avena)

Все эти растения принадлежат к классу Однодольные, Liliopsida, семейство Злаки, Gramineae (Мятликовые, Poaceae).
Читать далее

Загадка Пахомьевого монастыря или …. где же находилась обитель староверов возле Гомеля?

Старообрядческий мужской Пахомьев (Пахомиев) монастырь был широко известен у старообрядцев (староверов, раскольников, не принявших реформы патриарха Никона). Однако в настоящее время существуют разные версии о том, где же он всё-таки находился…

Основание монастыря

Основателем монастыря считался выходец из великороссийских земель инок Пахомий [5] (инок — древнерусское название монаха (чернеца, носившего черную одежду)), время основания монастыря – 1770 год.

По преданиям этот монастырь был основан как скит «Игнатова пустынь» в 30-х – 60-х годах XVIII века [1] (в 1760 году [2]), по имени некого монаха, который первым тут поселился [4] (пустынь — монашеское поселение в незаселенном людьми месте).

Расположение монастыря

В [3] указывается, что монастырь находился в Белицком уезде в имении князя Варшавского графа Паскевича Эриванского:
светлейший князь Варшавский, граф Иван Фёдорович Паскевич-Эриванский
светлейший князь Варшавский, граф Иван Фёдорович Паскевич-Эриванский (1782-1856) [6]

Вариант 1

По одной из версий он находился на левом берегу Сожа у озера-старицы в 8 км на северо-восток от исторического центра Гомеля, в 10 км на юг от Ветки в урочище Боровица (Боровая). [1]
В [3] упоминается старообрядческий монастырь «Пахомьевский — в 8 верстах от Белицы«, в [4] — «Пахомьев старообрядческий мужской монастырь поповского толка находился на реке Сож за пять верст от Гомеля«, в [5] — «Пахомиев, что на реке Соже, в 8 верстах от Ветковской слободы, дьяконовского согласия монастырь«.

Основными ориентирами места расположения Пахомьева монастыря, как я покажу далее, являются:
Пахомьев монастырь
1 -приток Сожа с устьем напротив монастыря
2 — приток Сожа с устьем южнее монастыря
3 — П-образный изгиб Сожа севернее монастыря

Вот как эта местность представлена на спутниковом снимке сервиса Wikimapia [10]:
Пахомьев монастырь
1: 1a — залив реки Сож, 1б — озеро Сожки
2: 2а — залив реки Сож, 2б — озеро Явицкая
3 — П-образный изгиб реки Сож

Старые карты

В «Плане генерального межевания» Белицкого уезда Могилевской Губернии конца XVIII века монастырь обозначен как «пустыня расколничья» (1):
монастырь старообрядцев возле Гомеля
Читать далее

Как называются леса возле Гомеля?

Гомель окружен несколькими лесными массивами:
гомельские леса
Днепро-Сожский лес — в междуречье Сожа и Днепра, примыкает к Гомелю с юго-запада, протекает река Уза
Новобелицкий лес — примыкает к Гомелю с юга
Шабринский лес — к свостоку от Гомеля, в междуречье Сожа и Ипути
Добрушский лес — к востоку от Добруша в пойме реки Ипуть
Ветковский лес — в 18 км к северо-востоку от Гомеля

Шабринский лес ранее относился к Шабринскому лесничеству, административные здания которого находились в этом же лесу. В настоящее время большая часть этого леса относится к вновь созданному (не ранее 1989 года) Романовичскому лесничеству.

Интересна этимология топонима «шабринский» !

1 В толковом словаре Д. Н. Ушакова есть слово «шабрить» — «обрабатывать шабером» (шабер — слесарный инструмент для обработки поверхностей металлических изделий).

2 Есть еврейская фамилия Шабринский, которая произошла от названия деревни Шебрин в Брестской области (toldot.ru).

Откуда взялось это название в наших местах?