суббота, 18 декабря 2021 г.

УАЗДао, про ремонт

 В УАЗе очень мало что требует замены по износу. Практически любой узел может быть починен – быстро перебран на коленке самым тупым солдатом-срочником в чистом поле под обстрелом при помощи молотка, пассатижей и известной матери. Есть расходники – резинки. Остальное – сталь и чугун, причём всё разбирается, раскручивается, вынимается и отсоединяется.

УАЗ – автомобиль прошлого века не только по году выпуска, но и по концепции отношения человека и мироздания. Автомобиль эпохи недостаточности ресурсов. Того времени, когда всего было мало и всякая вещь была ценна и слабозаменима. Именно с этим связан тот факт, что ему уже больше тридцати лет от роду, и ничто не мешает проездить ещё столько же. Не техническое совершенство тому причиной, отнюдь – какое там, нафиг, совершенство, я вас умоляю, - а концептуальная установка на бесконечный ремонт. УАЗ никогда не бывает полностью исправен, но пребывать в этом состоянии он может практически вечно. Пока хозяину не надоест чинить. Это не делает его лучше современных машин, столь же малотребовательных к вниманию, сколь и неремонтопригодных. Это просто другой подход, порождённый другой эпохой, когда ресурсов было мало, а времени много.

УАЗДао, про дом.

 Я вообще это давно для себя понял. Человек должен жить в доме. В совершенно отдельном, индивидуальном, настоящем доме, а отнюдь не в этих коробках из говна и бетона, в которых мы тут в массе своей обретаемся, и где какая-то похмельная сволочь может одним движением заскорузлой своей длани перекрыть нам нахуй воду. Разве это жизнь, когда ты в абсолютной зависимости от неведомого тебе сантехника с ржавым разводным ключом? И от телефонистов, которые запросто отрежут тебе весь твой интернет под корень, потому что у них «кабеля менять пора»? И от электриков, у которых «ноль отгнил», поэтому по розеткам привольно гуляет межфазовое, от которого с радостными хлопками перегорают дорогостоящие приборы жизнеобеспечения, навроде компьютера? И под эти дымные аплодисменты ты сидишь без воды, света и телефона и понимаешь, что так жить нельзя.

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

Тут главное, что? Чтобы человек сосредоточиться не мог, мыслей всяких себе не думал. И если к сверлильщику ты потихоньку привыкаешь — человек вообще, такая сволочь, ко всему привыкает постепенно, даже к тому, что зубы вибрируют, — то на этот случай придуманы соседи. Только ты ночью разделся, в кровать залез, жену нацелился обнять, или книжку почитать, или просто без затей отойти ко сну, как тут же в дверь начинают стучать и орать: «Клава, блядь, открывай!» Хотя ты вовсе и не Клава и не был Клавой сроду. И пока ты, матерясь, надеваешь штаны и думаешь, чем бы таким поувесистей этого клавоискателя отоварить по еблищу, на площадке уже вопль «Пошёл нахуй, мудило пьяное, не открою!» И ты понимаешь, что это он не в твою дверь стучал, хотя слышно так, будто в твою. И начинается долгий скандал, переходящий в мордобой и полицию, который ты рад бы не слышать — но хуй там, потому что акустика тут так специально придумана, чтоб если не ты к социуму, то уж социум точно к тебе.

Или, если соседи попались некачественные и социальные функции свои исполняют без души — тихо или не каждый день, — то придёт тебе ночью во двор некий чорный человек и начнёт орать нечеловеческим голосом: «Леееха! Лееееха! Леееха!!!». Долго так, протяжно… Помолчит минут пять, чтобы ты расслабился, и взвоет: «Да Лёха же, ебтвюмать! Выдь, попиздеть надо!». И раскроются окна домов, и дружный хор ответит ему: «Да пошёл ты нахуй!», и долго будет эхо носиться по двору, повторяя на разные лады: «нахуй, нахуй, нахуй…», как бы примериваясь к звучанию, пока не взвоет сигналка чьей-то машины и не станет орать, пока аккумулятор не сядет. А аккумуляторы сейчас делают хер знает какой ёмкости, удивительно даже. Как зимой заводить — так заебет своим стартером скрежетать под окном и капотом хлопать и всё равно хуй заведётся, а как сигналка — так всю ночь будет орать, и лишь под утро начнёт подвывать уже редко, задушенно, но особенно жалобно, как бы умирая в тоске и одиночестве, аж жалко её, непутёвую.

