Как сломать трапецию дворников SEAT Altea Freetrack

Отвечаю: элементарно и очень дорого! Если вам зачем-то нужно сломать трапецию дворника на SEAT Altea Freetrack, то повторяйте за мной. Алгоритм простой:

  1. Глушим машину.
  2. Дёргаем ручку дворников справа от руля — это переводит дворники в сервисный режим.
  3. Поднимаем дворники от стекла как бы для замены резинок.
  4. Дёргаем ручку дворников ещё раз.
  5. Дворники пытаются подняться обратно и ломают трапецию к херам.
  6. ???
  7. PROFIT!

Понятия не имею — зачем вам понадобится заниматься подобной ерундой. Теперь о ценах:

  • Новый моторчик в комплекте с трапецией стоит от 11-ти до 14-ти тысяч рублей с доставкой в течение 30-ти дней
  • Бывший в употреблении моторчик стоит семь тысяч
  • Работа по снятию моторчика стоит 1500 рублей
  • Работа по установке 2200 рублей
  • Сварка аргоном сломанной трапеции стоит от одной до двух тысяч рублей

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

Как съездить в Финляндию бесплатно туда и обратно?

На халяву и уксус сладкий, и хлорка - творожок

Отвечаю сразу и всем: совсем бесплатно — никак. Только если супруг состоятельный. Но за 500 ₽ или за 50 € вполне возможно.

Туристическая компания СканТур и супермаркет LIDL в Финляндии, что в Лаапаенранте, предлагает бесплатные автобусные туры заграницу из Петербурга прямо в иностранный магазин. Условие такое: или покупаешь на сумму не менее 50 евро или платишь за поездку 500 рублей. Но чеки никто не проверяют — настоящему джентельмену верят на слово. Автобус вполне комфортный, туристического вида.

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

В Финляндию всегда ездил на машине. У машины есть свои недостатки. Например, трезвый водитель (а это как раз таки я) и очереди на таможне. С другой стороны, в машине ни от кого не зависишь. Не нравится пассажир — высадил его на хрен или прямо в России, или в Финляндии. Пусть делает что хочет. Ещё один плюс машины — можно взять с собой электрический чайник и напиваться чаем и кофе, ещё можно лапши заварить или картошки растворимой. В автобусе горячий кипяток отсутствует, зато можно поспать, чего водитель в машине лишён.

Автобус отправляется в восемь утра от гостиницы «Октябрьская», что недалеко от площади Восстания и Московского вокзала. Обратно приходит туда же в восемь вечера, делая промежуточную остановку недалеко от станции метро «Старая деревня». Автобус едет очень аккуратно, поэтому дорога из Санкт-Петербурга до границы с Финляндией занимает два с половиной часа, обратно тоже два с половиной часа. Итого пять часов тратится только на дорогу.

Записаться надо заранее на сайте (ссылка выше), где вы указывает свой номер заграничного паспорта и кредитной карты мобильного телефона. За день до поездки приходит СМС сообщение с номером автобуса и телефоном гида. В ответ на это СМС надо отправить слово «ДА» и подписаться на рассылку. На моё слово «ДА» телефон упорно отвечал, что доставка не прошла, пришлось звонить гиду. Гид был в курсе проблемы и просто спросил фамилию и имя.

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

В нашей поездке, насколько я понял, пара человек прогуляла, поэтому водитель подождал десять минут и уехал без них в 8:10.

Отдельно хотелось бы сказать спасибо гиду Владимиру за моральную выдержку и стальные нервы. На Вашем месте я бы точно кого-нибудь треснул или обложил матом. Как это замечательно, что я работаю с программистами и дизайнерами, а не людьми.

Добавляем Social Likes Next на сайт с WordPress

В прошлой заметке я рассказывал как добавить Social Likes на сайт с WordPress, с тех пор прошло много времени и появилась новая версия Social Likes под названием Social Likes Next. Отличается от предыдущей тем, что иконки теперь в SVG формате и для работы не требуется загрузка jQuery.

Шаг первый (скачиваем скрипт и файл стилей)

Скачиваем social-likes.min.js, например отсюда или отсюда в папку js вашей темы.

Скачиваем social-likes_flag.css, например отсюда или отсюда в папку css вашей темы.

Шаг второй (подключаем файл стилей и скрипт)

В файле functions.php вашей темы вставляем следующие строки

