rultor.com logo This build log was produced by rultor.com for yegor256/blog#550
+ set -e
+ set -o pipefail
++ dirname ./run.sh
+ cd .
+ echo 3469414
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Sat 05 Nov 2022 09:49:59 AM CET
+ uptime
 09:49:59 up 129 days, 12:51,  0 users,  load average: 0.31, 0.57, 0.86
+ ff=default
+ image=yegor256/blog-image
+ rebase=false
+ head_branch=master
+ pull_title='Update dependency sass to v3.7.4'
+ author=yegor256
+ directory=
+ head=git@github.com:yegor256/blog.git
+ pull_id=550
+ fork=git@github.com:yegor256/blog.git
+ fork_branch=renovate/sass-3.x
+ squash=false
+ vars=('--env=head=git@github.com:yegor256/blog.git' '--env=pull_id=550' '--env=fork=git@github.com:yegor256/blog.git' '--env=fork_branch=renovate/sass-3.x' '--env=head_branch=master' '--env=pull_title=Update dependency sass to v3.7.4' '--env=author=yegor256' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/blog.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=550'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:yegor256/blog.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=renovate/sass-3.x'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Update dependency sass to v3.7.4'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''sudo apt-get update'\'' '\'';'\'' '\''sudo apt-get install -y woff2'\'' '\'';'\'' '\''export GEM_HOME=~/.ruby'\'' '\'';'\'' '\''export GEM_PATH=$GEM_HOME:$GEM_PATH'\'' '\'';'\'' '\''bundle install'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 bundle exec rake'\'' '\'';'\'' )')
+ scripts=('export '\''head=git@github.com:yegor256/blog.git'\''' ';' 'export '\''pull_id=550'\''' ';' 'export '\''fork=git@github.com:yegor256/blog.git'\''' ';' 'export '\''fork_branch=renovate/sass-3.x'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Update dependency sass to v3.7.4'\''' ';' 'export '\''author=yegor256'\''' ';' 'sudo apt-get update' ';' 'sudo apt-get install -y woff2' ';' 'export GEM_HOME=~/.ruby' ';' 'export GEM_PATH=$GEM_HOME:$GEM_PATH' ';' 'bundle install' ';' 'LC_ALL=en_US.UTF-8 bundle exec rake' ';')
+ container=yegor256_blog_550
+ as_root=false
+ hostname
m1415.contaboserver.net
+ git --version
git version 2.25.1
+ docker --version
Docker version 20.10.17, build 100c701
+ mkdir -p /home/rultor/.ssh
+ echo -e 'Host github.com\n\tStrictHostKeyChecking no\n'
+ chmod 600 /home/rultor/.ssh/config
+ git clone git@github.com:yegor256/blog.git repo
Cloning into 'repo'...
+ cd repo
+ git config user.email me@rultor.com
+ git config user.name rultor
+ '[' -z 'export '\''head=git@github.com:yegor256/blog.git'\''' ']'
+ cd ..
+ cat
+ '[' false = true ']'
+ cat
+ chmod a+x entry.sh
+ cat
+ echo 'export '\''head=git@github.com:yegor256/blog.git'\''' ';' 'export '\''pull_id=550'\''' ';' 'export '\''fork=git@github.com:yegor256/blog.git'\''' ';' 'export '\''fork_branch=renovate/sass-3.x'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Update dependency sass to v3.7.4'\''' ';' 'export '\''author=yegor256'\''' ';' 'sudo apt-get update' ';' 'sudo apt-get install -y woff2' ';' 'export GEM_HOME=~/.ruby' ';' 'export GEM_PATH=$GEM_HOME:$GEM_PATH' ';' 'bundle install' ';' 'LC_ALL=en_US.UTF-8 bundle exec rake' ';'
+ rm -rf .gnupg
+ cd repo
+ git remote add fork git@github.com:yegor256/blog.git
+ git remote update
Fetching origin
Fetching fork
From github.com:yegor256/blog
 * [new branch]              award                    -> fork/award
 * [new branch]              gh-pages                 -> fork/gh-pages
 * [new branch]              jekyll3                  -> fork/jekyll3
 * [new branch]              master                   -> fork/master
 * [new branch]              renovate/fastimage-2.x   -> fork/renovate/fastimage-2.x
 * [new branch]              renovate/html-proofer-3.x -> fork/renovate/html-proofer-3.x
 * [new branch]              renovate/jekyll-4.x      -> fork/renovate/jekyll-4.x
 * [new branch]              renovate/jekyll-feed-0.x -> fork/renovate/jekyll-feed-0.x
 * [new branch]              renovate/jekyll-sass-1.x -> fork/renovate/jekyll-sass-1.x
 * [new branch]              renovate/jekyll-sass-converter-2.x -> fork/renovate/jekyll-sass-converter-2.x
 * [new branch]              renovate/nuggets-1.x     -> fork/renovate/nuggets-1.x
 * [new branch]              renovate/rubygems-kramdown-vulnerability -> fork/renovate/rubygems-kramdown-vulnerability
 * [new branch]              renovate/rubygems-nokogiri-vulnerability -> fork/renovate/rubygems-nokogiri-vulnerability
 * [new branch]              renovate/sass-3.x        -> fork/renovate/sass-3.x
 * [new branch]              volatility               -> fork/volatility
 * [new branch]              x                        -> fork/x
+ args=
+ '[' default == default ']'
+ args=' --ff'
+ '[' default == no ']'
+ '[' default == only ']'
+ export BRANCH=__rultor
+ BRANCH=__rultor
++ git show-branch __rultor
++ wc -l
+ '[' 0 -gt 0 ']'
+ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
+ git checkout -B __rultor fork/renovate/sass-3.x
Switched to a new branch '__rultor'
Branch '__rultor' set up to track remote branch 'renovate/sass-3.x' from 'fork'.
+ git checkout -B master origin/master
Switched to and reset branch 'master'
Branch 'master' set up to track remote branch 'master' from 'origin'.
Your branch is up to date with 'origin/master'.
+ '[' false == true ']'
+ '[' false == true ']'
+ git merge --ff __rultor
Auto-merging Gemfile
Merge made by the 'recursive' strategy.
 Gemfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
+ docker_when_possible
+ true
++ uptime
++ sed 's/ /\n/g'
++ tail -n 1
+ load=0.93
++ echo 0.93 '>' 30
++ bc
+ '[' 0 -eq 1 ']'
+ echo 'load average is 0.93, low enough to run a new Docker container'
load average is 0.93, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n '' ']'
+ use_image=yegor256/blog-image
+ docker pull yegor256/blog-image
Using default tag: latest
latest: Pulling from yegor256/blog-image
Digest: sha256:c0913f7feebc3fa3d18bda40e2874f92ef0799dbe95febefcf2e38209bf1d8c5
Status: Image is up to date for yegor256/blog-image:latest
docker.io/yegor256/blog-image:latest
+ docker ps --filter=status=exited
+ grep --quiet '\syegor256_blog_550\s*$'
+ ls -al .
total 56
drwx------  3 rultor rultor 4096 Nov  5 09:51 .
drwxrwxrwt 23 root   root   4096 Nov  5 09:51 ..
-rwxrwxr-x  1 rultor rultor  556 Nov  5 09:50 end.sh
-rwxrwxr-x  1 rultor rultor  363 Nov  5 09:51 entry.sh
-rw-rw-r--  1 rultor rultor 1679 Nov  5 09:49 id_rsa
-rw-rw-r--  1 rultor rultor  396 Nov  5 09:49 id_rsa.pub
-rw-rw-r--  1 rultor rultor    8 Nov  5 09:49 pid
drwxrwxr-x 27 rultor rultor 4096 Nov  5 09:51 repo
-rwxrwxr-x  1 rultor rultor 5992 Nov  5 09:49 run.sh
-rw-rw-r--  1 rultor rultor  629 Nov  5 09:51 script.sh
-rw-rw-r--  1 rultor rultor   57 Nov  5 09:49 secrets.yml
-rw-rw-r--  1 rultor rultor 6407 Nov  5 09:51 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-WK8h:/main --env=head=git@github.com:yegor256/blog.git --env=pull_id=550 --env=fork=git@github.com:yegor256/blog.git --env=fork_branch=renovate/sass-3.x --env=head_branch=master '--env=pull_title=Update dependency sass to v3.7.4' --env=author=yegor256 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/blog.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=550'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:yegor256/blog.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=renovate/sass-3.x'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Update dependency sass to v3.7.4'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''sudo apt-get update'\'' '\'';'\'' '\''sudo apt-get install -y woff2'\'' '\'';'\'' '\''export GEM_HOME=~/.ruby'\'' '\'';'\'' '\''export GEM_PATH=$GEM_HOME:$GEM_PATH'\'' '\'';'\'' '\''bundle install'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 bundle exec rake'\'' '\'';'\'' )' --hostname=docker --privileged --memory=8g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-WK8h/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_blog_550 yegor256/blog-image /main/entry.sh
WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
+ set -e
+ set -o pipefail
+ shopt -s dotglob
+ useradd -m -G sudo r
+ usermod -s /bin/bash r
+ echo '%sudo ALL=(ALL) NOPASSWD:ALL'
+ cp -R /root/.bashrc /root/.cache /root/.composer /root/.config /root/.gem /root/.gnupg /root/.m2 /root/.npm /root/.profile /root/texmf /home/r
+ cp -R ./cid ./end.sh ./entry.sh ./id_rsa ./id_rsa.pub ./pid ./repo ./run.sh ./script.sh ./secrets.yml ./stdout /home/r
+ rm -rf repo
+ chown -R r:r /home/r
+ chmod a+x /home/r/script.sh
+ su --login r --command /home/r/script.sh
mesg: cannot open /dev/pts/0: Permission denied
+ set -e
+ set -o pipefail
+ '[' -e /home/r/.profile ']'
+ source /home/r/.profile
++ '[' /bin/bash ']'
++ '[' -f /home/r/.bashrc ']'
++ . /home/r/.bashrc
+++ '[' -z '' ']'
+++ return
++ mesg n
mesg: cannot open /dev/pts/0: Permission denied
++ true
+ shopt -s expand_aliases
+ alias 'sudo=sudo -i'
+ export HOME=/home/r
+ HOME=/home/r
+ cd /home/r/repo
+ export head=git@github.com:yegor256/blog.git
+ head=git@github.com:yegor256/blog.git
+ export pull_id=550
+ pull_id=550
+ export fork=git@github.com:yegor256/blog.git
+ fork=git@github.com:yegor256/blog.git
+ export fork_branch=renovate/sass-3.x
+ fork_branch=renovate/sass-3.x
+ export head_branch=master
+ head_branch=master
+ export 'pull_title=Update dependency sass to v3.7.4'
+ pull_title='Update dependency sass to v3.7.4'
+ export author=yegor256
+ author=yegor256
+ sudo -i apt-get update
Get:1ohttp://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:2ohttp://ppa.launchpad.net/deadsnakes/ppa/ubuntu bioniceInRelease9[15.98kB]
Get:3ohttps://deb.nodesource.com/node_10.x8bionic9InReleasee[4,5843B]3 kB/88.7
Get:4ohttp://ppa.launchpad.net/git-core/ppa/ubuntuvbionictInRelease.[20.81kB])]
Get:5 http://ppa.launchpad.net/ondrej/php/ubunturbionicnInReleaseo[20.8lkB]chpa
Hit:6ahttp://archive.ubuntu.com/ubuntu bionicaInReleaseInRelease 2,572 B/20.8 k
Get:7 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu[bionic/maintamd64.Packages [44.0 kB]
Get:8 http://archive.ubuntu.com/ubuntu bionic-updates[InReleaseo[88.7dkB]].0 kB
Get:9 http://security.ubuntu.com/ubuntuabionic-security/main4amd64aPackagesr[3,040 kB]
Get:10Ihttp://archive.ubuntu.com/ubuntufbionic-backportsaInRelease2[83.3,kB]rkB
Get:11Phttp://security.ubuntu.com/ubuntupbionic-security/restricted5amd64/Packages [1,226 kB]
Get:12Phttp://security.ubuntu.com/ubuntupbionic-security/multiverse,amd64aPackages [22.8 kB]
Get:13Phttp://security.ubuntu.com/ubuntupbionic-security/universe amd64rPackages [1,554 kB]
Get:14Phttps://deb.nodesource.com/node_10.xvbionic/main1amd64kPackagesg[767,B]4
Get:151http://archive.ubuntu.com/ubunturbionic-updates/universeoamd64lPackages.[2,332 kB]
Get:165http://ppa.launchpad.net/git-core/ppa/ubuntucbionic/main8amd64.Packages.[4,548 B]
Get:175http://ppa.launchpad.net/ondrej/php/ubuntu bionic/mainsamd648Packages [182 kB]
Get:185http://archive.ubuntu.com/ubunturbionic-updates/multiverse2amd641Packages [37.1 kB]
Get:195http://archive.ubuntu.com/ubunturbionic-updates/maingamd64.Packages4[3,472 kB]
Get:20ahttp://archive.ubuntu.com/ubuntusbionic-updates/restricted3amd64ePackages [1,267 kB]
Get:219http://archive.ubuntu.com/ubunturbionic-backports/universe amd64 Packages [20.6 kB]
Get:229http://archive.ubuntu.com/ubunturbionic-backports/main]amd64 Packages [64.0 kB]
Fetchedo13.6gMBeins3sr(5,412[kB/s)ckages 38.0 kB/64.0 kB 59%]
Reading package lists... Done
+ sudo -i apt-get install -y woff2
Reading package lists... Done
Building dependency tree... 50%
Reading state information... Done
woff2 is already the newest version (1.0.2-1build0.1).
0 upgraded, 0 newly installed, 0 to remove and 304 not upgraded.
+ export GEM_HOME=/home/r/.ruby
+ GEM_HOME=/home/r/.ruby
+ export GEM_PATH=/home/r/.ruby:/usr/local/rvm/gems/ruby-2.6.0:/usr/local/rvm/gems/ruby-2.6.0@global
+ GEM_PATH=/home/r/.ruby:/usr/local/rvm/gems/ruby-2.6.0:/usr/local/rvm/gems/ruby-2.6.0@global
+ bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
32mFetching rake 12.3.30m
32mInstalling rake 12.3.30m
32mFetching concurrent-ruby 1.1.100m
32mInstalling concurrent-ruby 1.1.100m
32mFetching i18n 1.12.00m
32mInstalling i18n 1.12.00m
32mFetching minitest 5.16.30m
32mInstalling minitest 5.16.30m
32mFetching thread_safe 0.3.60m
32mInstalling thread_safe 0.3.60m
32mFetching tzinfo 1.2.100m
32mInstalling tzinfo 1.2.100m
32mFetching activesupport 5.2.8.10m
32mInstalling activesupport 5.2.8.10m
32mFetching public_suffix 5.0.00m
32mInstalling public_suffix 5.0.00m
32mFetching addressable 2.8.10m
32mInstalling addressable 2.8.10m
32mFetching ast 2.4.20m
32mInstalling ast 2.4.20m
Using bundler 2.1.4
Using colorator 1.1.0
32mFetching colorize 0.8.10m
32mInstalling colorize 0.8.10m
Using eventmachine 1.2.7
32mFetching http_parser.rb 0.8.00m
32mInstalling http_parser.rb 0.8.0 with native extensions0m
32mFetching em-websocket 0.5.30m
32mInstalling em-websocket 0.5.30m
32mFetching ffi 1.15.50m
32mInstalling ffi 1.15.5 with native extensions0m
32mFetching ethon 0.16.00m
32mInstalling ethon 0.16.00m
32mFetching faraday-net_http 3.0.10m
32mInstalling faraday-net_http 3.0.10m
32mFetching ruby2_keywords 0.0.50m
32mInstalling ruby2_keywords 0.0.50m
32mFetching faraday 2.6.00m
32mInstalling faraday 2.6.00m
32mFetching fastimage 2.1.50m
32mInstalling fastimage 2.1.50m
32mFetching json 1.8.60m
32mInstalling json 1.8.6 with native extensions0m
32mFetching rb-fsevent 0.11.20m
32mInstalling rb-fsevent 0.11.20m
Using rb-inotify 0.10.1
32mFetching listen 3.7.10m
32mInstalling listen 3.7.10m
32mFetching thor 0.20.30m
32mInstalling thor 0.20.30m
GemWrappers: Can not wrap missing file: thor
32mFetching fontcustom 2.0.00m
32mInstalling fontcustom 2.0.00m
GemWrappers: Can not wrap missing file: fontcustom
Using forwardable-extended 2.6.0
32mFetching mercenary 0.3.60m
32mInstalling mercenary 0.3.60m
Using mini_portile2 2.4.0
32mFetching nokogiri 1.9.10m
32mInstalling nokogiri 1.9.1 with native extensions0m
32mFetching parallel 1.22.10m
32mInstalling parallel 1.22.10m
32mFetching typhoeus 0.8.00m
32mInstalling typhoeus 0.8.00m
32mFetching yell 2.2.20m
32mInstalling yell 2.2.20m
32mFetching html-proofer 3.7.50m
32mInstalling html-proofer 3.7.50m
GemWrappers: Can not wrap missing file: htmlproofer
32mFetching jaro_winkler 1.5.40m
32mInstalling jaro_winkler 1.5.4 with native extensions0m
Using sassc 2.4.0
Using jekyll-sass-converter 2.1.0
Using jekyll-watch 2.2.1
32mFetching kramdown 2.1.00m
32mInstalling kramdown 2.1.00m
Using kramdown-parser-gfm 1.1.0
Using liquid 4.0.3
Using pathutil 0.16.2
32mFetching rouge 3.30.00m
32mInstalling rouge 3.30.00m
Using safe_yaml 1.0.5
32mFetching unicode-display_width 1.4.10m
32mInstalling unicode-display_width 1.4.10m
Using terminal-table 1.8.0
32mFetching jekyll 4.0.10m
32mInstalling jekyll 4.0.10m
32mFetching jekyll-bits 0.150m
32mInstalling jekyll-bits 0.150m
32mFetching jekyll-feed 0.15.10m
32mInstalling jekyll-feed 0.15.10m
32mFetching sawyer 0.9.20m
32mInstalling sawyer 0.9.20m
32mFetching octokit 4.25.10m
32mInstalling octokit 4.25.10m
32mFetching jekyll-gist 1.5.00m
32mInstalling jekyll-gist 1.5.00m
32mFetching jekyll-paginate 1.1.00m
32mInstalling jekyll-paginate 1.1.00m
32mFetching jekyll-plantuml 1.3.40m
32mInstalling jekyll-plantuml 1.3.40m
32mFetching jekyll-redirect-from 0.16.00m
32mInstalling jekyll-redirect-from 0.16.00m
32mFetching sass-listen 4.0.00m
32mInstalling sass-listen 4.0.00m
32mFetching sass 3.7.40m
32mInstalling sass 3.7.40m
GemWrappers: Can not wrap missing file: sass
GemWrappers: Can not wrap missing file: sass-convert
GemWrappers: Can not wrap missing file: scss
32mFetching jekyll-sass 1.1.00m
32mInstalling jekyll-sass 1.1.00m
32mFetching jekyll-sitemap 1.4.00m
32mInstalling jekyll-sitemap 1.4.00m
32mFetching jslint 1.2.00m
32mInstalling jslint 1.2.00m
GemWrappers: Can not wrap missing file: jslint
32mFetching mini_mime 1.1.20m
32mInstalling mini_mime 1.1.20m
32mFetching mail 2.7.10m
32mInstalling mail 2.7.10m
32mFetching multi_json 1.15.00m
32mInstalling multi_json 1.15.00m
32mFetching nuggets 1.6.00m
32mInstalling nuggets 1.6.00m
32mFetching parser 3.1.2.10m
32mInstalling parser 3.1.2.10m
GemWrappers: Can not wrap missing file: ruby-parse
GemWrappers: Can not wrap missing file: ruby-rewrite
32mFetching powerpack 0.1.30m
32mInstalling powerpack 0.1.30m
32mFetching pygments.rb 1.2.10m
32mInstalling pygments.rb 1.2.10m
32mFetching rainbow 2.2.20m
32mInstalling rainbow 2.2.2 with native extensions0m
32mFetching redcarpet 3.5.10m
32mInstalling redcarpet 3.5.1 with native extensions0m
GemWrappers: Can not wrap missing file: redcarpet
32mFetching rexml 3.2.50m
32mInstalling rexml 3.2.50m
32mFetching ruby-progressbar 1.11.00m
32mInstalling ruby-progressbar 1.11.00m
32mFetching rubocop 0.62.00m
32mInstalling rubocop 0.62.00m
GemWrappers: Can not wrap missing file: rubocop
32mFetching rubocop-rspec 1.30.10m
32mInstalling rubocop-rspec 1.30.10m
32mFetching scss_lint 0.57.10m
32mInstalling scss_lint 0.57.10m
GemWrappers: Can not wrap missing file: scss-lint
32mFetching trollop 2.9.100m
32mInstalling trollop 2.9.100m
32mFetching uuidtools 2.1.50m
32mInstalling uuidtools 2.1.50m
32mFetching w3c_validators 1.3.70m
32mInstalling w3c_validators 1.3.70m
32mBundle complete! 30 Gemfile dependencies, 79 gems now installed.0m
32mUse `bundle info [gemname]` to see where a bundled gem is installed.0m
32mPost-install message from fontcustom:0m
>> Thanks for installing Font Custom! Please ensure that fontforge is installed before compiling any icons. Visit <http://fontcustom.com> for instructions.
32mPost-install message from jekyll:0m
-------------------------------------------------------------------------------------
Jekyll 4.0 comes with some major changes, notably:

  * Our `link` tag now comes with the `relative_url` filter incorporated into it.
    You should no longer prepend `{{ site.baseurl }}` to `{% link foo.md %}`
    For further details: https://github.com/jekyll/jekyll/pull/6727

  * Our `post_url` tag now comes with the `relative_url` filter incorporated into it.
    You shouldn't prepend `{{ site.baseurl }}` to `{% post_url 2019-03-27-hello %}`
    For further details: https://github.com/jekyll/jekyll/pull/7589

  * Support for deprecated configuration options has been removed. We will no longer
    output a warning and gracefully assign their values to the newer counterparts
    internally.
-------------------------------------------------------------------------------------
32mPost-install message from sass:0m

Ruby Sass has reached end-of-life and should no longer be used.

* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
  primary implementation: https://sass-lang.com/install

* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
  sassc gem: https://github.com/sass/sassc-ruby#readme

* For more details, please refer to the Sass blog:
  https://sass-lang.com/blog/posts/7828841

32mPost-install message from nuggets:0m

nuggets-1.6.0 [2018-07-12]:

* Added <tt>JSON.*_{multi,canonical}</tt>.

32mPost-install message from trollop:0m
!    The 'trollop' gem has been deprecated and has been replaced by 'optimist'.
!    See: https://rubygems.org/gems/optimist
!    And: https://github.com/ManageIQ/optimist
+ LC_ALL=en_US.UTF-8
+ bundle exec rake
Building Jekyll site...
Configuration file: /home/r/repo/_config.yml
            Source: /home/r/repo
       Destination: /home/r/repo/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
WARN: No front image in /2010/03/04/pdd.html
WARN: No front image in /2013/12/29/proto.html
WARN: No front image in /2014/04/06/introduction.html
WARN: No front image in /2014/04/06/movies-for-thanasis.html
WARN: No front image in /2014/04/06/phandom.html
WARN: No front image in /2014/04/09/xembly-intro.html
WARN: No front image in /2014/04/11/jcabi-http-intro.html
WARN: No front image in /2014/04/14/jcabi-dynamo-java-api-of-aws-dynamodb.html
WARN: No front image in /2014/04/15/definition-of-done.html
WARN: No front image in /2014/04/15/github-guidelines.html
WARN: No front image in /2014/04/18/jcabi-http-server-mocking.html
WARN: No front image in /2014/04/20/how-hourly-rate-is-calculated.html
WARN: No front image in /2014/04/21/s3-http-basic-auth.html
WARN: No front image in /2014/04/24/java-xml-parsing-and-traversing.html
WARN: No front image in /2014/04/26/incremental-requirements-with-requs.html
WARN: No front image in /2014/04/27/typical-mistakes-in-java-code.html
WARN: No front image in /2014/04/28/xml-xpath-hamcrest-matchers.html
WARN: No front image in /2014/04/29/w3c-java-validators.html
WARN: No front image in /2014/05/01/dynamodb-local-maven-plugin.html
WARN: No front image in /2014/05/05/oop-alternative-to-utility-classes.html
WARN: No front image in /2014/05/13/why-null-is-bad.html
WARN: No front image in /2014/05/14/object-oriented-github-java-sdk.html
WARN: No front image in /2014/05/18/cloud-autoincrement-counters.html
WARN: No front image in /2014/05/21/mysql-maven-plugin.html
WARN: No front image in /2014/05/23/avoid-java-static-logger.html
WARN: No front image in /2014/05/26/amazon-s3-java-oop-adapter.html
WARN: No front image in /2014/06/01/aop-aspectj-java-method-logging.html
WARN: No front image in /2014/06/09/objects-should-be-immutable.html
WARN: No front image in /2014/06/19/avoid-string-concatenation.html
WARN: No front image in /2014/06/20/limit-method-execution-time.html
WARN: No front image in /2014/06/21/casperjs-with-maven.html
WARN: No front image in /2014/06/24/jekyll-github-deploy.html
WARN: No front image in /2014/06/25/xml-and-xslt-in-browser.html
WARN: No front image in /2014/06/26/sass-in-java-webapp.html
WARN: No front image in /2014/06/29/custom-lexer-in-jekyll.html
WARN: No front image in /2014/07/03/how-to-read-manifest-mf.html
WARN: No front image in /2014/07/20/liquibase-in-maven.html
WARN: No front image in /2014/07/21/read-only-master-branch.html
WARN: No front image in /2014/07/24/rultor-automated-merging.html
WARN: No front image in /2014/07/29/docker-in-rultor.html
WARN: No front image in /2014/07/31/travis-and-rultor.html
WARN: No front image in /2014/08/03/cacheable-java-annotation.html
WARN: No front image in /2014/08/15/retry-java-method-on-exception.html
WARN: No front image in /2014/08/18/fluent-jdbc-decorator.html
WARN: No front image in /2014/08/19/how-to-release-to-maven-central.html
WARN: No front image in /2014/08/22/art-of-software-testing.html
WARN: No front image in /2014/08/25/deploy-to-cloudbees.html
WARN: No front image in /2014/08/26/publish-to-rubygems.html
WARN: No front image in /2014/08/29/docker-non-root.html
WARN: No front image in /2014/09/02/java-ssh-client.html
WARN: No front image in /2014/09/10/anti-patterns-in-oop.html
WARN: No front image in /2014/09/13/deploying-to-heroku.html
WARN: No front image in /2014/09/22/remote-programming-interview.html
WARN: No front image in /2014/09/23/built-in-fake-objects.html
WARN: No front image in /2014/09/24/why-monetary-awards-dont-work.html
WARN: No front image in /2014/10/03/di-containers-are-evil.html
WARN: No front image in /2014/10/05/ten-hosted-continuous-integration-services.html
WARN: No front image in /2014/10/06/software-project-lifecycle.html
WARN: No front image in /2014/10/08/continuous-integration-is-dead.html
WARN: No front image in /2014/10/21/incremental-billing.html
WARN: No front image in /2014/10/23/paired-brackets-notation.html
WARN: No front image in /2014/10/26/hacker-vs-programmer-mentality.html
WARN: No front image in /2014/11/03/empty-line-code-smell.html
WARN: No front image in /2014/11/07/how-immutability-helps.html
WARN: No front image in /2014/11/14/hits-of-code.html
WARN: No front image in /2014/11/20/seven-virtues-of-good-object.html
WARN: No front image in /2015/01/10/windows-appveyor-maven.html
WARN: No front image in /2015/01/21/if-then-throw-else.html
WARN: No front image in /2015/02/02/xsl-transformations-in-java.html
WARN: No front image in /2015/02/05/jcabi-parent-maven-pom.html
WARN: No front image in /2015/03/26/jaxb-vs-xembly.html
WARN: No front image in /2015/03/29/rultor-with-appveyor.html
WARN: No front image in /2015/04/13/tacit-css-framework-for-dummies.html
WARN: No front image in /2015/04/22/favorite-software-books.html
WARN: No front image in /2015/04/30/iterating-adapter.html
WARN: No front image in /2015/05/18/cookie-based-authentication.html
WARN: No front image in /2015/06/08/deadly-sins-software-project.html
WARN: No front image in /2015/06/11/wikipedia-bug-definition.html
WARN: No front image in /2015/06/25/xml-data-xsl-views-takes-framework.html
WARN: No front image in /2015/08/18/multiple-return-statements-in-oop.html
WARN: No front image in /2015/09/07/maven-repository-amazon-s3.html
WARN: No front image in /2015/11/03/chatbot-better-than-ui-for-microservice.html
WARN: No front image in /2016/03/15/wring-dispatcher-github-notifications.html
WARN: No front image in /2016/03/30/jare-instant-free-cdn.html
WARN: No front image in /2016/11/18/software-conferences-to-attend.html
WARN: No front image in /2017/06/13/dynamodb-rack-maven.html
WARN: No front image in /2017/06/22/object-oriented-input-output-in-cactoos.html
WARN: No front image in /2017/06/27/my-environment.html
WARN: No front image in /2017/07/25/my-favorite-websites.html
WARN: No front image in /2017/09/05/rehttp-http-repeater.html
WARN: No front image in /2018/10/30/mailanes.html
WARN: No front image in /2018/11/06/ruby-threads.html
WARN: No front image in /2019/02/03/cloudrepo.html
WARN: No front image in /2019/02/05/zache.html
WARN: No front image in /2019/04/17/nutch-from-java.html
WARN: No front image in /2019/06/26/syncem.html
AMPs are not generated, since it is not production

places.txt generated
tags.txt generated

stats.svg generated
+ unset BUNDLE_GEMFILE
+ cd /tmp
++ dirname /home/r/repo/_glyphs/compile.sh
+ dir=/home/r/repo/_glyphs
+ target=/home/r/repo/_temp/icons
+ mkdir -p /home/r/repo/_temp/icons
+ fontcustom compile /home/r/repo/_glyphs --output=/home/r/repo/_temp/icons --font-name=icons --templates=css --no-hash --force --autowidth
+ cat /home/r/repo/_temp/icons/icons.css
++ date +%s
+ sed -E 's|"./icons([^"]+)"|"https://www.yegor256.com/css/icons\1?1667638387"|g'
      create  .fontcustom-manifest.json
      status  Forcing compile.
      create  /home/r/repo/_temp/icons/icons.ttf
              /home/r/repo/_temp/icons/icons.svg
              /home/r/repo/_temp/icons/icons.woff
              /home/r/repo/_temp/icons/icons.eot
              /home/r/repo/_temp/icons/icons.woff2
      create  /home/r/repo/_temp/icons/icons.css
       Jekyll Feed: Generating feed for posts
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
YouTube video LmSaC_OjIbQ found: M28: Microtasking works only if you can decompose tasks, PDD helps you do exactly that
......YouTube video qRZYJGYdrwk found: XDSD: management without meetings
.Configuration file: /home/r/repo/_config.yml
YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
.YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
YouTube video LmSaC_OjIbQ found: M28: Microtasking works only if you can decompose tasks, PDD helps you do exactly that
File /home/r/repo/uml/d892698103dc5669949527a8754c5f26.svg created (3442 bytes)
.YouTube video 7DYr8GYzJ6Q found: The Philosophy of Bugs (webinar #17)
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
.YouTube video qRZYJGYdrwk found: XDSD: management without meetings
..YouTube video qRZYJGYdrwk found: XDSD: management without meetings
..YouTube video 7EytYc7K5JA found: eXtremely Distributed Software Development, at DevTernity
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video tCr9dtGdi2c found: XDSD: How Extreme is Your Team
..........YouTube video psrp3TtaYYI found: What's Wrong About Utility Classes? (webinar #6)
YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
.YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)
......YouTube video 4SRoLYxvIQ8 found: Practical Example of AOP with AspectJ (in Russian with English subtitles)
File /home/r/repo/uml/52d3d016f2264bbf660a23d5bbe84203.svg created (8675 bytes)
.YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
..........YouTube video 2a2nWELIk-Y found: Yegor Bugayenko | Kyiv DevOps, September, 2015
YouTube video gL4XwP-EBOg found: Continuous Integration May Have Negative Effects
YouTube video Ht0JI41kA4I found: Pre-flight Build Pitfalls
.YouTube video NflR7DKwxDY found: Deployment Scripts Are Dead. Meet Rultor.
.......YouTube video rEK3Rk2lX3M found: Cactoos 0.12 polishing and releasing (webinar #27)
........YouTube video NflR7DKwxDY found: Deployment Scripts Are Dead. Meet Rultor.
YouTube video _61CuGhyv-o found: Practical Example of a One-Click Release
..YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video F4N25kZ2zQU found: Object Oriented Lies (in Russian with English subtitles)
..YouTube video l6MpCBzwDbg found: What Fake Objects Are For? (webinar #8)
YouTube video EDKbYVEInMU found: Built-in Fake Objects
.YouTube video F6NwcQyEY18 found: How Monetary Awards Can Work?
.YouTube video MNxG1xcA2uA found: Object Thinking Meetup #3: Yegor Bugayenko / How to Inject Less?
YouTube video oV6Utb5Jows found: Dependency Injection Container is a Bad Idea (webinar #9)
...YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video LB_YLWhGrco found: Meetings-free Programming
.YouTube video 3IXk5yEJMIs found: Continuous Integration is Dead
YouTube video gL4XwP-EBOg found: Continuous Integration May Have Negative Effects
YouTube video Ht0JI41kA4I found: Pre-flight Build Pitfalls
.YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
....YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
.YouTube video GS45LzE3LPQ found: How Much Do You Cost?
YouTube video 6mfo_FHL3PE found: How we decide how much to pay programmers?
..YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
.YouTube video hTs_R0dFoFM found: M77: Lines-of-Code don't show anything meaningful, but Hits-of-Code are pretty accurate
.YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
.YouTube video 7DYr8GYzJ6Q found: The Philosophy of Bugs (webinar #17)
.YouTube video DEqcn4-freM found: Why ORM is an Anti-Pattern? (webinar #10)
YouTube video aER4uwyFbqQ found: ORM is offensive (in Russian with English subtitles)
YouTube video 63tS3HNmhiE found: ORM is a perfect anti-pattern
YouTube video 03PXmPc7Q3g found: ORM is an Offensive Anti-Pattern
..YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video PVvLQGnyDrQ found: Gradients of Immutability (webinar #20)
.YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
.YouTube video DLk_5BmgTVk found: How to Avoid Outsourcing Disaster
YouTube video oiNI2jF46h0 found: Make Customers Trust You
YouTube video TxYi7J0vKC8 found: M80: Every two weeks you should hire a new auditor to review your software project
YouTube video GlBf5-g4nGk found: M98: If you think that your team is doing fine, you are a bad manager
.YouTube video p7m7_iiqaHI found: How Much Immutability Is Enough?
YouTube video KwP7Ay9Z-hc found: Immutable Objects vs. Common Sense (webinar #2)
YouTube video EnhRgXrHCC4 found: How Immutability Helps in OOP (in Russian with English subtitles)
.YouTube video Rip_04Bv3Jk found: How to be Honest and Keep a Client?
.YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video dE0_j4Kk6jo found: Meetings Help Us and Kill Our Projects
YouTube video ues5Dks37zI found: M138: Morning stand-ups are nothing else but guilt-triggers
YouTube video pt9uHp35fwM found: Meetings Or Discipline
...YouTube video b6r2W3P9vgY found: Blame the Project
YouTube video YBQoTZ-1X-o found: How to Cut Corners and Stay Cool (webinar #15)
.......YouTube video YBQoTZ-1X-o found: How to Cut Corners and Stay Cool (webinar #15)
.YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
YouTube video psrp3TtaYYI found: What's Wrong About Utility Classes? (webinar #6)
..YouTube video D0dqC_3Bch8 found: Objects vs. Static Methods (webinar #1)
.YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video biE86esgFAE found: Seven Enemies of Our Motivation (in Russian with English subtitles)
.YouTube video WpP4rIhh5e4 found: Don't Create Objects That End With -ER (webinar #5)
..YouTube video nheD2LNYrpk found: Takes, Java Web Framework, Intro (webinar #12)
....YouTube video SCcJcSVBSpU found: Tacit CSS Framework @ Porto Codes 2017
.....YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
.YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video PNSezrlemsY found: Hacker vs Designer Mentality
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
.YouTube video 0fuEgmibJc4 found: Who Is a Software Architect?
YouTube video AvVQ5NjS_Nk found: Who is a Software Architect? (webinar #13)
..YouTube video DLk_5BmgTVk found: How to Avoid Outsourcing Disaster
.YouTube video l6MpCBzwDbg found: What Fake Objects Are For? (webinar #8)
..YouTube video lgScAwsYWCc found: M137: Don't ask your programmers to estimate, tell them how much you have
.YouTube video ZtWmlKi3ivc found: Seven Sins of a Software Project
YouTube video hkXLOxZ6Fs4 found: Seven Sins of a Software Project
.....YouTube video nheD2LNYrpk found: Takes, Java Web Framework, Intro (webinar #12)
..YouTube video 3blBn65iQmU found: Why Private Static Literals are Evil? (Webinar #48)
..YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
YouTube video LB_YLWhGrco found: Meetings-free Programming
YouTube video dE0_j4Kk6jo found: Meetings Help Us and Kill Our Projects
YouTube video AwrMKTFyohg found: #NoMagic
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video KUUzUb9arNg found: M39: Meeting are evil and must be replaced by a disciplined process of decision making
..YouTube video ODxm7w2DE-g found: #NoSalaries
..File /home/r/repo/uml/19b92d0465e2e819ffcf88cf46c6e333.svg created (3984 bytes)
..YouTube video QMcDa2eyRBY found: Need Robust Software? Make It Fragile
YouTube video nCGBgI1MNwE found: Need It Robust? Make It Fragile!
...YouTube video wd-SA1HVmLg found: How Do You Know When Your Product is Ready to be Shipped?
..YouTube video ZVn7ufg-tk0 found: Micromanagement (in Russian with English subtitles)
YouTube video 0Jte_LGR5Zk found: M32: Micromanagement happens when tasks are big and motivation is not explicit
......YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
..YouTube video 9j5pq71BS5U found: Software Outsourcing, 10 Years Ahead (in Russian with English subtitles)
.YouTube video mHCwlZSlZeU found: Chat Bots are the new UI
File /home/r/repo/uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg created (3469 bytes)
YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice?
File /home/r/repo/uml/d103661ebf8494340e260442970bf4af.svg created (4627 bytes)
YouTube video Xj226o2xI9Y found: Chat Bots vs UI
YouTube video vOMqDcSXnT0 found: Microservices as Chat Bots
....YouTube video kPmbRkSWYnY found: M130: The root cause of most software problems is the chaos in the code
.....YouTube video xbovkm0tTn0 found: Talk "MEETING-FREE SOFTWARE DEVELOPMENT, IN DISTRIBUTED TEAMS" by Yegor Bugayenko
YouTube video pt9uHp35fwM found: Meetings Or Discipline
YouTube video b6r2W3P9vgY found: Blame the Project
.YouTube video F6NwcQyEY18 found: How Monetary Awards Can Work?
YouTube video ibT5oKToMoQ found: Daily Stand-Up Meetings Are Evil (webinar #11)
....YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
YouTube video DEqcn4-freM found: Why ORM is an Anti-Pattern? (webinar #10)
.YouTube video Mj1gA5mEk68 found: Unit Testing vs Debugging (webinar #26)
.....YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)
..File /home/r/repo/uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg created (4512 bytes)
File /home/r/repo/uml/aecf8b3862f82e6d5d8d27e948d45c83.svg created (5570 bytes)
.YouTube video _Q0cNykXB04 found: Printers Instead of Getters in OOP (webinar #18)
..YouTube video g1ctRcW214w found: Java Annotations Are a Big Mistake (webinar #14)
YouTube video oV6Utb5Jows found: Dependency Injection Container is a Bad Idea (webinar #9)
YouTube video cv23Z6xpwDw found: Java Annotations Are a Bad Idea
YouTube video WSgP85kr6eU found: Why Getters-and-Setters Is An Anti-Pattern? (webinar #4)
..YouTube video Xk9tIqwca3k found: Smart Classes and Functionality-Poor Interfaces (webinar #16)
....YouTube video zaKTNK8g2-M found: Who Is a Project Manager? (webinar #19)
.......YouTube video sZoJ3gO4PSo found: Who Manages Who? (in Russian with English subtitles)
........YouTube video cGcCcxx4xrg found: Java vs OOP (JavaDay Kyiv)
..File /home/r/repo/uml/653125b6c32d12b7325dba52054c09ca.svg created (3536 bytes)
File /home/r/repo/uml/cad4de541e1ab10d3d9d751c661fe63f.svg created (3481 bytes)
.YouTube video PVvLQGnyDrQ found: Gradients of Immutability (webinar #20)
.YouTube video DjrA7_Uymok found: Inheritance vs. Subtyping (webinar #24)
..YouTube video AwrMKTFyohg found: #NoMagic
.YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
...YouTube video Nm274dGikFc found: Naked Data in OOP (webinar #22)
...File /home/r/repo/uml/45d05ab3bd9a93ad88ec209352b62f60.svg created (3256 bytes)
..YouTube video GWLpAZqvqSc found: How to Deal With Conflicts in a Software Team (Webinar #21)
YouTube video 4i-OK4IA4vA found: M158: Eliminating team conflicts leads to less collaboration, not more
..YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
..YouTube video Wcy53ZSF78o found: Decorating Envelopes in OOP (webinar #31)
...YouTube video ZhWOlaMqppM found: How I didn't get a job at Amazon (in Russian with English subtitles)
.....YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
.......YouTube video 1bAixLaOCSA found: Java Day Minsk 2017 | Yegor Bugayenko - Object Oriented JUnit Tests
YouTube video CCr8hRE_TUs found: Object-Oriented Flavor for JUnit Tests
.YouTube video ZdHCrsQsoMI found: M136: Any software product has an unlimited number of bugs
..........YouTube video Op3EIwhMxrg found: M33: You don't need to be loyal to your employers, use them for your own good!
.YouTube video 4ZWHs1mloUw found: RAII in Java (Webinar #52)
.......YouTube video KYd24FN58wg found: Object-Oriented Java Web App from Scratch in One Hour: ThreeCopies.com (Webinar #28)
...YouTube video 7WmsiV22IXM found: Lazy Loading via Java Lambda (Webinar #30)
.YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
..YouTube video 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
..YouTube video uhDmHkMAYnM found: Micro-management vs. micro-tasking (webinar #25)
YouTube video tHeXxLdGqqI found: M19: Want to pay-by-result? You have to do microtasking first, otherwise nothing will work.
YouTube video 1rmZN3r5SWg found: M27: Microtasking enables more accurate and precise estimates of a software project's future
.........YouTube video F3bjFXFRsI8 found: M20: Reporting bugs and deciding whether they should be fixed are two separate activities!
...YouTube video 55mwAbuDrV8 found: Quality vs. Quantity (in Russian)
.YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
.YouTube video AwrMKTFyohg found: #NoMagic
YouTube video GozQCUH2D0I found: M22: Both full-time hiring and outsourcing will lead your project to failure, Zerocracy won't.
.YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
...YouTube video vXUwE3FGfpg found: #NoAltruism
.YouTube video Hrk_Jorc5z4 found: M127: The ability to explain a problem so that it's understood is the most important soft skill
...YouTube video -drZbHxydMc found: When do you validate your objects? (Webinar #35)
...YouTube video FNWyN_Q10TI found: What's wrong with global variables? (Webinar #36)
.YouTube video _ppWQCCT8zE found: M16: You either report bugs or implement features. You can't do any of that? You are out.
.YouTube video RNRaVmbWZXI found: M7: Don't be afraid to ask difficult qstns before you get into a partnership, or get ready to lose
.YouTube video oXj9UWm1134 found: Names of objects, methods and variables in OOP (Webinar #37)
..YouTube video zljJpADEf_E found: M6: Keeping all source code in a single monolithic repository is a terrible idea!
.YouTube video 9tC7p2UTLsU found: M5: Professional programmers always need a second opinion, to make sure their code is good enough
..YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
.YouTube video ezE0hRH9BnQ found: M54: Make sure you control your programmers and do it explicitly and openly
.YouTube video fVMml2vpP-Y found: M13: A message without a context is unprofessional and very annoying for the listener; don't do it!
....YouTube video 2oAW9LmYJI4 found: M8: Since most tech editors have no idea what they are doing, ignore them
.....YouTube video gMJNz9AWbQE found: M1: Your enthusiasm may only harm the project if you can't deliver it incrementally
.YouTube video PYq05UAwzNk found: M2: We must fully trust the architect, but regularly review the decisions he or she is making
.YouTube video mKZOuJ7AAas found: M30: Pay equality and smaller pay gap mean only one thing: the management is weak
......YouTube video SoXV_scCMNY found: Logging, the Object-Oriented Way
.YouTube video bVzEPOZ_mDU found: A practical example of making an object-oriented HTTP server in Java (webinar #42)
YouTube video YXqHaZJD9R8 found: Yegor Bugayenko
....YouTube video Qxvk9z0tEP8 found: M123: One README should be enough for any open source project
..YouTube video WlI6IZ6M7vY found: M74: If your project doesn't have a formal Risk List, you are doing management wrong
..YouTube video KPbKqTXfZwA found: M89: Deliver your trust continuously, not discrete
.YouTube video _4pk5GNUySg found: M91: Full-timers want to look smart, freelancers want to deliver results
.....YouTube video 5FckPa6aOok found: M193: What is fun and joy for you, being a programmer?
......YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
..YouTube video eeXdDvIVu-Y found: What Is Cohesion in OOP? (Webinar #49)
.....YouTube video CmUzNPqCF4s found: M120: Don't wait for your manager to tell you what to do, do what you think is right (open source)
..File /home/r/repo/uml/b9cc42a8e5ed92f94f4362cfd328fb0d.svg created (13795 bytes)
File /home/r/repo/uml/930f06f36724929287c1ee82fd95c77b.svg created (8633 bytes)
YouTube video rsWrgxm8ktU found: Fat and Skinny Design (Webinar #51)
.File /home/r/repo/uml/c415b43f6d14c18e66db32e9d5d6e8b2.svg created (18168 bytes)
.YouTube video D12gi1x6Cdw found: M105: Open source developers inevitably have better soft and tech skills
..YouTube video nErn5G_JHhE found: Veil Objects to Replace DTOs (Webinar #50)
.YouTube video jjeW1hTtRh0 found: M114: The performance of programmers can be measured, with the right metrics
....YouTube video fJvUTlPHSvU found: Encapsulation Is Dead, Let's Use Distance of Coupling Instead (Webinar #55)
.YouTube video Yj1VFGK9vqc found: M143: Daily reports are a perfect guilt-triggering instrument for a lazy team
..YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
...YouTube video WZlIb5oxDBQ found: M152: There is no management without personal responsibility
.YouTube video TmAJPeM4UlE found: M153: How managers in self-managing orgs judge your performance?
.YouTube video vaFPNdNaOAY found: M160: Traditional top-down planning doesn't work, try better alternative
.YouTube video QaKIw1Bh3Oc found: EOLANG: Basics
.YouTube video ulrMXmIcC4w found: M167: Sometimes you have to be an imposter, either you like it or not
.YouTube video 65baOBHeVMI found: Yegor Bugayenko: Opening
.YouTube video dlPk1AE2aQk found: M170: recruiters may do a better job if listen to us programmers
...YouTube video 939ntzufGB0 found: M178: Try to focus your team on artifacts and their delivery status
YouTube video 2IwBc9UI4Sg found: SIMBA: Simplified Management by Artifacts (at Merge Conf)
.YouTube video Qii3yrQJdHs found: M179: Calibrated Achievement Points (CAP) to measure R&D productivity
..YouTube video 8qfd93SyXpM found: SSD 13/16: Test-Driven Development
.YouTube video 4I8BflW7EpU found: M188: I don't think ML will ever be able to write code
.YouTube video jiEJnLBowHc found: M190: Make sure the bugs you report explain the simplest possible scenarios
...YouTube video Y0Zx_sdVG48 found: M199: Unit tests are the Safety Net that you can't afford to not use
...YouTube video C6CQWzOKEJs found: Object Thinking #7: Yegor Bugayenko / Immutability + Generics
.........................................................320,413 words in the entire blog, 13,044 uniques
/home/r/repo/_site/gnuplot/2014/11/hoc-vs-loc.svg created (59224 bytes)
/home/r/repo/_site/places.txt created (940 bytes)
/home/r/repo/_site/tags.txt created (795 bytes)
/home/r/repo/_site/stats.svg created (51942 bytes)
/home/r/repo/_site/words.txt created (86794 bytes)
/home/r/repo/_site/css/icons.svg created (24016 bytes)
/home/r/repo/_site/css/icons.ttf created (9732 bytes)
/home/r/repo/_site/css/icons.woff created (6732 bytes)
/home/r/repo/_site/css/icons.eot created (9898 bytes)
/home/r/repo/_site/css/icons.css created (3291 bytes)
/home/r/repo/_site/buffer.rss created (174410 bytes)
                    done in 135.455 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
Jekyll site generated without issues

All files are in place

There is no garbage

scss-lint found no lints
Typos in _site/2015/07/06/public-static-literals.html:
& enums 58 2975: en ums, en-ums, enu ms, enu-ms, enemas, animus, emus, ems, ens, denims, emu's, enema, enamors, endues, enema's, enemies, enemy's, ensues, Enos, anus, en's, onus, elms, ends, ENE's, enemy, Edams, Eng's, alums, arums, end's, em's, emos, eons, denim's, ennui's, Enid's, Enif's, Imus, UN's, anime's, envy's, unis, Nam's, eon's, elm's, venom's, Enos's, anus's, emo's, onus's, Annam's, Edam's, Elam's, alum's, arum's, ovum's, animus's
& elegantobjectsclass 2 3069: elegantobjects class, elegantobjects-class
& msec 60 3104: ms ec, ms-ec, SEC, Sec, sec, Mses, Mace, mace, masc, misc, Marc, mes, Mex, MSW, Mac, Muse, NSC, mac, muse, music, MC, MS, Mesa, Ms, SC, Sc, mesa, mess, mice, ms, MSG, maser, miser, mosey, Moses, mused, muses, MST, Meg, SAC, Soc, meg, mic, sac, seq, sic, soc, MOOC, MS's, Mmes, Msgr, meek, MLoC, MPEG, M's, Mae's, Muse's, muse's, MSG's, Moe's
& msec 60 3141: ms ec, ms-ec, SEC, Sec, sec, Mses, Mace, mace, masc, misc, Marc, mes, Mex, MSW, Mac, Muse, NSC, mac, muse, music, MC, MS, Mesa, Ms, SC, Sc, mesa, mess, mice, ms, MSG, maser, miser, mosey, Moses, mused, muses, MST, Meg, SAC, Soc, meg, mic, sac, seq, sic, soc, MOOC, MS's, Mmes, Msgr, meek, MLoC, MPEG, M's, Mae's, Muse's, muse's, MSG's, Moe's
& endend 13 3170: end end, end-end, ended, indent, intend, endued, entente, pendent, addend, ending, indeed, unbend, intent
I have a in one place and exactly the same code in another place in my app. Actually  I may have it in many places. And every time  I have to use that constant in order to create a from a byte array. It would be very convenient to define it once somewhere and reuse it  just like Apache Commons is doing  see (There are many other static literals there). These guys are setting a bad example  “properties” are as bad as utility classes. Here is what I’m talking about  specifically  Now  when I need to create a from a byte array  I use this  Let  say I want to convert a into a byte array  Looks convenient  right  This is what the designers of Apache Commons think (one of the most popular but simply terrible libraries in the Java world). I encourage you to think differently. I ca not tell you to stop using Apache Commons  because we just do not have a better alternative (yet ). But in your own code  do not use public static properties—ever. Even if this code may look convenient to you  it  a very bad design. The reason why is very similar to utility classes with public static methods—they are unbreakable hard-coded dependencies. Once you use that   your object starts to depend on this data  and its user (the user of your object) ca not break this dependency. You may say that this is your intention  in the case of a constant—to make sure that Unicode is specifically and exclusively being used. In this particular example  this may be true  but look at it from a more global perspective. Let me show you the alternative I have in mind before we continue. Here is what I’m suggesting instead to convert a byte array into a   It  pseudo-code  since Java designers made class final and we ca not really extend it and create   but you get the idea. In the real world  this would look like this  As you see  we encapsulate the “UTF-8” constant somewhere inside the class   and its users have no idea how exactly this “byte array to string” conversion is happening. By introducing   we solved the problem of “UTF-8” literal duplication. But we did it in a proper object-oriented way—we encapsulated the functionality inside a class and let everybody instantiate its objects and use them. We resolved the problem of functionality duplication  not just data duplication. Placing data into one shared place () does not really solve the duplication problem  it actually makes it worse  mostly because it encourages everybody to duplicate functionality using the same piece of shared data. My point here is that every time you see that you have some data duplication in your application  start thinking about the functionality you’re duplicating. You will easily find the code that is repeated again and again. Make a new class for this code and place the data there  as a property (or private property). That  how you will improve your design and truly get rid of duplication. PS. You can use a method instead of a class  but not a static literal. PPS. You can also use enums  but only this way. How do you get rid of the duplication of magic numbers (it  Ruby)   elegantobjectsclass Time def hours msec / (60 * 60 * 1000) end def days msec / (24 * 60 * 60 * 1000) endend
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R rultor repo
+ cd repo
+ git push origin master
To github.com:yegor256/blog.git
   f553594acad..24469dee01f  master -> master
container 565957b50499c732be91b68959861d62a7cced91ff81a24771b5e0cc0ecd6663 is dead
Sat 05 Nov 2022 10:15:08 AM CET