А потом общая побудка в шесть утра — соло на мусоровозе, вместо гимна. Вернее, это и есть настоящий гимн России, а не тудум-ту-ту-дудум на слова Михалкова — когда биииип-биииип-бииипп сигнал. Это мусоровоз проехать не может, потому что какой-то мудак запарковал свою «девятку» поперёк проезда. Потом выходит мрачный с похмелья водила и орёт зычным голосом на весь тихий утренний двор: «Какое ебаное чмо тут свою телегу поставило? Быро убрал нахуй!». А потом пинки по колесу, и сигналка вау-вау-вау-вау минут десять, пока не прозвучит короткое бип-бип — вышел, значит, владелец, дай ему бог альтернативного счастья во весь анус. И гулко разносится по двору содержательный диалог: «Какого…» — «Да сам ты…» — «Да сам пошёл!» — «Да я тебя…» — «…а монтировкой?» Потом «девятка», наконец, уезжает, провожаемая обещаниями в следующий раз «вывалить весь этот ебаный мусор тебе на капот!», и аудиоспектакль переходит к финальному действию — взыыыы — бемц — взыыыы — бумбумбум — хуяк! Это раздражённый водитель мусоровоза ебошит со всей дури контейнерами об асфальт, представляя на их месте эту сраную девятку или голову её водителя…

вторник, 7 декабря 2021 г.

Convert DOS line endings to Linux line endings in Vim

 :set ff=unix

move back with 

:set ff=dos

пятница, 17 сентября 2021 г.

Remote reboot with Magic Sys Rq

Остановить останавливаемое, далее от root

# echo s > /proc/sysrq-trigger

# echo u > /proc/sysrq-trigger

# echo s > /proc/sysrq-trigger

# echo b > /proc/sysrq-trigger


где

s - sync

u - mount ro

b - immediate boot

(o - poweroff)


Magic SysRq key

пятница, 27 августа 2021 г.

Mail (MX) Server Survey


Exim приятно удивил.

http://www.securityspace.com/s_survey/data/man.202106/mxsurvey.html 


Server TypeNumber of ServersPercent
Exim293,10461.58%
Postfix150,05631.53%
Sendmail16,8693.54%
MailEnable9,5612.01%
MDaemon2,3370.49%

понедельник, 23 августа 2021 г.

Postgresql storage alignment

 

https://www.postgresql.org/docs/current/catalog-pg-type.html


typalign char

typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:

  • c = char alignment, i.e., no alignment needed.

  • s = short alignment (2 bytes on most machines).

  • i = int alignment (4 bytes on most machines).

  • d = double alignment (8 bytes on many machines, but by no means all).

typstorage char

typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are:

  • p (plain): Values must always be stored plain (non-varlena types always use this value).

  • e (external): Values can be stored in a secondary TOAST relation (if relation has one, see pg_class.reltoastrelid).

  • m (main): Values can be compressed and stored inline.

  • x (extended): Values can be compressed and/or moved to a secondary relation.

x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).




CREATE TABLE t (
    e int2    -- 6 bytes of padding after int2
  , a int8
  , f int2    -- 6 bytes of padding after int2
  , b int8
  , g int2    -- 6 bytes of padding after int2
  , c int8
  , h int2    -- 6 bytes of padding after int2
  , d int8)


To save 24 bytes per row, use instead:

CREATE TABLE t (
    a int8
  , b int8
  , c int8
  , d int8
  , e int2
  , f int2
  , g int2
  , h int2)   -- 4 int2 occupy 8 byte (MAXALIGN), no padding at the end

As a rule of thumb, if you put 8-byte columns first, then 4-bytes, 2-bytes and 1-byte columns last you can't go wrong.