rokiroki

rokiroki

Пикабушник
поставил 139 плюсов и 132 минуса
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу самый сохраняемый пост недели
37К рейтинг 453 подписчика 3 подписки 68 постов 28 в горячем

Мелкие полезности

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

И я хотел бы поделиться этим, вдруг кому-то ещё поможет.


Disclamer: заморачиваться с замазыванием этикеток мне лень, поэтому оговорюсь, что на картинках просто примеры, годится любой аналог, эксклюзивов там нет (ну, может кроме WD-40, про него не уверен).


1. Сейчас многие засмеются, но было время, когда я не знал про WD-40 (отъедает ржавчину, помогает смыть жвачку с волос и отмывает пятна от чая со стола). Понятно, что сейчас про него знают все, но всё же упомяну, уж больно полезная штука.

Мелкие полезности Полезное, Для дома, Неожиданно, Длиннопост, Лайфхак

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

Мелкие полезности Полезное, Для дома, Неожиданно, Длиннопост, Лайфхак

3. Раз уж зашла речь о лентах — лента для штор. Жена долгие годы машинкой выстрачивала петельки на шторах, чтобы эти самые шторы повесить. Недавно узнали, что для этого есть спецлента с уже сделанными петельками. Удобно и экономит время.

Мелкие полезности Полезное, Для дома, Неожиданно, Длиннопост, Лайфхак

4. Кстати, об экономии. Соль для посудомоечной машины стоит 300 р. пачка (килограмм или полтора, не помню). Если внимательно прочесть состав (а он аккуратно спрятан среди буковок), то выяснится, что это обычная поваренная соль и ничего более. Нужна для смягчения воды и восстановления ионообменной смолы в посудомойке. Подходит обычная из продуктового, главное не йодированная (будьте внимательны, йодированная отравит смолу!), крупного помола и 99% чистоты. Стоит 15 рублей кг.


А ещё можно самому мешать порошок (отличная статья на тему), я пробовал, большого смысла нет (ну, кроме того, что это забавно), практика показала, что проще покупать адское жидкое средство или подобрать недорогие таблетки.

Мелкие полезности Полезное, Для дома, Неожиданно, Длиннопост, Лайфхак

5. Едкий натр. Отмывает нагар на плите, стеклокерамике и стекле духовки легко и просто.

Из минусов — работать с ним можно только в перчатках и стараться не дышать, совершенно адская вещь. Но зато не надо часами натирать плиту чистящими средствами.

Также работает с кастрюлями и сковородками, в которых что-то сожгли.


Вообще, стоит потратить полчаса на то, чтобы посмотреть на результаты поиска "профессиональная химия", очень познавательно.


А ещё недавно узнал, что в современных плитах стекло духовки легко снимается (нужно открутить буквально пару винтов). Сделано это именно для облегчения мойки (или чтобы в посудомоечную машину засовывать).

Мелкие полезности Полезное, Для дома, Неожиданно, Длиннопост, Лайфхак

Ну и хватит пока.


А какие полезные вещи попадались вам? Наверняка же чем-нибудь пользуетесь и друзьям советуете? Напишите и мне!  : )

Показать полностью 5

Пиф-паф, ой-ой-ой!

Как-то натыкался на хорошую статью о том, что детские игрушки крайне консервативны.

Железная дорога? Значит паровоз. Телефон? До самого недавнего времени (а то и сейчас) — дисковый. И так далее, и тому подобное. Естественно, речь не идёт о всех игрушках, но в значительной степени это так.


Это я к чему. Я как-то с изумлением узнал, что "пиф-паф" — это достаточно точное воспроизведение звука выстрела фитильного ружья (пиф — загорается порох на полке, паф — сам выстрел). Можете сравнить:

P.S. автор видео — нехороший человек и не даёт воспроизводить его иначе как на ютубе.

Вот ссылка: https://www.youtube.com/watch?v=2KTS8PQ06Qo

Когда забота просто убивает