function b2k_enqueue_js_and_css() {
    wp_register_script(
        'social-likes',
        get_stylesheet_directory_uri() . 'js/social-likes.min.js',
        array(),
        false,
        true);

    wp_enqueue_script('social-likes');

    wp_register_style(
        'social-likes',
        get_stylesheet_directory_uri() . 'css/social-likes_flat.css');

    wp_enqueue_style('social-likes');
}

add_action('wp_enqueue_scripts', 'b2k_enqueue_js_and_css');

Шаг третий (добавляем кнопки в конце каждого поста)

Вставляем данный скрипт в functions.php

function b2k_social_likes($content='') {
    global $post;

    $buttons = array();
    $buttons['vk'] = '<div data-service="vkontakte" title="Поделиться ВКонтакте"></div>';
    $buttons['fb'] = '<div data-service="facebook" title="Поделиться в Facebook"></div>';
    $buttons['twitter'] = '<div data-service="twitter" title="Поделиться в Twitter"></div>';
    $buttons['plusone'] = '<div data-service="plusone" title="Поделиться в Google+"></div>';
    $buttons['ok'] = '<div data-service="odnoklassniki" title="Поделиться в Одноклассниках"></div>';
    $buttons['telegram'] = '<div data-service="telegram" title="Поделиться в Telegram"></div>';
    $buttons['linkedin'] = '<div data-service="linkedin" title="Поделиться в LinkeIn"></div>';
    $buttons = implode('', $buttons);

    $tags = array();
    $tags['class'] = 'class="social-likes"';
    $tags['data-title'] = 'data-title="' . $post->post_title . '"';
    $tags['data-url'] = 'data-url="' . get_permalink($post->ID) . '"';
    $tags = implode(' ', $tags);

    $main = '<div ' . $tags . '>';
    $main .= $buttons;
    $main .= '</div>';

    $content .= $main;

    return $content;
}
add_filter('the_content', 'b2k_social_likes');

Шаг четвертый (добавляем отслеживание Google Analytics)

jQuery(window).load(function() {
    jQuery('.social-likes__icon').css('pointer-events', 'none');
    jQuery('.social-likes__widget').click(function(e) {
        var service = jQuery(e.target).attr('data-service');
        var parent = jQuery(e.target).parent();
        var url = parent.attr('data-url');
        var title = parent.attr('data-title');
        gtag('event', 'share', {
            'service' : service,
            'location' : url,
            'title' : title
        });
    });
});

Если вам интересна данная заметка, жмите любую кнопку снизу страницы, ставьте лайк, меня зовут Евгений, пока!

SEO сайта, аудит, контент, копирайтеры, реклама

Как может заметить внимательный читатель, на этом сайте совершенно нет рекламы и я не клянчу денег с посетителей, как последний голодранец, с помощью баннеров и прочей ерунды. К чему это я вообще? Да просто так, надо же с чего-то заметку начинать да и похвастаться опять же…

Сегодня, в меру своих сил и возможностей, расскажу про оптимизацию своего сайта для поисковых систем. Какими сайтами для проверки пользуюсь, что подправить в functions.php вашей темы, чтобы запись нормально смотрелась при репостинге в социальных сетях типа ВКонтакте и Facebook. Заодно поделюсь плагинами для ускорения работы сайта.

Плагины для WordPress

Начну с конца — плагины для WordPress. Их у меня установлено несколько: WP Super Cache, Autoptimize, Async JavaScript и EWWW Image Optimizer.

WP Super Cache

Плагин для кеширования страниц вашего сайта. Дело в том, что каждая страница в WordPress создается динамически при любом обращении. Динамическая страница каждый раз генерируется налету и лезет в базу данных. Этот плагин сохраняет сгенерированную страницу в кеш и отдаёт пользователю простой статический html файл, что экономит ресурсы сервера.

Ссылка для скачивания и установки: WP Super Cache.

Autoptimize

Простой и удобный плагин для объединения и минификации файлов JavaScript и стилей. В каждой вашей странице используется множество JavaScript и CSS файлов — от плагинов и темы. С помощью этого плагина (в идеале) у вас подключается всего два файла: один JavaScript и один CSS.

Ссылка для скачивания и установки: Autoptimize.

Async JavaScript

Плагин для выставления флажка defer для всех JavaScript файлов. В обычном случае браузер разбирает эти файлы последовательно, по мере обнаружения их в HTML коде. С этим флажком браузер откладывает парсинг файлов и занимается этим паралельно с загрузкой страницы.

Ссылка для скачивания и установки: Async JavaScript.

EWWW Image Optimizer

