rultor.com logo This build log was produced by rultor.com for yegor256/blog#249
+ set -e
+ set -o pipefail
++ dirname ./run.sh
+ cd .
+ echo 26235
+ echo '1.68.1 24dc2a841'
1.68.1 24dc2a841
+ date
Thu Nov  1 07:47:17 CET 2018
+ uptime
 07:47:17 up 116 days, 17:31,  0 users,  load average: 1.27, 1.24, 1.19
+ head=git@github.com:yegor256/blog.git
+ image=yegor256/blog
+ head_branch=master
+ author=yegor256
+ vars=('--env=head=git@github.com:yegor256/blog.git' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/blog.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''export GEM_HOME=~/.ruby'\'' '\'';'\'' '\''export GEM_PATH=$GEM_HOME:$GEM_PATH'\'' '\'';'\'' '\''bundle install'\'' '\'';'\'' '\''export JEKYLL_ENV=production'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 rake'\'' '\'';'\'' '\''mkdir ~/.ssh'\'' '\'';'\'' '\''mv ../id_rsa ../id_rsa.pub ~/.ssh'\'' '\'';'\'' '\''chmod -R 600 ~/.ssh/*'\'' '\'';'\'' '\''echo -e "Host *\n  StrictHostKeyChecking no\n  UserKnownHostsFile=/dev/null" > ~/.ssh/config'\'' '\'';'\'' '\''git config --global user.email "rultor@yegor256.com"'\'' '\'';'\'' '\''git config --global user.name "Rultor"'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 jgd'\'' '\'';'\'' )' '--env=head_branch=master' '--env=author=yegor256')
+ scripts=('export '\''head=git@github.com:yegor256/blog.git'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'export GEM_HOME=~/.ruby' ';' 'export GEM_PATH=$GEM_HOME:$GEM_PATH' ';' 'bundle install' ';' 'export JEKYLL_ENV=production' ';' 'LC_ALL=en_US.UTF-8 rake' ';' 'mkdir ~/.ssh' ';' 'mv ../id_rsa ../id_rsa.pub ~/.ssh' ';' 'chmod -R 600 ~/.ssh/*' ';' 'echo -e "Host *\n  StrictHostKeyChecking no\n  UserKnownHostsFile=/dev/null" > ~/.ssh/config' ';' 'git config --global user.email "rultor@yegor256.com"' ';' 'git config --global user.name "Rultor"' ';' 'LC_ALL=en_US.UTF-8 jgd' ';')
+ directory=
+ container=yegor256_blog_249
+ as_root=false
+ 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 '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'export GEM_HOME=~/.ruby' ';' 'export GEM_PATH=$GEM_HOME:$GEM_PATH' ';' 'bundle install' ';' 'export JEKYLL_ENV=production' ';' 'LC_ALL=en_US.UTF-8 rake' ';' 'mkdir ~/.ssh' ';' 'mv ../id_rsa ../id_rsa.pub ~/.ssh' ';' 'chmod -R 600 ~/.ssh/*' ';' 'echo -e "Host *\n  StrictHostKeyChecking no\n  UserKnownHostsFile=/dev/null" > ~/.ssh/config' ';' 'git config --global user.email "rultor@yegor256.com"' ';' 'git config --global user.name "Rultor"' ';' 'LC_ALL=en_US.UTF-8 jgd' ';'
+ rm -rf .gpg
+ cd repo
+ docker_when_possible
+ true
++ uptime
++ sed 's/ /\n/g'
++ tail -n 1
+ load=1.28
++ bc
++ echo 1.28 '>' 30
+ '[' 0 -eq 1 ']'
+ echo 'load average is 1.28, low enough to run a new Docker container'
load average is 1.28, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n '' ']'
+ use_image=yegor256/blog
+ docker pull yegor256/blog
Using default tag: latest
latest: Pulling from yegor256/blog
Digest: sha256:c3e7227ba5aaf510d6c76bfe95afe79bcf50edd025368abb5d91cbcb5948634d
Status: Image is up to date for yegor256/blog:latest
+ docker ps --filter=status=exited
+ grep --quiet '\syegor256_blog_249\s*$'
+ ls -al .
total 68
drwx--x--x  3 rultor rultor  4096 Nov  1 07:48 .
drwxrwxrwt 14 root   root   20480 Nov  1 07:48 ..
-rw-rw-r--  1 rultor rultor   444 Nov  1 07:47 end.sh
-rwxrwxr-x  1 rultor rultor   338 Nov  1 07:48 entry.sh
-rw-rw-r--  1 rultor rultor  1679 Nov  1 07:47 id_rsa
-rw-rw-r--  1 rultor rultor   396 Nov  1 07:47 id_rsa.pub
-rw-rw-r--  1 rultor rultor     6 Nov  1 07:47 pid
drwxrwxr-x 26 rultor rultor  4096 Nov  1 07:48 repo
-rwxrwxr-x  1 rultor rultor  4777 Nov  1 07:47 run.sh
-rw-rw-r--  1 rultor rultor   656 Nov  1 07:48 script.sh
-rw-rw-r--  1 rultor rultor    57 Nov  1 07:47 secrets.yml
-rw-rw-r--  1 rultor rultor  3671 Nov  1 07:48 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-hmvA:/main --env=head=git@github.com:yegor256/blog.git '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/blog.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''export GEM_HOME=~/.ruby'\'' '\'';'\'' '\''export GEM_PATH=$GEM_HOME:$GEM_PATH'\'' '\'';'\'' '\''bundle install'\'' '\'';'\'' '\''export JEKYLL_ENV=production'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 rake'\'' '\'';'\'' '\''mkdir ~/.ssh'\'' '\'';'\'' '\''mv ../id_rsa ../id_rsa.pub ~/.ssh'\'' '\'';'\'' '\''chmod -R 600 ~/.ssh/*'\'' '\'';'\'' '\''echo -e "Host *\n  StrictHostKeyChecking no\n  UserKnownHostsFile=/dev/null" > ~/.ssh/config'\'' '\'';'\'' '\''git config --global user.email "rultor@yegor256.com"'\'' '\'';'\'' '\''git config --global user.name "Rultor"'\'' '\'';'\'' '\''LC_ALL=en_US.UTF-8 jgd'\'' '\'';'\'' )' --env=head_branch=master --env=author=yegor256 --hostname=docker --privileged --memory=6g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-hmvA/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_blog_249 yegor256/blog /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
+ echo '%sudo ALL=(ALL) NOPASSWD:ALL'
+ cp -R /root/.bashrc /root/.composer /root/.gem /root/.gnupg /root/.m2 /root/.npm /root/.oracle_jre_usage /root/.profile /root/texmf /root/.wget-hsts /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: change /dev/pts/0 mode failed: Operation not permitted
+ set -e
+ set -o pipefail
+ 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 head_branch=master
+ head_branch=master
+ export author=yegor256
+ author=yegor256
+ export GEM_HOME=/home/r/.ruby
+ GEM_HOME=/home/r/.ruby
+ export GEM_PATH=/home/r/.ruby:/usr/local/rvm/gems/ruby-2.3.3:/usr/local/rvm/gems/ruby-2.3.3@global
+ GEM_PATH=/home/r/.ruby:/usr/local/rvm/gems/ruby-2.3.3:/usr/local/rvm/gems/ruby-2.3.3@global
+ bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies.....
32mFetching rake 12.3.10m
32mInstalling rake 12.3.10m
32mFetching concurrent-ruby 1.0.50m
32mInstalling concurrent-ruby 1.0.50m
32mFetching i18n 1.1.10m
32mInstalling i18n 1.1.10m
32mFetching minitest 5.11.30m
32mInstalling minitest 5.11.30m
32mFetching thread_safe 0.3.60m
32mInstalling thread_safe 0.3.60m
32mFetching tzinfo 1.2.50m
32mInstalling tzinfo 1.2.50m
32mFetching activesupport 5.2.10m
32mInstalling activesupport 5.2.10m
Using public_suffix 3.0.3
Using addressable 2.5.2
32mFetching ast 2.4.00m
32mInstalling ast 2.4.00m
Using bundler 1.16.5
32mFetching hitimes 1.3.00m
32mInstalling hitimes 1.3.0 with native extensions0m
32mFetching timers 4.0.40m
32mInstalling timers 4.0.40m
32mFetching celluloid 0.16.00m
32mInstalling celluloid 0.16.00m
Using colorator 1.1.0
32mFetching colorize 0.8.10m
32mInstalling colorize 0.8.10m
Using ffi 1.9.25
32mFetching ethon 0.11.00m
32mInstalling ethon 0.11.00m
32mFetching multipart-post 2.0.00m
32mInstalling multipart-post 2.0.00m
32mFetching faraday 0.15.30m
32mInstalling faraday 0.15.30m
32mFetching fastimage 2.1.40m
32mInstalling fastimage 2.1.40m
32mFetching json 1.8.60m
32mInstalling json 1.8.6 with native extensions0m
Using rb-fsevent 0.10.3
Using rb-inotify 0.9.10
32mFetching listen 2.10.10m
32mInstalling listen 2.10.10m
32mFetching thor 0.20.00m
32mInstalling thor 0.20.00m
GemWrappers: Can not wrap missing file: thor
32mFetching fontcustom 1.3.80m
32mInstalling fontcustom 1.3.80m
GemWrappers: Can not wrap missing file: fontcustom
Using forwardable-extended 2.6.0
Using mercenary 0.3.6
32mFetching mini_portile2 2.3.00m
32mInstalling mini_portile2 2.3.00m
32mFetching nokogiri 1.8.50m
32mInstalling nokogiri 1.8.5 with native extensions0m
GemWrappers: Can not wrap missing file: nokogiri
32mFetching parallel 1.12.10m
32mInstalling parallel 1.12.10m
32mFetching typhoeus 1.3.00m
32mInstalling typhoeus 1.3.00m
32mFetching yell 2.0.70m
32mInstalling yell 2.0.70m
32mFetching html-proofer 3.9.20m
32mInstalling html-proofer 3.9.20m
GemWrappers: Can not wrap missing file: htmlproofer
32mFetching jaro_winkler 1.5.10m
32mInstalling jaro_winkler 1.5.1 with native extensions0m
Using sass-listen 4.0.0
Using sass 3.6.0
Using jekyll-sass-converter 1.5.2
32mFetching jekyll-watch 1.2.10m
32mInstalling jekyll-watch 1.2.10m
Using kramdown 1.17.0
32mFetching liquid 4.0.10m
32mInstalling liquid 4.0.10m
32mFetching pathutil 0.16.20m
32mInstalling pathutil 0.16.20m
32mFetching rouge 2.2.10m
32mInstalling rouge 2.2.10m
Using safe_yaml 1.0.4
32mFetching jekyll 3.6.30m
32mInstalling jekyll 3.6.30m
32mFetching jekyll-bits 0.150m
32mInstalling jekyll-bits 0.150m
32mFetching jekyll-feed 0.11.00m
32mInstalling jekyll-feed 0.11.00m
32mFetching sawyer 0.8.10m
32mInstalling sawyer 0.8.10m
32mFetching octokit 4.13.00m
32mInstalling octokit 4.13.00m
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.30m
32mInstalling jekyll-plantuml 1.3.30m
32mFetching jekyll-redirect-from 0.14.00m
32mInstalling jekyll-redirect-from 0.14.00m
32mFetching jekyll-sass 1.1.00m
32mInstalling jekyll-sass 1.1.00m
32mFetching jekyll-sitemap 1.2.00m
32mInstalling jekyll-sitemap 1.2.00m
32mFetching jslint 1.2.00m
32mInstalling jslint 1.2.00m
GemWrappers: Can not wrap missing file: jslint
32mFetching mini_mime 1.0.10m
32mInstalling mini_mime 1.0.10m
32mFetching mail 2.7.10m
32mInstalling mail 2.7.10m
32mFetching multi_json 1.13.10m
32mInstalling multi_json 1.13.10m
32mFetching nuggets 1.6.00m
32mInstalling nuggets 1.6.00m
32mFetching parser 2.5.3.00m
32mInstalling parser 2.5.3.00m
GemWrappers: Can not wrap missing file: ruby-parse
GemWrappers: Can not wrap missing file: ruby-rewrite
32mFetching powerpack 0.1.20m
32mInstalling powerpack 0.1.20m
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.4.00m
32mInstalling redcarpet 3.4.0 with native extensions0m
GemWrappers: Can not wrap missing file: redcarpet
32mFetching ruby-progressbar 1.10.00m
32mInstalling ruby-progressbar 1.10.00m
32mFetching unicode-display_width 1.4.00m
32mInstalling unicode-display_width 1.4.00m
32mFetching rubocop 0.60.00m
32mInstalling rubocop 0.60.00m
GemWrappers: Can not wrap missing file: rubocop
32mFetching rubocop-rspec 1.30.00m
32mInstalling rubocop-rspec 1.30.00m
32mFetching scss_lint 0.57.10m
32mInstalling scss_lint 0.57.10m
GemWrappers: Can not wrap missing file: scss-lint
32mFetching trollop 2.9.90m
32mInstalling trollop 2.9.90m
32mFetching uuidtools 2.1.50m
32mInstalling uuidtools 2.1.50m
32mFetching w3c_validators 1.3.40m
32mInstalling w3c_validators 1.3.40m
32mBundle complete! 29 Gemfile dependencies, 74 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 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
+ export JEKYLL_ENV=production
+ JEKYLL_ENV=production
+ LC_ALL=en_US.UTF-8
+ 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
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
File /home/r/repo/uml/d892698103dc5669949527a8754c5f26.svg created (2702 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 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
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 (6824 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 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 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 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 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 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 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 ODxm7w2DE-g found: #NoSalaries
File /home/r/repo/uml/19b92d0465e2e819ffcf88cf46c6e333.svg created (2863 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 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 (2492 bytes)
YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice?
File /home/r/repo/uml/d103661ebf8494340e260442970bf4af.svg created (3687 bytes)
YouTube video Xj226o2xI9Y found: Chat Bots vs UI
YouTube video vOMqDcSXnT0 found: Microservices as Chat Bots
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 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 (3278 bytes)
File /home/r/repo/uml/aecf8b3862f82e6d5d8d27e948d45c83.svg created (4098 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 (2912 bytes)
File /home/r/repo/uml/cad4de541e1ab10d3d9d751c661fe63f.svg created (2711 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 (2365 bytes)
YouTube video GWLpAZqvqSc found: How to Deal With Conflicts in a Software Team (Webinar #21)
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 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 REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
YouTube video AwrMKTFyohg found: #NoMagic
YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
YouTube video vXUwE3FGfpg found: #NoAltruism
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 oXj9UWm1134 found: Names of objects, methods and variables in OOP (Webinar #37)
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
294 AMP pages generated in 29.23s

places.txt generated
tags.txt generated

stats.svg generated
+ unset BUNDLE_GEMFILE
+ cd /tmp
++ readlink --canonicalize-existing /home/r/repo/_glyphs/compile.sh
+ x=/home/r/repo/_glyphs/compile.sh
++ 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
++ date +%s
+ sed -i -E 's|"./icons([^"]+)"|"https://www.yegor256.com/css/icons\1?1541055040"|g' /home/r/repo/_temp/icons/icons.css
      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
      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 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)
File /home/r/repo/uml/d892698103dc5669949527a8754c5f26.svg already exists (2702 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 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
....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 already exists (6824 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 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 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 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 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 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 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 ODxm7w2DE-g found: #NoSalaries
..File /home/r/repo/uml/19b92d0465e2e819ffcf88cf46c6e333.svg already exists (2863 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 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 already exists (2492 bytes)
YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice?
File /home/r/repo/uml/d103661ebf8494340e260442970bf4af.svg already exists (3687 bytes)
YouTube video Xj226o2xI9Y found: Chat Bots vs UI
YouTube video vOMqDcSXnT0 found: Microservices as Chat Bots
.........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 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 already exists (3278 bytes)
File /home/r/repo/uml/aecf8b3862f82e6d5d8d27e948d45c83.svg already exists (4098 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 already exists (2912 bytes)
File /home/r/repo/uml/cad4de541e1ab10d3d9d751c661fe63f.svg already exists (2711 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 already exists (2365 bytes)
..YouTube video GWLpAZqvqSc found: How to Deal With Conflicts in a Software Team (Webinar #21)
..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 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 REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
.YouTube video AwrMKTFyohg found: #NoMagic
.YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
...YouTube video vXUwE3FGfpg found: #NoAltruism
....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 oXj9UWm1134 found: Names of objects, methods and variables in OOP (Webinar #37)
.....YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
..........................................244,063 words in the entire blog, 10,932 uniques
/home/r/repo/_site/buffer.rss created (143624 bytes)
/home/r/repo/_site/gnuplot/2014/11/hoc-vs-loc.svg created (59981 bytes)
/home/r/repo/_site/places.txt created (742 bytes)
/home/r/repo/_site/tags.txt created (1208 bytes)
/home/r/repo/_site/stats.svg created (43496 bytes)
/home/r/repo/_site/words.txt created (75151 bytes)
/home/r/repo/_site/css/icons.svg created (23968 bytes)
/home/r/repo/_site/css/icons.ttf created (9880 bytes)
/home/r/repo/_site/css/icons.woff created (6688 bytes)
/home/r/repo/_site/css/icons.eot created (10044 bytes)
/home/r/repo/_site/css/icons.css created (3208 bytes)
                    done in 139.403 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/2017/10/24/award-2018.html:
& Ziyavuddin 41 1726: Scudding, Invading, Dividing, Studding, Sudden, Dravidian, Avoiding, Sadden, Spavin, Skidding, Evading, Staving, Saladin, Sodding, Circadian, Sudan, Fading, Saving, Siding, Sifting, Stain, Nevadian, Yielding, McFadden, Zollverein, Feuding, Sardine, Sieving, Sodden, Pervading, Sanding, Slaving, Spading, Cyanide, Satin, Saved, Nevadan, Safavid, Sauteing, Saturn, Sieved
& Vakhobov 8 1737: Sakharov, Chekhov, Kharkov, Wahhabi, Khyber, Workbook, Khufu, Khyber's
& Filipe 18 1752: Fil ipe, Fil-ipe, Felipe, Fillip, Flip, Flipper, Filliped, Flop, File, Flippy, Fillips, Philippe, Flap, Flips, Philip, Fillip's, Flip's, Felipe's
& Freire 54 1759: Fr eire, Fr-eire, Fre ire, Fre-ire, Freer, Faerie, Fire, Free, Friary, Frieze, Fierier, Faire, Ferried, Ferries, Farrier, Furrier, Ferret, Freida, Freeze, Freebie, Ferris, Ferric, Freakier, Faeroe, Firer, Fore, Friar, Frazier, Freddie, Faeries, Fired, Fires, Forever, Frailer, Freed, Frees, Freezer, Fresher, Fried, Fries, Fryer, Ferrari, Freeware, Ferraro, Fri, Ferry, Fiery, Revere, Fairer, Frey, Fare, Rare, Faerie's, Fire's
& Vedran 21 1772: Ved ran, Ved-ran, Veteran, Verdun, Redrawn, Verona, Tehran, Terran, Drano, Duran, Drain, Drawn, Veterans, Adrian, Tran, Terrain, Veering, Hadrian, Retrain, Vitrine, Veteran's
& Vatavuk 9 1779: Votive, Aardvark, Wetback, Wattage, Whatever, Vodka, Watermark, Wovoka, Vertigo
& Reinagel 28 1798: Wrangle, Wrangell, Rigel, Renal, Finagle, Triangle, Reengage, Renege, Regale, Wrinkle, Rankle, Regional, Reneger, Reneged, Reneges, Nigel, Range, Regal, Angel, Rental, Ranger, Bengal, Ranged, Ranges, Runnel, Finagler, Recall, Range's
& Paulo 22 1812: Pa ulo, Pa-ulo, Pau lo, Pau-lo, Pauli, Palo, Paul, Paula, Pail, PLO, Pal, Pallor, Parlor, Polo, Pale, Pall, Pawl, Pule, Pull, Pablo, Pally, Paul's
& Lobo 11 1818: Lo bo, Lo-bo, Lob, Loo, Lobe, Lobs, LOGO, Hobo, Loco, Logo, Lob's
& Sergey 35 1828: Ser gey, Ser-gey, Serge, Sergei, Sarge, Sedge, Sedgy, Surge, Segue, Sergio, Segre, Siege, Sere, Serge's, Surgery, Sega, Sage, Seek, Sedgier, Merge, Serer, Serve, Verge, Sager, Saggy, Sarky, Soggy, Jersey, Sarges, Surged, Surges, Sergei's, Sarge's, Sedge's, Surge's
& Kapralov 29 1835: Kasparov, Karol, Pavlov, Carpal, Prov, Karloff, Capra, Kirov, April, Carpals, Cabral, Japura, Prolog, Carpal's, Aprils, Pavlova, Approve, Parole, Provo, Kraal, Prove, Capra's, Karol's, April's, Carpool, Prole, Carole, Prof, Carpel
& Vytautas 78 1849: Tatars, Vaults, Vaunts, Cutouts, Tats, Tuts, Status, Tartars, Vault's, Vaunt's, Vistas, Vitiates, Tut's, Vitus, Cutout's, Tarts, Touts, Tutus, Stats, Statues, Vasts, Mutates, Putouts, Tart's, Tout's, States, Situates, Starts, Stat's, Stouts, Valuates, Vast's, Vitals, Status's, Putout's, Twats, Votary's, Tutsi, Teats, Vatted, Vitus's, Notates, Rotates, Start's, Stout's, Vacates, Viaducts, Volutes, Tatar's, Titus, Vesta's, Watts, Vista's, Votaries, Stuarts, Twits, Vitality's, Tutu's, Taters, Teat's, Tutors, Tuttis, Viaduct's, Vitals's, Tads, Tartar's, Watt's, Twit's, Stuart's, Vanuatu's, State's, Statue's, Tad's, Potato's, Volute's, Tater's, Tutti's, Tutor's
& Žurauskas 13 1858: Rusks, Rusk's, Risks, Risk's, Brisks, Frisks, Murasaki's, Syracuse's, Jurassic's, Sarawak's, Sarasota's, Suzuki's, Saragossa's
This is the forth year of the Software Quality Award. The prize is still the same— 4 096. The rules are still the same. Read on. Previous years are here  2015  2016  2017. Rules  One person can submit only one project. Submissions are accepted until September 1  2018. I will check the commit history to make sure you’re the main contributor to the project. I reserve the right to reject any submission without explanation. All submissions will be published on this page (including rejected ones). Results will be announced October 15  2018 on this page and by email. The best project will receive  4 096 (I may split this amount among a few projects). Final decisions will be made by me and are not negotiable (although I may invite other people to help me make the right decision). Winners that received any cash prizes in previous years ca not submit again. Each project must be  Open source (in GitHub). At least 10 000 lines of code ( without any arguments). At least one year old. Object-oriented (that  the only thing I understand). The best project is selected using this criteria. What does not matter  Popularity. Even if nobody is using your product  it is still eligible for this award. I do not care about popularity  quality is the key. Programming language. I believe that any language  used correctly  can be applied to design a high-quality product. Buzz and trends. Even if your project is yet another parser of command line arguments  it  still eligible for the award. I do not care about your marketing position  quality is all. By the way  if you want to sponsor this award and increase the bonus  email me. There were 49 projects submitted (in alphabetic order)  These kind people helped me review them  Ziyavuddin Vakhobov (10)  Filipe Freire (10)  Vedran Vatavuk (9)  Silas Reinagel (7)  Paulo Lobo (6)  Sergey Kapralov (3)  Vytautas Žurauskas (3)  Alexey Semenyuk (1). This is the summary of everything they sent me  award-2018.txt. I will pick the winner in the next few days  stay tuned  This time I paid a lot of attention to what reviewers were saying. Obvious show stoppers for me where  Because of that  many projects were ruled out (they are at the bottom of the text file). There are three sections in the text file. The first one is the hot list  which I reviewed myself. The second one contains those projects I liked  but decided not to put into the hot list. The last section contains repositories  which seem to happen in the competition by mistake. I have to say that this year the projects I see are much more disciplined and organized  comparing to what I have seen in previous years. Is it the achievement of this competition  I’m not sure  but I’m glad to see what I see. This is my short-list  Some projects in the list are indeed smaller than the required threshold of 10K lines of code. However  their hits-of-code metrics are rather high and the quality of code is high too  that  why I decided to keep them in the list. Moreover  starting next year the threshold will be lowered down to 4K LoC and 16K HoC. So  we have ten finalists. A more detailed review of each of them you can find in the text file. There are two winners this year. I decided to distribute  3K this year  unevenly between them. gets  2K since his project is obviously the best this year. gets  1K since his project is smaller than the threshold  but it  still a good repo. You may ask why I excluded some other small projects from the competition  but left those few in the hot list. The answer is simple  I liked them and did not like the others. I do realize that the rules were supposed to be strict  but still. Consider this  1K to —a cheering up bonus. Thus  congratulations to for ( 2 048) and to for ( 1 024). Here are your badges    Put this code into GitHub (replace with your GitHub name in the URL)  Please  email me to collect your money. Thanks to everybody for your participation  See you next year.
+ mkdir /home/r/.ssh
+ mv ../id_rsa ../id_rsa.pub /home/r/.ssh
+ chmod -R 600 /home/r/.ssh/id_rsa /home/r/.ssh/id_rsa.pub
+ echo -e 'Host *\n  StrictHostKeyChecking no\n  UserKnownHostsFile=/dev/null'
+ git config --global user.email rultor@yegor256.com
+ git config --global user.name Rultor
+ LC_ALL=en_US.UTF-8
+ jgd
[DEPRECATION] This gem has been renamed to optimist and will no longer be supported. Please switch to optimist as soon as possible.
+ set -e
+ set -o pipefail
+ URL=git@github.com:yegor256/blog.git
++ pwd
+ SRC=/home/r/repo
++ mktemp -d -t jgd-XXX
+ TEMP=/tmp/jgd-SA7
+ trap 'rm -rf /tmp/jgd-SA7' EXIT
+ CLONE=/tmp/jgd-SA7/clone
+ COPY=/tmp/jgd-SA7/copy
+ echo -e 'Cloning Github repository:'
Cloning Github repository:
+ git clone git@github.com:yegor256/blog.git /tmp/jgd-SA7/clone
Cloning into '/tmp/jgd-SA7/clone'...
Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts.
remote: Enumerating objects: 3417, done.K
remote: Counting objects: 100% (3417/3417),Kdone.K
remote: Compressing objects: 100% (1114/1114),Kdone.K
remote:nTotale12323069(delta62619),3reused326615(delta|2207),Mpack-reused 1228889K
Receiving objects: 100% (1232306/1232306), 499.17 MiB | 5.53 MiB/s, done.
Resolving deltas: 100% (961606/961606), done.
+ cp -R /tmp/jgd-SA7/clone /tmp/jgd-SA7/copy
+ cd /tmp/jgd-SA7/clone
+ echo -e '\nBuilding Jekyll site:'

Building Jekyll site:
+ rm -rf _site
+ '[' -r _config-deploy.yml ']'
+ jekyll build
Configuration file: /tmp/jgd-SA7/clone/_config.yml
            Source: /tmp/jgd-SA7/clone
       Destination: /tmp/jgd-SA7/clone/_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
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
YouTube video qRZYJGYdrwk found: XDSD: management without meetings
YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
File /tmp/jgd-SA7/clone/uml/d892698103dc5669949527a8754c5f26.svg created (2702 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 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
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 /tmp/jgd-SA7/clone/uml/52d3d016f2264bbf660a23d5bbe84203.svg created (6824 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 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 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 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 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 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 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 ODxm7w2DE-g found: #NoSalaries
File /tmp/jgd-SA7/clone/uml/19b92d0465e2e819ffcf88cf46c6e333.svg created (2863 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 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 /tmp/jgd-SA7/clone/uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg created (2492 bytes)
YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice?
File /tmp/jgd-SA7/clone/uml/d103661ebf8494340e260442970bf4af.svg created (3687 bytes)
YouTube video Xj226o2xI9Y found: Chat Bots vs UI
YouTube video vOMqDcSXnT0 found: Microservices as Chat Bots
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 Mj1gA5mEk68 found: Unit Testing vs Debugging (webinar #26)
YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)
File /tmp/jgd-SA7/clone/uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg created (3278 bytes)
File /tmp/jgd-SA7/clone/uml/aecf8b3862f82e6d5d8d27e948d45c83.svg created (4098 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 /tmp/jgd-SA7/clone/uml/653125b6c32d12b7325dba52054c09ca.svg created (2912 bytes)
File /tmp/jgd-SA7/clone/uml/cad4de541e1ab10d3d9d751c661fe63f.svg created (2711 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 /tmp/jgd-SA7/clone/uml/45d05ab3bd9a93ad88ec209352b62f60.svg created (2365 bytes)
YouTube video GWLpAZqvqSc found: How to Deal With Conflicts in a Software Team (Webinar #21)
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 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 REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
YouTube video AwrMKTFyohg found: #NoMagic
YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
YouTube video vXUwE3FGfpg found: #NoAltruism
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 oXj9UWm1134 found: Names of objects, methods and variables in OOP (Webinar #37)
YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
294 AMP pages generated in 26.69s

places.txt generated
tags.txt generated

stats.svg generated
+ unset BUNDLE_GEMFILE
+ cd /tmp
++ readlink --canonicalize-existing /tmp/jgd-SA7/clone/_glyphs/compile.sh
+ x=/tmp/jgd-SA7/clone/_glyphs/compile.sh
++ dirname /tmp/jgd-SA7/clone/_glyphs/compile.sh
+ dir=/tmp/jgd-SA7/clone/_glyphs
+ target=/tmp/jgd-SA7/clone/_temp/icons
+ mkdir -p /tmp/jgd-SA7/clone/_temp/icons
+ fontcustom compile /tmp/jgd-SA7/clone/_glyphs --output=/tmp/jgd-SA7/clone/_temp/icons --font-name=icons --templates=css --no-hash --force --autowidth
++ date +%s
+ sed -i -E 's|"./icons([^"]+)"|"https://www.yegor256.com/css/icons\1?1541055306"|g' /tmp/jgd-SA7/clone/_temp/icons/icons.css
      status  Forcing compile.
      create  /tmp/jgd-SA7/clone/_temp/icons/icons.ttf
              /tmp/jgd-SA7/clone/_temp/icons/icons.svg
              /tmp/jgd-SA7/clone/_temp/icons/icons.woff
              /tmp/jgd-SA7/clone/_temp/icons/icons.eot
      create  /tmp/jgd-SA7/clone/_temp/icons/icons.css
       Jekyll Feed: Generating feed for posts
YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
......YouTube video qRZYJGYdrwk found: XDSD: management without meetings
.Configuration file: /tmp/jgd-SA7/clone/_config.yml
YouTube video REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
.YouTube video nsYGC2aUwfQ found: Puzzle Driven Development (webinar #23)
File /tmp/jgd-SA7/clone/uml/d892698103dc5669949527a8754c5f26.svg already exists (2702 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 9yjtsCK6Wdk found: A Few Thoughts About Constructors in OOP (webinar #7)
....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 /tmp/jgd-SA7/clone/uml/52d3d016f2264bbf660a23d5bbe84203.svg already exists (6824 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 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 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 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 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 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 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 ODxm7w2DE-g found: #NoSalaries
..File /tmp/jgd-SA7/clone/uml/19b92d0465e2e819ffcf88cf46c6e333.svg already exists (2863 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 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 /tmp/jgd-SA7/clone/uml/eee0d1bcdb7b9318e937e99e04e39ff7.svg already exists (2492 bytes)
YouTube video jUil-aTImgU found: How Do You Talk To Your Microservice?
File /tmp/jgd-SA7/clone/uml/d103661ebf8494340e260442970bf4af.svg already exists (3687 bytes)
YouTube video Xj226o2xI9Y found: Chat Bots vs UI
YouTube video vOMqDcSXnT0 found: Microservices as Chat Bots
.........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 Mj1gA5mEk68 found: Unit Testing vs Debugging (webinar #26)
.....YouTube video o3aNJX7AP3M found: What is Wrong About NULL in OOP? (webinar #3)
..File /tmp/jgd-SA7/clone/uml/b5d40b6498ca48f6d2efc8671dd6d1e6.svg already exists (3278 bytes)
File /tmp/jgd-SA7/clone/uml/aecf8b3862f82e6d5d8d27e948d45c83.svg already exists (4098 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 /tmp/jgd-SA7/clone/uml/653125b6c32d12b7325dba52054c09ca.svg already exists (2912 bytes)
File /tmp/jgd-SA7/clone/uml/cad4de541e1ab10d3d9d751c661fe63f.svg already exists (2711 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 /tmp/jgd-SA7/clone/uml/45d05ab3bd9a93ad88ec209352b62f60.svg already exists (2365 bytes)
..YouTube video GWLpAZqvqSc found: How to Deal With Conflicts in a Software Team (Webinar #21)
..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 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 REj8pJesMVI found: The Alternative to Fluent Interfaces in Java (webinar #33)
.YouTube video AwrMKTFyohg found: #NoMagic
.YouTube video rC17YwowURQ found: Synchronized Decorators for Thread-Safety (Webinar #32)
...YouTube video vXUwE3FGfpg found: #NoAltruism
....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 oXj9UWm1134 found: Names of objects, methods and variables in OOP (Webinar #37)
.....YouTube video Z70PMGaxGhY found: How to win $4096 in the next year Quality Award? (webinar #29)
..........................................244,063 words in the entire blog, 10,932 uniques
/tmp/jgd-SA7/clone/_site/buffer.rss created (143672 bytes)
/tmp/jgd-SA7/clone/_site/gnuplot/2014/11/hoc-vs-loc.svg created (59981 bytes)
/tmp/jgd-SA7/clone/_site/places.txt created (742 bytes)
/tmp/jgd-SA7/clone/_site/tags.txt created (1208 bytes)
/tmp/jgd-SA7/clone/_site/stats.svg created (43496 bytes)
/tmp/jgd-SA7/clone/_site/words.txt created (75151 bytes)
/tmp/jgd-SA7/clone/_site/css/icons.svg created (23968 bytes)
/tmp/jgd-SA7/clone/_site/css/icons.ttf created (9880 bytes)
/tmp/jgd-SA7/clone/_site/css/icons.woff created (6688 bytes)
/tmp/jgd-SA7/clone/_site/css/icons.eot created (10044 bytes)
/tmp/jgd-SA7/clone/_site/css/icons.css created (3208 bytes)
                    done in 110.6 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
+ '[' '!' -e _site ']'
+ cp -R _site /tmp/jgd-SA7
+ cd /tmp/jgd-SA7
+ rm -rf /tmp/jgd-SA7/clone
+ mv /tmp/jgd-SA7/copy /tmp/jgd-SA7/clone
+ cd /tmp/jgd-SA7/clone
+ echo -e '\nPreparing gh-pages branch:'

Preparing gh-pages branch:
++ git branch -a
++ grep origin/gh-pages
+ '[' -z '  remotes/origin/gh-pages' ']'
+ git checkout gh-pages
Branch 'gh-pages' set up to track remote branch 'gh-pages' from 'origin'.
Switched to a new branch 'gh-pages'
+ echo -e '\nDeploying into gh-pages branch:'

Deploying into gh-pages branch:
+ rm -rf 2009 2010 2013 2014 2015 2016 2017 2018 256-bloghacks.html 404.html about-me.html agenda.html award.html best.html bin boilerplate.html books.html buffer.rss CNAME code-ahead.html contents.html css elegant-objects.html eo-reviews.html favicon.ico fiction.html fonts gnuplot images index.html jcg.html js movies.html non-fiction.html opensearch.html opensearch.xml p paintings.html papers.html pdf pets.html places.txt podcast quotes.html redirects.json robots.txt rss rss-jcg.xml rss.xml saturday.html seen.html shift-m shift-m.html sitemap.xml stats.svg subscribed.html tag tags.txt talks.html testimonials.html trainings.html txt uml webinars.html words.txt
+ cp -R /tmp/jgd-SA7/_site/2009 /tmp/jgd-SA7/_site/2010 /tmp/jgd-SA7/_site/2013 /tmp/jgd-SA7/_site/2014 /tmp/jgd-SA7/_site/2015 /tmp/jgd-SA7/_site/2016 /tmp/jgd-SA7/_site/2017 /tmp/jgd-SA7/_site/2018 /tmp/jgd-SA7/_site/256-bloghacks.html /tmp/jgd-SA7/_site/404.html /tmp/jgd-SA7/_site/about-me.html /tmp/jgd-SA7/_site/agenda.html /tmp/jgd-SA7/_site/award.html /tmp/jgd-SA7/_site/best.html /tmp/jgd-SA7/_site/bin /tmp/jgd-SA7/_site/boilerplate.html /tmp/jgd-SA7/_site/books.html /tmp/jgd-SA7/_site/buffer.rss /tmp/jgd-SA7/_site/CNAME /tmp/jgd-SA7/_site/code-ahead.html /tmp/jgd-SA7/_site/contents.html /tmp/jgd-SA7/_site/css /tmp/jgd-SA7/_site/elegant-objects.html /tmp/jgd-SA7/_site/eo-reviews.html /tmp/jgd-SA7/_site/favicon.ico /tmp/jgd-SA7/_site/fiction.html /tmp/jgd-SA7/_site/fonts /tmp/jgd-SA7/_site/gnuplot /tmp/jgd-SA7/_site/images /tmp/jgd-SA7/_site/index.html /tmp/jgd-SA7/_site/jcg.html /tmp/jgd-SA7/_site/js /tmp/jgd-SA7/_site/movies.html /tmp/jgd-SA7/_site/non-fiction.html /tmp/jgd-SA7/_site/opensearch.html /tmp/jgd-SA7/_site/opensearch.xml /tmp/jgd-SA7/_site/p /tmp/jgd-SA7/_site/paintings.html /tmp/jgd-SA7/_site/papers.html /tmp/jgd-SA7/_site/pdf /tmp/jgd-SA7/_site/pets.html /tmp/jgd-SA7/_site/places.txt /tmp/jgd-SA7/_site/podcast /tmp/jgd-SA7/_site/quotes.html /tmp/jgd-SA7/_site/redirects.json /tmp/jgd-SA7/_site/robots.txt /tmp/jgd-SA7/_site/rss /tmp/jgd-SA7/_site/rss-jcg.xml /tmp/jgd-SA7/_site/rss.xml /tmp/jgd-SA7/_site/saturday.html /tmp/jgd-SA7/_site/seen.html /tmp/jgd-SA7/_site/shift-m /tmp/jgd-SA7/_site/shift-m.html /tmp/jgd-SA7/_site/sitemap.xml /tmp/jgd-SA7/_site/stats.svg /tmp/jgd-SA7/_site/subscribed.html /tmp/jgd-SA7/_site/tag /tmp/jgd-SA7/_site/tags.txt /tmp/jgd-SA7/_site/talks.html /tmp/jgd-SA7/_site/testimonials.html /tmp/jgd-SA7/_site/trainings.html /tmp/jgd-SA7/_site/txt /tmp/jgd-SA7/_site/uml /tmp/jgd-SA7/_site/webinars.html /tmp/jgd-SA7/_site/words.txt .
+ rm -f README.md
+ git add .
++ date
+ git commit -am 'new version Thu Nov  1 06:56:21 UTC 2018' --allow-empty
[gh-pages 760e9f5ee62] new version Thu Nov  1 06:56:21 UTC 2018
 456 files changed, 2898 insertions(+), 2892 deletions(-)
 rewrite talks.html (85%)
+ git push origin gh-pages
+ sed 's|git@github.com:yegor256/blog.git|[skipped]|g'
Warning: Permanently added 'github.com,192.30.253.113' (RSA) to the list of known hosts.
To github.com:yegor256/blog.git
   a1d32d4d106..760e9f5ee62  gh-pages -> gh-pages
+ echo -e '\nCleaning up:'

Cleaning up:
+ rm -rf /tmp/jgd-SA7/clone
+ rm -rf ''
+ rm -rf /tmp/jgd-SA7
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R rultor repo
+ cd repo
container befa6375cf06a45ce07641f1c76018e9824e78237e4e12f76551975ec0228645 is dead
Thu Nov  1 07:58:07 CET 2018