В посте «Маленькие детки, маленькие бедки» я писал про балбесов-детей, которые добавляют пару седых волос родителям, просто потому что режим мама-я-не-подумал включен у них по умолчанию. На то они и дети.


А сегодня я хотел бы написать про адских родителей. Нет, не тех, которые безалаберные и не следят за детьми. Они как раз следят. Очень плотно следят. Очень-очень плотно.


- пойдёшь на улицу, оденься потеплее

- мама, на улице +27°

- тебя продует!


- мама, я после работы зайду к подруге

- нет, сразу домой

- но…

- Я ЖЕ БУДУ ВОЛНОВАТЬСЯ!

- мама, мне 25 лет, я до сих пор не замужем, ты мне регулярно об этом говоришь и как я по твоему должна с кем-то знакомиться?!

- ЭТО НЕПРИЛИЧНО! СРАЗУ ДОМОЙ!


- мы сейчас на такси и из аэропорта вылетаем, там пара пересадок, долетим до места — позвоним

- нет, обязательно отзванивайтесь на каждой пересадке

- там очень плотный график, это будет глубокая ночь, нам будет попросту некогда

- НЕТ! На каждой пересадке!

- зачем?!

- Вдруг с вами что-нибудь случится?!

- и что ты сделаешь?

- НЕВАЖНО! НА! КАЖДОЙ! ПЕРЕСАДКЕ!


потом они становятся бабушками и начинается:

- вы что отпустили ребёнка на улицу одного?

- да, здесь хорошая детская площадка, её видно из окна и она уже достаточно большая

- вы шутите?!

- нет

- да вы… да вы… Вот моя подруга до сих пор с внучкой гулять ходит, а внучке уже 14!

- О_О  >_<  facepalm.jpg


- (бегая от окна к окну) где Танечка, уже поздно?!

- гуляет

- но она ещё ребёнок, а уже поздно!

- она знает, что должна вернуться в 18:00, сейчас без десяти

- ПОЧЕМУ ТЫ СПОКОЙНО СИДИШЬ И НИЧЕГО НЕ ДЕЛАЕШЬ?! УЖЕ ПОЗДНО!

- успокойся. Она сейчас…

- ПОЧЕМУ ТЫ ТАК СПОКОЙНО ГОВОРИШЬ?!

- мама, сейчас 17:55 (звонок в дверь, влетает рекомая Танечка)


Можно сколько угодно говорить, что они же родители (ага, универсальное оправдание), что вот будут свои — тогда поймёшь! (есть. Всё равно не понимаю) и так далее, и тому подобное.


Всё упирается в одно. Пока ребёнок маленький, он полностью зависит от тебя. Ты полностью контролируешь его жизнь. И чем старше он становится, тем больше он отдаляется и тем меньше контроля у тебя остаётся. И единственно правильный путь вырастить взрослого человека, который умеет справляться с трудностями, которые подкинет ему жизнь (а она подкинет, не сомневайтесь) — постепенно давать ребёнку всё больше свободы. Постепенно нагружать его всё большей ответственностью. А это сложно. И страшно. А вдруг с ним что-то случится? А лучше бы поберечься. А лучше бы запретить.


Знаете. Это не забота. Это просто такая разновидность инфантилизма.


P.S. Честно говоря, я просто хотел запостить сюда статью «Горький хлеб маминого сына», которая мне очень близка (хотя меня такое коснулось совсем чуть-чуть и краешком), но её здесь уже выкладывали, поэтому ограничусь ссылкой. А сам просто добавлю, что это не любовь и не забота. Обыкновенный эгоизм, прикрытый благопристойной маской.

Показать полностью

Распахнулись врата адские

Распахнулись врата адские Врата ада, Тег для красоты, Не мое

«...и распахнулись врата адские и вышли из них существа облика жуткого, посмотрели на жизнь нашу... После чего спешно вернулись обратно, закрыли врата, заколотили их намертво, а потом еще и чем-то тяжелым подперли...»

Показать полностью 1

Про сетевые хранилища

