Дора
Я очень не люблю тренд на достигаторство, мне кажется, мы слишком в него заигрались. Я сужу об этом по количеству депрессий и предновогодних выгораний среди моих друзей и знакомых. Мне кажется, что подведение итогов перед Новым годом — это продолжение этого тренда, получение публичного одобрения достигнутому за год. Будем больше достигать, чтобы получать больше одобрения.
Поэтому несколько лет назад я придумал делать перед Новым годом нечто совсем противоположное — показывать свои небольшие недостатки или провалы. Ничего скандального, просто
Сегодня на арене моё постыдное удовольствие.
Мои музыкальные вкусы достаточно разнообразны, но я стараюсь держаться в рамках хорошего вкуса. Это не требует
Иногда, после дня в офисе, когда я еду в такси, мне совсем тяжело и мозгу хочется расслабиться, я ставлю
UnSnow 2
Полтора десятилетия назад я написал скрипт «UnSnow», выключающий снежинки, которыми иногда украшают сайты. Мне очень нравится Новый год и новогодняя движуха, но эти снежинки частенько раздражают, тем более, что их нередко делают крупными и навязчивыми.
За столько лет способы, которыми фронтендеры добавляют на сайт снежинки, сильно изменились, поэтому прежний скрипт перестал работать, но снежинки никуда не делись. Так как за эти годы никто не поднял упавшее знамя борьбы с визуальным безумием, придётся мне.
Новая версия скрипта можем замедлять некоторые сайты, зато, кажется, справляется с любыми случаями падения вкуса. В браузер скрипт можно установить при помощи плагина Tampermonkey или любого другого, умеющего выполнять UserScript.
// ==UserScript==
// @name UnSnow
// @author Evgeny Stepanischev aka Bolk
// @version 2024-12-31
// @namespace /files/unsnow2.js
// @description Turn off stupid snow
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
if (window.location.hostname === 'aliexpress.ru') {
return;
}
Array.from(document.querySelectorAll('*')).forEach(e => {
for (let a of e.attributes) {
if (/(?<!un)snow/i.test(a.name + a.value)) {
e.style = 'visibility:hidden;position:absolute;margin-left:-10000px;' +
'display:none;transform:translateX(-100vw);opacity:0';
}
}
});
})();