Bloodred Hourglass - Frames

10:59 Рубрика: Видео

Bloodred Hourglass - Oceans On Fire

10:58 Рубрика: Видео

Fearful faces stranded hearts
Between birth and death we all fall

Heartaches, fatal words
Cares of the waking world
Come to terms with our days and scars
As decorations

Final heartbeats giving in
Lose the battle to flatline
In my sweet end of the world
My sweet end of the world

On a day when the thoughts can be found
In a stone and six feet down the ground
Your world will bleed out of blessings
Breathe in my sweet end of the world


Are we planning to die tonight
Drift nothing learned
Where the oceans burn
Are we planning to live the night
Or paint the skies
With the ashes of the world

Burn oh my sweet end of the world
The revelation of desire and the final flame out
Fade out

Are we planning to die tonight
Drift nothing learned
Where the oceans burn
Are we planning to live the night
Or paint the skies
With the ashes of the world

If you're planning to die tonight
We'll hold the skies for a while

Die tonight
Never learn
Live the night
End of the world
If you're planning to die tonight
Don't bloody wait me
You'll bring us a world

To breathe
Drift with nothing learned
Live through the night
Grey the skies of the world

Are we planning to die tonight
Drift with nothing learned
Planning to live the night
Grey the skies of the world
Oceans on fire
Will freeze on the day
We drift to silence in safe

Далее

How to upate Home Assistant Core?

21:35 Рубрика: Умный дом

Here are the steps to update HA in a venv (old but I think they are still valid):

$ sudo systemctl stop home-assistant@homeassistant.service 
$ sudo su -s /bin/bash homeassistant
$ source /srv/homeassistant/bin/activate
$ pip3 install --upgrade homeassistant
$ deactivate
$ sudo systemctl start home-assistant@homeassistant.service

If necessary change the user “homeassistant” in the second line to whatever user you used to install HA.

(c)

Is there a way to downgrade Andrdoid System WebView?

21:33 Рубрика: Android

Please find my steps to downgrade Webview here

Step1: Uninstall update for Android Webview

Step2: download an older version from the given link, https://android-system-webview.en.uptodown.com/android/versions

Step 3: adb connect IP-OF-device

Step 4: adb remount

Step 5: adb push android-system-webview.apk /system

Step 6: adb shell pm install -r -d /system/android-system-webview.apk

(c)

Bloodred Hourglass - Perdition

23:07 Рубрика: Видео

Bloodred Hourglass -Valkyrie

22:52 Рубрика: Видео

Amorphis - Dark Path

00:36 Рубрика: Видео

In the twilight when he steps forth
In the bend of the dark path
When he catches up with you
You won’t know if he’s on your side
Or if he will turn against you

And in the dead of a moonless night
As your path turns into the black
You become one with the darkness
And in the dead of a moonless night
Who knows if you are brothers
Or if you will turn against each other


And it the dusk when he finds you
Hidden in the shadows
He must judge your allegiance
He won’t know if you’re on his side
Or if you will turn against him

And in the dead of a moonless night
As your path turns into the black
You become one with the darkness
And in the dead of a moonless night
Who knows if you are brothers
Or if you will turn against each other
Далее

Tray icon under Mate Desktop on Linux has irrelevant appearance and doesn't handle mouse events properly

22:43 Рубрика: Linux

I found a great workaround:

dbus-launch someQtApp someAppOptions

It works completely OK under Mate. The icon displays the images properly and mouse clicks are handled as they should.

Thanks to http://askubuntu.com/questions/732967/dropbox-icon-is-not-working-xubuntu-14-04-lts-64 .

This workaround works for Telegram Desktop and for caja-dropbox (caja-dropbox is the Dropbox for Mate). For Dropbox, its additional setting is required to not autostart it on system startup: uncheck that in Dropbox Preferences.

(c)

https://radiooooo.com/

02:27 Рубрика: Всячина

https://radiooooo.com/

15 базовых советов по Git для эффективной работы каждый день

02:23 Рубрика: Linux

(с) Эта заметка — попытка объяснить те базовые настройки и приёмы, которыми я пользуюсь каждый день. Рецепты не претендуют быть ноу-хау, но могут помочь с освоением ежедневной гигиены работы с репозиторием.

1. Используй свежее

 

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

 

> git --version
git version 2.27.0

 

2. Настрой инструмент

 

Настройте себе публичный email не аффилированный с текущей компанией. Это позволит вам тонко настраивать идентификацию под разные репозитории и не задумываться о настройках по умолчанию, а GitHub будет показывать вашу активность, даже если вы смените место работы.

 

> git config --global user.email "gurugray@yandex.ru"