Со времён, когда появился Dropbox и последующие его аналоги, меня дико раздражает необходимость синхронизации.

Нет, ну правда, если мне нужна синхронизация, я возьму Syncthing.

Поэтому (и ещё из-за ядра на PHP) OwnCloud у меня на домашнем сервере не прижился.


На работе довольно давно потребовалось какое-то решение, чтобы раздавать контрагентам файлы, причём довольно объёмные, до нескольких гигабайт.

Причём, чтобы были индивидуальные ссылки (а не так, что даёшь одну и 100500 человек потом ей пользуются), чтобы ссылки самоуничтожались по прошествии времени, чтобы пароли. Ну и, разумеется, чтобы пользовательская база в LDAP, не буду же я там пользователей руками заводить при живом-то домене.


Короче, по итогу я поставил SeaFile и все были довольны, пока днями мне случайно не напомнили про старую хотелку "удалённое файловое хранилище, видимое как сетевой диск, не WebDAV (потому что тормозной) и чтобы не пыталось засинхронизироваться мне на диск (но умело это делать)".


Так вот, разработчики SeaFile этот дикий список хотелок реализовали.

Про сетевые хранилища Seafile, Файловое хранилище, Системное администрирование

Заодно оно умеет в версионирование (и скачать, разумеется, можно любую версию, а для текстовых посмотреть — в чём разница) и восстановление удалённых файлов, но кого сейчас этим удивишь?


Можно бы придраться к отсутствию фотогалереи (ну, раз есть мобильный клиент, умеющий копировать туда фото, вроде логично же?), но если честно, я предпочту меньше возможностей, но чтобы разработчики сделали их хорошо.


Хотя, если вам нужен полноценный такой комбайн, NextCloud выглядит неплохо.

Показать полностью 1

Маленькие детки, маленькие бедки

Знакомый рассказывал. У его коллеги дочка студентка, учится в другом городе. Внезапно звонит, говорит: "Мама, я тебя люблю" и кладет трубку.


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


Вспомнилась байка из советских времен. Солдат попросил сослуживца послать за него телеграмму, мол, жив-здоров, подробности письмом. Сослуживец послал следующую телеграмму: "Иванов жив. Подробности письмом. Петров". Мама Иванова в ужасе в часть немедленно приехала.


Мораль: маленькие засранцы могут достать тебя даже когда они уже большие. Вроде бы.

Битвы без чести и жалости

Ну вот и пришло время битв между "Откройте окно, жарко же!" и "Закройте окно, дует же!".

Также ожидаются бои местного значения за Кнопку Кондиционера.

Битвы без чести и жалости Истории из жизни, Байка

Помнится, в одной конторе я, грязно пользуясь служебным положением, обязал держать кондиционер в абонотделе постоянно включенным. И это была победа.


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


А ещё генеральный очень любил теряться из кабинета.


Но стоило включить кондей, как он немедленно материализовывался, отключал кондей и снова терялся. Поэтому через некоторое время я стал использовать пульт от кондиционера, как кнопку призыва. И даже демонстрировал этот трюк знакомым.

Потом убедился, что это работает на всех любителях духоты.


А у вас пульт от кондиционера тоже работает, как кнопка вызова любителей духоты?

А ваши любители духоты тоже не умеют одеваться так, чтобы им было комфортно?

Показать полностью 1

Mikrotik. QoS для дома

Сегодня я хотел бы немного рассказать о приоритетах.
Mikrotik. QoS для дома Mikrotik, Qos, Системное администрирование, Длиннопост

Статья не претендует на охват всей информации по QoS на Mikrotik. Это демонстрация набора правил, позволяющих настроить несложную схему приоритезации трафика и пополнять её по мере необходимости.


Надеюсь, коллеги помогут советами в комментариях.


Говоря о QoS, обычно подразумевают два направления — более или менее равномерное деление канала по количеству пользователей, либо приоритезацию трафика. Направления эти вполне дополняют друг-друга, но для дома, для семьи заниматься делением канала я смысла не вижу и, если вас интересует эта тема, сошлюсь на исчерпывающе раскрывающую тему статью «MikroTik QoS — развенчание мифов».


