Здравствуй, будущее!

(возможно вам захочется прочитать этот пост именно в моём бложике, а не в своём ридере)

2020.03.27 22:18

Превью письма

Сегодня удивительный день. Случайно получилось узнать про всем кроме меня очевидную вещь.

Вы же знаете что всякие там гмаилы когда вы открываете список писем — они показывают вам начало письма сколько влезет до конца.

Оказывается, умные люди придумали как этим пользоваться и как конфигурировать это превью. Представьте, что вы посылаете такое письмо:

<div style="display: none">поздравляем с возможностью прочитать новый пост на этом сайте</div>
<div>Здравствуйте, уважаемый посетитель блога, искренне хочется вас поздравить с возможностью прочитать этот пост!</div>

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

2020.03.23 17:34

Новая версия вордпресса

Запамятовав что запретно окаянный ворпдресс обновлять свершилось сие сомнительное действо.

Оказывается, в этой новой версии потрясающий новый редактор.

Восторг!

#wordpress #vostorg

2020.03.22 05:11

Не забитый лох, а интроверт.

Не хикка, а самоизоляция.

#glubina

2020.03.14 18:51

php.symfony.getCurrentUser()

Д – Дизайн

/**
 * https://github.com/symfony/symfony/blob/5.0/src/Symfony/Component/Security/Core/Authentication/Token/TokenInterface.php#L45-L53
 * Returns a user representation.
 *
 * @return string|object Can be a UserInterface instance, an object implementing a __toString method,
 *                       or the username as a regular string
 *
 * @see AbstractToken::setUser()
 */
public function getUser();

Н – Наслаждение

// Authorized
echo get_class($tokenStorage->getToken()->getUser());
// App\Entity\User

// Anonymous
echo $tokenStorage->getToken()->getUser();
// 'anon.'

О – Очарование

// https://github.com/symfony/symfony/blob/5.0/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php#L361-L377
protected function getUser()
{
    if (!$this->container->has('security.token_storage')) {
        throw new \LogicException('The SecurityBundle is not registered in your application. Try running "composer require symfony/security-bundle".');
    }

    if (null === $token = $this->container->get('security.token_storage')->getToken()) {
        return null;
    }

    if (!\is_object($user = $token->getUser())) {
        // e.g. anonymous authentication
        return null;
    }

    return $user;
}

#php #symfony #vostorg

2020.02.06 19:59

ThinkPad battery management in linux

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

Покупка новой батарейки за 50 евро омрачалась воспоминаниями о том как весело умирала старая батарейка с постоянной бесконечной зарядкой 99%-100%. Смерть весёлая, но бессмысленная.

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

Если ваш ноутбук постоянно подключен к адаптеру, то батарейка не начнет заряжаться пока заряд не упадёт ниже 30% и не будет заряжаться больше чем на 85%. В теории это должно продлить жизнь батарейки.

А если вдруг надо начать заряжать батарейку польностью, то можно менять профили зарядки примерно так:

# /etc/init.d/tpacpi-bat low
# /etc/init.d/tpacpi-bat high

Или отредактировать /etc/conf.d/tpacpi-bat и перезапустить сервис. Или прямо из косноли настроить, кто же вам запретит прямо из консоли настраивать то?

#tp #linux

2020.02.03 22:40

8bitdo n30 wireless mouse

С большим удовольствием попользовавшись прекрасной синезубой игровой мышкой razor orochi 2013 захотелось сделать всё что угодно чтобы никогда не пользоваться этой прекрасной синезубой мышкой. В общем-то не то чтобы всё очень плохо, но заряжать батарейки каждые 2 дня немного надоедает.

Внезапно в интернеты ворвалась мышь 8bitdo n30. Это коллаба 8bitdo (делают забавные геймады!) и Switch & Lever (годный канал!).

И… Выглядит, конечно, восхитительно! И вам искренне советую не покупать эту мышку! Ну, может чтобы купить и перепродать лет через 20 на ебае.

➕ внешний вид
➕ сенсор неплох
➕ это не синий зуб
➕ целых 4 боковых кнопки
➖ она слишком узкая и если вы привыкли класть 3 пальца на мышь — это очень неудобно.
➖ она слишком высокая и впивается в руку
➖ отвратительный сенсорный скролл
➖ странное аппаратное решение с крестовиной
➖ доставка с оригинального сайта заняла дней 50

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

На крестовине по умолчанию 2 функции: горизонтальные кнопки назад/вперед и вертикальные кнопки — page up/page down.

С назад/вперед всё очевидно кроме того что назад — это стрелка влево, то есть дальняя кнопка, при том что нажимать “назад” нужно чаще чем “вперёд”. Мне кажется разумно было бы их инвертировать прямо на заводе. Но логика крестовины не позволяет.

Моя изначальная идея была избавиться от page up/page down кнопок и назначить на одну из них среднюю кнопку. Не то чтобы решение, но что делать.