> cd company_project
> git config user.email "gurugray@manychat.com"

 

Если вы не пользуетесь консолью и vim'ом для редактирования, то вам стоит настроить и ваш редактор:

 

> git config --global core.editor "code --wait"

 

3. Настрой autocomplete

 

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

 

Git из коробки предоставляет набор скриптов для автокомплита, но если ваш shell, как у меня, более экзотичен — найдите и поставьте автокомплит именно для него.

 

4. Ускоряй часто используемое

 

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

 

Я перешёл на Git с SVN, потому для меня базовые псевдонимы перекочевали оттуда, а "b" — единственный однобуквенный псевдоним.

 

> git config --global alias.st "status -sb"
> git config --global alias.co "checkout"
> git config --global alias.ci "commit -a"
> git config --global alias.b "branch"

 

5. Обзорность помогает решать проблемы

 

Я часто работаю с историей проекта — нужно понять, что и когда влилось, и какие состояния проекта этому предшествовали. Часто важно знать последовательность комитов и топологию дерева истории. Git из коробки помогает показать дерево истории проекта:

 

> git log --oneline --graph --branches

 

Но для полноты картины хочется видеть и авторов, и даты и в удобной расцветке, потому мой псевдоним выглядит не так дружелюбно с параметром --pretty=format::

 

> git log --graph --date=short --branches --pretty=format:'%C(yellow)%h%C(reset) %ad | %C(75)%s%C(reset) %C(yellow)%d%C(reset) [%an]'

 

6. Следуй протоколу

 

Всегда клонируйте репозиторий, в который вносите правки по git+ssh протоколу, это работает быстрее чем по http и сэкономит время в процессе работы:

 

> git clone git@github.com:gurugray/gurugray

 

7. Разделяй источники

 

Если вы работаете с репозиториями по «форковой» модели (когда к основному репозиторию есть доступ только на чтение, а все pull-request'ы подаются из форка) называйте основной репозиторий upstream это поможет не путаться в командах отведения веток и push'а в свой origin. Не забывайте про протокол, если репозиторий открыт только для чтения, то его можно клонировать без ssh-слоя, что тоже даст экономию времени в процессе работы:

 

> git clone git://github.com/gurugray/gurugray -o upstream

 

8. Контролируй процесс

 

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

 

> git fetch --all
> git rebase my_feature upstream/master

 

9. Не вводи себя в заблуждение

 

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

 

> git fetch --all
> git checkout -b my_feature upstream/master

> git branch -D master

 

10. Не бойся исправлять

 

Если вы следите за чистотой истории и хотите исправить состояние проекта зафиксированное несколько комитов назад, то достаточно закомититься с параметром --fixup= и передать нужный хэш комита для последующего причёсывания истории

 

> git commit -m "Feature A is done"
> ...
> git commit -m "Feature B is done"
> git commit --fixup=fe2f857

 

> git log --oneline
a5050e7 fixup! Feature A is done
633e33f Feature B is done
...
fe2f857 Feature A is done
cb5db88 Previous commit

 

11. Не бойся быстро исправлять

 

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

 

> git config --global alias.fixlast "commit --all --amend --no-edit"

 

12. Перебазируй

 

Научитесь и пользуйтесь командой rebase в интерактивном режиме и с параметром --autosquash с которым использование --fixup будет ещё более удобным, а сам ребейз помогает причёсывать историю и аккуратно оформить комиты, например по принятым у вас guidline'ам, до подачи pull-request'а для успешного его принятия.

 

> git rebase -i --autosquash cb5db88
pick fe2f857 Feature A is done
fixup a5050e7 fixup! Feature A is done
pick 733e2ff Feature B is done

 

> git log --oneline
633e33f Feature B is done
...
5778cbb Feature A is done
cb5db88 Previous commit

 

13. Сбрасывай ненужное

 

Научитесь и пользуйтесь командой reset она позволит легко манипулировать локальной историей и состоянием, например после череды правок и комитов на код-ревью «схлопнуть» последние ненужные состояния проще с её помощью:

 

> git reset @~4
> git commit --all

 

14. Контролируй деструктивный push

 

Если вы хотите запушить изменённую историю, советую использовать полный синаксис команды и не использовать ключ --force -f, это позволит не привыкать к настройкам по умолчанию и не приведёт к случайным перетираниям истории на сервере:

 

> git push origin +feature

 

15. Помни про летописца

 

Не забывайте про reflog эта команда поможет разобраться с проблемами в локальном репозитории если что-то пошло не так — спасательный круг для новичков, к которому они редко подходят:

 

> git reflog
> ...
> git reset --hard FOUND_HASH

 

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

 

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

отсюда

Далее