to post messages and comments.

As a human being, you're multithreaded. You can type with multiple fingers, you can drive and hold a conversation at the same time. The only blocking function we have to deal with is sneezing, where all current activity must be suspended for the duration of the sneeze. That's pretty annoying, especially when you're driving and trying to hold a conversation. You don't want to write code that's sneezy.

@vt залил две ветки с мелкими правками, посмотришь? И такой вопрос, может лучше List<Tag> заменить Set<Tag>? И надо подумать по поводу ArrayList-ов, они неплохо могут тормозить систему.

После #2884467 меня окончательно достал SourceTree, и я поставил GitKraken.
После недели использования:

Что понравилось:
* Сделано для людей.
* Не пугает диалогами с выхлопом консоли.
* Drag'n'drop — в т.ч. легко управлять ветками не переключаясь между ними.
* Squash называется squash.
* Показывает stash'и в дереве.
* Автоматически делает и применяет stash когда нужно.
* Встроенный юзабельный 3-way merge для разрешения конфликтов.
* Можно добавлять в staged изменения построчно. Чуть менее удобно, чем в GitHub Desktop, но всё же.
* Не пушит теги без спросу.
* Интеграция с GitHub и BitBucket.
* Активные блог разработчика и канал на ютубе.

К чему можно придраться:
* TreeView модифицированных файлов свёрнут по умолчанию, что нивелирует его удобство и приходится использовать обычный FullPath.
* Дерево более гнутое, чем могло бы быть — часто изгибает более значительную ветку, отдавая приоритет менее значительной или stash'у. (Похоже, это проявляется на старых ветках, а то, что сделано уже в самом GitKraken — отображается нормально. Странно.)
* Auto-Fetch это хорошо, но было бы неплохо ещё отображать как-то, что он выполняется успешно или же нужно взаимодействие с пользователем (ввести пароль от ssh ключа).
* Сворачивание меток бранчей в дереве коммитов. Если моя ветка и мастер совпадают, то я не могу найти мастер визуально. (Я знаю где он находится или могу выбрать его в левой колонке, просто мелкий раздражающий фактор.)
* Любимый всеми Electron — 300+ МБ оперативной памяти.

Отправил несколько фидбэков — есть удобная форма для этого в программе. Но без платной подписки они могут и в dev/null отправляться, кто знает. Можно было бы, конечно, попробовать Pro Trial активировать и повторить... Ну или в slack заглянуть.

Общее впечатление:
В целом сейчас это лучший из GUI клиентов git под Windows. Заменит мне и GitHub Desktop и SourceTree. Можно рекомендовать всем, в т.ч. хорошим людям™, если Electron и "Free for non-commercial use" не напрягают.

SourceTree — самый фичастый гуй для систем контроля версий под Windows.
Но одна деталь просто вымораживает.
Он внезапно начал достаточно часто обновляться. При этом каждое обновление требует авторизации зачем-то. При этом форма логина сделана по уродски — сначала появляется поле для логина, Next, потом только пароль. (Почему это говно повсюду копируют.) И теперь форма логина по "Use existing account" вообще не грузится. Та-да!

Представьте, что в вазе для цветов налито молоко, а в кувшине – вода с удобрениями. Как привести все в порядок? Надо использовать третью емкость такого же (или большего) объема. Сначала переливаем в нее воду из кувшина (или молоко из вазы, все равно), затем в пустой кувшин переливаем молоко (или в вазу – воду), а затем из третьей емкости переливаем воду в вазу (или, соответственно, молоко в кувшин).

Некоторая контора, предоставляющая телеком-услуги, выставила в вебне апи, принимающее xml постом. Причем криденшелы передаются в теле дока. Как атрибуты некорневой ноды.