В реальности же оказалась реальность и в мышке два hid устройства: мышь и клавиатура. Да… и вертикальные стрелки на крестовине — это кнопки клавиатуры. Даа…. То есть среднюю кнопку на них не назначить. Ну или мне пока непонятно как.

Я пока попробую привыкнуть к этой мышке и, если я не начну её продавать на ебае через месяц, в планах у меня на вертикальные стрелки повесить back/forward потому что на клавиатуре есть эти кнопки, а на горизонтальные стрелки повесить mouse3 и одну неиспользуемую какую-нибудь mouse8 или что-нибудь такое.

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

Если у вас есть вопросы по этой мышке или советы какую мышку можно купить вместо этой — пишите в комментариях! Мне очень важны ваши советы! <3 <3 <3

#dnodna

2020.01.05 13:08

Оперативная память в 2к19

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

И вот удивительное: если в 2к14 мне было непонятно зачем на ноутбуке целых 6гб оперативной памяти и что с ней делать в таком объёме, то в 2к19 даже с 8гб ноутбук лучше даже не включать. Хотя ничего не изменилось и каких-то новых удивительных возможностей не добавилось (только хром немношк разжирел).

Удивительный мир!

#vostorg

2019.12.16 15:17

JAVA the world!

https://cwiki.apache.org/confluence/display/solr/SolrPerformanceProblems
This page will attempt to answer questions like the following:
– Why is Solr performance so bad?
– Why does Solr take so long to start up?
– Why is SolrCloud acting like my servers are failing when they are fine?

How much heap space do I need?
The short version: This is one of those questions that has no generic answer. You want a heap that’s large enough so that you don’t have OOME exceptions and problems

#vostorg

2019.12.10 17:02

Драматический роман по следу почтового следа

Жизнь очень трагичная штука когда ты следишь за своей посылкой. Каждый день следишь не было ли вестей о том что происходит в жизни твоей желанной посылки. Трагичное ожидание неожиданного.

2019-11-20 09:53 Zhuzhou City, Zhuzhou International has received, pitcher: Changsha International
2019-11-20 23:19 Zhuzhou City, leaving Zhuzhou International, next stop Changsha International
2019-11-24 17:15 Beijing, Beijing Post International has been exported directly sealed
2019-11-26 10:42 Zhengzhou, delivered to air transport
2019-11-26 10:42 Zhengzhou, delivered to air transport
2019-11-27 06:00 Zhengzhou, Airlines
2019-12-03 06:18 Zhengzhou, delivered to air transport

Я ЖДУ ТЕБЯ ЖДУ ПОКИНЬ ЭТОТ УЖАСНЫЙ ЗХЕНГЗХОУ ПОЖАЛУЙСТА!!!!!!!!!!!!!

2019.12.05 01:23

M – Motivation

And just remember no one will ever be able to hate you more than you already hate yourself

#vostorg #audio #video

2019.11.13 21:07

А ты поклоняешься Зверю?

Жить сегодня крайне тяжело — такой большой выбор религий. Конечно же я не отклоняюсь от величайшего учения Дао-Какао, но нельзя избежать сомнений.

Но вот в википедии написано что я поклоняюсь Зверю :(.

https://en.wikipedia.org/wiki/Editor_war
The Church of Emacs, formed by Emacs and the GNU Project’s creator Richard Stallman, is a parody religion. While it refers to vi as the “editor of the beast” (vi-vi-vi being 6-6-6 in Roman numerals), it does not oppose the use of vi; rather, it calls proprietary software anathema. (“Using a free version of vi is not a sin but a penance.”)

С одной стороны мне хотелось бы узнать что по поводу поклонения Зверю сказано в великом учении Дао-Какао и что по этому поводу думает лично Шри Япутра, но очень страшно познать ответ посохом.

#vim

2019.10.31 14:31

php + json-schema

Я, конечно, понимаю что уже поздновато размораживаться, но, оказывается, существует волшебная штука json-schema которой можно валидироавть структуру json’а.

Но особенно прекрасно то что оно сущетсвует для php и что ещё более прекрасно — в php оно проверяет не json, а обычный \stdClass.

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

И оно даже соберет все ошибки, укажет в чем проблема и даст вам путь к неправильному элементу.

  1. https://mamchenkov.net/wordpress/2017/03/11/validating-json-against-schema-in-php/
  2. https://github.com/justinrainbow/json-schema
  3. http://json-schema.org/understanding-json-schema/

#php #json #vostorg

2019.10.16 16:58

alsa + pulseaudio

Кстати, прошлое решение проблемы нескольких источников звука в сабже отгнило.

Теперь нужно добавить в ~/.asoundrc следущее:

% cat ~/.asoundrc

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Пользуясь случаем хочу послать лучи благодарности генте которая оберегает меня от systemd. Не знаю сколько ещё получится держаться, но если не gentoo то только funtoo.

#linux #alsa

2019.10.02 02:45