+ 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