Плагин пережимает картинки без потери качества. Поддерживает форматы JPEG и PNG. Есть функция создания файлов типа WEBP, который браузер незаметно отдает вместо запрашиваемых для экономии трафика. Посетитель, что любопытно, не замечает подмены даже если попробует этот файл сохранить. Как это работает — понятия не имею, скорее всего замешано какое-то колдунство.

Ссылка для скачивания и установки: EWWW Image Optimizer.

Исправления functions.php вашей темы

В каждой теме WordPress есть файл functions.php, где происходит настройка темы и прочий тюнинг. Правильный подход для настройки своей темы — это написать свою с нуля или создать дочернюю и менять всё в ней, а по-хорошему создайте свой мини-плагин, где добавляйте всё это барахло, чтобы никак не зависеть от темы.

В этом файле у меня сделано добавление meta тегов для помощи поисковым системам и социальным сетям плюс небольшие вспомогательные фрагменты.

Мета-теги og:type, og: description, og:image, og:title

Добавление мета-тегов og:title, og:description, og:type, og:url, og:locale, og:image и description к посту. В качестве og:description и description берётся первые 55 слов из вашего поста. Эти теги помогают социальным сетям создавать предпросмотр страницы, если вы решите ею поделиться.

Исходный код

function b2k_og_meta() {
    if (!is_singular()) {
        return;
    }

    global $post;
    $description = esc_attr(wp_trim_words($post->post_content, 55));

    $tags = array();
    $tags['og:title'] = '<meta property="og:title" content="'.get_the_title().'"/>';
    $tags['og:description'] = '<meta property="og:description" content="'.$description.'"/>';
    $tags['og:type'] = '<meta property="og:type" content="article"/>';
    $tags['og:url'] = '<meta property="og:url" content="'.get_the_permalink().'"/>';
    $tags['og:locale'] = '<meta property="og:locale" content="'.get_locale().'"/>';
    $tags['description'] = '<meta property="description" content="'.$description.'"/>';

     $images = get_posts(array(
        'post_status'    => null,
        'post_type'      => 'attachment',
        'post_parent'    => get_the_ID(),
        'post_mime_type' => 'image',
        'order'          => 'ASC'
    ));

    if ($images) {
        foreach ($images as $img) {
            $url = wp_get_attachment_url($img->ID);
            $tags[$url] = '<meta property="og:image" content="'.$url.'"/>';
        }
    }

    echo implode("\n", $tags);
}
add_action('wp_head', 'b2k_og_meta');

Автоматический переход на страницу при поиске

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

Исходный код

function b2k_redirect_single_post() {
    if (is_search()) {
        global $wp_query;
        if ($wp_query->post_count == 1) {
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
            die;
        }
    }
}
add_action('template_redirect', 'b2k_redirect_single_post');

Добавление ссылок на следующую страницу и предыдущую

К каждой странице вашего блога при возможности добавляются мета-теги prev и next, которые используются браузером для загрузки этих страниц, чтобы в дальнейшем переход на них происходил быстрее.

Исходный код

function b2k_rel_next_prev() {
    global $paged;

    if ( get_previous_posts_link() ) { ?>
        <link rel='prev' href='<?php echo get_pagenum_link( $paged - 1 ); ?>' /><?php
    }
    else if (is_singular()) {
        $prev_post = get_previous_post(true);
        if (!empty($prev_post)) { ?>
            <link rel='prev' href='<?php echo get_permalink($prev_post->ID); ?>' /> <?php
        }
    }

    if (get_next_posts_link()) { ?>
        <link rel='next' href='<?php echo get_pagenum_link( $paged +1 ); ?>' /><?php
    }
    else if (is_singular()) {
        $next_post = get_next_post(true);
        if (!empty($next_post)) { ?>
            <link rel='next' href='<?php echo get_permalink($next_post->ID); ?>' /> <?php
        }
    }
}
add_action('wp_head', 'b2k_rel_next_prev');

Отключение страниц автора

Яндекс.Робот гораздо глупее робота от Гугла, поэтому в первую очередь он умудрился найти страницы вида https://адрес.сайта/что-то-там/evgenii.zhirnov/. Чтобы этого больше не происходило, страницы такого типа отключаются вот этим кодом.

Исходный код

function b2k_disable_author_page() {
    if (is_author() && !is_404()) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
    }
}
add_action('template_redirect', 'b2k_disable_author_page');

Открывать все ссылки в новом окне

