Архив автора: foxylab

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

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-летнего перерыва:
улов уклеек на Соже
Поймал я этих рыб на берегу реки Сож:
рыбалка на Соже

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

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

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

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

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

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

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

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

Высохшая речка в Шабринском лесу возле Гомеля

В лесном массиве между Гомелем и Добрушем на расстоянии 2,31 км от трассы, примыкающей к дороге Р124, можно наткнуться вот на такой мостик:
лесная речка Гомель
Здесь не так давно текла лесная речушка:
лесная речка Добруш
Читать далее

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

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

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

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

Грибы на нашем участке

Вот такие зимние грибы выросли в нашем саду в начале января!!! 2018 года на нашем участке:
грибы зимой

Читать далее

Философские и не очень беседы с Алисой

Голосовой помощник Алиса оказалась весьма интересной собеседницей. Алиса встроена в приложение Яндекс:
Алиса

Для активации помощника после запуска приложения Яндекс необходимо сказать «Привет, Алиса» .
Вот некоторые из моих диалогов с ней (Алиса непостоянна 🙂 и ответы могут отличаться при повторных вопросах):

о смысле жизни

Алиса Яндекс
Читать далее

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

В одно прекрасное утро я обнаружил, что наш роутер TL-WR841N производства компании TP-Link перестал раздавать Интернет. Этому утру предшествовала ночь с грозой 😉 Провайдер вообще не видел наш роутер со своей стороны — вышел из строя порт WAN.
Осмотр внутренностей роутера не выявил заметных повреждений, зато позволил изучить его компоненты и возможности расширения (например, использование GPIO выводов), но это уже другая история 🙂
внутренности TL-WR841N
Компоненты роутера:
1 — системный чип Qualcomm Atheros AR9341 (U1)
2 — микросхема оперативной памяти ESMT M13S2561616A-5T объемом 32 МБайт (U2)
3 — микросхема флэш-памяти cFeon Q32B-104HIP объемом 4 МБайт (U3)
4 — трансформаторные модули
5 — импульсный DCDC преобразователь на микросхеме 34063 (U4)
6 — контактные площадки
7 — контактные площадки

Помочь в этом случае смогло переназначение одного из четырех портов LAN в качестве порта WAN. Далее я расскажу, как же я это сделал.
Читать далее

Luftwaffe над Гомелем

Аэродромы и части Luftwaffe в Гомеле

Продолжу тему Гомеля и окрестностей в минувшей войне (здесь я опубликовал найденную мной информацию о тяжелейших боях осени 1943 года). В этой же статье я попытался собрать разрозненные сведения об аэродромах и частях ВВС Третьего рейха в Гомеле и окрестностях.

Gomel-Nord

В [7] описывается авиабаза Fliegerhorst Gomel-Nord, причем утверждается, что она располагалась на месте нынешнего аэропорта Гомель (в чем я весьма сомневаюсь) и действовавшая с августа 1941 года до 26 ноября 1943 года.

В [7] указывается, что в октябре 1941 года на ней базировалась Kampfgruppe zur besonderen Verwendung 9 (KGrzbV 9), оснащенная самолетами Ju 52. Группой в то время командовал  оберст-лейтенант  Янсен (Johannes Janzen). [27] В ее задачу входила поддержка войск, наступающих на Москву [28].

В августе-сентябре 1943 года на ней базировалась 3-я группа 1-й эскадры штурмовой авиации люфтваффе — III. Gruppe des Sturzkampfgeschwaders 1 (III./St.G 1) (командир — майор Friedrich Lang) (самолеты — штурмовики Ju 87D [12]) [11, 15]. Эта группа в это время также базировалась в Карачеве, Полоцке и Бобруйске [24]. Самолеты группы летали на цели севернее и северо-восточнее Брянска, а дважды еще дальше — под Смоленск [26].

Согласно [24] в III./St.G 1 в августе 1943 года числилось 6 Ju 87D-1, 22 Ju 87D-3 и 4  Ju 87D-5, а в сентябре — 20 Ju 87D-3 и 9 Ju 87D-5.

Модель Ju-87 D-3 была разработана в середине 1943 года — усилена броневая защита и удалены или закрыты пропеллеры сирен. Чуть позже была создана модель Ju-87 D-5 — большее крыло, дополнительное бронирование кабины, в крыльях пулемёты MG-17 были заменены на пушки MG 151/20.

Каждый самолет нес четырехзначный буквенно-цифровой код, позволявший определить эскадру, группу, эскадри­лью, а также индивидуальный номер са­молета.
В St.G 1 бортовые номера самолетов имели вид A5+XX [26], где A5 — код эскадры (Geschwaderkennung), наносился черной краской перед крестом. Третья буква наносилась цветом, определяющим группу, и являлась порядковым номером самолета в эскадрилье. Последняя буква (всегда черного цвета) определяла эскадрилью. Код повторялся черным цветом на крыле снизу.


эмблема St.G 1 [19]

С июня 1942 года (до, по крайней мере, марта 1943 года) в Гомеле действовала комендатура авиабазы — Fliegerhorst-Kommandantur E 21/IV (в 1943 году ей командовал капитан Rudolf Dostert (?)) [10]

Читать далее