Как-то я нашел время и разобрался с дагером 2. Применял его потихоньку. А потом полез посмотреть, как в новых примерах гугла его используют. А там версия 2.11 и вагон новых анотаций и подходов, которые я никогда в глаза не видел. В общем, я опять не знаю даггер 2 =(

Когда, наконец, в Vivaldi встроили dev tools в основное окно, в Опере dev tools стали вести себя непредсказуемо — могут открыться как в боковой панели, так и в отдельном окне. И я не вижу переключателя.
Также не вижу переключателя для тестирования мобильной вёрстки.

Есть один репозиторий...

$ git push origin <branch>
...
Counting objects: 25, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (25/25), 4.02 KiB | 0 bytes/s, done.
Total 25 (delta 13), reused 0 (delta 0)
_

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

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

$ git push origin <branch>
...
Total 0 (delta 0), reused 0 (delta 0)
_

С тем же безуспешным результатом.

Изучены
stackoverflow.com
stackoverflow.com
stackoverflow.com
stackoverflow.com
reddit.com

Испробовано:
* push -u;
* разные версии git и разные гуи;
* запуск на другом ПК через другого провайдера;
* манипуляции с MTU;
* что-то ещё.

Не испробовано:
* sudo chown -R git.git /srv/git/ на сервере. Но если это, видимо, только у меня не работает, то маловероятно, что проблема с правами?

Если не найду причину, останется только патчи по почте слать.

Мне пришла идея игры типа текстовой RPG, реализованной через JDBC драйвер.
Пример работы:
SELECT * FROM map --рисуется карта ascii
SELECT * FROM inverntory --аналогично инвентарь
SELECT * from stats --очевидно
select * from workaround — показывает что из окружения видно ему. 5 скелетов, 4 цветка
изменение
UPDATE position set west = 1 — перемещение, влияет на карту
UPDATE stats set agility = agility + 1 — прокачивание
бой
INSERT INTO skeleton VALUES object = (select sword from inventory), target= (select * targets where enemy = 'skeleton' and title='head')

Гугл наконец набрался смелости написать, как надо разрабатывать под их поделие с его жизненным циклом. 8 лет не прошло.
developer.android.com
И решили навелосипедить DAO.
developer.android.com
Я, конечно, утираю скупые мужские слезы радости текущие по впалым щекам, но раньше было 14 либ для сохранения данных, теперь тут есть 15 либ для сохранения данных...

This IAM Role trust relationship configuration allow IAM User from another account to assume current role

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::USER-ACCOUNT-ID:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:username": "USER-NAME"
}
}
}
]
}

In case when SSL error occurred when you update gems (http://guides.rubygems.org/ssl-certificate-update/#installing-using-update-packages):

— download update manually rubygems.org
— install update from local file system:

gem install --local .\rubygems-update-2.6.11.gem
update_rubygems
gem uninstall rubygems-update -x

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

Я в первую очередь про мобилки. Типовые, и очень, приложения на Android и iOS — ну, извините уж меня, но банальны донельзя. Всякие World Of Tanks и прочие high-end игрушки в расчет не берем. Ну вот, далее. Даже базовая работа с СУБД, и то, с SQLite, там сводится к каким-то оберткам над курсорами, без SQL, в основном. Все загнаны в строгие рамки фреймворков и паттернов — можно хоть с бодуна писать код. Дизайн? Да за вас уже гугл все продумал, и расставил все контролы в IDE — прямо как в дельфи. Ни ебли с CSS и очередным выродком на основе прекомпиляции вариации ES6, ни дрочева многопоточности, по сути, ни доменной логики — все ребята на сервере делают. За что им платят? Хайп? Почему devops-специалист по всем вариантам линукса, с конкретным опытом delivery до сих пор работающих проектов, или человек, способный рассказать почему MySQL говно, в отличие от PostgreSQL, или системщик, еще в 15 лет написавший свою ОС защищенного режима — получают в основном меньше, и неслабо меньше, чем какие-то непонятно кто, вся работа которых состоит в том чтобы три кнопки в IDE накликать и прописать три коллбека в три строчки?

На том же западе такого, все же, нет — там неадекватно высокие зарплаты в основном в стартапах где-нибудь в бей-ареа(и недолго, хехе), и у всяких фуллстек, пока их не разоблачат что они не знают что такое windowing functions например.