Не знаю, как вы, а я привык, чтобы все ссылки открывались в новом окне, поэтому обычно открываю их кликом средней кнопки мыши. Данный скрипт добавляет атрибут target="_blank" всем ссылкам на сайте.

Исходный код

function b2k_target_blank($content) {
    $content = preg_replace_callback(
        '/<a[^>]*href=["|\']([^"|\']*)["|\'][^>]*>([^<]*)<\/a>/i',

        function($m) {
            $url = $m[1];
            $desc = $m[2];
            return '<a href="'.$url.'" target="_blank" rel="noopener">'.$desc.'</a>';
        },
        $content);

    return $content;
}
add_filter('the_content', 'b2k_target_blank');

Полезные ссылки

CY-PR.com

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

Ссылка: CY-PR.com.

Reflex grid

С помощью reflex.css сделана тема на моём сайте, так что упомяну из благодарности. Это всего лишь файл стиля, который разбивает сайт на 12 виртуальных колонок. К примеру, центральная часть моей темы занимает 9 колонок на широком экране, правая часть — 3 колонки. При низком разрешении экрана, обе части занимают 12 колонок, на всю ширину экрана.

Ссылка на документацию: Reflex grid.

Постскриптум

А на сегодня всё. Если у вас есть вопросы — не стесняйтесь спрашивать в комментариях, которые я наконец-то привёл в более-менее человеческий вид после смены темы.

За семь лет ковыряния своего блога немного стал разбираться в PHP, HTML, CSS и JavaScript. На самом деле, это несложно — попробуйте и всё у вас получится.

Пару слов про моделизм на три страницы

Последний раз писал про моделизм, когда загрунтовал два танка из балончика серой грунтовкой Tamiya и успокоился — кисточек нет, красок нет руки из жопы. Отложил всё в сторонку и забыл.

Модель Т-34 после грунтовки

Потом в больнице собрал колёсный танк БТ от безделья:

Модель колесного танка БТ-7 в масштабе 1:35

Затем в санатории склеил ракетную установку Тополь-М:

Модель Тополь-М в масштабе 1:35

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

Долго ли, коротко ли, а красить надо начинать. У родни позаимствовал кисточек и маленьких баночек с красками от наборов «роспись картин по номерам». Затем взял твёрдой рукой танк Т-34 и всё испортил и намалевал на нём что-то несуразное.

Модель Т-34 (корпус) в масштабе 1:35

Будь художником, сказал бы: «Я так вижу» и «Художника обидеть может каждый», поставил бы этот «шедевр» на полку и забыл. Но я не художник и меня хрен обидишь. Поэтому пошёл на поклон к нашим дизайнерам-художникам и упав на колени ненавязчиво поинтересовался — как вообще красить это дело, может секрет какой есть? Для примера, они красят вот так:

Модель космодесантника

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

После такой информации метнулся резвым кабанчиком в магазин и прикупил кисточек синтетических и специальных акриловых красок от фирмы Tamiya. В принципе, их можно не разводить, а красить сразу. Что я и сделал. Получилось лучше, но до идеала очень далеко.

Модель Тигра и Т-34 в масштабе 1:35

Извините за качество съёмки, руки дрожали от волнения и стакана вина.

В видео-уроках встречал такую тему, как легенда для модели. Например, танк подорвался на мине, поэтому два катка у него заменены с обрезиненных на полностью металлические и покраска соответствующая легенде. У моего танка тоже есть легенда: два пьяных маляра ночью покрасили танк и их за это расстреляли, а потом отправили в ГУЛАГ. Суровые времена были, что поделать.

Недавно узнал, что краски хорошо разводить водкой, а кисточки лучше из натуральных материалов. Прикупил водки и кисточек из белки. «Водка и белка» — как символично. Заодно лак взял глянцевый и покрасил танк ещё в пару слоёв разведенной краской и беличьей кистью. Затем закрасил прозрачным лаком. Правильные пацаны для покраски кистью разводят краску сразу с водкой и глянцевым лаком.

Получилось вот так:

Модель Т-34 в масштабе 1:35

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

Следующий этап — высветление и затенение масляными красками, смешанных с уайт-спиритом. Если окна не открывать в этот момент, то бесплатно мультики покажут.

Какие выводы по покраске кистью сделал:

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

Подводя итоги, могу сказать следующее: самообучение моделизму проходит с переменным успехом и лучше уметь делать что-то плохо, чем не уметь совсем. А ещё, оказывается, я очень терпеливый тип.

Личный блог Евгения Жирнова