Что взять с собой в дальнюю дорогу на машине? Батарейку!

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

Первый раз такое случилось в Перми (за 2 тысячи километров от дома), когда мы собирались домой в Петербург, но там был магазин в двух шагах, так что всё обошлось. И подумалось мне — а вдруг такое произойдёт на перегоне между Климовском и Омутнинском, например.

Так что мой вам совет: ОБЯЗАТЕЛЬНО берите с собой батарейки от брелка и держите их под рукой.

И, само собой, в дороге надо иметь необходимый минимум:

  • Комплект для замены и/или ремонта колес — домкрат, запасное колесо, балонный ключ, ремкомплект для заделки проколов (необязательно, но рекомендую)
  • Моторное масло — у меня мотор жрёт масло, как не в себя, так что два литра на всякий случай взял. Полностью исправной японской машине хватит литра на доливку. Так что количество литров на ваше усмотрение
  • Тормозная жидкость — баночка тормозухи с собой никогда не повредит. Кстати, когда вы проверяли ее в последний раз?
  • Антифриз (охлаждающая жидкость) — актуально летом, когда на улице 40 градусов жары, а вы стоите в пробке уже четвертый час, потому что через 30 километров впереди произошла авария
  • Батарейка от брелка сигнализации — в прошлый раз при поездке в Одессу из Петербурга я брал с собой второй комплект ключей, надежно спрятанный в сумочке жены рядом с комплектом для выживания, который обычно таскают с собой женщины в своих маленьких, но тяжелых сумках

Про моё путешествие из Петербурга в Пермь и обратно читайте в трёх частях: часть 1, часть 2, часть 3.

P.S. Да, я знаю, что слово «брелок» в родительском падеже правильно писать «брелока», а не «брелка». Но в корне с этим не согласен.

Посетил «Дилижанс» для ТО-3 перед дальней дорогой

Планирую в ближайшее время отправится в дальний вояж по просторам нашей необъятной родины маршрутом Петербург-Вологда-Ярославль-Кострома-Киров-Пермь и обратно. Всего 4 тысячи километров на машине.

Поскольку на одометре натикало 43 тысячи километров за три года, пришло время делать ТО-3 моей машинке.

Как известно, компания SEAT бесславно свалила из России (в третий или четвёртый раз) да и гарантия уже кончилась, поэтому было решено делать ТО-3 в неофициальном сервисе. Одна из таких компаний — «Дилижанс», которую несколько раз хвалили в spb-auto владельцы Ауди, Шкоды и Сеат.

Находится компания на проспекте Елизарова 34 в невзрачном ангаре напротив поликлиники. Внутри все выглядит лучше, чем снаружи. Есть, как и положено, стойка регистрации и комната ожидания с кофейным автоматом и WiFi.

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

Машину надо загонять-выгонять в ангар самому, но, возможно, для блондинок делают исключение. :)

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

Итог: ТО-3 заняло полтора часа и его стоимость составила 12 тысяч с копейками. Замена масла, тормозной жидкости и фильтров. Счёт прилагаю:

Сервисом доволен, остальное покажет поездка.

Использование библиотеки FreeType для растеризации символов

Всем поклонникам OpenSource приложений известна библиотека растеризации шрифтов FreeType. Ее используют практически все графические приложения под GNU/Linux. Попробуем и мы освоить этот несложный навык.

Сперва про используемые типы:

  • FT_Library — представляет собой структуру для иницизации библиотеки
  • FT_Face — шрифт, который загружается при помощи FT_Library
  • FT_Glyph — глиф шрифта, который создается при помощи FT_Face

Таким образом, для отображения символа нам надо создать объект типа FT_Library, затем загрузить шрифт в объект типа FT_Face, после этого рисовать символы при помощи FT_Glyph.

Символ из шрифта можно извлечь двумя способами:

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

Первый способ нам неинтересен, будем использовать сразу второй. Поехали (проверка ошибок убрана для упрощения кода):

#include <ft2build.h>
#include FT_FREETYPE_H
 
int main()
{
    // Библиотека FreeType
    FT_Library library = 0;
 
    // Инициализация библиотеки
    FT_Init_FreeType(&library);
 
    // Шрифт
    FT_Face face = 0;
 
    // Загрузка шрифта
    FT_New_Face(library, "tahoma.ttf", 0, &face);
 
    // Установка размера пикселя
    FT_Set_Pixel_Sizes(face, 24, 12);
 
    // Код символа (юникод)
    const FT_ULong charCode = L'W';
 
    // Загрузка глифа из шрифта с его отрисовкой
    FT_Load_Char(face, charCode, FT_LOAD_RENDER);
 
    // Получение готового к использованию глифа
    FT_GlyphSlot glyph = face->glyph;
 
    // Получение размеров глифа
    const int width = glyph->bitmap.width;
    const int height = glyph->bitmap.rows;
    const int pitch = glyph->bitmap.pitch;
 
    // Вывод символа в консоли
    for (int y = 0; y < height; ++y)
    {
        for (int x = 0; x < width; ++x)
        {
            // Получение прозрачности точки (x, y)
            const int a = glyph->bitmap.buffer[y * pitch + x];
 
            if (a > 127)
            {
                printf("*");
            }
            else
            {
                printf(" ");
            }
        }
        printf("\n");
    }
 
    // Удаление шрифта
    FT_Done_Face(face);
    face = 0;
 
    // Удаление библиотеки
    FT_Done_FreeType(library);
    library = 0;
}

Консоль:

**        ***      ***
 **      ****      **
 **      ****     ***
  **    **  **    **
  **    *   **   ***
   **  **    **  **
   **  *      * ***
    ****      ****
    ***        ***

Отличная работа, но для вывода слова из нескольких букв простого изображения символа недостаточно. Необходимо иметь следующую информацию:

  • положение горизонтальной базовой линии (например, «W» — внизу, «y» — примерно середина высоты)
  • межстрочный интервал (если вы хотите вывести многострочный текст)
  • кернинг (расстояние между различными буквами)

Подробнее об этом в следующей части.

Ресторан компании Lucky Pizza на 2-й красноармейской

Не так давно компания Lucky Pizza открыла свой первый ресторан на 2-й красноармейской, 3. Эта компания известна в Петербурге заказами доставки пиццы по телефону и через интернет.

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

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

В плюсах все остальное: заказали рис с мидиями, пиццу террияки и пиццу с морепродуктами. Все понравилось, все вкусно. Очень приятная атмосфера.

Главное не знание, а умение

P.S. Я понимаю, что ресторан открыли недавно, но дайте больше рекламы! Вывеска с надписью «Кафе» и дверь без обозначений это как-то неспортивно!

Устройство для измерения углов

Приобрел намедни простое в управлении и полезное в быту устройство для измерения углов.
Устройство для измерения углов

Позволяет измерять внутренние углы.
Измерение внутреннего угла

Тут у нас 60 градусов.
Измерение внутреннего угла: результат

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

Через три часа после покупки понял, как измерять внешние углы.
Измерение внешнего угла

Примерно 87.5 градусов.
Измерение внешнего угла: результат

Теперь жизнь заиграла новыми красками, как без него раньше обходился — не понимаю.

У вас есть углы в квартире? Тогда это устройство просто создано для вас.

Блог Евгения Жирнова