Я же сосредоточусь на приоретизации трафика, благо это несколько проще.


Ограничение скорости передачи данных может быть выполнено двумя способами:


1. Отбрасываются все пакеты, превышающие лимит скорости передачи (шейпер).

2. Задержка превысивших заданное ограничение скорости передачи пакетов в очереди и отправка их позже, как только появляется такая возможность, т.е. выравнивание скорости передачи (шедулер).

Mikrotik. QoS для дома Mikrotik, Qos, Системное администрирование, Длиннопост

Как видно на иллюстрации, шейпер режет всё, что не влезло, а шедулер просто притормаживает.

Соответственно, именно шедулер нам и нужен.


Теперь необходимо поделить трафик на классы и задать каждому классу свой приоритет. Первый класс обслуживается в первую очередь, последний — в последнюю.


Самый простой вариант такого решения, который зачастую и используется — просто пустить приоритетом VoIP-трафик, а весь остальной по остаточному принципу, но я сделаю чуть сложнее.


Итак, план таков:


prio_1: DNS, ICMP, ACK — в первую очередь идёт служебный трафик. Установка и разрыв соединений, резолвинг имён и т.п.

prio_2: SIP — VoIP очень любит минимальные задержки.

prio_3: SSH и игры — удалённый доступ важен для работы. Игры — для отдыха.

prio_4: RDP и HTTP/HTTPS — веб, видео и т.п.

prio_5: всё, что не опознано выше — в принципе, можно принудительно загнать сюда торренты. Благо дома порты с которых работают клиенты вполне известны.


Маленькое лирическое отступление:

Если мы поищем информацию о QoS в Mikrotik, то найдём несколько вариантов скриптов, начиная от монструозного QOS script by Greg Sowell или явно основанного на нём The Mother of all QoS Trees, заканчивая Traffic Prioritization Script (кстати, советую отнестись к нему с большой осторожностью, автор явно довольно смутно понимает, что делает и поэтому скрипт делает явно не то, что было задумано). У всех этих скриптов есть одна общая проблема — они написаны довольно давно и в значительной степени устарели по одной простой причине — мир изменился.


Сегодня, благодаря всеобщему шифрованию трафика, мы не можем так запросто взять и с помощью L7-regexp отловить трафик youtube, например, или Skype. Поэтому, используя такие скрипты, внимательно отнеситесь к вопросу определения трафика. Это, на мой взгляд, единственная сложность в этом вопросе.


Теперь разметим трафик согласно плана выше. В коде я использую interfaceBandwidth, т.е. ширину канала. У меня он симметричный и равен 100М. Если у вас отличается ширина канала, то необходимо изменить значение interfaceBandwidth на необходимое. Если канал асинхронный, то скрипт будет сложнее за счёт необходимости отдельно маркировать пакеты для входящего и исходящего трафика. Это несложно, но значительно увеличит скрипт, ухудшив его читаемость и, в целом, выходит за рамки статьи.


В address-list я демонстрирую возможность массовой вставки адресов из FQDN (для примера взяты адреса кластеров из wiki Мира Танков). Разумеется, можно просто прописать необходимые IP вручную.

#Set bandwidth of the interface

:local interfaceBandwidth 100M


# address-lists

:for i from=1 to=10 do={/ip firewall address-list add list=WoT address=("login.p"."$i".".worldoftanks.net")}

#

/ip firewall mangle

# prio_1

add chain=prerouting action=mark-packet new-packet-mark=prio_1 protocol=icmp

add chain=prerouting action=mark-packet new-packet-mark=prio_1 protocol=tcp port=53

add chain=prerouting action=mark-packet new-packet-mark=prio_1 protocol=udp port=53

add chain=prerouting action=mark-packet new-packet-mark=prio_1 protocol=tcp tcp-flags=ack packet-size=0-123

# prio_2

add chain=prerouting action=mark-packet new-packet-mark=prio_2 dscp=40

add chain=prerouting action=mark-packet new-packet-mark=prio_2 dscp=46

add chain=prerouting action=mark-packet new-packet-mark=prio_2 protocol=udp port=5060,5061,10000-20000 src-address=192.168.100.110

add chain=prerouting action=mark-packet new-packet-mark=prio_2 protocol=udp port=5060,5061,10000-20000 dst-address=192.168.100.110

# prio_3

add chain=prerouting action=mark-packet new-packet-mark=prio_3 protocol=tcp port=22

add chain=prerouting action=mark-packet new-packet-mark=prio_3 address-list=WoT

# prio_4

add chain=prerouting action=mark-packet new-packet-mark=prio_4 protocol=tcp port=3389

add chain=prerouting action=mark-packet new-packet-mark=prio_4 protocol=tcp port=80,443

# prio_5

add chain=prerouting action=mark-packet new-packet-mark=prio_5

Аккуратно уложим размеченный трафик в очередь:

queue tree add max-limit=$interfaceBandwidth name=QoS_global parent=global priority=1

:for indexA from=1 to=5 do={

/queue tree add \

name=( "prio_" . "$indexA" ) \

parent=QoS_global \

priority=($indexA) \

queue=ethernet-default \

packet-mark=("prio_" . $indexA) \

comment=("Priority " . $indexA . " traffic")

}

И последнее, коль скоро Mikrotik поддерживает WMM, было бы логично разметить трафик и для него.


Делается это тем же mangle-ом с помощью команды set_priority. Согласно wiki Mikrotik'а, таблица приоритетов WMM выглядит довольно причудливо:

1,2 — background

0,3 — best effort

4,5 — video

6,7 — voice.


Разметим приоритеты, используя те же правила, что и для маркировки пакетов:

/ip firewall mangle

# prio_1

add chain=prerouting action=set-priority new-priority=7 protocol=icmp

add chain=prerouting action=set-priority new-priority=7 protocol=tcp port=53

add chain=prerouting action=set-priority new-priority=7 protocol=udp port=53

add chain=prerouting action=set-priority new-priority=7 protocol=tcp tcp-flags=ack packet-size=0-123

# prio_2

add chain=prerouting action=set-priority new-priority=6 dscp=40

add chain=prerouting action=set-priority new-priority=6 dscp=46

add chain=prerouting action=set-priority new-priority=6 protocol=udp port=5060,5061,10000-20000 src-address=192.168.100.110

add chain=prerouting action=set-priority new-priority=6 protocol=udp port=5060,5061,10000-20000 dst-address=192.168.100.110

# prio_3

add chain=prerouting action=set-priority new-priority=5 protocol=tcp port=22

add chain=prerouting action=set-priority new-priority=4 address-list=WoT

# prio_4

add chain=prerouting action=set-priority new-priority=3 protocol=tcp port=3389

В принципе, на этом всё.


В будущем, при необходимости, можно подумать о формировании динамических адресных листов, периодически формируемых из кэша DNS скриптами типа:

:foreach i in=[/ip dns cache all find where (name~"youtube" || name~"facebook" || name~".googlevideo")]

do={:put [/ip dns cache get $i address]}

для отбора онлайнового видео.


Или детектить Skype с помощью поиска upnp-правил:

:foreach i in=[/ip firewall nat find dynamic and comment~"Skype"]

do={:put [/ip firewall nat get $i dst-port]}

Но пока у меня такой необходимости нет.


Скрипты из статьи доступны на GitHub'е. Если у вас что-то не заработало, есть идеи или комментарии — пишите.


Спасибо за внимание!


UPD: В исходной версии поста в скриптах была ошибка (неверно указана цепочка) из-за которой трафик не попадал в очередь. Сейчас она исправлена.


UPD: В тексте скрипта в статье обнаружена ошибка. Прошу использовать версию с GitHub'а.

Показать полностью 1
Отличная работа, все прочитано!